# US 8,996,646 B2 · Peer of a peer-to-peer network and such network

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

- Number: US 8,996,646 B2
- Document ID: US8996646B2
- Status: Granted
- Kind: B2
- Application number: 11/631,281
- Filed: 2004-07-09
- Published: 2007-10-04
- Granted: 2015-03-31
- Earliest claimed: 2004-07-09
- Assignees: Codemate A/S
- Applicants: Stephen Alstrup; Theis Rauhe
- Inventors: Stephen Alstrup; Theis Rauhe
- Web page: https://patentgrep.com/patent/US8996646B2

## CPC

- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/1068: {Discovery involving direct consultation or announcement among potential requesting and potential source peers}
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The invention relates to a peer-to-peer network where said peer-to-peer network comprises a plurality of peers (P), wherein said peer (RP) comprises and maintains a communication record (CR) defining a plurality of candidate peers (CP) from which information representative data (S) may be downloaded, wherein said plurality of candidate peers (CP) comprises a subset of said plurality of peers (P), and wherein said peer (RP) comprises means for downloading said information representative data (S) from at least one of said candidate peers (CP) according to an individual routine of said peer (RP). The invention furthermore relates to a peer-to-peer network comprising a plurality of peers (P) according to the above.

## Claims

### Claim 1

A method comprising
providing a plurality of peers on a peer-to-peer network;
providing at least one peer-to-peer network server for the peer-to-peer network;
providing a communication record maintained by a specific peer of the plurality of peers, wherein:
the communication record defines a plurality of candidate peers that are a subset of said plurality of peers that have a specific data item,
the communication record is provided prior to a request to download said specific data item,
the communication record is one of a plurality of distributed communication records, each of the plurality of communication records being maintained at a different peer of the plurality of peers, the communication records providing information on which to facilitate autonomous decision making at each of the plurality of peers, and
the at least one peer-to-peer network server controlling updates of the communication record to the plurality of peers;
downloading, by the specific peer of the plurality of peers, the specific data item from at least one candidate peer of the plurality of candidate peers according to an individual routine of the specific peer and based on the communication record, said individual routine providing a first decision making process for the specific peer on how to download said specific data item;
receiving, by said specific peer, at least one communication record update from a peer-to-peer network server of the at least one peer-to-peer network server via said candidate peers on a runtime basis according to the individual routine,
wherein said individual routine provides a second decision making process for the specific peer on how to download said at least one communication record update; and
updating the communication record based, at least in part, on the at least one communication record update.

### Claim 2 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said receiving the at least one communication record update via the candidate peers is performed according to said individual routine of the peer.

### Claim 3 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said individual routine comprises guidelines for deciding, on a runtime basis, which at least one of said candidate peers to download said information representative data from.

### Claim 4 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said individual routine comprises guidelines for deciding, on a runtime basis, a number of said candidate peers to download said information representative data from.

### Claim 5 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the peer downloads said information representative data from a plurality of said candidate peers substantially simultaneously.

### Claim 6 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the peer-to-peer network server transmits said information representative data to at least one of said plurality of peers of the peer-to-peer network.

### Claim 7 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein a plurality of said peers are associated with a unique identity representation.

### Claim 8 (depends on 7)

The method of maintaining a communication record according to claim 7, wherein said communication record defines said candidate peers by said associated identity representation.

### Claim 9 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the communication record is initialized by the peer-to-peer network server.

### Claim 10 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said information representative data comprises a video or audio stream.

### Claim 11 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the peer-to-peer network comprises a streaming network.

### Claim 12 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the peer-to-peer network comprises a grid-based peer-to-peer network.

### Claim 13 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the communication records of a plurality of the peers of the peer-to-peer network are substantially identical.

### Claim 14 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said communication record defines a subset of said plurality of peers of the peer-to-peer network to which information representative data may be uploaded.

### Claim 15 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein at least two of said plurality of peers of the peer-to-peer network downloads said information representative data substantially simultaneously.

### Claim 16 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said information representative data is arranged to comprise said communication record update.

### Claim 17 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said communication record update is associated and transmitted with said information representative data.

### Claim 18 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein accumulating said communication record updates on the average accounts for less than 20% of the size of accumulated said information representative data (S).

### Claim 19 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said communication record update comprises a completed version of the communication record.

### Claim 20 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the communication record defines further properties or features of the peers it defines.

### Claim 21 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein the communication record defines properties or features of said information representative data.

### Claim 22 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said information representative data is encoded and distributed according to a loss resiliency method.

### Claim 23 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said communication record update is distributed by a method corresponding to the method applied for distributing information representative data.

### Claim 24 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said information representative data may comprise multiple information instances.

### Claim 25 (depends on 24)

The method of maintaining a communication record according to claim 24, wherein the communication record defines said information instances of said information representative data.

### Claim 26 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said candidate peers are not equally performing.

### Claim 27 (depends on 1)

The method of maintaining a communication record according to claim 1, wherein said individual routine comprises trial and error algorithms.

### Claim 28

