IP Library › Granted Patent US 11,379,404
Granted Patent B2
US 11,379,404 · App. 16/224,151 · Granted Jul 5, 2022

Remote memory management

Inventors: Oliver Schmidt (Walldorf, DE); Andreas Ludwig Erz (Walldorf, DE)
Assignee: SAP SE
G06F15/17331G06F13/1673G06F13/28H04L47/30H04L49/3018H04L49/3027H04L49/358H04L49/9084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,379,404
App. No.
16/224,151
Granted
Jul 5, 2022
Kind
B2
Abstract

Remote memory management of the memory of a consumer computer by a producer computer is described. A system is described that can include a first computer, and a second computer communicatively coupled to the first computer via a remote direct memory access enabled communication network. The first computer can include a first operating system. The second computer can include a second operating system and a second memory. The second memory can include a plurality of buffers. The first computer can remotely manage the plurality of buffers of the second memory of the second computer without involving either the first operating system or the second operating system. The managing can further include the first computer identifying available buffers amongst the plurality of buffers. Related methods, apparatuses, articles, non-transitory computer program products, non-transitory computer readable media are also within the scope of this disclosure.

Claims (29)

1. A system comprising:

a first computer comprising a first operating system; and

a second computer communicatively coupled to the first computer via a remote direct memory access enabled communication network, the second computer comprising a second operating system and a second memory, the second memory comprising a plurality of buffers,

the first computer remotely managing the plurality of buffers of the second memory of the second computer without involving either the first operating system or the second operating system, the managing further comprising:

the first computer identifying available buffers amongst the plurality of buffers, the identifying based at least in part on the second computer registering the plurality of buffers with the first computer and informing the first computer of an availability to write to the plurality of buffers,

in response to the registration, the first computer configured to write, using a first write message and a second write message, to the second computer via the remote direct memory access, the first write message writing user content data via the remote direct memory access to a payload buffer of the plurality of buffers at the second computer, the second write message comprising a Write with IMM, to a header buffer of the plurality of buffers, the Write with IMM including a first immediate value indicating a location in the header buffer that contains an address and an offset to a second location in the payload buffer of the plurality of buffers, the second location configured to store payload data comprising the user content data, wherein the second write message informs, via the write to the header buffer, the second computer of the second location in the payload buffer being used by the first computer, and wherein after the write, the first computer is configured to receive, via another corresponding Write with IMM from the second computer, second data specifying a read index processed by the second computer to prevent an overflow condition.

2. The system of claim 1 , wherein:

the first computer further comprises a first network interface card;

the second computer further comprises a second network interface card; and

the first computer communicates with the second computer via the first network interface card and the second interface card.

3. The system of claim 2 , wherein the first network interface card communicates with the second network interface card via the communication network.

4. The system of claim 1 , wherein the first immediate value serves as an index into the header buffer.

5. The system of claim 1 , wherein the first computer and the second computer are configured to prevent, based on the read index, the overflow condition in a communication queue of a connection between the first computer and the second computer.

6. The system of claim 1 , wherein:

the first computer further comprises a first memory;

the first memory comprises another plurality of buffers; and

the second computer remotely manages the other plurality of buffers without involving either the first operating system or the second operating system, the remote management by the second computer comprising the second computer identifying another plurality of available buffers amongst the other plurality of buffers.

7. A method comprising:

registering, by a consumer computer, a plurality of buffers within a consumer memory located within the consumer computer, the consumer computer registering the plurality of buffers on behalf of a producer computer communicatively coupled to the consumer computer via a communication network;

determining, by the consumer computer, whether a buffer of the plurality of buffers is available to be written in; and

transmitting, by the consumer computer to the producer computer, data specifying the buffer is available to be written in, the data transmitted, as an immediate value of the Write with IMM; and

receiving, via the remote direct memory access, a first write message and a second write message, the first write message writing user content data via the remote direct memory access to a payload buffer of the plurality of buffers at the second computer, the second write message comprising a Write with IMM including a first immediate value indicating indicating a location in the header buffer that contains an address and an offset to a second location in the payload buffer of the plurality of buffers, the second location configured to store payload data comprising the user content data, wherein the second write message informs, via the write to the header buffer, the second computer of the second location in the payload buffer being used by the first computer, and wherein after the write, the first computer is configured to receive, via another corresponding Write with IMM from the second computer, second data specifying a read index processed by the second computer to prevent an overflow condition.

8. The method of claim 7 , wherein the communication network is a remote direct memory access enabled communication network.

9. The method of claim 7 , wherein:

the producer computer further comprises a first network interface card;

the consumer computer further comprises a second network interface card; and

the producer computer communicates with the consumer computer via the first network interface card and the second interface card.

10. The method of claim 9 , wherein the first network interface card communicates with the second network interface card via the communication network.

11. The method of claim 7 , wherein the producer computer and the consumer computer are configured to prevent an overflow in a communication queue of a connection between the producer computer and the consumer computer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2018
From: SCHMIDT, OLIVER; ERZ, ANDREAS LUDWIG
To: SAP SE
Reel/Frame 047809/0098 →
Continuity (1)
Related Publication 20200192857A1 · Jun 18, 2020
Cited By (1)
US 12,423,032