WO2009140821A1 - Device and method for participating in a peer-to-peer network - Google Patents

Device and method for participating in a peer-to-peer network Download PDF

Info

Publication number
WO2009140821A1
WO2009140821A1 PCT/CN2008/071035 CN2008071035W WO2009140821A1 WO 2009140821 A1 WO2009140821 A1 WO 2009140821A1 CN 2008071035 W CN2008071035 W CN 2008071035W WO 2009140821 A1 WO2009140821 A1 WO 2009140821A1
Authority
WO
WIPO (PCT)
Prior art keywords
peer
group
network
capability
peers
Prior art date
Application number
PCT/CN2008/071035
Other languages
French (fr)
Inventor
Kar-Wing Edward Lor
Original Assignee
Hong Kong Applied Science & Technology Research Institute Co., Ltd
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
Application filed by Hong Kong Applied Science & Technology Research Institute Co., Ltd filed Critical Hong Kong Applied Science & Technology Research Institute Co., Ltd
Priority to PCT/CN2008/071035 priority Critical patent/WO2009140821A1/en
Priority to CN200880000029.2A priority patent/CN101543017B/en
Publication of WO2009140821A1 publication Critical patent/WO2009140821A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers

Definitions

  • the current invention relates to peer-to-peer networks and in particular to a device and method for participating in a peer-to-peer network
  • Peer-to-peer networking involves diverse inter-connectivity between members of a network in which all members are simultaneously both clients and servers to other members of the network.
  • Early peer- to-peer networks were an overlay on the internet and included a centralised registration and discovery server.
  • pure decentralised peer-to-peer networks which lack a centralised registration and discovery server, have become more popular.
  • One of the problems facing developers of peer-to-peer networks is the diversity in devices connecting to the network and the dynamic nature of network members brought about by the increased popularity in mobile networking devices such as laptops, handheld PCs, PDAs and mobile telephones for example Some members of the network are permanent or more stable members such as desktop PCs and TV set top boxes, while other members are transient such as laptops, PDAs and mobile telephones. . Not every type of device in the network is suited to every type of peer-to-peer connection, for example two-way communications, web log and web forum browsing are resource light applications suitable for most of the devices, but video streaming and large file download are only suitable applications for high power devices more stable members such as desktop PCs and TV set top boxes.
  • a user member of a peer-to-peer network may typically connect to the network using a plurality of different types of device such as a desktop or home PC, a television set top box, a laptop and a handheld device such as a mobile phone or PDA.
  • a desktop or home PC a television set top box
  • a laptop a handheld device
  • PDA mobile phone
  • a device for participating in a distributed peer-to-peer communications network has a distributed network application that includes a capability-routing entity having capability information for a group of associated peers participating in the network.
  • a method for establishing peer-to-peer communication in the network including determining which of the group of associated peers can fulfil the requested connection based in the capability information and referring the request to the peer that can fulfil the connection.
  • the device further comprises a routing lookup table and the capability-routing entity is an entry in the routing lookup table.
  • the capability information comprises a peer-to-peer network application capability of each member of the group of peers.
  • the group of associated peers comprises a plurality of associated devices each having different peer-to-peer network application capabilities.
  • the plurality of associated devices are devices having a common user.
  • the peer-to-peer network application capability comprises a type of peer-to- peer service and device availability.
  • the capability information is selected from a group comprising VoIP client, instant message client, streaming recipient, streaming source, file download recipient, file download source, web-log and web-forum viewer.
  • Figure 1 is a schematic overview of a network peer groups according to the invention
  • Figure 2 is a schematic overview of the peer-to-peer network participants
  • Figure 3 is an exemplary flow diagram of peer discovery/routing according to the invention.
  • Figure 4 is a second exemplary flow of peer discovery/routing according to the invention.
  • a distributed peer-to-peer network Such a network is based on a decentralised distributed lookup service such as that using, but not limited to, a distributed hash table (DHT) in which responsibility for maintaining the mapping of hash keys and associated data values is distributed amongst members of the network.
  • DHT protocols include CAN (content addressable network), CHORD, Pastry and Tapestry.
  • a group of associated devices typically belonging to the same user or having a common user, and which all might be participant in a peer-to-peer network either for an extended time or transiently, are represented in the device discovery or lookup procedure by a capability-routing entity which includes capability information relating to each of the members of the group.
  • the capability-routing entity comprises an entry in a routing table for providing capability based routing information for the group of associated devices and no physical capability-routing entity exists in the network.
  • Each member of the group is a peer in the network in its own right but the members share capabilities so that the capability-routing entity receives connection requests for all members of the group and refers the request to a member of the group having the most appropriate capability to respond to or server the connection request.
  • a first user of a peer-to-peer network has several network capable devices including a home PC, an IP-television set-top box, an Internet-enabled Personal Video Recorder, a laptop computer and a network capable mobile telephone that can all participate in a peer-to-peer network.
  • Each device has different characteristics, such as mains power or battery operation, storage capacity, CPU power, and network connection speed and status (i.e. online or offline), which determine its network application capabilities.
  • the home PC has high CPU power, large storage capacity, is mains powered and connected to the peer-to-peer network continuously or for extended periods of time.
  • the television set- top box is also connected to the peer-to-peer network continuously or for extended periods of time but is only suitable for receiving video streaming or file downloads.
  • the laptop computer has lower CPU power and smaller storage capacity than the home PC, is battery powered and is only connected to the peer-to-peer network for transient periods of time. It is suitable for VoIP or instant message communications, viewing web logs and web forums, receiving streaming video or music and small file downloads.
  • the mobile telephone likewise has low relative CPU power and storage capacity, is battery operated and is only connected to the peer-to-peer network for transient periods of time. It is only suitable for VoIP and instant messaging, small file downloads and viewing web logs and web forums.
  • the peer-to-peer network routing table includes an entry for a capability-routing entity for the group of devices belonging to the first user.
  • the entry includes network application capability information of each member of the group. If a second user of the peer-to-peer network wants to check whether the first user can participate in a particular network application (for example file sharing, video streaming etc) the second user can look up the first user' s capability -routing entity in the network routing table and obtain capability information for devices of the first user. The second user of the network can then send a message in turn to the devices of the first user that have the desired application capability requesting the desired connection. If the first application capable member is online and can service the request it will answer the request and the desired connection can be established. However, if the first application capable member is off line or is not capable of servicing the request at that time then the request is sent to the next member of the group with the desired capabilities.
  • a particular network application for example file sharing, video streaming etc
  • Figure 1 shows a peer-to-peer network with user members having more that one device for connecting to the network.
  • the devices for each user are given in the following table.
  • each user having a group of associated device has a capability-routing entity having capability information for the group of devices.
  • the network ID and description of the devices, including capability-routing entities, are given in the following table.
  • the network participants 21 and 3901 are peers of known type. The remaining participants however are all members of peer groups each associated with a capability- routing entity.
  • the first capability-routing entity is virtual node 2771 which is the capability-routing entity for a peer group comprising network participants 1100, 29, 2026, 105.
  • the second capability -routing entity 230 is a virtual node representing participant 322.
  • the third capability-routing entity is virtual node 58 representing the peer group comprising participants 933, 23, 9448.
  • Routing in the peer-to-peer network overlay is based on the CHORD distributed hash table protocol, however this is not intended to limit the scope of use of functionality of the invention and another distributed peer-to-peer network protocol may be used.
  • the peer-to-peer network runs on top of the Internet which controls how data is routed between members of the peer-to-peer network.
  • each participant member of the peer-to-peer network is arranged in a logical circle having a successor and predecessor.
  • Each member of the network is assigned a network ID, or node key, and a network address which is the physical IP address and port number of the member.
  • the node keys are split to distribute ownership of different key values amongst the participating members in the network.
  • Each member maintains a hash table (part of the distributed hash table) for ID and address for participants falling under the key space it is responsible for. If a member of the network, a source member, is looking to communicate with another member, a destination member, it passes a message to its successor in the network circle requesting address details of the destination member. If the successor is not responsible for the key space that includes the network ID of the destination member then it passes the message to the next member in the circle and so forth until the message reaches a member who is responsible for the keyspace which includes the network ID of the destination member. That member uses a consistent hashing algorithm to search a lookup table and identify the IP address and port number of the destination member, which is returned to the source member that may then request a direct connection with the destination member.
  • a full explanation and source code of the CHORD protocol can be downloaded and used under a free software licence from the Massachusetts Institute of Technology (MIT).
  • the normal distributed hash table (DHT) used for device lookup is replaced by a capability based distributed hash table (CDHT) which includes an entry for capability based entities having capability information for each user that has group of associated devices.
  • CDHT capability based distributed hash table
  • the CDHT includes the peer or member ID and physical address (IP address and port number) as in the conventional DHT and also includes application capability information for each member of the network.
  • the capability information includes, but is not limited to, type information indicating whether the node is a terminating node of the known type or is a capability-routing entity known in the current invention, an application profile which provides the devices capability for different types of connection requests and the device status.
  • the application profile is only shown for video streaming source type connection requests.
  • the application profile will contain information for one or more connection application types including, but not limited to, source and destination for video streaming, large file download, two-way communications, web log and web forum browsing.
  • each device can have one of three states which is either an identifier of another peer, self or none.
  • the nodes of known type, 21 and 3901, and other nodes that support a video streaming source have the profile 'self indicating they can act as a video streaming source.
  • video streaming sources in its peer group include nodes 29, 105 and 1100.
  • node 2026 cannot provide or act as a video streaming source and is appropriately identified as none.
  • the set top box is identified as providing a video streaming source and hence nodes 9448 and 23 cannot provide a video streaming source and are identified as none.
  • a request from a source node for the address of a destination node which is a member of a peer group represented by a virtual capability-routing entity will eventually passed to the capability-routing entity.
  • the capability-routing entity is then able to identify whether the members whose address is being requested can act, for example, as a video streaming source.
  • capability -routing entity 2771 knows that device 2026 cannot provide a video streaming source and so the request is referred to one of devices 29, 105 or 1100 depending on the online availability of said members.
  • Figures 3 and 4 are flow diagrams of implementation of the invention.
  • normal discovery of a peer (X) via CDHT is requested. From peer X' s application profile a list of the peers that can accept video streaming from within its group are identified. If none of the peers that can act as a video streaming source are available online a message that X cannot serve as a streaming source is sent. If a device to substitute for X in video streaming is online then the request is referred to the substitute device for acting as video streaming source.
  • a device to respond to a connection request, but also use members of its peer group to facilitate additional functionality.
  • a video streaming source for peer X has been identified in Figure 3.
  • the requester of the stream, peer W will then receive a copy of the streaming video and wants to also record a copy of the video, but does not have video stream recording application or sufficient disk space.
  • Within the profile of peer W there may be an identifier of a peer for possible video stream recording, for example a TV set top box. Node W initiates a video streaming session and at the same time a check is made to determine whether there is a peer of W specified for video stream recording. If not, then the video scream is viewed on W and nothing is recorded.
  • a peer is specified for video stream recording then a check is made as to whether W has rights to save the scream. If W does have rights to save the scream then another check is made as to whether W is both the viewing and recording peer. If yes, then the scream is viewed and saved at W. If no, then a second connection is established between W and the recording peer and a copy of the video scream is streamed from W to the recording peer for recording.
  • the capability based entity was simply an entry in a Capability based distributed hash table.
  • the capability- routing entity may be one of the group of associated devices, or another physical member of the network, containing capability routing information for the group of associated devices.

Abstract

A device for participating in a distributed peer-to-peer communications network has a distributed network application that includes a capability-routing entity having capability information for a group of associated peers participating in the network. A method for establishing peer-to-peer communication in the network including determining which of the group of associated peers can fulfil the requested connection based in the capability information and referring the request to the peer that can fulfil the connection.

Description

Device and Method for Participating in a Peer-to-Peer Network
Background to the invention
1. Field of the Invention
The current invention relates to peer-to-peer networks and in particular to a device and method for participating in a peer-to-peer network
2. Background Information The so-called web 2.0 phenomenon involving information sharing and collaboration has sparked increasing demand for peer-to-peer networking. Peer-to-peer networking involves diverse inter-connectivity between members of a network in which all members are simultaneously both clients and servers to other members of the network. Early peer- to-peer networks were an overlay on the internet and included a centralised registration and discovery server. With the increased popularity of wireless and mobile networking involving multiple devices in both local and personal area networks pure decentralised peer-to-peer networks, which lack a centralised registration and discovery server, have become more popular.
One of the problems facing developers of peer-to-peer networks is the diversity in devices connecting to the network and the dynamic nature of network members brought about by the increased popularity in mobile networking devices such as laptops, handheld PCs, PDAs and mobile telephones for example Some members of the network are permanent or more stable members such as desktop PCs and TV set top boxes, while other members are transient such as laptops, PDAs and mobile telephones. . Not every type of device in the network is suited to every type of peer-to-peer connection, for example two-way communications, web log and web forum browsing are resource light applications suitable for most of the devices, but video streaming and large file download are only suitable applications for high power devices more stable members such as desktop PCs and TV set top boxes. These factors pose quality of service and network discovery, lockup and routing issues for network designers. In addition, an increase in the number and type of networkable devices means that a user member of a peer-to-peer network may typically connect to the network using a plurality of different types of device such as a desktop or home PC, a television set top box, a laptop and a handheld device such as a mobile phone or PDA. In current peer-to-peer network architectures each device belonging to the same user is a unique member of the distributed network and the user has no way of coordinating and best utilising the strengths and weaknesses of the different types of device within the network architecture.
Accordingly, it is an object of the present invention to provide a device for participating in a distributed peer-to-peer network, and a method for establishing peer-to-peer communications in a distributed peer-to-peer network, which seeks to ameliorate the above disadvantages by providing means to best utilise the capabilities of members of a peer-to-peer network. It is a further object of the present invention to provide said device and said method to at least offer the public with a useful alternative.
Summary of the Invention
In view of the foregoing, there is disclosed herein a device for participating in a distributed peer-to-peer communications network has a distributed network application that includes a capability-routing entity having capability information for a group of associated peers participating in the network. There is also disclosed herein a method for establishing peer-to-peer communication in the network including determining which of the group of associated peers can fulfil the requested connection based in the capability information and referring the request to the peer that can fulfil the connection.
Preferably, the device further comprises a routing lookup table and the capability-routing entity is an entry in the routing lookup table.
Preferably, the capability information comprises a peer-to-peer network application capability of each member of the group of peers. Preferably, the group of associated peers comprises a plurality of associated devices each having different peer-to-peer network application capabilities.
Preferably, the plurality of associated devices are devices having a common user.
Preferably, the peer-to-peer network application capability comprises a type of peer-to- peer service and device availability.
Preferably, the capability information is selected from a group comprising VoIP client, instant message client, streaming recipient, streaming source, file download recipient, file download source, web-log and web-forum viewer.
Further aspects of the invention will become apparent from the following description, which is given by way of example only.
Brief Description of the Drawings
An exemplary form of the present invention will now be described by way of example only and with reference to the accompanying drawings, in which:
Figure 1 is a schematic overview of a network peer groups according to the invention,
Figure 2 is a schematic overview of the peer-to-peer network participants,
Figure 3 is an exemplary flow diagram of peer discovery/routing according to the invention, and
Figure 4 is a second exemplary flow of peer discovery/routing according to the invention.
Description of the Exemplary Embodiments A description of the invention will now be given by a way of example only as practised in a distributed peer-to-peer network. Such a network is based on a decentralised distributed lookup service such as that using, but not limited to, a distributed hash table (DHT) in which responsibility for maintaining the mapping of hash keys and associated data values is distributed amongst members of the network. Well known DHT protocols include CAN (content addressable network), CHORD, Pastry and Tapestry. However, this not intended to limit the scope of use or functionality of the invention, which may also be implemented in a centralised registry or hybrid peer-to-peer network.
In the preferred embodiment of the invention a group of associated devices, typically belonging to the same user or having a common user, and which all might be participant in a peer-to-peer network either for an extended time or transiently, are represented in the device discovery or lookup procedure by a capability-routing entity which includes capability information relating to each of the members of the group. In exemplary embodiment the capability-routing entity comprises an entry in a routing table for providing capability based routing information for the group of associated devices and no physical capability-routing entity exists in the network. Each member of the group is a peer in the network in its own right but the members share capabilities so that the capability-routing entity receives connection requests for all members of the group and refers the request to a member of the group having the most appropriate capability to respond to or server the connection request.
In an exemplary embodiment of the invention a first user of a peer-to-peer network has several network capable devices including a home PC, an IP-television set-top box, an Internet-enabled Personal Video Recorder, a laptop computer and a network capable mobile telephone that can all participate in a peer-to-peer network. Each device has different characteristics, such as mains power or battery operation, storage capacity, CPU power, and network connection speed and status (i.e. online or offline), which determine its network application capabilities. The home PC has high CPU power, large storage capacity, is mains powered and connected to the peer-to-peer network continuously or for extended periods of time. It is therefore capable of providing or responding to all types of network applications including receiving and sending streaming music or video, receiving and sending small and large file transfers, participating in two-way communications such as VoIP or instant messaging, and web-log and web-forum browsing. The television set- top box is also connected to the peer-to-peer network continuously or for extended periods of time but is only suitable for receiving video streaming or file downloads. The laptop computer has lower CPU power and smaller storage capacity than the home PC, is battery powered and is only connected to the peer-to-peer network for transient periods of time. It is suitable for VoIP or instant message communications, viewing web logs and web forums, receiving streaming video or music and small file downloads. The mobile telephone likewise has low relative CPU power and storage capacity, is battery operated and is only connected to the peer-to-peer network for transient periods of time. It is only suitable for VoIP and instant messaging, small file downloads and viewing web logs and web forums.
The peer-to-peer network routing table includes an entry for a capability-routing entity for the group of devices belonging to the first user. The entry includes network application capability information of each member of the group. If a second user of the peer-to-peer network wants to check whether the first user can participate in a particular network application (for example file sharing, video streaming etc) the second user can look up the first user' s capability -routing entity in the network routing table and obtain capability information for devices of the first user. The second user of the network can then send a message in turn to the devices of the first user that have the desired application capability requesting the desired connection. If the first application capable member is online and can service the request it will answer the request and the desired connection can be established. However, if the first application capable member is off line or is not capable of servicing the request at that time then the request is sent to the next member of the group with the desired capabilities.
The invention is further illustrated with reference to Figure 1 which shows a peer-to-peer network with user members having more that one device for connecting to the network. The devices for each user are given in the following table.
Figure imgf000007_0001
Figure imgf000008_0001
In accordance with the invention each user having a group of associated device has a capability-routing entity having capability information for the group of devices. The network ID and description of the devices, including capability-routing entities, are given in the following table.
Figure imgf000008_0002
9448 William' s Internet tablet
In the network participants 21 and 3901 are peers of known type. The remaining participants however are all members of peer groups each associated with a capability- routing entity. In the illustrated embodiment there are three capability-routing entities each being a virtual node in the peer-to-peer network. The first capability-routing entity is virtual node 2771 which is the capability-routing entity for a peer group comprising network participants 1100, 29, 2026, 105. The second capability -routing entity 230 is a virtual node representing participant 322. The third capability-routing entity is virtual node 58 representing the peer group comprising participants 933, 23, 9448.
Routing in the peer-to-peer network overlay is based on the CHORD distributed hash table protocol, however this is not intended to limit the scope of use of functionality of the invention and another distributed peer-to-peer network protocol may be used. The peer-to-peer network runs on top of the Internet which controls how data is routed between members of the peer-to-peer network. In the CHORD protocol each participant member of the peer-to-peer network is arranged in a logical circle having a successor and predecessor. Each member of the network is assigned a network ID, or node key, and a network address which is the physical IP address and port number of the member. The node keys are split to distribute ownership of different key values amongst the participating members in the network. Each member maintains a hash table (part of the distributed hash table) for ID and address for participants falling under the key space it is responsible for. If a member of the network, a source member, is looking to communicate with another member, a destination member, it passes a message to its successor in the network circle requesting address details of the destination member. If the successor is not responsible for the key space that includes the network ID of the destination member then it passes the message to the next member in the circle and so forth until the message reaches a member who is responsible for the keyspace which includes the network ID of the destination member. That member uses a consistent hashing algorithm to search a lookup table and identify the IP address and port number of the destination member, which is returned to the source member that may then request a direct connection with the destination member. A full explanation and source code of the CHORD protocol can be downloaded and used under a free software licence from the Massachusetts Institute of Technology (MIT).
In order to provide capability based routing according to the invention the normal distributed hash table (DHT) used for device lookup is replaced by a capability based distributed hash table (CDHT) which includes an entry for capability based entities having capability information for each user that has group of associated devices. An example of the capability based distributed hash table (CDHT) is illustrated below.
Figure imgf000010_0001
The CDHT includes the peer or member ID and physical address (IP address and port number) as in the conventional DHT and also includes application capability information for each member of the network. The capability information includes, but is not limited to, type information indicating whether the node is a terminating node of the known type or is a capability-routing entity known in the current invention, an application profile which provides the devices capability for different types of connection requests and the device status. In order to simplify the table and the current explanation the application profile is only shown for video streaming source type connection requests. In actual embodiments of the invention the application profile will contain information for one or more connection application types including, but not limited to, source and destination for video streaming, large file download, two-way communications, web log and web forum browsing.
Turning to the application profile for each device, this can have one of three states which is either an identifier of another peer, self or none. The nodes of known type, 21 and 3901, and other nodes that support a video streaming source have the profile 'self indicating they can act as a video streaming source. Within virtual node 2771 it is identified that video streaming sources in its peer group include nodes 29, 105 and 1100. Thus node 2026 cannot provide or act as a video streaming source and is appropriately identified as none. Within virtual node 58 only node 933, the set top box, is identified as providing a video streaming source and hence nodes 9448 and 23 cannot provide a video streaming source and are identified as none. In the invention a request from a source node for the address of a destination node which is a member of a peer group represented by a virtual capability-routing entity will eventually passed to the capability-routing entity. The capability-routing entity is then able to identify whether the members whose address is being requested can act, for example, as a video streaming source. In the embodiment illustrated in Figure 1 if a video streaming source is requested from member 2026 then capability -routing entity 2771 knows that device 2026 cannot provide a video streaming source and so the request is referred to one of devices 29, 105 or 1100 depending on the online availability of said members.
Figures 3 and 4 are flow diagrams of implementation of the invention. In Figure 3 normal discovery of a peer (X) via CDHT is requested. From peer X' s application profile a list of the peers that can accept video streaming from within its group are identified. If none of the peers that can act as a video streaming source are available online a message that X cannot serve as a streaming source is sent. If a device to substitute for X in video streaming is online then the request is referred to the substitute device for acting as video streaming source.
It is also possible according to the invention for a device to respond to a connection request, but also use members of its peer group to facilitate additional functionality. This is illustrated in Figure 4. A video streaming source for peer X has been identified in Figure 3. The requester of the stream, peer W, will then receive a copy of the streaming video and wants to also record a copy of the video, but does not have video stream recording application or sufficient disk space. Within the profile of peer W there may be an identifier of a peer for possible video stream recording, for example a TV set top box. Node W initiates a video streaming session and at the same time a check is made to determine whether there is a peer of W specified for video stream recording. If not, then the video scream is viewed on W and nothing is recorded. If a peer is specified for video stream recording then a check is made as to whether W has rights to save the scream. If W does have rights to save the scream then another check is made as to whether W is both the viewing and recording peer. If yes, then the scream is viewed and saved at W. If no, then a second connection is established between W and the recording peer and a copy of the video scream is streamed from W to the recording peer for recording.
It should be appreciated that modifications and alternations obvious to those skilled in the art are not to be considered as beyond the scope of the present invention. For example, in the exemplified embodiment the capability based entity was simply an entry in a Capability based distributed hash table. In other embodiments, however, the capability- routing entity may be one of the group of associated devices, or another physical member of the network, containing capability routing information for the group of associated devices.

Claims

What is claimed is:
1. A device for participating in a distributed peer-to-peer communications network, the device comprising a distributed network application including a capability-routing entity having capability information for a group of associated peers participating in the network and in response to a connection request involving a member of the group referring the request to a member of the group based on the capability information.
2. The device of claim 1 wherein the device further comprises a routing lookup table and the capability-routing entity is an entry in the routing lookup table.
3. The device of claim 1 wherein the capability information comprises a peer-to-peer network application capability of each member of the group of peers.
4. The device of claim 3 wherein the group of associated peers comprises a plurality of associated devices each having different peer-to-peer network application capabilities.
5. The device of claim 4 wherein the plurality of associated devices are devices having a common user.
6. The device of claim 3 wherein the peer-to-peer network application capability comprises a type of peer-to-peer service and device availability.
7. The device of claim 1 wherein the capability information is selected from a group comprising VoIP client, instant message client, streaming recipient, streaming source, file download recipient, file download source, web-log and web-forum viewer.
8. A method for establishing peer-to-peer communication in a distributed peer-to- peer communications network including a group of associated peers participating in the network, the method comprising: receiving a connection request for one of the group of peers, determining which of the group of associated peers can fulfil the requested connection, and referring the request to the peer that can fulfil the connection.
9. The method of claim 8 further including providing a routing lookup table including a capability-routing entity having capability information for the group of associated peers.
10. The method of claim 9 wherein determining which of the group of associated peers can fulfil the requested connection is based on the capability information in the routing lookup table.
11. The method of claim 10 wherein the capability information comprises a peer-to- peer network application capability of each member of the group of peers.
12. The method of claim 10 wherein the peer-to-peer network application capability comprises a type of peer-to-peer service and device availability.
13. The method of claim 10 wherein the capability information is selected from a group comprising VoIP client, instant message client, streaming recipient, streaming source, file download recipient, file download source, web-log and web-forum viewer.
14. The method of claim 8 wherein the group of associated peers comprises a plurality of associated devices each having different network peer-to-peer network application capabilities.
15. The method of claim 15 wherein the plurality of associated devices are devices having a common user.
16. The method of claims 8 wherein determining which of the group of associated peers can fulfil the requested connection is based on one or more factors selected from a group comprising power supply, CPU power, storage capacity and network connection characteristics.
PCT/CN2008/071035 2008-05-21 2008-05-21 Device and method for participating in a peer-to-peer network WO2009140821A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2008/071035 WO2009140821A1 (en) 2008-05-21 2008-05-21 Device and method for participating in a peer-to-peer network
CN200880000029.2A CN101543017B (en) 2008-05-21 2008-05-21 Device and method for adding peer-to-peer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2008/071035 WO2009140821A1 (en) 2008-05-21 2008-05-21 Device and method for participating in a peer-to-peer network

Publications (1)

Publication Number Publication Date
WO2009140821A1 true WO2009140821A1 (en) 2009-11-26

Family

ID=41124229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/071035 WO2009140821A1 (en) 2008-05-21 2008-05-21 Device and method for participating in a peer-to-peer network

Country Status (2)

Country Link
CN (1) CN101543017B (en)
WO (1) WO2009140821A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014500551A (en) * 2010-12-17 2014-01-09 エンパイア テクノロジー ディベロップメント エルエルシー Device discovery in the ubiquitous computing environment

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913511B2 (en) * 2010-04-01 2014-12-16 Qualcomm Incorporated Interference management to support peer-to-peer communication in a wide area network
US20120290650A1 (en) * 2011-05-11 2012-11-15 Futurewei Technologies, Inc. System and Method for Peer to Peer Communications in Cellular Communications Systems
CN111092909A (en) * 2019-12-30 2020-05-01 深圳市优权天成科技有限公司 Decentralized remote control downloading algorithm and equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1780298A (en) * 2004-11-23 2006-05-31 微软公司 System and method for a distributed server for peer-to-peer networks
US20060228114A1 (en) * 2001-09-01 2006-10-12 Caroli Carl A Wavelength-selective routing using an optical add/drop architecture
US20070118804A1 (en) * 2005-11-16 2007-05-24 Microsoft Corporation Interaction model assessment, storage and distribution
US20070139693A1 (en) * 2005-12-16 2007-06-21 Xerox Corporation P2P printing system and method
CN101098270A (en) * 2006-06-30 2008-01-02 西门子通信技术(北京)有限公司 Distributed equity network system
CN101179466A (en) * 2007-10-15 2008-05-14 北京交通大学 Centralized service based distributed peer-to-peer network implementing method and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060228114A1 (en) * 2001-09-01 2006-10-12 Caroli Carl A Wavelength-selective routing using an optical add/drop architecture
CN1780298A (en) * 2004-11-23 2006-05-31 微软公司 System and method for a distributed server for peer-to-peer networks
US20070118804A1 (en) * 2005-11-16 2007-05-24 Microsoft Corporation Interaction model assessment, storage and distribution
US20070139693A1 (en) * 2005-12-16 2007-06-21 Xerox Corporation P2P printing system and method
CN101098270A (en) * 2006-06-30 2008-01-02 西门子通信技术(北京)有限公司 Distributed equity network system
CN101179466A (en) * 2007-10-15 2008-05-14 北京交通大学 Centralized service based distributed peer-to-peer network implementing method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014500551A (en) * 2010-12-17 2014-01-09 エンパイア テクノロジー ディベロップメント エルエルシー Device discovery in the ubiquitous computing environment
US8850021B2 (en) 2010-12-17 2014-09-30 Empire Technology Development Llc Device discovery in a ubiquitous computing environment

