IP Library Granted Patent US 9,697,376
Granted Patent B2
US 9,697,376 · App. 14/801,858 · Granted Jul 4, 2017

Federated cloud storage system

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,697,376
App. No.
14/801,858
Granted
Jul 4, 2017
Kind
B2
Abstract

User storage is attached to a central storage management system when the central storage management system receives a request to attach a cloud-based user storage thereto. The central storage management system accesses the cloud-based user storage and determines a set of objects stored therein. For each object in the set of objects, the storage management system stores corresponding metadata therein.

Claims (110)

1. A method of attaching user storage to a central storage management system, the method comprising:

receiving a first request to attach a first cloud-based user storage to the central storage management system;

receiving a second request to attach a second cloud-based user storage to the central storage management system;

accessing the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein;

for each object in the first and second sets of objects, storing corresponding metadata in the central storage management system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored, and wherein the metadata for each object stores relationship information, the relationship information indicating an immediate parent object corresponding to the object; and

updating a file system corresponding to the central storage management system, the file system implementing an object hierarchy based on the relationship information stored in the metadata for each object, wherein the updating of the file system comprises creating, in the file system, a plurality of attributes, each attribute corresponding to an object in the first set of objects.

2. The method of claim 1 , further comprising:

receiving a third request to attach a local user storage to the central storage management system, wherein the local user storage is a storage device that is coupled to a host computer from which the third request is transmitted;

accessing the local user storage and determining a third set of objects stored therein; and

for each object in the third set of objects, storing corresponding metadata in the central storage management system.

3. The method of claim 2 , wherein the objects in the first, second and third sets of objects comprise files and directories.

4. The method of claim 1 , further comprising:

responsive to receiving the first and second requests, obtaining a first set of user credentials transmitted with the first and second requests; and

authenticating the first set of user credentials.

5. The method of claim 4 , wherein accessing the first and second cloud-based user storages comprises:

obtaining second and third sets of user credentials, the second set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the third set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmitting, to the first cloud storage provider, the second set of user credentials;

transmitting, to the second cloud storage provider, the third set of user credentials; and

receiving, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted.

6. The method of claim 5 , wherein the transmitting of the second and third sets of user credentials comprises:

transmitting the second and third sets of user credentials to a communication layer, the communication layer including a plurality of communication modules, each communication module corresponding to a cloud storage provider;

determining, by the communication layer, that the second set of user credentials are to be transmitted to the first cloud storage provider and that the third set of user credentials are to be transmitted to the second cloud storage provider; and

responsive to the determining, selecting, by the communication layer, a first communication module corresponding to the first cloud storage provider and a second communication module corresponding to the second cloud storage provider and transmitting, by the communication layer, the second and third sets of user credentials using the corresponding selected communication module.

7. The method of claim 1 wherein, if a mode indicator corresponding to a user indicates that the central storage system is in a federated mode, the updating further comprises creating in the file system a descriptor corresponding to a cloud storage provider that stores the cloud-based user storage.

8. A non-transitory computer-readable medium that stores instructions, where the instructions, when executed, cause a computer to perform a method of attaching user storage to a central storage management system, the method comprising:

receiving a first request to attach a first cloud-based user storage to the central storage management system;

receiving a second request to attach a second cloud-based user storage to the central storage management system;

accessing the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein;

for each object in the first and second sets of objects, storing corresponding metadata in the central storage management system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored, and wherein the metadata for each object stores relationship information, the relationship information indicating an immediate parent object corresponding to the object; and

updating a file system corresponding to the central storage management system, the file system implementing an object hierarchy based on the relationship information stored in the metadata for each object, wherein the updating of the file system comprises creating, in the file system, a plurality of attributes, each attribute corresponding to an object in the first set of objects.

9. The computer-readable medium of claim 8 , wherein the method further comprises:

receiving a third request to attach a local user storage to the central storage management system, wherein the local user storage is a storage device that is coupled to a host computer from which the third request is transmitted;

accessing the local user storage and determining a third set of objects stored therein; and

for each object in the third set of objects, storing corresponding metadata in the central storage management system.

10. The computer-readable medium of claim 9 , wherein the objects in the first, second, and third sets of objects comprise files and directories.

11. The computer-readable medium of claim 8 , wherein the method further comprises:

responsive to receiving the first and second requests, obtaining a first set of user credentials transmitted with the first and second requests; and

authenticating the first set of user credentials.

12. The computer-readable medium of claim 11 , wherein accessing the first and second cloud-based user storages comprises:

obtaining second and third sets of user credentials, the second set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the third set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmitting, to the first cloud storage provider, the second set of user credentials;

transmitting, to the second cloud storage provider, the third set of user credentials; and

receiving, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted.

13. The computer-readable medium of claim 12 , wherein the transmitting of the second and third sets of user credentials comprises:

transmitting the second and third sets of user credentials to a communication layer, the communication layer including a plurality of communication modules, each communication module corresponding to a cloud storage provider;

determining, by the communication layer, that the second set of user credentials are to be transmitted to the first cloud storage provider and that the third set of user credentials are to be transmitted to the second cloud storage provider; and

