IP Library Granted Patent US 9,524,220
Granted Patent B1
US 9,524,220 · App. 13/341,112 · Granted Dec 20, 2016

Memory optimization for configuration elasticity in cloud environments

Inventors: Alex Veprinsky (Brookline, MA); David Meiri (Cambridge, MA); John R. Sopka (Groton, MA); Patrick Brian Riordan (Newton, MA); John T. Fitzgerald (Mansfield, MA)
Assignee: EMC IP Holding Company, LLC
G06F11/1666G06F3/0601
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,524,220
App. No.
13/341,112
Granted
Dec 20, 2016
Kind
B1
Abstract

A system having a plurality of directors, at least some of which have a local director memory, accesses requested data by determining if requested data is in local director memory of a first one of the directors in response to an access request for the requested data by the first one of the directors. The system also determines if the requested data is native to the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors, where data provided on a physical storage device coupled to the first one of the directors is native to the first one of the directors. The system also obtains the requested data from a second one of the directors in response to the requested data not being native to the first one of the directors.

Claims (50)

1. A method of accessing data in a system with a plurality of directors, at least some of the directors including a local director memory, the method comprising:

determining if requested data is in local director memory of a first one of the directors in response to an access request for the requested data by the first one of the directors;

determining if the requested data is native to the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors, wherein data provided on a physical storage device coupled to the first one of the directors is native to the first one of the directors;

obtaining the requested data from the physical storage device coupled to the first one of the directors and storing the requested data obtained from the physical storage device in the local director memory of the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors and the requested data being native to the first one of the directors;

obtaining the requested data from a second one of the directors in response to the requested data not being native to the first one of the directors;

determining if the obtained requested data should be maintained in the local director memory of the first one of the directors in accordance with a criterion related to a characteristic of the data; and

in response to determining that the obtained requested data should be maintained in the local director memory of the first one of the directors, notifying other ones of the directors, wherein each of the other ones of the directors updates a list of directors that are storing, in director memory thereof, a copy of data.

2. The method, according to claim 1 , further comprising:

storing the requested data in the local director memory of the first one of the directors following obtaining the requested data from the second one of the directors.

3. The method, according to claim 1 , further comprising:

storing the requested data in the local director memory of the first one of the directors following obtaining the requested data from the second one of the directors in response to the requested data meeting a particular criteria.

4. The method, according to claim 3 , wherein the particular criteria includes size of the requested data and a number of times the requested data is accessed.

5. The method, according to claim 1 , further comprising:

informing the second one of the directors that the data has been modified in response to the access request being a write request and the requested data being obtained from the second one of the directors.

6. The method, according to claim 5 , further comprising:

the second one of the directors maintaining a list of particular ones of the directors that have requested data.

7. The method, according to claim 6 , further comprising:

the second director informing the particular ones of the directors that the data has been modified in response to receiving a message from the first one of the directors that the data has been modified.

8. The method, according to claim 7 , further comprising:

removing data from local director memory in response to receiving a message from the second one of the directors that the data has been modified.

9. The method, according to claim 7 , further comprising:

modifying data in local director memory in response to receiving a message from the second one of the directors that the data has been modified.

10. The method, according to claim 1 , further comprising:

receiving a message indicating that the requested data has been modified by another one of the directors; and

informing other ones of the directors that the requested data has been modified, wherein informing other ones of the directors includes maintaining a list of directors that access the requested data.

11. Computer software, provided in a non-transitory computer-readable medium, that accesses data in a system with a plurality of directors, at least some of the directors including a local director memory, the software comprising:

executable code that determines if requested data is in local director memory of a first one of the directors in response to an access request for the requested data by the first one of the directors;

executable code that determines if the requested data is native to the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors, wherein data provided on a physical storage device coupled to the first one of the directors is native to the first one of the directors;

executable code that obtains the requested data from the physical storage device coupled to the first one of the directors and stores the requested data obtained from the physical storage device in the local director memory of the first one of the directors in response to the requested data not being in the local director memory of the first one of the directors and the requested data being native to the first one of the directors;

executable code that obtains the requested data from a second one of the directors in response to the requested data not being native to the first one of the directors;

executable code that determines if the obtained requested data should be maintained in the local director memory of the first one of the directors in accordance with a criterion related to a characteristic of the data; and

executable code that, in response to determining that the obtained requested data should be maintained in the local director memory of the first one of the directors, notifies other ones of the directors, wherein each of the other ones of the directors updates a list of directors that are storing, in director memory thereof, a copy of data.

12. Computer software, according to claim 11 , further comprising:

executable code that stores the requested data in the local director memory of the first one of the directors following obtaining the requested data from the second one of the directors.

13. Computer software, according to claim 11 , further comprising:

executable code that stores the requested data in the local director memory of the first one of the directors following obtaining the requested data from the second one of the directors in response to the requested data meeting a particular criteria.

14. Computer software, according to claim 13 , wherein the particular criteria includes size of the requested data and a number of times the requested data is accessed.

15. Computer software, according to claim 11 , further comprising:

executable code that informs the second one of the directors that the data has been modified in response to the access request being a write request and the requested data being obtained from the second one of the directors.

16. Computer software, according to claim 15 , further comprising:

executable code that maintains a list of particular ones of the directors that have requested data.

17. Computer software, according to claim 16 , further comprising:

executable code that informs the particular ones of the directors that the data has been modified in response to receiving a message from the first one of the directors that the data has been modified.

18. Computer software, according to claim 17 , further comprising:

executable code that removes data from local director memory in response to receiving a message from the second one of the directors that the data has been modified.

19. Computer software, according to claim 17 , further comprising:

executable code that modifies data in local director memory in response to receiving a message from the second one of the directors that the data has been modified.

20. Computer software, according to claim 11 , further comprising:

executable code that receives a message indicating that the requested data has been modified by another one of the directors; and

executable code that informs other ones of the directors that the requested data has been modified, wherein informing other ones of the directors includes maintaining a list of directors that access the requested data.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2012
From: VEPRINSKY, ALEX; MEIRI, DAVID; SOPKA, JOHN R.; RIORDAN, PATRICK BRIAN; FITZGERALD, JOHN T.
To: EMC CORPORATION
Reel/Frame 027474/0320 →