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: 6363396
    Abstract: A method and system are provided for reconfiguring a multiple node system after an epoch change in a manner that reduces the overhead and system unavailability typically incurred during reconfiguration. A resource-to-master mapping is established using the combination of a resource-to-bucket hash function and a bucket-to-node hash function. The resource-to-bucket hash function is not changed in response to an epoch change. The bucket-to-node hash function does change in response to epoch changes. Techniques are disclosed for adjusting the dynamic bucket-to-node hash function after an epoch change in a manner that load balances among the new number of nodes in the system. Further, the changes to the bucket-to-node assignments are performed in a way that reduces the number of resources that have to be remastered. In one embodiment, only those resources that lose their masters during an epoch change are assigned new masters during an initial reconfiguration.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: March 26, 2002
    Assignee: Oracle Corporation
    Inventors: Boris Klots, Roger J. Bamford, Jeffrey Fischer, Ravi Mirchandaney
  • Patent number: 6353836
    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: November 24, 1998
    Date of Patent: March 5, 2002
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20020016795
    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: Application
    Filed: June 27, 2001
    Publication date: February 7, 2002
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20010047380
    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: Application
    Filed: June 27, 2001
    Publication date: November 29, 2001
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20010042066
    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: Application
    Filed: June 27, 2001
    Publication date: November 15, 2001
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20010037326
    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: Application
    Filed: June 27, 2001
    Publication date: November 1, 2001
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20010037343
    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: Application
    Filed: June 27, 2001
    Publication date: November 1, 2001
    Inventors: Roger J. Bamford, Boris Klots
  • Publication number: 20010037342
    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: Application
    Filed: June 27, 2001
    Publication date: November 1, 2001
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6243702
    Abstract: A method and system for removing propagation delays 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. The broadcast is overlapped with a transaction log force. Upon receiving the commit time, 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: June 22, 1998
    Date of Patent: June 5, 2001
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, William H. Bridge, Jr., J. William Lee, Alok Srivastava
  • Patent number: 6237001
    Abstract: A method and an apparatus for managing access to data on a distributed database system is provided. A snapshot list is generated for a transaction executing on the distributed database system. The snapshot list specifies snapshot times for a plurality of locations in the distributed database system. The snapshot times are determined based upon the location of a data item and the location where the transaction is executing. The selection of a version of the data item to be provided to the transaction is made based upon the snapshot time for the location associated with the data.
    Type: Grant
    Filed: June 10, 1998
    Date of Patent: May 22, 2001
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6185577
    Abstract: 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: Grant
    Filed: June 23, 1998
    Date of Patent: February 6, 2001
    Assignee: Oracle Corporation
    Inventors: Bhagat Nainani, Gary C. Ngai, Wei Huang, Jonathan D. Klein, Roger J. Bamford
  • Patent number: 6173313
    Abstract: A distributed object is hosted in a distributed system by invoking a global hash function on a generated name for the distributed object. The name for the distributed object is generated with knowledge of the global hash function so that the result of invoking the global hash function upon the name results in the selection of a predetermined node in the distributed system. The predetermined node may be selected based on the affinity of the node to the distributed object for reducing network messaging and communications overhead.
    Type: Grant
    Filed: June 24, 1998
    Date of Patent: January 9, 2001
    Assignee: Oracle Corporation
    Inventors: Boris Klots, Amit Ganesh, Roger J. Bamford
  • Patent number: 6144983
    Abstract: A method and apparatus for dynamic lock granularity escalation and de-escalation in a computer system is provided. Upon receiving a request for a resource, a scope of a previously granted lock is modified. According to one embodiment, hash lock de-escalation is employed. In hash lock de-escalation, the scope of the previously granted lock held on a set of resources is reduced by de-escalating the previously granted lock from a coarser-grain lock to one or more finer-grain locks on members of the set. According to another embodiment, hash lock escalation is employed. In hash lock escalation, the scope of previously granted locks held on one or more members of the set of resources are released and promoted into a coarser-grain lock that covers the set of resources as well as the requested resource.
    Type: Grant
    Filed: June 9, 1998
    Date of Patent: November 7, 2000
    Assignee: Oracle Corporation
    Inventors: Boris Klots, Roger J. Bamford
  • Patent number: 6112281
    Abstract: A method and apparatus for I/O forwarding in a cache coherent shared disk computer system is provided. According to the method, a requesting node transmits a request for requested data to a managing node. The managing node receives the read request from the requesting node and grants a lock on the requested data. The managing node then forwards data that identifies the requested data to a disk controller. The disk controller receives the data that identifies the requested data from the managing node and reads a data item, based on the data that identifies the requested data, from a shared disk. After reading the data item from the shared disk, the disk controller transmits the data item to the requesting node. In one embodiment, an I/O destination handle is generated that identifies a read request and a buffer cache address to which the data item should be copied.
    Type: Grant
    Filed: October 7, 1997
    Date of Patent: August 29, 2000
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Boris Klots
  • Patent number: 6012060
    Abstract: A method for preventing multiple pings. An embodiment of the invention detects requests of data blocks entailing pings likely to cause additional pings. The servicing of requests involving a pings likely to cause additional pings is deferred until a service enabling conditions occurs. Another embodiment of the invention detects situations where by further updating a data block before pinging the data block use of resources on the remote node requesting the data block are reduced. The servicing of the request for the data block is deferred until a service enabling conditions occurs.
    Type: Grant
    Filed: May 30, 1997
    Date of Patent: January 4, 2000
    Assignee: Oracle Corporation
    Inventors: Juan R. Loaiza, Neil Macnaughton, Roger J. Bamford, William H. Bridge, Boris Klots
  • Patent number: 5963960
    Abstract: A method for updating and reading data stored in a static memory in a computer system is disclosed. An update queue stores one or more update records in dynamic memory that specify changes made by a transaction to data stored in the static memory. If a transaction requests data for which the transaction has previously generated an update record updated data is generated in dynamic memory, where the updated data reflecting the changes specified by the update records. The updated data is then supplied to the transaction.
    Type: Grant
    Filed: October 29, 1996
    Date of Patent: October 5, 1999
    Assignee: Oracle Corporation
    Inventors: Garret F. Swart, Roger J. Bamford, Boris Klots
  • Patent number: 5870761
    Abstract: A method and system are provided for duplicating at a destination site changes made to data at a source site. According to the method a plurality of streams are established between the source site and the destination site. The plurality of streams are used in parallel to propagate changes made at the source site to the destination site. A record of transactions that made changes that need to be propagated from the source site to the destination site is maintained at the source site. Before propagating changes made by a transaction to the destination site on a stream of the plurality of streams, the record of transactions is inspected to identify a set of transactions whose changes are not known to have been made permanent at the destination site. It is then determined whether the transaction could possibly depend on any transaction in the set of transactions.
    Type: Grant
    Filed: December 19, 1996
    Date of Patent: February 9, 1999
    Assignee: Oracle Corporation
    Inventors: Alan Demers, James Stamos, Sandeep Jain, Brian Oki, Roger J. Bamford
  • Patent number: 5870758
    Abstract: A method and system for providing isolation levels in a database system is provided. A serializable isolation level is provided by causing all statements in a transaction to see a "snapshot" of the database. A snapshot includes only those changes made to the database by a particular set of transactions. For example, the snapshot for a given transaction may include only the changes made by transactions that committed prior to the execution of the given transaction. The set of all transactions whose changes are included in a particular snapshot of the database is referred to as the snapshot set. Concurrently executing transactions may update the database while a serializable transaction is being executed. Updates that are not included in the snapshot of the serializable transaction are undone prior to processing each statement in the serializable transaction to recreate the data as it existed in the snapshot.
    Type: Grant
    Filed: March 11, 1996
    Date of Patent: February 9, 1999
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Kenneth R. Jacobs
  • Patent number: 5832516
    Abstract: A method and apparatus for recovering an object that includes logged data and a set of non-logged data is provided. According to the method, a copy of the object resides in volatile memory. A change is made to the copy of the object. If the change does not change any data within the object other than the non-logged data, then the change is made to the copy of the object without generating redo information. If the change changes any data within the object other than the non-logged data, then redo information is generated in response to the change. The redo information is stored on non-volatile storage. After a failure, the redo information is used to restore all data within the object other than the non-logged data. The non-logged data may be restored by retrieving the non-logged data from a different object for which redo information was generated for the non-logged data. A description of how this technique may be used to efficiently perform selective non-deferred block cleanout is also provided.
    Type: Grant
    Filed: January 21, 1997
    Date of Patent: November 3, 1998
    Assignee: Oracle Corporation
    Inventors: Roger J. Bamford, Leng Leng Tan
  • Patent number: 5832521
    Abstract: A method and apparatus for supplying a particular version of a data item to a transaction executing in a first database server is provided. The data item is in a database accessible by the first database server and one or more other database servers. The method involves determining whether a current version of the data item resides in a cache that is remote relative to the first database server. If the current version of the data item does not reside in a cache that is remote relative to the first database server, then a first derivation mechanism that is local to the first database server to derives the particular version of the data item from the current version of the data item. If the current version of the data item resides in a cache that is remote relative to the first database server, then a second derivation mechanism that is local to the cache derives the particular version of the data item from the current version of the data item.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: November 3, 1998
    Assignee: Oracle Corporation
    Inventors: Boris Klots, Roger J. Bamford