Filter appliance for object-based storage system

US9703482B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9703482-B2
Application numberUS-201213539139-A
CountryUS
Kind codeB2
Filing dateJun 29, 2012
Priority dateJun 29, 2012
Publication dateJul 11, 2017
Grant dateJul 11, 2017

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 framework for performing transformations of logical storage volumes in software is provided. This framework interposes on various operations that can be performed on a logical storage volume, such as input/output (IO) operations, via one or more filters, which may be implemented by an appliance that is inserted into the data path of the operations issued to the logical storage volume.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of interposing on operations targeted for execution on a logical storage volume, comprising: receiving, by a hypervisor, a read operation targeted for execution on a first logical storage volume; determining if the first logical storage volume is a filtered logical storage volume; if the first logical storage volume is not a filtered logical storage volume, issuing, by the hypervisor, the read operation targeted for execution on the first logical storage volume, and returning read data returned in response to the read operation as data responsive to the received read operation; and if the first logical storage volume is a filtered logical storage volume, redirecting, by the hypervisor, the read operation to an appliance virtual machine (VM), wherein the hypervisor supports a VM execution space within which a plurality of VMs and the appliance VM are instantiated and executed, issuing, by the hypervisor, a read operation targeted for execution on a second logical storage volume, in place of the read operation targeted for execution on the first logical storage volume, executing, by the appliance VM, one or more filtering operations in a filter stack on read data returned from the second logical storage volume in response to the read operation targeted for execution on the second logical storage volume, to generate transformed data, and returning the transformed data as data responsive to the received read operation targeted for execution on the first logical storage volume. 2. The method of claim 1 , wherein one filtering operation is executed on the read data and includes one of a decryption operation and a decompression operation. 3. The method of claim 1 , wherein at least two filtering operations are executed in sequence on the read data. 4. The method of claim 3 , wherein said at least two filtering operations include a cache operation. 5. The method of claim 4 , further comprising: terminating the issued read operation targeted for execution on the second logical storage volume if the read data has been cached. 6. The method of claim 1 , wherein the read operation targeted for execution on the first logical storage volume is received from one of the plurality of VMs. 7. A method of interposing on operations targeted for execution on a logical storage volume, comprising: receiving, by a hypervisor, a write operation targeted for execution on a first logical storage volume; determining if the first logical storage volume is a filtered logical storage volume; if the first logical storage volume is not a filtered logical storage volume, issuing, by the hypervisor, the write operation targeted for execution on the first logical storage volume, and returning a write acknowledgment in response to the received write operation upon receiving confirmation that data referenced in the write operation has been written; and if the first logical storage volume is a filtered logical storage volume, redirecting, by the hypervisor, the write operation to an appliance virtual machine (VM), wherein the hypervisor supports a VM execution space within which a plurality of VMs and the appliance VM are instantiated and executed, executing, by the appliance VM, one or more filtering operations in a filter stack on the data referenced in the write operation to generate transformed data, issuing, by the hypervisor, a write operation to write the transformed data in a second logical storage volume in place of the write operation targeted for execution on the first logical storage volume, and returning a write acknowledgment in response to the received write operation upon receiving confirmation that the transformed data has been written. 8. The method of claim 7 , wherein one filtering operation is executed on the data referenced in the received write operation and includes one of an encryption operation and a compression operation. 9. The method of claim 7 , wherein at least two filtering operations are executed in sequence on the data referenced in the received write operation. 10. The method of claim 9 , wherein said at least two filtering operations include a cache operation. 11. The method of claim 10 , further comprising: in response to a subsequent write operation targeted for execution on the first logical storage volume, executing said at least one filtering operation on data referenced in the subsequent write operation and returning a write acknowledgment without issuing any write operation if data generated from executing said at least one filtering operation on data referenced in the subsequent write operation is cached. 12. The method of claim 7 , wherein the write operation targeted for execution on the first logical storage volume is received from one of the plurality of VMs. 13. A computer system having virtual machines (VMs) running therein, wherein one of the VMs is issuing input/output (TO) operations and another of the VMs is an appliance VM, and wherein the computer system includes one or more processors configured to perform operations comprising: receiving, by a hypervisor supporting a VM execution space within which the VMs including the appliance VM are instantiated and executed, a read/write operation targeted for execution on a first logical storage volume; determining if the first logical storage volume is a filtered logical storage volume; if the first logical storage volume is not a filtered logical storage volume, issuing, by the hypervisor, the read/write operation targeted for execution on the first logical storage volume; if the first logical storage volume is a filtered logical storage volume, redirecting, by the hypervisor, the read/write operation to the appliance VM; executing, by the appliance VM, one or more filtering operations in a filter stack on data that is read in response to a read operation or that is to be written pursuant to a write operation to generate transformed data; and returning an indication of completion of the received read/write operation, wherein the hypervisor includes a virtual TO interposer that receives the read/write operation targeted for execution on the first logical storage volume, determines whether or not the first logical storage volume is a filtered logical storage volume, and redirects the read/write operation targeted for execution on the first logical storage volume to the appliance VM if the first logical storage volume is a filtered logical storage volume, the hypervisor issuing a read/write operation targeted for execution on a second logical storage volume in place of the read operation targeted for execution on the first logical storage volume if the first logical storage volume is a filtered logical storage volume. 14. The method of claim 1 , wherein the hypervisor includes a virtual input/output (TO) interposer that receives the read operation targeted for execution on the first logical storage volume and redirects the read operation to the appliance VM upon determining that the first logical storage volume is a filtered logical storage volume. 15. The method of claim 1 , wherein one of the plurality of VMs issued the read operation, and the first logical storage volume is a virtual volume that is associated with a virtual disk of the VM that issued the read operation. 16. The method of claim 7 , wherein one of the plurality of VMs issued the write operation, and the first logical storage volume is a virtual volume that is associated with a virtual disk of the VM that issued the write operation. 17. The method of claim 7 , wherein the hypervisor includes a

Assignees

Inventors

Classifications

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

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · 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 US9703482B2 cover?
A framework for performing transformations of logical storage volumes in software is provided. This framework interposes on various operations that can be performed on a logical storage volume, such as input/output (IO) operations, via one or more filters, which may be implemented by an appliance that is inserted into the data path of the operations issued to the logical storage volume.
Who is the assignee on this patent?
Uluski Derek, Tomar Nagendra, Sakargayan Gourav, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).