Patents by Inventor Lik Wong

Lik Wong 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).

  • Publication number: 20150269215
    Abstract: Techniques are provided for dependency-aware transaction batching for data replication. A plurality of change records corresponding to a plurality of transactions is read. Inter-transaction dependency data is generated, the inter-transaction dependency data including at least one inter-transaction dependency relationship between a plurality of pending transactions. Each inter-transaction dependency relationship indicates that a first transaction is dependent on a second transaction. A batch transaction is generated based on the inter-transaction dependency data. The batch transaction includes at least one pending transaction of the plurality of pending transactions. The batch transaction is assigned to an apply process of a plurality of apply processes configured to apply batch transactions in parallel.
    Type: Application
    Filed: March 21, 2014
    Publication date: September 24, 2015
    Applicant: Oracle International Corporation
    Inventors: Sean Lehouillier, Hung V. Tran, Vasanth Rajamani, Nimar S. Arora, Lik Wong
  • Publication number: 20150205850
    Abstract: Techniques are provided for eager replication of uncommitted transactions. A first plurality of change records is received, corresponding to database changes applied to a source database in a first transaction. First transaction dependency data is computed based on the first transaction. At least a portion of the first plurality of change records is applied to the target database before processing a commit record indicating that has been committed on the source database. Target dependency data is updated after processing the first commit record to reflect completion of the first transaction, the target dependency data including dependency data for a plurality of transactions applied or scheduled to be applied on a target database.
    Type: Application
    Filed: January 23, 2014
    Publication date: July 23, 2015
    Applicant: Oracle International Corporation
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • Patent number: 9063773
    Abstract: Techniques are provided for automatic parallelism tuning. At least one batch of change records is assigned to one or more apply processes in a set of active apply processes. A first throughput value is periodically determined based on a number of processed change records in a first time interval. An increment adjustment is periodically performed, including adding an additional apply process, determining a second throughput value, and removing the additional apply process from the set of active apply processes if the second throughput value is not greater than a previous first throughput value by at least an increment threshold. A decrement adjustment is periodically performed, including removing an apply process, determining a third throughput value, and replacing the removed apply process in the set of active apply processes if the third throughput value is not greater than the previous first throughput value by at least a decrement threshold.
    Type: Grant
    Filed: July 24, 2013
    Date of Patent: June 23, 2015
    Assignee: Oracle International Corporation
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • Patent number: 9009104
    Abstract: Techniques for replicating data between database systems without taking checkpoints are provided. In an embodiment, a capture process restarts. Upon restarting, the capture process reestablishes an association with an apply process. A particular logical time maintained by the apply process is then communicated to the capture process. Upon receiving the particular logical time, the capture process restarts mining from this particular logical time.
    Type: Grant
    Filed: August 10, 2010
    Date of Patent: April 14, 2015
    Assignee: Oracle International Corporation
    Inventors: Lik Wong, Nimar S. Arora, Cristina Schmidt, Lei Gao, Thuyan Hoang
  • Publication number: 20150032694
    Abstract: Parallel logical replication involves multiple apply threads running on a destination database server applying, in parallel, changes made by source transactions, where the changes of a single source transaction may be applied in parallel by multiple apply threads. An apply transaction for a source transaction may be committed by an apply thread independently of the commitment of any other apply transaction of the source transaction, that is, without coordinating the committing of another apply transaction executed by another apply thread for the source transaction. A configuration language is used to configure parallel logical replication. The language facilitates the configuration of various aspects of parallel logical replication, including the number of apply threads, partitioning schemes for the apply threads for partitioning change records between the apply threads, and various other aspects of parallel logical replication.
    Type: Application
    Filed: July 24, 2013
    Publication date: January 29, 2015
    Inventors: Vasanth Rajamani, Lik Wong, Nimar S. Arora, Sean Lehouillier
  • Publication number: 20150032695
    Abstract: Techniques are provided for client and server integration for scalable replication. A replication client transmits change records to a database server over a stream. The database server determines at least one batch comprising change records for at least one transaction. The database server generates dependency data for at least one change record in a batch based on at least one constraint identifier for at least one column. The database server determines an ordered grouping of the change records based on an operation type of each change record and the dependency data of each change record, wherein change records sharing operation types are grouped together unless a division based on the dependency data is determined. The database server generates a reordered transaction comprising a plurality of reordered operations based on the ordered grouping of the change records of the particular batch.
    Type: Application
    Filed: July 25, 2013
    Publication date: January 29, 2015
    Applicant: Oracle International Corporation
    Inventors: Hung V. Tran, Lik Wong, Nimar Singh Arora, Thuvan Hoang, Edwina Ming-Yue Lu, Tianshu Li
  • Publication number: 20150032689
    Abstract: Techniques are provided for data definition language (DDL) expression annotation. DDL expression text is captured. The DDL expression text corresponds to a DDL change in a source database. A component set is determined. The component set includes at least one component in the DDL expression text. An annotation set is generated. The annotation set includes at least one annotation for at least one component of the component set. Each annotation includes hierarchical data describing at least one hierarchical relationship in the component set. For example, an annotation may include a component ID, a component position, a component length, a component type, and a parent component ID. The annotation set and a change record comprising the DDL expression text are transmitted to a replication client.
    Type: Application
    Filed: July 24, 2013
    Publication date: January 29, 2015
    Applicant: Oracle International Corporation
    Inventors: Parthasarathy Raghunathan, Lik Wong
  • Publication number: 20150033232
    Abstract: Techniques are provided for automatic parallelism tuning. At least one batch of change records is assigned to one or more apply processes in a set of active apply processes. A first throughput value is periodically determined based on a number of processed change records in a first time interval. An increment adjustment is periodically performed, including adding an additional apply process, determining a second throughput value, and removing the additional apply process from the set of active apply processes if the second throughput value is not greater than a previous first throughput value by at least an increment threshold. A decrement adjustment is periodically performed, including removing an apply process, determining a third throughput value, and replacing the removed apply process in the set of active apply processes if the third throughput value is not greater than the previous first throughput value by at least a decrement threshold.
    Type: Application
    Filed: July 24, 2013
    Publication date: January 29, 2015
    Applicant: Oracle International Corporation
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • Patent number: 8879636
    Abstract: Methods and apparatus for adaptive encoding of data such as for example video data. In one exemplary embodiment, a real-time video encoder is disclosed that changes video encoding processes to produce the best quality encoded video while maintaining a target encoding frame rate, according to one or more operating constraints.
    Type: Grant
    Filed: May 27, 2008
    Date of Patent: November 4, 2014
    Assignee: Synopsys, Inc.
    Inventors: Carl Norman Graham, Seow Chuan Lim, Aris Aristodemou, John R. M. Mason, Tim Hall, Yazid Nemouchi, Kar-Lik Wong
  • Patent number: 8838615
    Abstract: Computer-implemented methods and computer systems for automatically managing stored checkpoint data are described. The method includes accessing a first user defined time period. The first user defined time period is related to a plurality of stored checkpoint data, and each checkpoint data of the plurality of stored checkpoint data has an associated storage time. Further, the method includes identifying a first set of checkpoint data having storage times that are within the first user defined time period. Moreover, the method includes identifying a second set of checkpoint data having storage times that are older than the first user defined time period. In addition, the method includes pruning the second set of checkpoint data according to a user specified process in proportion to storage time of each checkpoint data of the second set of checkpoint data. The older stored checkpoint data is more heavily pruned over recent stored checkpoint data.
    Type: Grant
    Filed: February 2, 2006
    Date of Patent: September 16, 2014
    Assignee: Oracle International Corporation
    Inventors: Neeraj Shodhan, Qinqin Wang, Lik Wong, Joydip Kundu
  • Patent number: 8799213
    Abstract: In accordance with an embodiment of the present invention, an information sharing mechanism comprising a memory structure may be provided in a database system. In an embodiment, mined information transferred by a capture process to an associated apply process can be written into the memory structure without taking any latch. Similarly, the mined information can be read by the apply process from the memory structure without taking any latch. The capture and apply processes may work cooperatively to establish a safe point in log mining under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of information sharing. In some embodiments, the information sharing mechanism supports both checkpoint-free and checkpoint modes of log mining by the capture process. In addition, both the capture process and the apply process may employ an eager apply approach to increase processing capacity.
    Type: Grant
    Filed: July 31, 2007
    Date of Patent: August 5, 2014
    Assignee: Oracle International Corporation
    Inventors: Lik Wong, Nimar S. Arora, Anand Lakshminath, Jingwei Wu, Lei Gao, Thuvan Hoang
  • Publication number: 20140081907
    Abstract: Transient duplicate key violations of unique key constraints are handled during row updates. Row changes are buffered until a point is reached that those changes are safe to execute. Row changes are effectively reordered to avoid constraint violations during execution of updates. In response to receiving a constraint key violation from a server after an attempted update, a client locally stores a record containing information regarding the failed update. Later, in response to the lack of receipt of an error in response to another update to the same column of the same table, the client uses the information in this record to instruct the server to attempt to repeat a failed update that previously attempted to change the value of a row to a value that was present in a uniqueness-constrained column at the time of the failure, but is no longer present due to the successful update.
    Type: Application
    Filed: September 18, 2012
    Publication date: March 20, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Hung V. Tran, Lik Wong, Edwina Ming-Yue Lu
  • Publication number: 20140040203
    Abstract: Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.
    Type: Application
    Filed: October 11, 2013
    Publication date: February 6, 2014
    Applicant: Oracle International Corporation
    Inventors: Edwina M. Lu, James W. Stamos, Nimar S. Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminarayanan Chidambaran
  • Patent number: 8589346
    Abstract: Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.
    Type: Grant
    Filed: April 26, 2011
    Date of Patent: November 19, 2013
    Assignee: Oracle International Corporation
    Inventors: Edwina Lu, James Stamos, Nimar Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminaray Chidambaran
  • Patent number: 8504522
    Abstract: A computer is programmed to parse a network that interconnects databases in a distributed database system, into a number of paths, wherein each path starts in a source database that is a source of changes and ends in a destination database that uses the changes to replicate the source database. The computer identifies databases that occur within each path in the network, and queries the identified databases to obtain statistics for each path. Statistics along each path are analyzed automatically, to identify a component in each path as a candidate for further investigation. The identified component may be marked as a bottleneck e.g. if there are no other paths connected to it. Alternatively the identified component may be a source of changes for another path that has a bottleneck or that has another candidate for further investigation. The identified bottleneck is displayed to the user with recommendations for improvement.
    Type: Grant
    Filed: January 9, 2012
    Date of Patent: August 6, 2013
    Assignee: Oracle International Corporation
    Inventors: Jingwei Wu, Nimar S. Arora, Lik Wong
  • Publication number: 20120278282
    Abstract: Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.
    Type: Application
    Filed: April 26, 2011
    Publication date: November 1, 2012
    Inventors: Edwina Lu, James Stamos, Nimar Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminaray Chidambaran
  • Patent number: 8212823
    Abstract: A data path for a SIMD-based microprocessor is used to perform different simultaneous filter sub-operations in parallel data lanes of the SIMD-based microprocessor. Filter operations for sub-pixel interpolation are performed simultaneously on separate lanes of the SIMD processor's data path. Using a dedicated internal data path, precision higher than the native precision of the SIMD unit may be achieved. Through the data path according to this invention, a single instruction may be used to generate the value of two adjacent sub-pixels located diagonally with respect to integer pixel positions.
    Type: Grant
    Filed: September 28, 2006
    Date of Patent: July 3, 2012
    Assignee: Synopsys, Inc.
    Inventors: Carl Norman Graham, Kar-Lik Wong, Simon Jones, Aris Aristodemou
  • Publication number: 20120109889
    Abstract: A computer is programmed to parse a network that interconnects databases in a distributed database system, into a number of paths, wherein each path starts in a source database that is a source of changes and ends in a destination database that uses the changes to replicate the source database. The computer identifies databases that occur within each path in the network, and queries the identified databases to obtain statistics for each path. Statistics along each path are analyzed automatically, to identify a component in each path as a candidate for further investigation. The identified component may be marked as a bottleneck e.g. if there are no other paths connected to it. Alternatively the identified component may be a source of changes for another path that has a bottleneck or that has another candidate for further investigation. The identified bottleneck is displayed to the user with recommendations for improvement.
    Type: Application
    Filed: January 9, 2012
    Publication date: May 3, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jingwei Wu, Nimar S. Arora, Lik Wong
  • Patent number: 8161085
    Abstract: Approaches described herein may be used for provisioning of databases that requires a bulk transfer of data within a distributed computing environment, such as a grid. The approaches do not require the manual intervention of a DBA to, for example, transfer a tablespace between the file systems of operating systems. Instead, the tablespaces may be provisioned automatically and dynamically by a grid computing system whenever it determines the need to dynamically provision a database. In addition, as copies of tablespaces are provisioned, synchronization mechanisms can also be automatically provisioned to keep the tablespaces and their copies in sync.
    Type: Grant
    Filed: October 14, 2010
    Date of Patent: April 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Benny Souder, James Stamos, Lik Wong, John Ciminski, Anand Lakshminath, Alan Downing
  • Patent number: 8095507
    Abstract: A computer is programmed to parse a network that interconnects databases in a distributed database system, into a number of paths, wherein each path starts in a source database that is a source of changes and ends in a destination database that uses the changes to replicate the source database. The computer identifies databases that occur within each path in the network, and queries the identified databases to obtain statistics for each path. Statistics along each path are analyzed automatically, to identify a component in each path as a candidate for further investigation. The identified component may be marked as a bottleneck e.g. if there are no other paths connected to it. Alternatively the identified component may be a source of changes for another path that has a bottleneck or that has another candidate for further investigation. The identified bottleneck is displayed to the user with recommendations for improvement.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: January 10, 2012
    Assignee: Oracle International Corporation
    Inventors: Jingwei Wu, Nimar S Arora, Lik Wong