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: 7647454
    Abstract: A transactional shared memory system has a plurality of discrete application nodes; a plurality of discrete memory nodes; a network interconnecting the application nodes and the memory nodes, and a controller for directing transactions in a distributed system utilizing the shared memory. The memory nodes collectively provide an address space of shared memory that is provided to the application nodes via the network. The controller has instructions to transfer a batched transaction instruction set from an application node to at least one memory node. This instruction set includes one or more write, compare and read instruction subsets, and/or combinations thereof. At least one subset has a valid non null memory node identifier and memory address range. The memory node identifier may be indicated by the memory address range.
    Type: Grant
    Filed: June 12, 2006
    Date of Patent: January 12, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Mehul A. Shah, Alistair Veitch
  • Patent number: 7644249
    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: Grant
    Filed: September 17, 2004
    Date of Patent: January 5, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, John Wilkes, Cipriano A. Santos, Dirk Beyer, Jeffrey Scott Chase, Arif Merchant
  • Patent number: 7644046
    Abstract: An embodiment of a method of estimating overall storage system cost begins with a first step of modeling a storage system design in operation under a workload to determine location of retrieval points. The retrieval points provide sources for primary storage recovery for a plurality of failure scenarios. The method continues with a second step of finding a most recent retrieval point relative to a target recovery time that is available for recovery for a particular failure scenario. A third step determines a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, which indicates a data loss time period. A fourth step determines a recovery time for propagation of the most recent retrieval point to primary storage. In a fifth step, a storage system cost comprising outlay costs and penalty costs is determined.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: January 5, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly K. Keeton, Arif Merchant
  • Patent number: 7643983
    Abstract: A technique for emulation of a data storage system. The invention allows the level of services to be provided by a data storage system to be specified in terms of the level of services provided by another storage system. In one aspect, a performance characterization of a data storage device to be emulated is obtained (e.g., by experimental techniques). A specification of a workload is also obtained that includes a specification of a plurality of data stores for the workload. The data stores are assigned to an emulation data storage device according to the performance characterization and according to the specification of the workload such that sufficient resources of the emulation data storage device are allocated to the workload to meet the performance characterization of the data storage device to be emulated. The emulation data storage device is then operated under the workload. Quality-of-service (QoS) control may be performed so as to provide a degree of performance isolation among the workloads.
    Type: Grant
    Filed: March 27, 2003
    Date of Patent: January 5, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Christopher Lumb, Arif Merchant, Guillermo Alvarez
  • Patent number: 7609703
    Abstract: Provided is a system and method for directing group communication in a system environment that has a plurality of discrete application nodes networked with at least one discrete memory node, establishing a shared memory providing a passive message queue. A code library permits an application node member of a group to assemble a message selected from the group of send, join, leave, or read. The send, join and leave messages permit a first application node to add a message to the queue for all members of a group including the first application node at the time the message was added. The instruction set permitting the addition of the message is executed atomically.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: October 27, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mehul A. Shah, Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Alistar Veitch
  • Patent number: 7536585
    Abstract: An embodiment of a method of estimating storage system availability begins with a first step of modeling a storage system design in operation under a workload to determine location of retrieval points. The retrieval points provide sources for primary storage recovery for a plurality of failure scenarios. For a particular failure scenario, the method continues with a second step of finding a secondary storage location of a most recent retrieval point relative to a target recovery time that is available for recovery. A third step determines a recovery time for propagation of the most recent retrieval point from the secondary storage location to primary storage.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: May 19, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, Arif Merchant
  • Publication number: 20090024813
    Abstract: Embodiments of the present invention pertain to improving recoverability of a dataset associated with a multi-tier storage system. According to one embodiment, updates to a dataset are stored in first storage. The dataset and a point-in-time copy of the dataset reside on second storage, and the first storage provides higher reliability than the second storage. The dataset is restored using at least a subset of the stored updates in combination with the point-in-time copy in the event that the dataset is lost.
    Type: Application
    Filed: July 19, 2007
    Publication date: January 22, 2009
    Inventors: Mustafa Uysal, Arif A. Merchant, Kimberly Keeton, Marcos K. Aguilera, Kiran-Kumar Muniswamy-Reddy
  • Publication number: 20090016220
    Abstract: A method for controlling resource allocation is provided. The method includes determining a service metric associated with a first application, wherein the first application is associated with one or more virtual machines. The method further includes comparing the service metric to an application specific service level goal associated with the first application and modifying a resource allocation associated with the first application at one or more of the virtual machines.
    Type: Application
    Filed: July 11, 2007
    Publication date: January 15, 2009
    Inventors: Mustafa Uysal, Pradeep Padala, Xiaoyun Zhu, Zhikui Wang, Sharad Singhal, Arif A. Merchant, Kenneth Salem
  • Patent number: 7467333
    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: Grant
    Filed: September 1, 2005
    Date of Patent: December 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, Arif Merchant, John Wilkes
  • Patent number: 7467329
    Abstract: An embodiment of a method of estimating storage system reliability begins with a first step of modeling a storage system design in operation under a workload to determine location of retrieval points. The retrieval points provide sources for primary storage recovery for a plurality of failure scenarios. The method continues with a second step of finding a most recent retrieval point relative to a target recovery time that is available for recovery for a particular failure scenario. In a third step, a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point is determined. The difference indicates a data loss time period.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: December 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly K. Keeton, Arif Merchant
  • Patent number: 7426616
    Abstract: Provided is a method for determining a recovery schedule. The method includes accepting as input a recovery graph. The recovery graph presents one or more strategies for data recovery. In addition, at least one objective is provided and accepted. The recovery graph is formalized as an optimization problem for the provided objective. When formalized as an optimization problem, at least one solution technique is applied to determine at least one recovery schedule.
    Type: Grant
    Filed: August 22, 2006
    Date of Patent: September 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kimberly Keeton, Dirk Beyer, Ernesto Brau, Arif Merchant, Cipriano Santos, Alex Zhang
  • Publication number: 20080126279
    Abstract: Provided is a method for determining a recovery schedule. The method includes accepting as input a recovery graph. The recovery graph presents one or more strategies for data recovery. In addition, at least one objective is provided and accepted. The recovery graph is formalized as an optimization problem for the provided objective. When formalized as an optimization problem, at least one solution technique is applied to determine at least one recovery schedule.
    Type: Application
    Filed: August 22, 2006
    Publication date: May 29, 2008
    Inventors: Kimberly Keeton, Dirk Beyer, Ernesto Brau, Arif Merchant, Cipriano Santos, Alex Zhang
  • Publication number: 20080069098
    Abstract: Provided is a system and method for directing group communication in a system environment that has a plurality of discrete application nodes networked with at least one discrete memory node, establishing a shared memory providing a passive message queue. A code library permits an application node member of a group to assemble a message selected from the group of send, join, leave, or read. The send, join and leave messages permit a first application node to add a message to the queue for all members of a group including the first application node at the time the message was added. The instruction set permitting the addition of the message is executed atomically.
    Type: Application
    Filed: September 15, 2006
    Publication date: March 20, 2008
    Inventors: Mehul A. Shah, Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Alistair Veitch
  • Publication number: 20080046779
    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: July 13, 2007
    Publication date: February 21, 2008
    Inventors: Arif Merchant, Svend Frolund, Yasusuhi Saito, Susan Spence, Alistair Veitch
  • Patent number: 7310703
    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: Grant
    Filed: October 23, 2003
    Date of Patent: December 18, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Publication number: 20070288587
    Abstract: A transactional shared memory system has a plurality of discrete application nodes; a plurality of discrete memory nodes; a network interconnecting the application nodes and the memory nodes, and a controller for directing transactions in a distributed system utilizing the shared memory. The memory nodes collectively provide an address space of shared memory that is provided to the application nodes via the network. The controller has instructions to transfer a batched transaction instruction set from an application node to at least one memory node. This instruction set includes one or more write, compare and read instruction subsets, and/or combinations thereof. At least one subset has a valid non null memory node identifier and memory address range. The memory node identifier may be indicated by the memory address range.
    Type: Application
    Filed: June 12, 2006
    Publication date: December 13, 2007
    Inventors: Marcos K. Aguilera, Christos Karamanolis, Arif Merchant, Mehul A. Shah, Alistair Veitch
  • Patent number: 7284088
    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: Grant
    Filed: October 23, 2003
    Date of Patent: October 16, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Patent number: 7266716
    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: Grant
    Filed: October 23, 2003
    Date of Patent: September 4, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Svend Frolund, Arif Merchant, Yasusuhi Saito, Susan Spence, Alistar Veitch
  • Publication number: 20070192542
    Abstract: An embodiment of a method of operating a distributed storage system includes reading m data blocks from a distributed cache. The distributed cache comprises memory of a plurality of independent computing devices that include redundancy for the m data blocks. The m data blocks and p parity blocks are stored across m plus p independent computing devices. Each of the m plus p independent computing devices stores a single block selected from the m data blocks and the p parity blocks.
    Type: Application
    Filed: February 16, 2006
    Publication date: August 16, 2007
    Inventors: Svend Frolund, Arif Merchant, Alistair Veitch, James Reuter, James Jackson
  • Publication number: 20070192544
    Abstract: An embodiment of a method of operating a replicated cache includes generating a timestamp. A unit of data is read from memory of the replicated cache. The replicated cache comprises a plurality of independent computing devices. Each independent computing device comprises a processor and a portion of the memory. Confirmations are received from at least a majority of the independent computing devices that a flush operation for the unit of data was initiated no later than a time indicated by the timestamp and that a more recent version of the unit of data has not been flushed. The unit of data is provided to storage.
    Type: Application
    Filed: February 16, 2006
    Publication date: August 16, 2007
    Inventors: Svend Frolund, Arif Merchant, Alistair Veitch, James Reuter, James Jackson