Patents by Inventor Nimar Singh Arora
Nimar Singh Arora 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: 10678808Abstract: Techniques are provided for eager replication of uncommitted transactions. In embodiments, a replication client receives, in a data stream, change records corresponding to database changes applied to a source database in a transaction. The change records does not include a commit record that indicates that the transaction is committed on the source database. Before receiving the commit record, the replication client computes transaction dependency data based on the change records and detects, based on the transaction dependency data, that the transaction can be at least partially applied to a target database. Also before receiving the commit record, the replication client applies, to a target database and based on the detecting, at least some of the change records. Upon receiving the commit record of the transaction, the replication client completes applying the change records and commits the transaction on the target database.Type: GrantFiled: August 31, 2017Date of Patent: June 9, 2020Assignee: Oracle International CorporationInventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
Publication number: 20170364571Abstract: Techniques are provided for eager replication of uncommitted transactions. In embodiments, a replication client receives, in a data stream, change records corresponding to database changes applied to a source database in a transaction. The change records does not include a commit record that indicates that the transaction is committed on the source database. Before receiving the commit record, the replication client computes transaction dependency data based on the change records and detects, based on the transaction dependency data, that the transaction can be at least partially applied to a target database. Also before receiving the commit record, the replication client applies, to a target database and based on the detecting, at least some of the change records. Upon receiving the commit record of the transaction, the replication client completes applying the change records and commits the transaction on the target database.Type: ApplicationFiled: August 31, 2017Publication date: December 21, 2017Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
Patent number: 9747356Abstract: 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: GrantFiled: January 23, 2014Date of Patent: August 29, 2017Assignee: Oracle International CorporationInventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
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
-
Publication number: 20150205850Abstract: 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: ApplicationFiled: January 23, 2014Publication date: July 23, 2015Applicant: Oracle International CorporationInventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
Patent number: 9063773Abstract: 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: GrantFiled: July 24, 2013Date of Patent: June 23, 2015Assignee: Oracle International CorporationInventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
Publication number: 20150033232Abstract: 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: ApplicationFiled: July 24, 2013Publication date: January 29, 2015Applicant: Oracle International CorporationInventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
-
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: 8374966Abstract: Techniques are disclosed for sharing information in a wide variety of contexts. An information sharing system is described that allows both an explicit capture process and an implicit capture process to add information items to a staging area. Further, the information sharing system supports both implicit and explicit consumption of information items that are stored in said staging area. A rules engine is provided to allow users to create and register rules that customize the behavior of the capture processes, the consuming processes, and propagation processes that propagate information from the staging areas to designated destinations. Techniques are also described for achieving exactly-once handling of sequence of items, where the items are maintained in volatile memory. Techniques are also provided for recording DDL operations, and for asynchronously performing operations based on the previously-performed DDL operations.Type: GrantFiled: December 2, 2002Date of Patent: February 12, 2013Assignee: Oracle International CorporationInventors: Nimar Singh Arora, Jim Stamos
-
Patent number: 7895600Abstract: A method of optimizing propagation of non-persistent messages from a source database management system (DBMS) to a destination database management system (DBMS) is described and provided. The method comprises receiving one or more nonpersistent messages from a source non-persistent message queue of the source DBMS at a destination non-persistent message queue of the destination DBMS. The nonpersistent messages are consumed from the destination non-persistent message queue such that consumed non-persistent messages are removed from the destination non-persistent message queue.Type: GrantFiled: June 19, 2006Date of Patent: February 22, 2011Assignee: Oracle International CorporationInventors: Kapil Surlaker, Nimar Singh Arora
-
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
-
Patent number: 7769714Abstract: An approach is provided to automatically resolve conflict between instantiation and ongoing data replication operations. In an embodiment, incremental change records that describe one or more database operations are received at a sink entity. Here, all of the one or more database operations have occurred in a second database after a particular time. A first database operation in the one or more database operations to a particular row in the first database is applied. When a conflict with a second database operation that operates on the particular row is detected, one or more compensating actions, which may, but are not limited to, be a different database operation and/or an operation that creates a conflict log entry, may be performed. Here, the second database operation has occurred in the second database prior to the particular time. When the second database operation is to be performed, an appropriate operation may be performed.Type: GrantFiled: November 6, 2007Date of Patent: August 3, 2010Assignee: Oracle International CorporationInventors: Edwina Lu, Mahesh Subramaniam, Lik Wong, James Stamos, Nimar Singh Arora
-
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: 20090119346Abstract: An approach is provided to automatically resolve conflict between instantiation and ongoing data replication operations. In an embodiment, incremental change records that describe one or more database operations are received at a sink entity. Here, all of the one or more database operations have occurred in a second database after a particular time. A first database operation in the one or more database operations to a particular row in the first database is applied. When a conflict with a second database operation that operates on the particular row is detected, one or more compensating actions, which may, but are not limited to, be a different database operation and/or an operation that creates a conflict log entry, may be performed. Here, the second database operation has occurred in the second database prior to the particular time. When the second database operation is to be performed, an appropriate operation may be performed.Type: ApplicationFiled: November 6, 2007Publication date: May 7, 2009Inventors: Edwina Lu, Mahesh Subramaniam, Lik Wong, James Stamos, Nimar Singh Arora
-
Publication number: 20070266393Abstract: A method of optimizing propagation of non-persistent messages from a source database management system (DBMS) to a destination database management system (DBMS) is described and provided. The method comprises receiving one or more non-persistent messages from a source non-persistent message queue of the source DBMS at a destination non-persistent message queue of the destination DBMS. The non-persistent messages are consumed from the destination non-persistent message queue such that consumed non-persistent messages are removed from the destination non-persistent message queue.Type: ApplicationFiled: June 19, 2006Publication date: November 15, 2007Applicant: Oracle International CorporationInventors: Kapil Surlaker, Nimar Singh Arora
-
Patent number: 7287034Abstract: A method, system, and computer program product for transmitting a redo stream from a database to one or more distributed database systems, upon which applications that process the redo stream are implemented, and which maintains the data dictionaries by replicating the multiple versions of the schema objects to data dictionaries in the distributed database systems. A method of maintaining a multi-version data dictionary includes generating a logical redo stream, inserting procedure calls to be used to populate the multi-version data dictionary into the generated logical redo stream, transmitting the logical redo stream to the multi-version data dictionary, and executing the procedure calls at the multi-version data dictionary to populate the multi-version data dictionary.Type: GrantFiled: May 8, 2003Date of Patent: October 23, 2007Assignee: Oracle International CorporationInventors: Lik Wong, James William Stamos, Nimar Singh Arora
-
Publication number: 20040225696Abstract: A method, system, and computer program product for transmitting a redo stream from a database to one or more distributed database systems, upon which applications that process the redo stream are implemented, and which maintains the data dictionaries by replicating the multiple versions of the schema objects to data dictionaries in the distributed database systems. A method of maintaining a multi-version data dictionary comprises the steps of generating a logical redo stream, inserting procedure calls to be used to populate the multi-version data dictionary into the generated logical redo stream, transmitting the logical redo stream to the multi-version data dictionary, and executing the procedure calls at the multi-version data dictionary to populate the multi-version data dictionary.Type: ApplicationFiled: May 8, 2003Publication date: November 11, 2004Inventors: Lik Wong, James William Stamos, Nimar Singh Arora