Patents by Inventor William H. Bridge

William H. Bridge 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: 6633891
    Abstract: A mechanism is described for managing the caches on nodes in a cluster. The caches are globally managed so that a data item may be retained in any cache on the nodes. This may be accomplished by, for example, a replacement policy for replacing data items stored in the buffers of the caches, where a buffer is selected for replacement in a manner that accounts for factors that include the state of the caches of other nodes. Some cached data items are designated as globally shared, and assigned (either statically or dynamically) a primary cache. For example, if a buffer holds a copy of a data item whose primary cache is another node, then the data item in the buffer is favored for replacement over a local data item or a global data item for which this is the primary cache. According to another aspect of the invention, the cache retention value of buffers on different nodes are compared, and the buffer with the lowest cache retention value is selected for replacement.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: October 14, 2003
    Assignee: Oracle International Corporation
    Inventors: Roger Bamford, William H. Bridge, Jr., David Brower, Neil MacNaughton, Angelo Pruscino, Tak Fung Wang
  • Patent number: 6549901
    Abstract: Provided are mechanisms that may be used to support efficient exportation of user data stored in a database system. According to an aspect of the present invention, a database system is configured to store data for users in separate repositories referred to as tablespaces. To store data in this manner, a database system may be configured in variety of ways.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: April 15, 2003
    Assignee: Oracle Corporation
    Inventors: Juan R. Loaiza, Hasan Rizvi, J. William Lee, William H. Bridge, Jr., Jonathan D. Klein, Alex Tsukerman, Gianfranco Putzolu
  • Publication number: 20030011148
    Abstract: A walking device in accordance with the present invention includes a axle and two mirror-image stilts. Each stilt includes a transverse socket at its top end, and each end of the axle is rotatably inserted into a respective socket. Each stilt has a rear leg and a forward leg that merge into an upper portion. The upper portion is angularly offset from the rear leg to give each stilt an inverted “y” shape when viewed in side elevation. A respective footrest is attached to each stilt so that the footrests extend inwardly toward each other. An upright grip is fixed to each respective transverse socket. The dual leg structures and forward angular offset of the axle from the footrests, function to provide a walking device which is quickly and easily mastered.
    Type: Application
    Filed: July 10, 2001
    Publication date: January 16, 2003
    Inventors: William H. Bridge, Raymond E. Fraze
  • Patent number: 6470423
    Abstract: Described herein are approaches for partitioning a buffer cache for dynamically selecting buffers in the buffer cache to store data items, such as data blocks in a DBMS. The selection is based on data access and/or usage patterns. A buffer cache includes multiple buffer pools. A buffer pool is selected from among the multiple buffer pools to store a data item. The selection of a buffer pool is based on various factors, including the likelihood that storing the data item will produce future cache hits, and properties of buffer pools that vary between the buffer pools. Properties of a buffer pool include not only how the buffer pools are organized, both logically and physically, but also how the buffer pool is managed. Examples of a buffer pool property include buffer pool size, size of a buffer in the buffer pool, and the replacement strategy used for a buffer pool (e.g. LRU).
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: October 22, 2002
    Assignee: Oracle Corporation
    Inventors: Alexander C. Ho, Ashok Joshi, Gianfranco Putzolu, Juan R. Loaiza, Graham Wood, William H. Bridge, Jr.
  • 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: 6370619
    Abstract: The present invention provides a method and apparatus for partitioning a buffer cache for dynamically mapping data blocks with a particular replacement strategy based on the associated table's access and/or usage patterns. According to the method, a buffer cache in a computer system is managed by dividing the buffer cache into multiple buffer pools. In managing the buffer cache, when a data item is requested, it is first determined whether the requested data item is stored in a buffer within the buffer cache. If the requested data item is not stored in a buffer in the buffer cache, then a particular buffer pool in the buffer cache is dynamically selected for storing the requested data item. Once the particular buffer pool is selected, the requested data item is stored into a buffer in the particular buffer pool.
    Type: Grant
    Filed: June 22, 1998
    Date of Patent: April 9, 2002
    Assignee: Oracle Corporation
    Inventors: Alexander C. Ho, Ashok Joshi, Gianfranco Putzolu, Juan R. Loaiza, Graham Wood, William H. Bridge, Jr.
  • 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
  • Patent number: 6272503
    Abstract: A database containing datafiles is partitioned into a set of tablespaces. Every disk pointer pointing to a data item in a datafile refers to a tablespace-relative file number for the datafile. Data pointed to by a tablespace-relative disk pointer is retrieved by first checking the cache, and upon a cache miss, the tablespace-relative file number is translated into an absolute file number according to a latch-free look up technique.
    Type: Grant
    Filed: May 30, 1997
    Date of Patent: August 7, 2001
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Jonathan D. Klein, J. William Lee, Juan R. Loaiza, Alex Tsukerman, GianFranco Putzolu
  • Patent number: 6253212
    Abstract: A method and system are provided for maintaining a checkpoint value that indicates which records of a plurality of records associated with updates made before a failure have to be processed after the failure. According to one aspect of the invention, an ordered list of buffers is maintained in volatile memory. The ordered list of buffers has a head and a tail. The ordered list of buffers is maintained by writing a record that indicates the update to nonvolatile memory and adding the buffer to the tail of the ordered list whenever an update is made to a data item within a buffer in volatile memory. When a data item contained in a buffer within the ordered list is stored in nonvolatile memory, the buffer can be removed from the ordered list. A checkpoint value that identifies a record associated with a buffer located at the head of the ordered list is written to nonvolatile memory. According to another aspect, after a failure, the record associated with the checkpoint value is identified.
    Type: Grant
    Filed: June 23, 1998
    Date of Patent: June 26, 2001
    Assignee: Oracle Corporation
    Inventors: Juan R. Loaiza, William H. Bridge, Jr., Ashok Joshi
  • 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: 6078930
    Abstract: Techniques for determining a safe recovery time value after a failure of a first node in a computer system are described. According to the techniques, every node in a multi-node parallel database system maintains a logical clock for generating timestamps. The logical clocks are synchronized by attaching a current timestamp to every message that is sent by a node. When a node receives an incoming timestamp that is greater than the value indicated by the associated logical clock, it sets the associated logical clock forward to at least the value of the timestamp. When a node fails, a recovery node calculates a "safe" logical clock value to use in recovering the crashed node. In calculating the "safe" logical clock value, the recovery node searches specific areas of the database to locate and recover a most recent timestamp value associated with the crashed node.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: June 20, 2000
    Assignee: Oracle Corporation
    Inventors: J. William Lee, William H. Bridge, Jr.
  • 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: 5983015
    Abstract: A method and apparatus for reading a software counter in a computer system that contains a plurality of processes each having access to the software counter is provided. The software counter includes a wrap portion and a base portion that cannot both be accessed in an atomic operation. The method includes the steps of reading a first value. The first value being one of the wrap or base portions. Reading a second value. The second value being the other of the wrap or base portion. Determining whether the first value might be changed during a time period that elapsed between reading the first value and reading the second value. If the first value might be changed during the time period, then obtaining a latch that covers at least the wrap portion. After obtaining the latch, reading the wrap and base portion and releasing the latch.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: November 9, 1999
    Assignee: Oracle Corporation
    Inventors: J. William Lee, William H. Bridge, Jr.
  • Patent number: 5890167
    Abstract: A pluggable tablespace is enabled by logically partitioning a database into a set of tablespaces and storing all of the tablespaces disk pointers in tablespace-relative format. A pluggable set of tablespaces is unplugged by exporting the associated metadata, and making a binary copy of the tablespaces. The pluggable set of tablespaces is plugged into a target database by making the pluggable set accessible to the target database and importing the associated metadata, without patching any of the disk pointers.
    Type: Grant
    Filed: May 8, 1997
    Date of Patent: March 30, 1999
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Jonathan D. Klein, J. William Lee, Juan R. Loaiza, Alex Tsukerman, GianFranco Putzolu
  • Patent number: 5873102
    Abstract: A pluggable tablespace is enabled by logically partitioning a database into a set of tablespaces. A pluggable set of tablespaces is stored on a transportable medium in which all the disk pointers of the pluggable set is stored in tablespace-relative format. In addition, the pluggable set includes exported associated metadata about objects contained in the pluggable set. The pluggable set is plugged into a target database by making the pluggable set accessible to the target database and importing the associated metadata, without patching any of the disk pointers.
    Type: Grant
    Filed: April 29, 1997
    Date of Patent: February 16, 1999
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Jonathan D. Klein, J. William Lee, Juan R. Loaiza, Alex Tsukerman, Gianfranco Putzolu