Patents by Inventor Alistair Veitch

Alistair Veitch 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: 7152182
    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: Grant
    Filed: June 6, 2003
    Date of Patent: December 19, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20060236073
    Abstract: An embodiment of a method of hashing an address space to a plurality of storage servers begins with a first step of dividing the address space by a number of the storage servers to form data segments. Each data segment comprises a base address. A second step assigns the data segments to the storage servers according to a sequence. The method continues with a third step of measuring a load on each of the storage servers. According to an embodiment, the method concludes with a fourth step of adjusting data shares assigned to the storage servers according to the sequence to approximately balances the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server. According to another embodiment, the method periodically performs the third and fourth steps to maintain an approximately balanced load on the storage servers.
    Type: Application
    Filed: February 3, 2005
    Publication date: October 19, 2006
    Inventors: Craig Soules, Arif Merchant, Alistair Veitch, Yasushi Saito
  • Patent number: 7120825
    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: Grant
    Filed: June 6, 2003
    Date of Patent: October 10, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Patent number: 7089383
    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: Grant
    Filed: June 6, 2003
    Date of Patent: August 8, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Minwen Ji, Alistair Veitch, John Wilkes
  • Publication number: 20060174063
    Abstract: An embodiment of a method of cooperative caching for a distributed storage system begins with a step of requesting data from storage devices which hold the data. The method continues with a step of receiving any cached blocks and expected response times for providing non-cached blocks from the storage devices. The method concludes with a step of requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provides an expectation of optimal performance.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Craig Soules, Arif Merchant, Alistair Veitch, Yasushi Saito, John Wilkes
  • 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: 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: 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: 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
  • Publication number: 20040250030
    Abstract: Techniques for performing data redundancy operations using a portal and a host computer. 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 host computer having a first redundancy component for storing data for a sequence of write requests in storage associated with the primary storage facility and a first redundancy portal for retrieving the data and for forwarding the data to the secondary storage facility. The first redundancy portal is outside a communication path between the host computer and the storage. This prevents the redundancy portal from becoming a communication bottleneck. A second redundancy portal may be provided at the secondary facility.
    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: 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: 20040230624
    Abstract: Read, write and recovery operations for replicated data are provided. In one aspect, a system for redundant storage of data included a plurality of storage devices and a communication medium for interconnecting the storage devices. At least two of the storage devices are designated devices for storing a block of data. Each designated device has a version of the data and a first timestamp that is indicative of when the version of data was last updated and a second timestamp that is indicative of any pending update to the block of data. The read, write and recovery operations are performed to the data using the first and second timestamps to coordinate the operations among the designated devices.
    Type: Application
    Filed: May 16, 2003
    Publication date: November 18, 2004
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistair Veitch
  • Publication number: 20040230862
    Abstract: The present invention provides techniques for assignment and layout of redundant data in data storage system. In one aspect, the data storage system stores a number M of replicas of the data. Nodes that have sufficient resources available to accommodate a requirement of data to be assigned to the system are identified. When the number of nodes is greater than M, the data is assigned to M randomly selected nodes from among those identified. The data to be assigned may include a group of data segments and when the number of nodes is less than M, the group is divided to form a group of data segments having a reduced requirement. Nodes are then identified that have sufficient resources available to accommodate the reduced requirement. In other aspects, techniques are providing for adding a new storage device node to a data storage system having a plurality of existing storage device nodes and for removing data from a storage device node in such a data storage system.
    Type: Application
    Filed: May 16, 2003
    Publication date: November 18, 2004
    Inventors: Arif Merchant, Svend Frolund, Yasusuhi Saito, Susan Spence, Alistair Veitch
  • Publication number: 20040230596
    Abstract: Data structure and timestamp management techniques for redundant storage. A plurality of storage devices are interconnected by a communication medium. At least two of the storage devices are designated devices for storing a block of data. Each designated device stores a version of the data and a first timestamp that is indicative of when the version of data was last updated. A second timestamp is indicative of a pending update to the block of data. When the update to the block of data is completed at one of the designated devices, the device discards the second timestamp. A storage device acting as coordinator instructs the device to discard the second timestamp. The designated storage devices store a plurality of blocks of data and corresponding timestamps according to a data structure. At least some of the entries in the data structure correspond to a range of data blocks that share a common timestamp. Entries in the data structure are arranged such that the ranges do not overlap.
    Type: Application
    Filed: May 16, 2003
    Publication date: November 18, 2004
    Inventors: Alistair Veitch, Svend Frolund, Arif Merchant, Susan Spence, Yasusuhi Saito
  • Publication number: 20030056058
    Abstract: A method of and apparatus for logical volume data migration. A plurality of logical volumes for storing data in a storage system is formed in accordance with a first arrangement. A second arrangement for the plurality of logical volumes is developed. A shadow volume is formed for at least one of the logical volumes in accordance with the second arrangement. Each shadow volume represents a possible arrangement of the corresponding data. The data is migrated to the second arrangement. Accordingly, data in a logical volume is physically rearranged without having to completely reconstruct the logical volume. The invention preferably provides for assessing the feasibility of the proposed layout for the data and allows a user to envision this layout. In addition, the invention provides enhanced, fine-grain, control over the transition to the new layout. The data may be rearranged to improve performance, such as through load-balancing, or to provide additional storage capacity.
    Type: Application
    Filed: September 17, 2001
    Publication date: March 20, 2003
    Inventor: Alistair Veitch