IP Library Granted Patent US 9,882,917
Granted Patent B2
US 9,882,917 · App. 14/957,775 · Granted Jan 30, 2018

Cloud computing secure data 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 9,882,917
App. No.
14/957,775
Granted
Jan 30, 2018
Kind
B2
Abstract

Technologies to provide a secure data storage service in a cloud computing environment are generally disclosed. In some examples, a method comprises: partitioning a data resource into data particles, assigning logic groups to the data particles, assigning physical storage groups to the data particles, and/or storing each physical storage group at corresponding storage resource, receiving a request for the data resource, determining whether the request for the data resource is valid, and if the request is valid, transmitting the data particles of the data resource to the client. The method enables improved security for accessing data, and also improves the user experience in cloud computing environments.

Claims (76)

1. A computer implemented method to provide a secure data storage service in a cloud computing environment, the computer implemented method comprising:

partitioning, at a resource of the cloud computing environment, a data resource received from a client for secure storage in the cloud computing environment into a plurality of data particles;

separating the plurality of data particles physically and logically to obtain a logical separation and a physical separation of the plurality of data particles;

changing, over time, the logical separation and the physical separation of the plurality of data particles in the data resource with iterations;

performing the iterations at a frequency that varies as a function of a security level of the data resource and available resources of the cloud computing environment to cause the plurality of data particles to be dynamically assigned to different logic groups and physical storage groups over time for enhanced security of the cloud computing environment, wherein the changing is performed repeatedly over time by:

assigning, at the resource of the cloud computing environment, the plurality of data particles to a plurality of logic groups, wherein at least one of the plurality of data particles assigned to each of the

respective plurality of logic groups is configured to communicate with the resource of the cloud computing environment;

assigning, at the resource of the cloud computing environment, the plurality of data particles to a plurality of physical storage groups; and

storing the plurality of physical storage groups at a plurality of storage resources of the cloud computing environment;

receiving, at the resource of the cloud computing environment, a request for the data resource from the client;

determining, at the resource of the cloud computing environment, whether the request for the data resource is valid; and

transmitting the plurality of data particles of the data resource to the client in response to a determination that the request for the data resource is valid.

2. The computer implemented method of claim 1 , further comprising:

encrypting, at the resource of the cloud computing environment, the data resource before partitioning the data resource into the plurality of data particles.

3. The computer implemented method of claim 1 , wherein the assigning the plurality of data particles to the plurality of logic groups comprises at least one of:

randomly assigning the plurality of data particles to the plurality of logic groups, or

randomly assigning the plurality of data particles to the plurality of physical storage groups.

4. The computer implemented method of claim 1 , wherein the resource of the cloud computing environment comprises at least one of a computer, a plurality of computers, a server, a computing resource, a virtual machine, or a computing cluster.

5. The computer implemented method of claim 1 , wherein changing, over time, the logical separation and the physical separation of the plurality of data particles in the data resource with iterations comprises changing the logical separation and the physical separation of the plurality of data particles after a random duration.

6. The computer implemented method of claim 1 , wherein transmitting the plurality of data particles of the data resource to the client comprises:

receiving the plurality of data particles from the plurality of storage resources at the resource of the cloud computing environment;

forming the data resource from the plurality of data particles; and

transmitting the data resource from the resource of the cloud computing environment to the client.

7. The computer implemented method of claim 1 , wherein partitioning the data resource into the plurality of data particles comprises numbering each data particle for later reassembly.

8. The computer implemented method of claim 1 , wherein one or more data particles, assigned to each of the plurality of logic groups, are configured to communicate with any other data particles in that logic group via peer-to peer communications.

9. A machine readable non-transitory medium having stored therein instructions that, when executed, cause a cloud computing resource in a cloud computing environment to:

partition, at the cloud computing resource, a data resource received from a client for secure storage in the cloud computing environment into a plurality of data particles;

separate the plurality of data particles physically and logically to obtain a logical separation and a physical separation of the plurality of data particles;

separate the plurality of data particles physically and logically to obtain a logical separation and a physical separation of the plurality of data particles;

change, over time, the logical separation and the physical separation of the plurality of data particles in the data resource with iterations;

perform the iterations at a frequency that varies as a function of a security level of the data resource and available resources of the cloud computing environment to cause the plurality of data particles to be dynamically assigned to different logic groups and physical storage groups over time for enhanced security of the cloud computing environment, wherein the changing is performed repeatedly over time by:

assigning, at the cloud computing resource, the plurality of data particles to a plurality of logic groups, wherein at least one of the plurality of data particles assigned to a respective one of the plurality of logic groups is configured to communicate with the cloud computing resource;

assigning, at the cloud computing resource, the plurality of data particles to a plurality of physical storage groups; and

storing the plurality of physical storage groups at a plurality of storage resources of the cloud computing environment;

receive, at the cloud computing resource, a request for the data resource from the client;

determine, at the cloud computing resource, whether the request for the data resource is valid; and

responsive to a determination that the request for the data resource is valid, transmit the plurality of data particles of the data resource to the client.

10. The machine readable non-transitory medium of claim 9 , having stored therein further instructions that, when executed, cause the cloud computing resource in the cloud computing environment to:

encrypt the data resource before partitioning the data resource into the plurality of data particles.

11. The machine readable non-transitory medium of claim 9 , having stored therein further instructions that, when executed, cause the cloud computing resource in the cloud computing environment to:

randomly assign the plurality of data particles to the plurality of logic groups, or

randomly assign the plurality of data particles to the plurality of physical storage groups.

12. The machine readable non-transitory medium of claim 9 , wherein the cloud computing resource comprises at least one of a computer, a plurality of computers, a server, a computing resource, a virtual machine, or a computing cluster.

13. The machine readable non-transitory medium of claim 9 , stored therein further instructions that, when executed, cause the cloud computing resource in the cloud computing environment to change the logical separation and the physical separation of the plurality of data particles after a random duration.

14. The machine readable non-transitory medium of claim 9 , having stored therein further instructions that, when executed, cause the cloud computing resource in the cloud computing environment to:

receive the plurality of data particles from the plurality of storage resources;

form the data source from the plurality of data particles; and

transmit the data resource to the client.

15. The machine readable non-transitory medium of claim 9 , having stored therein further instructions that, when executed, cause the cloud computing resource in the cloud computing environment to number each data particle for later reassembly.

16. The machine readable non-transitory medium of claim 9 , wherein one or more data particles assigned to each of the plurality of logic groups, are configured to communicate with any other data particles in that logic group via peer-to peer communications.

17. A cloud computing resource in a cloud computing environment, the cloud computing resource comprising:

a processor; and

a memory comprising a machine readable medium having stored therein instructions that, when executed, cause the cloud computing resource to:

partition, at the cloud computing resource, a data resource received from a client for secure storage in the cloud computing environment into a plurality of data particles;

separate the plurality of data particles physically and logically to obtain a logical separation and a physical separation of the plurality of data particles;

change, over time, the logical separation and the physical separation of the plurality of data particles in the data resource with iterations;

perform the iterations at a frequency that varies as a function of a security level of the data resource and available resources of the cloud computing environment to cause the plurality of data particles to be dynamically assigned to different logic groups and physical storage groups over time for enhanced security of the cloud computing environment, wherein the changing is performed repeatedly over time by:

assigning, at the cloud computing resource, the plurality of data particles to a plurality of logic groups, wherein at least one of the plurality of data particles assigned to a respective one of the plurality of logic groups is configured to communicate with the cloud computing resource;

assigning, at the cloud computing resource, the plurality of data particles to a plurality of physical storage groups; and

storing the plurality of physical storage groups at a plurality of storage resources of the cloud computing environment;

receive, at the cloud computing resource, a request for the data resource from the client;

determine, at the cloud computing resource, whether the request for the data resource is valid; and

responsive to a determination that the request for the data resource is valid, transmit the plurality of data particles of the data resource to the client.

18. The cloud computing resource of claim 17 , wherein the machine readable medium has stored therein further instructions that, when executed, cause the cloud computing resource to:

encrypt the data resource before partitioning the data resource into the plurality of data particles.

19. The cloud computing resource of claim 17 , wherein the machine readable medium has stored therein further instructions that, when executed, cause the cloud computing resource to:

randomly assign the plurality of data particles to the plurality of logic groups, or

randomly assign the plurality of data particles to the plurality of physical storage groups.

20. The cloud computing resource of claim 17 , wherein the cloud computing resource in the cloud computing environment comprises at least one of a computer, a plurality of computers, a server, a computing resource, a virtual machine, or a computing cluster.

21. The cloud computing resource of claim 17 , wherein the machine readable medium has stored therein further instructions that, when executed, cause the cloud computing resource to change the logical separation and the physical separation of the plurality of data particles after a random duration.

22. The cloud computing resource of claim 17 , wherein the machine readable medium has stored therein further instructions that, when executed, cause the cloud computing resource to:

receive the plurality of data particles from the plurality of storage resources of the cloud computing environment;

form the data source from the plurality of data particles; and

transmit the data resource to the client.

23. The cloud computing resource of claim 17 , wherein the machine readable medium has stored therein further instructions that, when executed, cause the cloud computing resource to number each data particle for later reassembly.

24. The cloud computing resource of claim 17 , wherein one or more data particles, assigned to each of the plurality of logic groups, are configured to communicate with any other data particles in that logic group via peer-to peer communications.

Assignments (2)
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2015
From: WANG, XIAODONG; FANG, JUN
To: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Reel/Frame 037199/0401 →