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: 9589041Abstract: 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: GrantFiled: July 25, 2013Date of Patent: March 7, 2017Assignee: Oracle International CorporationInventors: Hung V. Tran, Lik Wong, Nimar Singh Arora, Thuvan Hoang, Edwina Ming-Yue Lu, Tianshu Li
-
Patent number: 9569514Abstract: 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: GrantFiled: October 11, 2013Date of Patent: February 14, 2017Assignee: Oracle International CorporationInventors: Edwina M. Lu, James W. Stamos, Nimar S. Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminarayanan Chidambaran
-
Patent number: 9230002Abstract: 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: GrantFiled: January 30, 2009Date of Patent: January 5, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Lik Wong, Nimar Arora, Lei Gao, Thuvan Hoang, Haobo Xu
-
Publication number: 20150032695Abstract: 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: ApplicationFiled: July 25, 2013Publication date: January 29, 2015Applicant: Oracle International CorporationInventors: Hung V. Tran, Lik Wong, Nimar Singh Arora, Thuvan Hoang, Edwina Ming-Yue Lu, Tianshu Li
-
Patent number: 8799213Abstract: 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: GrantFiled: July 31, 2007Date of Patent: August 5, 2014Assignee: Oracle International CorporationInventors: Lik Wong, Nimar S. Arora, Anand Lakshminath, Jingwei Wu, Lei Gao, Thuvan Hoang
-
Publication number: 20140040203Abstract: 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: ApplicationFiled: October 11, 2013Publication date: February 6, 2014Applicant: Oracle International CorporationInventors: Edwina M. Lu, James W. Stamos, Nimar S. Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminarayanan Chidambaran
-
Patent number: 8589346Abstract: 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: GrantFiled: April 26, 2011Date of Patent: November 19, 2013Assignee: Oracle International CorporationInventors: Edwina Lu, James Stamos, Nimar Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminaray Chidambaran
-
Publication number: 20120278282Abstract: 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: ApplicationFiled: April 26, 2011Publication date: November 1, 2012Inventors: Edwina Lu, James Stamos, Nimar Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminaray Chidambaran
-
Patent number: 8176007Abstract: 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: GrantFiled: February 11, 2011Date of Patent: May 8, 2012Assignee: Oracle International CorporationInventors: Thuvan Hoang, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
-
Patent number: 8131766Abstract: 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: GrantFiled: December 15, 2004Date of Patent: March 6, 2012Assignee: Oracle International CorporationInventors: Sam Idicula, Thuvan Hoang, Asha Tarachandani, Nipun Agarwal, Ravi Murthy, Eric Sedlar
-
Publication number: 20110137963Abstract: 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: ApplicationFiled: February 11, 2011Publication date: June 9, 2011Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Thuvan HOANG, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
-
Patent number: 7921076Abstract: 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: GrantFiled: December 15, 2004Date of Patent: April 5, 2011Assignee: Oracle International CorporationInventors: Thuvan Hoang, Sam Idicula, Nipun Agarwal, Ravi Murthy, Asha Tarachandani, Namit Jain, Eric Sedlar
-
Patent number: 7801852Abstract: 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: GrantFiled: July 31, 2007Date of Patent: September 21, 2010Assignee: Oracle International CorporationInventors: Lik Wong, Nimar S. Arora, Cristina Schmidt, Lei Gao, Thuvan Hoang
-
Patent number: 7783601Abstract: 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: GrantFiled: November 8, 2007Date of Patent: August 24, 2010Assignee: Oracle International CorporationInventors: Lik Wong, Thuvan Hoang, Nimar Singh Arora, Jun Yuan
-
Publication number: 20100198920Abstract: 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: ApplicationFiled: January 30, 2009Publication date: August 5, 2010Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Lik Wong, Nimar Arora, Lei Gao, Thuvan Hoang, Haobo Xu
-
Patent number: 7769789Abstract: 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: GrantFiled: May 11, 2007Date of Patent: August 3, 2010Assignee: Oracle International CorporationInventors: Thuvan Hoang, Anthony Giardullo, Amit Ganesh, Nimar S. Arora, Dheeraj Pandey, Lik Wong
-
Patent number: 7668878Abstract: 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: GrantFiled: July 31, 2006Date of Patent: February 23, 2010Assignee: Oracle International CorporationInventors: Nimar Arora, Lik Wong, Neeraj Shadhan, Anand Lakshminath, Edwina Lu, Byron Wang, Thuvan Hoang
-
Publication number: 20090125563Abstract: 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: ApplicationFiled: November 8, 2007Publication date: May 14, 2009Inventors: Lik Wong, Thuvan Hoang, Nimar Singh Arora, Jun Yuan
-
Publication number: 20090037422Abstract: 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: ApplicationFiled: July 31, 2007Publication date: February 5, 2009Inventors: Lik Wong, Nimar S. Arora, Anand Lakshminath, Jingwei Wu, Lei Gao, Thuvan Hoang
-
Publication number: 20090037494Abstract: 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: ApplicationFiled: July 31, 2007Publication date: February 5, 2009Inventors: Lik Wong, Nimar S. Arora, Cristina Schmidt, Lei Gao, Thuvan Hoang