IP Library Granted Patent US 10,037,434
Granted Patent B2
US 10,037,434 · App. 15/010,415 · Granted Jul 31, 2018

Systems and methods for facilitating access to private files using a cloud storage system

Inventors: Hakan Ancin (Los Gatos, CA); Xi Chen (Davis, CA); Amrit Jassal (Morgan Hill, CA); Daniel H. Jung (San Ramon, CA); Gregory B. Neustaetter (Sunnyvale, CA); Sean H. Puttergill (Sunnyvale, CA); Ramakrishnan Sundararaj (Sunnyvale, CA); Sanjay Vedanthan (Santa Clara, CA); Chandra Yalangi (San Jose, CA); Ramanathan Kavasseri (Fremont, CA); Ravi Wijayaratne (San Jose, CA); Shishir Sharma (Mountain View, CA)
Assignee: Egnyte, Inc.
G06F21/6227G06F15/17331G06F17/301G06F17/30082G06F17/30174G06F17/30215G06F17/30575G06F21/62G06F21/6209H04L63/08H04L63/10H04L63/105H04L63/20
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,037,434
App. No.
15/010,415
Granted
Jul 31, 2018
Kind
B2
Abstract

A method for providing access to objects associated with a particular client in a cloud storage system is disclosed. The method includes the steps of establishing a connection with a user, providing a client namespace associated with the client to the user, where the client namespace represents objects stored on the cloud storage system and objects stored on a private storage system apart from the cloud storage system, receiving a request from the user to access an object stored on the private storage system, and providing information to the user to facilitate access to the object stored on the private storage system by said user. Other systems and methods are also disclosed. Important advantages of the present invention are facilitated by separating the logic for user access (control plane) from the actual storage (Storage plane). Private file system access can still be managed from the cloud, while keeping the client data private.

Claims (56)

1. In a cloud storage system, a method for providing access to objects associated with a client, said method comprising:

establishing a connection with a user associated with said client over a network;

providing a client namespace associated with said client to said user via said connection, said client namespace including information representing objects of a cloud file system stored on said cloud storage system and information being indicative of portions of a private file system stored on a private storage system but not on said cloud storage system, said private storage system being located remotely from said cloud storage system;

receiving a request from said user, based on said client namespace, to access a portion of said private file system stored on said private storage system; and

providing access information to said user responsive to said request to access said portion of said private file system, said access information enabling said user to establish a separate connection with said private storage system and to access said portion of said private file system via said separate connection.

2. The method of claim 1 , wherein said access information includes connection information enabling said user to establish said separate connection with said private storage system.

3. The method of claim 2 , wherein said connection information includes HTTP endpoint information associated with said private storage system.

4. The method of claim 3 , wherein said endpoint information indicates a read-only endpoint.

5. The method of claim 1 , wherein said step of providing access information to said user responsive to said request includes redirecting said user to said private storage system.

6. The method of claim 1 , wherein:

said step of providing said client namespace includes providing a client namespace further including information being indicative of portions of a second private file system stored on a second private storage system but not on said cloud storage system, said second private storage system being located remotely from said cloud storage system; and

said method further comprises the steps of

receiving a second request from said user, based on said client namespace, to access a portion of said second private file system; and

providing second access information to said user responsive to said second request, said second access information enabling said user to establish a second separate connection with said second private storage system and to access said portion of said second private file system via said second separate connection.

7. The method of claim 6 , wherein:

said step of providing said client namespace to said user includes providing a first portion of said client namespace to said user based on objects stored on said cloud storage system;

said access information enables said user to retrieve a second portion of said client namespace from said private storage system; and

said second access information enables said user to retrieve a third portion of said client namespace from said second private storage system.

8. The method of claim 1 , wherein said access information enables said user to retrieve a private portion of said client namespace from said private storage system.

9. A cloud storage system for providing access to objects associated with a client, said cloud storage system comprising:

memory for storing data and code;

at least one processing unit for executing said code, said code including a namespace module operative to

provide a client namespace associated with said client, said client namespace including information representing objects of a cloud file system stored on said cloud storage system and information being indicative of portions of a private file system stored on a private storage system but not on said cloud storage system, said private storage system being located remotely from said cloud storage system and

provide access information to facilitate access to a portion of said private file system via said private storage system; and

at least one network interface operative to

establish a network connection with a user associated with said client,

provide said client namespace to said user via said network connection,

receive a request from said user, based on said client namespace, to access said portion of said private file system, and

provide said access information to said user, said access information enabling said user to establish a separate connection with said private storage system and to access said portion of said private file system via said separate connection.

10. The system of claim 9 , wherein said access information includes connection information enabling said user to establish said separate connection with said private storage system.

11. The system of claim 10 , wherein said connection information includes HTTP endpoint information associated with said private storage system.

12. The system of claim 11 , wherein said endpoint information indicates a read-only endpoint.

13. The system of claim 9 , wherein said namespace module is further operative to redirect said user to said private storage system in response to said network interface receiving said request from said user to access said portion of said private file system.

14. The system of claim 9 , wherein said namespace module is further operative to:

provide a client namespace further including information being indicative of portions of a second private file system stored on a second private storage system but not on said cloud storage system, said second private storage system being located remotely from said cloud storage system; and

provide second access information to said user, said second access information enabling said user to establish a second separate connection with said second private storage system and to access a portion of said second private file system via said second separate connection.

15. The system of claim 14 , wherein:

said namespace module is further operative to provide a first portion of said client namespace to said user based on objects stored on said cloud storage system;

said access information enables said user to retrieve a second portion of said client namespace from said private storage system; and

said second access information enables said user to retrieve a third portion of said client namespace from said second private storage system.

16. The system of claim 9 , wherein said access information enables said user to retrieve a private portion of said client namespace from said private storage system.

17. A cloud storage system for providing access to objects associated with a client, said cloud storage system comprising:

memory for storing data and code;

at least one processing unit for executing said code;

means for providing a client namespace including information representing objects of a cloud file system stored on said cloud storage system and information being indicative of portions of a private file system stored on a private storage system but not on said cloud storage system, said private storage system being located remotely from said cloud storage system;

means for providing access information to facilitate access to a portion of said private file system via said private storage system; and

at least one network interface operative to

establish a network connection with a user associated with said client,

provide said client namespace to said user via said network connection,

receive a request from said user, based on said client namespace, to access said portion of said private file system, and

provide said access information to said user, said access information enabling said user to establish a separate connection with said private storage system and to access said portion of said private file system via said separate connection.

18. A non-transitory, electronically-readable storage medium having code embodied therein for causing an electronic device to perform a method for providing access to objects associated with a client, said code being operative to cause said electronic device to:

establish a connection with a user associated with said client over a network;

provide a client namespace associated with said client to said user via said connection, said client namespace including information representing objects of a cloud file system stored on said cloud storage system and information being indicative of portions of a private file system stored on a private storage system but not on said cloud storage system, said private storage system being located remotely from said cloud storage system;

receive a request from said user, based on said client namespace, to access a portion of said private file system stored on said private storage system; and

provide access information to said user responsive to said request to access said portion of said private file system, said access information enabling said user to establish a separate connection with said private storage system and to access said portion of said private file system via said separate connection.

Assignments (6)
SECURITY INTEREST Recorded Mar 25, 2025
From: EGNYTE, INC.
To: TCG SENIOR FUNDING, L.L.C., AS COLLATERAL AGENT
Reel/Frame 070614/0319 →
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2025
From: JPMORGAN CHASE BANK, N.A.
To: EGNYTE, INC.
Reel/Frame 070519/0129 →
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2025
From: JPMORGAN CHASE BANK, N.A.
To: EGNYTE, INC.
Reel/Frame 070518/0898 →
SECURITY INTEREST Recorded Apr 1, 2022
From: EGNYTE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059568/0653 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY ADDRESS PREVIOUSLY RECORDED AT REEL: 55441 FRAME: 199. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 13, 2021
From: EGNYTE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057210/0629 →
SECURITY INTEREST Recorded Mar 1, 2021
From: EGNYTE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055441/0199 →
Continuity (4)
Continuation 14053357 · Oct 14, 2013
Provisional Application 61713445 · Oct 12, 2012
Provisional Application 61868268 · Aug 21, 2013
Related Publication 20160149888A1 · May 26, 2016