Patents by Inventor John Wilkes

John Wilkes 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: 7039765
    Abstract: Techniques for cache memory management using read and write operations. A read or a write operation to a storage system is initiated for data that is held in a host system cache, but is ready to be evicted from the host system cache. In response to the read operation, the data stored in a mass-storage medium of the storage system is copied to the storage system cache memory in preparation for transfer to the host system. However, the read operation is initiated when the data is not presently needed by the host system. In response to the write operation, the data stored in the host system cache is copied to the storage system cache in preparation for transfer to the mass-storage medium. However, the write operation is initiated when the data is already stored in the mass-storage medium. Then, the data is evicted from the host system cache. This results in exclusivity in that the data becomes present in the storage system cache, but is no longer present in the host system cache.
    Type: Grant
    Filed: December 19, 2002
    Date of Patent: May 2, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: John Wilkes
  • Patent number: 7032013
    Abstract: A technique for providing reliability to an interconnect fabric for communication among a set of nodes. Ports associated with each node are partitioned into a first set of ports and a second set of ports. A first interconnect fabric is formed among the first set of ports for each node in response to a set of flow requirements. A second interconnect fabric is formed among the second set of ports. Reliability is enhanced because, in the event of a failure of any single element of the first interconnect fabric, the flows among the nodes can still be achieved by the second interconnect fabric.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: April 18, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Julie Ann Ward, Troy Alexander Shahoumian, John Wilkes
  • Publication number: 20060080463
    Abstract: Link used variables are defined for links related to an interconnection fabric. The links used variables are representative of whether or not a link is used for handling flows between a plurality of hosts and devices. Constraints for links, and hop counts or port counts are also defined. An objective function is used by an integer programming solver to determine connections as a function of the definitions.
    Type: Application
    Filed: June 22, 2004
    Publication date: April 13, 2006
    Inventors: Julie Drew, John Wilkes, Charles O'Toole, Douglas Hagerman, Simge Kucukyavuz
  • Patent number: 7000141
    Abstract: A technique for data placement in a distributed system that takes into account fault tolerance. Data placement is performed in which data objects, and possibly replicas thereof, are assigned to nodes within the distributed system. The resulting placement is then tested to determine whether the system provides desired performance under various different fault scenarios. If not, the distributed system is altered such as by altering its capacity or its capacity allocations. Performing data placement, testing for fault-tolerance and altering capacity or capacity allocations are performed repetitively, thereby increasing the system's ability to provide the desired performance under the fault scenarios. Preferably, a system and placement are eventually determined that provide the desired performance under the given fault scenarios.
    Type: Grant
    Filed: November 14, 2001
    Date of Patent: February 14, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Magnus Karlsson, Qian Wang, John Wilkes
  • Patent number: 6978259
    Abstract: An automated system adaptation technique for computer systems, networks and subsystems generally and, more particularly, for data storage systems. The invention programmatically designs, configures and manages a system, such as a data storage system. This is accomplished by performing a sequence of steps in an iterative loop, including analyzing the operation of the system under a workload, generating a new design based on the analysis and migrating the existing system to the new design. By systematically exploring a large design space and developing designs based on analyses of the workload, the invention generates designs that are improved in comparison to conventional design techniques. By programmatically repeating these tasks, the invention causes the system to converge to one that supports the workload without being over-provisioned.
    Type: Grant
    Filed: October 23, 2001
    Date of Patent: December 20, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Eric Anderson, Michael Hobbs, Kimberly Keeton, Susan Spence, Mustafa Uysal, Alistair Craig Veitch, John Wilkes
  • Patent number: 6978349
    Abstract: Techniques for adaptive cache memory management. A computer system with a cache memory is operated under different conditions. Resulting performance is measured and, in response, the operating conditions are maintained or changed in order to optimize performance. By repeatedly examining the performance of the computer system under different conditions and making adjustments to the system in response, optimal performance can be maintained despite changes in workload.
    Type: Grant
    Filed: January 9, 2003
    Date of Patent: December 20, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: John Wilkes
  • Publication number: 20050207184
    Abstract: A power management circuit for a remote access platform extracts power from a wireline for powering a ring generator that generates a ringing voltage signal that is distributed to a plurality of subscriber circuits. A power-limited voltage converter steps up the wireline voltage to a higher ‘isolating’ voltage, charging a capacitor coupled to the ring generator. A monitor circuit reduces the power that the power-limited voltage converter can draw, if the wireline voltage drops too low. This prevents the wireline voltage from collapsing should the remote terminal be deployed at a distance from wireline voltage source (the central office) greater than its specified capability.
    Type: Application
    Filed: May 17, 2005
    Publication date: September 22, 2005
    Inventors: Steven Robinson, Ralph Boudreaux, John McGary, John Wilkes
  • Patent number: 6934673
    Abstract: A method of and apparatus for determining whether a multi-component target system meets a given multi-part performability requirement is provided. A description of the target system, failure probabilities for components of the target system and a multi-part performability requirement for the target system are obtained. The multi-part performability requirement indicates desired performance levels and corresponding fractions of time. One or more failure-scenarios are successively computed that represent one or more states of the target system having zero or more components failed and a corresponding probability of occurrence of the one or more of the states of the target system. Performance of the target system is modeled under the failure scenarios using a performance predictor module for generating a multi-part performability function.
    Type: Grant
    Filed: May 25, 2001
    Date of Patent: August 23, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Guillermo Alvarez, Ralph Becker-Szendy, Arif A. Merchant, Mustafa Uysal, John Wilkes
  • Publication number: 20050172072
    Abstract: A storage network architecture is disclosed. The network comprises a first storage site comprising a first set of disk drives, a second storage site communicatively connected to the first storage site and comprising a storage medium, and a third storage site communicatively connected to the second storage site and comprising a second set of disk drives. The second storage site provides a data write spool service to the first storage site.
    Type: Application
    Filed: January 30, 2004
    Publication date: August 4, 2005
    Inventors: Robert Cochran, John Bates, John Wilkes
  • Publication number: 20050102547
    Abstract: An embodiment of a method of designing a storage system begins with a step of assigning decision variables to a range of candidate storage systems. Each of the decision variables identifies a single candidate storage system. The method concludes with a step of employing the decision variables in a mathematical program to determine which of the candidate storage systems meets availability and reliability criteria and incurs a near minimal projected cost.
    Type: Application
    Filed: September 17, 2004
    Publication date: May 12, 2005
    Inventors: Kimberly Keeton, John Wilkes, Cipriano Santos, Dirk Beyer, Jeffrey Chase, Arif Merchant
  • Publication number: 20050066239
    Abstract: A configuration method includes selecting a design configuration, and modeling the solution configuration having a failure event for the selected solution configuration to determine an amount of down time associated with the failure event. A first penalty cost function is applied the amount of down time to determine a first penalty cost associated with the failure event of the selected solution configuration.
    Type: Application
    Filed: September 17, 2004
    Publication date: March 24, 2005
    Inventors: Kimberly Keeton, John Wilkes, Cipriano Santos, Dirk Beyer, Arif Merchant, Jeffrey Chase
  • Patent number: 6865527
    Abstract: The present invention provides a method and apparatus for designing storage systems. Stores are clustered into workloads by using one clustering technique or a combination of two or more clustering techniques to reduce the number of constraint calculations that need to be performed. By reducing the number of constraint calculations that need to be performed, workload assignments can be generated in a reasonably short amount of time, thus enabling larger, more complex storage systems to be designed. The clustering techniques include one or more of the following: (1) clustering stores to reduce the overall number of stores, and (2) clustering stores into aggregates having storage capacity requirements and/or (3) bandwidth requirements that allow no more than a particular number of aggregates to be placed per logical unit (LU).
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: March 8, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Susie Go, John Wilkes
  • Patent number: 6851024
    Abstract: A computer system with mechanisms for exclusive caching that avoids the accumulation of duplicate copies of information in host and storage system caches. A computer system according to these exclusive caching techniques includes a host system having a host cache and a storage system having a storage system cache and functionality for performing demote operations to coordinate the placement of information in the host cache to the storage system caches.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: February 1, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: John Wilkes, Theodore M. Wong
  • Publication number: 20040268177
    Abstract: Techniques for performing data redundancy operations in a distributed manner. A primary data storage facility stores a primary copy of data and a secondary facility stores data that is redundant of the primary copy of the data. The primary facility includes a first redundancy appliance that receives a first sequence of write requests and stores data for the first sequence of write requests in mass storage associated with the first redundancy appliance. A second redundancy appliance receives a second sequence of write requests and stores data for the second sequence of write requests in mass storage associated with the second redundancy appliance. Thus, a workload is shared among the first and second redundancy appliances by dividing the workload into the first and second sequences of write requests, where each sequence is handled by a different redundancy appliance.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 30, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040260977
    Abstract: Techniques for performing data redundancy operations in a fault-tolerant manner. In one aspect, a primary data storage facility stores a primary copy of data and a secondary facility stores data that is redundant of the primary copy of the data. The primary facility includes a first redundancy appliance that receives a sequence of write requests and stores data for the sequence of write requests in storage associated with the primary storage facility. A second redundancy appliance shadows the first redundancy appliance and assumes the role of the first redundancy appliance in the event of a fault at the first redundancy appliance. In this way, fault tolerance is increased by the presence of the second, shadow appliance.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 23, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040260972
    Abstract: A technique for adaptive batching for asynchronous data redundancy. A sequence of write transactions are adaptively arranged into a sequence of send batches at the first storage facility. The transactions are received at a second storage facility and applied to a redundant data copy at the second storage facility. The second storage facility may arrange the write transactions according to a sequence of receive batches. The batch sizes may be adaptively adjusted or completed. The batch sizes or adaptive completion of the batches may be based on, for example, availability of a communication medium between the first storage facility and the second storage facility. Each send batch may be forwarded to the second storage facility upon completion.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 23, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040260976
    Abstract: Methods and apparatus for obtaining consistency of redundant data after a failover event. In one aspect, a redundant data storage system has a first data storage facility that initially acts as a primary facility for storage requests and a second data storage facility that initially acts as a secondary facility for the storage requests. The second data storage facility is conditioned to assume the role of the primary facility in response to a failover event. The first data storage facility is conditioned to assume the role of the secondary facility, which includes sending a copy of data committed at the second data storage facility to the first data storage facility. The copy of data includes a version of data committed at the second storage facility.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 23, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040250032
    Abstract: A state machine and system for redundantly backing up data. A first storage facility is controlled by a first state machine having a finite number of states, each state having a set of allowed operations. The first state machine includes at least one state for controlling the first storage facility to operate as a primary storage facility for storing and updating a primary copy of the data. A second storage facility is controlled by a second state-machine that has least one state for controlling the second storage facility to operate as a secondary storage facility for storing redundant data. The second state machine also has at least one state for controlling the second storage facility to operate as the primary storage facility. The second storage facility assumes the role of primary in response to a fault at the first storage facility or based on the origin of request traffic.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 9, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040250031
    Abstract: A batched, asynchronous data redundancy technique. A sequence of write transactions are performed at a first storage facility. The write transactions are arranged into a sequence of send batches forwarded to a second storage facility where the write transactions are arranged into a sequence of receive batches. At the first storage facility or at the second storage facility, a first write transaction is replaced with a second write transaction wherein the second write transaction overwrites data written by the first write transaction. A receive batch includes all write transactions between the first write transaction and the second write transaction. The write transactions are applied to a redundant data copy at the second storage facility in which all of the write transactions for the receive batch are applied as a whole to the redundant copy of the data.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 9, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20040250029
    Abstract: An asynchronous data redundancy technique. A primary copy of data is held at a primary storage facility, while data that is redundant of the primary copy is held at a secondary storage facility. To inhibit propagation of errors from the primary copy to the redundant data, write transactions to the redundant data are queued at the second storage facility, until a specified time elapses or until a specified event occurs (or until combination thereof occurs). Write transactions may be collected in groups at the primary facility prior to forwarding to the secondary facility and may also be batched at the secondary facility prior to being applied to the redundant data. Overwrites may be allowed within a group at the primary facility to conserve communication bandwidth between the primary and secondary storage facilities. Overwrites may be allowed within a batch at the secondary facility to conserve space occupied by the transactions at the secondary facility.
    Type: Application
    Filed: June 6, 2003
    Publication date: December 9, 2004
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes