Single hop approach for distributed block storage via a network virtualization device

US12547438B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12547438-B2
Application numberUS-202217747277-A
CountryUS
Kind codeB2
Filing dateMay 18, 2022
Priority dateMay 18, 2022
Publication dateFeb 10, 2026
Grant dateFeb 10, 2026

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 network virtualization device receives a storage request from a compute instance executed by a host machine separate from the network virtualization device, the storage request comprising data to be stored. Responsive to receiving the storage request, the network virtualization device divides the data to be stored into a set of one or more data stripes. For a first data stripe in the set of data stripes, the network virtualization device determines, from a plurality of extent servers, a first extent server to which the first data stripe is to be sent for storing the first data stripe, transmits the first data stripe to the first extent server, wherein the first extent server stores the first data stipe to a first physical storage device, and receives, from the first extent server, an acknowledgement confirming that the first data stripe was stored.

First claim

Opening claim text (preview).

The invention claimed is: 1 . A method comprising: responsive to receiving a storage request at a network virtualization device, wherein the storage request originates from a compute instance executed by a host machine separate from the network virtualization device, and wherein the storage request comprises data to be stored, performing by the network virtualization device: dividing the data to be stored into a set of one or more data stripes; for a first data stripe in the set of data stripes, performing by the network virtualization device: determining, from a plurality of extent servers, a first extent server to which the first data stripe is to be sent for storing the first data stripe; transmitting the first data stripe to the first extent server, wherein the first extent server stores the first data stripe to a first physical storage device; and receiving, from the first extent server, an acknowledgement confirming that the first data stripe was stored. 2 . The method of claim 1 , further comprising, in response to receiving the acknowledgement, for each of the one or more data stripes of the one or more data stripes other than the first data stripe, confirming that each data stripe was stored by a respective extent server, transmitting, by the network virtualization device and to the compute instance, the confirmation that each data stripe was successfully stored. 3 . The method of claim 1 , wherein the first extent server stores the first data stripe in the first physical storage device that is accessible to the first extent server, wherein the first extent server sends the acknowledgement in response to storing the first data stripe on the first physical storage device. 4 . The method of claim 3 , wherein a group of servers comprises the first extent server and one or more other extent servers, wherein the first extent server transmits the first data stripe to the one or more other extent servers of the group of servers for storage by the one or more other extent servers. 5 . The method of claim 1 , further comprising, for a second data stripe in the set of data stripes, by the network virtualization device: determining, from the plurality of extent servers, a second extent server to which the second data stripe is to be sent for storing the second data strip, wherein the second extent server is different from the first extent server; transmitting the second data stripe to the second extent server, wherein the second extent server stores the second data stripe to a second physical storage device, wherein the second physical storage device is different from the first physical storage device; and receiving, from the second extent server, an acknowledgement confirming that the second data stripe was stored. 6 . The method of claim 5 , further comprising identifying, by the network virtualization device and among one or more identified extent servers, a primary candidate leader server and a secondary candidate leader server, wherein the secondary candidate leader server comprises the first extent server, wherein the primary candidate leader server comprises a third extent server and further comprising, by the network virtualization device at a time prior to transmitting the first data stripe to the first extent server: transmitting, to the third extent server, the first data stripe; and receiving, from the third extent server, a notification that the third extent server is not a leader, wherein the first data stripe is transmitted to the first extent server in response to receiving the notification. 7 . The method of claim 1 , wherein generating the one or more data stripes comprises applying a redundant array of independent disks striping algorithm (“RAID0 algorithm”) to divide the data to be stored into the set of data stripes. 8 . The method of claim 1 , wherein the storage request is a non-volatile memory express (“NVMe”) protocol request. 9 . A system, comprising: a network virtualization device comprising: one or more processors; and a non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by the one or more processors, cause the system to: responsive to receiving a storage request comprising data to be stored, the storage request originating from a compute instance executed by a host machine separate from the network virtualization device, dividing the data to be stored into a set of one or more data stripes; for a first data stripe in the set of data stripes, determining, from a plurality of extent servers, a first extent server to which the first data stripe is to be sent for storing the first data stripe; transmitting the first data stripe to the first extent server, wherein the first extent server stores the first data stripe to a first physical storage device; and receiving, from the first extent server, an acknowledgement confirming that the first data stripe was stored. 10 . The system of claim 9 , wherein the non-transitory computer-readable medium further comprises instructions that, when executed by the one or more processors, cause the system to transmit to the compute instance, in response to receiving the acknowledgement, for each of the one or more data stripes of the one or more data stripes other than the first data stripe, confirming that each data stripe was stored by a respective extent server, the confirmation that each data stripe was successfully stored. 11 . The system of claim 9 , wherein the first extent server stores the first data stripe in the first physical storage device that is accessible to the first extent server, wherein the first extent server sends the acknowledgement in response to storing the first data stripe on the first physical storage device. 12 . The system of claim 11 , wherein a group of servers comprises the first extent server and one or more other extent servers, wherein the first extent server transmits the first data stripe to the one or more other extent servers of the group of servers for storage by the one or more other extent servers. 13 . The system of claim 9 , the non-transitory computer-readable medium further comprising instructions that, when executed by the one or more processors, cause the system to: for a second data stripe in the set of data stripes: determine, from the plurality of extent servers, a second extent server to which the second data stripe is to be sent for storing the second data strip, wherein the second extent server is different from the first extent server; transmit the second data stripe to the second extent server, wherein the second extent server stores the second data stripe to a second physical storage device, wherein the second physical storage device is different from the first physical storage device; and receive, from the second extent server, an acknowledgement confirming that the second data stripe was stored. 14 . The system of claim 13 , the non-transitory computer-readable medium further comprising instructions that, when executed by the one or more processors, cause the system to: further comprising identify, by the network virtualization device and among one or more identified extent servers, a primary candidate leader server and a secondary candidate leader server; wherein the secondary candidate leader server comprises the first extent server; wherein the primary candidate leader server comprises a third extent server; and wherein the non-transitory computer-readable medium further comprises instructions that, when executed by the one or more processors, cause the system to: at a time prior to transmitting the f

Assignees

Inventors

Classifications

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

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Plurality of storage devices · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Network integration; Enabling network access in virtual machine instances · 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 US12547438B2 cover?
A network virtualization device receives a storage request from a compute instance executed by a host machine separate from the network virtualization device, the storage request comprising data to be stored. Responsive to receiving the storage request, the network virtualization device divides the data to be stored into a set of one or more data stripes. For a first data stripe in the set of d…
Who is the assignee on this patent?
Oracle Int Corp
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 Feb 10 2026 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).