# US 7,610,402 B2 · Spectators in a peer-to-peer relay network

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

- Number: US 7,610,402 B2
- Document ID: US7610402B2
- Status: Granted
- Kind: B2
- Application number: 10/700,777
- Filed: 2003-11-03
- Published: 2005-04-21
- Granted: 2009-10-27
- Earliest claimed: 2003-10-20
- Assignees: Sony Computer Entertainment America LLC
- Inventors: Glen Van Datta
- Web page: https://patentgrep.com/patent/US7610402B2

## CPC

- H04L 67/104: Peer-to-peer [P2P] networks
- A63F 13/12
- A63F 13/30: Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F 13/34: using peer-to-peer connections
- H04L 67/1046: {Joining mechanisms}
- H04L 67/1059: {Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups}
- A63F 2300/407: Data transfer via internet
- A63F 2300/408: Peer to peer connection
- A63F 2300/577: for watching a game played by other players
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

Methods and apparatus for implementing peer-to-peer relay. In one implementation, a peer-to-peer relay network includes: a plurality of N peer systems; wherein each peer system in said peer-to-peer relay network is connected to a number of other peer systems in said peer-to-peer relay network that is less than or equal to a connection limit, said connection limit is greater than or equal to 2, said connection limit is less than or equal to N−2, each peer system in said peer-to-peer relay network is configured to relay data to peer systems connected to that peer system according to a set of one or more relay rules, each peer system is a participant or a spectator, at least one peer system is a participant, at least one peer system is a spectator, a participant is configured to generate data to be relayed in said peer-to-peer relay network, and a spectator is configured to relay data generated by a participant.

## Claims

### Claim 1

A peer-to-peer relay network, comprising:
a plurality of N peer systems, wherein each peer system is either a participant or a spectator and the peer-to-peer network includes at least one participant and at least one spectator;
wherein each peer system in said peer-to-peer relay network is connected to a number of other peer systems in said peer-to-peer relay network that is less than or equal to a connection limit, said connection limit is greater than or equal to 2, said connection limit is less than or equal to N−2, each peer system in said peer-to-peer relay network is configured to relay data to peer systems connected to that peer system according to a set of one or more relay rules,
wherein a participant is configured to generate data to be relayed in said peer-to-peer relay network, and a spectator is configured to relay data generated by a participant, and
wherein the spectator is not authorized to generate new data to be relayed in the peer-to-peer network and the spectator is not authorized to send the new data to be relayed throughout the peer-to-peer network.

### Claim 2 (depends on 1)

The peer-to-peer relay network of claim 1, further comprising:
a server connected to each peer system.

### Claim 3 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
said at least one participant is playing an online game.

### Claim 4 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
said at least one participant is performing.

### Claim 5 (depends on 4)

The peer-to-peer relay network of claim 4, wherein:
said performing is playing music.

### Claim 6 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
said at least one participant is teaching.

### Claim 7 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
at least two peer systems are participants, and each participant has a connection to at least one other participant.

### Claim 8 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
each peer system is configured not to relay data generated by a spectator.

### Claim 9 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
at least one spectator is a conditional spectator, a conditional spectator is configured to request permission to send data generated by the conditional spectator to other peer systems to be relayed throughout said peer-to-peer relay network, each peer system is configured to relay data generated by a conditional spectator if that conditional spectator has received permission to send that data.

### Claim 10 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
at least one peer system is a network-enabled game console.

### Claim 11 (depends on 1)

The peer-to-peer relay network of claim 1, wherein:
at least two peer systems are connected through the Internet.

### Claim 12

A method of relaying data in a peer-to-peer relay network, comprising:
receiving data at a relaying peer system from a sending peer system connected to the relaying peer system in a peer-to-peer relay network, wherein said data has associated information identifying the origin peer system that generated said data;
confirming said origin peer system is permitted to send data to be relayed through said peer-to-peer relay network;
applying a set of one or more relay rules to select zero or more peer systems indicated by said set of one or more relay rules to which to relay said data; and
relaying said data to any peer systems selected by applying said set of one or more relay rules;
wherein each peer system in said peer-to-peer relay network is a participant or a spectator, and
wherein the spectator is not authorized to generate new data to be relayed in the peer-to-peer network and the spectator is not authorized to send the new data to be relayed throughout the peer-to-peer network.

### Claim 13 (depends on 12)

The method of claim 12, wherein:
each peer system stores a connection limit defining a number of other peer systems up to which a peer system is permitted to connect in that peer-to-peer relay network, and each peer system stores a set of one or more relay rules defining how a peer system is to relay data to other peer systems connected to that peer system in that peer-to-peer relay network.

### Claim 14

A peer system in a peer-to-peer relay network, comprising:
means for receiving data at a relaying peer system from a sending peer system connected to the relaying peer system in a peer-to-peer relay network, wherein said data has associated information identifying the origin peer system that generated said data;
means for confirming said origin peer system is permitted to send data to be relayed through said peer-to-peer relay network;
means for applying a set of one or more relay rules to select zero or more peer systems indicated by said set of one or more relay rules to which to relay said data; and
means for relaying said data to any peer systems selected by applying said set of one or more relay rules;
wherein each peer system in said peer-to-peer relay network is a participant or a spectator, and
wherein the spectator is not authorized to generate new data to be relayed in the peer-to-peer network and the spectator is not authorized to send the new data to be relayed throughout the peer-to-peer network.

### Claim 15 (depends on 14)

The peer system of claim 14, wherein:
said peer system stores a connection limit defining a number of other peer systems up to which said peer system is permitted to connect in that peer-to-peer relay network, and said peer system stores a set of one or more relay rules defining how said peer system is to relay data to other peer systems connected to that peer system in that peer-to-peer relay network.

### Claim 16

A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a peer system in a peer-to-peer relay network, said method comprising step to:
process received data at a relaying peer system from a sending peer system connected to the relaying peer system in a peer-to-peer relay network, wherein said data has associated information identifying the origin peer system that generated said data;
confirm said origin peer system is permitted to send data to be relayed through said peer-to-peer relay network;
apply a set of one or more relay rules to select zero or more peer systems indicated by said set of one or more relay rules to which to relay said data; and
relay said data to any peer systems selected by applying said set of one or more relay rules;
wherein each peer system in said peer-to-peer relay network is a participant or a spectator, and
wherein the spectator is not authorized to generate new data to be relayed in the peer-to-peer network and the spectator is not authorized to send the new data to be relayed throughout the peer-to-peer network.

### Claim 17 (depends on 16)

The computer program of claim 16, wherein:
said peer system stores a connection limit defining a number of other peer systems up to which said peer system is permitted to connect in that peer-to-peer relay network, and said peer system stores a set of one or more relay rules defining how said peer system is to relay data to other peer systems connected to that peer system in that peer-to-peer relay network.
