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: 10678808
    Abstract: 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: Grant
    Filed: August 31, 2017
    Date of Patent: June 9, 2020
    Assignee: Oracle International Corporation
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • Publication number: 20170364571
    Abstract: 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: Application
    Filed: August 31, 2017
    Publication date: December 21, 2017
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • Patent number: 9747356
    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: Grant
    Filed: January 23, 2014
    Date of Patent: August 29, 2017
    Assignee: Oracle International Corporation
    Inventors: Edwina Ming-Yue Lu, Nimar Singh Arora, Lik Wong
  • 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
  • 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
  • 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
  • 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: 8374966
    Abstract: 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: Grant
    Filed: December 2, 2002
    Date of Patent: February 12, 2013
    Assignee: Oracle International Corporation
    Inventors: Nimar Singh Arora, Jim Stamos
  • Patent number: 7895600
    Abstract: 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: Grant
    Filed: June 19, 2006
    Date of Patent: February 22, 2011
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Nimar Singh Arora
  • 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
  • Patent number: 7769714
    Abstract: 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: Grant
    Filed: November 6, 2007
    Date of Patent: August 3, 2010
    Assignee: Oracle International Corporation
    Inventors: Edwina Lu, Mahesh Subramaniam, Lik Wong, James Stamos, Nimar Singh Arora
  • 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: 20090119346
    Abstract: 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: Application
    Filed: November 6, 2007
    Publication date: May 7, 2009
    Inventors: Edwina Lu, Mahesh Subramaniam, Lik Wong, James Stamos, Nimar Singh Arora
  • Publication number: 20070266393
    Abstract: 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: Application
    Filed: June 19, 2006
    Publication date: November 15, 2007
    Applicant: Oracle International Corporation
    Inventors: Kapil Surlaker, Nimar Singh Arora
  • Patent number: 7287034
    Abstract: 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: Grant
    Filed: May 8, 2003
    Date of Patent: October 23, 2007
    Assignee: Oracle International Corporation
    Inventors: Lik Wong, James William Stamos, Nimar Singh Arora
  • Publication number: 20040225696
    Abstract: 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: Application
    Filed: May 8, 2003
    Publication date: November 11, 2004
    Inventors: Lik Wong, James William Stamos, Nimar Singh Arora