IP Library Granted Patent US 9,256,539
Granted Patent B2
US 9,256,539 · App. 13/789,063 · Granted Feb 9, 2016

Sharing cache in a computing system

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 9,256,539
App. No.
13/789,063
Granted
Feb 9, 2016
Kind
B2
Abstract

Sharing cache in a computing system that includes a plurality of enclosure attached servers, including: identifying, by an enclosure, a first enclosure attached server that is not meeting a first predetermined performance threshold; identifying, by the enclosure, a second enclosure attached server that is meeting a second predetermined performance threshold; blocking, by the enclosure, access to a predetermined amount of cache on the second enclosure attached server by the second enclosure attached server; determining, by the enclosure, whether the second enclosure attached server is meeting the second predetermined performance threshold; responsive to determining that the second enclosure attached server is meeting the second predetermined performance threshold, lending, by the enclosure, the predetermined amount of cache on the second enclosure attached server to the first enclosure attached server.

Claims (39)

1. An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying a first server that is not meeting a first predetermined performance threshold;

identifying a second server that is meeting a second predetermined performance threshold, wherein identifying the second server that is meeting the second predetermined performance threshold comprises:

querying a plurality of servers for performance information,

receiving performance information from each of the plurality of servers, and

comparing the performance information from each of the plurality of servers to predetermined performance thresholds for each of the plurality of servers;

blocking access to a predetermined amount of cache on the second server by the second server;

determining after blocking access by the second server to the predetermined amount of cache on the second server, whether the second server is meeting the second predetermined performance threshold;

responsive to determining that the second server is meeting the second predetermined performance threshold, lending the predetermined amount of cache on the second server to the first server.

2. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of, responsive to determining that the second server is not meeting the second predetermined performance threshold, restoring, by the enclosure, access to the predetermined amount of cache on the second enclosure attached server by the second enclosure attached server.

3. The apparatus of claim 1 wherein blocking access to the predetermined amount of cache on the second server by the second server further comprises identifying the least frequently used portions of the cache on the second server.

4. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

identifying that the predetermined amount of cache on the second server should be returned to the second server;

unlending the predetermined amount of cache on the second server to the first server; and

restoring access to the predetermined amount of cache on the second server by the second server.

5. The apparatus of claim 4 wherein identifying that the predetermined amount of cache on the second server should be returned to the second server further comprises identifying that the first server does not need the predetermined amount of cache on the second server.

6. The apparatus of claim 4 wherein identifying that the predetermined amount of cache on the second server should be returned to the second server further comprises identifying that the second server needs the predetermined amount of cache on the second server.

7. The apparatus of claim 1 wherein identifying the second server that is meeting a second predetermined performance threshold further comprises polling each of the plurality of servers for performance information.

8. The apparatus of claim 1 , wherein the first server and the second server do not use the predetermined amount of cache on the second server during the blocking.

9. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of accessing, by the first server, the predetermined amount of cache on the second server indirectly via an enclosure.

10. A computer program product including a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

identifying a first server that is not meeting a first predetermined performance threshold;

identifying a second server that is meeting a second predetermined performance threshold, wherein identifying the second server that is meeting the second predetermined performance threshold comprises:

querying a plurality of servers for performance information,

receiving performance information from each of the plurality of servers, and

comparing the performance information from each of the plurality of servers to predetermined performance thresholds for each of the plurality of servers;

blocking access to a predetermined amount of cache on the second server by the second server;

determining after blocking access by the second server to the predetermined amount of cache on the second server, whether the second server is meeting the second predetermined performance threshold;

responsive to determining that the second server is meeting the second predetermined performance threshold, lending the predetermined amount of cache on the second server to the first server.

11. The computer program product of claim 10 further comprising computer program instructions that, when executed, cause the computer to carry out the step of, responsive to determining that the second server is not meeting the second predetermined performance threshold, restoring access to the predetermined amount of cache on the second server by the second server.

12. The computer program product of claim 10 wherein blocking access to the predetermined amount of cache on the second server by the second server further comprises identifying the least frequently used portions of the cache on the second server.

13. The computer program product of claim 10 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

identifying that the predetermined amount of cache on the second server should be returned to the second server;

unlending the predetermined amount of cache on the second server to the first server; and

restoring access to the predetermined amount of cache on the second server by the second server.

14. The computer program product of claim 13 wherein identifying that the predetermined amount of cache on the second server should be returned to the second server further comprises identifying that the first server does not need the predetermined amount of cache on the second server.

15. The computer program product of claim 13 wherein identifying that the predetermined amount of cache on the second server should be returned to the second server further comprises identifying that the second server needs the predetermined amount of cache on the second server.

16. The computer program product of claim 10 , wherein the first server and the second server do not use the predetermined amount of cache on the second server during the blocking.

17. The computer program product of claim 10 further comprising computer program instructions that, when executed, cause the computer to carry out the step of accessing, by the first server, the predetermined amount of cache on the second server indirectly via an enclosure.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050301/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 038483/0940 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2013
From: CUDAK, GARY D.; DO, LYDIA M.; HARDEE, CHRISTOPHER J.; ROBERTS, ADAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029945/0710 →