# US 12,222,905 B2 · Bridging heterogeneous sets of cloud applications and storage

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,222,905 B2
- Document ID: US12222905B2
- Status: Granted
- Kind: B2
- Application number: 18/183,313
- Filed: 2023-03-14
- Published: 2024-09-19
- Granted: 2025-02-11
- Earliest claimed: 2023-03-14
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Gokul Thiruchengode Vajravel; Srinivasa Ragavan Rajagopalan; Vivekanandh Narayanasamy Rajagopalan
- Web page: https://patentgrep.com/patent/US12222905B2

## CPC

- G06F 16/183: {Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Heterogeneous sets of cloud applications and storage can be bridged. Cloud services can be configured to include a Web Application Open Platform Interface (WOPI) abstractor, multiple WOPI servers corresponding to respective multiple WOPI clients of cloud applications that may be used to access files, and a cloud storage abstractor that functions as an intermediary between the multiple WOPI servers and multiple cloud storages in which the files may be stored. The cloud services allow a user to access a single webpage or other interface to obtain access to his or her files stored in the multiple cloud storages via any of the multiple cloud applications.

## Claims

### Claim 1

A method for bridging heterogeneous sets of cloud applications and storage, the method comprising:
establishing, by a Web Application Open Platform Interface (WOPI) abstractor, a connection with a cloud storage abstractor and with each of a plurality of WOPI servers, wherein the WOPI servers have a one-to-one relationship with a plurality of WOPI clients that are implemented by a respective plurality of cloud applications corresponding to a plurality of cloud storages;
obtaining, by the WOPI abstractor, administrator configurations;
providing, by the WOPI abstractor, the administrator configurations to the cloud storage abstractor;
receiving, at the WOPI abstractor and from a user device of a user, a request to view the user's files that are stored in the plurality of cloud storages;
using, by the WOPI abstractor, the administrator configurations to determine that the user is authorized to use a first cloud application of the plurality of cloud applications;
in response to determining that the user is authorized to use the first cloud application, routing the request to a first WOPI server of the plurality of WOPI servers that corresponds with a first WOPI client implemented by the first cloud application;
sending, by the first WOPI server and to the cloud storage abstractor, a request for a list of the user's files that are stored in the plurality of cloud storages;
using, by the cloud storage abstractor, the administrator configurations to determine which of the plurality of cloud storages the user is authorized to use;
obtaining, by the cloud storage abstractor, a list of the user's files from each of the plurality of cloud storages the user is authorized to use;
receiving, at the first WOPI server, the list of the user's files;
receiving, by the WOPI abstractor and from the first WOPI server, the list of the user's files; and
causing, by the WOPI abstractor, the list of the user's files to be presented to the user via the user device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the list of the user's files is presented to the user in a webpage that is common to the first cloud application and one or more other cloud applications.

### Claim 3 (depends on 1)

The method of claim 1, wherein causing the list of the user's files to be presented to the user via the user device includes providing details about the first cloud application to the user device.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
in response to the user providing input requesting to open a first file of the user's files, receiving, at the first WOPI server and from the first WOPI client, a request for information about the first file;
obtaining, by the first WOPI server and from the cloud storage abstractor, the information about the first file, the information about the first file including a location where the first file is stored in one of the plurality of cloud storages.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving, at the first WOPI server and from the first WOPI client, a request for contents of the first file;
obtaining, by the first WOPI server and from the cloud storage abstractor, the contents of the first file.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
sending, by the first WOPI server, the contents of the first file to the first WOPI client to thereby cause the first cloud application to present the contents of the first file to the user via the user device.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request to view the user's files is received via a webpage that the WOPI abstractor provides.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
receiving, at the webpage, a request to open a first file of the user's files; and
causing the request to open the first file to be directed to the first WOPI client.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving, at the webpage, a request to open a second file of the user's files; and
causing the request to open the second file to be directed to a second WOPI client implemented by a second cloud application of the plurality of cloud applications.

### Claim 10

One or more computer storage media storing computer executable instructions which when executed implement a method for bridging heterogeneous sets of cloud applications and storage, the method comprising:
establishing, by a Web Application Open Platform Interface (WOPI) abstractor, a connection with a cloud storage abstractor and with each of a plurality of WOPI servers, wherein the WOPI servers have a one-to-one relationship with a plurality of WOPI clients that are implemented by a respective plurality of cloud applications corresponding to a plurality of cloud storages;
obtaining, by the WOPI abstractor, administrator configurations;
providing, by the WOPI abstractor, the administrator configurations to the cloud storage abstractor;
receiving, at the WOPI abstractor and from a user device of a user, a request to view the user's files that are stored in the plurality of cloud storages;
using, by the WOPI abstractor, the administrator configurations to determine that the user is authorized to use a first cloud application of the plurality of cloud applications;
in response to determining that the user is authorized to use the first cloud application, routing the request to a first WOPI server of the plurality of WOPI servers that corresponds with a first WOPI client implemented by the first cloud application;
sending, by the first WOPI server and to the cloud storage abstractor, a request for a list of the user's files that are stored in the plurality of cloud storages;
using, by the cloud storage abstractor, the administrator configurations to determine which of the plurality of cloud storages the user is authorized to use;
obtaining, by the cloud storage abstractor, a list of the user's files from each of the plurality of cloud storages the user is authorized to use;
receiving, at the first WOPI server, the list of the user's files;
receiving, by the WOPI abstractor and from the first WOPI server, the list of the user's files; and
causing, by the WOPI abstractor, the list of the user's files to be presented to the user via the user device.

### Claim 11 (depends on 10)

The computer storage media of claim 10, wherein the list of the user's files is presented to the user in a webpage that is common to the first cloud application and one or more other cloud applications.

### Claim 12 (depends on 10)

The computer storage media of claim 10, wherein causing the list of the user's files to be presented to the user via the user device includes providing details about the first cloud application to the user device.

### Claim 13 (depends on 10)

The computer storage media of claim 10, wherein the method further comprises:
in response to the user providing input requesting to open a first file of the user's files, receiving, at the first WOPI server and from the first WOPI client, a request for information about the first file;
obtaining, by the first WOPI server and from the cloud storage abstractor, the information about the first file, the information about the first file including a location where the first file is stored in one of the plurality of cloud storages.

### Claim 14 (depends on 13)

The computer storage media of claim 13, wherein the method further comprises:
receiving, at the first WOPI server and from the first WOPI client, a request for contents of the first file;
obtaining, by the first WOPI server and from the cloud storage abstractor, the contents of the first file.

### Claim 15 (depends on 14)

The computer storage media of claim 14, wherein the method further comprises:
sending, by the first WOPI server, the contents of the first file to the first WOPI client to thereby cause the first cloud application to present the contents of the first file to the user via the user device.

### Claim 16 (depends on 10)

The computer storage media of claim 10, wherein the request to view the user's files is received via a webpage that the WOPI abstractor provides.

### Claim 17 (depends on 16)

The computer storage media of claim 16, wherein the method further comprises:
receiving, at the webpage, a request to open a first file of the user's files; and
causing the request to open the first file to be directed to the first WOPI client.

### Claim 18 (depends on 17)

The computer storage media of claim 17, wherein the method further comprises:
receiving, at the webpage, a request to open a second file of the user's files; and
causing the request to open the second file to be directed to a second WOPI client implemented by a second cloud application of the plurality of cloud applications.

### Claim 19

A system comprising:
one or more processors; and
one or more computer storage media storing computer executable instructions which when executed implement a method for bridging heterogeneous sets of cloud applications and storage, the method comprising:
establishing, by a Web Application Open Platform Interface (WOPI) abstractor, a connection with a cloud storage abstractor and with each of a plurality of WOPI servers, wherein the WOPI servers have a one-to-one relationship with a plurality of WOPI clients that are implemented by a respective plurality of cloud applications corresponding to a plurality of cloud storages;
obtaining, by the WOPI abstractor, administrator configurations;
providing, by the WOPI abstractor, the administrator configurations to the cloud storage abstractor;
receiving, at the WOPI abstractor and from a user device of a user, a request to view the user's files that are stored in the plurality of cloud storages;
using, by the WOPI abstractor, the administrator configurations to determine that the user is authorized to use a first cloud application of the plurality of cloud applications;
in response to determining that the user is authorized to use the first cloud application, routing the request to a first WOPI server of the plurality of WOPI servers that corresponds with a first WOPI client implemented by the first cloud application;
sending, by the first WOPI server and to the cloud storage abstractor, a request for a list of the user's files that are stored in the plurality of cloud storages;
using, by the cloud storage abstractor, the administrator configurations to determine which of the plurality of cloud storages the user is authorized to use;
obtaining, by the cloud storage abstractor, a list of the user's files from each of the plurality of cloud storages the user is authorized to use;
receiving, at the first WOPI server, the list of the user's files;
receiving, by the WOPI abstractor and from the first WOPI server, the list of the user's files; and
causing, by the WOPI abstractor, the list of the user's files to be presented to the user via the user device.

### Claim 20 (depends on 19)

The system of claim 19, wherein the list of the user's files is presented to the user in a webpage that is common to the first cloud application and one or more other cloud applications.