Also Published As

Publication number Publication date
CN101543017A (en) 2009-09-23
CN101543017B (en) 2013-04-24

Similar Documents

Publication Publication Date Title
US8249638B2 (en) Device and method for participating in a peer-to-peer network
US8238237B2 (en) Load balancing distribution of data to multiple recipients on a peer-to-peer network
US8838811B2 (en) Method and system for scalable content storage and delivery
EP2417752B1 (en) Transmitting and receiving data
US9913251B2 (en) Application level broadcast in peer overlay network
US8244867B2 (en) System and method for the location of caches
US8959243B2 (en) System and method to guide active participation in peer-to-peer systems with passive monitoring environment
WO2009140821A1 (en) Device and method for participating in a peer-to-peer network
Kim et al. Efficient peer-to-peer overlay networks for mobile IPTV services
Tran et al. An efficient hybrid push-pull methodology for peer-to-peer video live streaming system on mobile broadcasting social media
Tran et al. Decentralized online social network using peer-to-peer technology
Koren et al. Peer-to-peer video streaming in html5 with webtorrent
Wolinsky et al. Oversoc: Social profile based overlays
US11863592B2 (en) Active speaker tracking using a global naming scheme
Lu et al. A scalable P2P overlay based on arrangement graph with minimized overhead
Koren et al. OakStreaming: A Peer-to-Peer Video Streaming Library
Reid Literature review: Purely decentralized P2P file sharing systems and usability
Duraisamy et al. Mesh based peer to peer live video streaming using ant algorithm
Gong et al. BulkTree: An overlay network architecture for live media streaming
Semenov Evolution of Peer-to-peer algorithms: Past, present and future.
JP2012078903A (en) Node device, program for node device and information processing method
Zhang An Investigation into Expanding the Capabilities of Peer-To-Peer Networks: Combining Centralized Network Infrastructure into Decentralized Peer-to-Peer network topology
KR20060070242A (en) Method for contents sharing service being based on peer to peer and media that record computer program sources thereof
Wan et al. An overlay network architecture for data placement strategies in a P2P streaming network
Ekler et al. Hybrid Peer-to-Peer Content Sharing in Mobile Networks.

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880000029.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08748641

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08748641

Country of ref document: EP

Kind code of ref document: A1