# US 12,192,194 B1 · Caching netgroups

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

- Number: US 12,192,194 B1
- Document ID: US12192194B1
- Status: Granted
- Kind: B1
- Application number: 18/149,028
- Filed: 2022-12-30
- Granted: 2025-01-07
- Earliest claimed: 2022-12-30
- Assignees: Vast Data Ltd.
- Applicants: Vast Data Ltd.
- Inventors: Amir Kredi; Yair Elharrar; Erez Zilber; Ilan Steinberg; Asaf Levy
- Web page: https://patentgrep.com/patent/US12192194B1

## CPC

- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/104: {Grouping of entities}
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for network group based access control, the method may include (i) receiving a request to access content stored in a storage system, the request is associated with a user and a network group that is suggested to include the user; (ii) generating a user key based on an identifier of the user and the network group; (iii) determining, based in part on the user key, whether the user is a current user of the network group, and (iv) declining the request when the user is not the current user of the network group. The determining may include determining that the user is not a current user of the network group when a user finding timestamp of the user precedes a network group finding timestamp of the network group.

## Claims

### Claim 1

A method for determining a progress of an execution of a task, the method comprises:
updating, by a compute element of a first plurality of compute elements, a compute entity entry of a shared task status data structure, with a current progress made by the compute element in relation to the execution of the task; wherein the compute entity entry belongs to the shared task status data structure and is allocated to the compute element;
determining, by the compute element, whether to update a group entry of the shared task status data structure; wherein the group entry stores information about a progress of a group of compute elements that includes the compute element and some other compute elements of the first plurality of compute elements;
updating, in the group entry, a value representing an aggregate progress of the group, when determining to update the group entry;
accessing only a portion of the shared task status data structure that (a) is associated with the task, wherein the task is executed by the first plurality of compute elements, and (b) comprises multiple hierarchical levels; wherein an entry of a certain of the multiple hierarchical levels represents an aggregate progress associated with multiple entries of another hierarchical level of the multiple hierarchical levels; the certain hierarchical level is higher than the another hierarchical level; and
determining the progress of the execution of the task based on a content of the portion.

### Claim 2 (depends on 1)

The method according to claim 1 wherein the portion is included in a highest hierarchical level of the shared task status data structure.

### Claim 3 (depends on 1)

The method according to claim 1 comprising performing a storage system related operation in response to the progress.

### Claim 4 (depends on 1)

The method according to claim 1 comprising delaying an execution of a storage system related operation in response to the progress.

### Claim 5 (depends on 1)

The method according to claim 1 comprising allocating at least one other task to a second plurality of compute elements in response to the progress.

### Claim 6 (depends on 1)

The method according to claim 1 wherein the shared task status data structure is updated by at least some of the first plurality of compute elements.

### Claim 7 (depends on 1)

The method according to claim 1 comprising updating the shared task status data structure by at least some of the first plurality of compute elements.

### Claim 8 (depends on 1)

The method according to claim 1 wherein compute elements of the first plurality of compute elements are arranged in a hierarchical manner.

### Claim 9 (depends on 8)

The method according to claim 8 wherein a number of hierarchical levels of the first plurality of compute elements differs from the number of the multiple hierarchical levels.

### Claim 10 (depends on 1)

The method according to claim 1 wherein the portion belongs to a highest hierarchical level of the multiple hierarchical levels, wherein the highest hierarchical level stores a summation of progress of the task by all compute elements of the first plurality of compute elements.

### Claim 11

A non-transitory computer readable medium for determining a progress of an execution of a task, the non-transitory computer readable medium stores instructions for:
updating, by a compute element of a first plurality of compute elements, a compute entity entry of a shared task status data structure, with a current progress made by the compute element in relation to the execution of the task; wherein the compute entity entry belongs to the shared task status data structure and is allocated to the compute element;
determining, by the compute element, whether to update a group entry of the shared task status data structure; wherein the group entry stores information about a progress of a group of compute elements that includes the compute element and some other compute elements of the first plurality of compute elements;
updating, in the group entry, a value representing an aggregate progress of the group, when determining to update the group entry;
accessing only a portion of the shared task status data structure that (a) is associated with the task, wherein the task is executed by the first plurality of compute elements, and (b) comprises multiple hierarchical levels; wherein an entry of a certain of the multiple hierarchical levels represents an aggregate progress associated with multiple entries of another hierarchical level of the multiple hierarchical levels; the certain hierarchical level is higher than the another hierarchical level; and
determining the progress of the execution of the task based on a content of the portion.

### Claim 12 (depends on 11)

The non-transitory computer readable medium according to claim 11 wherein the portion is included in a highest hierarchical level of the shared task status data structure.

### Claim 13 (depends on 11)

The non-transitory computer readable medium according to claim 11 that stores instructions for performing a storage system related operation in response to the progress.

### Claim 14 (depends on 11)

The non-transitory computer readable medium according to claim 11 that stores instructions for delaying an execution of a storage system related operation in response to the progress.

### Claim 15 (depends on 11)

The non-transitory computer readable medium according to claim 11 that stores instructions for allocating at least one other task to a second plurality of compute elements in response to the progress.

### Claim 16 (depends on 11)

The non-transitory computer readable medium according to claim 11 wherein the shared task status data structure is updated by at least some of the first plurality of compute elements.

### Claim 17 (depends on 11)

The non-transitory computer readable medium according to claim 11 that stores instructions for updating the shared task status data structure by at least some of the first plurality of compute elements.

### Claim 18 (depends on 11)

The non-transitory computer readable medium according to claim 11 wherein compute elements of the first plurality of compute elements are arranged in a hierarchical manner.

### Claim 19 (depends on 18)

The non-transitory computer readable medium according to claim 18 wherein a number of hierarchical levels of the first plurality of compute elements differs from the number of the multiple hierarchical levels.

### Claim 20 (depends on 11)

The non-transitory computer readable medium according to claim 11 wherein the portion belongs to a highest hierarchical level of the multiple hierarchical levels, wherein the highest hierarchical level stores a summation of progress of the task by all compute nodes of the first plurality of compute node.
