Systems and methods for low latency access of memory between computing devices
First Claim
1. A method comprising:
- at a first computing device;
receiving, from a second computing device, a memory access request including a starting offset within a specified range of memory, a predetermined size of data, a predetermined portion of memory, security key, and unique identifier generated by the first computing device;
determining a difference between the offset and the predetermined size of data;
determining that the specified range of memory is within a predetermined portion of memory based on whether the difference exceeds the predetermined portion of memory;
verifying, based on the security key and the unique identifier, that the second computing device is authorized to access the specified range of memory;
in response to verifying that the second computing device is authorized to access the specified range of memory,accessing, by the first computing device, the specified range of memory on behalf of the second computing device;
in response to determining that the difference does not exceed the predetermined portion of memory, executing a command on the predetermined portion of memory to modify the specified range of memory at the received starting offset within the specified range of memory.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are methods and systems for low latency modification of memory on a remote computer system. According to one aspect of the present disclosure, a method includes, at a first computing device, receiving from a second computing device, a memory access request including a security key and a unique identifier generated by the first computing device. The method further includes verifying, based on the security key and the unique identifier, that the first computing device is authorized to access a predetermined portion of memory. Also, in response to verifying that the first computing device is authorized to access the predetermined portion of memory, accessing, by the second computing device, the predetermined portion of memory.
-
Citations
18 Claims
-
1. A method comprising:
-
at a first computing device; receiving, from a second computing device, a memory access request including a starting offset within a specified range of memory, a predetermined size of data, a predetermined portion of memory, security key, and unique identifier generated by the first computing device; determining a difference between the offset and the predetermined size of data; determining that the specified range of memory is within a predetermined portion of memory based on whether the difference exceeds the predetermined portion of memory; verifying, based on the security key and the unique identifier, that the second computing device is authorized to access the specified range of memory; in response to verifying that the second computing device is authorized to access the specified range of memory, accessing, by the first computing device, the specified range of memory on behalf of the second computing device; in response to determining that the difference does not exceed the predetermined portion of memory, executing a command on the predetermined portion of memory to modify the specified range of memory at the received starting offset within the specified range of memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprising:
-
a memory including a specified range; and a remote memory controller that; receives, from another computing device, a memory access request including a starting offset within a specified range of memory, a predetermined size of data, a predetermined portion of memory, security key, and unique identifier generated by the remote memory controller; determine a difference between the offset and the predetermined size of data; determine that the specified range of memory is within a predetermined portion of memory based on whether the difference exceeds the predetermined portion of memory; verify, based on the security key and the unique identifier, that the another computing device is authorized to access the specified range of memory; access, on behalf of the another computing device, the specified range of memory in response to verifying that the another computing device is authorized to access the specified range of memory; and in response to determining that the difference does not exceed the predetermined portion of memory, executing a command on the predetermined portion of memory to modify the specified range of memory at the received starting offset within the specified range of memory. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computing device comprising:
-
a communications device comprising at least one processor that communicates via a peripheral component interconnect express (PCIe) interconnect; and a memory manager comprising at least one processor and memory that; receives, from another computing device, a starting offset within a specified range of memory, a predetermined size of data, a predetermined portion of memory, security key and unique identifier for accessing the specified range of memory associated with the another computing device; determines a difference between the offset and the predetermined size of data; determines that the specified range of memory is within a predetermined portion of memory based on whether the difference exceeds the predetermined portion of memory; communicates, to the another computing device, a memory access request including the security key and unique identifier via the PCIe interconnect; accesses the specified range of memory upon receipt of permission from the another computing device; executes a command to modify the specified range of memory at the received starting offset within the specified range of memory. - View Dependent Claims (17, 18)
-
Specification