Patents by Inventor Roger J. Bamford

Roger J. Bamford 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: 6845384
    Abstract: Techniques are provided for handling distributed transactions in shared-nothing database systems where one or more of the nodes have access to a shared persistent storage. Rather than coordinate the distributed transaction using a two-phase commit protocol, the coordinator of the distributed transaction uses a one-phase commit protocol with those participants that have access to the transaction status information maintained by the coordinator. The transaction status information may reside, for example, in the redo log of the coordinator. In the case that the coordinator fails, those participants can determine the state of the distributed transaction based on information stored on the shared disk. In addition, the coordinator is able to determine whether it is possible to commit the distributed transaction based on information that is stored on the shared disk by the participants, without those participants entering a formal “prepared” state.
    Type: Grant
    Filed: November 21, 2003
    Date of Patent: January 18, 2005
    Assignee: Oracle International Corporation
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Publication number: 20040221116
    Abstract: An improved method, mechanism, and system for implementing, generating, and maintaining records, such as redo records and redo logs in a database system, are disclosed. Multiple sets of records may be created and combined into a partially ordered (or non-ordered) group of records, which are later collectively ordered or sorted as needed to create an fully ordered set of records. With respect to a database system, redo generation bottleneck is minimized by providing multiple in-memory redo buffers that are available to hold redo records generated by multiple threads of execution. When the in-memory redo buffers are written to a persistent storage medium, no specific ordering needs to be specified with respect to the redo records from the different in-memory redo buffers. While the collective group of records may not be ordered, the written-out redo records may be partially ordered based upon the ordered redo records from within individual in-memory redo buffers.
    Type: Application
    Filed: April 29, 2003
    Publication date: November 4, 2004
    Applicant: Oracle International Corporation
    Inventors: Wei Ming Hu, Juan R. Loaiza, Roger J. Bamford, Vikram Joshi, Arvind Nithrakashyap, Tudor Bosman, Vinay Srihari, Alok Pareek
  • Publication number: 20040215639
    Abstract: Various techniques are described for improving the performance of a shared-nothing database system in which at least two of the nodes that are running the shared-nothing database system have shared access to a disk. Specifically, techniques are provided for changing the ownership of data in a shared-nothing database dynamically, based on factors such as which node would be the most efficient owner relative to the performance of a particular operation. Once determined, the ownership of the data may be changed permanently to the new owner, or temporarily for the duration of the particular operation.
    Type: Application
    Filed: April 23, 2004
    Publication date: October 28, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Publication number: 20040215640
    Abstract: Various techniques are described for improving the performance of a shared-nothing database system in which at least two of the nodes that are running the shared-nothing database system have shared access to a disk. Specifically, techniques are provided for recovering the data owned by a failed node using multiple recovery nodes operating in parallel. The data owned by a failed node is reassigned to recovery nodes that have access to the shared disk on which the data resides. The recovery logs of the failed node are read by the recovery nodes, or by a coordinator process that distributes the recovery tasks to the recovery nodes.
    Type: Application
    Filed: April 23, 2004
    Publication date: October 28, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Publication number: 20040215883
    Abstract: Various techniques are described for improving the performance of a multiple node system by allocating, in two or more nodes of the system, partitions of a shared cache. A mapping is established between the data items managed by the system, and the various partitions of the shared cache. When a node requires a data item, the node first determines which partition of the shared cache corresponds to the required data item. If the data item does not currently reside in the corresponding partition, the data item is loaded into the corresponding partition even if the partition does not reside on the same node that requires the data item. The node then reads the data item from the corresponding partition of the shared cache.
    Type: Application
    Filed: April 23, 2004
    Publication date: October 28, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Publication number: 20040148289
    Abstract: Techniques are provided for handling distributed transactions in shared-nothing database systems where one or more of the nodes have access to a shared persistent storage. Rather than coordinate the distributed transaction using a two-phase commit protocol, the coordinator of the distributed transaction uses a one-phase commit protocol with those participants that have access to the transaction status information maintained by the coordinator. The transaction status information may reside, for example, in the redo log of the coordinator. In the case that the coordinator fails, those participants can determine the state of the distributed transaction based on information stored on the shared disk. In addition, the coordinator is able to determine whether it is possible to commit the distributed transaction based on information that is stored on the shared disk by the participants, without those participants entering a formal “prepared” state.
    Type: Application
    Filed: November 21, 2003
    Publication date: July 29, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Publication number: 20040117345
    Abstract: Various techniques are described for improving the performance of a shared-nothing database system in which at least two of the nodes that are running the shared-nothing database system have shared access to a disk. Specifically, techniques are provided for changing the ownership of data in a shared-nothing database without changing the location of the data on persistent storage. Because the persistent storage location for the data is not changed during a transfer of ownership of the data, ownership can be transferred more freely and with less of a performance penalty than would otherwise be incurred by a physical relocation of the data. Various techniques are also described for providing fast run-time reassignment of ownership. Because the reassignment can be performed during run-time, the shared-nothing system does not have to be taken offline to perform the reassignment.
    Type: Application
    Filed: September 17, 2003
    Publication date: June 17, 2004
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roger J. Bamford, Sashikanth Chandrasekaran, Angelo Pruscino
  • Patent number: 6636851
    Abstract: A method and system for propagating commit times between a plurality of database servers that have access to a common database is provided. According to the method, each database server is associated with a logical clock. In response to initiating a commit of a transaction executing on a database server, a commit time for the transaction is determined and broadcast to one or more other database servers. According to one aspect, upon receiving the commit time at the one or more other database servers, the database servers compare the transmitted commit time to the time indicated by their logical clock. If the commit time is greater than the time indicated by their logical clock, the database server sets its logical time to reflect a time that is at least as recent as the time reflected by the transmitted commit time.
    Type: Grant
    Filed: January 10, 2001
    Date of Patent: October 21, 2003
    Assignee: Oracle International Corporation
    Inventors: Roger J. Bamford, William H. Bridge, Jr., J. William Lee, Alok Srivastava
  • Patent number: 6609136
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: August 19, 2003
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20030115501
    Abstract: A method and mechanism is described for reliably transmitting messages over an unreliable transport mechanism. A sender transmits a first message over an unreliable mechanism to a receiver, and a second message that identifies the first is transported over a reliable transport mechanism to the receiver. When the receiver receives the second message, the receiver determines whether it has received the first message. If not, the receiver requests retransmission of the first message.
    Type: Application
    Filed: January 21, 2003
    Publication date: June 19, 2003
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Roger J. Bamford
  • Patent number: 6567827
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: May 20, 2003
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6564230
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: May 13, 2003
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6564234
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: May 13, 2003
    Assignee: Oracle Corporation
    Inventors: Roger J Bamford, Boris Klots
  • Patent number: 6543005
    Abstract: A method and mechanism is described for reliably transmitting messages over an unreliable transport mechanism. A sender transmits a first message over an unreliable mechanism to a receiver, and a second message that identifies the first is transported over a reliable transport mechanism to the receiver. When the receiver receives the second message, the receiver determines whether it has received the first message. If not, the receiver requests retransmission of the first message.
    Type: Grant
    Filed: October 27, 1999
    Date of Patent: April 1, 2003
    Assignee: Oracle Corporation
    Inventor: Roger J. Bamford
  • Patent number: 6507853
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: January 14, 2003
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20020194206
    Abstract: Techniques are provided for determining which data item version to supply to a query. According to the techniques, the determination is made by associating a new field, which indicates the time a data item version was current, with each data item version; associating a new field with each query, which indicates the last change that the query must see made by the transaction to which the query belongs; and determining which data item version to use to answer the query based, in part, on a comparison between the values of the two new fields.
    Type: Application
    Filed: April 9, 2002
    Publication date: December 19, 2002
    Applicant: ORACLE CORPORATION
    Inventors: Amit Ganesh, Roger J. Bamford
  • Publication number: 20020184216
    Abstract: A method and apparatus are provided for improving the performance associated with transferring a data item and obtaining a lock in a multi-node system by interpreting the block transfer message as a lock grant message. Typically when a Holder of a data item transfers a data item (e.g. block) to a Requestor of that data item, the Holder will down-convert its lock for that data item and send a message to the Master of this data item indicating that a down-convert has been performed. Subsequently, the Master sends a lock grant message to the Requestor of the data item to inform the Requestor that it has been granted a lock for the data item. By interpreting the block transfer message as a lock grant message, the down-convert message and the lock grant message can be eliminated, which results in improved performance.
    Type: Application
    Filed: May 31, 2001
    Publication date: December 5, 2002
    Inventors: Sashikanth Chandrasekaran, David Brower, Roger J. Bamford
  • Publication number: 20020099729
    Abstract: Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
    Type: Application
    Filed: March 4, 2002
    Publication date: July 25, 2002
    Applicant: ORACLE CORPORATION
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Publication number: 20020095403
    Abstract: Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
    Type: Application
    Filed: March 4, 2002
    Publication date: July 18, 2002
    Inventors: Sashikanth Chandrasekaran, Roger J. Bamford, William H. Bridge, David Brower, Neil MacNaughton, Wilson Wai Shun Chan, Vinay Srihari
  • Patent number: 6411968
    Abstract: A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: June 25, 2002
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots