IP Library Granted Patent US 10,268,417
Granted Patent B1
US 10,268,417 · App. 15/792,745 · Granted Apr 23, 2019

Batch mode object creation in an elastic cloud data storage environment

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,268,417
App. No.
15/792,745
Granted
Apr 23, 2019
Kind
B1
Abstract

Batch mode object creation in an elastic cloud data storage environment is presented herein. A batch mode data chunk component is configured to: facilitate a creation of a batch of objects corresponding to an application; store first objects of the batch of objects in a group of data storage chunks; and based on a determination that a data storage chunk of the group of data storage chunks contains at least a defined amount of data, seal the data storage chunk to obtain a sealed data storage chunk; and a data protection component configured to: perform erasure encoding on the sealed data storage chunk, and replicate the sealed data storage chunk on a data recovery storage device.

Claims (69)

1. A system, comprising:

a batch mode data chunk component configured to:

facilitate a creation of a batch of objects corresponding to an application;

store first objects of the batch of objects in a group of data storage chunks; and

based on a determination that a data storage chunk of the group of data storage chunks contains at least a defined amount of data, seal the data storage chunk to obtain a sealed data storage chunk; and

a data protection component configured to:

perform erasure encoding on the sealed data storage chunk, and

replicate the sealed data storage chunk on a data recovery storage device.

2. The system of claim 1 , wherein the batch mode data chunk component is further configured to:

receive, from the application, information representing a number of objects comprising the first objects that have been included in the batch of objects, and further representing a data size of the batch of objects.

3. The system of claim 2 , wherein the batch mode data chunk component is further configured to:

based on the information, create the group of data storage chunks.

4. The system of claim 1 , wherein the data storage chunk is a first data storage chunk, wherein the determination is a first determination, and wherein the batch mode data chunk component is further configured to:

based on the first determination that the first data storage chunk contains the defined amount of data, and based on a second determination that second objects of the batch of objects have not been stored in the group of data storage chunks,

create a second data storage chunk of the group of data storage chunks, and

store a portion of the second objects in the second data storage chunk.

5. The system of claim 4 , wherein the sealed data storage chunk is a first sealed data storage chunk, and wherein the batch mode data chunk component is further configured to:

based on a third determination that the second data storage chunk contains the defined amount of data, seal the second data storage chunk to obtain a second sealed data storage chunk.

6. The system of claim 5 , wherein the data protection component is further configured to:

perform erasure encoding on the second sealed data storage chunk; and

replicate the second sealed data storage chunk on the data recovery storage device.

7. The system of claim 6 , wherein the data protection component is further configured to:

send an acknowledgment directed to the application representing that the first sealed data storage chunk and the second sealed data storage chunk have been replicated on the data recovery storage device.

8. The system of claim 1 , wherein the determination is a first determination, and wherein the data protection component is further configured to:

based on a second determination that the application has completed the creation of the batch of objects, and that second objects of the batch of objects have not been replicated, sending information directed to the application representing the second objects have not been replicated.

9. The system of claim 8 , wherein the data storage chunk is a first data storage chunk, wherein the sealed data storage chunk is a first sealed data storage chunk, and wherein the batch mode data chunk component is further configured to:

receive the second objects from the application;

create a second data storage chunk of the group of data storage chunks;

store a portion of the second objects in the second data storage chunk; and

based on a third determination that the second data storage chunk contains the defined amount of data, seal the second data storage chunk to obtain a second sealed data storage chunk.

10. The system of claim 9 , wherein the data protection component is further configured to:

perform erasure encoding on the second sealed data storage chunk, and

replicate the second sealed data storage chunk on the data recovery storage device.

11. A method, comprising:

in response to facilitating, by a system comprising a processor, generation of a group of data objects of an application of a first device, storing, by the system, a portion of the group of data objects in a group of data chunks; and

in response to a data chunk of the group of data chunks being determined to satisfy a defined condition with respect to an amount of data that has been included in the data chunk,

sealing the data chunk to obtain a sealed data chunk,

performing erasure encoding on the sealed data chunk, and

replicating the sealed data chunk on a second device of geographically distributed data storage devices.

12. The method of claim 11 , wherein the facilitating comprises:

creating, by the system via the application, the group of data objects.

13. The method of claim 11 , wherein the storing comprises:

receiving, from the application, a data stream comprising the portion of the group of data objects; and

storing the data stream in the group of data chunks.

14. The method of claim 11 , wherein the storing comprises:

receiving, from the application, information representing at least one of: a number of data objects of the application that have been included in the group of data objects, respective sizes of the data objects that have been included in the group of data objects, or a data size of the group of data objects; and

based on the information, generating the group of data chunks.

15. The method of claim 11 , wherein the data chunk is a first data chunk, wherein the portion is a first portion, and wherein the storing comprises:

generating the first data chunk;

storing the first portion in the first data chunk; and

in response to the sealing of the first data chunk,

generating a second data chunk of the group of data chunks, and

storing a second portion of the group of data objects in the second data chunk.

16. The method of claim 15 , further comprising:

sealing, by the system, the second data chunk to obtain another sealed data chunk; and

replicating, by the system, the other sealed data chunk on the second device.

17. The method of claim 11 , further comprising:

sending, by the system, status information directed to the application, wherein the status information represents data objects of the group of data objects that have not been replicated.

18. A machine-readable storage medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

facilitating a compilation, via an application, of objects of the application into a batch of objects;

in response to receiving, from the application, a stream of data comprising the batch of objects, storing a first portion of the batch of objects in data storage chunks; and

in response to determining that a data storage chunk of the data storage chunks has been filled with a defined amount of data,

sealing the data storage chunk resulting in a sealed data storage chunk,

performing erasure coding on the sealed data storage chunk, and

replicating the sealed data storage chunk to a data storage device.

19. The machine-readable storage medium of claim 18 , wherein the operations further comprise:

in response to receiving, from the application, information representing at least one of a number of the objects that have been included in the batch of objects, respective sizes of the objects that have been included in the batch of objects, or a size of the batch of objects, generating the data storage chunks based on the information.

20. The machine-readable storage medium of claim 18 , wherein the operations further comprise:

sending information directed to the application specifying a second portion of the batch of objects that have not been replicated on the data storage device.

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 (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2017
From: DANILOV, MIKHAIL; O'CONNELL, MARK A.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043962/0644 →