Patents by Inventor Kevin Canuette GRIMALDI
Kevin Canuette GRIMALDI 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: 11882183Abstract: In some examples, a first computing device of a plurality of computing devices may be a member of a first partition group. For example, the first partition group may correspond to a first partition of multiple partitions of a metadata database. The first partition group may include at least one other computing device. Furthermore, each of the plurality of computing devices may maintain at least one partition of the metadata database so that the metadata database is partitioned into multiple partitions distributed across the computing devices. The first computing device may determine a first time threshold for a heartbeat communication to be sent to the other computing device(s) in the first partition group, and may select a random time before the first time threshold. The first computing device may send, based on the selected random time, the heartbeat communication to the other computing device(s) in the first partition group.Type: GrantFiled: August 3, 2020Date of Patent: January 23, 2024Assignee: Hitachi Vantara LLCInventors: David Rush, Jr., Kevin Canuette Grimaldi
-
Publication number: 20230289347Abstract: In some examples, a first computing device may receive a first request from a second computing device. For example, the first computing device may be able to communicate with a plurality of database nodes, each database node maintaining a portion of a database distributed across the plurality of database nodes. Further, the first computing device may maintain a local cache of a subset of information maintained in the database. The first computing device may send a second request based on the first request to a first database node to cause the first database node to change the data in the database. In addition, the first computing device receives, from a message queue of a plurality of distributed message queues, a cache update message based on the change to the data in the database. The first computing device may update the local cache based on the cache update message.Type: ApplicationFiled: August 3, 2020Publication date: September 14, 2023Inventors: Robert GIBSON, Kevin Canuette GRIMALDI, David RUSH, Jr.
-
Publication number: 20230283663Abstract: In some examples, a first computing device of a plurality of computing devices may be a member of a first partition group. For example, the first partition group may correspond to a first partition of multiple partitions of a metadata database. The first partition group may include at least one other computing device. Furthermore, each of the plurality of computing devices may maintain at least one partition of the metadata database so that the metadata database is partitioned into multiple partitions distributed across the computing devices. The first computing device may determine a first time threshold for a heartbeat communication to be sent to the other computing device(s) in the first partition group, and may select a random time before the first time threshold. The first computing device may send, based on the selected random time, the heartbeat communication to the other computing device(s) in the first partition group.Type: ApplicationFiled: August 3, 2020Publication date: September 7, 2023Inventors: David RUSH, Jr., Kevin Canuette GRIMALDI
-
Publication number: 20220391411Abstract: In some examples, a computing device may store a first snapshot of a state of data in a first partition at a first point in time. The computing device may create a second partition and a third partition to each receive a portion of the data, the second partition and the third partition each including a metrics schema, and may determine information for the metrics schemas based on information in the first snapshot. During the determining of the information for the metrics schemas, the computing device may receive a write to the first partition. The computing device may update the first partition based on the write and may add a split update command to a data structure based on the write. In addition, the computing device may update at least one of the metrics schemas in the second partition or the third partition based on the split update command.Type: ApplicationFiled: December 27, 2019Publication date: December 8, 2022Inventors: Kevin Canuette GRIMALDI, Joshua Jen MONZON
-
Patent number: 11416447Abstract: In some examples, a computer system may receive a data object including object data. For example, the system may be one of three or more systems and each system may be located at a different respective geographic location. The system may determine a value representative of the object data content. The system may further determine a plurality of chunks by dividing the object data into a plurality of data chunks based on a total number of the systems and determining a parity chunk for the plurality of data chunks. The system may determine a respective role value corresponding to each of the systems, and may send individual ones of the chunks to respective ones of the systems based on the role value and the value representative of the object data content. In some examples, each system may perform data deduplication independently of the other systems based on received chunks.Type: GrantFiled: June 8, 2017Date of Patent: August 16, 2022Assignee: HITACHI VANTARA LLCInventor: Kevin Canuette Grimaldi
-
Publication number: 20220092083Abstract: In some examples, a system may receive, from a user device, a user request for a storage operation related to storage of data at a storage. An update may be added to an update queue to persist the storage operation prior to sending a response to the user device indicating performance of the storage operation. For instance, adding the update to the update queue may include sending a request to cause the update to be added to the update queue based on specifying a type of the storage operation and/or a state to be achieved by the storage operation. Additionally, information about the update may be sent to another processor for adding the update to another update queue managed by the other processor. Subsequently, the update may be obtained from the update queue and processed to perform the storage operation.Type: ApplicationFiled: March 4, 2019Publication date: March 24, 2022Inventors: Kevin Canuette GRIMALDI, Marty KULMA, Andrew TODD, Walter WOHLER
-
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 -
Publication number: 20200097445Abstract: In some examples, a computer system may receive a data object including object data. For example, the system may be one of three or more systems and each system may be located at a different respective geographic location. The system may determine a value representative of the object data content. The system may further determine a plurality of chunks by dividing the object data into a plurality of data chunks based on a total number of the systems and determining a parity chunk for the plurality of data chunks. The system may determine a respective role value corresponding to each of the systems, and may send individual ones of the chunks to respective ones of the systems based on the role value and the value representative of the object data content. In some examples, each system may perform data deduplication independently of the other systems based on received chunks.Type: ApplicationFiled: June 8, 2017Publication date: March 26, 2020Inventor: Kevin Canuette GRIMALDI
-
Patent number: 10387449Abstract: A method and apparatus for metadata favored replication in an active/active topology. When replicating data objects between multiple storage systems, metadata is sent first while the associated data content is sent at a subsequent time. Metadata is stored and made visible on a target storage system thereby reserving the object path in a namespace to reduce collisions in the namespace. After metadata is transferred to the target storage system, the target system performs collision processing to determine if an object already exists in the namespace prior to receiving the transferred metadata. After collision processing is performed, the winning object is made visible for access on the target storage system regardless of whether the associated data content has been transferred to the target system.Type: GrantFiled: May 30, 2014Date of Patent: August 20, 2019Assignee: Hitachi Vantara CorporationInventors: Benjamin Isherwood, Kevin Canuette Grimaldi
-
Patent number: 10235256Abstract: The storage system includes storage devices which have plural storage blocks. A first node with a first processor memory is configured to store first information which manages states of the storage blocks, and a second node including a second processor and memory is configured to store second information which manages the states of the storage blocks are included in the storage system to handle file operations. When a failure occurs on the second node, the first processor is configured to change the state of one or more storage blocks, previously reserved by the second node to be used for storing data by the second node, to one or more garbage blocks and perform garbage resolution processing thereon before becoming available for data storage. This process allows for rapid recovery of the filesystem as the entirety of the filesystem metadata need not be examined.Type: GrantFiled: August 18, 2014Date of Patent: March 19, 2019Assignee: Hitachi Vantara CorporationInventors: Kevin Canuette Grimaldi, Morgan Tyler Maxwell, Clayton A Curry
-
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: 20170075779Abstract: The storage system includes storage devices which have plural storage blocks. A first node with a first processor memory is configured to store first information which manages states of the storage blocks, and a second node including a second processor and memory is configured to store second information which manages the states of the storage blocks are included in the storage system to handle file operations. When a failure occurs on the second node, the first processor is configured to change the state of one or more storage blocks, previously reserved by the second node to be used for storing data by the second node, to one or more garbage blocks and perform garbage resolution processing thereon before becoming available for data storage. This process allows for rapid recovery of the filesystem as the entirety of the filesystem metadata need not be examined.Type: ApplicationFiled: August 18, 2014Publication date: March 16, 2017Inventors: Kevin Canuette GRIMALDI, Morgan Tyler MAXWELL, Clayton A CURRY
-
Publication number: 20160321338Abstract: A method and apparatus for metadata favored replication in an active/active topology. When replicating data objects between multiple storage systems, metadata is sent first while the associated data content is sent at a subsequent time. Metadata is stored and made visible on a target storage system thereby reserving the object path in a namespace to reduce collisions in the namespace. After metadata is transferred to the target storage system, the target system performs collision processing to determine if an object already exists in the namespace prior to receiving the transferred metadata. After collision processing is performed, the winning object is made visible for access on the target storage system regardless of whether the associated data content has been transferred to the target system.Type: ApplicationFiled: May 30, 2014Publication date: November 3, 2016Inventors: Benjamin ISHERWOOD, Kevin Canuette GRIMALDI