IP Library Granted Patent US 11,995,336
Granted Patent B2
US 11,995,336 · App. 16/397,947 · Granted May 28, 2024

Bucket views

Inventors: Fabio Margaglia (Sunnyvale, CA); Cary A. Sandvig (San Jose, CA); Deepak Chawla (Mountain View, CA); Shao-Ting Chang (Milpitas, CA)
Assignee: PURE STORAGE, INC.
G06F3/065G06F3/061G06F3/0652G06F3/0679G06F11/1453
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,995,336
App. No.
16/397,947
Granted
May 28, 2024
Kind
B2
Abstract

A method of operating an object-based storage system, practiced by the storage system, is provided. The method includes establishing a plurality of buckets for objects, in the storage system and establishing a plurality of bucket views in the storage system, each bucket view supporting access to objects of one of the plurality of buckets. The method includes accessing an object of a bucket through one of the plurality of bucket views.

Claims (70)

1. A method, comprising:

establishing a plurality of buckets for objects, in a storage system, wherein the storage system utilizes object-based storage having data managed as the objects, and wherein the objects are associated with attributes and metadata, and are stored in the buckets;

establishing a plurality of bucket views in the storage system, each bucket view supporting access to objects of one of the plurality of buckets; and

accessing an object of a bucket through one of the plurality of bucket views.

2. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view in which the object is visible after the object is replicated from the bucket to cache memory, the view being read-only; and

the accessing the object comprises accessing the replicated object in the cache memory, through the one of the plurality of bucket views.

3. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view in which the object is visible after the object is synchronously replicated from the bucket; and

the accessing the object comprises accessing the synchronously replicated object through the one of the plurality of bucket views.

4. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view in which the object is visible after the object is asynchronously replicated from the bucket; and

the accessing the object comprises accessing the asynchronously replicated object through the one of the plurality of bucket views.

5. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view in accordance with a remote tracking mode; and

the accessing the object comprises accessing the object in a local bucket through the view with the remote tracking mode off, or accessing the object as a replicated object in a remote bucket through the view with the remote tracking mode on.

6. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view having one or more links to replicated objects in cache memory; and

the accessing the object comprises accessing the object as a replicated object in the cache memory through the one of the plurality of bucket views.

7. The method of claim 1 , wherein:

the one of the plurality of bucket views comprises a view through one or more filters to objects of the bucket; and

the accessing the object comprises accessing the object through the one of the plurality of bucket views.

8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to:

manage a plurality of buckets for objects, in a storage system, using object-based storage to manage data as the objects with the objects associated with attributes and metadata and being stored in the buckets;

manage a plurality of bucket views in the storage system, each bucket view supporting access to a target bucket that is one of the plurality of buckets; and

access an object of one of the plurality of buckets through one of the plurality of bucket views.

9. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises a read-only bucket view in which the object is visible only after the object is replicated from the one of the plurality of buckets as the target bucket to cache memory; and

to access the object comprises to read the replicated object in the cache memory, through the read-only bucket view.

10. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises a synchronous replication bucket view in which the object is visible only after the object is synchronously replicated from the one of the plurality of buckets as the target bucket; and

to access the object comprises to access the synchronously replicated object through the synchronous replication bucket view.

11. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises an asynchronous replication bucket view in which the object is visible only after the object is asynchronously replicated from the one of the plurality of buckets as the target bucket; and

to access the object comprises to access the asynchronously replicated object through the asynchronous replication bucket view.

12. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises a remote bucket view controlled by a remote tracking mode that directs accessing the object in a local bucket through the remote bucket view with the remote tracking mode off and accessing the object as a replicated object in a remote bucket through the remote bucket view with the remote tracking mode on; and

to access the object comprises to access the object through the remote bucket view in accordance with the remote tracking mode.

13. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises a lazy bucket view having one or more weak links to replicated objects in cache memory; and

to access the object of the target bucket comprises to access the object as a replicated object from the target bucket, in the cache memory through the lazy bucket view.

14. The computer-readable media of claim 8 , wherein:

the one of the plurality of bucket views comprises a select bucket view through one or more filters to objects of the target bucket that satisfy a predicate according to the one or more filters; and

to access the object comprises to access the object in the target bucket through the select bucket view, with the object visible in the select bucket view through the one or more filters.

15. A system, comprising:

storage memory; and

one or more processors, configurable to:

manage a plurality of buckets for objects, in the storage memory, using object-based storage to manage data as the objects with the objects associated with attributes and metadata and being stored in the buckets;

manage a plurality of bucket views, each bucket view supporting access to a target bucket that is one of the plurality of buckets; and

access an object of one of the plurality of buckets through one of the plurality of bucket views.

16. The object-based storage system of claim 15 , wherein:

the one or more processors are further configurable to manage a portion of the storage memory as cache memory;

the one of the plurality of bucket views comprises a read-only bucket view in which the object is visible only after the object is replicated from the one of the plurality of buckets as the target bucket to the cache memory; and

to access the object comprises to read the replicated object in the cache memory, through the read-only bucket view.

17. The object-based storage system of claim 15 , wherein:

the one of the plurality of bucket views comprises a synchronous replication bucket view in which the object is visible only after the object is synchronously replicated from a local one of the plurality of buckets as the target bucket to a remote one of the plurality of buckets;

to access the object comprises to access the synchronously replicated object through the synchronous replication bucket view;

a further one of the plurality of bucket views comprises an asynchronous replication bucket view in which a further object is visible only after the further object is asynchronously replicated from a local one of the plurality of buckets as the target bucket to a remote one of the plurality of buckets; and

to access the further object comprises to access the asynchronously replicated further object through the asynchronous replication bucket view.

18. The object-based storage system of claim 15 , wherein:

the one of the plurality of bucket views comprises a remote bucket view to be operated in accordance with a remote tracking mode that directs accessing the object in a local one of the plurality of buckets through the remote bucket view with the remote tracking mode off and accessing the object as a replicated object in a remote one of the plurality of buckets through the remote bucket view with the remote tracking mode on; and

to access the object comprises to access the object through the remote bucket view in accordance with the remote tracking mode.

19. The object-based storage system of claim 15 , wherein:

the one of the plurality of bucket views comprises a lazy bucket view having one or more weak links to replicated objects in cache memory;

to access the object of the target bucket comprises to access the object as a replicated object from the target bucket, in the cache memory through the lazy bucket view; and

the one or more processors are further configurable to evict data for one or more of the replicated objects in the cache memory.

20. The object-based storage system of claim 15 , wherein:

the one of the plurality of bucket views comprises a select bucket view through one or more filters to objects of the target bucket that satisfy a predicate according to the one or more filters;

the one or more processors are further configurable to make the object visible in the select bucket view through the one or more filters responsive to determining the object satisfies the predicate; and

to access the object comprises to access the object in the target bucket through the select bucket view.

Assignments (2)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
Continuity (2)
Provisional Application 62662676 · Apr 25, 2018
Related Publication 20200174671A1 · Jun 4, 2020
Cited By (2)
US 12,407,562 US 12,407,760