IP Library Granted Patent US 11,455,275
Granted Patent B2
US 11,455,275 · App. 16/274,451 · Granted Sep 27, 2022

Storing a point in time coherently for a distributed storage system

Inventors: Maor Ben Dayan (Tel Aviv, IL); Omri Palmon (Tel Aviv, IL); Liran Zvibel (Tel Aviv, IL); Kanael Arditti (Tel Aviv, IL)
G06F16/128G06F11/1451G06F16/182G06F2201/84
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 11,455,275
App. No.
16/274,451
Granted
Sep 27, 2022
Kind
B2
Abstract

A plurality of computing devices are communicatively coupled to each other via a network, and each of the plurality of computing devices is operably coupled to one or more of a plurality of storage devices. The computing devices may take snapshots to store points in time coherently for a distributed storage system.

Claims (44)

1. A method for a distributed storage system, comprising:

taking a snapshot of a file system distributed across multiple storage nodes, wherein the snapshot is taken on the whole file system, and wherein the snapshot is not taken on a subset of the file system;

maintaining the snapshot for the file system using a snapshot table and a file system views table; and

providing a snapshot index for accessing the snapshot,

wherein:

a constant snapshot index is provided for a current view of the file system,

the file system comprises a plurality of buckets,

each of the plurality of buckets is operable to write to a unique stripe, and

each of the plurality of buckets is independent of each other of the plurality of buckets.

2. The method of claim 1 , wherein the file system is distributed across five nodes.

3. The method of claim 1 , wherein the snapshot table comprises one or more entries, and each of the one or more entries has a snapshot index field, a pointer to its parent, a pointer to a left child, and a pointer to a right child.

4. The method of claim 3 , wherein the snapshot table comprises a file system identification.

5. The method of claim 1 , wherein the file system views table comprises one or more entries, and each of the one or more entries has a name field and a pointer to a corresponding snapshot.

6. The method of claim 1 , wherein the snapshot is writeable.

7. The method of claim 1 , comprising enumerating file system objects that belong to the snapshot.

8. The method of claim 7 , wherein the enumeration is done via an on-disk hash.

9. The method of claim 7 , wherein the enumeration is done with double-linked lists for the file system objects.

10. A distributed storage system comprising:

a file system distributed across multiple storage nodes; and

a processor, wherein the processor is configured to:

take a snapshot of the file system, wherein the snapshot is taken on the whole file system, and wherein the snapshot is not taken on a subset of the file system;

maintain the snapshot for the file system using a snapshot table and a file system views table; and

provide a snapshot index for accessing the snapshot, wherein:

a constant snapshot index is provided for a current view of the file system,

the file system comprises a plurality of buckets,

each of the plurality of buckets is operable to write to a unique stripe, and

each of the plurality of buckets is independent of each other of the plurality of buckets.

11. The system of claim 10 , wherein the file system is distributed across five storage nodes.

12. The system of claim 10 , wherein the processor is configured to populate one or more entries for the snapshot table, wherein each of the one or more entries has an identification (ID) field, a pointer to its parent, a pointer to a left child, and a pointer to a right child.

13. The system of claim 12 , wherein the processor is configured to populate a file system identification field in the snapshot table.

14. The system of claim 10 , wherein the processor is configured to populate one or more entries for the file system views table, wherein each of the one or more entries has a name field and a pointer to a corresponding snapshot.

15. A non-transitory machine-readable storage medium having stored thereon, a computer program having at least one code section for taking snapshots in a storage system, the at least one code section comprising machine executable instructions for causing the machine to perform steps comprising:

taking a snapshot of a file system distributed across multiple storage nodes, wherein the snapshot is taken on the whole file system, and wherein the snapshot is not taken on a subset of the file system;

maintaining the snapshot for the file system using a snapshot table and a file system views table; and

providing a snapshot index for accessing the snapshot, wherein:

a constant snapshot index is provided for a current view of the file system,

the file system comprises a plurality of buckets,

each of the plurality of buckets is operable to write to a unique stripe, and

each of the plurality of buckets is independent of each other of the plurality of buckets.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the file system is distributed across five nodes.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the snapshot table comprises one or more entries, and each of the one or more entries has a snapshot index field, a pointer to its parent, a pointer to a left child, and a pointer to a right child.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the snapshot table comprises a file system identification.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the file system views table comprises one or more entries, and each of the one or more entries has a name field and a pointer to a corresponding snapshot.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the snapshot is writeable.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 20, 2024
From: BANK LEUMI LE-ISRAEL B.M.
To: WEKAIO LTD.
Reel/Frame 067783/0962 →
SECURITY INTEREST Recorded Mar 29, 2020
From: WEKAIO LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 052253/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2019
From: BEN DAYAN, MAOR; PALMON, OMRI; ZVIBEL, LIRAN; ARDITTI, KANAEL
To: WEKA.IO LTD
Reel/Frame 048360/0853 →