IP Library Granted Patent US 10,193,975
Granted Patent B2
US 10,193,975 · App. 15/066,693 · Granted Jan 29, 2019

Managing multiple cloud stores through a web service

Inventors: Somasundaram Kumaresan Beerana (Bellevue, WA); Varun Menasina Chidananda (Bellevue, WA); Jothikumar Rathinamoorthy (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L67/1097G06F3/0604G06F3/067G06F3/0664G06F9/5072G06F9/54G06F9/541G06F21/30H04L63/08H04L67/06
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,193,975
App. No.
15/066,693
Granted
Jan 29, 2019
Kind
B2
Abstract

A service exposes a storage system-independent application programming interface (API) and receives a data request from an application over the API. The service transforms the storage system-independent data request into a storage system-specific data request and executes it against an identified cloud-based storage system. The service can execute the request against multiple cloud-based storage systems and then return aggregated results to the application through the storage system-independent API.

Claims (46)

1. A computing system, comprising:

a processor; and

memory storing instructions executable by the processor, wherein the instructions, when executed, configure the computing system to:

receive, from a client device through a storage system-independent application programming interface, a call that is associated with an application on the client device and indicates a data access request to move an identified file from a first cloud-based storage system to a second cloud-based storage system, wherein

the first cloud-based storage system implements a first storage system-specific interface, and

the second cloud-based storage system implements a second storage system-specific interface that is different than the first storage system-specific interface;

perform an authentication operation to authenticate the application to the first cloud-based storage system;

transform the call into a storage system-specific call that is configured in accordance with the first storage system-specific interface; and

execute the storage system-specific call against the first storage system-specific interface to perform the operation, by moving the identified file from the first cloud-based storage system to the second cloud-based storage system without downloading the identified file to the client device.

2. The computing system of claim 1 wherein the instructions configure the computing system to:

receive a second call comprising a search request indicative of a search;

transform the second call into a plurality of different storage system-specific search requests; and

execute the plurality of storage system-specific search requests against the first and second storage system-specific interfaces to perform the search on the first and second cloud-based storage systems.

3. The computing system of claim 1 wherein the instructions configure the computing system to:

receive a second call comprising a data access request indicative a request to perform a data access operation on data on the plurality of different cloud-based storage systems;

transform the second call into a plurality of different storage system-specific data access requests; and

execute the plurality of storage system-specific data access requests against the first and second storage system-specific interfaces to perform the data access operation on the first and second cloud-based storage systems.

4. The computing system of claim 1 wherein the instructions configure the computing system to:

receive a second call comprises a data distribution request indicative of a data distribution operation to distribute data corresponding to a user across the first and second cloud-based storage systems;

transform the second call into a plurality of different storage system-specific data distribution requests; and

execute the plurality of storage system-specific data distribution requests against the first and second storage system-specific interfaces to perform the data distribution operation on the first and second cloud-based storage systems.

5. The computing system of claim 1 wherein the instructions configure the computing system to:

receive a second call comprises a file filtering request indicative of a file filtering operation;

transform the second call into a plurality of different storage system-specific file filtering requests; and

execute the plurality of storage system-specific file filtering requests against the first and second storage system-specific interfaces to perform the file filtering operation on the first and second cloud-based storage systems.

6. The computing system of claim 1 wherein the instructions configure the computing system to:

receive a second call comprises a backup request indicative of a backup operation;

transform the second call into a plurality of different storage system-specific backup requests; and

execute the plurality of storage system-specific backup requests against the first and second storage system-specific interfaces to perform the backup operation on the first and second cloud-based storage systems.

7. A computing system, comprising:

a processor; and

memory storing instructions executable by the processor, wherein the instructions, when executed, configure the computing system to:

receive, from an application through a storage system-independent application programming interface, a call to perform a data distribution operation to distribute data corresponding to a user across a plurality of different cloud-based storage systems, each of the cloud-based storage systems implementing a different corresponding storage system-specific interface;

perform an authentication operation to authenticate the application to the plurality of different cloud-based storage systems; and

transform the call into a plurality of different storage system-specific data distribution requests, wherein each storage system-specific data distribution request:

corresponds to one of the plurality of different cloud-based storage systems, and

is configured in accordance with the storage system-specific interface implemented by the corresponding cloud-based storage system; and

execute each of the plurality of different storage system-specific data distribution requests against the corresponding one of the plurality of storage system-specific interfaces to perform the data distribution operation on the plurality of different cloud-based storage systems.

8. The computing system of claim 7 wherein the instructions, when executed, configure the computing system to:

receive from the application, through the storage system-independent application programming interface, a second call to perform a file filtering operation, the second call including a filter criterion for the file filtering operation;

transform the second call into a plurality of different storage system-specific file filtering requests, wherein each storage system-specific file filtering requests:

corresponds to one of the plurality of different cloud-based storage systems,

includes the filter criterion, and

is configured in accordance with the storage system-specific interface implemented by the corresponding cloud-based storage system;

execute each of the plurality of different storage system-specific file filtering requests against a corresponding one of the plurality of storage system-specific interfaces to perform the file filtering operation on the plurality of different cloud-based storage systems; and

receive filter results, indicative of the file filtering operation performed on the plurality of different cloud-based storage systems, through the plurality of storage system-specific interfaces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2016
From: BEERANA, SOMASUNDARAM KUMARESAN; CHIDANANDA, VARUN MENASINA; RATHINAMOORTHY, JOTHIKUMAR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 037948/0974 →
Continuity (1)
Related Publication 20170264687A1 · Sep 14, 2017
Cited By (2)
US 12,705,207 US 12,705,208