Patents by Inventor Arif A. Merchant

Arif A. Merchant 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: 7228381
    Abstract: A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: June 5, 2007
    Assignee: Hewlett-Packard Development Company, LP
    Inventors: Mustafa Uysal, Arif Merchant, Guillermo Alvarez
  • Patent number: 7225118
    Abstract: A method of global data placement. The method includes assigning one or more workloads to one or more compute servers such that each workload flows to one compute server, assigning the data chunks that the workloads accesses to one or more storage servers, and determining how the workloads access the data.
    Type: Grant
    Filed: October 31, 2002
    Date of Patent: May 29, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Qian Wang, Arif Merchant, Nina Mishra, Mahesh Kallahalla, Ram Swaminathan
  • Publication number: 20070064711
    Abstract: An ergonomical pillow to be worn around the waist of a woman, supporting infant in a nursing position. The front pillow (10) has a front portion and adjacent left and right side portions. The front pillow (10) has an attaching mean (30a) attached to the left side and an attaching means (30b) attached right side of the front pillow (10). The nursing pillow (10) further comprises a webbing (45) with ends connected to the attaching means (30a) and (30b) A webbing (45) is laced around users back so that the ends of the webbing are over-passing the distal ends (13) and (13b) of the front pillow (10). The over-passing webbing is keeping distal end (13a) and (13b) down when a weight is placed on top of the front portion. The nursing pillow further comprises back support (32), supporting nursing woman's back against the seat.
    Type: Application
    Filed: September 16, 2005
    Publication date: March 22, 2007
    Inventors: Yin Wang, Arif Merchant
  • Publication number: 20070050686
    Abstract: According to one embodiment, a method comprises intercepting, at an interposition agent, requests for accessing a data storage device. The method further comprises determining, by the interposition agent, at least one of the requests to impact, and selectively simulating, by the interposition agent, a fault for the selected at least one of the requests. According to another embodiment, a system comprises at least one data storage device, and at least one requester operable to request access to the at least one data storage device. The system further comprises at least one interposition agent communicatively interposed between the requestor(s) and the data storage device(s) to intercept requests for access from the requestor(s) to the data storage device(s), wherein the interposition agent is operable to selectively determine ones of the intercepted requests to impact and selectively simulate a fault for the selected at least one of the requests.
    Type: Application
    Filed: September 1, 2005
    Publication date: March 1, 2007
    Inventors: Kimberly Keeton, Arif Merchant, John Wilkes
  • Patent number: 7152077
    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: Grant
    Filed: May 16, 2003
    Date of Patent: December 19, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Alistair Veitch, Svend Frolund, Arif Merchant, Susan Spence, Yasusuhi Saito
  • 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
  • Publication number: 20060174067
    Abstract: An embodiment of a method of caching data writes data units into a write cache for eventual flushing to storage. The method sets a copy-to-read-cache flag for each particular data unit that is read from the write cache. Upon flushing each data unit to the storage, the method copies the data unit to a read cache if the flag for the data unit is set. Another embodiment of a method of caching data writes data units into a write cache. The method simulates a transfer policy for copying the data units from the write cache to a read cache to determine a performance indicator for the transfer policy. Upon flushing each data unit, the method copies the data unit to the read cache if the performance indicator exceeds a threshold and the transfer policy includes copying the data unit into the read cache.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Craig Soules, Arif Merchant
  • 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: 20060173935
    Abstract: An embodiment of a method of restoring data begins with a step of restoring point-in-time data from a local copy. The method concludes with a step of restoring at least a portion of an incremental difference between the point-in-time data and a desired state of the data from a remote mirror.
    Type: Application
    Filed: February 3, 2005
    Publication date: August 3, 2006
    Inventors: Arif Merchant, Kimberly Keeton
  • Patent number: 7073029
    Abstract: A computer storage system includes a controller and a storage device array. The storage device array includes a first sub-array and a fast storage device sub-array. The first sub-array includes one or more log-structured storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
    Type: Grant
    Filed: January 27, 2003
    Date of Patent: July 4, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mustafa Uysal, Arif Merchant, Guillermo A. Alvarez
  • Patent number: 7050956
    Abstract: A method predicts performance of a system that includes a plurality of interconnected components defining at least one data flow path. The method references a workload specification for the system. The method models the system using one or more component models. Each component model represents selected one or more of the components. Each component model is arranged in like relationship to the data flow path as the selected one or more of the components represented by the component model. Each component model is (a) a constraint upon the workload specification input to that component model or (b) a transformer of the workload specification input to that component model so as to result in one or more output workload specifications that are input workload specifications to subsequent component models along the data flow path or (c) both a constraint and a transformer. At least one of the component models is a constraint.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: May 23, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mustafa Uysal, Ralph Becker-Szendy, Arif Merchant, Guillermo Alvarez
  • Patent number: 7043621
    Abstract: A method and apparatus is used to divide a storage volume into shards. The division is made using a directed graph having a vertex for each block in the storage volume and directed-edges between pairs of vertices representing a shard of blocks, associating a weight with each directed edge that represents the dissimilarity for the shard of blocks between the corresponding pair of vertices, selecting a maximum number of shards (K) for dividing the storage volume, identifying a minimum aggregate weight associated with a current vertex for a combination of no more than K shards, performing the identification of the minimum aggregate weight for vertices in the directed graph, and picking the smallest aggregated weight associated with the last vertex to determine a sharding that spans the storage volume and provides a minimal dissimilarity among no more than K shards of blocks.
    Type: Grant
    Filed: May 15, 2003
    Date of Patent: May 9, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Arif Merchant, Mahesh Kallahalla, Ram Swaminathan
  • Patent number: 7035971
    Abstract: Method and apparatus for distributing storage requests referencing a replicated data set to heterogeneous storage arrays. A workload includes related storage requests that have a common quality-of-service requirement. The performance levels of the storage arrays are monitored in processing the storage requests. The performance levels and quality-of-service requirements are used for distributing the storage requests between the storage arrays.
    Type: Grant
    Filed: September 23, 2002
    Date of Patent: April 25, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Arif Merchant
  • Patent number: 7032086
    Abstract: An adjustable storage system modifies a layout of a storage device having a plurality data blocks during a transfer process. The storage system may include an array controller connected to the storage device, and an index table connected to the array controller for storing addresses of data blocks from the magnetic storage device. The addresses of stored data blocks represent the data blocks involved in the transfer process.
    Type: Grant
    Filed: February 28, 2003
    Date of Patent: April 18, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Arif Merchant
  • 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
  • Patent number: 6922752
    Abstract: A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
    Type: Grant
    Filed: August 23, 2002
    Date of Patent: July 26, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mustafa Uysal, Arif Merchant, Guillermo Alvarez
  • 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: 20050091450
    Abstract: A method of reading data comprises sending read messages to storage devices holding the stripe and receiving at least a quorum of reply messages. The reply message from the storage device holding the data block includes the data block. The quorum meets a quorum condition of a number such that any two selections of the number of stripe blocks intersect in the minimum number of the stripe blocks needed to decode the stripe. A method of writing data comprises sending query messages to storage devices holding the stripe, receiving a query reply message from each of at least a first quorum of the storage devices, sending modify messages to the storage devices, and receiving a write reply message from each of at least a second quorum of the storage devices. The first and second quorums each meet the quorum condition.
    Type: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Publication number: 20050091556
    Abstract: A method of recovering a stripe of erasure coded data begins with sending query messages to storage devices. The method continues with receiving query reply messages from at least a first quorum of the storage devices. The query reply messages include a minimum number of the stripe blocks needed to decode the stripe. Following this, the stripe of erasure coded data is encoded. Next, a write message is sent to each of the storage devices, which include a timestamp and the stripe block destined for the storage device. The method concludes with receiving a write reply message from at least a second quorum of the storage devices indicating that the stripe block was successfully stored. The first and second quorums each meet a quorum condition of a number such that any two selections of the number of the stripe blocks intersect in the minimum number of the stripe blocks.
    Type: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Publication number: 20050091451
    Abstract: A method of reading data comprises receiving a request for a stripe of erasure coded data, sending read messages to at least a quorum of storage devices, and receiving at least the quorum of reply messages from the devices. The quorum of the reply messages includes at least a minimum number of stripe blocks needed to decode the data. The quorum meets a quorum condition of a number such that any two selections of the number of the stripe blocks intersect in the minimum number of the stripe blocks. A method of writing data comprises generating a timestamp, encoding the data, sending query messages including the timestamp to the storage devices, receiving query reply messages from each of at least the quorum of the devices, sending write messages to the devices, and receiving a write reply message from each of at least the quorum of the devices.
    Type: Application
    Filed: October 23, 2003
    Publication date: April 28, 2005
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch