Patents by Inventor Boris Klots

Boris Klots 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: 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
  • Patent number: 6351754
    Abstract: A method and system for reducing overhead associated with recovering after a failure. According to the method, a checkpoint value is maintained that indicates which records of a plurality of records have to be processed after the failure. The plurality of records contain change information that corresponds to a plurality of data blocks. A target checkpoint value is determined based on a desired number of data block reads that will be required during a redo phase of recovery. Changes contained in volatile memory are then written to nonvolatile memory to advance the checkpoint value to at least the target checkpoint value. According to another aspect of the invention, the target checkpoint value is determined using a circular queue of offset buckets. The offset buckets are used to store index values that are associated with buffers in the ordered list. The target checkpoint value is periodically set equal to an index value that is contained in an offset bucket.
    Type: Grant
    Filed: June 23, 1998
    Date of Patent: February 26, 2002
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Boris Klots, Juan R. Loaiza, Ashok Joshi
  • 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: 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
  • 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
  • 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: 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: 5956713
    Abstract: A method and apparatus for reducing the number of snapshots in use within a database is provided. A transaction that accesses one or more data items in a database is assigned to a snapshot of the database when the transaction completes execution. At that time, it is determined whether a first snapshot includes any transactions that updated the one or more data items. If the first snapshot includes any transactions that updated the one or more data items, then the transaction is assigned to a different snapshot that includes the first snapshot. If the first snapshot does not include any transactions that updated the one or more data items, then the transaction is assigned to the first snapshot. This technique allows multiple transactions to the same snapshot, consequently reducing the actual number of snapshots of the database.
    Type: Grant
    Filed: April 23, 1997
    Date of Patent: September 21, 1999
    Assignee: Oracle Corporation
    Inventors: Roger Bamford, Boris Klots, Garret Swart
  • Patent number: 5956731
    Abstract: A method and apparatus for supplying data from a database to a group of transactions is provided. A value is maintained for the group of transactions. The value indicates a target snapshot of the database. When a transaction within the group of transactions accesses a data item, it is determined whether the transaction can use the target snapshot. If the transaction can use the target snapshot, then the transaction is supplied a version of the data item that belongs to the target snapshot. If the transaction cannot use the target snapshot, then the transaction is supplied a version of the data item other than the version of the data item that belongs to the target snapshot. Trying to supply data from the same snapshot to all of the transactions in the group increases the likelihood that the transactions will be able to use the same version of any given data item.
    Type: Grant
    Filed: April 23, 1997
    Date of Patent: September 21, 1999
    Assignee: Oracle Corporation
    Inventors: Roger Bamford, Boris Klots, Garret Swart
  • Patent number: 5956705
    Abstract: A method and apparatus for inserting sorted data into an indexed table is provided. Two or more nodes are used to insert the data into the indexed table. Before an entry for each inserted row is stored in the index associated with the table, the key values in the index entry are transformed using an operation that affects the order of the key values. For example, the order of the bytes used to represent the key values in the index entry may be reversed. The index entries are stored in the portion of the index that corresponds to the transformed key values. As a result, the entries for consecutive key values will not necessarily be stored in the same portion of the index. Consequently, the nodes will not have to compete for a "hot" portion of an index if the nodes are inserting data with key values that fall into the same approximate range. The inverse of the transformation operation is performed on the transformed key values read from the index before the key values are supplied to the user.
    Type: Grant
    Filed: October 30, 1996
    Date of Patent: September 21, 1999
    Assignee: Oracle Corporation
    Inventors: Larry Stevens, Wei Huang, Alexander C. Ho, Jonathan D. Klein, Dinesh Das, Boris Klots
  • Patent number: 5873098
    Abstract: A method and apparatus for determining whether a particular version of a data item may be used by a transaction are provided. To determine whether the particular version may be used by the transaction, a MUST-SEE set associated with the transaction is compared to an EXCLUDED set associated with the particular version, and a CANNOT-SEE set associated with the transaction is compared to an INCLUDED set associated with the particular version. The MUST-SEE set includes all transactions that have made updates that must be seen by the transaction. The EXCLUDED set includes all transactions that have made updates to the data item that have been removed from the particular version of the data item and all transactions that will make changes to the data item in the future. The CANNOT-SEE set includes all transactions that have made updates that cannot be seen by the transaction. The INCLUDED set includes all transactions that have made updates that are reflected in the particular version of the data item.
    Type: Grant
    Filed: April 23, 1997
    Date of Patent: February 16, 1999
    Assignee: Oracle Corporation
    Inventors: Roger Bamford, Boris Klots, Garret Swart
  • 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
  • Patent number: 5808607
    Abstract: A multi-node video server system in accordance with the invention comprises disk storage associated with a first node which stores at least a portion of a video presentation in the form of plural data blocks, each data block comprising a viewing time segment of the presentation. RAM buffer in a second node receives and stores data blocks of the video presentation from the disk storage in the first node, upon an initial request by a first viewing terminal to view a portion of the video presentation. A communication module in the second node outputs the data blocks, as an isochronous data stream, to requesting terminals. A host controller is coupled to the video server nodes and receives requests from viewing terminals for the video presentation. The host controller causes the communication module in the second node to connect to a viewing terminal which renders the initial request.
    Type: Grant
    Filed: April 7, 1995
    Date of Patent: September 15, 1998
    Assignee: International Business Machines Corporation
    Inventors: James Thomas Brady, Linda Marie Duyanovich, Boris Klots