Patents by Inventor Thuvan Hoang

Thuvan Hoang 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: 9589041
    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: Grant
    Filed: July 25, 2013
    Date of Patent: March 7, 2017
    Assignee: Oracle International Corporation
    Inventors: Hung V. Tran, Lik Wong, Nimar Singh Arora, Thuvan Hoang, Edwina Ming-Yue Lu, Tianshu Li
  • Patent number: 9569514
    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: October 11, 2013
    Date of Patent: February 14, 2017
    Assignee: 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: 9230002
    Abstract: A method for sharing information between a publisher and multiple subscribers is provided. The publisher uses a latch-free, single publisher, multiple subscriber shared queue to share information. Logical change records representing changes made to a database are enqueued in the shared queue as messages in a stream of messages, and subscribers read the logical change records. Subscribers may filter logical change records before sending to apply processes for processing. An identifying property of the source instance of a change encapsulated in a logical change record may be included with each message enqueued.
    Type: Grant
    Filed: January 30, 2009
    Date of Patent: January 5, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lik Wong, Nimar Arora, Lei Gao, Thuvan Hoang, Haobo Xu
  • 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
  • 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: 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
  • 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: 8176007
    Abstract: A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
    Type: Grant
    Filed: February 11, 2011
    Date of Patent: May 8, 2012
    Assignee: Oracle International Corporation
    Inventors: Thuvan Hoang, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
  • Patent number: 8131766
    Abstract: Business logic is integrated within a repository through the use of “resource configurations.” A resource configuration is a unit of business logic that is supplied by a user to the repository and associated with a particular directory and/or a resource. Each resource configuration contains one or more configuration items that each defines and/or expresses one or more business rules for managing a resource associated with the resource configuration.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: March 6, 2012
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Thuvan Hoang, Asha Tarachandani, Nipun Agarwal, Ravi Murthy, Eric Sedlar
  • Publication number: 20110137963
    Abstract: A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
    Type: Application
    Filed: February 11, 2011
    Publication date: June 9, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Thuvan HOANG, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
  • Patent number: 7921076
    Abstract: A method and apparatus for performing an action in response to a file system event is provided. According to one aspect, sets of “event listeners” are associated with a file hierarchy and/or the nodes thereof. Each event listener contains a set of “event handlers.” Each event handler corresponds to a separate type of event that may occur relative to the file hierarchy's nodes. When an event is going to occur relative to the hierarchy or a node thereof, all event listeners that are associated with that hierarchy/node are inspected to determine whether those event listeners contain any event handlers that correspond to the event's type. Those event handlers that correspond to the event's type are placed in an ordered list of event handlers to be invoked. As the event handlers in the list are invoked, programmatic mechanisms that correspond to those event handlers are executed to perform customized user-specified actions.
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: April 5, 2011
    Assignee: Oracle International Corporation
    Inventors: Thuvan Hoang, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
  • Patent number: 7801852
    Abstract: A checkpoint free log mining mechanism comprising a capture process and an apply process that are logically associated with each other may be provided in a database system. In an embodiment, log mining information published by the capture process to the apply process comprises a complete set of log information for each interesting transaction. A system change number of a start transaction record of a transaction may be used to represent a start time of the entire transaction. The capture and apply processes may work cooperatively to establish a safe time point in the form of a particular system change number in logs to begin mining, under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of checkpoint free log mining, or in a transition between the checkpoint mode and the checkpoint free mode.
    Type: Grant
    Filed: July 31, 2007
    Date of Patent: September 21, 2010
    Assignee: Oracle International Corporation
    Inventors: Lik Wong, Nimar S. Arora, Cristina Schmidt, Lei Gao, Thuvan Hoang
  • Patent number: 7783601
    Abstract: In accordance with an embodiment of the present invention, a heterogeneous data sharing mechanism comprising a capture process and an apply process may be provided in a database system. The capture process mines or receives, at the source entity, a plurality of records that belong to a plurality of transactions. Here, first records from a first transaction in the plurality of transactions are interleaved with one or more records from one or more different transactions in the plurality of transactions. The capture process orders the plurality of records into a stream of ordered records such that all records that belong to a transaction are stored contiguously in a single block of records in the stream. Subsequently, the capture process sends the stream of ordered records from the source entity to the sink entity. Alternatively, the apply process retrieves the stream of ordered records from the capture process.
    Type: Grant
    Filed: November 8, 2007
    Date of Patent: August 24, 2010
    Assignee: Oracle International Corporation
    Inventors: Lik Wong, Thuvan Hoang, Nimar Singh Arora, Jun Yuan
  • Publication number: 20100198920
    Abstract: A method for sharing information between a publisher and multiple subscribers is provided. The publisher uses a latch-free, single publisher, multiple subscriber shared queue to share information. Logical change records representing changes made to a database are enqueued in the shared queue as messages in a stream of messages, and subscribers read the logical change records. Subscribers may filter logical change records before sending to apply processes for processing. An identifying property of the source instance of a change encapsulated in a logical change record may be included with each message enqueued.
    Type: Application
    Filed: January 30, 2009
    Publication date: August 5, 2010
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lik Wong, Nimar Arora, Lei Gao, Thuvan Hoang, Haobo Xu
  • Patent number: 7769789
    Abstract: Performing an operation directly on data stored in a database table provides for avoiding generation and processing of SQL statements. A Data Layer interface, comprising a set of APIs, allows internal database server components to call directly to the Data Layer for making fast row changes to a table. According to an embodiment, before making any row change to a table through this Data Layer interface, a shared state data structure is created to hold the metadata about the table. A single shared state can be used for all DML changes to a particular table regardless of what columns are updated or inserted during each DML operation. When a process needs to change a row, the process uses a mutable state based on the shared state of the table.
    Type: Grant
    Filed: May 11, 2007
    Date of Patent: August 3, 2010
    Assignee: Oracle International Corporation
    Inventors: Thuvan Hoang, Anthony Giardullo, Amit Ganesh, Nimar S. Arora, Dheeraj Pandey, Lik Wong
  • Patent number: 7668878
    Abstract: A method and apparatus for replicating data between heterogeneous databases is provided. Data is replicated between two heterogeneous databases with the use of a volatile storage queue, enabling the rapid replication of data across databases provided by different vendors or operating on different platforms. According to one embodiment, an in-memory queue is used to queue change operations to be performed on a target data repository. The change operations may be operations that were applied to a source data repository. An apply process retrieves the change operations from in-memory queue and commits the change operations to persistent storage. When the change operations have been committed, the apply process notifies the source platform that the particular change operation has been stored.
    Type: Grant
    Filed: July 31, 2006
    Date of Patent: February 23, 2010
    Assignee: Oracle International Corporation
    Inventors: Nimar Arora, Lik Wong, Neeraj Shadhan, Anand Lakshminath, Edwina Lu, Byron Wang, Thuvan Hoang
  • Publication number: 20090125563
    Abstract: In accordance with an embodiment of the present invention, a heterogeneous data sharing mechanism comprising a capture process and an apply process may be provided in a database system. The capture process mines or receives, at the source entity, a plurality of records that belong to a plurality of transactions. Here, first records from a first transaction in the plurality of transactions are interleaved with one or more records from one or more different transactions in the plurality of transactions. The capture process orders the plurality of records into a stream of ordered records such that all records that belong to a transaction are stored contiguously in a single block of records in the stream. Subsequently, the capture process sends the stream of ordered records from the source entity to the sink entity. Alternatively, the apply process retrieves the stream of ordered records from the capture process.
    Type: Application
    Filed: November 8, 2007
    Publication date: May 14, 2009
    Inventors: Lik Wong, Thuvan Hoang, Nimar Singh Arora, Jun Yuan
  • Publication number: 20090037422
    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: Application
    Filed: July 31, 2007
    Publication date: February 5, 2009
    Inventors: Lik Wong, Nimar S. Arora, Anand Lakshminath, Jingwei Wu, Lei Gao, Thuvan Hoang
  • Publication number: 20090037494
    Abstract: A checkpoint free log mining mechanism comprising a capture process and an apply process that are logically associated with each other may be provided in a database system. In an embodiment, log mining information published by the capture process to the apply process comprises a complete set of log information for each interesting transaction. A system change number of a start transaction record of a transaction may be used to represent a start time of the entire transaction. The capture and apply processes may work cooperatively to establish a safe time point in the form of a particular system change number in logs to begin mining, under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of checkpoint free log mining, or in a transition between the checkpoint mode and the checkpoint free mode.
    Type: Application
    Filed: July 31, 2007
    Publication date: February 5, 2009
    Inventors: Lik Wong, Nimar S. Arora, Cristina Schmidt, Lei Gao, Thuvan Hoang