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: 11307765Abstract: 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: GrantFiled: March 18, 2019Date of Patent: April 19, 2022Assignee: VMware, Inc.Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 11163894Abstract: 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: GrantFiled: January 20, 2020Date of Patent: November 2, 2021Assignee: VMware, Inc.Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
-
Patent number: 10936558Abstract: 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: GrantFiled: March 7, 2019Date of Patent: March 2, 2021Assignee: VMware, Inc.Inventor: R. Hugo Patterson
-
Patent number: 10915408Abstract: 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: GrantFiled: April 24, 2018Date of Patent: February 9, 2021Assignee: VMware, Inc.Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
-
Patent number: 10877940Abstract: 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: GrantFiled: January 7, 2019Date of Patent: December 29, 2020Assignee: VMware, Inc.Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
-
Publication number: 20200285620Abstract: 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: ApplicationFiled: March 7, 2019Publication date: September 10, 2020Inventor: R. Hugo Patterson
-
Publication number: 20200151344Abstract: 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: ApplicationFiled: January 20, 2020Publication date: May 14, 2020Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
-
Patent number: 10540504Abstract: 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: GrantFiled: February 27, 2017Date of Patent: January 21, 2020Assignee: Datrium, Inc.Inventors: Windsor Hsu, Surendar Chandra, R. Hugo Patterson
-
Patent number: 10514982Abstract: 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: GrantFiled: December 12, 2014Date of Patent: December 24, 2019Assignee: Datrium, Inc.Inventors: Zhe Wang, R. Hugo Patterson, Mark L. Huang
-
Publication number: 20190324865Abstract: 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: ApplicationFiled: April 24, 2018Publication date: October 24, 2019Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
-
Patent number: 10437782Abstract: 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: GrantFiled: May 1, 2014Date of Patent: October 8, 2019Assignee: EMC IP Holding Company LLCInventors: Frederick Douglis, Philip Shilane, R. Hugo Patterson
-
Patent number: 10417191Abstract: 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: GrantFiled: December 4, 2015Date of Patent: September 17, 2019Assignee: EMC IP Holding Company LLCInventors: Mark Huang, Curtis Anderson, R. Hugo Patterson
-
Publication number: 20190250818Abstract: 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: ApplicationFiled: March 18, 2019Publication date: August 15, 2019Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 10359945Abstract: 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: GrantFiled: September 13, 2018Date of Patent: July 23, 2019Assignee: Datrium, Inc.Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
-
Publication number: 20190138504Abstract: 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: ApplicationFiled: January 7, 2019Publication date: May 9, 2019Inventors: R. Hugo PATTERSON, III, Brian BILES, Boris WEISSMAN, Sazzala REDDY, Ganesh VENKITACHALAM
-
Patent number: 10235044Abstract: 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: GrantFiled: June 9, 2016Date of Patent: March 19, 2019Assignee: Datrium, Inc.Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
-
Patent number: 10228851Abstract: 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: GrantFiled: October 8, 2015Date of Patent: March 12, 2019Assignee: EMC IP Holding Company LLCInventors: Sazzala Venkata Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
-
Patent number: 10180948Abstract: 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: GrantFiled: May 12, 2015Date of Patent: January 15, 2019Assignee: DATRIUM, INC.Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
-
Publication number: 20190012083Abstract: 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: ApplicationFiled: September 13, 2018Publication date: January 10, 2019Inventors: Garrett SMITH, Nitin GARG, Alex MIRGORODSKY, R. Hugo PATTERSON, III, Vasudevan SANGILI, Ganesh VENKITACHALAM
-
Patent number: 10146684Abstract: 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: GrantFiled: October 24, 2016Date of Patent: December 4, 2018Assignee: Datrium, Inc.Inventors: Windsor Hsu, R. Hugo Patterson