IP Library Granted Patent US 10,061,779
Granted Patent B2
US 10,061,779 · App. 14/835,003 · Granted Aug 28, 2018

Method and computing device for allowing synchronized access to cloud storage systems based on stub tracking

Inventor: Aron Brand (Petach-Tikva, IL)
Assignee: CTERA Networks, Ltd.
G06F17/30174G06F17/30235G06F17/30876H04L41/12H04L45/124H04L67/1097H04W4/60
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,061,779
App. No.
14/835,003
Granted
Aug 28, 2018
Kind
B2
Abstract

A method and computing device for allowing synchronized access to a cloud storage system (CSS) based on stub tracking. The computing device comprises: a processing unit; a storage system, wherein the storage system is configured to maintain objects, each object having a state, wherein each state is any one of: a synchronized state, and a stub state; and a memory, the memory containing instructions that, when executed by the processing unit, configure the computing device to: receive a request from a client to access an object maintained in the storage system; change the state of the requested object from a stub state to a synchronized state upon receiving the request; and synchronize data of the requested object having a synchronized state with the CSS.

Claims (39)

1. A computing device for allowing synchronized access to a cloud storage system (CSS), comprising:

a processing unit;

a storage system, wherein the storage system is configured to maintain objects, each object having a state, wherein each state is any one of: a synchronized state, and a stub state; and

a memory, the memory containing instructions that, when executed by the processing unit, configure the computing device to:

receive a request from a client to access data in a byte range within a file contained in at least one object maintained in the storage system;

change the state of the requested at least one object from a stub state to a synchronized state upon receiving the request;

synchronize data of the requested at least one object having a synchronized state with the CSS; and

upon the byte range becoming available, provide the requested data to the client.

2. The computing device of claim 1 , wherein the state of the requested at least one object is changed from a stub state to a synchronized state based on a cache management policy, wherein the computing device is further configured to:

disable synchronization of data of the at least one object in the stub state with the CSS.

3. The computing device of claim 1 , wherein the computing device is further configured to:

synchronize metadata of files to the storage system, wherein the metadata of each file includes at least a filename of the file.

4. The computing device of claim 1 , wherein the computing device is further configured to:

selectively synchronize metadata of a set of files residing in a predefined set of directories to the storage system, wherein the selective synchronization is performed on-demand.

5. The computing device of claim 1 , wherein the file has a stub state and wherein the computing device is further configured to:

change a state of at least the requested byte range to a synchronized state.

6. The computing device of claim 1 , wherein the files maintained in the storage system are exposed through a virtual file system.

7. The computing device of claim 1 , wherein the files maintained in the storage system are arranged in a multi-level namespace.

8. The computing device of claim 1 , wherein the computing device is any one of: a cloud storage gateway (CSG), and an endpoint.

9. A method for allowing synchronized access to a cloud storage system (CSS), comprising:

receiving a request from a client to access data in a byte range within a file contained in at least one object maintained in a storage system, wherein the storage system is configured to maintain objects, each at least one object having a state, wherein each state is any one of: a synchronized state, and a stub state;

changing the state of the requested at least one object from a stub state to a synchronized state upon receiving the request; and

synchronizing data of the requested at least one object having a synchronized state with the CSS; and

upon the byte range becoming available, providing the requested data to the client.

10. The method of claim 9 , wherein the state of the requested at least one object is changed from a stub state to a synchronized state based on a cache management policy, wherein the method further comprising:

disabling synchronization of data of the at least one object in the stub state with the CSS.

11. The method of claim 9 , further comprising:

synchronizing metadata of files to the storage system, wherein the metadata of each file includes at least a filename of the file.

12. The method of claim 9 , further comprising:

selectively synchronizing metadata of a set of files residing in a predefined set of directories to the storage system, wherein the selective synchronization is performed on-demand.

13. The method of claim 9 , wherein the file has a stub state, the method further comprising:

changing a state of at least the requested byte range to a synchronized state.

14. The method of claim 9 , wherein the files maintained in the storage system are exposed through a virtual file system.

15. The method of claim 9 , wherein the files maintained in the storage system are arranged in a multi-level namespace.

16. A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute a method for allowing synchronized access to a cloud storage system (CSS):

receiving a request from a client to access data in a byte range within a file contained in at least one object maintained in a storage system, wherein the storage system is configured to maintain objects, each at least one object having a state, wherein each state is any one of: a synchronized state, and a stub state;

changing the state of the requested at least one object from a stub state to a synchronized state upon receiving the request;

synchronizing data of the requested at least one object having a synchronized state with the CSS; and

upon the byte range becoming available, providing the requested data to the client.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Aug 20, 2026
From: KREOS CAPITAL VI (EXPERT FUND) L.P.
To: CTERA NETWORKS LTD
Reel/Frame 075725/0290 →
SECURITY INTEREST Recorded Nov 27, 2023
From: CTERA NETWORKS LTD.
To: HAPOALIM BANK B.M.
Reel/Frame 065671/0256 →
SECURITY INTEREST Recorded Oct 30, 2023
From: CTERA NETWORKS LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 065379/0792 →
SECURITY INTEREST Recorded Apr 7, 2022
From: CTERA NETWORKS LTD.
To: KREOS CAPITAL VI (EXPERT FUND) L.P.
Reel/Frame 059523/0377 →
SECURITY INTEREST Recorded Mar 25, 2020
From: CTERA NETWORKS LTD.
To: KREOS CAPITAL VI (EXPERT FUND) LP
Reel/Frame 052217/0678 →
RELEASE OF SECURITY INTEREST Recorded Dec 20, 2018
From: VIOLA CREDIT FIVE (CT), LIMITED PARTNERSHIP
To: CTERA NETWORKS LTD.
Reel/Frame 047967/0146 →
SECURITY INTEREST Recorded May 23, 2017
From: CTERA NETWORKS LTD.
To: VIOLA CREDIT FIVE (CT), LIMITED PARTNERSHIP
Reel/Frame 042481/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2015
From: BRAND, ARON
To: CTERA NETWORKS, LTD.
Reel/Frame 036415/0117 →
Continuity (2)
Provisional Application 62041941 · Aug 26, 2014
Related Publication 20160063027A1 · Mar 3, 2016