# US 9,436,694 B2 · Cooperative resource management

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

- Number: US 9,436,694 B2
- Document ID: US9436694B2
- Status: Granted
- Kind: B2
- Application number: 14/284,127
- Filed: 2014-05-21
- Published: 2014-12-18
- Granted: 2016-09-06
- Earliest claimed: 2008-05-21
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Robert F. Ross; Harrison B. Caudill
- Web page: https://patentgrep.com/patent/US9436694B2

## CPC

- G06F 16/2272: {Management thereof}
- G06F 9/5083: {Techniques for rebalancing the load in a distributed system}
- G06F 16/162: {Delete operations (erasing in storage systems G06F3/0652)}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- H04L 41/30: {Decision processes by autonomous network management units using voting and bidding}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Deleting content is disclosed. A delete request is received for a file that is distributed with a plurality of nodes. The file is replaced with a first delete token. A determination is made as to whether all nodes in the plurality of nodes have replaced their respective copies of the file with first delete tokens. The file is deleted.

## Claims

### Claim 1

A system for deleting content, comprising:
a processor configured to:
receive, at a first node of a plurality of nodes, a delete request for a file, a primary copy of which is stored on each of at least a subset of the plurality of nodes, wherein at least one other node of the plurality of nodes has received the delete request for the file;
determine, at the first node, that the first node does not have a record of the file;
determine, at the first node, that at least some other nodes in the plurality of nodes have replaced their respective copies of the file with a first delete token for the file;
add, at the first node, the first delete token for the file in records associated with the first node in response to determining that the at least some other nodes in the plurality of nodes have replaced their respective copies of the file with the first delete token for the file;
determine, at the first node, that one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with a second delete token; and
not add the second delete token in the records associated with the first node in response to determining that the one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with the second delete token; and
a memory coupled to the processor and configured to store at least the records associated with the first node.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first delete token for the file includes a list of other nodes in the plurality of nodes, wherein the list of other nodes is usable to find all other nodes in the plurality of nodes that should have the first delete token.

### Claim 3 (depends on 1)

The system of claim 1, wherein the delete request is generated by a user.

### Claim 4 (depends on 1)

The system of claim 1, wherein the delete request is generated by an application.

### Claim 5 (depends on 1)

The system of claim 1, wherein the processor is further configured to:
determine that a second node in the subset of the plurality of nodes has a cached copy of the file in addition to the primary copy; and
instruct the second node to disable the cached copy of the file.

### Claim 6 (depends on 1)

The system of claim 1, wherein:
a second node in the subset of the plurality of nodes that have the primary copy of the file stored thereon is configured to remove an entry associated with the file from a distributed index in response at least in part to at least some other nodes in the subset of the plurality of nodes having replaced their respective copies of the file with the first delete token.

### Claim 7 (depends on 6)

The system of claim 6, wherein:
at least some of the subset of the plurality of nodes are configured to store a portion of the distributed index;
the second node is configured to remove the entry associated with the file from the portion of the distributed index stored at the second node in response to the portion of the distributed index stored at the second node including the entry associated with the file; and
the second node is configured to send a request to remove the entry associated with the file from the distributed index to another node at which the portion of the distribution that includes the entry associated with the file is stored.

### Claim 8

A method for deleting content, comprising:
receiving, at a first node of a plurality of nodes, a delete request for a file, a primary copy of which is stored on each of at least a subset of the plurality of nodes, wherein at least one other node of the plurality of nodes has received the delete request for the file;
determining, at the first node, that the first node does not have a record of the file;
determining, at the first node, that at least some other nodes in the plurality of nodes have replaced their respective copies of the file with a first delete token for the file;
adding, at the first node, the first delete token for the file in records associated with the first node in response to determining that the at least some other nodes in the plurality of nodes have replaced their respective copies of the file with the first delete token for the file;
determining, at the first node, that one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with a second delete token; and
not adding the second delete token in the records associated with the first node in response to the determining that the one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with the second delete token.

### Claim 9 (depends on 8)

The method of claim 8, wherein the first delete token for the file includes a list of other nodes in the plurality of nodes, wherein the list of other nodes is usable to find all other nodes in the plurality of nodes that should have the first delete token.

### Claim 10 (depends on 8)

The method of claim 8, wherein the delete request is generated by a user.

### Claim 11 (depends on 8)

The method of claim 8, wherein the delete request is generated by an application.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
determining that a second node in the subset of the plurality of nodes has a cached copy of the file in addition to the primary copy; and
instructing the second node to disable the cached copy of the file.

### Claim 13 (depends on 8)

The method of claim 8, wherein:
a second node in the subset of the plurality of nodes that have the primary copy of the file stored thereon is configured to remove an entry associated with the file from a distributed index in response at least in part to at least some other nodes in the subset of the plurality of nodes having replaced their respective copies of the file with the first delete token.

### Claim 14 (depends on 13)

The method of claim 13, wherein:
at least some of the subset of the plurality of nodes are configured to store a portion of the distributed index;
the second node is configured to remove the entry associated with the file from the portion of the distributed index stored at the second node in response to the portion of the distributed index stored at the second node including the entry associated with the file; and
the second node is configured to send a request to remove the entry associated with the file from the distributed index to another node at which the portion of the distribution that includes the entry associated with the file is stored.

### Claim 15

A non-transitory computer readable storage medium for deleting content, the non-transitory computer readable storage medium comprising computer instructions for:
receiving, at a first node of a plurality of nodes, a delete request for a file, a primary copy of which is stored on each of at least a subset of the plurality of nodes, wherein at least one other node of the plurality of nodes has received the delete request for the file;
determining, at the first node, that the first node does not have a record of the file;
determining, at the first node, that at least some other nodes in the plurality of nodes have replaced their respective copies of the file with a first delete token for the file;
adding, at the first node, the first delete token for the file in records associated with the first node in response to determining that the at least some other nodes in the plurality of nodes have replaced their respective copies of the file with the first delete token for the file;
determining, at the first node, that one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with a second delete token; and
not adding the second delete token in the records associated with the first node in response to determining that the one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with the second delete token.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the first delete token for the file includes a list of other nodes in the plurality of nodes, wherein the list of other nodes is usable to find all other nodes in the plurality of nodes that should have the first delete token.

### Claim 17

An apparatus, comprising:
means for receiving a delete request for a file, a primary copy of which is stored on each of at least a subset of a plurality of nodes, wherein at least one other node of the plurality of nodes has received the delete request for the file;
means for determining that the apparatus does not have a record of the file;
means for determining that at least some other nodes in the plurality of nodes have replaced their respective copies of the file with a first delete token for the file;
means for adding the first delete token for the file in records associated with the apparatus in response to determining that the at least some other nodes in the plurality of nodes have replaced their respective copies of the file with the first delete token for the file;
means for determining that one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with a second delete token; and
means for not adding the second delete token for the file in the records associated with the apparatus in response to determining that the one or more of the at least some other nodes in the plurality of nodes have replaced their respective first delete token with the second delete token.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the first delete token for the file includes a list of other nodes in the plurality of nodes, wherein the list of other nodes is usable to find all other nodes in the plurality of nodes that should have the first delete token.
