Patents by Inventor DENNIS LUI

DENNIS LUI has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11966399
    Abstract: Techniques for processing top-K queries are provided. In one technique, a database statement is received that requests top-K results related to a database object and that indicates two columns thereof: a first column by which to partition a result set and a second column by which to order the result set. A buffer is generated. For each of multiple rows in the database object: a first key value that associated with a first value in the first column of said each row is identified; a second key value that associated with a second value in the second column of said each entry is identified; a slot in the buffer is identified based on the first key value and the second key value; and the slot in the buffer may be updated based on the second key value. A response to the database statement is generated based on the buffer.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: April 23, 2024
    Assignee: Oracle International Corporation
    Inventors: Dennis Lui, Allison L Holloway, Shasank Kisan Chavan
  • Publication number: 20240126760
    Abstract: Techniques for processing top-K queries are provided. In one technique, a database statement is received that requests top-K results related to a database object and that indicates two columns thereof: a first column by which to partition a result set and a second column by which to order the result set. A buffer is generated. For each of multiple rows in the database object: a first key value that associated with a first value in the first column of said each row is identified; a second key value that associated with a second value in the second column of said each entry is identified; a slot in the buffer is identified based on the first key value and the second key value; and the slot in the buffer may be updated based on the second key value. A response to the database statement is generated based on the buffer.
    Type: Application
    Filed: October 14, 2022
    Publication date: April 18, 2024
    Inventors: Dennis Lui, Allison L. Holloway, Shasank Kisan Chavan
  • Patent number: 11911910
    Abstract: A surgical robotic system has a tool drive coupled to a distal end of a robotic arm that has a plurality of actuators. The tool drive has a docking interface to receive a trocar. The system also includes one or more sensors that are operable to visually sense a surface feature of the trocar. One or more processors determine a position and orientation of the trocar, based on the visually sensed surface feature. In response, the processor controls the actuators to orient the docking interface to the determined orientation of the trocar and to guide the robotic arm toward the determined position of the trocar. Other aspects are also described and claimed.
    Type: Grant
    Filed: December 9, 2022
    Date of Patent: February 27, 2024
    Assignee: Verb Surgical Inc.
    Inventors: Berk Gonenc, Xin Liu, Jose Luis Cordoba, Bernhard A. Fuerst, Dennis Moses, Pablo Garcia Kilroy
  • Patent number: 11294816
    Abstract: Techniques are described herein for reducing the number of redundant evaluations that occur when an expression is evaluated against an encoded column vector by caching results of expression evaluations. When executing a query that includes an expression that references columns for which dictionary-encoded column vectors exist, the database server performs a cost-based analysis to determine which expressions (or sub-expressions) would benefit from caching the expression's evaluation result. For each such expression, the database server performs the necessary computations and caches the results for each of the possible distinct input values. When evaluating an expression for a row with a particular set of input codes, a look-up is performed based on the input code combination to retrieve the pre-computed results of that evaluation from the cache.
    Type: Grant
    Filed: January 3, 2017
    Date of Patent: April 5, 2022
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Dennis Lui, Sheldon A. K. Lewis
  • Patent number: 11003664
    Abstract: Techniques are described herein for hybrid parallelization of in-memory table scans. Work for an in-memory scan is divided into granules based on a degree of parallelism. The granules are assigned to one or more processes. The work for each granule is further parallelized by dividing the work granule into one or more tasks. The tasks are assigned to one or more threads, the number of which can be dynamically adjusted.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: May 11, 2021
    Assignee: Oracle International Corporation
    Inventors: Teck Hua Lee, Shasank Chavan, Chinmayi Krishnappa, Allison Holloway, Vicente Hernandez, Dennis Lui
  • Patent number: 10853371
    Abstract: Techniques related to efficient evaluation of query expressions including grouping clauses are disclosed. Computing device(s) perform a method for aggregating a measure column vector (MCV) according to a plurality of grouping column vectors (GCVs). The MCV and each of the plurality of GCVs may be encoded. The method includes determining a plurality of actual grouping keys (AGKs) and generating a dense identifier (DI) mapping that maps the plurality of AGKs to a plurality of DIs. Each AGK occurs in the plurality of GCVs. Each DI corresponds to a respective workspace. Aggregating the MCV involves aggregating, in each workspace, one or more codes of the MCV that correspond to an AGK mapped to a DI corresponding to the workspace. For a first row of the MCV and the plurality of GCVs, aggregating the one or more codes includes generating a particular grouping key based on codes in the plurality of GCVs.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: December 1, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10810208
    Abstract: Techniques related to efficient evaluation of queries with multiple predicate expressions are disclosed. A first predicate expression (PE) is evaluated against a plurality of rows in a first column vector (CV) to determine that a subset of rows does not satisfy the first PE. The subset comprises less than all of the plurality of rows. When a query specifies the first PE in conjunction with a second PE, a selectivity of the first PE is determined. If the selectivity meets a threshold, the second PE is evaluated against all of the plurality of rows in a second CV. If the selectivity does not meet the threshold, the second PE is evaluated against only the subset of rows in the second CV. When a query specifies the first PE in disjunction with the second PE, the second PE may be evaluated against only the subset of rows in the second CV.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: October 20, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10789252
    Abstract: Techniques related to efficient evaluation of aggregate functions are disclosed. Computing device(s) may perform a method for aggregating results of performing a multiplication on a first column and a second column of a database table. A first vector stores a subset of values of the first column. A second vector stores a corresponding subset of values of the second column. When it is determined that the first vector has a lower cardinality than the second vector, a third vector stores at least a first distinct value and a second distinct value of the first vector. A first set of one or more values of the second vector is determined, wherein each value of the first set of one or more values corresponds to the first distinct value in the first vector. A first multiplicand is generated based on performing a summation over the first set of one or more values.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: September 29, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10726016
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Grant
    Filed: October 14, 2016
    Date of Patent: July 28, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A. K. Lewis, Roger D. Macnicol
  • Patent number: 10241979
    Abstract: Techniques related to accelerated detection of matching patterns are disclosed. In an embodiment, a method may involve, for a single field of a body of records, contiguously storing field values, thereby storing the field values as a concatenation. The method may also involve identifying a match in the concatenation that matches a value pattern specified by a value pattern expression. The value pattern may include a first partial pattern and a second partial pattern. Further, the method may involve determining that the match is contained in a single field value of the body of records. Still further, the method may involve establishing the match as a matching value. The match may be determined to be contained in the single field value based on searching a data structure comprising length information or offset information for a subset of the field values stored as the concatenation.
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: March 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Shasank Chavan, Ravi Palakodety, Dennis Lui
  • Publication number: 20180075096
    Abstract: Techniques related to efficient evaluation of query expressions including grouping clauses are disclosed. Computing device(s) perform a method for aggregating a measure column vector (MCV) according to a plurality of grouping column vectors (GCVs). The MCV and each of the plurality of GCVs may be encoded. The method includes determining a plurality of actual grouping keys (AGKs) and generating a dense identifier (DI) mapping that maps the plurality of AGKs to a plurality of DIs. Each AGK occurs in the plurality of GCVs. Each DI corresponds to a respective workspace. Aggregating the MCV involves aggregating, in each workspace, one or more codes of the MCV that correspond to an AGK mapped to a DI corresponding to the workspace. For a first row of the MCV and the plurality of GCVs, aggregating the one or more codes includes generating a particular grouping key based on codes in the plurality of GCVs.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L. Holloway, Sheldon A.K. Lewis
  • Publication number: 20180075113
    Abstract: Techniques related to efficient evaluation of aggregate functions are disclosed. Computing device(s) may perform a method for aggregating results of performing a multiplication on a first column and a second column of a database table. A first vector stores a subset of values of the first column. A second vector stores a corresponding subset of values of the second column. When it is determined that the first vector has a lower cardinality than the second vector, a third vector stores at least a first distinct value and a second distinct value of the first vector. A first set of one or more values of the second vector is determined, wherein each value of the first set of one or more values corresponds to the first distinct value in the first vector. A first multiplicand is generated based on performing a summation over the first set of one or more values.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A.K. Lewis
  • Publication number: 20180075105
    Abstract: Techniques related to efficient evaluation of queries with multiple predicate expressions are disclosed. A first predicate expression (PE) is evaluated against a plurality of rows in a first column vector (CV) to determine that a subset of rows does not satisfy the first PE. The subset comprises less than all of the plurality of rows. When a query specifies the first PE in conjunction with a second PE, a selectivity of the first PE is determined. If the selectivity meets a threshold, the second PE is evaluated against all of the plurality of rows in a second CV. If the selectivity does not meet the threshold, the second PE is evaluated against only the subset of rows in the second CV. When a query specifies the first PE in disjunction with the second PE, the second PE may be evaluated against only the subset of rows in the second CV.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A.K. Lewis
  • Publication number: 20180060399
    Abstract: Techniques are described herein for hybrid parallelization of in-memory table scans. Work for an in-memory scan is divided into granules based on a degree of parallelism. The granules are assigned to one or more processes. The work for each granule is further parallelized by dividing the work granule into one or more tasks. The tasks are assigned to one or more threads, the number of which can be dynamically adjusted.
    Type: Application
    Filed: August 29, 2016
    Publication date: March 1, 2018
    Inventors: Teck Hua Lee, Shasank Chavan, Chinmayi Krishnappa, Allison Holloway, Vicente Hernandez, Dennis Lui
  • Publication number: 20170116242
    Abstract: Techniques are described herein for reducing the number of redundant evaluations that occur when an expression is evaluated against an encoded column vector by caching results of expression evaluations. When executing a query that includes an expression that references columns for which dictionary-encoded column vectors exist, the database server performs a cost-based analysis to determine which expressions (or sub-expressions) would benefit from caching the expression's evaluation result. For each such expression, the database server performs the necessary computations and caches the results for each of the possible distinct input values. When evaluating an expression for a row with a particular set of input codes, a look-up is performed based on the input code combination to retrieve the pre-computed results of that evaluation from the cache.
    Type: Application
    Filed: January 3, 2017
    Publication date: April 27, 2017
    Inventors: Shasank K. Chavan, Dina Thomas, Ajit Mylavarapu, Prashant Gaharwar, Dennis Lui, Sheldon A.K. Lewis
  • Publication number: 20170109406
    Abstract: Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
    Type: Application
    Filed: October 14, 2016
    Publication date: April 20, 2017
    Inventors: Shasank K. Chavan, Prashant Gaharwar, Ajit Mylavarapu, Dina Thomas, Dennis Lui, Sheldon A.K. Lewis, Roger D. Macnicol
  • Publication number: 20170054544
    Abstract: A method is performed at a user device, UE (12), for supporting a transmission mode configuration with respect to a communication channel between the UE (12) and an network node (14) of a radio network. The method comprises determining an impact of self-interference at a receiver of the UE (12) due to an uplink transmission to the network node (14) in case of full duplex communication, generating a channel state information comprising an information of said impact of self-interference, and transmitting the channel state information to the network node (14) to support said node in taking a decision between half duplex and full duplex communication configuration for the communication channel. A corresponding method is performed at a network node (14). Embodiments herein further include a UE (12), a network node (14) and computer programs thereto.
    Type: Application
    Filed: August 18, 2015
    Publication date: February 23, 2017
    Inventors: Muhammad Kazmi, Gabor Fodor, Dennis Lui
  • Publication number: 20170024439
    Abstract: Techniques related to accelerated detection of matching patterns are disclosed. In an embodiment, a method may involve, for a single field of a body of records, contiguously storing field values, thereby storing the field values as a concatenation. The method may also involve identifying a match in the concatenation that matches a value pattern specified by a value pattern expression. The value pattern may include a first partial pattern and a second partial pattern. Further, the method may involve determining that the match is contained in a single field value of the body of records. Still further, the method may involve establishing the match as a matching value. The match may be determined to be contained in the single field value based on searching a data structure comprising length information or offset information for a subset of the field values stored as the concatenation.
    Type: Application
    Filed: July 21, 2015
    Publication date: January 26, 2017
    Inventors: SHASANK CHAVAN, RAVI PALAKODETY, DENNIS LUI
  • Publication number: 20160325096
    Abstract: A prosthetic processing apparatus (200) for use by a visually-impaired subject comprises at least one sensor (104) configured to capture and output physical information of a spatial field, an output interface (208) coupled to a sensory input device which is configured to apply a signal to a sensory pathway of the visually impaired subject, and a processor (202) operatively coupled to the sensor (104) and to the output interface (208). The processor (202) is configured to receive (402) the physical information of the spatial field from the sensor (104), and to process (404) the received information to identify one or more salient features of a predetermined category (such as edges, plane surfaces, human faces and/or bodies) within the spatial field.
    Type: Application
    Filed: August 29, 2012
    Publication date: November 10, 2016
    Applicant: Monash University
    Inventors: Wen Lik Dennis Lui, Damien Browne, Tom Drummond, Wai Ho Li, Lindsay Kleeman
  • Publication number: 20080238340
    Abstract: A method of determining an operating current adjustment for a light emitting semiconductor element in order to generate a predetermined brightness includes applying a test voltage to the light emitting element, determining a corresponding test current through the light emitting element, and determining the operating current adjustment dependent on the determined test current and the applied test voltage.
    Type: Application
    Filed: March 26, 2007
    Publication date: October 2, 2008
    Inventors: Shun Kei Mars Leung, Chin Tung Derek Lau, Chong Yiu Dennis Lui