IP Library Granted Patent US 10,140,245
Granted Patent B2
US 10,140,245 · App. 15/357,332 · Granted Nov 27, 2018

Memcached server functionality in a cluster of data processing nodes

Inventors: Mark Bradley Davis (Austin, TX); Prashant R. Chandra (San Jose, CA)
Assignee: III HOLDINGS 2, LLC
G06F15/167H04L45/60H04L49/10H04L49/109H04L49/3009H04L49/351H04L49/356H04L67/2842
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 10,140,245
App. No.
15/357,332
Granted
Nov 27, 2018
Kind
B2
Abstract

A method is performed by a first server on a chip (SoC) node that is one instance of a plurality of nodes within a cluster of nodes. An operation is performed for determine if a second one of the SoC nodes in the cluster has data stored thereon corresponding to a data identifier in response to receiving a data retrieval request including the data identifier. An operation is performed for determining if a remote memory access channel exists between the SoC node and the second one of the SoC nodes. An operation is performed for access the data from the second one of the SoC nodes using the remote memory access channel after determine that the second one of the SoC nodes has the data stored thereon and that the remote memory access channel exists between the SoC node and the second one of the SoC nodes.

Claims (42)

1. A method comprising:

determining, at a first node server, if a second node server has data stored thereon corresponding to a data identifier in response to the second node server receiving a data retrieval request from the first node server including the data identifier;

determining, at the first node server, if a remote memory access channel exists between the first node server and the second node server;

accessing, at the first node server, the data from the second node server using the remote memory access channel after determining that the second node server has the data stored thereon and that the remote memory access channel exists between the first node server and the second node server; and

mapping, at the first node server, a first physical address on the first node server corresponding to the data retrieval request and a second physical address on the second node server.

2. The method of claim 1 , wherein said determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

3. The method of claim 1 , wherein said accessing the data from the second node server comprises transmitting the data for reception by the first node server using the remote memory access channel.

4. The method of claim 1 , wherein said accessing the data from the second node server comprises accessing the data from within a memory address space of the second node server.

5. The method of claim 4 , wherein said accessing the data from within a memory address space of the second node server comprises directly accessing the memory address space of the second node server.

6. The method of claim 5 , wherein said accessing the data from within the memory address space of the second node server comprises transmitting the data for reception by the first node server using the remote memory access channel.

7. The method of claim 5 , wherein said determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

8. The method of claim 1 , wherein:

the first node server comprises a node density configuration enabling the first node server to provide information computing resources to one or more data processing systems; and

the second node server comprises a memory configuration enabling the second node server to enable memory resources thereof to be allocated to caching data for applications running on the one or more data processing systems.

9. The method of claim 8 , wherein:

said accessing the data from the second node server comprises accessing the data from within a memory address space of the second node server; and

said determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

10. The method of claim 9 , wherein said accessing the data from within a memory address space of the second node server comprises directly accessing the memory address space of the second node server.

11. A non-transitory computer-readable medium having tangibly embodied thereon and accessible therefrom a set of instructions interpretable by one or more data processing devices of a first node server in a cluster of nodes, wherein the set of instructions is configured to cause the one or more data processing devices to implement operations for:

determining, at the first node server, if a second node server has data stored thereon corresponding to a data identifier in response to the second node server receiving a data retrieval request from the first node server including the data identifier;

determining, at the first node server, if a remote memory access channel exists between the first node server and the second node server;

accessing, at the first node server, the data from the second node server using the remote memory access channel after determining that the second node server has the data stored thereon and that the remote memory access channel exists between the first node server and the second node server; and

mapping, at the first node server, a first physical address on the first node server corresponding to the data retrieval request and a second physical address on the second node server.

12. The non-transitory computer-readable medium of claim 11 , wherein said determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

13. The non-transitory computer-readable medium of claim 11 , wherein said accessing the data from the second node server comprises transmitting the data for reception by the first node server using the remote memory access channel.

14. The non-transitory computer-readable medium of claim 11 , wherein said accessing the data from the second node server comprises accessing the data from within a memory address space of the second node server.

15. The non-transitory computer-readable medium of claim 14 , wherein said accessing the data from within a memory address space of the second node server comprises directly accessing the memory address space of the second node server.

16. A system comprising:

a first node server having a node density configuration; and

a second node server having a memory configuration configured to enable the second node server to serve in a role of enabling memory resources thereof to be allocated to one or more other node servers;

wherein the first node server is configured to determine if a second node server has data stored thereon corresponding to a data identifier in response to the second node server receiving a data retrieval request from the first node server including the data identifier; and

wherein the first node server is further configured to determine if a remote memory access channel exists between the first node server and the second node server and to:

access the data from the second node server using the remote memory access channel after determining that the second node server has the data stored thereon and that the remote memory access channel exists between the first node server and the second node server; and

map a first physical address on the first node server corresponding to the data retrieval request and a second physical address on the second node server.

17. The system of claim 16 , wherein determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

18. The system of claim 16 , wherein:

accessing the data from the second node server comprises accessing the memory address space of the second node server; and

determining that the second node server has the data stored thereon comprises correlating the data identifier to a value corresponding to a node identifier of the second node server.

19. The system of claim 16 , wherein the first node server is further configured to receive a response from the second node server in response to the second node server receiving the data retrieval request from the first node server.

20. The method of claim 1 , wherein:

the second node server comprises a processing unit; and

said mapping comprises receiving, at the first node server, the second physical address from the processing unit on the second node server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2017
From: SILICON VALLEY BANK
To: III HOLDINGS 2, LLC
Reel/Frame 043759/0175 →
Continuity (5)
Continuation 13728428 · Dec 27, 2012
Continuation In Part 13453086 · Apr 23, 2012
Continuation In Part 12794996 · Jun 7, 2010
Provisional Application 61256723 · Oct 30, 2009
Related Publication 20170068639A1 · Mar 9, 2017
Cited By (7)
US 12,212,495 US 12,231,353 US 12,261,926 US 12,278,763 US 12,294,470 US 12,341,687 US 12,380,048