IP Library Patent Application 15350766
Patent Application
App. No. 15/350,766

SECURE VIRTUALIZATION OF REMOTE STORAGE SYSTEMS

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 None
App. No.
15/350,766
Abstract

The disclosed embodiments provide a system for managing access to a remote storage system. During operation, the system receives a request from a user to access a remote storage system. Next, the system matches one or more parameters in the request to metadata in a virtual filesystem in the remote storage system. The system then processes the request by using the metadata to access one or more files in a file store that is physically separate from the virtual filesystem

Claims (75)

1 . A method, comprising:

receiving a request from a user to access a remote storage system;

matching, by a computer system, one or more parameters in the request to metadata in a virtual filesystem in the remote storage system; and

processing, by the computer system, the request by using the metadata to access one or more files in a file store that is physically separate from the virtual filesystem.

2 . The method of claim 1 , further comprising:

matching authentication credentials from the user to a virtual user in a user store;

upon initiation of a user session for the virtual user, creating a sandbox for accessing the remote storage system by the virtual user; and

configuring the sandbox with a set of permissions for the virtual user.

3 . The method of claim 2 , wherein creating the sandbox for accessing the remote storage system for the virtual user comprises:

creating a virtual root directory representing the virtual filesystem within the sandbox; and

creating a set of virtual files comprising the metadata within the virtual root directory.

4 . The method of claim 3 , wherein creating the set of virtual files within the virtual root directory comprises:

omitting creation of a virtual file when a subset of the metadata associated with the virtual file comprises a deleted state or an expired state.

5 . The method of claim 2 , further comprising:

destroying the sandbox upon termination of the user session for the virtual user.

6 . The method of claim 1 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a listing request, using the metadata to generate a listing of files in the virtual filesystem.

7 . The method of claim 1 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a read request, matching a filename in the request to an obfuscated filename in the metadata;

retrieving a file with the obfuscated filename from the file store; and

providing the file to the user in response to the read request.

8 . The method of claim 1 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a write request, writing a file specified in the write request to the file store;

setting an obfuscated filename for the file in the file store; and

updating the metadata in the virtual filesystem with a subset of the metadata associated with the file, wherein the subset of the metadata comprises the obfuscated filename.

9 . The method of claim 1 , wherein the request is received from a load balancer that distributes requests from multiple users for accessing the remote storage system across a set of processing nodes.

10 . The method of claim 1 , wherein the metadata comprises at least one of:

a filename;

an upload time;

a file size;

a status;

an expiration time; and

an obfuscated filename in the file store.

11 . The method of claim 1 , wherein the virtual filesystem comprises:

a virtual root directory for the user;

one or more sub-directories under the virtual root directory; and

one or more files.

12 . An apparatus, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive a request from a user to access a remote storage system;

match one or more parameters in the request to metadata in a virtual filesystem in the remote storage system; and

process the request by using the metadata to access one or more files in a file store that is physically separate from the virtual filesystem.

13 . The apparatus of claim 12 , wherein the memory further stores instructions that, when executed by the one or more processors, cause the apparatus to:

match authentication credentials from the user to a virtual user in a user store;

upon initiation of a user session for the virtual user, create a sandbox for accessing the remote storage system by the virtual user;

configure the sandbox with a set of permissions for the virtual user; and

destroy the sandbox upon termination of the user session for the virtual user.

14 . The apparatus of claim 13 , wherein creating the sandbox for accessing the remote storage system for the virtual user comprises:

creating a virtual root directory representing the virtual filesystem within the sandbox; and

creating a set of virtual files comprising the metadata within the virtual root directory.

15 . The apparatus of claim 14 , wherein creating the set of virtual files within the virtual root directory comprises:

omitting creation of a virtual file when a subset of the metadata associated with the virtual file comprises a deleted state or an expired state.

16 . The apparatus of claim 12 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a listing request, using the metadata to generate a listing of files in the virtual filesystem.

17 . The apparatus of claim 12 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a read request, matching a filename in the request to an obfuscated filename in the metadata;

retrieving a file with the obfuscated filename from the file store; and

providing the file to the user in response to the read request.

18 . The apparatus of claim 12 , wherein using the metadata to access the one or more files in the file store comprises:

when the request comprises a write request, writing a file specified in the write request to the file store;

setting an obfuscated filename for the file in the file store; and

updating the metadata in the virtual filesystem with a subset of the metadata associated with the file, wherein the subset of the metadata comprises the obfuscated filename.

19 . A remote storage system, comprising:

a file store;

a virtual filesystem that is physically separate from the file store; and

a server comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to:

receive a request from a user to access the remote storage system;

match one or more parameters in the request to metadata in the virtual filesystem; and

process the request by using the metadata to access one or more files in the file store.

20 . The remote storage system of claim 19 , wherein the non-transitory computer-readable medium of the server further comprises instructions that, when executed, cause the system to:

match authentication credentials from the user to a virtual user in a user store;

upon initiation of a user session for the virtual user, create a sandbox for accessing the remote storage system by the virtual user;

configure the sandbox with a set of permissions for the virtual user; and

destroy the sandbox upon termination of the user session for the virtual user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: HO, ALBERT M.; LIU, QI; SANDORI, MARK I.
To: LINKEDIN CORPORATION
Reel/Frame 040450/0117 →