A peer comprising a specific peer of a plurality of peers on a peer-to-peer network where said peer-to-peer network comprises at least one peer-to-peer network server,
wherein the specific peer of said plurality of peers comprises a communication record and is configured to maintain the communication record defining a plurality of candidate peers that are a subset of said plurality of peers that have a specific data item,
the communication record is one of a plurality of distributed communication records, each of the plurality of communication records being comprised at a different peer of the plurality of peers, the communication records comprising information on which to facilitate autonomous decision making at each of the plurality of peers, and the at least one peer-to-peer network server is configured to control updates of the communication record to the plurality of peers;
said specific peer of the plurality of peers being configured to download the specific data item from said at least one candidate peers of the plurality of candidate peers according to an individual routine of the specific peer and based on the communication record, said individual routine providing a first decision making process for the specific peer on how to download said specific data item;
said specific peer being configured to receive at least one communication record update from a peer-to-peer network server of the at least one peer-to-peer network server via said candidate peers on a runtime basis according to the individual routine, wherein said individual routine provides a second decision making process for the specific peer on how to download said at least one communication record update; and
said specific peer being configured to update the communication record based, at least in part, on the at least one communication record.

### Claim 29 (depends on 28)

The communicating apparatus according to claim 28, wherein said peer performs said maintaining said communication record at least partly on the basis of said communication record updates.

### Claim 30 (depends on 28)

The communicating apparatus according to claim 28, wherein said individual routine comprises guidelines for deciding, on a runtime basis, which at least one of said candidate peers to download said information representative data from.

### Claim 31 (depends on 28)

The communicating apparatus according to claim 28, wherein said individual routine comprises guidelines for deciding, on a runtime basis, a number of said candidate peers to download said information representative data from.

### Claim 32 (depends on 28)

The communicating apparatus according to claim 28, wherein said peer downloads said information representative data from a plurality of said candidate peers substantially simultaneously.

### Claim 33 (depends on 28)

The communicating apparatus according to claim 28, wherein said peer-to-peer network server transmits said information representative data to at least one of said plurality of peers of said peer-to-peer network.

### Claim 34 (depends on 28)

The communicating apparatus according to claim 28, wherein a plurality of said peers are associated with a unique identity representation.

### Claim 35 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record defines said candidate peers by said associated identity representation.

### Claim 36 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record is initialized by said peer-to-peer network server.

### Claim 37 (depends on 28)

The communicating apparatus according to claim 28, wherein said information representative data comprises a video or audio stream.

### Claim 38 (depends on 28)

The communicating apparatus according to claim 28, wherein said peer-to-peer network comprises a streaming network.

### Claim 39 (depends on 28)

The communicating apparatus according to claim 28, wherein said peer-to-peer network comprises a grid-based peer-to-peer network.

### Claim 40 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication records of a plurality of peers of said peer-to-peer network are substantially identical.

### Claim 41 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record defines a subset of said plurality of peers of said peer-to-peer network to which information representative data may be uploaded.

### Claim 42 (depends on 28)

The communicating apparatus according to claim 28, wherein at least two of said plurality of peers of said peer-to-peer network downloads said information representative data substantially simultaneously.

### Claim 43 (depends on 28)

The communicating apparatus according to claim 28, wherein said information representative data is arranged to comprise said communication record update.

### Claim 44 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record update is associated and transmitted with said information representative data.

### Claim 45 (depends on 28)

The communicating apparatus according to claim 28, wherein accumulated said communication record updates on the average accounts for less than 20% of the size of accumulated said information representative data (S).

### Claim 46 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record update comprises a complete communication record.

### Claim 47 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record defines further properties or features of the peers it defines.

### Claim 48 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record defines properties or features of said information representative data.

### Claim 49 (depends on 28)

The communicating apparatus according to claim 28, wherein said information representative data is encoded and distributed according to a loss resiliency method.

### Claim 50 (depends on 28)

The communicating apparatus according to claim 28, wherein said communication record update is distributed by a method corresponding to the method applied for distributing information representative data.

### Claim 51 (depends on 28)

The communicating apparatus according to claim 28, wherein said information representative data may comprise multiple information instances.

### Claim 52 (depends on 51)

The communicating apparatus according to claim 51, wherein said communication record defines said information instances of said information representative data.

### Claim 53 (depends on 28)

The communicating apparatus according to claim 28, wherein said candidate peers are not equally performing.

### Claim 54 (depends on 28)

The communicating apparatus according to claim 28, wherein said individual routine comprises trial and error algorithms.

### Claim 55

A peer-to-peer network comprising:
a peer-to-peer network server and a plurality of peers;
wherein a specific peer of said plurality of peers comprises a communication record and is configured to maintain the communication record defining a plurality of candidate peers that are a subset of said plurality of peers that have a specific data item,
the communication record is one of a plurality of distributed communication records, each of the plurality of communication records being comprised at a different peer of the plurality of peers, the communication records comprising information on which to facilitate autonomous decision making at each of the plurality of peers, and
the at least one peer-to-peer network server is configured to control updates of the communication record to the plurality of peers;
said specific peer of the plurality of peers being configured to download the specific data item from said at least one candidate peer of the plurality of candidate peers according to an individual routine of the specific peer and based on the communication record, said individual routine providing a first decision making process for the specific peer on how to download said specific data item;
said specific peer being configured to receive at least one communication record update from a peer-to-peer network server of the at least one peer-to-peer network server via said candidate peers on a runtime basis according to the individual routine, wherein said individual routine provides a second decision making process for the specific peer on how to download said at least one communication record update; and
said specific peer being configured to update the communication record based, at least in part, on the at least one communication record.
