IP Library Granted Patent US 8,448,016
Granted Patent B2
US 8,448,016 · App. 12/755,225 · Granted May 21, 2013

Computing core application access utilizing dispersed storage

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 8,448,016
App. No.
12/755,225
Granted
May 21, 2013
Kind
B2
Abstract

A computing core application access method begins by a processing module detecting selection of an application. The method continues with at least one of a memory controller and the processing module addressing a distributed application memory to retrieve a plurality of error coded program data slices and a plurality of error coded configuration data slices. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a program from the plurality of error coded program data slices using an error coding dispersal function. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a configuration information from the plurality of error coded configuration data slices using a second error coding dispersal function. The method continues with the at least one of a memory controller and the processing module storing the data segment of the program and the data segment of the configuration information in a main memory of the computing core.

Claims (40)

1. A method for execution by a computing core, the method comprises:

detecting selection of an application;

determining whether at least a portion of the application and configuration information regarding the application are currently stored in main memory of the computing core;

when the at least a portion of the application and configuration information regarding the application are not currently stored in main memory, addressing a distributed application memory to retrieve a plurality of error coded program data slices and a plurality of error coded configuration data slices, wherein the addressing includes:

addressing a first memory of the distributed application memory to retrieve a threshold number of error coded program data slices of the plurality of error coded program data slices; and

when less than the threshold number of the error coded program data slices are received from the first memory, addressing a second memory of the distributed application memory to retrieve at least one more error coded program data slices of the plurality of error coded configuration data slices;

reconstructing a data segment of the at least a portion of the application from the plurality of error coded program data slices using an error coding dispersal function;

reconstructing a data segment of the configuration information from the plurality of error coded configuration data slices using a second error coding dispersal function, wherein the configuration information includes at least one of application configuration parameters regarding the application and user preferences regarding the application; and

storing the data segment of the at least a portion of the application and the data segment of the configuration information in the main memory.

2. The method of claim 1 , wherein the second error coding dispersal function is substantially the same as the error coding dispersal function.

3. In the method of claim 1 further comprises:

detecting a change in the configuration information;

when a change is detected in the configuration information, updating the configuration information to produce updated configuration information; and

facilitating storage of the updated configuration information in the distributed application memory.

4. In the method of claim 1 , the addressing of the distributed application memory comprises one or more of:

addressing at least one of a plurality of non-local memory devices;

addressing at least one of a plurality of local area network (LAN) memory devices; and

addressing at least one of a plurality of wide area network (WAN) memory devices.

5. A computing core comprises:

a processing module;

main memory; and

a memory controller, wherein:

the processing module detects selection of an application;

at least one of the memory controller and the processing module:

determines whether at least a portion of the application and configuration information regarding the application are currently stored in main memory of the computing core;

when the at least a portion of the application and configuration information regarding the application are not currently stored in main memory, addresses a distributed application memory to retrieve a plurality of error coded program data slices and a plurality of error coded configuration data slices, wherein the addressing includes:

addressing a first memory of the distributed application memory to retrieve a threshold number of error coded program data slices of the plurality of error coded program data slices; and

when less than the threshold number of the error coded program data slices are received from the first memory, addressing a second memory of the distributed application memory to retrieve at least one more error coded program data slices of the plurality of error coded configuration data slices;

reconstructs a data segment of the at least a portion of the application from the plurality of error coded program data slices using an error coding dispersal function; and

reconstructs a data segment of the configuration information from the plurality of error coded configuration data slices using a second error coding dispersal function, wherein the configuration information includes at least one of application configuration parameters regarding the application and user preferences regarding the application; and

the main memory stores the data segment of the at least a portion of the application and the data segment of the configuration information.

6. In the computing core of claim 5 , wherein the second error coding dispersal function is substantially the same as the error coding dispersal function.

7. In the computing core of claim 5 further comprises:

detecting, by the at least one of the memory controller and the processing module, a change in configuration information;

when a change is detected in configuration information, by the at least one of the memory controller and the processing module, updating, by the at least one of the memory controller and the processing module, the configuration information to produce updated configuration information; and

facilitating, by the at least one of the memory controller and the processing module, storage of the updated configuration information.

8. In the computing core of claim 5 , wherein the at least one of the memory controller and the processing module address the distributed application memory by one or more of:

addressing at least one of a plurality of non-local memory devices;

addressing at least one of a plurality of LAN memory devices; and

addressing at least one of a plurality of WAN memory devices.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER AND TO REMOVE THE INCORRECT APPLICATION NUMBER PREVIOUSLY RECORDED ON REEL 024831 FRAME 0709. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 10, 2013
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 030451/0275 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2013
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 030272/0695 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2010
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 024831/0709 →