Patents by Inventor Gary C. Ngai
Gary C. Ngai 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: 7526508Abstract: An intelligent database infrastructure wherein the management of all database components is performed by and within the database itself by integrating management of various components with a central management control. Each individual database component, as well as the central management control, is self-managing. A central management control module integrates and interacts with the various database components. The database is configured to automatically tune to varying workloads and configurations, correct or alert about bad conditions, and advise on ways to improve overall system performance.Type: GrantFiled: September 3, 2004Date of Patent: April 28, 2009Assignee: Oracle International CorporationInventors: Leng Leng Tan, Gianfranco Putzolu, Richard Sarwal, Alex Tsukerman, Gary C. Ngai, Graham Stephen Wood, Karl Dias, Mark Ramacher, Benoit Dageville, Mohamed Ziauddin, Tirthankar Lahiri, Sujatha Muthulingam, Vishwanath Karra, Francisco Sanchez, Hsiao-Te Su, Wanli Yang, Vasudha Krishnaswamy, Sushil Kumar
-
Patent number: 7415466Abstract: A method and system for recovering after a crash of an instance in a database is disclosed. According to the method, a plurality of dead transactions associated with the crashed instance are identified. Statistical data is compiled from the identified plurality of dead transactions. Based on the statistical data, it is determined that a particular number of recovery servers should be used to recover the plurality of dead transactions. The plurality of dead transactions are then recovered using the particular number of recovery servers. The particular number of recovery servers can execute in parallel to recover the plurality of dead transactions.Type: GrantFiled: March 18, 2004Date of Patent: August 19, 2008Assignee: Oracle International CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Patent number: 7237147Abstract: Described is an approach for recovering the failure of a transaction. According to the approach, a first change and a third change is made to a first resource and a second change is made to a second resource. The second change was made after the first but before the third. However, to recover the failure of the transaction, a recovery record for the third change is applied before the recovery record for the second change. Also described is an approach involving establishing links that link together a set of undo records that contain changes made to the particular resource. Also described is an approach for applying two or more undo records in parallel.Type: GrantFiled: August 27, 2003Date of Patent: June 26, 2007Assignee: Oracle International CorporationInventors: Amit Ganesh, Gary C. Ngai, Dieter Gawlick
-
Patent number: 7031987Abstract: Provided herein is a mechanism that allows a given database system to access data blocks from another database system, where data blocks from the given database system and data blocks from the other database system have different sizes. According to an aspect of the present invention, a tablespace in the other database system contained the data blocks. The tablespace is detached from the other database system and integrated into the given database, which is capable of processing data stored in data blocks of a different sizes.Type: GrantFiled: May 30, 2001Date of Patent: April 18, 2006Assignee: Oracle International CorporationInventors: Sreedhar Mukkamalla, Arvind Nithrakashyap, Tirthankar Lahiri, Alok Pareek, Juan R. Loaiza, J. William Lee, Gary C. Ngai
-
Patent number: 6961729Abstract: A mechanism is described for constructing work granules, where the work granules are constructed independently of whether two or more of the work granules are assigned to operate on a logical storage unit that contains a portion of the same row. A database system maintains transaction control data for data blocks in a manner that avoids self-deadlocks for slaves that follow a row collision protocol. A row collision protocol is a set of rules or steps that slaves follow to ensure that only one subtransaction in a distributed transaction updates a spanning row. Thus, for a particular spanning row, a single subtransaction modifies all the row pieces of the spanning row in any data block containing any row pieces of the spanning row. Consequently, a given data block may be affected by multiple subtransactions in a distributed transaction, one subtransaction affecting a row piece in the data block, another subtransaction affecting other rows in the data block.Type: GrantFiled: January 25, 2001Date of Patent: November 1, 2005Assignee: Oracle International CorporationInventors: Rosanne Park Toohey, Jonathan D. Klein, Amit Ganesh, Gary C. Ngai, Dmitry Mikhailovich Potapov
-
Publication number: 20040177099Abstract: A method and system for recovering after a crash of an instance in a database is disclosed. According to the method, a plurality of dead transactions associated with the crashed instance are identified. Statistical data is compiled from the identified plurality of dead transactions. Based on the statistical data, it is determined that a particular number of recovery servers should be used to recover the plurality of dead transactions. The plurality of dead transactions are then recovered using the particular number of recovery servers. The particular number of recovery servers can execute in parallel to recover the plurality of dead transactions.Type: ApplicationFiled: March 18, 2004Publication date: September 9, 2004Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Amit Ganesh, Gary C. Ngai
-
Publication number: 20040039962Abstract: Described is an approach for recovering the failure of a transaction. According to the approach, a first change and a third change is made to a first resource and a second change is made to a second resource. The second change was made after the first but before the third. However, to recover the failure of the transaction, a recovery record for the third change is applied before the recovery record for the second change. Also described is an approach involving establishing links that link together a set of undo records that contain changes made to the particular resource. Also described is an approach for applying two or more undo records in parallel.Type: ApplicationFiled: August 27, 2003Publication date: February 26, 2004Inventors: Amit Ganesh, Gary C. Ngai, Dieter Gawlick
-
Patent number: 6684223Abstract: A mechanism for performing a two-phase commit is provided. The mechanisms perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. To determine whether a particular participating database system is prepared to commit, the coordinating database system first examines external log tracking data that resides on the coordinating database system. External log tracking data, which indicates various states of logs on other database systems, is used to determine whether or not a particular participating database system is prepared to commit.Type: GrantFiled: April 18, 2002Date of Patent: January 27, 2004Assignee: Oracle International CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Patent number: 6647510Abstract: A method and apparatus for removing changes made by a dead transaction is provided. According to the method, a first change is performed by the dead transaction prior to a second change. The first change made by the dead transaction is then undone prior to undoing the second change made by the dead transaction. According to another aspect of the invention, a method and apparatus for applying changes in redo records to make a particular resource reflect changes made to the particular resource in volatile memory before a failure is provided. The method includes establishing links that link together a set of redo records that contain changes made to the particular resource. The links are then followed to apply the changes contained in the set of redo records to cause the particular resource to reflect the changes made to the particular resource in volatile memory before the failure.Type: GrantFiled: December 22, 2000Date of Patent: November 11, 2003Assignee: Oracle International CorporationInventors: Amit Ganesh, Gary C. Ngai, Dieter Gawlick
-
Patent number: 6631374Abstract: A system and method for selectively viewing temporal row data in a consistent read-implemented database are described. Committed transactions effecting row data changes to a database are tracked and a stored system change number is assigned upon each committed transaction. Rollback segments for uncommitted transactions are stored. Each rollback segment stores a transaction identifier and transaction table entries containing ordered row data values reflecting the database changes. The database is transitioned into successive consistent versions responsive to each committed transaction at a journaled commit time. The transaction table entries are maintained for a user-definable retention period following the commit time of each committed transaction. A queried selection of row data values from the database is performed as of a query time occurring prior to the commit time of at least one committed transaction.Type: GrantFiled: September 29, 2000Date of Patent: October 7, 2003Assignee: Oracle Corp.Inventors: Jonathan D. Klein, Amit Ganesh, Juan R. Loaiza, Gary C. Ngai
-
Patent number: 6510421Abstract: A mechanism for performing a two-phase commit is provided. The mechanisms perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. To determine whether a particular participating database system is prepared to commit, the coordinating database system first examines external log tracking data that resides on the coordinating database system. External log tracking data, which indicates various states of logs on other database systems, is used to determine whether or not a particular participating database system is prepared to commit.Type: GrantFiled: December 29, 1998Date of Patent: January 21, 2003Assignee: Oracle CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Patent number: 6493726Abstract: A method and apparatus for performing a two-phase commit of a transaction is provided. The mechanisms described herein perform a two-phase commit in a manner that reduces the number of messages transmitted between a coordinating database system and the participating database systems, and the number of log flushes performed to complete a two-phase commit. Once the coordinating database system determines that all participating database systems participating in a database transaction are prepared to commit, the coordinating database system commits the transaction on the coordinating database system. Forget requests are then transmitted to each of the participating database systems. Rather than waiting to receive a forget acknowledgment and performing other forget processing operations, the coordinating database system delegates this work to a forget collector.Type: GrantFiled: December 29, 1998Date of Patent: December 10, 2002Assignee: Oracle CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Publication number: 20020143733Abstract: Provided herein is a mechanism that allows a given database system to access data blocks from another database system, where data blocks from the given database system and data blocks from the other database system have different sizes. According to an aspect of the present invention, a tablespace in the other database system contained the data blocks. The tablespace is detached from the other database system and integrated into the given database, which is capable of processing data stored in data blocks of a different sizes.Type: ApplicationFiled: May 30, 2001Publication date: October 3, 2002Inventors: Sreedhar Mukkamalla, Arvind Nithrakashyap, Tirthankar Lahiri, Alok Pareek, Juan R. Loaiza, J. William Lee, Gary C. Ngai
-
Patent number: 6341340Abstract: A database or some portion thereof is partitioned into ownership groups. Each ownership group is assigned one or more database servers as owners of the ownership group. The database servers that are assigned as owners of an ownership group are treated as the owners of all data items that belong to the ownership group. That is, they are allowed to directly access the data items within the ownership group, while other database servers are not allowed to directly access those data items. A mechanism is provided for transitioning ownership of a data item. Ownership is transferred by disabling access to the data item, waiting for all transactions that have made changes to the data item to either commit or abort, changing data that indicates ownership of the data item from a first owner to a second owner, and enabling access to the data item.Type: GrantFiled: December 28, 1998Date of Patent: January 22, 2002Assignee: Oracle CorporationInventors: Alex Tsukerman, Gary C. Ngai, Gianfranco Putzolu, J. William Lee
-
Patent number: 6295610Abstract: A method and apparatus for removing changes made by a particular transaction is provided. According to one aspect, two or more sets of changes that were made by a particular transaction that can be removed in parallel are identified. A corresponding recovery process is assigned to each of the two or more sets of changes. Using the corresponding recovery process, the changes identified in each of the two or more sets of changes are undone in parallel.Type: GrantFiled: September 17, 1998Date of Patent: September 25, 2001Assignee: Oracle CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Patent number: 6192377Abstract: A method and an apparatus for determining whether a transaction can use a version of a data item is provided. Transaction summary data is generated that is associated with one or more transactions that have updated a version of the data item. The transaction summary data specifies both a data buffer refresh time and a data buffer commit time. The data buffer refresh time is indicative of the latest time at which the version of data is guaranteed to be current. The data buffer commit time is indicative of the commit time of a most recently committed transaction from the one or more transactions that committed after updating the version of the data item. A determination is made, based upon the transaction summary data and a snapshot time used by the first transaction, whether the version of the data item is to be provided to the first transaction. The data buffer commit time is updated to reflect the commit time of other transactions that commit after updating the version of the data item.Type: GrantFiled: May 13, 1998Date of Patent: February 20, 2001Assignee: Oracle CorporationInventors: Amit Ganesh, Gary C. Ngai
-
Patent number: 6185577Abstract: A method and apparatus for incremental undo is provided. A process, executing in a database system, establishes a rollback entry in an undo log file as a current rollback entry. The rollback entry, which was selected from a set of rollback entries contained in an undo record, contains data that indicates a change made by a transaction to a data block in the database system. The process first determines whether the rollback entry has been applied by testing a status flag. In one embodiment, the status flag is a bit in a bit vector in the undo block. If the rollback entry has been applied to the database, then the rollback entry is not re-applied; rather, a next rollback entry is established from the set of rollback entries and the process repeats. If the rollback entry has not been applied, then undo information from the rollback entry is retrieved from the undo block and change is generated.Type: GrantFiled: June 23, 1998Date of Patent: February 6, 2001Assignee: Oracle CorporationInventors: Bhagat Nainani, Gary C. Ngai, Wei Huang, Jonathan D. Klein, Roger J. Bamford
-
Patent number: 6182241Abstract: An approach for recovering after premature termination of a plurality of transactions involves: A) selecting a previously unselected transaction from the plurality of transactions; B) processing the selected transaction by undoing the lesser of a predetermined number of changes made by the selected transaction and all changes made by the selected transaction; and C) repeating steps A) and B) until all of the plurality of transactions have been processed. Another aspect of the approach involves: A) selecting a previously unselected transaction from the plurality of transactions, wherein the selected transaction is the previously unselected transaction from the plurality of transactions that made the fewest number of changes in the database; B) processing the selected transaction by undoing one or more changes in the database made by the selected transaction; and C) repeating steps A) and B) until all transactions from the plurality of transactions have been processed.Type: GrantFiled: August 27, 1998Date of Patent: January 30, 2001Assignee: Oracle CorporationInventors: Gary C. Ngai, Hasan Rizvi, Leng Leng Tan
-
Patent number: 5850507Abstract: A method and system for recovering after a crash of an instance in a database is disclosed. According to the method, transaction information corresponding to all the transactions that existed in the failed instance is inspected. These transactions that were active at the time the instance crashed are marked as "dead." The database is made available to users after updating the transaction information and before undoing all of the changes or updates performed by dead transactions. The changes made by the dead transactions may be undone by new transactions on a on-demand basis after the database is made available. Specifically, when a new transaction is waiting to obtain a lock on a resource held by another transaction, the new transaction determines whether the owner of the lock is one of the dead transactions. If so, the new transaction rolls back some or all of the changes made by the dead transaction.Type: GrantFiled: March 19, 1996Date of Patent: December 15, 1998Assignee: Oracle CorporationInventors: Gary C. Ngai, Hasan Rizvi, Leng Leng Tan
-
Patent number: 5806076Abstract: A method and an apparatus for tracking of the dependencies between transactions is provided. Every time a data item is updated, a record is made of the transaction that updated the data item. Before another transaction locks a data item previously locked by the transaction, the entry is updated to indicate that the transaction committed and the commit time of the transaction. These entries are contained in a list head that is maintained on the same block as the data item, and a list tail that is stored separate from the data block that contains the data item. A depends-on time is maintained for each transaction. Whenever the transaction updates a data item, the depends-on time is set to the greater of the current depends-on time and the commit time of the most recently committed transaction that updated the version of the data item.Type: GrantFiled: October 29, 1996Date of Patent: September 8, 1998Assignee: Oracle CorporationInventors: Gary C. Ngai, Roger J. Bamford, Garret Swart