Systems and methods for flushing data in a virtual computing environment

US10402394B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10402394-B2
Application numberUS-201615392951-A
CountryUS
Kind codeB2
Filing dateDec 28, 2016
Priority dateNov 3, 2016
Publication dateSep 3, 2019
Grant dateSep 3, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for flushing data in a virtual computing environment is provided. The method includes writing application output from an application spanning one or more virtual machines to a cache, wherein each virtual machine is implemented using one or more compute nodes and the cache is implemented in storage associated with the one or more compute nodes. In an effort to flush data associated with application writes more efficiently from the cache to a local backing store or one or more data nodes, the method may include generating a mapping of each of the plurality of application writes. The method may further include sorting sets of one or more virtual disks based upon an offset of each application write as indicated in the mapping. In addition, a storage virtualizer may cancel duplicate application writes, merge multiple contiguous application writes, and merge multiple epochs prior to flushing the data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of flushing data in a virtual computing environment, comprising: writing application output from an application spanning one or more virtual machines as an application consistency group to a cache, wherein the one or more virtual machines are implemented using one or more compute nodes and wherein the cache is implemented in storage in the one or more compute nodes; generating a mapping of each of the plurality of application writes to the cache; sorting sets of one or more virtual disks (vdisks) based upon an offset in the mapping; canceling duplicate application writes; merging multiple contiguous application writes; merging multiple epochs, wherein each epoch represents one or more application writes that occur during a vdisk version; performing an inline compress prior to flushing of the one or more application writes; and flushing the application writes to a backend datastore based upon an order defined in the mapping. 2. The method of claim 1 , wherein the generating of the mapping comprising: identifying the offset of the data associated with at least one application write; detecting a length of the data; detecting a log location of the data; and storing the offset, the length, and the log location in a table located in the cache or a storage virtualizer implemented using a virtual machine. 3. The method of claim 1 , wherein the sorting of the one or more virtual disks comprising: sorting each entry in the table based upon the offset associated with each application write. 4. The method of claim 1 , wherein the canceling duplicate writes comprising: detecting duplicate application writes; maintaining a latest application write; and removing table entries associated with duplicate application writes from the table. 5. The method of claim 1 , wherein the merging multiple contiguous writes comprising: detecting a contiguous write based upon the offset and length associated with one or more application writes; and moving one of the table entries associated with the contiguous write such that one or more application writes are adjacent to one another in a sequential order. 6. The method of claim 1 , wherein the merging multiple epochs comprising: detecting the epoch associated with each vdisk version; requesting permission to send the epoch to the data plane; and grouping, in response to denial of permission, the table entries associated with a predetermined set of epochs waiting to be transferred. 7. The method of claim 1 , further comprising: performing inline dedupe to reduce Input/Output operations per second (IOPs) prior to the flushing of application writes to the backend datastore. 8. A virtual environment computing system, comprising: a plurality of compute nodes coupled as a compute plane and configured to host a plurality of virtual machines executing a plurality of applications; the plurality of compute nodes having direct attached storage (DAS); a plurality of data nodes coupled as a data plane and configured as virtual storage; and a controller coupled to the compute plane and the data plane, the controller including instructions to perform actions comprising: writing application output of an application spanning one or more virtual machines as an application consistency group to a cache, wherein the one or more virtual machines are implemented using one or more compute nodes and wherein the cache is implemented in storage in the one or more compute nodes; generating a mapping of each of the plurality of application writes to the cache; sorting sets of one or more vdisks based upon an offset in the mapping; canceling duplicate application writes; merging multiple contiguous application writes; merging multiple epochs, wherein each epoch represents one or more application writes that occur during a vdisk version; performing an inline compress prior to flushing the application writes; and flushing the application writes to a backend datastore based upon an order defined in the mapping. 9. The virtual environment computing system of claim 8 , wherein the controller, for generating the mapping, including instructions for: identifying the offset of the data associated with at least one application writes; detecting a length of the data; detecting a log location of the data; and storing the offset, the length, and the log location in a table located in the cache or a storage virtualizer implemented using a virtual machine. 10. The virtual environment computing system of claim 8 , wherein the controller, for sorting the one or more virtual disks, including instructions for: sorting each entry in the table based upon the offset associated with each application write. 11. The virtual environment computing system of claim 8 , wherein the controller, for canceling duplicate writes, including instructions for: detecting duplicate application writes; maintaining a latest application write; and removing table entries associated with duplicate application writes from the table. 12. The virtual environment computing system of claim 8 , wherein the controller, for merging multiple contiguous writes, including instructions for: detecting a contiguous write based upon the offset and length associated with one or more application writes; and moving one of the table entries associated with the contiguous write such that one or more application writes are adjacent to one another in a sequential order. 13. The virtual environment computing system of claim 8 , wherein the controller, for merging multiple epochs, including instructions for: detecting the epoch associated with each version; requesting permission to send the epoch to the data plane; and grouping, in response to denial of permission, the table entries associated with a predetermined set of epochs waiting to be transferred. 14. The virtual environment computing system of claim 8 , wherein the controller further including instructions for: performing inline dedupe to reduce Input/Output operations per second (IOPs) prior to the flushing of the application writes. 15. A non-transitory computer-readable medium including code for performing a method for flushing data, the method comprising: writing application output from an application spanning one or more virtual machines as an application consistency group to a cache, wherein the one or more virtual machines are implemented using one or more compute nodes and wherein the cache is implemented in storage in the one or more compute nodes; generating a mapping of each of the plurality of application writes to the cache; sorting sets of one or more virtual disks (vdisks) based upon an offset in the mapping; canceling duplicate application writes; merging multiple contiguous application writes; merging multiple epochs, wherein each epoch represents one or more application writes that occur during a vdisk version; performing an inline compress of the one or more application writes prior to flushing; and flushing the application writes to a backend storage unit based upon an order defined in the mapping. 16. The computer-readable medium of claim 15 , wherein the generating of the mapping comprising: identifying the offset of the data associated with at least one application writes; detecting a length of the data; detecting a log location of the data; and storing the offset, the length, and the log location in a table located in the cache or a storage virtualizer implemented using a virtual machine. 17. The computer-readable medium of claim 15 , wh

Assignees

Inventors

Classifications

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Ensuring data consistency and integrity · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10402394B2 cover?
A method for flushing data in a virtual computing environment is provided. The method includes writing application output from an application spanning one or more virtual machines to a cache, wherein each virtual machine is implemented using one or more compute nodes and the cache is implemented in storage associated with the one or more compute nodes. In an effort to flush data associated with…
Who is the assignee on this patent?
Veritas Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 03 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).