Efficient I/O request handling

US10613890B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10613890-B2
Application numberUS-201715835753-A
CountryUS
Kind codeB2
Filing dateDec 8, 2017
Priority dateDec 9, 2016
Publication dateApr 7, 2020
Grant dateApr 7, 2020

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 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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US10613890B2 cover?
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 f…
Who is the assignee on this patent?
Nutanix Inc
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 Apr 07 2020 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).