Patents by Inventor R. Hugo Patterson

R. Hugo Patterson 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: 11307765
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Grant
    Filed: March 18, 2019
    Date of Patent: April 19, 2022
    Assignee: VMware, Inc.
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 11163894
    Abstract: Techniques for performing data encryption on data to be stored within a storage system are provided. A client application executing on a host machine may generate a data storage write request to write data to a storage system. A host-side module, executing on the host machine receives the write request. The host-side module is configured to generate one or more fingerprints for the data corresponding to the write request, where the one or more fingerprints are unique identifiers used to identify data blocks that make up the data. The host-side module generates encrypted data by encrypting the data blocks using an encryption technique. The encrypted data is then sent to a storage node within the storage system. Deduplication may be performed on the encrypted data using the one or more generated fingerprints.
    Type: Grant
    Filed: January 20, 2020
    Date of Patent: November 2, 2021
    Assignee: VMware, Inc.
    Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
  • Patent number: 10936558
    Abstract: Techniques are described for migrating namespace content from a source system to a target system. Migrating the namespace content involves copying data associated with a namespace from the source system to the target system in a manner that allows guests on both the source system and the target system to access the data during the namespace migration. Further the techniques take advantage of any replica of the namespace content that may already exist in target system, so that only blocks that are not already in the target system are copied as part of the migration operation. Both the source system and the target system use Content Addressable Storage, and have fingerprint indexes that allow blocks to be located based on their fingerprints. Thus, the target system to which a namespace is migrated may determine whether a desired block from the namespace can be obtained locally based on whether its fingerprint index has an entry for the fingerprint of the block.
    Type: Grant
    Filed: March 7, 2019
    Date of Patent: March 2, 2021
    Assignee: VMware, Inc.
    Inventor: R. Hugo Patterson
  • Patent number: 10915408
    Abstract: Techniques for scheduling replication events may be based upon establishing a plurality of policy groups. Each policy group has a replication schedule that defines when to initiate replication events and a membership selection pattern used to determine which virtual machines belong to which policy group. The policy groups may contain a first policy group and a second policy group, where each policy group has a unique replication schedule and a unique selection pattern. The system may assign a first set of virtual machines to the first policy group based upon the first selection pattern. A second set of virtual machines may be assigned to a second policy group based upon the second selection pattern. Each of the virtual machines in the first policy group may be assigned a first replication schedule and each of the virtual machines in the second policy group may be assigned a second replication schedule.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: February 9, 2021
    Assignee: VMware, Inc.
    Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
  • Patent number: 10877940
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: December 29, 2020
    Assignee: VMware, Inc.
    Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
  • Publication number: 20200285620
    Abstract: Techniques are described for migrating namespace content from a source system to a target system. Migrating the namespace content involves copying data associated with a namespace from the source system to the target system in a manner that allows guests on both the source system and the target system to access the data during the namespace migration. Further the techniques take advantage of any replica of the namespace content that may already exist in target system, so that only blocks that are not already in the target system are copied as part of the migration operation. Both the source system and the target system use Content Addressable Storage, and have fingerprint indexes that allow blocks to be located based on their fingerprints. Thus, the target system to which a namespace is migrated may determine whether a desired block from the namespace can be obtained locally based on whether its fingerprint index has an entry for the fingerprint of the block.
    Type: Application
    Filed: March 7, 2019
    Publication date: September 10, 2020
    Inventor: R. Hugo Patterson
  • Publication number: 20200151344
    Abstract: Techniques for performing data encryption on data to be stored within a storage system are provided. A client application executing on a host machine may generate a data storage write request to write data to a storage system. A host-side module, executing on the host machine receives the write request. The host-side module is configured to generate one or more fingerprints for the data corresponding to the write request, where the one or more fingerprints are unique identifiers used to identify data blocks that make up the data. The host-side module generates encrypted data by encrypting the data blocks using an encryption technique. The encrypted data is then sent to a storage node within the storage system. Deduplication may be performed on the encrypted data using the one or more generated fingerprints.
    Type: Application
    Filed: January 20, 2020
    Publication date: May 14, 2020
    Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
  • Patent number: 10540504
    Abstract: Techniques for performing data encryption on data to be stored within a storage system are provided. A client application executing on a host machine may generate a data storage write request to write data to a storage system. A host-side module, executing on the host machine receives the write request. The host-side module is configured to generate one or more fingerprints for the data corresponding to the write request, where the one or more fingerprints are unique identifiers used to identify data blocks that make up the data. The host-side module generates encrypted data by encrypting the data blocks using an encryption technique. The encrypted data is then sent to a storage node within the storage system. Deduplication may be performed on the encrypted data using the one or more generated fingerprints.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: January 21, 2020
    Assignee: Datrium, Inc.
    Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
  • Patent number: 10514982
    Abstract: In a Distributed Virtual Array data storage system, data chunks making up data containers and identified by keys, which are independent of physical storage locations, are written in storage devices according to layouts specified in a layout data structure. When any of the storage devices becomes inaccessible, the chunks nominally designated to be written in the inaccessible storage devices are instead written to alternate devices. Information indicating writing to an alternate device may be included in or along with such chunks so as to make them easily identifiable during later reconstruction or re-writing to the intended storage device when it again becomes available.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: December 24, 2019
    Assignee: Datrium, Inc.
    Inventors: Zhe Wang, R. Hugo Patterson, Mark L. Huang
  • Publication number: 20190324865
    Abstract: Techniques for scheduling replication events may be based upon establishing a plurality of policy groups. Each policy group has a replication schedule that defines when to initiate replication events and a membership selection pattern used to determine which virtual machines belong to which policy group. The policy groups may contain a first policy group and a second policy group, where each policy group has a unique replication schedule and a unique selection pattern. The system may assign a first set of virtual machines to the first policy group based upon the first selection pattern. A second set of virtual machines may be assigned to a second policy group based upon the second selection pattern. Each of the virtual machines in the first policy group may be assigned a first replication schedule and each of the virtual machines in the second policy group may be assigned a second replication schedule.
    Type: Application
    Filed: April 24, 2018
    Publication date: October 24, 2019
    Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
  • Patent number: 10437782
    Abstract: A system for directing for storage comprises a processor and a memory. The processor is configured to determine a segment overlap for each of a plurality of nodes. The processor is further configured to determine a selected node of the plurality of nodes based at least in part on the segment overlap for each of the plurality of nodes and based at least in part on a selection criteria. The memory is coupled to the processor and configured to provide the processor with instructions.
    Type: Grant
    Filed: May 1, 2014
    Date of Patent: October 8, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Frederick Douglis, Philip Shilane, R. Hugo Patterson
  • Patent number: 10417191
    Abstract: Transmitting filesystem changes over a network is disclosed. A hash of data comprising a chunk of directory elements comprising one or more consecutive directory elements in a set of elements sorted in a canonical order is computed at a client system. One or more directory elements comprising the chunk are sent to a remote server in the event it is determined based at least in part on the computed hash that corresponding directory elements as stored on the remote server are not identical to the directory elements comprising the chunk as stored on the client system.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: September 17, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Mark Huang, Curtis Anderson, R. Hugo Patterson
  • Publication number: 20190250818
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Application
    Filed: March 18, 2019
    Publication date: August 15, 2019
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 10359945
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: July 23, 2019
    Assignee: Datrium, Inc.
    Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
  • Publication number: 20190138504
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Application
    Filed: January 7, 2019
    Publication date: May 9, 2019
    Inventors: R. Hugo PATTERSON, III, Brian BILES, Boris WEISSMAN, Sazzala REDDY, Ganesh VENKITACHALAM
  • Patent number: 10235044
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Grant
    Filed: June 9, 2016
    Date of Patent: March 19, 2019
    Assignee: Datrium, Inc.
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 10228851
    Abstract: Cluster storage comprises an interface and a processor. The interface is to send a tag to a selected node and receive tags from the selected node. The tags received from the selected node comprise tags for likely similar segments stored on the selected node. The processor is to break a segment into subsegments, calculate subsegment tags for each subsegment, identify one or more references to one or more previously stored subsegments and/or one or more segment data using the tags from the selected node and the subsegment tags, and send the one or more references to the one or more previously stored subsegments and/or segment data and associated tags to the selected node.
    Type: Grant
    Filed: October 8, 2015
    Date of Patent: March 12, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Sazzala Venkata Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
  • Patent number: 10180948
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Grant
    Filed: May 12, 2015
    Date of Patent: January 15, 2019
    Assignee: DATRIUM, INC.
    Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
  • Publication number: 20190012083
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Application
    Filed: September 13, 2018
    Publication date: January 10, 2019
    Inventors: Garrett SMITH, Nitin GARG, Alex MIRGORODSKY, R. Hugo PATTERSON, III, Vasudevan SANGILI, Ganesh VENKITACHALAM
  • Patent number: 10146684
    Abstract: Techniques for copying forward live data within storage regions used by a file system to new storage regions are provided. Storage regions refer to ranges of persistent storage within a storage medium. One or more live-clump-identifying workers identify a set of live-clump-references. The live-clump references are references to live clumps that belong to live objects. Live clumps represent a unit of data. After identifying the set of live-clump-references, one or more container-identifying workers identify a set of storage regions that contain clumps that correspond to the set of live-clump references. After identifying the set of storage regions corresponding to the set of live-clump-references, a plurality of copy-forward task workers perform copy-forward operations on the set of storage regions to copy live data to new storage regions.
    Type: Grant
    Filed: October 24, 2016
    Date of Patent: December 4, 2018
    Assignee: Datrium, Inc.
    Inventors: Windsor Hsu, R. Hugo Patterson