Patents by Inventor Artem Yevgenyevich Livshits
Artem Yevgenyevich Livshits 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: 11829328Abstract: A technique improves storage efficiency of an object store configured to maintain numerous snapshots for long-term storage in an archival storage system by efficiently determining data that is exclusively owned by an expiring snapshot to allow deletion of the expiring snapshot from the object store. The technique involves managing index data structures to enable efficient garbage collection across a very large number of data objects. When a snapshot expires, the technique obviates the need to scan the numerous snapshot data objects to determine which index structures are no longer needed and can be reclaimed (garbage collected). The technique is directed to management of underlying storage based on different sets of policies. When certain snapshots expire and are ready for deletion, the technique is directed to finding those data blocks that are no longer referenced (used) by any valid snapshots.Type: GrantFiled: October 29, 2021Date of Patent: November 28, 2023Assignee: Nutanix, Inc.Inventors: Abhishek Gupta, Andrey Alexseyevich Pyatkov, Angshuman Bezbaruah, Artem Yevgenyevich Livshits, Brajesh Kumar Shrivastava, Karan Gupta, Prakash Narayanasamy
-
Publication number: 20230079621Abstract: A technique improves storage efficiency of an object store configured to maintain numerous snapshots for long-term storage in an archival storage system by efficiently determining data that is exclusively owned by an expiring snapshot to allow deletion of the expiring snapshot from the object store. The technique involves managing index data structures to enable efficient garbage collection across a very large number of data objects. When a snapshot expires, the technique obviates the need to scan the numerous snapshot data objects to determine which index structures are no longer needed and can be reclaimed (garbage collected). The technique is directed to management of underlying storage based on different sets of policies. When certain snapshots expire and are ready for deletion, the technique is directed to finding those data blocks that are no longer referenced (used) by any valid snapshots.Type: ApplicationFiled: October 29, 2021Publication date: March 16, 2023Inventors: Abhishek Gupta, Andrey Alexseyevich Pyatkov, Angshuman Bezbaruah, Artem Yevgenyevich Livshits, Brajesh Kumar Shrivastava, Karan Gupta, Prakash Narayanasamy
-
Publication number: 20230029677Abstract: An indexing technique provides an index data structure for efficient retrieval of a snapshot from a long-term storage service (LTSS) of an archival storage system. The snapshot is generated from typed data of a logical entity, such as a virtual disk (vdisk). The data of the snapshot is replicated to a frontend data service of the LTSS sequentially and organized as one or more data objects for storage by a backend data service of LTSS in an object store of the archival storage system. Metadata associated with the snapshot (i.e., snapshot metadata) is recorded as a log and persistently stored on storage media local to the frontend data service. The snapshot metadata includes information describing the snapshot data, e.g., a logical offset range of a snapshot of the vdisk and, thus, is used to construct the index data structure. Notably, construction of the index data structure is deferred until after the entirety of the snapshot data has been replicated and received by the frontend data service.Type: ApplicationFiled: September 28, 2021Publication date: February 2, 2023Inventors: Abhishek Gupta, Andrey Alexseyevich Pyatkov, Angshuman Bezbaruah, Artem Yevgenyevich Livshits, Brajesh Kumar Shrivastava, Karan Gupta, Prakash Narayanasamy
-
Patent number: 11003476Abstract: In one embodiment, a computing device accesses an entity database storing information about entities in a virtualization environment. Each of the entities is associated with a single entity type and a shard. The shard further corresponds to the single entity type. The computing device determines an entity trail for the single shard, based on a modification history for one or more of the entities associated with the shard. The entity trail is divided into a plurality of time segments. The computing device receives an update from a client device indicating an update to an entity that is associated with the shard, and a client timestamp. The computing device selects a time segment corresponding to the client timestamp, and updates that portion of the entity trail with the client update.Type: GrantFiled: February 2, 2017Date of Patent: May 11, 2021Assignee: Nutanix, Inc.Inventors: Artem Yevgenyevich Livshits, Ming Chen, Mohan Maturi, Rahul Singh, Ramesh U. Chandra
-
Patent number: 10599459Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: GrantFiled: February 2, 2017Date of Patent: March 24, 2020Assignee: NUTANIX, INC.Inventor: Artem Yevgenyevich Livshits
-
Patent number: 10223150Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: GrantFiled: February 2, 2017Date of Patent: March 5, 2019Assignee: NUTANIX, INC.Inventors: Artem Yevgenyevich Livshits, Ming Chen, Mohan Maturi, Ning Zhou, Rahul Paul, Rahul Singh, Ramesh U. Chandra, Shrivatsan Vasudhevan, Suresh Sivaprakasam, Swagat Borah, Vyas Ram Selvam
-
Publication number: 20170235737Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventor: Artem Yevgenyevich Livshits
-
Publication number: 20170235806Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventor: Artem Yevgenyevich Livshits
-
Publication number: 20170235816Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventors: Artem Yevgenyevich Livshits, Mohan Maturi, Ramesh U. Chandra, Suresh Sivaprakasam, Swagat Borah
-
Publication number: 20170235782Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventors: Artem Yevgenyevich Livshits, Mohan Maturi, Rahul Paul, Ramesh U. Chandra, Swagat Borah, Vyas Ram Selvam
-
Publication number: 20170235772Abstract: In one embodiment, a computing device accesses an entity database storing information about entities in a virtualization environment. Each of the entities is associated with a single entity type and a shard. The shard further corresponds to the single entity type. The computing device determines an entity trail for the single shard, based on a modification history for one or more of the entities associated with the shard. The entity trail is divided into a plurality of time segments. The computing device receives an update from a client device indicating an update to an entity that is associated with the shard, and a client timestamp. The computing device selects a time segment corresponding to the client timestamp, and updates that portion of the entity trail with the client update.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventors: Artem Yevgenyevich Livshits, Ming Chen, Mohan Maturi, Rahul Singh, Ramesh U. Chandra
-
Publication number: 20170235769Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventors: Artem Yevgenyevich Livshits, Shrivatsan Vasudhevan, Yingqiang Lin
-
Publication number: 20170235592Abstract: In particular embodiments, a system for managing a virtualization environment includes host machines, each of the host machines including a hypervisor, user virtual machines (UVMs) and a virtual machine controller. The virtualization environment also includes virtual disks comprising a plurality of storage devices, and being accessible by the virtual machine controllers. The virtual machine controllers conduct I/O transactions with the virtual disks. The system stores an entity-relationship graph representing elements in the virtualization environment. Each of the elements is represented by an entity-type node in the entity-relationship graph, and relationships between the elements are represented by edges between the nodes.Type: ApplicationFiled: February 2, 2017Publication date: August 17, 2017Inventors: Artem Yevgenyevich Livshits, Ming Chen, Mohan Maturi, Ning Zhou, Rahul Paul, Rahul Singh, Ramesh U. Chandra, Shrivatsan Vasudhevan, Suresh Sivaprakasam, Swagat Borah, Vyas Ram Selvam
-
Patent number: 7502792Abstract: The present invention extends to methods, systems, computer program products, and data structures for managing database snapshot storage. Spatial properties database transactions are used to manage database snapshot storage allocation and reclamation. When a read transaction and subsequent write transactions refer to disjoint portions of a database, the read transaction can continue to read portions of data directly from the database. When a read transaction and subsequent write transactions refer to intersecting portions of a database, the read transaction can be transitioned to “snapshot” mode. The write transaction can publish a database snapshot can configure the read transaction to read contested portions of data from the published snapshot.Type: GrantFiled: April 26, 2006Date of Patent: March 10, 2009Assignee: Microsoft CorporationInventor: Artem Yevgenyevich Livshits