IP Library Granted Patent US 9,612,776
Granted Patent B2
US 9,612,776 · App. 14/144,751 · Granted Apr 4, 2017

Dynamically updated user data cache for persistent productivity

Inventors: Carlton A Andrews (Austin, TX); Gary Douglas Huber (Austin, TX); Manish Bhaskar (San Jose, CA); Munif Mohammed Farhan (Round Rock, TX); Satya Mylvara (Sunnyvale, CA); Todd Swierk (Austin, TX); William F. Sauber (Georgetown, TX); Philip M. Seibert (Austin, TX)
Assignee: Dell Products, L.P.
G06F3/0685G06F3/0614G06F3/0655G06F9/50G06F12/084
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,612,776
App. No.
14/144,751
Filed
Dec 31, 2013
Granted
Apr 4, 2017
Kind
B2
Art Unit
2135
USPC
711/103
Abstract

The present embodiments describe systems and methods for a dynamically updated user data cache for persistent productivity. In an embodiment, the system includes caching mechanism optimized to support user productivity in the case of a primary storage failure. For example, an embodiment of a method includes establishing a cache for caching user data in a persistent data storage device that is accessible by a first operating system and a second operating system. The method may also include identifying a set of user data to be stored in the cache. Additionally, the method may include storing the set of user data into the cache. The method may also include accessing the set of user data stored in the cache with the second operating system in response to the first operating system being in a degraded condition.

Claims (41)

1. A method, comprising:

providing a first Operating System (OS) to a user of an Information Handling System (IHS), wherein the IHS includes a hybrid drive having a magnetic storage portion and a flash storage portion;

establishing a persistent cache in the flash storage portion that is accessible by the first OS;

while the user is operating the first OS, assigning a weight value to each of a plurality of files not yet cached based on the user's behavior, including: (a) assigning a first weight value to a first file due to the first file having been newly created, assigning a second weight value to a second file due to the second file having been read only, and assigning a third weight value to a third file due to the third file having been modified during use; and (b) identifying a set of files among the plurality of files to be stored in the persistent cache based on the weight values assigned to each of the plurality of files;

storing the set of files into the persistent cache;

determining that the first OS is in a degraded condition;

in response to the determination, providing a second OS to the user, wherein the second OS has access to the persistent cache; and

allowing the user to retrieve one or more of the set of files from the persistent cache while the user is operating the second OS.

2. The method claim 1 , further comprising running an agent application on at least one of the first OS and the second OS, the agent application configured to carry out one or more operations for establishing the persistent cache, identifying the set of files, storing the set of files, and accessing the set of files.

3. The method of claim 1 , further comprising identifying a storage location for the persistent cache.

4. The method of claim 1 , further comprising determining an initial set of files to be stored in the persistent cache.

5. The method of claim 1 , further comprising removing a file from the cache to create space for a new file to be stored in the persistent cache in response to removal criteria.

6. An Information Handling System (IHS), comprising:

a processor; and

a hybrid drive coupled to the processor, the hybrid drive having a magnetic storage portion and a flash storage portion;

a memory coupled to the processor, the memory including program instructions stored thereon that, upon execution by the processor, cause the IHS to:

provide a first Operating System (OS) to a user;

establish a persistent cache in the flash storage portion that is accessible by the first OS;

while the user is operating the first OS, identify a set of files to be stored in the persistent cache based on one or more weight values assigned to each file in the set of files and prior to any file of the set of files being stored in the persistent cache, wherein a given file of the set of files is assigned a first weight if the given file has been created by the user or a second weight if the given file has been only read by the user;

store the set of files into the persistent cache;

the first OS is in a degraded condition;

in response to the determination, provide a second OS to the user, wherein the second OS has access to the persistent cache; and

allow the user to retrieve one or more of the set of files from the persistent cache while the user is operating the second OS.

7. The IHS of claim 6 , wherein the program instructions are further configured to cause the IHS to run an agent application on at least one of the first OS and the second OS, the agent application configured to carry out one or more operations for establishing the persistent cache, identifying the set of files, storing the set of files, and accessing the set of files.

8. The IHS of claim 6 , wherein the program instructions further comprise a policy.

9. The IHS of claim 8 , wherein the policy comprise a cache initiation policy configured to identify a storage location for the persistent cache and to determine an initial set of files to be stored in the persistent cache.

10. The IHS of claim 8 , wherein the policy comprise a data caching policy configured to establish criteria for identifying the set of files to be stored in the persistent cache.

11. The IHS of claim 8 , wherein the policy further comprises criteria for removing a file from the persistent cache to create space for a new file to be stored in the persistent cache.

12. A non-transitory computer-readable medium having program instructions stored thereon that, upon execution by an Information Handling System (IHS), cause the IHS to:

provide a first Operating System (OS) to a user of the IHS, wherein the IHS includes a hybrid drive having a magnetic storage portion and a flash storage portion;

establish a persistent cache in the flash storage portion that is accessible by the first OS;

while the user is operating the first OS, assign a weight value to each of a plurality of files not yet cached based on the user's behavior and identify a set of files among the plurality of files to be stored in the persistent cache based on the weight values assigned to each of the plurality of files, wherein a given file of the set of files is assigned a first weight if the given file has been created by the user or a second weight if the given file has been only read by the user;

store the set of files into the persistent cache;

the first OS is in a degraded condition;

in response to the determination, provide a second OS to the user, wherein the second OS has access to the persistent cache; and

allow the user to retrieve one or more of the set of files from the persistent cache while the user is operating the second OS.

13. The non-transitory computer-readable medium of claim 12 , wherein the program instructions are further configured to cause the IHS to run an agent application on at least one of the first OS and the second OS, the agent application configured to carry out one or more operations for establishing the persistent cache, identifying the set of files, storing the set of user data, and accessing the set of files.

14. The non-transitory computer-readable medium of claim 12 , wherein the program instructions further comprise a policy.

15. The non-transitory computer-readable medium of claim 14 , wherein the policy comprise a cache initiation policy configured to identify a storage location for the persistent cache and to determine an initial set of files to be stored in the persistent cache.

16. The non-transitory computer-readable medium of claim 14 , wherein the policy comprise a data caching policy configured to establish criteria for identifying the set of files to be stored in the persistent cache.

17. The non-transitory computer-readable medium of claim 14 , wherein the policy further comprises criteria for removing a file from the persistent cache to create space for a new file to be stored in the persistent cache.

Assignments (15)
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 →
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 →
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 →
RELEASE OF REEL 032810 FRAME 0206 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0204 →
RELEASE OF SECURITY INTEREST OF REEL 032809 FRAME 0930 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040045/0255 →
RELEASE OF REEL 032809 FRAME 0887 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; CREDANT TECHNOLOGIES, INC.; COMPELLENT TECHNOLOGIES, INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
Reel/Frame 040017/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: ANDREWS, CARLTON A.; BHASKAR, MANISH; FARHAN, MUNIF MOHAMMED; HUBER, GARY DOUGLAS; MYLVARA, SATYA; SAUBER, WILLIAM F.; SEIBERT, PHILIP M.; SWIERK, TODD
To: DELL PRODUCTS, L.P.
Reel/Frame 032904/0817 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 032809/0930 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032810/0206 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 1, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032809/0887 →
Continuity (1)
Related Publication 20150186076A1 · Jul 2, 2015