Method and system for maintaining consistency for i/o operations on metadata distributed amongst nodes in a ring structure
US-2017364290-A1 · Dec 21, 2017 · US
US10613890B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10613890-B2 |
| Application number | US-201715835753-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 8, 2017 |
| Priority date | Dec 9, 2016 |
| Publication date | Apr 7, 2020 |
| Grant date | Apr 7, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of efficient message transmission includes a hypervisor receiving a first input/output (I/O) request from a ring buffer; receiving a second I/O request from the ring buffer; receiving an absence of further I/O requests from the ring buffer; comparing an aggregate size of a first message and the second I/O request to a maximum transmission unit, wherein the first message comprises the first I/O request and a first protocol overhead; generating a combined message, in response to the aggregate size of the first message and the second I/O request being less than the maximum transmission unit. The combined message comprises the first I/O request, the second I/O request, and the first protocol overhead; and forwarding the combined message to an I/O target.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving a first input/output (I/O) request and a second I/O request from a ring buffer; receiving an absence of further I/O requests within a pre-determined amount of time from a receipt of the second I/O request; generating a combined message, in response to an aggregate size of a first message and the second I/O request being less than a maximum transmission unit, wherein the combined message comprises the first message and the second I/O request, wherein the first message comprises the first I/O request and a first protocol overhead; and forwarding the combined message to an I/O target. 2. The method of claim 1 , further comprising: forwarding the first message to the I/O target, in response to the aggregate size of the first message and the second I/O request being greater than the maximum transmission unit; and forwarding a second message to the I/O target, the second message comprising the second I/O request and a second protocol overhead. 3. The method of claim 1 , wherein the absence of further I/O requests within the pre-determined amount of time from the receipt of the second I/O request is indicated by setting a flag. 4. The method of claim 1 , wherein the first protocol overhead comprises a metadata group and a network routing information group. 5. The method of claim 1 , further comprising: determining whether the first I/O request is a first read request; and determining whether the second I/O request is a second read request, wherein the combined message is generated in response to: the first I/O request being the first read request; and the second I/O request being the second read request. 6. The method of claim 2 , further comprising: determining whether the first I/O request is a first write request; and determining whether the second I/O request is a second write request, wherein the combined message is forwarded to the I/O target in response to: the first I/O request being the first write request; or the second I/O request being the second write request. 7. The method of claim 1 , wherein the combined message is sent to the I/O target via a TCP. 8. The method of claim 1 , wherein the combined message is sent to the I/O target via a multipath TCP. 9. A apparatus comprising: a processor having programmed instructions that, upon execution, cause the processor to: receive a first I/O request and a second I/O request; receive an absence of further I/O requests within a pre-determined amount of time from a receipt of the second I/O request; generate a combined message, in response to an aggregate size of a first message and the second I/O request being less than a maximum transmission unit, wherein the combined message comprises and the second I/O request, wherein the first message comprises the first I/O request and a protocol overhead; and forward the combined message to an I/O target. 10. The apparatus of claim 9 , wherein the processor further has programmed instructions that, upon execution, cause the processor to: forward the first message to the I/O target, in response to the aggregate size of the first message and the second I/O request being greater than the maximum transmission unit; and forward a second message to the I/O target, the second message comprising the second I/O request and a second protocol overhead. 11. The apparatus of claim 10 , wherein the absence of further I/O requests within the pre-determined amount of time from the receipt of the second I/O request is indicated by setting a flag. 12. The apparatus of claim 9 , wherein the first protocol overhead comprises a metadata group and a network routing information group. 13. The apparatus of claim 9 , wherein the processor further has programmed instructions that, upon execution, cause the processor to: determine whether the first I/O request is a first read request; and determine whether the second I/O request is a second read request, wherein the combined message is generated in response to: the first I/O request being the first read request; and the second I/O request being the second read request. 14. The apparatus of claim 13 , wherein the processor further has programmed instructions that, upon execution, cause the processor to: determine whether the first I/O request is a first write request; and determine whether the second I/O request is a second write request, wherein the first message is forwarded in response to: the first I/O request being the first write request; or the second I/O request being the second write request. 15. The apparatus of claim 9 , wherein the combined message is sent to the I/O target via a TCP. 16. The apparatus of claim 9 , wherein the combined message is sent to the I/O target via a multipath TCP. 17. A non-transitory computer-readable storage medium having instructions stored thereon that, upon execution by a computing device, causes the computing device to perform operations comprising: receiving a first I/O request and a second I/O request; receiving an absence of further I/O requests within a pre-determined amount of time from a receipt of the second I/O request; generating a combined message, in response to an aggregate size of a first message and the second I/O request being less than a maximum transmission unit, wherein the combined message comprises the first message and the second I/O request, wherein the first message comprises the first I/O request and a first protocol overhead; and forwarding the combined message to an I/O target. 18. The non-transitory computer-readable storage medium of claim 17 , further comprising: forwarding the first message to the I/O target, in response to the aggregate size of the first message and the second I/O request being greater than the maximum transmission unit; and forwarding a second message to the I/O target, the second message comprising the second I/O request and a second protocol overhead. 19. The non-transitory computer-readable storage medium of claim 17 , wherein the absence of further I/O requests within the pre-determined amount of time from the receipt of the second I/O request is indicated by setting a flag. 20. The non-transitory computer-readable storage medium of claim 17 , wherein the first protocol overhead comprises a metadata group and a network routing information group. 21. The non-transitory computer-readable storage medium of claim 17 , further comprising: determining whether the first I/O request is a first read request; and determining whether the second I/O request is a second read request, wherein the combined message is generated in response to: the first I/O request being the first read request; and the second I/O request being the second read request. 22. The non-transitory computer-readable storage medium of claim 17 , further comprising: determining whether the first I/O request is a first write request; and determining whether the second I/O request is a second write request, wherein the combined message is forwarded to the I/O target in response to: the first I/O request being the first write request; or the second I/O request being the second write request. 23. The non-transitory computer-readable storage medium of claim 17 , wherein the combined message is sent to the I/O target via a TCP. 24. The non-transitory computer-readable storage medium of claim 17 , wherein the combined message is sent to t
Handling requests for interconnection or transfer · CPC title
Hypervisor-specific management and integration aspects · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Protocols for data compression, e.g. ROHC · CPC title
Network arrangements or protocols for supporting network services or applications (user-to-user messaging H04L51/00; network arrangements, protocols or services for supporting real-time applications in data packet communications networks H04L65/00) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.