# US 12,001,688 B2 · Utilizing data views to optimize secure data access in a storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,688 B2
- Document ID: US12001688B2
- Status: Granted
- Kind: B2
- Application number: 17/034,361
- Filed: 2020-09-28
- Published: 2021-01-21
- Granted: 2024-06-04
- Earliest claimed: 2019-04-29
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Robert Lee; John Colgrove; Bikash Roy Choudhury; Mandeep Arora; Roy Child; Purvaja Narayanaswamy; Cary A. Sandvig
- Web page: https://patentgrep.com/patent/US12001688B2

## CPC

- G06F 3/0622: {in relation to access}
- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0637: {Permissions}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 11/108: {Parity data distribution in semiconductor storages, e.g. in SSD}
- G06F 11/1453: {using de-duplication of the data}
- G06F 11/1464: {for networked environments}
- G06F 11/1484: {involving virtual machines}
- G06F 11/2066: {Optimisation of the communication load}
- G06F 11/2071: {using a plurality of controllers}
- G06F 11/1435: {using file system or storage system metadata}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3495: {for systems}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A storage system has filtered views of data. The storage system receives a read request for a filtered view of data in memory. The read request is associated with one or more permissions for viewing the data. The storage system identifies a subset of the data, based on the one or more permissions. The storage system provides the filtered view. The filtered view includes the subset of the data.

## Claims

### Claim 1

A storage system comprising:
a memory; and
a processing device, configured to:
receive a read request for a filtered view of data in the memory, the read request associated with at least one permission for viewing the data according to one of a user identifier (UID) and a group identifier (GID);
identify an entity associated with the read request, wherein the at least one permission for viewing the data is based on the entity associated with the read request and a tag of the data associated with one of the UID or the GID;
identify a subset of the data, based on the at least one permission, wherein identification of the subset of the data comprises application of a filter to metadata associated with the subset of data to generate the filtered view;
provide the filtered view comprising the subset of the data;
receive a modification to the subset of the data provided via the filtered view; and
replicate the modification in the data stored in the memory.

### Claim 2 (depends on 1)

The storage system of claim 1, wherein the data corresponds to at least one object stored in the memory.

### Claim 3 (depends on 1)

The storage system of claim 1, wherein the data corresponds to at least one bucket stored in the memory.

### Claim 4 (depends on 1)

The storage system of claim 1, wherein the data corresponds to at least one directory stored in the memory.

### Claim 5 (depends on 1)

The storage system of claim 1, wherein the filtered view reflects a modification to the subset of the data made in another view of the data.

### Claim 6 (depends on 1)

The storage system of claim 1, wherein an application protocol interface (API) command causes the processing device to generate the filtered view of the data associated with the read request.

### Claim 7

A method comprising:
receiving a read request for a filtered view of data in a memory, the read request associated with at least one permission for viewing the data;
identifying an entity associated with the read request, wherein the at least one permission for viewing the data is based on an entity associated with the read request and a tag of the data associated with one of a user identifier (UID) or a group identifier (GID) of the read request;
identifying a subset of the data, based on the at least one permission, wherein identifying the subset of the data comprises application of a filter to metadata associated with the subset of data to generate the filtered view;
providing the filtered view comprising the subset of the data;
receiving a modification to the subset of the data provided via the filtered view; and
replicating the modification in the data stored in the memory.

### Claim 8 (depends on 7)

The method of claim 7, wherein the data corresponds to at least one object stored in the memory, and wherein the at least one permission is associated on a per data portion of an object basis.

### Claim 9 (depends on 7)

The method of claim 7, wherein the data corresponds to at least one bucket stored in the memory, and wherein the at least one permission is associated on a per object basis.

### Claim 10 (depends on 7)

The method of claim 7, wherein the data corresponds to at least one directory stored in the memory, and wherein the at least one permission is associated on a per subdirectory or per file basis.

### Claim 11 (depends on 7)

The method of claim 7, wherein the data corresponds to at least one file stored in the memory, and wherein the at least one permission is associated on a per data portion of a file basis.

### Claim 12 (depends on 7)

The method of claim 7, wherein the filtered view reflects a modification to the subset of the data made in another view of the data.

### Claim 13

A tangible, non-transient, computer readable media having instructions thereupon which, when performed by a processing device, cause the processing device to:
receive a read request for a filtered view of data in a memory, the read request associated with at least one permission for viewing the data;
identify an entity associated with the read request, wherein the at least one permission for viewing the data is based on the entity associated with the read request and a tag of the data associated with one of a user identifier (UID) or a group identifier (GID);
identify a subset of the data, based on the at least one permission, wherein identifying the subset of the data comprises application of a filter to metadata associated with the subset of data to generate the filtered view; and
provide the filtered view comprising the subset of the data;
receive a modification to the subset of the data provided via the filtered view; and
replicate the modification in the data stored in the memory.

### Claim 14 (depends on 13)

The computer readable media of claim 13, wherein the data corresponds to at least one object stored in the memory, and wherein the at least one permission is associated on a per data portion of an object basis.

### Claim 15 (depends on 13)

The computer readable media of claim 13, wherein the data corresponds to at least one bucket stored in the memory, and wherein the at least one permission is associated on a per object basis.

### Claim 16 (depends on 13)

The computer readable media of claim 13, wherein the data corresponds to at least one file stored in the memory, and wherein the at least one permission is associated on a per data portion of a file basis.

### Claim 17 (depends on 13)

The computer readable media of claim 13, wherein the read request comprises an application protocol interface (API) command that causes the processing device to generate the filtered view of the data associated with the read request.
