CN1894928B - Multiple peer-to-peer relay network - Google Patents

Multiple peer-to-peer relay network Download PDF

Info

Publication number
CN1894928B
CN1894928B CN2004800372333A CN200480037233A CN1894928B CN 1894928 B CN1894928 B CN 1894928B CN 2004800372333 A CN2004800372333 A CN 2004800372333A CN 200480037233 A CN200480037233 A CN 200480037233A CN 1894928 B CN1894928 B CN 1894928B
Authority
CN
China
Prior art keywords
peer
relay network
message
network
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2004800372333A
Other languages
Chinese (zh)
Other versions
CN1894928A (en
Inventor
G·范达塔
A·麦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Computer Entertainment America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/701,302 external-priority patent/US8010633B2/en
Application filed by Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Publication of CN1894928A publication Critical patent/CN1894928A/en
Application granted granted Critical
Publication of CN1894928B publication Critical patent/CN1894928B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

Methods and apparatus for implementing peer-to-peer relay. In one implementation, a network environment supporting multiple peer-to-peer relay networks includes: a first peer-to-peer relay network including N1 peer systems; and a second peer-to-peer relay network including N2 peer systems; wherein each peer system in said first peer-to-peer relay network is connected to a number of other peer systems in said first peer-to-peer relay network that is less than or equal to a first connection limit, said first connection limit is greater than or equal to 2, said first connection limit is less than or equal to N1-2, each peer system in said first peer-to-peer relay network is configured to relay data to peer systems connected to that peer system according to a first set of one or more relay rules, each peer system in said second peer-to-peer relay network is connected to a number of other peer systems in said second peer-to-peer relay network that is less than or equal to a second connection limit, said second connection limit is greater than or equal to 2, said second connection limit is less than or equal to N2-2, each peer system in said second peer-to-peer relay network is configured to relay data to peer systems connected to that peer system according to a second set of one or more relay rules, and at least one peer system in said first peer-to-peer relay network is also in said second peer-to-peer relay network.

Description

A plurality of peer-to-peer relay networks
The application requires in the rights and interests of the U.S. Provisional Application 60/513098 (" peer-to-peer relay network ") of in October, 2003 proposition, and the disclosure of this application is incorporated herein by reference.
Background
In typical client-server network, each client in the network is established to the connection of central server.The client is to server requests service and data.For communicating with another client, the client sends to server with request.Generally speaking, the client does not set up direct connection each other.In the client-server network with N client, each client has 1 connection to server, and server has N the corresponding connection to each client.For example, shown in Figure 31 A, in the client-server network with 6 clients, each client has 1 connection to server, and server has 6 corresponding connections to the client.
In typical peer-to-peer network (or " P2P network "), each member (or peer-to-peer) is established to each other member's connection in the peer-to-peer network.Through use these directly equity connect, the member data are directly sent to other member with directly to other member's request msg, rather than use centralized server (for example, comparing through the typical customers server network of server interaction) with the member.Generally speaking, each member in the network has similar responsibility in network, and the member is considered to (as the network members) of equality usually.In the peer-to-peer network with N peer-to-peer, each peer-to-peer has N-1 the connection to other peer-to-peer.For example, shown in Figure 31 B, in the peer-to-peer network with 6 peer-to-peers, each peer-to-peer has 5 connections to other peer-to-peer.
In some peer-to-peer networks, server also is used for some centralized services by the member, like address discovery (for example, being used to the structure peer-to-peer network connects).
General introduction
The present invention is provided for implementing the method and apparatus of peer-to-peer relay.In an enforcement, support a plurality of peer-to-peer relay network of network environment to comprise: the first peer-to-peer relay network that comprises N1 peer system; And the second peer-to-peer relay network that comprises N2 peer system; Wherein, Each peer system in the said first peer-to-peer relay network is connected to a plurality of other peer systems that are less than or equal to the first connection restriction in the said first peer-to-peer relay network; Said first connects restriction more than or equal to 2; Said first connects restriction is less than or equal to N1-2; Each peer system in the said first peer-to-peer relay network is configured to first set that basis is made up of one or more relaying rule; Data are relayed to the peer system that is connected to this peer system, and each peer system in the said second peer-to-peer relay network is connected to a plurality of other peer systems that are less than or equal to the second connection restriction in the said second peer-to-peer relay network, and said second connects restriction more than or equal to 2; Said second connects restriction is less than or equal to N2-2; Each peer system in the said second peer-to-peer relay network is configured to second gather according to what is made up of one or more relaying rule, and data are relayed to the peer system that is connected to this peer system, and in the said first peer-to-peer relay network at least one peer system also in the said second peer-to-peer relay network.
In an enforcement, a kind of in the peer-to-peer relay network method of relay data comprise: the transmission peer system that from the peer-to-peer relay network, is connected to said relaying peer system in the relaying peer system receives data; Selection is corresponding to the peer-to-peer relay network of data accepted, and wherein, selected peer-to-peer relay network has the correspondence set of being made up of one or more relaying rule; Use the said set of forming by one or more relaying rule with select to indicate by the said set of forming by one or more relaying rule, want the said data of relaying to zero or more a plurality of peer systems; And said data are relayed to through using any peer system that the said set of being made up of one or more relaying rule is selected.
In an enforcement, a kind of peer system in the peer-to-peer relay network comprises: the instrument that is used for being connected to from the peer-to-peer relay network in the relaying peer system transmission peer system reception data of said relaying peer system; Be used to select the instrument corresponding to the peer-to-peer relay network of data accepted, wherein, selected peer-to-peer relay network has the correspondence set of being made up of one or more relaying rule; Be used to use the said set of forming by one or more relaying rule with select to indicate by the said set of forming by one or more relaying rule, want the said data of relaying to the instrument of zero or more a plurality of peer systems; And be used for said data are relayed to through using the instrument of any peer system that the said set of being made up of one or more relaying rule selects.
The accompanying drawing summary
Fig. 1 illustrates the diagrammatic sketch of an enforcement of peer-to-peer relay network.
Fig. 2 illustrates the block diagram of an enforcement of message.
Fig. 3 is illustrated in the flow chart of an enforcement of the peer-to-peer of relay message in the peer-to-peer relay network.
Fig. 4 illustrates the set of forming according to the relaying rule, the flow chart of an enforcement of the peer-to-peer of relay message in the peer-to-peer relay network.
Fig. 5 illustrates the flow chart of an enforcement of setting up the peer-to-peer relay network.
Fig. 6 illustrates the flow chart that peer-to-peer is connected to an enforcement of peer-to-peer relay network.
Fig. 7 illustrates the flow chart of an enforcement of the peer-to-peer of selecting to be used to add the peer-to-peer relay network.
Fig. 8 illustrates and forces peer-to-peer is the flow chart that new peer-to-peer provides an enforcement of connection in the peer-to-peer relay network.
Fig. 9 is illustrated in the flow chart that the peer-to-peer relay network breaks an enforcement of connection.
Figure 10 illustrates the flow chart of an enforcement safeguarding the peer-to-peer relay network.
Figure 11-18 illustrates structure, adjusts and safeguards examples of implementation of grid.
Figure 19 is illustrated in the flow chart that makes up an enforcement of redundant tabulation in the peer-to-peer relay network.
Figure 20 is illustrated in the flow chart of an enforcement of tabulating for the peer-to-peer renewal redundancy that will break off connection in the peer-to-peer relay network.
Figure 21 illustrates the flow chart of relaying from an enforcement of the message of the peer system that belongs to a plurality of grids.
Figure 22 is illustrated in the flow chart of an enforcement of relay message in the grid of supporting spectators and participant.
Figure 23 illustrates the flow chart of an enforcement that detects the island in the grid.
Figure 24 is illustrated in the flow chart of an enforcement on deletion island in the peer-to-peer relay network.
Figure 25 illustrates with Figure 26 and detects island and the example that is connected the island.
Figure 27 is illustrated in the flow chart that detects a swindle enforcement in violation of rules and regulations in the peer-to-peer relay network.
Figure 28 is illustrated in the flow chart that detects a safety enforcement in violation of rules and regulations in the peer-to-peer relay network.
Figure 29 and Figure 30 illustrate the block diagram of an enforcement of server and peer system respectively.
Figure 31 A and Figure 31 B illustrate typical client server and peer-to-peer architecture.
Specify
The present invention is provided for implementing the method and apparatus of peer-to-peer relay.In an enforcement, connect a plurality of computer systems to form peer-to-peer network.Each computer system is connected to nearly other computer system of predetermined quantity.For communicating, computer system sends a message to each connected system.When computer system was received the message from another computer system, the receiving computer system sent or is relayed to other computer system according to relaying rules that are used for this peer-to-peer relay network or rule with message.According to the relaying rule, message arrives all member's computer systems in whole Internet communication.
Fig. 1 illustrates the diagrammatic sketch of an enforcement of peer-to-peer relay network 100.The peer-to-peer relay network also can be described as " grid ".In Fig. 1, connect one group of 10 peer system 105A...J (also being called " peer-to-peer ") to form the peer-to-peer relay network.Each peer system 105 is the game console of launching network, like the PlayStation with network adapter 2 that is provided by Sony Computer Entertainment Inc. TMGame console.Peer system 105 direct (for example, wired or wireless connection) or indirectly (for example, through Intranet or such as the public ip network of internet) connect.In an enforcement, when connecting, peer system 105 use UDP or TCP to connect.Peer system 105 swap datas are with network enabled environment or activity, like chat environment or game on line.
Each peer-to-peer 105 also has to the connection of central server 110, connects (not shown connection to server 110 among Fig. 1) like UDP or TCP through the internet.Server 110 is for connecting peer system 105 the server computer system of centralized service to be provided.In an enforcement, server provides the address directory of peer system, and follows the tracks of the connection between the service system.The example of other server service includes but not limited to: checking, player matches and tracking peer system address.Be described below, in some were implemented, server can be supported a plurality of independent or relevant peer-to-peer relay networks.In an enforcement, server is supported a plurality of environment or boundary, and the client is cut apart or is grouped in the environment and filtering data suitably.In an enforcement; Server is included in one or more aspect of the server of describing in the U.S. Patent application of pending trial when as follows and co-assigned: _ _ _ the U.S. Patent application 10/___ (" configuration is switched: the dynamic change between the network service architecture (Configuration Switching:Dynamically Changing Between Network Communication Architectures) ") that proposes with _ _ _ the U.S. Patent application 10/___ (" multi-user's API (Multi-User Application Programming Interface) ") of proposition, the disclosure of these applications is incorporated herein by reference.In another was implemented, peer-to-peer did not use centralized server (for example, making up grid and relay data through direct communication).
Network 100 has the restriction of connection 3.Connect restriction by the server setting, and limit the maximum quantity that allows the connection that each peer-to-peer 105 has in grid.In another was implemented, a peer-to-peer (for example, setting up the peer-to-peer of grid) was provided with and connects restriction, and perhaps a plurality of peer-to-peers consult to connect restriction.In Fig. 1, connection is restricted to 3, and each peer-to-peer 105 has 3 connections.Peer system A-J respectively has 3 to the connection of (peer system 105A also is called peer system A or peer-to-peer A) of other peer-to-peer.Network 100 is peer-to-peer relay networks of 3 connections, and therefore, each peer-to-peer 105 has 3 connections to other peer-to-peer.
These peer-to-peers 105 are through communicating in whole network 100 broadcasts.These peer-to-peers 105 will receive message relay through the relaying rule according to network 100 and spread news to connecting peer-to-peer 105.In this implements; Relaying rule predetermining peer-to-peer 105 with message relay to each peer-to-peer 105 that is connected to peer-to-peer 105; But except two kinds of situation: (i) peer-to-peer 105 this peer-to-peer 105 of relaying message of relaying not; And (ii) peer-to-peer 105 does not return message relay to such peer-to-peer 105, and promptly this relaying peer-to-peer 105 has been received this message from it.In an enforcement; Peer-to-peer 105 does not also arrive such peer-to-peer 105 with message relay; This relaying peer-to-peer 105 is received this message (for example, when relaying peer-to-peer 105 before this message of relaying peer-to-peer 105 relayings when a plurality of peer-to-peers 105 are received this message) from it.In other is implemented, can use difference or additional rule.Relaying rule (and Else Rule) is set up by server, or is preset in the peer system (or its systems soft ware).In another is implemented, can on-the-fly modify rule, as having the message of Policy Updates through propagating at whole grid.
In an application of network 100, these peer-to-peers 105 are being played online game.In the process of recreation, peer-to-peer 105 generates the action that reflection causes by this peer-to-peer 105 or the updating message of incident.For example; During player's computer system (for example, peer-to-peer A) was upward carried out Games Software, action Updated Information during the computer system generation will be used by other player's computer system, expression was played; As moving or shooting (for example, upgrading player's position).Come into force for making to upgrade, each peer-to-peer 105 need be received renewal from upgrading peer-to-peer 105.These peer-to-peers 105 whole network 100 relaying updating message with message propagation to each peer-to-peer 105.
In an example, peer-to-peer A has the renewal that will send to other peer-to-peer.Peer-to-peer A makes up updating message, and updating message comprises that Updating Information, identify peer-to-peer A is the identifier in renewal source and the sequence identifier of distinguishing this message and other message of being sent by peer-to-peer A, and relative order is provided.Peer-to-peer A sends a message to the peer-to-peer of its connection: B, C, D.Peer-to-peer B will send to peer-to-peer D and E from the message that peer-to-peer A receives.Peer-to-peer B does not send a message to peer-to-peer A, and this is because peer-to-peer B has received this message from peer-to-peer A.Similarly, peer-to-peer C will send to peer-to-peer G and H from the message of peer-to-peer A, and peer-to-peer D will send to peer-to-peer B and G from the message of peer-to-peer A.When peer-to-peer B when peer-to-peer D receives message be identical message (through using the identifier of message) because peer-to-peer B identifies this, therefore, peer-to-peer B is this message of relaying no longer.Similarly, the peer-to-peer D message that receives from peer-to-peer B of relaying not.Suppose that the time quantum aspect that is connected transmission message between the peer-to-peer between the peer-to-peer is substantially the same; Then in next group relaying; Peer-to-peer E will be sent to peer-to-peer F and I from the message of peer-to-peer B; Peer-to-peer G will be from the message relay of peer-to-peer C to peer-to-peer D and F (look arriving the message of peer-to-peer C earlier and decide, perhaps will from the message relay of peer-to-peer D to peer-to-peer C and F), and peer-to-peer H will arrive peer-to-peer I and J from the message relay of peer-to-peer C.At this moment, each peer-to-peer has received the updating message from peer-to-peer A.Yet peer-to-peer F, I and J have just received message, and therefore, these peer-to-peers are with this message of relaying.Peer-to-peer F will (perhaps will arrive peer-to-peer E and J from the message relay of peer-to-peer G to peer-to-peer G and J from the message relay of peer-to-peer E; Be as the criterion with the first comer); Peer-to-peer I will (or will arrive peer-to-peer E and J from the message relay of peer-to-peer H to peer-to-peer H and J from the message relay of peer-to-peer E; Be as the criterion with the first comer), and peer-to-peer J will arrive peer-to-peer F and I from the message relay of peer-to-peer H.Till this moment, all peer-to-peers send or relaying a message.Since these peer-to-peers will be not the identical message of relaying again, this transmission of news is finished.
Like this, message is propagated at whole peer-to-peer network 100.This propagation support recreation and the game environment of lastest imformation between the peer system 105 of participating in recreation.These peer systems 105 can not use centralized server 110 to distribute at whole network 100 distributing datas.In addition, each peer-to-peer 105 is not connected directly to other peer-to-peer 105, thereby has saved resource.Therefore; Grid 100 limits the network bandwidth requirement (because it only need communicate with other client of limited quantity) of each peer-to-peer; Allow simultaneously to propagate into other peer-to-peer (for example, through using the UDP socket) in the grid fast from any single client's data.
In other was implemented, the peer-to-peer relay network comprised more or less peer system, and network has different connection restrictions.Looking peer-to-peer quantity, connect restriction and the rule that is used to connect and decide, is not that all peer-to-peers can make its all connections taken, and so has a peer-to-peer that (or more a plurality of) have available connection.
In another was implemented, connecting restriction can be different.In an enforcement, connecting restriction is specific to each peer system, some, all or do not have peer-to-peer to have different connection restrictions.Each peer-to-peer is provided with it and connects restriction, is perhaps specified by server to connect restriction.In an example, peer-to-peer X and Y respectively have and are connected restriction 5, and peer-to-peer Z has the restriction of connection 4, and remaining peer-to-peer respectively has the restriction of connection 3.In another was implemented, it was dynamic connecting restriction.In this case, the connection restriction of server adjustment peer-to-peer is like performance adjustment Network Based (for example, when Internet traffic was low, it was low to connect restriction).In another was implemented, one or more peer system was dynamically adjusted it respectively and is connected restriction accordingly.Perhaps, server connects restriction (for example, adjust some but be not whole) for particular peer system dynamics adjustment.
Fig. 2 illustrates the block diagram of an enforcement of message 205.Message 205 is made up to send to other peer-to-peer in the peer-to-peer relay network by peer system.For example, with reference to Fig. 1, when peer-to-peer A had the updating message that will send to other peer-to-peer, peer-to-peer A made up the message such as message 205.Message 205 comprises: address data 210, originating identifier 215, sequence valve 220 and Payload data 230.Address data 210 comprises that network addressing information is to send to another peer-to-peer with message 205 from this peer-to-peer.In an enforcement, address data 210 comprises the IP address of sending peer-to-peer and expects the IP address that receives peer-to-peer.Originating identifier 215 signs make up the peer-to-peer of message 205.This identifier 215 is indicated the origin of the message that spreads through the internet to the peer-to-peer of whole peer-to-peer relay network.Through using originating identifier 215, the peer-to-peer that receives message 205 can confirm message 205 starts from which peer-to-peer in the network.The specific message 205 of sequence valve 220 signs, and relative order information is provided.Through using sequence valve 220, the peer-to-peer that receives message 205 can determine whether to have received certain particular message, and the order or the order of the message that can confirm to send from the peer-to-peer by originating identifier 215 indications.Data 230 are Payload data of message 205.For updating message (for example, in recreation), Payload data 230 are will be by receiving Updating Information of peer-to-peer use.In substitute implementing, can use dissimilar message, and can use the message (for example, comprising difference or additional information) with message different-format shown in Figure 2.For example, message can comprise a part or the Frame of file or file, like game data frame or audio file frame or its part of announcing to the grid member.Receiving peer-to-peer can use the sequence valve that comprises in each message to rebuild whole file.In another example, message comprises additional identification information, like the identifier of grid under the Indication message, to carry out relaying by the peer-to-peer that belongs to a plurality of grids.
Fig. 3 is illustrated in the flow chart 300 of an enforcement of the peer-to-peer of relay message in the peer-to-peer relay network.At first, peer-to-peer is connected to one or more other peer system in the peer-to-peer relay network.
Peer-to-peer passes through peer-to-peer and sends being connected from sending peer-to-peer reception message, square frame 305 between the peer-to-peer.Message comprises originating identifier, sequence valve and Payload data (for example, Updating Information), and is identical with message shown in Figure 2.
Peer-to-peer is selected to want relaying to receive the connection that message arrives, square frame 310.Peer-to-peer is selected to connect from the available connection of peer-to-peer according to the relaying rule that is used for the peer-to-peer relay network.After using the relaying rule, peer-to-peer possibly selected the connection of some in the connection of peer-to-peer, non-selected peer-to-peer or select whole in the connection of peer-to-peer.
Peer-to-peer arrives each selected connection, square frame 315 with message relay.Peer-to-peer makes up message for each selected connection.For each message that will send, peer-to-peer uses and has received message, but upgrades addressing information (for example, change transmit leg into peer-to-peer, and change the recipient into be used to connect reception peer-to-peer) in due course.Correspondingly, the Payload data remain unchanged.In another was implemented, peer-to-peer also can add data message to or change the data in the message.Peer-to-peer sends to suitable recipient with the message that makes up.
Fig. 4 illustrates the flow chart 400 of an enforcement of the peer-to-peer of forming according to the relaying rule that is integrated into relay message in the peer-to-peer relay network.The relaying rule of using among Fig. 4 is the example of a relaying regular collection.Other enforcement can be used difference or additional relaying rule.At first, the relaying peer-to-peer is connected to N other peer system in the peer-to-peer relay network.For example, in the network shown in fig. 1, therefore peer-to-peer D is connected to 3 other peer-to-peers (and N=3) in this case.The relaying rule that Fig. 4 is used for relay message is:
1. twice of relay message not
2. not with message relay back side
3. message relay is not arrived the origin peer-to-peer
After the application rule 1 and 2 with the peer-to-peer of message relay to available the connection
The relaying peer-to-peer receives message, square frame 405.The relaying peer-to-peer confirms whether the relaying peer-to-peer has received this message, square frame 410.The relaying peer-to-peer compares the identification data of message and data by the message of having received of relaying peer stores.In an enforcement, each peer-to-peer is safeguarded the message table of being made up of originating identifier that receives message and sequence valve of reception.The relaying peer-to-peer is retrieved originating identifier and sequence valve from receiving the message, and the data of storing in the message table that receive of this information and relaying peer-to-peer are compared.If the relaying peer-to-peer confirms that the relaying peer-to-peer had received this in the past and received message (for example, peer-to-peer finds clauses and subclauses in storage has received the message table of reception of originating identifier and sequence valve of message), then the relaying peer-to-peer not relaying received message.In another was implemented, the inspection of relaying peer-to-peer received message to have confirmed before the relaying peer-to-peer whether relaying.
If the relaying peer-to-peer is confirmed the relaying peer-to-peer and was not received this message in the past that then relaying peer-to-peer record has received this message, square frame 412.In an enforcement, the relaying peer-to-peer is with the message table of reception that adds the relaying peer-to-peer about the clauses and subclauses of the originating identifier that receives message and sequence valve to.If this table has had the clauses and subclauses about this originating identifier and sequence valve, then the relaying peer-to-peer does not change table.
After record had received this message, the relaying peer-to-peer was provided with counter, square frame 415.Relaying peer-to-peer usage counter comes progressively to travel through each available connection of (step through) relaying peer-to-peer.In an enforcement, the relaying peer-to-peer is made as 1 with integer counter i.
The relaying peer-to-peer confirms whether the relaying peer-to-peer has received message from being connected to by the peer-to-peer that connects shown in the counter, square frame 420.Received message and comprised that indication has received the addressing information of the transmit leg of message.The counter indication connects, and therefore indicates the addressing information that has connected peer-to-peer and this peer-to-peer.For example, the peer-to-peer D among Fig. 1 has 3 connections, and peer-to-peer D has specified numeral for each connection: peer-to-peer A is connected to and connects 1, and peer-to-peer B is connected to and connects 2, and peer-to-peer G is connected to connection 3.Therefore, when counter i was 1, peer-to-peer D compared through the addressing information of addressing information (transmit leg) that will receive message and the peer-to-peer A that is stored by peer-to-peer D, and whether inspection has received message and sent by peer-to-peer A.If received message is to send to the relaying peer-to-peer by being connected to by the peer-to-peer that connects shown in the counter, and then the relaying peer-to-peer does not arrive this peer-to-peer with message relay.
If received message is not to send to the relaying peer-to-peer by being connected to by the peer-to-peer that connects shown in the counter, and then whether be the origin peer system that received message to the relaying peer-to-peer if confirming to be connected to by the peer-to-peer that connects shown in the counter, square frame 422.Received message and comprised that indication is as the information that receives the peer-to-peer (generating the peer-to-peer of the data of message at first, again the originating identifier 215 of calling graph 2) of the origin of message.If being connected to by the peer-to-peer that connects shown in the counter is the origin peer system that has received message, then the relaying peer-to-peer does not arrive this peer-to-peer with message relay.
If received message is not to send to the relaying peer-to-peer by being connected to by the peer-to-peer that connects shown in the counter; And being connected to by the peer-to-peer that connects shown in the counter is not the origin peer system that has received message; Then the relaying peer-to-peer is with the peer-to-peer of message relay to this connection, square frame 425.The relaying peer-to-peer connects structure message shown in being.The relaying peer-to-peer duplicates and receives message and upgrade addressing information (for example, change transmit leg into the relaying peer-to-peer, and change the recipient into connect shown in being connected to the peer-to-peer of connection) in due course.Correspondingly, the Payload data remain unchanged.The relaying peer-to-peer with the message that makes up through shown in connect to send to and connect peer-to-peer.
The relaying peer-to-peer determines whether all connections of inspected, square frame 430.The relaying peer-to-peer compares counter with the quantity of in the peer-to-peer relay network, being set up by the relaying peer-to-peer that is connected.For example, the relaying peer-to-peer compares counter i with the value of N (by the quantity that is connected of relaying peer-to-peer maintenance).If the relaying peer-to-peer has checked that all connect, then the relaying peer-to-peer is accomplished this and has been received the relaying of message.
If the relaying peer-to-peer is not checked all connections, then the relaying peer-to-peer increases counter, square frame 435.For example, the relaying peer-to-peer is made as i+1 with counter i.After increasing counter, the relaying peer-to-peer confirms that whether the relaying peer-to-peer receives message from being connected to have been received by the peer-to-peer that connects shown in the counter that increases, thereby returns square frame 420.
As stated, in other is implemented, also can use different, additional or the rule of relaying still less.In an enforcement, the relaying peer-to-peer is really with message relay back side (for example, so transmit leg can confirm that the relaying peer-to-peer does not change data).In another was implemented, the relaying peer-to-peer was not with the peer-to-peer (for example, as the originating identifier of message shown in) of message relay to the origin that is designated as message.In another was implemented, the relaying peer-to-peer can not arrive the identical peer-to-peer of connection with identical message relay again.In another was implemented, the relaying peer-to-peer was selected by the available subclass relay message that connects to form, and had minimum and the peer-to-peer of the highest response time like selection.In another is implemented, each peer-to-peer according to the hop count of storing in the message with the connection peer-to-peer of message relay, so that with the certain number of times of a relay message to all peer-to-peers.In another is implemented, the number of times (more than once) that peer-to-peer is limited with identical message relay.
Fig. 5 illustrates the flow chart 500 of an enforcement of setting up the peer-to-peer relay network.At first, dispose peer system and server, like peer-to-peer A among Fig. 1 and server 110.Peer system opens to the connection of server, square frame 505.Peer system is connected to server setting up peer-to-peer relay network (or grid), and can be described as " setting up peer-to-peer ".Connection to server can be that direct or indirect network connects.In an enforcement, peer-to-peer is assigned to the sub-fraction space or by one of a plurality of boundaries of server maintenance or environment or add and in by one of a plurality of boundaries of sub-fraction space or server maintenance or environment, register.Server is the checking peer-to-peer before allowing peer-to-peer further mutual.Peer system will be created grid request and be submitted to server, square frame 510.Create the identification information and the peer requests server of grid request indication peer-to-peer and set up new peer-to-peer relay network.In an enforcement, request also comprises the condition of peer requests server application (restriction that for example, adds grid).In another is implemented, connection restriction and regular collection (for example, relaying rule and concatenate rule) that the request indication is used in grid.The new grid of server registration, square frame 515.Server maintenance is followed the tracks of the tables of data or the tabulation of having set up grid.Server is that new mesh creating is newly shown, and requesting peer is added in the table.Server sends the affirmation of having set up grid, square frame 520 to peer-to-peer.Confirm to comprise any sign or the access information that the peer-to-peer access to network is required.In an enforcement, confirm to comprise the connection restriction and the rule (for example, relaying rule) that are used for grid.
Fig. 6 illustrates the flow chart 600 that peer-to-peer is connected to an enforcement of peer-to-peer relay network.At first, the peer-to-peer relay network is set up by peer-to-peer and server, like peer-to-peer A among Fig. 1 and server 110.
Peer system is connected to server, square frame 505.Peer system is connected to server with adding peer-to-peer relay network (or grid), and can be described as " new peer-to-peer " or " adding peer-to-peer ".Connection to server can be that direct or indirect network connects.In an enforcement, peer-to-peer is assigned to the sub-fraction space or by one of a plurality of boundaries of server maintenance or environment or add and register in the sub-fraction space or in by one of a plurality of boundaries of server maintenance or environment.Server is the checking peer-to-peer before allowing peer-to-peer further mutual.
Peer-to-peer is selected grid from the available grids of server, square frame 610.In an enforcement, the tabulation of peer requests available grids is also selected from this tabulation.In another was implemented, server provided the available grids tabulation automatically when peer-to-peer is connected to server.In an enforcement, server provides the available grids tabulation on the boundary that peer-to-peer registers therein.Server also can provide additional information to select (for example, which peer-to-peer has been the member of each grid) with help.Peer-to-peer selects to be submitted to server with grid.
Server sends the address of the peer-to-peer that has added selected grid, square frame 615.How address indication communicates (for example, IP address) with the grid member.The address is used for setting up equity with the grid member and is connected, rather than the connection through server.If selected mesh restraint insert and do not allow new peer-to-peer to add selected grid, then server is not provided to peer-to-peer with the address, and is ready to let peer-to-peer select different grid.In an enforcement, server is provided to new peer-to-peer with the rule of the connection restriction of selected grid with the address.
New peer-to-peer will add message and send to each grid member, square frame 620.Add address and this peer-to-peer that message indicates new peer-to-peer for this grid and Yan Shixin.In another is implemented, the connection available message (be described below, be similar to when peer-to-peer loses connection) of the quantity that is connected that the address that new peer-to-peer sends the indication peer-to-peer and peer-to-peer can be used.In another is implemented, new peer-to-peer will add message and send to a grid member, and this grid member begins to add message through mesh relay.
The grid member receives adding message, and each member will add response and send it back new peer-to-peer, square frame 625.Add response indication response peer-to-peer and whether have available connection.Positive response indication response peer-to-peer has available connection.Negative response indication response peer-to-peer does not have available connection.Response peer-to-peer record adds the address of new peer-to-peer in the message, and uses this address transmission to add response.New peer-to-peer receives and adds response.
New peer-to-peer selects to be connected to which among the grid member, square frame 630.New peer-to-peer uses the concatenate rule set to select peer-to-peer for connecting.For example; In an enforcement; New peer-to-peer receives the order of positive response by new peer-to-peer; From the peer-to-peer that sends positive response, select a plurality of peer-to-peers (for example, for connecting restriction 3, new peer-to-peer is selected the peer-to-peer corresponding to first three positive response that receives) of the nearly connection restriction of grid.Different enforcement can be used different concatenate rule set.The response time of new each selected peer-to-peer of peer stores.In another is implemented, the response time of new all responses of peer stores (affirmation and negation).
After selecting peer-to-peer for connection, new peer-to-peer is opened to the connection of selected peer-to-peer, square frame 635.New peer-to-peer sends to peer-to-peer that each is selected with connection request, and selected peer-to-peer affirmation request, thereby opens connection (only if having become unavailable for selected peer-to-peer connection).Connection between the peer-to-peer can be direct or indirect (for example, across a network is like the internet).In an enforcement, when peer-to-peer is opened connection, each peer-to-peer will connect announcement server.
In another was implemented, server helped add grid through forcing one or more connection.Server can make a peer-to-peer close connection, and opens to the connection of another indicated peer-to-peer.Server also can make peer-to-peer close one or more its connection.
Fig. 7 illustrates the flow chart 700 such as an enforcement of the peer-to-peer of selecting adding peer-to-peer relay network in the square frame 630 of Fig. 6.At first, new peer-to-peer has been selected grid, and sends the member peer of adding message to this grid.New peer-to-peer has received the adding response of returning from member peer.
New peer-to-peer is selected the peer-to-peer that received positive response corresponding to first, square frame 705.This positive response received before other response, and the fastest available connection of expression.New peer-to-peer is selected corresponding to the peer-to-peer that has received at last positive response, square frame 710.This positive response receives after other response, and the slowest available connection of expression.For definite which response is last, new peer-to-peer wait receives until all responses, perhaps waits for the period of regulation, and what receive at last in the declaration during this period then is last.New peer-to-peer is selected peer-to-peer at random from the residue positive response, selected to equal to connect a plurality of peer-to-peers of restriction, square frame 715 until new peer-to-peer.These select to support the quick and average distribution that is connected at a slow speed through grid.
As stated, in various enforcements, can use difference or additional concatenate rule.In an enforcement, new peer-to-peer is selected the peer-to-peer of first positive response and last positive response, selects the peer-to-peer corresponding to positive response with the increasing order (in first back) of response time then.In another was implemented, newly peer-to-peer was selected peer-to-peer (for example, keeping a space for having received positive response at last) when response arrives, rather than wait begins to select peer-to-peer.In another was implemented, new peer-to-peer used the response time threshold value to select peer-to-peer (for example, not selecting to have the peer-to-peer of the response time that surpasses a certain restriction).In another was implemented, new peer-to-peer was selected peer-to-peer based on the characteristic (using the information that in adding response, provides) of peer-to-peer, like memory capacity, processing speed, access rank or available function.
In an enforcement, the selection course that the peer system basis is used to select to connect is with those link sorts.For example, peer stores indication which open connection and the adding response that receives and which to open the information that the adding of the highest response time responds that has that is connected corresponding to receiving corresponding to minimum response time.Add the grid adjustment when being connected, the link sort that whole deposit that peer-to-peer is adjustable is stored up break off connecting for peer-to-peer with new peer-to-peer.
In another was implemented, new peer-to-peer used server to help to open connection.In an enforcement, server provides the grid member tabulation with available connection and the address of those member peers.New peer-to-peer will add message and directly send to indicated grid member.
If positive response is than connecting less restriction, then new peer-to-peer will have the available connection of residue.In an enforcement, new peer-to-peer can be forced another peer-to-peer to be closed to connect and open and new being connected of peer-to-peer.
Fig. 8 illustrates and forces peer-to-peer is the flow chart 800 that new peer-to-peer provides an enforcement of connection in the peer-to-peer relay network.At first, new peer-to-peer has been selected grid, and sends the member peer of adding message to this grid.New peer-to-peer has received the adding response of returning from member peer.Yet after selecting peer-to-peer for all positive responses, new peer-to-peer still has available connection.
New peer-to-peer is selected the peer-to-peer corresponding to negative response, square frame 805.The identical concatenate rule that new peer-to-peer is used for positive response is selected negative response (for example, according to Fig. 7 the rule negative response of reception earlier).Perhaps, new peer-to-peer uses different pressure concatenate rule set.The peer-to-peer that new peer-to-peer does not select new peer-to-peer to be connected to.
New peer-to-peer will force connection request to send to selected peer-to-peer, square frame 810.Force connection request to indicate new peer-to-peer to have at least one available connection (or concrete quantity), and indication receive peer-to-peer and will open and new being connected of peer-to-peer.
New peer-to-peer receives forces connection request, and selects the connection that will close, square frame 815.The opposite peer-to-peer that receives uses concatenate rule to select the connection that will close.For concatenate rule, receive the response time that peer-to-peer uses the adding response (with the available response that is connected that is described below) of storage based on the response time.In an enforcement, between selected at random peer-to-peer, select, receive peer-to-peer and select last selected peer-to-peer, perhaps select peer-to-peer again at random.In another is implemented, receive peer-to-peer and use different pressures to break off the concatenate rule set.
Receive peer-to-peer and close selected connection, square frame 820.Receive peer-to-peer close message is sent to the peer-to-peer that is connected to selected connection, and these two peer-to-peers are closed this connection.The peer-to-peer that is connected to selected connection has available connection now, thereby is described below to send and connects available message to grid.
Receive peer-to-peer and send an acknowledgement to new peer-to-peer, and these two peer-to-peers are opened new connection, square frame 825.New peer-to-peer has lacked an available connection now.If new peer-to-peer has more how available connection, then new peer-to-peer repeats this process, returns square frame 805 to select another negative response.
In another was implemented, new peer-to-peer did not force another peer-to-peer to open connection, only if new peer-to-peer has at least two available connections.Perhaps, can use different threshold value (for example, 3).In another was implemented, when new peer-to-peer did not have the connection (connection radix) of a certain at least quantity, new peer-to-peer sends forced connection message.
In another is implemented, force the reception peer-to-peer of connection message can select refusal (for example, view network load balancing and decide).When being rejected, new peer-to-peer is selected newly to force connection message to send to another peer-to-peer.
In another is implemented, if new peer-to-peer has two or more available connections, and send and force connection message, then new peer-to-peer comprises that in message the new peer-to-peer of indication has the information of two available connections.When receiving the connection that peer-to-peer selected to close, receiving peer-to-peer has another the available connection address of new peer-to-peer (and comprise in due course) to the new peer-to-peer of the peer-to-peer of connection (remote peer) indication of selected connection.Receive peer-to-peer closed with being connected of remote peer after, remote peer will connect available message and directly send to new peer-to-peer (only if newly peer-to-peer has been connected to this remote peer).New peer-to-peer open be connected with (selecting) reception peer-to-peer new by new peer-to-peer and with another new connection of (by the selection of reception peer-to-peer) remote peer.Like this, newly peer-to-peer can be set up two connections fast.If new peer-to-peer still has two other available connection, then new peer-to-peer can send to another selected reception peer-to-peer with the pressure connection message of indicating two available connections once more.
When peer system was broken off with being connected of another peer system, each in these peer-to-peers had available connection then.If one of these peer-to-peers (or both) are in grid (that is, break off with grid is connected) still, then peer-to-peer will connect residue that available message sends to peer-to-peer and connect peer-to-peer to pass through mesh relay all other peer-to-peers in the grid.
Fig. 9 is illustrated in the flow chart 900 that the peer-to-peer relay network breaks an enforcement of connection.At first, peer system (breaking off the peer-to-peer that connects) is connected at least two other peer systems in the peer-to-peer relay network.
The peer-to-peer that break off to connect becomes and breaks off one of peer-to-peer that the peer-to-peer that is connected is connected at first and break off connection, square frame 905.Break off and connect and to take place because any end breaks off the fault (for example, the part path failure between the peer-to-peer) in connection or the connection itself voluntarily.For example, when peer-to-peer confirms that connected peer-to-peer is in non-responsive state (being described below), perhaps when peer-to-peer be forced open with new peer-to-peer be connected (as stated) time, the disconnection connection can take place voluntarily.In an enforcement, server can make peer-to-peer close one or more connection, causes corresponding disconnection to connect.
Break off the peer-to-peer that connects and to connect the residue peer-to-peer that available message sends to the peer-to-peer that is connected to the disconnection connection, square frame 910.The peer-to-peer that connects available message indication disconnection connection has available connection now.In another is implemented, the quantity of the available connection that connection available message indication peer-to-peer has.
Be connected to the peer-to-peer relaying that breaks off the peer-to-peer that connects and connect available message, square frame 915.Peer-to-peer in grid will connect available response and send it back the member who breaks off connection, square frame 920.Connect available response indication response peer-to-peer and whether have available connection.Positive response indication response peer-to-peer has available connection.Negative response indication response peer-to-peer does not have available connection.Response peer-to-peer record adds the address of new peer-to-peer in the message, and uses this address transmission to add response.Perhaps, the response peer-to-peer will respond through grid and beam back the peer-to-peer that breaks off connection to be relayed to.Break off the peer-to-peer that connects and receive the connection available response.
Break off the peer-to-peer that connects and select one of grid member that will be connected to, square frame 925.It is to connect to select peer-to-peer that the peer-to-peer that break off to connect uses concatenate rule, and does not select to break off the peer-to-peer that the peer-to-peer of connection has been connected to but break off the peer-to-peer that connects.For example, in an enforcement, break off the peer-to-peer that connects and use the response time of connection available response and the response time that still is connected to the peer-to-peer that breaks off the peer-to-peer that is connected of storage, to select to substitute the peer-to-peer of the connection that loses.Different enforcement can be used different concatenate rule set.The response time of the peer-to-peer that the peer stores that disconnection connects is selected.In another is implemented, break off the response time of all responses of peer stores (affirmation and negation) that connect.In an enforcement, the peer-to-peer that break off to connect is not selected such peer-to-peer, breaks off the peer-to-peer that connects and in certain period, has broken off and its be connected.
For after connecting the selection peer-to-peer, break off the peer-to-peer that connects and open to the connection of selected peer-to-peer, square frame 930.Break off the peer-to-peer that connects connection request is sent to selected peer-to-peer, and selected peer-to-peer affirmation request, thereby open connection (only if having become unavailable) for selected this connection of peer-to-peer.Connection between the peer-to-peer can be direct or indirect (for example, across a network is like the internet).In an enforcement, connected peer-to-peer renewal has been sent to server, thereby confirmed to connect.
Be similar to the above-mentioned enforcement that adds grid with reference to Fig. 8; In an enforcement; After attempting using the connection available message to open connection, (for example still has available connection if break off the peer-to-peer that connects; Be negative because all connect available response), then break off the peer-to-peer that connects and can send the pressure connection message as stated.
In another is implemented, break off the peer-to-peer that connects and use server to help to open new connection.In an enforcement, server provides the grid member tabulation that tool can use connection and the address of those member peers.The peer-to-peer that breaks off connection will connect available message and directly send to indicated grid member.
Peer system in the grid is safeguarded grid through regularly mutual poll.In an enforcement, connected peer-to-peer and regularly sent message each other to confirm that connecting and be connected peer-to-peer is still moving.
Figure 10 illustrates the flow chart 1000 of an enforcement safeguarding the peer-to-peer relay network.At first, a plurality of peer systems connect in grid.
Peer-to-peer sends to each peer-to-peer that is connected to this peer-to-peer, square frame 1005 with maintain message.Maintain message is that the requirement recipient provides the request of receiving that maintain message is confirmed.In an enforcement, peer-to-peer sends to each with Ping message and has connected peer-to-peer.The response of the maintain message that the peer-to-peer assessment receives, square frame 1010.Peer-to-peer confirms whether response is satisfied with.In an enforcement, if do not receive response from connecting peer-to-peer, then peer-to-peer is confirmed the connection of this peer-to-peer lost efficacy (owing to the reason that connects or owing to the reason that connects peer-to-peer).If do not receive response in time restriction by preceding, then peer-to-peer confirms that the connection of this peer-to-peer lost efficacy.Peer-to-peer is closed the connection that it confirms failed any connection, square frame 1015.Peer-to-peer will be closed connection request and sent at the peer-to-peer of connection that lost efficacy on connecting.When peer-to-peer was received affirmation, peer-to-peer was closed connection.If peer-to-peer can't communicate with the peer-to-peer of connection that is connected in inefficacy, perhaps in time restriction, do not receive affirmation, then peer-to-peer is closed connection under no affirmation situation.In another was implemented, peer-to-peer waited for and closes connection, had been indicated as being a period of time or lost efficacy repeatedly of losing efficacy until connecting.In an enforcement, peer-to-peer sends to server with renewal, thereby confirms any connection of closing.
If peer-to-peer has been closed any connection, then peer-to-peer is connected with one or more peer-to-peer disconnection voluntarily and sends suitable connection available message (for example, as above said with reference to Fig. 9).
In another is implemented, the connection that peer-to-peer uses server evaluates to lose efficacy.For example, when peer-to-peer confirmed that connection had been lost efficacy, peer-to-peer transmit a request to server to ask for help.Server sends a message at the peer-to-peer of the connection other end that lost efficacy, to confirm being that this peer-to-peer has fault or connects inefficacy.Server notifies peer-to-peer perhaps to adjust network in due course to help opening new connection then.
Figure 11-18 illustrates structure, adjusts and safeguards the example of an enforcement of grid.
In Figure 11, peer system 1105 A(peer-to-peer A) uses server 1110 to set up peer-to-peer relay network (grid) 1100 (being connected between peer-to-peer A and the server 1110 is not shown).The connection of this grid is restricted to 3, and therefore, peer-to-peer A has 3 available connections.In Figure 12, second peer system 1105 B(peer-to-peer B) added grid 1100.When peer-to-peer B adds fashionablely, peer-to-peer B will add message and send to peer-to-peer A, and peer-to-peer A will add response certainly and send to peer-to-peer B.Peer-to-peer A opens with peer-to-peer B and is connected.
In Figure 13, two other peer system 1105 CWith 1105 D(peer-to-peer C and peer-to-peer D) added grid 1100.Among these four grid member peer A-D each set up 3 with grid 1100 in being connected of other peer-to-peer.New peer system 1105 E(peer-to-peer E) adds grid.Yet when peer-to-peer E will add message when sending to other peer-to-peer, because each peer-to-peer A-D has had the connection of the maximum quantity that the connection restriction by grid 1100 allows, therefore, all add response for negating.In Figure 14, peer-to-peer E has forced to open connection.Peer-to-peer E selects peer-to-peer B (for example, because peer-to-peer E receives the response of peer-to-peer B earlier) from negative response, and will force connection message to send to peer-to-peer B.Peer-to-peer B selects peer-to-peer D closing connection, and closes and being connected of peer-to-peer D.Peer-to-peer B affirmation is connected with peer-to-peer E's, and peer-to-peer B opens new the connection with E.When peer-to-peer B closed with being connected of peer-to-peer D, peer-to-peer D had available connection.Peer-to-peer D will connect available message and send to peer-to-peer A and C, and these peer-to-peers are in whole grid 1100 relay message.Peer-to-peer A, B and C do not have available the connection, therefore negative response are sent to peer-to-peer D.Peer-to-peer E has two available connections, and positive response is sent to peer-to-peer D.Peer-to-peer D opens and being connected of peer-to-peer E.Peer-to-peer E still has available connection, and therefore sends the connection available message.Yet all responses are negative.Peer-to-peer E has two and connects, and has only an available connection, and therefore, peer-to-peer E does not force to open another connection.
In Figure 15, peer-to-peer A disconnection is connected with grid 1100.Peer-to-peer A is connected to each among peer-to-peer B, C and the D.When peer-to-peer A broke off connection, peer-to-peer B, C and D respectively had available the connection.Peer-to-peer B, C and D send and are connected available message, and peer-to-peer B, C, D and E respectively send positive response.After assessment connected the response of available response and eliminates the peer-to-peer of the connection that has existed, shown in figure 16, peer-to-peer B-E connected.Among the peer-to-peer B-E each has 3 connections now.
In Figure 17,3 new peer systems 1105 F, 1105 GWith 1105 H(peer-to-peer F, G and H) added grid 1100 and connected.As a conventional movable part of safeguarding grid, peer-to-peer B-H respectively sends Ping message and has connected peer-to-peer to it.For example, the regular Ping peer-to-peer of peer-to-peer B D, E and G.Peer-to-peer D does not provide satisfied response (for example, too slow from the response of peer-to-peer D, or no show peer-to-peer B) with regard to the Ping message of peer-to-peer B to peer-to-peer B.In Figure 18, peer-to-peer B has closed and being connected of peer-to-peer D.When peer-to-peer B closed connection, peer-to-peer B had available the connection with peer-to-peer D.Peer-to-peer B sends with D and is connected available message to pass through grid 1100 relayings.Peer-to-peer B receives positive response from peer-to-peer G and D.Peer-to-peer B has been connected to peer-to-peer G, therefore will not be new the connection to select peer-to-peer G.Peer-to-peer B owing to lost efficacy to connect and breaks off and being connected of peer-to-peer D, therefore will not be the peer-to-peer of connection selection newly D just.Peer-to-peer B does not open new connection (peer-to-peer B has two and opens connection and have only available a connection, and therefore, peer-to-peer B does not attempt forcing to connect, but in another was implemented, peer-to-peer B possibly force to connect).Peer-to-peer D receives positive response from peer-to-peer B and G.Peer-to-peer B was just owing to lost efficacy to connect and broke off and being connected of peer-to-peer D, so peer-to-peer D will not be the peer-to-peer B (perhaps peer-to-peer B can refuse new connection request) of connection selection newly.Peer-to-peer D selects peer-to-peer G and opens to the connection of peer-to-peer G.
In the example shown in Figure 11-18, the peer-to-peer of grid 1100 open with close be connected to make up with the adjustment grid and not reliance server 1110 management is connected (but server 1110 help really be addresses that new peer-to-peer provides the current member peer of grid).
Redundant tabulation
In an enforcement, the peer-to-peer in the grid is confirmed as redundant message based on the current path in the grid and is reduced the redundancy message business through avoiding sending.
In this implements, the redundant tabulation of each peer stores in the peer-to-peer relay network.Other peer-to-peer that this peer-to-peer of redundancy tabulation indication of peer-to-peer will not send to the message of the peer-to-peer that comes from appointment.Correspondingly, each clauses and subclauses indication origin peer-to-peer in the redundant tabulation and (being connected to the relaying peer-to-peer) purpose peer-to-peer.When peer-to-peer is received the message of the start peer-to-peer of indication in the tabulation of the redundancy of this peer-to-peer, this peer-to-peer will be not this message relay to by the indicated peer-to-peer of connection of entry in the redundancy tabulation.In another was implemented, peer-to-peer can open and close redundant columns table function (for example, when server requests, as after confirming safety problem to have occurred).
Figure 19 is illustrated in the flow chart 1900 that makes up an enforcement of redundant tabulation in the peer-to-peer relay network.At first, connect a plurality of peer systems to form the peer-to-peer relay network.Receive peer-to-peer and be connected at least two other peer-to-peers.
Receive peer-to-peer and receive redundancy message, square frame 1905 from connecting peer-to-peer.Redundancy message is redundant, and this is to have received identical message because receive peer-to-peer.Receive the peer-to-peer use and received the information in the message, redundancy message is designated identical.As stated, in some were implemented, each peer-to-peer safeguarded that the tabulation that has received message is to avoid twice of the identical message of relaying.Receiving peer-to-peer also can use this tabulation to identify redundancy message.
Receive peer-to-peer and make up redundant updating message, square frame 1910.Receive peer-to-peer comprises the origin of identification message in redundant updating message information and the information that identifies the reception peer-to-peer.For example, receiving peer-to-peer retrieves originating identifier (for example, the message shown in the calling graph 2) again and is stored in the originating identifier in the redundant updating message from redundancy message.
Receive peer-to-peer redundant updating message is sent to the transmit leg of redundancy message, square frame 1915.Redundancy message comprises the address information of the transmit leg of redundancy message in its address information.
The transmit leg of redundancy message receives redundant updating message, and upgrades the redundancy tabulation of transmit leg, square frame 1920.The origin of transmit leg searching mark redundancy message from redundant updating message and the recipient's of redundancy message (reception peer-to-peer) information.Transmit leg should not send to the redundancy tabulation that the clauses and subclauses that receive peer-to-peer are added transmit leg to the message that originates from indicated origin with the indication transmit leg.
For example, with reference to the grid shown in Fig. 1 100, peer-to-peer B each reception from peer-to-peer A, D and E originates from the message of peer-to-peer C.Suppose that peer-to-peer B receives the message that originates from peer-to-peer C from peer-to-peer A earlier, then the message that originates from peer-to-peer C from peer-to-peer D and E reception is redundancy message.Peer-to-peer B make up indication peer-to-peer C for origin and indication peer-to-peer B for recipient's redundant updating message to send to peer-to-peer D and E.Peer-to-peer B sends to peer-to-peer D with redundant updating message.Peer-to-peer D upgrades its redundant tabulation and arrives peer-to-peer B with the message relay that indication peer-to-peer D will not originate from peer-to-peer C.Peer-to-peer E receives similar redundant updating message from peer-to-peer B, and also upgrades its redundant tabulation in a similar fashion.
When peer-to-peer was connected to grid and is connected with the grid disconnection, the path between the client can change, and therefore redundant tabulation can become inaccurate.Correspondingly, when peer-to-peer and grid break off when being connected, remaining peer-to-peer upgrades redundant the tabulation.
Figure 20 is illustrated in the flow chart 2000 of an enforcement of tabulating for the peer-to-peer renewal redundancy that will break off connection in the peer-to-peer relay network.At first, connect a plurality of peer systems to form the peer-to-peer relay network.The peer-to-peer that breaks off connection is connected at least two other peer-to-peers.
The peer-to-peer that breaks off connection breaks off with grid and is connected square frame 2005.The peer-to-peer that was connected to the peer-to-peer that will break off connection in the past is to break off the peer-to-peer that connects now.Each breaks off the peer-to-peer that connects and follows following identical process.
Break off the peer-to-peer that connects and make up removing redundancy message, square frame 2010.Remove the information that the redundancy message sign breaks off the peer-to-peer that connects.Break off the peer-to-peer that connects and to remove the peer-to-peer that redundancy message sends to the peer-to-peer that still is connected to the disconnection connection, square frame 2015.Receive its redundant tabulation of peer-to-peer renewal of removing redundancy message, square frame 2020 from breaking off the peer-to-peer that connects.Receive peer-to-peer some clauses and subclauses of deletion in the redundancy tabulation of peer-to-peer of removing redundancy message, these clauses and subclauses influence message relay to the peer-to-peer that is connected by the indicated disconnection of removing redundancy message.
With reference to Fig. 1 and the described example of Figure 19, peer-to-peer D has indication peer-to-peer D in its redundant tabulation should be with the clauses and subclauses of the message relay that originates from peer-to-peer C to peer-to-peer B above returning.Be connected if peer-to-peer A breaks off with grid, then peer-to-peer B identifies the disconnection connection of peer-to-peer A and makes up and removes redundancy message.Peer-to-peer B will remove redundancy message and send to peer-to-peer D and E.Peer-to-peer D receives from peer-to-peer B and removes redundancy message, and the redundancy tabulation middle finger of removing peer-to-peer D shows that peer-to-peer D should be with the clauses and subclauses of the message relay that originates from peer-to-peer C to peer-to-peer B.Correspondingly, when next peer-to-peer D receives the message that originates from peer-to-peer C, peer-to-peer D will arrive peer-to-peer B to message relay again.Peer-to-peer E upgrades its redundant tabulation in a similar fashion.
A plurality of grids
In an enforcement, peer system can belong to a plurality of peer-to-peer relay networks.Each grid can be relevant or independently.The connection of setting up according to each grid can be independently.Correspondingly, in a grid, peer-to-peer can be connected to a peer-to-peer, and these two peer-to-peers do not connect (even these two peer-to-peers are all in two grids) in another grid.In an enforcement, if two peer-to-peers are connected in two grids, then these two peer-to-peers use single connection.Message comprises the information of the affiliated grid of Indication message.The peer-to-peer basis is that the connection relaying that message is set up has received message corresponding to indicated grid.
In an enforcement, the member of peer-to-peer relay network can create sub-network in the peer-to-peer relay network.In this case, each member of sub-network also is macroreticular member.For example, the peer-to-peer relay network comprises as all players in the recreation of peer system, and every team (subclass that comprises total player) has the sub-network (for example, be used for play private communication) of peer system.Like this, peer-to-peer can be set up the multichannel environment to distribute as required and to receive data.
In another was implemented, the peer-to-peer relay network was independently, but shared one or more member's peer system.For example, one group of peer-to-peer can be set up grid with support hall or chat environment, and comprises that another group peer-to-peer of at least one peer-to-peer can be set up grid to support certain special play in first group.In another example, one group of peer-to-peer forms the grid of team's (tissue), and some peer-to-peers addings wherein or create other grid to play games.
For example, in the online environment, all peer-to-peers in the environment are connected to single main grid.Main grid is used for general bulletin and general service.Additional littler grid is created, adds and left to peer-to-peer with the visit online service, like chatroom or recreation.Before setting up littler grid, peer-to-peer can use main grid to communicate, as when new peer-to-peer will add grid (rather than using server).Because all control messages can be broadcasted through main grid, therefore, but the active peers tabulation in each peer-to-peer independent maintenance available grids tabulation and each grid.In an enforcement, peer-to-peer does not use centralized server.
Figure 21 illustrates the flow chart 2100 of relaying from an enforcement of the message of the peer system that belongs to a plurality of grids.At first, connect a plurality of peer systems to form two peer-to-peer relay networks.The relaying peer-to-peer is the member of two grids, and has corresponding connection of each grid and relaying rule.
The relaying peer-to-peer receives message, square frame 2105.Message comprises the grid identifier of the affiliated grid of Indication message.
The relaying peer-to-peer is selected by the grid that receives the message indication, square frame 2110.Each grid has corresponding articulation set and corresponding relay regular collection.Through selecting grid, the relaying peer-to-peer is selected the articulation set that will use and will be used for the relaying regular collection that relaying has received message.
The relaying peer-to-peer is selected to be connected square frame 2115 with corresponding relaying rule according to selected grid.Through using the relaying rule of selected grid, the relaying peer-to-peer is selected any suitable connection to be used for relaying and has been received message.
The relaying peer-to-peer will receive message and send to selected peer-to-peer, square frame 2120.Before relay message, the relaying peer-to-peer has received message like the address information that has received message through renewal with indication and will be relayed to selected peer-to-peer from the relaying peer-to-peer for each selected peer-to-peer adjustment has received message.
Spectators
In an enforcement, the peer-to-peer in the grid is classified as participant or spectators.Participant's peer-to-peer generates will be at the new information of whole mesh relay.Spectators' peer-to-peer does not generate new information, and serves as and pass through node (pass-through node) in the grid.Participant and spectators all are connected message relay according to the relaying rule of grid to it peer-to-peer.In some applications, have many spectators for each participant.In the enforcement with a plurality of participants, each participant has to another participant's connection at least.
In an example, one group of participant plays game on line, and spectators watch (observed data and do not change game data).Spectators' quantity is big (for example, thousands of) very.Other example comprises performance (for example, music), speech and teaching.In some applications, because peer-to-peer is handled distribution through relay data, therefore, the load that is used on the server distribute can not increase along with the increase of spectator attendance all the time.
In an enforcement, when peer-to-peer added grid, peer-to-peer added grid as the participant or as spectators.If peer-to-peer adds grid as spectators, then peer-to-peer haves no right to create new information, also haves no right new information is sent in the grid with in whole mesh relay.If spectators generate new information and new information is sent to the peer-to-peer that is connected to spectators, the peer-to-peer that then receives new information from spectators will not transmit or relaying has received message.In an enforcement, some or whole spectators can form another the relevant grid (for example, the recreation of watching in first grid being discussed) as the participant.
Figure 22 is illustrated in the flow chart 2200 of an enforcement of relay message in the grid of supporting spectators and participant.At first, connect a plurality of peer systems to form the peer-to-peer relay network of supporting participant and spectators.Each peer system storage is as participant's peer list.In an enforcement, which peer-to-peer of participant's peer-to-peer periodic broadcasting indication is participant's a message.In another was implemented, server helped the sign participant.
The relaying peer-to-peer receives message, square frame 2205.Message comprises the originating identifier of the peer-to-peer of indication establishment message.
The origin that the affirmation of relaying peer-to-peer has received message is participant's peer-to-peer, square frame 2210.Relaying peer stores participant peer list.Peer-to-peer and participant's peer list that the relaying peer-to-peer will be designated the origin that has received message compare.If received the origin peer-to-peer of message is not participant's (that is, being spectators), then the relaying peer-to-peer not relaying received message.
If having received the origin peer-to-peer of message is the participant, then the relaying peer-to-peer is selected to connect square frame 2215 according to the relaying rule of net stack.Through using the relaying rule, the relaying peer-to-peer is selected any suitable connection to be used for relaying and has been received message.
The relaying peer-to-peer will receive message and send to selected peer-to-peer, square frame 2220.Before relay message, the relaying peer-to-peer has received message for each selected peer-to-peer adjustment, as having received message to selected peer-to-peer through upgrading the address information that has received message from relaying peer-to-peer relaying with indication.
In another was implemented, spectators and participant be not in same grid.Spectators form the parallel spectators' grid that links to participant's grid.Spectators receive data from the participant, and in spectators' grid relay data.Link between the grid can be provided by server or gateway, perhaps through providing from the connection between the selected peer-to-peer of each grid.
In another was implemented, spectators can be the condition spectators.But condition spectators' request permissions will be in the data of whole mesh relay to generate.If spectators obtain authority, then spectators can send peer-to-peer in the grid with the message (for example, message comprises authorization flag) of relaying.Authority can be by server, by authorizing as intervener's selected peer-to-peer or by (one or more) participant.For example, in teaching environment, the participant is the lecturer, and spectators can ask the authority of puing question to, and the problem of proposition will be relayed to all peer-to-peers.
Recover on the island
In an enforcement, the server in the peer-to-peer relay network perhaps recovers from the formation on island with the formation that is connected to avoid the island that the peer-to-peer support is adjusted in the grid.The isolated group of being made up of peer-to-peer in the grid is called the island.When a plurality of peer-to-peers break off connection basically simultaneously, can form the island in the grid.In the process that above-mentioned disconnection connects, the residue peer-to-peer sends the message of the available connection of indication, yet under the situation that a plurality of concurrent disconnections of appearance connect, the residue peer-to-peer possibly form isolated group in grid.Peer-to-peer in island can't send a message to the peer-to-peer in another island, and this is because do not exist equity to connect between the island.Server detects the formation on island, and with peer-to-peer alternately with the deletion island.
Figure 23 illustrates the flow chart 2300 that detects an enforcement on island in the grid.At first, connect a plurality of peer systems to form peer-to-peer relay network or grid.Open with closing when peer-to-peer and to be connected or to become when break off connecting, the server of grid is notified in the connection that peer-to-peer will change.Like this, all connections in the server tracks grid.Server is also safeguarded the ordered list of peer-to-peer in the grid.
Server is provided with the island counter, square frame 2305.The island counter is represented the quantity on island.In an enforcement, server is made as 1 with counter i.
Server is selected initial peer-to-peer, square frame 2310.When the island counter was 1, first peer-to-peer was initial peer-to-peer in the ordered list of server selection peer-to-peer.When the island counter greater than 1 the time, the unlabelled peer-to-peer that server is selected to find recently is initial peer-to-peer (being described below).
Each peer-to-peer that server will be connected to initial peer-to-peer is labeled as with initial peer-to-peer and belongs to same island, square frame 2315.Server-tag is connected directly to initial peer-to-peer and is connected to the peer-to-peer (for example, advance to from initial peer-to-peer and to connect peer-to-peer, connect peer-to-peers of peer-to-peers and by that analogy to being connected to those again) of initial peer-to-peer through other peer-to-peer indirectly.Server with the currency mark peer-to-peer of island counter with the island under the indication peer-to-peer.
Be connected to all peer-to-peers of initial peer-to-peer at mark after, server confirms whether unlabelled peer-to-peer, square frame 2320 are arranged in the grid.In an enforcement, server advances and travels through the ordered list of peer-to-peer, searches for unlabelled peer-to-peer.
If server finds unlabelled peer-to-peer, then server increases island counter, square frame 2325.Server increases the island counter and has detected additional island with indication.After increasing the island counter, server return square frame 2310 and the unlabelled peer-to-peer that will find as initial peer-to-peer.
If server does not find unlabelled peer-to-peer, then server is confirmed the quantity on detected island, square frame 2330.Server increases the island counter with regard to each detected island, and therefore, the island counter is represented the quantity on detected island.If the island counter equals 1, what then find is single island, and therefore, grid is not divided into a plurality of islands.If what the island counter greater than 1, then found is a plurality of islands, and grid is divided into a plurality of islands.
Figure 24 is illustrated in the flow chart 2400 of an enforcement on deletion island in the peer-to-peer relay network.At first, a plurality of peer systems connect in peer-to-peer relay network or grid.Grid has been divided into two peer-to-peer islands, and the peer-to-peer in one of them island is less than the access path of the peer-to-peer in another island.Server detects this two islands, as passing through to use process shown in Figure 23.
Server is selected peer-to-peer, square frame 2405 from each island.Server can be selected the first island peer-to-peer and the second island peer-to-peer in every way.In an enforcement, server selects to have the peer-to-peer of available connection.In another was implemented, server was selected peer-to-peer at random from the island.
If the first island peer-to-peer does not have available connection, then server will be closed connection message and sent to the first island peer-to-peer to close connection, square frame 2410.The first island peer-to-peer receives message from server, and to select the connection that will close with the identical mode of connection that peer-to-peer is selected to close when receive forcing connection message as stated.The first island peer-to-peer is closed connection, therefore has available connection.
Server will start forces connection message to send to the first island peer-to-peer, square frame 2415.Start the address of forcing connection message to comprise the second island peer-to-peer.The first island peer-to-peer receives message from server, and will force connection message to send to the second island peer-to-peer.
The second island peer-to-peer receives from the first island peer-to-peer and forces connection message, selects the connection that will close and close selected connection, square frame 2420.The second island peer-to-peer is serving as to force the recipient of connection message to select the connection that will close with identical as stated mode.If the second island peer-to-peer has available connection before closing connection, then the second island peer-to-peer is not closed its any connection.
The first island peer-to-peer will be opened connection request and send to the second island peer-to-peer, and these two peer-to-peers are opened connection, square frame 2425.In case open connection, these two islands just connect, thereby form single island.Peer-to-peer sends to server with renewal, thereby confirms to connect.Still have additional island if detect as stated, then server returns square frame 2405 to connect two other island in the residue island.
Figure 25 illustrates with Figure 26 and detects island and the example that is connected the island.In Figure 25, the grid 2500 that is similar to grid 1100 among Figure 11 breaks off being connected with F the time owing to peer-to-peer C, G and is divided into two islands.First island comprises peer-to-peer A, B, D and E.Second island comprises peer-to-peer H, I and J.In Figure 26, server has made peer-to-peer D open and being connected of peer-to-peer I, thereby connects this two islands.
Safety
In an enforcement, peer-to-peer relay network support swindle violation or safety violation or both detection and recovery.Swindle relates in violation of rules and regulations to be controlled data and changes the online activity process result, like the carrying out of influence recreation.Safety relates to unauthorized data in violation of rules and regulations or improper use data are damaged grid or caused the grid fault.
Figure 27 is illustrated in the flow chart 2700 that detects a swindle enforcement in violation of rules and regulations in the peer-to-peer relay network.At first, connect a plurality of peer systems to form peer-to-peer relay network or grid.
Peer-to-peer receives message, square frame 2705 from each peer-to-peer of its connection.As stated, the peer-to-peer in the grid is in whole mesh relay message.Peer-to-peer will connect through each of itself and other peer-to-peer and receive identical message (identical content-data, but address information maybe be different).For example, open connection if peer-to-peer has 3, then this peer-to-peer receives identical message three times from three corresponding peer-to-peers.Peer-to-peer uses the information of indicating origin and sequence valve in the message, and originating identifier 215 and sequence valve 220 shown in the message 205 of Fig. 2 are identical message with message identifier.Identical message from different peer-to-peers will have identical origin and order information.
Peer-to-peer will compare square frame 2710 from each message that has connected the peer-to-peer reception.Peer-to-peer is the data division of message relatively, the data 230 shown in the message 205 of Fig. 2.Peer-to-peer confirms for any message that received whether the data division of message is different.In an enforcement, if be different from the data division that has connected the identical message of peer-to-peer reception from other from a data division that has connected the message of peer-to-peer reception, then peer-to-peer confirms to have taken place swindle in violation of rules and regulations.The also definite peer-to-peer that sends the message with different pieces of information of peer-to-peer is responsible for swindle in violation of rules and regulations.Perhaps, peer-to-peer uses different techniques to detect the swindle violation or identifies the peer-to-peer that swindle is responsible in violation of rules and regulations.In the time of suitably, peer-to-peer not relaying has different pieces of information message partly.
If swindle has taken place in violation of rules and regulations, then peer-to-peer sends swindle prompting, square frame 2715.The peer-to-peer that swindle prompting indication the swindle violation has taken place and swindle is responsible in violation of rules and regulations.Peer-to-peer will be swindled to point out to send to and connected peer-to-peer to point out in whole mesh relay.In another is implemented, peer-to-peer will be swindled prompting and sent to server to carry out proper process.
When peer-to-peer was received the swindle prompting, peer-to-peer was taken measures from violation, to recover square frame 2720.Peer-to-peer is taken measures to prevent that swindling peer-to-peer continues to influence grid activity.In an enforcement, peer-to-peer is ignored the message from the swindle peer-to-peer.In another was implemented, peer-to-peer forced the swindle peer-to-peer to be connected with the grid disconnection.Peer-to-peer also takes measures to repair the influence of the message that comprises different pieces of information, as through sending the replacement message that has as by the correct data shown in the data that are used to identify swindle message in other message.Perhaps, one of peer-to-peer is estimated correct data, and in whole network trunk correct data.In another was implemented, peer-to-peer was an announcement server to the response of swindle prompting.In this case, server solves swindle in violation of rules and regulations, as passing through to break off the connection of the peer-to-peer that swindle is responsible in violation of rules and regulations.
In another was implemented, when peer-to-peer sent message, the recipient was with message relay back peer-to-peer.Send peer-to-peer and preserve the copy of transmitted message.When sending peer-to-peer and receive, send peer-to-peer the data of transmitted message and the data that received message are compared from message that the recipient returns.Peer-to-peer detects swindle in violation of rules and regulations through searching difference.Peer-to-peer confirms that the recipient has revised message and sent the swindle prompting.In an enforcement, up to having reported that a plurality of violations just recover or repairing measure (for example, by server tracks) the swindle peer-to-peer.In another was implemented, this look-back test of carrying out for swindle was the ground floor that is used to detect swindle, in case after having identified possible problem, be more complicated process then.
In another was implemented, peer-to-peer compared with the predictive data set that is generated by peer-to-peer and detects swindle in violation of rules and regulations through receiving data in the message.If the data that peer-to-peer is confirmed to have received in the message are different with the data that generated by peer-to-peer, then the definite transmit leg that has received message of peer-to-peer is responsible for swindle in violation of rules and regulations, and sends prompting.
In grid 100 shown in Figure 1, detect in the swindle example in violation of rules and regulations, peer-to-peer B each from peer-to-peer A, D and E receives identical message.Peer-to-peer B is identical through comparing originating identifier and sequence valve with message identifier.If the message that peer-to-peer B detects from peer-to-peer A has different data divisions, then peer-to-peer B sends the swindle prompting that peer-to-peer A is designated swindle.Peer-to-peer B will swindle prompting and send to peer-to-peer D and E (and randomly arriving peer-to-peer A).Peer-to-peer relaying swindle prompting has received prompting until all peer-to-peers.As the response to prompting, peer-to-peer will be ignored all the further message from peer-to-peer A.Therefore, peer-to-peer B, C and D no longer relaying from the message of peer-to-peer A.
Figure 28 is illustrated in the flow chart 2800 that detects a safety enforcement in violation of rules and regulations in the peer-to-peer relay network.At first, connect a plurality of peer systems to form peer-to-peer relay network or grid.
Peer-to-peer has connected one of peer-to-peer from it and has received message, square frame 2805.Peer-to-peer is analyzed message and is detected safety in violation of rules and regulations, square frame 2810.Peer-to-peer is invalid or comprise that invalid data confirms that message is safe violation through identifying message.In another was implemented, how peer-to-peer is sent to this peer-to-peer through analysis message was confirmed that message is safe violation.For example, send to peer-to-peer (for example, as in service-denial is attacked) if message is used as one of a large amount of repetitions of identical message, then to identify message be safe violation to peer-to-peer.In an enforcement, message is used as a series of groupings and sends, and peer-to-peer be lower than the rank of full message, as detecting safe violation in the grouping rank.Peer-to-peer is also confirmed to have safety message sender in violation of rules and regulations safety is responsible in violation of rules and regulations.Perhaps, peer-to-peer uses different techniques to detect the safety violation or identifies the peer-to-peer that swindle is responsible in violation of rules and regulations.Peer-to-peer not relaying has safety message or data in violation of rules and regulations.
If safe violation has taken place, then peer-to-peer sends safety instruction, square frame 2815.The peer-to-peer that the safety instruction indication safe violation has taken place and safety is responsible in violation of rules and regulations.Peer-to-peer sends to safety instruction and connects peer-to-peer to point out in whole mesh relay.In another was implemented, peer-to-peer sent to server to carry out proper process with safety instruction.
When peer-to-peer received safety instruction, peer-to-peer taked adequate measures from violation, to recover square frame 2820.Peer-to-peer is taken measures to prevent that the peer-to-peer of violating grid security from continuing influence or infringement grid.In an enforcement, peer-to-peer is ignored the message from the peer-to-peer that safety is responsible in violation of rules and regulations.In another was implemented, the peer-to-peer that peer-to-peer is forced safety is responsible in violation of rules and regulations broke off and being connected of grid.Peer-to-peer also takes adequate measures to repair any infringement that is caused in violation of rules and regulations by safety.In another was implemented, peer-to-peer was an announcement server to the response of safety instruction.In this case, server solution safety is broken off the safety connection of responsible peer-to-peer in violation of rules and regulations as passing through, and is taken measures to repair any infringement that grid is caused in violation of rules and regulations.
Figure 29 and Figure 30 illustrate the block diagram of an enforcement of server 2905 and peer system 3005 respectively.In other was implemented, server or peer-to-peer comprised than still less assembly shown in Figure 29 and Figure 30, perhaps comprise difference or additional assembly.
Server 2905 is operated as stated and is comprised the assembly that above-mentioned functions is provided; Comprise and be used to set up grid 2910, add peer-to-peer 2915, connect peer-to-peer 2920, break off peer-to-peer and connect 2925, (for example safeguard grid 2930, storage and generating mesh data; Connection, member, connection restriction) and rule is (for example; Relaying rule, concatenate rule) 2935, a plurality of boundary of management 2940, through the redundancy tabulation manage and help 2940, spectators and participant 2955 in a plurality of grid of management 2950, managing gridding, handle the island detect and recover 2960, management and solve swindle and the safety in violation of rules and regulations 2965 and assembly of the center service 2970 (for example, network service and addressing, player matches, chat feature, data backup etc.) of server.
Peer system 3005 is operated as stated and is comprised the assembly of function as stated is provided; Comprise and be used to set up grid 3010, add grid 3015, connect peer-to-peer 3020, break off peer-to-peer and connect 3025, (for example safeguard grid 3030, storage and generating mesh data; Connection, member, connection restriction) and rule is (for example; Relaying rule, concatenate rule) 3035, make up, upgrade and use redundant tabulation 3040, operation in a plurality of grids 3045, through with operate 3050 as spectators in the grid and participant, handle the island and detect and recover 3055, management, detect and solve swindle and the safety in violation of rules and regulations 3060 and assembly of peer system service 3065 (for example, network service and addressing, player matches, chat feature, data backups etc.).
The various enforcements of peer-to-peer relay network provide required benefit.Grid of great use, comprises huge multiplayer's computer game on line in a plurality of network applications.An example of the more macroreticular set of applications just have a common ground is used in game on line: share and safeguard a common data sets.When data set upgraded on a peer-to-peer, information is sent to other peer group and in whole mesh relay, therefore, each peer-to-peer will have the data updated collection.The relaying grid allows to have the peer-to-peer of connection swap data between them of finite element network bandwidth, and need not through central server (coming distributing data).This network can be used for exchanging game data, other gaming-related information, media file, stream transmits audio frequency or stream transmits video.
For example, in an enforcement, peer-to-peer uses grid to carry out file distribution.Peer-to-peer in the grid is through sending to file the peer-to-peer publication document that is connected to publisher (as a message or be divided into a plurality of message), and the member peer of grid is relayed to all members at whole grid with file.Like this, all members of grid can receive the file of announcement and not use server not use from announcing the direct connection of peer-to-peer to each peer-to-peer.In various enforcements, can announce the file of any kind.But file can be data, medium or executive software to be used.The file example of announcing through grid includes but not limited to: stream (for example transmits medium; Audio frequency and/or video), media file, from the recreation or replay data, map, bulletin, message, application data and the module (for example, map, template, structure, sound) of other application.
Various enforcement of the present invention realizes with electronic hardware, computer software or these technological combinations.Great majority implement to comprise one or more computer program of being carried out by programmable calculator.For example, in an enforcement, each peer system and server comprise that one or more execution are used to implement the computer of the software of peer-to-peer relay network function.Usually; Every computer (for example comprises one or more processor, one or more data storage component; Volatibility or non-volatile memory module and permanent optics and magnetic storage device; Like hard disk and floppy disk, CD-ROM drive and tape drive), one or more input unit (for example, mouse and keyboard) and one or more output device (for example, display console and printer).
Computer program comprises that being stored in permanent storage media usually also copies to the executable code in the memory then when operation.Processor is through taking out program command and run time version with the regulation order from memory.When the executive program code, computer receives data, the data executable operations also is provided to output and/or storage device with result data then from input and/or storage device.
Having described various illustrative of the present invention implements.Yet, it will be apparent to one skilled in the art that additional enforcement also is possible and within the scope of the invention.For example, though some enforcements of the peer-to-peer relay network that above-mentioned declarative description is discussed in the context of supporting games application, other application also is possible, shares or other data delivery applications like file.
Therefore, the present invention has more than and is limited to above-mentioned those enforcements.

Claims (18)

1. support a plurality of peer-to-peer relay network of networks for one kind, comprising:
Main peer-to-peer relay network; Said main peer-to-peer relay network comprises all peer systems in said a plurality of peer-to-peer relay network; Said main peer-to-peer relay network has sub-network in said main peer-to-peer relay network; Wherein, each peer system of sub-network also is the member of said main peer-to-peer relay network;
The first peer-to-peer relay network that comprises a plurality of first peer systems, said a plurality of first peer systems are first sub-networks of said main peer-to-peer relay network, and the said first peer-to-peer relay network comprises the first particular peer system and the second particular peer system; And
The second peer-to-peer relay network that comprises a plurality of second peer systems, said a plurality of second peer systems are second sub-networks of said main peer-to-peer relay network, and the said second peer-to-peer relay network comprises said first particular peer system and the said second particular peer system,
Wherein, In the said first peer-to-peer relay network, the said first particular peer system has to the connection of the said second particular peer system, and in the said second peer-to-peer relay network; The connection that the said first particular peer system does not arrive the said second particular peer system
Wherein, the message that the peer-to-peer from the said first peer-to-peer relay network is addressed to another peer-to-peer in the said first peer-to-peer relay network is the private communication that only is relayed to the peer-to-peer in the said first peer-to-peer relay network, and
Wherein, be relayed to all peer-to-peers in the said main peer-to-peer relay network setting up the message that the peer-to-peer from the said first peer-to-peer relay network before said first sub-network is addressed to the peer-to-peer in the said main peer-to-peer relay network.
2. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1 also comprise:
Be connected to the server of each peer system.
3. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1, wherein:
Peer system in the said first peer-to-peer relay network is represented the player in the game on line.
4. a plurality of peer-to-peer relay network of networks of support as claimed in claim 3, wherein:
Peer system in the said first peer-to-peer relay network is illustrated in the player of same team in the said game on line.
5. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1, wherein:
The data of relaying are network service datas in the said first peer-to-peer relay network.
6. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1, wherein:
The data of relaying are the data that are used for online environment in the said first peer-to-peer relay network.
7. a plurality of peer-to-peer relay network of networks of support as claimed in claim 6, wherein:
The data of relaying are the data that are used for the hall environment in the said first peer-to-peer relay network.
8. a plurality of peer-to-peer relay network of networks of support as claimed in claim 7, wherein:
The data of relaying are the data that are used for environment chatroom, said hall in the said first peer-to-peer relay network.
9. a plurality of peer-to-peer relay network of networks of support as claimed in claim 6, wherein:
The data of relaying are the data that are used for game on line in the said first peer-to-peer relay network.
10. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1 also comprise:
Another peer-to-peer relay network that comprises a plurality of peer systems;
Wherein, each peer system in said another peer-to-peer relay network is connected to a plurality of other peer systems that are less than or equal to the 3rd connection restriction in said another peer-to-peer relay network,
And
Wherein, in said another peer-to-peer relay network at least one peer system also in the said first peer-to-peer relay network.
11. a plurality of peer-to-peer relay network of networks of support as claimed in claim 10, wherein:
All peer systems in said another peer-to-peer relay network are not all in the said first peer-to-peer relay network.
12. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1, wherein:
At least one peer system is the game console of launching network.
13. a plurality of peer-to-peer relay network of networks of support as claimed in claim 1, wherein:
At least two peer systems connect through the internet.
14. the method for a relay data in the peer-to-peer relay network comprises:
Foundation comprises the main peer-to-peer relay network of all peer systems in the said peer-to-peer relay network; Said main peer-to-peer relay network has sub-network in said main peer-to-peer relay network; Wherein, each peer system of sub-network also is the member of said main peer-to-peer relay network;
Foundation comprises the first peer-to-peer relay network of a plurality of first peer systems, and said a plurality of first peer systems are first sub-networks of said main peer-to-peer relay network, and the said first peer-to-peer relay network comprises the first particular peer system and the second particular peer system;
Foundation comprises the second peer-to-peer relay network of a plurality of second peer systems; Said a plurality of second peer system is second sub-network of said main peer-to-peer relay network; The said second peer-to-peer relay network comprises said first particular peer system and the said second particular peer system
Wherein, In the said first peer-to-peer relay network, the said first particular peer system has to the connection of the said second particular peer system, and in the said second peer-to-peer relay network; The connection that the said first particular peer system does not arrive the said second particular peer system
Wherein, the message that the peer-to-peer from the said first peer-to-peer relay network is addressed to another peer-to-peer in the said first peer-to-peer relay network is the private communication that only is relayed to the peer-to-peer in the said first peer-to-peer relay network, and
Wherein, be relayed to all peer-to-peers in the said main peer-to-peer relay network setting up the message that the peer-to-peer from the said first peer-to-peer relay network before said first sub-network is addressed to the peer-to-peer in the said main peer-to-peer relay network.
15. method as claimed in claim 14, wherein:
For each the peer-to-peer relay network under the said peer system, the corresponding corresponding set that connects restriction and form of said peer system storage by one or more relaying rule,
The maximum quantity of other peer system that connection restriction qualification permission peer system is connected in this peer-to-peer relay network, and
How the set regulation peer system of being made up of one or more relaying rule is relayed to other peer system that is connected to this peer system in this peer-to-peer relay network with data.
16. the peer system in the peer-to-peer relay network comprises:
Be used for setting up the parts of the main peer-to-peer relay network of all peer systems that comprise said peer-to-peer relay network; Said main peer-to-peer relay network has sub-network in said main peer-to-peer relay network; Wherein, each peer system of sub-network also is the member of said main peer-to-peer relay network;
Be used to set up the parts of the first peer-to-peer relay network that comprises a plurality of first peer systems; Said a plurality of first peer system is first sub-network of said main peer-to-peer relay network, and the said first peer-to-peer relay network comprises the first particular peer system and the second particular peer system; And
Be used to set up the parts of the second peer-to-peer relay network that comprises a plurality of second peer systems; Said a plurality of second peer system is second sub-network of said main peer-to-peer relay network; The said second peer-to-peer relay network comprises said first particular peer system and the said second particular peer system
Wherein, In the said first peer-to-peer relay network, the said first particular peer system has to the connection of the said second particular peer system, and in the said second peer-to-peer relay network; The connection that the said first particular peer system does not arrive the said second particular peer system
Wherein, the message that the peer-to-peer from the said first peer-to-peer relay network is addressed to another peer-to-peer in the said first peer-to-peer relay network is the private communication that only is relayed to the peer-to-peer in the said first peer-to-peer relay network, and
Wherein, be relayed to all peer-to-peers in the said main peer-to-peer relay network setting up the message that the peer-to-peer from the said first peer-to-peer relay network before said first sub-network is addressed to the peer-to-peer in the said main peer-to-peer relay network.
17. peer system as claimed in claim 16, wherein:
Said peer system in two or more peer-to-peer relay networks, and
For each the peer-to-peer relay network under the said peer system, said peer system has by one or more corresponding set that connects to form to other peer system.
18. peer system as claimed in claim 16, wherein:
For each the peer-to-peer relay network under the said peer system, the corresponding corresponding set that connects restriction and form of said peer system storage by one or more relaying rule,
The maximum quantity of other peer system that connection restriction qualification permission peer system is connected in this peer-to-peer relay network, and
How the set regulation peer system of being made up of one or more relaying rule is relayed to other peer system that is connected to this peer system in this peer-to-peer relay network with data.
CN2004800372333A 2003-10-20 2004-07-15 Multiple peer-to-peer relay network Expired - Fee Related CN1894928B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US51309803P 2003-10-20 2003-10-20
US60/513,098 2003-10-20
US10/701,302 US8010633B2 (en) 2003-10-20 2003-11-03 Multiple peer-to-peer relay networks
US10/701,302 2003-11-03
PCT/US2004/022815 WO2005046169A1 (en) 2003-10-20 2004-07-15 Multiple peer-to-peer relay networks

Publications (2)

Publication Number Publication Date
CN1894928A CN1894928A (en) 2007-01-10
CN1894928B true CN1894928B (en) 2012-11-07

Family

ID=37598305

Family Applications (3)

Application Number Title Priority Date Filing Date
CN2004800372136A Expired - Fee Related CN1894927B (en) 2003-10-20 2004-07-15 A peer-to-peer relay network
CN2004800372333A Expired - Fee Related CN1894928B (en) 2003-10-20 2004-07-15 Multiple peer-to-peer relay network
CN 200480037246 Pending CN1894929A (en) 2003-10-20 2004-07-15 Spectators in a peer-to peer relay network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2004800372136A Expired - Fee Related CN1894927B (en) 2003-10-20 2004-07-15 A peer-to-peer relay network

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN 200480037246 Pending CN1894929A (en) 2003-10-20 2004-07-15 Spectators in a peer-to peer relay network

Country Status (1)

Country Link
CN (3) CN1894927B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442482B (en) * 2007-11-13 2011-02-16 北京大学 Method and system for building distributed computing network based on feedback propagation
CN101640602B (en) * 2008-07-31 2012-07-25 Tcl集团股份有限公司 Management method for network television
CN105356982B (en) * 2015-12-08 2018-08-31 上海赛治信息技术有限公司 Node dual-port based on Fibre Channel frame field receives redundancy approach

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487600B1 (en) * 1998-09-12 2002-11-26 Thomas W. Lynch System and method for supporting multimedia communications upon a dynamically configured member network
US20020184310A1 (en) * 2001-01-22 2002-12-05 Traversat Bernard A. Providing peer groups in a peer-to-peer environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810528B1 (en) * 1999-12-03 2004-10-26 Sony Computer Entertainment America Inc. System and method for providing an on-line gaming experience through a CATV broadband network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487600B1 (en) * 1998-09-12 2002-11-26 Thomas W. Lynch System and method for supporting multimedia communications upon a dynamically configured member network
US20020184310A1 (en) * 2001-01-22 2002-12-05 Traversat Bernard A. Providing peer groups in a peer-to-peer environment

Also Published As

Publication number Publication date
CN1894927A (en) 2007-01-10
CN1894929A (en) 2007-01-10
CN1894928A (en) 2007-01-10
CN1894927B (en) 2012-03-21

Similar Documents

Publication Publication Date Title
EP2843902B1 (en) Peer-to-peer relay network
US7685301B2 (en) Redundancy lists in a peer-to-peer relay network
US7392422B2 (en) Violations in a peer-to-peer relay network
US7610402B2 (en) Spectators in a peer-to-peer relay network
US7596633B2 (en) Island recovery in a peer-to-peer relay network
EP1690399B1 (en) Multiple peer-to-peer relay networks
CN1894928B (en) Multiple peer-to-peer relay network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121107

CF01 Termination of patent right due to non-payment of annual fee