responsive to the determining, selecting, by the communication layer, a first communication module corresponding to the first cloud storage provider and a second communication module corresponding to the second cloud storage provider and transmitting, by the communication layer, the second and third sets of user credentials using the corresponding selected communication module.

14. The computer-readable medium of claim 8 wherein, if a mode indicator corresponding to a user indicates that the central storage system is not in a federated mode, the updating of the file system further comprises creating, in the file system, a descriptor corresponding to a cloud storage provider that stores the cloud-based user storage.

15. A system, comprising:

a computer processor;

memory; and

a central storage management computer system configured to:

receive a first request to attach a first cloud-based user storage to the central storage management computer system;

receive a second request to attach a second cloud-based user storage to the central storage management computer system;

access the first and second cloud-based user storages and determine, respectively, first and second sets of objects stored therein;

for each object in the first and second sets of objects, store corresponding metadata in the central storage management computer system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored, and wherein the metadata for each object stores relationship information, the relationship information indicating an immediate parent object corresponding to the object; and

update a file system corresponding to the central storage management computer system, the file system implementing an object hierarchy based on the relationship information stored in the metadata for each object, wherein a process of updating the file system comprises creating, in the file system, a plurality of attributes, each attribute corresponding to an object in the first set of objects.

16. The system of claim 15 , wherein the central storage management computer system is further configured to:

receive a third request to attach a local user storage to the central storage management computer system, wherein the local user storage is a storage device that is coupled to a host computer from which the second request is transmitted;

access the local user storage and determining a third set of objects stored therein; and

for each object in the third set of objects, store corresponding metadata in the central storage management computer system.

17. A method of attaching user storage to a central storage management system, the method comprising:

receiving a first request to attach a first cloud-based user storage to the central storage management system;

receiving a second request to attach a second cloud-based user storage to the central storage management system;

responsive to receiving the first and second requests, obtaining a first set of user credentials transmitted with the first and second requests;

authenticating the first set of user credentials;

accessing the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein, wherein accessing the first and second cloud-based user storages comprises:

obtaining second and third sets of user credentials, the second set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the third set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmitting, to the first cloud storage provider, the second set of user credentials;

transmitting, to the second cloud storage provider, the third set of user credentials; and

receiving, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted; and

for each object in the first and second sets of objects, storing corresponding metadata in the central storage management system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored.

18. A non-transitory computer-readable medium that stores instructions, where the instructions, when executed, cause a computer to perform a method of attaching user storage to a central storage management system, the method comprising:

receiving a first request to attach a first cloud-based user storage to the central storage management system;

receiving a second request to attach a second cloud-based user storage to the central storage management system;

responsive to receiving the first and second requests, obtaining a first set of user credentials transmitted with the first and second requests;

authenticating the first set of user credentials;

accessing the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein, wherein accessing the first and second cloud-based user storages comprises:

obtaining second and third sets of user credentials, the second set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the third set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmitting, to the first cloud storage provider, the second set of user credentials;

transmitting, to the second cloud storage provider, the third set of user credentials; and

receiving, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted; and

for each object in the first and second sets of objects, storing corresponding metadata in the central storage management system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored.

19. A system, comprising:

a computer processor;

memory; and

a central storage management computer system configured to:

receive a first request to attach a first cloud-based user storage to the central storage management computer system;

receive a second request to attach a second cloud-based user storage to the central storage management computer system;

responsive to receiving the first and second requests, obtain a first set of user credentials transmitted with the first and second requests;

authenticate the first set of user credentials;

access the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein; and

for each object in the first and second sets of objects, store corresponding metadata in the central storage management computer system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored,

wherein the central storage management computer system is further configured to:

obtain second and third sets of user credentials, the second set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the third set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmit, to the first cloud storage provider, the second set of user credentials;

transmit, to the second cloud storage provider, the third set of user credentials; and

receive, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted.

20. A method of attaching user storage to a central storage management system, the method comprising:

receiving a first request to attach a first cloud-based user storage to the central storage management system;

receiving a second request to attach a second cloud-based user storage to the central storage management system;

accessing the first and second cloud-based user storages and determining, respectively, first and second sets of objects stored therein, wherein accessing the first and second cloud-based user storages comprises:

obtaining first and second sets of user credentials, the first set of user credentials corresponding to a first cloud storage provider that stores the first cloud-based user storage and the second set of user credentials corresponding to a second cloud storage provider that stores the second cloud-based user storage;

transmitting, to the first cloud storage provider, the first set of user credentials;

transmitting, to the second cloud storage provider, the second set of user credentials; and

receiving, from the first and second cloud storage providers, responses indicating whether access to the respective cloud-based user storage is permitted;

for each object in the first and second sets of objects, storing corresponding metadata in the central storage management system, wherein the metadata indicates the cloud-based user storage at which the corresponding object is stored;

receiving a third request to attach a local user storage to the central storage management system, wherein the local user storage is a storage device that is coupled to a host computer from which the third request is transmitted;

accessing the local user storage and determining a third set of objects stored therein; and

for each object in the third set of objects, storing corresponding metadata in the central storage management system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2015
From: MADANAPALLI, NARENDRA PRASAD; VASANTHAKUMARI, REGHURAM; CHOWDARY, VALLURI
To: VMWARE, INC.
Reel/Frame 036121/0264 →