# US 2012/0117111 A1 · Data Distribution in A Data Processing System

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

- Number: US 2012/0117111 A1
- Document ID: US20120117111A1
- Status: Published application
- Kind: A1
- Application number: 13/352,169
- Filed: 2012-01-17
- Published: 2012-05-10
- Earliest claimed: 1995-04-11
- Assignees: Level 3 Communications, LLC; PersonalWeb Technologies, LLC
- Inventors: David A. Farber; Ronald D. Lachman
- Web page: https://patentgrep.com/patent/US20120117111A1

## CPC

- G06F 16/164: {File meta data generation}
- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 16/174: Redundancy elimination performed by the file system (error detection or correction of the data by redundancy in operations G06F11/14)
- Y10S 707/914: Video
- Y10S 707/915: Image
- Y10S 707/916: Audio
- Y10S 707/922: Communications
- Y10S 707/959: Network
- Y10S 707/961: Associative
- Y10S 707/966: Distributed
- Y10S 707/99931: Database or file accessing
- Y10S 707/99932: Access augmentation or optimizing
- Y10S 707/99933: Query processing, i.e. searching
- Y10S 707/99942: Manipulating data structure, e.g. compression, compaction, compilation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A first data item is split into one or more parts. A corresponding name is determined for each of the one or more parts, each part name being determined using a message digest function or hash function of all of the data in the corresponding part. A second file is created to include the part names of the one or more parts of the first data item. Each of the one or more parts is caused to be distributed to at least one location in a computer network. In response to a request for the first data item, the second file is provided. The name of the second file may be published as a name for the first data item. The network may be a peer-to-peer network.

## Claims

### Claim 1

A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising:
splitting a first data item into one or more parts;
for each of the one or more parts of the first data item, determining a corresponding part name, each part name being determined using a message digest or hash function of all of the data in the corresponding part of the first data item;
creating a second file, said second file comprising the part names of the one or more parts of the first data item; and
causing each of the one or more parts to be distributed to at least one location in a computer network.

### Claim 2 (depends on 1)

The method of claim 1 wherein the network is a peer-to-peer network and wherein each of the one or more parts is distributed to multiple locations in the network.

### Claim 3 (depends on 1)

The method of claim 1 wherein the message digest function comprises an SHA function.

### Claim 4 (depends on 1)

The method of claim 1 further comprising:
determining a name for the second file.

### Claim 5 (depends on 4)

The method of claim 4 further comprising:
associating the name of the second file with the first data item.

### Claim 6 (depends on 5)

The method of claim 5 further comprising:
publishing the name of the second file as a name for the first data item.

### Claim 7 (depends on 4)

The method of claim 4 wherein the name for the second file is determined based, at least in part, on the part names of the one or more parts of the first data item.

### Claim 8 (depends on 1)

The method of claim 1 wherein the second file contains only the part names of the one or more parts.

### Claim 9 (depends on 1)

The method of claim 1 wherein the first data item comprises a sequence of bits representing at least one of: a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item.

### Claim 10 (depends on 1)

The method of claim 1 further comprising:
in response to a request for the first data item, providing the second file.

### Claim 11 (depends on 10)

The method of claim 10 wherein the request for the first data item comprises a name for the second file.

### Claim 12

Computer-readable media tangibly embodying a program of instructions executable by at least one computer, the program comprising code to:
split a first data item into one or more parts;
for each of the one or more parts of the first data item, determine a corresponding part name, each part name being determined using a message digest function or hash function of all of the data in the corresponding part of the first data item;
cause each of the one or more parts to be distributed to at least one location in a computer network; and
create a second file, said second file comprising the part names of the one or more parts of the first data item.

### Claim 13 (depends on 12)

Computer-readable media as in claim 12, the program further comprising code to:
in response to a request for the first data item, provide the second file.

### Claim 14 (depends on 12)

Computer-readable media as in claim 12, wherein the message digest function comprises an SHA function.

### Claim 15 (depends on 12)

Computer-readable media as in claim 12, the program further comprising code to:
determine a name for the second file; and
associate the name of the second file with the first data item.

### Claim 16 (depends on 13)

Computer-readable media as in claim 13 wherein the request for the first data item comprises a name for the second file.

### Claim 17 (depends on 12)

Computer-readable media as in claim 12, wherein the network is a peer-to-peer network and wherein each of the one or more parts is distributed to multiple locations in the computer network.

### Claim 18 (depends on 12)

Computer-readable media as in claim 12, wherein the first data item comprises a sequence of bits representing at least one of: a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item.

### Claim 19 (depends on 15)

Computer-readable media as in claim 15, the program further comprising code to:
publish the name of the second file as a name for the first data item.

### Claim 20

A device comprising hardware including at least one processor, and software, in combination with said hardware:
to split a first data item into one or more parts;
for each of the one or more parts of the first data item, to determine a corresponding part name, each part name being determined using a message digest function or hash function of all of the data in the corresponding part of the first data item;
to cause each of the one or more parts to be distributed to at least one location in a computer network; and
to create a second file, said second file comprising the part names of the one or more parts of the first data item.

### Claim 21 (depends on 20)

The device of claim 20, further comprising software, in combination with said hardware:
to, in response to a request for the first data item, provide the second file.

### Claim 22 (depends on 20)

The device of claim 20, wherein the message digest function comprises an SHA function.

### Claim 23 (depends on 20)

The device of claim 20, further comprising software, in combination with said hardware:
to determine a name for the second file; and
to associate the name of the second file with the first data item.

### Claim 24 (depends on 21)

The device of claim 21, wherein the request for the first data item comprises a name for the second file.

### Claim 25 (depends on 20)

The device of claim 20, wherein the network is a peer-to-peer network and wherein each of the one or more parts is distributed to multiple locations in the computer network.

### Claim 26 (depends on 20)

The device of claim 20, wherein the first data item comprises a sequence of bits representing at least one of: a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item.

### Claim 27 (depends on 20)

The device of claim 20, further comprising software, in combination with said hardware:
to publish a name of the second file as a name for the first data item.

### Claim 28

Computer-readable media tangibly embodying a program of instructions executable by at least one computer, the program comprising code to:
split a first data item into one or more parts based on a size of the first data item;
for each of the one or more parts of the first data item, determine a corresponding part name, each part name being determined using a message digest function or hash function of all of the data in the corresponding part of the first data item;
create a second file, said second file comprising the part names of the one or more parts of the first data item;
determine a name for the second file;
associate the name of the second file with the first data item;
cause each of the one or more parts to be distributed to at least one location in a computer network; and
publish the name of the second file.

### Claim 29 (depends on 28)

Computer-readable media as in claim 28, the program further comprising code to:
in response to a request for the first data item, wherein the request for the first data item comprises the name of the second file, provide the second file.

### Claim 30 (depends on 28)

Computer-readable media as in claim 28, wherein the first data item comprises a sequence of bits representing at least one of: a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item.
