Patents by Inventor Nathan W. Clark
Nathan W. Clark 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).
-
System and method for providing thin-provisioned block storage with multiple data protection classes
Patent number: 10613933Abstract: In some examples, a multi-node system may access physical storage divided into extents and further arranged into extent groups that may be allocated on demand as thin provisioned storage in response to write requests. Protection class instances are set with specified data protection capabilities. Each instance acts as a logical unit having a distinct addressable block storage space from the extent groups allocated thereto. The extents in an extent group to be allocated to a given protection class instance may vary depending on the protection class capabilities. Management information for the extents, extent groups, and protection classes may be stored in mirrored devices separate from the write data stored in the extents for providing redundant protection to the management information and for increasing the availability of write data in the event of a failure that may cause data loss at one or more locations in the system.Type: GrantFiled: December 9, 2014Date of Patent: April 7, 2020Assignee: Hitachi Vantara LLCInventors: Charles C. Bennett, Jr., Nathan W. Clark, Kevin Canuette Grimaldi -
Patent number: 10372537Abstract: In some examples, both object data and corresponding metadata are stored on thin provisioned block storage in which blocks for the storage of the object data and the metadata are dynamically provisioned from a shared pool. For instance, the metadata may be stored on the block storage using a tree data structure that may grow proportionally with the corresponding stored object data. The object storage may automatically adapt to the size and number of objects being stored, and storage space for metadata may be allocated dynamically on demand. Additionally, some implementations include storing data across multiple trays. For instance, a plurality of storage extents of an extent group may be allocated across a plurality of storage devices on multiple trays. The extent allocation may be tray-aware by allocating extents to maximize the probability that data remains available/recoverable in the presence of a failure in one or more trays.Type: GrantFiled: October 7, 2015Date of Patent: August 6, 2019Assignee: Hitachi Vantara CorporationInventors: Charles C. Bennett, Jr., Nathan W. Clark, Kevin S. Canuette Grimaldi, Morgan Tyler Maxwell, Clayton A. Curry, Robert Barton Cooper
-
Patent number: 10235251Abstract: Example implementations are directed to restoration of data not only from the servers, but also from the clients connected to the server. Algorithms are incorporated to identify content that was created or modified after the last backup. This algorithm also identifies and resolves changes in the mount points for shared folders, preventing information leakage. When the server recovers from a failure, it notifies the clients about the recovery on their next connection. Each client then determines the current state of its mount points and file paths and compares them with the server's mount points and file paths. After the comparison, the client comprehends and indicates the mount point differences by renaming them and sends entire local data (all files, folders, mount points) to the server. The server reconciles the differences.Type: GrantFiled: December 17, 2013Date of Patent: March 19, 2019Assignee: HITACHI VANTARA CORPORATIONInventors: Nathan W. Clark, Alan G. Bryant, Richard D. Bramante, Jr., Alexander Vladimirov Kostadinov
-
Patent number: 10079824Abstract: Example implementations described herein are directed to a transaction query engine involving a token that is generated by the server and sent to the corresponding the client. The client uses the token to query transactions made on the server. The token can include mountpoint information detailing shared and private information of the filesystems, transaction identifiers identifying transactions of a filesystem, and a filesystem identifier to identify the corresponding filesystem. The server processes this token and updates the token based on the transaction information of the filesystem, and sends the token back to the corresponding client.Type: GrantFiled: December 17, 2013Date of Patent: September 18, 2018Assignee: HITACHI VANTARA CORPORATIONInventors: Alan G. Bryant, Nathan W. Clark, Richard D. Bramante, Jr.
-
Publication number: 20170075761Abstract: In some examples, a multi-node system may access physical storage divided into extents and further arranged into extent groups that may be allocated on demand as thin provisioned storage in response to write requests. Protection class instances are set with specified data protection capabilities. Each instance acts as a logical unit having a distinct addressable block storage space from the extent groups allocated thereto. The extents in an extent group to be allocated to a given protection class instance may vary depending on the protection class capabilities. Management information for the extents, extent groups, and protection classes may be stored in mirrored devices separate from the write data stored in the extents for providing redundant protection to the management information and for increasing the availability of write data in the event of a failure that may cause data loss at one or more locations in the system.Type: ApplicationFiled: December 9, 2014Publication date: March 16, 2017Inventors: Charles C. BENNETT, JR., Nathan W. CLARK, Kevin Canuette GRIMALDI
-
Publication number: 20170075781Abstract: In some examples, both object data and corresponding metadata are stored on thin provisioned block storage in which blocks for the storage of the object data and the metadata are dynamically provisioned from a shared pool. For instance, the metadata may be stored on the block storage using a tree data structure that may grow proportionally with the corresponding stored object data. The object storage may automatically adapt to the size and number of objects being stored, and storage space for metadata may be allocated dynamically on demand. Additionally, some implementations include storing data across multiple trays. For instance, a plurality of storage extents of an extent group may be allocated across a plurality of storage devices on multiple trays. The extent allocation may be tray-aware by allocating extents to maximize the probability that data remains available/recoverable in the presence of a failure in one or more trays.Type: ApplicationFiled: October 7, 2015Publication date: March 16, 2017Inventors: Charles C. BENNETT, Jr., Nathan W. CLARK, Kevin S. CANUETTE GRIMALDI, Morgan Tyler MAXWELL, Clayton A. CURRY, Robert Barton COOPER
-
Patent number: 9575975Abstract: A redundant array of independent nodes are networked together. Each node executes an instance of an application that provides object-based storage. The nodes are grouped into systems each having multiple nodes. Objects in the systems have access control lists (ACLs) associated therewith. A method of providing a search key to each ACL in any one system comprises: selecting a region for each metadata object pertaining to the objects in the system; and generating, for each ACL associated with an object in the system, an ACL ID (identifier) as a search key which includes the region number of the region selected for the metadata object pertaining to the object, a region map level corresponding to the region selected, and a monotonically increasing counter value that is automatically incremented each time an ACL ID is generated. The ACL ID remains unique during reconfiguration via splitting/merging existing distributed portions of the database.Type: GrantFiled: March 29, 2012Date of Patent: February 21, 2017Assignee: Hitachi Data Systems CorporationInventors: Nathan W. Clark, Trek Palmer, Alan G. Bryant
-
Publication number: 20160212120Abstract: Example implementations described herein are directed to a transaction query engine involving a token that is generated by the server and sent to the corresponding the client. The client uses the token to query transactions made on the server. The token can include mountpoint information detailing shared and private information of the filesystems, transaction identifiers identifying transactions of a filesystem, and a filesystem identifier to identify the corresponding filesystem. The server processes this token and updates the token based on the transaction information of the filesystem, and sends the token back to the corresponding client.Type: ApplicationFiled: December 17, 2013Publication date: July 21, 2016Inventors: Alan G. BRYANT, Nathan W. CLARK, Richard D. BRAMANTE, JR.
-
Publication number: 20160210204Abstract: Example implementations are directed to restoration of data not only from the servers, but also from the clients connected to the server. Algorithms are incorporated to identify content that was created or modified after the last backup. This algorithm also identifies and resolves changes in the mount points for shared folders, preventing information leakage. When the server recovers from a failure, it notifies the clients about the recovery on their next connection. Each client then determines the current state of its mount points and file paths and compares them with the server's mount points and file paths. After the comparison, the client comprehends and indicates the mount point differences by renaming them and sends entire local data (all files, folders, mount points) to the server. The server reconciles the differences.Type: ApplicationFiled: December 17, 2013Publication date: July 21, 2016Inventors: Nathan W. CLARK, Alan G. BRYANT, Richard D. BRAMANTE, JR., Alexander Vladimirov KOSTADINOV
-
Publication number: 20150012497Abstract: A redundant array of independent nodes are networked together. Each node executes an instance of an application that provides object-based storage. The nodes are grouped into systems each having multiple nodes. Objects in the systems have access control lists (ACLs) associated therewith. A method of providing a search key to each ACL in any one system comprises: selecting a region for each metadata object pertaining to the objects in the system; and generating, for each ACL associated with an object in the system, an ACL ID (identifier) as a search key which includes the region number of the region selected for the metadata object pertaining to the object, a region map level corresponding to the region selected, and a monotonically increasing counter value that is automatically incremented each time an ACL ID is generated. The ACL ID remains unique during reconfiguration via splitting/merging existing distributed portions of the database.Type: ApplicationFiled: March 29, 2012Publication date: January 8, 2015Applicant: HITACHI DATA SYSTEMS CORPORATIONInventors: Nathan W. Clark, Trek Palmer, Alan G. Bryant