GB2420257A - Peer to peer (P2P) network wherein the quantity of super-peers is controlled in dependence upon their capacity to store service advertisements - Google Patents

Peer to peer (P2P) network wherein the quantity of super-peers is controlled in dependence upon their capacity to store service advertisements Download PDF

Info

Publication number
GB2420257A
GB2420257A GB0425261A GB0425261A GB2420257A GB 2420257 A GB2420257 A GB 2420257A GB 0425261 A GB0425261 A GB 0425261A GB 0425261 A GB0425261 A GB 0425261A GB 2420257 A GB2420257 A GB 2420257A
Authority
GB
United Kingdom
Prior art keywords
peer
service
network
group
devices
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.)
Granted
Application number
GB0425261A
Other versions
GB2420257B (en
GB0425261D0 (en
Inventor
Antonio Liotta
Marco Ballette
Ling Lin
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.)
Vodafone Group PLC
Original Assignee
Vodafone Group PLC
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 Vodafone Group PLC filed Critical Vodafone Group PLC
Priority to GB0425261A priority Critical patent/GB2420257B/en
Publication of GB0425261D0 publication Critical patent/GB0425261D0/en
Priority to EP05256464A priority patent/EP1657939A1/en
Publication of GB2420257A publication Critical patent/GB2420257A/en
Application granted granted Critical
Publication of GB2420257B publication Critical patent/GB2420257B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L29/08306
    • 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/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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/1063Discovery through centralising entities
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Abstract

In a P2P network which allows the formation of groups of peers (36) with similar interests (eg JXTA(RTM)) there are simple peers/nodes (30) and super-peers/rendezvous nodes (32). The rendezvous nodes cache advertisements for services which can be provided by themselves or the simple peers connected to them. The number of rendezvous nodes is controlled in dependence upon their capacity to store the advertisements of the peers within the group. Additional advertisement information can be duplicated on multiple rendezvous nodes in order to provide redundancy and resilience in the event of a rendezvous peer departing the network. The network may also include a central server (38) which caches information about super peers and groups.

Description

1 2420257
FACILITATING DISTRIBUTION OF INFORMATION IN A NETWORK
The present invention relates to facilitating distribution of infonnation in a network.
According to a first aspect of the present invention, there is provided a network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes - for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein the plurality of nodes monitor their available capacity for storing advertisements and vary the number of nodes in the group in dependence upon the available capacity.
The devices that provide services for use by the group can be considered to perform a "server role", and the devices that use services provided by the group can be considered to perform a "client role". The client and server roles are interchangeable. One device may be a member of a plurality of groups. Such a device may perform a "server role" in one group and a "client role" in another group.
The "services" may be any information or process useful to a device or the user thereof. In the embodiment to be described the requested service is details of houses for sale in a particular area. The service provided is details of houses for sale by estate agents (or vendors) in that area. In the embodiment a group of devices all have a common interest in a particular service type.
The "devices" may be any type of communication or processing device. For example, some of the devices may comprise mobile or cellular telecommunication terminals. The "nodes" may also may be any type of communication or processing device. For example, some of the nodes may comprise mobile or cellular telecommunication terminals, hi the embodiment to be described a simple peer is an example of a device and a super peer is an
example of a node.
According to a second aspect of the invention, there is provided a network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes.
- for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, - for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein each node is operable to cause its stored advertisements for services provided by the devices and the respective addresses indicative of the devices providing the services to be also stored on another node, whereby to facilitate use of that service when the first-mentioned node is inoperable for communication within the network.
According to a third aspect of the invention, there is provided a network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes.
- for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service.
- for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein the network further includes a control node for storing data indicative of the advertisements relating to services provided by the devices and a respective address indicative of the node storing the advertisements, for receiving a request to provide a service or a request to use a service, for analysing the request and the stored data indicative of services provided by the devices, and for providing in response to the request the address indicative of the device providing a relevant service.
According to a fourth aspect of the invention, there is provided a method of operating a network having a group of devices, each device having an address for enabling messages to be delivered into said group, wherein some of the devices providc services [br use by the group and some of the devices use services provided by the group, and the network including a plurality of nodes - for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, - for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, the method including operating the plurality of nodes to monitor their available capacity for storing advertisements and to vary the number of nodes in the group in dependence upon the available capacity.
Embodiments of the invention, will now be described by way of example with reference to the accompanying drawings, in which:- Figure 1 shows schematically a network in accordance with the invention; Figure 2 shows two groups within the network and a centralised server for administering the groups; Figure 3 shows the parsing of a service request from a device by the centralised server; Figure 4 shows the data exchanges that occur when a device that is not yet a member of a group issues a search advertisement to the centralised server; Figure 5 shows a device becoming a member of a group; Figure 6 shows the group after the device of Figure 5 has joined the group; Figure 7 shows the data exchanges that occur when a device that is not a member of a group issues a search advertisement to the centralised server; Figure 8 and 9 show the data exchanges that occur when a device that is a member of a group issues a search advertisement to a particular super peer; Figure 10 shows the procedure when a simple peer attempts to store an advertisement on a super peer with no spare capacity; Figure 11 shows a first method of electing an additional super peer from existing simple peers; Figure 12 shows a second method of electing an additional super peer from existing simple peers; Figure 13 shows a super peer whose capacity is under-used; Figure 14 shows a method of changing an under-used super peer to a simple peer; and Figure 15 and 16 show the procedure to re-establishing a communication pipe between two peers when the IP address of one or both of the peers changes.
Figure 1 shows a cellular network. However, it should be appreciated that the invention is applicable to any type of network, although it is particularly (but not exclusively) applicable to a network where at least some of the devices communicate using mobile telecommunications/wireless data transmission.
Mobile terminal 1 is registered with GSMIGPRS or UMTS (3G) mobile telecommunications network 3. The mobile terminal I may be a handheld mobile telephone, a personal digital assistant (PDA) or a laptop computer equipped with a datacard. The mobile terminal I communicates wirelessly with mobile telecommunications network 3 via the radio access network (RAN) of the mobile telecommunications network 3, comprising, in the case of a UMTS network, base station (Node B) 5, and radio network controller (RNC) 7. Communications between the mobile terminal 1 and the mobile telecommunications network 3 are routed from the radio access network via GPRS support nodes (SGSN) 9, which may be connected by a fixed (cable) link to the mobile telecommunications network 3.
In the conventional manner, a multiplicity of other mobile terminals are registered with the mobile telecommunications network 3. These mobile terminals include mobile terminals ii and 13. The terminals 11 and 13 communicate with the mobile telecommunications network 3 in a similar manner to the terminal 1, that is via an appropriate Node B 5, RNC 7 and SGSN 9.
The mobile telecommunications network 3 includes a gateway GPRS support node (GGSN) 17 which enables IF-based communications with other networks, such as the Internet 19 via an appropriate link 21. A multiplicity of terminals are connected to the Internet (by fixed or wireless links), and a PC terminal 23 and a PDA terminal 25 arc shown by way of example.
Each of the mobile terminals 1,11 and 13 is provided with a respective subscriber identity module (SIM) 15. During the manufacturing process of each SIM, authentication information is stored thereon under the control of the mobile telecommunications network 3. The mobile telecommunications network 3 itself stores details of each of the SIMs issued under its control. In operation of the mobile telecommunications network 3, a terminal 1, 11, 13 is authenticated (for example, when the user activates the terminal in the network with a view to making or receiving calls) by the network sending a challenge to the terminal 1,11,13 incorporating a SIM 15, in response to which the SIM 15 calculates a reply (dependent on the predetermined information held on the S1M - typically an authentication algorithm and a unique key Ki) and transmits it back to the mobile telecommunications network 3. The mobile telecommunications network 3 includes an authentication processor 17 which generates the challenge and which receives the reply from the terminal 1,11,13.
Using information pre-stored concerning the content of the relevant SIM 15, the authentication processor calculates the expected value of the reply from the mobile terminal I, 1 1,13. If the reply received matches the expected calculated reply, the SIM 15 and the associated mobile terminal are considered to be authenticated.
It should be understood that such an authentication process can be performed for any terminal provided with a SIM 15 under control of the mobile telecommunications network 3. In the embodiment the terminal communicates wirelessly with the mobile telecommunications network 3 via the network's radio access network, although this is not essential. For example, the terminal may communicate with the network via the fixed telephone network (PSTN), via an "access point" (to be described below) and/or via the Internet. The PC 23 and the PDA 25 may also be provided with a SIM 15 under the control of the network.
The SIM 15 used by the terminal 1,11,13,23,25 may be a SIM of the type defined in the GSM or UMTS standards specifications, or may be a simulation of a SIM - that is, software or hardware that performs a function corresponding to that of the SIM. The S1M may be in accordance with the arrangement described in WO-A-2004 036513.
It should be noted that the authentication process being described does not necessarily authenticate the human identity of the user. For example, mobile telecommunication networks have pre-pay subscribers who are issued with SIMs in return for pre-payment, enabling them to use network services.
However, the identity of such pre-pay subscribers may not be known by the network. Nevertheless, such a user cannot make use of the network until the network has authenticated the user's S1M - that is, has confirmed that such user is a particular user who has a particular pre-paid account with a network.
The network shown in Figure 1 comprises both the mobile telecommunications network 3 and the Internet 19 (which itself comprises a multiplicity of other networks).
Conventionally, a mobile tenninal that is registered with a GPRS or UMTS mobile telecommunications network is allocated an IP address which does not change (that is, each time the mobile tenninal is activated within the network the same IP address is used to route communications to or from that mobile terminal). However, there have recently been proposals to allow access to the features and services provided by mobile telecommunications networks other than by accessing those networks in the conventional manner by wireless signalling between the mobile terminal and the radio access network providing coverage in the cell occupied by the mobile terminal using GSMIUMTS communication protocols. It has been proposed to provide network access points, for example, at a subscriber's home. A modified GSM/UMTS terminal is provided with the facility to additionally communicate with the access point by any suitable technology, for example, by a Bluetooth (RTM) connection or other WLAN link.
The access point performs a role corresponding to that of the base station 5.
An access controller is provided which performs a function analogous to that of a RNC 7. Communication between the access point and the access controller is IP-based. The access controller converts IP-based signalling received from the access point to use protocols for signalling in conventional GSMIUMTS networks between the RNC 7 and the SGSN 9.
Each time a mobile terminal connects to an access point, it will be provided with an IP address for use during that particular communication session.
Therefore, when a mobile terminal forms IP-based communication via an access point rather than a conventional base station 5 and radio network controller 7, it will receive a different IP address each time it connects to any access point.
The present invention in one aspect concerns the facilitation of distribution of information in a network, and in particular seeks to enable efficient peer-to- peer communication between terminals. The mechanism by which these terminals are connected to one another is not of particular relevance to the present invention (although certain embodiments do provide particular advantages when some or all of the terminals are linked via a non-fixed linlç such as a mobile or cellular telecommunications network). The type of connection between the terminals is not specified in the following discussion for the sake of simplicity. The "network" connecting the terminals may of course comprise a multiplicity of different networks including mobile telecommunications networks, the Internet etc. Particular difficulties with combining wireless terminals in a network that allows peer-to-peer communication between terminals include: 1. Connectivity of the wireless terminal may be lost (for example, because it moves out of the area of coverage of its cellular network).
2. "Flandover": The access point and/or access network of the terminal may change, resulting in the IP address of the terminal charging.
3. Generally, mobile terminals have limited resources such as memory, CPU speed and battery power. These resources need to be used efficiently.
4. The available bandwidth for data communication is to be smaller than available in fixed networks.
JXTA1s a set of open, generalized peer-to-peer protocols that allow any connected device on a network, such as cellular phones, PDAs, laptops and computers, to communicate and collaborate as peers. The JXTA V2.0 Protocols Specification is available form the following website: http://www.jxta.org.
The basic terminology of JXTAs as follows: Peers: any networked devices that implement the JXTecore protocols. Each peer is identified by a unique ID. Peers are autonomous and operate independently and asynchronously of all other peers, although some peers may depend on other peers as relays.
II
Pipes: Virtual communication channels used to send and receive messages between services or applications residing on peers. Pipes provide the illusion of virtual in and out connection that is independent of any single peer location network topology.
Peer Groups: collections of peers having a common set of interests. Each peer group is uniquely identified by a peer group ID. There are two main common motivations for creating peer groups. First, peer group boundaries permit only member peers to access and publish protected content and access peer group resources to create a secure environment. Second, Peer group boundaries define the search scope when searching for a group's resources, speeding up the discovery process and making it bandwidth efficient.
Advertisements: language-neutral metadata structures which describe all network resources, such as peers, peer groups, pipes and services.
There arc various possible types of peer in JXTAPeers can take on one or more roles, with the role type defining the set of responsibilities of the peers to TW' the JXTA network: Simple peers: can send and receive messages. They do not cache advertisements; the only information stored may be the location (IP address) of their super peers (discussed immediately below).
Super peers: can send and receive messages, and maintain a cache of advertisements. Furthermore, super peers can also forward discovery requests to help other peers discover resources. Each super peer maintains a list of other known super peers and also the peers that are using it as a super peer.
At the highest abstraction level, the J)(TAtrchitecture is divided into three layers: 1. The J1XTAore layer: includes a set of various protocols specifically designed for peer-to-peer networks. The JXTA'core runs on any reliable transfer protocol, such as TCP and I ITTP. These protocols are know to those skilled in the art and will not be discussed further here.
2. The middle layer includes: JXTf'services which encapsulate JXTK' core implementation details to provide unique Application Programming Interfaces (API). JXTAervices can be divided into two categories: Peer Service: functionality offered by a particular peer on the network to other peers. The capabilities of this service are unique to the peer and are available only when the peer is connected to the network.
Peer Group Service: functionality offered by a peer group to the other members of the peer group. The core group services include: discovery service, membership service, access service, resolver service and monitor service.
3. The top layer: hosts the user application which builds on the capabilities of the service layer to provide peer-to-peer applications, such as peer-to-peer instant messaging, resource sharing and distributed computing applications.
The embodiment of the present invention seeks to provide an improvement to existing peer-to-peer protocols, that are not currently targeted for a mobile or cellular environment, which may have particular advantages when some of the devices connected to the network are mobile telecommunications devices. In the embodiment to be described, the terminology used to describe elements of the network is based on the JXT(terminology given above, although the elements may function differently in particular respects, as will be described.
There are two principal types of "Advertisement" in the embodiment: 1. "Published advertisement" - this is data describing a service or other information that a peer has or wishes to make available to other peers.
2. "Search advertisement" - this is data identifying information that the peer issuing the search advertisement wishes to receive.
A first limitation of the known JXTil.ased system concerns the obtaining of published advertisements by issuance of a search advertisement. In the known arrangement the peer issuing the search advertisement must know the object name of the published advertisement that it is seeking. In order to locate the published advertisement there are three discovery techniques: 1. The peer can search the published advertisements stored in its own cache.
2. The peer can search advertisements stored in other peers that are in the same LAN by broadcast or multicast.
3. If the published advertisement is not available by technique I or 2 above, then the peer (if it is not a super peer) will pass the search advertisement to a super peer, which will in turn pass the search advertisement to other super peers of which it has details. These other super peers will be located in a different LAN. These other super peers will also propagate the request to further super peers of which they have details. This technique is referred to as WAN discovery. Such an approach may require the search advertisement to be propagated through a multiplicity of super peers in a multiplicity of LANs to obtain the desired published advertisement. It is also possible that the peer which does have the requested published advertisement is not known to any of the super peers through which the search advertisement is propagated, and therefore the published advertisement will never be retrieved from that peer.
A second problem with the known JXTAystem is that there is no mechanism for managing the number of super peers relative to the number of simple peers.
As will be explained below, this can be wasteful of resources, can adversely impact the scalability of the system and can result in service not being available due to a lack of the required number of super peers.
A third problem with the known JXTA system is that typically a published advertisement will only be available from one peer. This may not be a significant problem when all the peers are connected together by a fixed network. However, if the peer on which the published advertisement is stored is a mobile or cellular device, it may become temporarily unavailable, which will mean that the relevant published advertisement cannot be retrieved.
The system architecture of the embodiment of the present invention is shown in Figure 2. Peers (that is simple peers 30 and super peers 32) may be members of one or more groups 34,36. In accordance with an important feature of the embodiment, a centralised server 38 is provided for communicating with the peers 30,32 in each of the groups 34,36. The centralised server 38 may be located at any location in the network. For example, the centralised server 38 could be located in the mobile telecommunications network 3 (Figure 1). Some or all of the peers may be provided with a SIM or simulated SIM, enabling the peer to be authenticated by the mobile telecommunications network. The central server 38 may be configured to only communicate with peers that are so authenticated.
Each peer 30,3 2 has an IP address. It is possible that the [P address of a peer will change - for example, when the access point that it uses to connect the network changes.
The system supports web services. A web service is a software system designed to support inter-operable device-to-device interaction over a network.
The web surface has an interface described in a machine-processable format called web service description language (WSDL). This is a standard XML (extensible Markup Language, www.xml.org)-formatted language. Other systems interact with the web service in a manner prescribed by its description using simple object access protocol (SOAP) messages, typically conveyed using HTTP with an XML serialisation in conjunction with other web-related standards. SOAP allows a program to invoke a service through message exchange, regardless of programming languages or underlying network.
The mechanics of the message exchange between devices are documented in a web service description (WSD). The WSD is a machine-processable specification of the web services interface, written in WSDL and stored in the central server in a WSDL directory 39. It defines the message formats, data types, transport protocols and transport serialisation formats that should be used between different devices. The service description represents an agreement governing the mechanics of the interaction between the devices.
The semantics of a web service is the shared expectation about the behaviour of the devices using the service, and in particular the nature of a response to a message sent to a device. The semantics of a web service can be considered to be an agreement between the devices concerning how and why they will interact. The semantic database 40 stores the semantics of the web service.
In the embodiment to be described, the semantic discovery mechanism helps in finding the group to be joined by a peer, based on user preferences and other requirements. First, the user interested in joining a certain group buying/selling houses in the embodiment contacts the centralized server 38 expressing their interest in joining that group, for example to sell or buy houses. The centralised server 38 processes this information and checks in its database for the existence house selling groups.
Groups having similar purposes are termed "Interest domains" - i.e. domains can be formed by different groups. For instance, the "house buying/selling" domain may be formed by different groups depending on the post code of the house. What characterises each different domain is the common XML schema used by the groups belonging to the same domain.
In general, a schema is an abstract representation of an object's characteristics and relationship to other objects. An XML schema represents the interrelationship between the attributes and elements of an XML object (for example, a document or a portion of a document). To create a schema for a document, the structure is analysed, defining each structural element.
Different domains have different schemas because they require information that varies with the domain. For instance, if the user is interested in joining a "Music file sharing" domain he will have to specify things such as the type of music in which he is interested, favourite singers, and so forth.
Elements in the schema are defined within a set of tags.
Once the user has expressed their domain preferences and the centralised server 38 has located the appropriate domain, the server 38 sends the schema to the user. The schemas relating to different domains are stored in the semantic database 40.
After receiving the domain-related schema the user can express their preferences regarding the group within a specific interest domain (e.g. House buying/selling domain).
A peer (hereinafter "Simple Peer 1") is the PC operated by an estate agent that has details of properties for sale in the GU2 post code area. Simple Peer 1 wishes to advertise details of the properties for sale so that these are available to other peers who might wish to buy the properties (i.e. it wishes to publish advertisements).
For example, Simple Peer I might include the following data:
SIMPLE PEER I ____________________________
Current IP address: 8.0.0.1:9701 -- Advertisements offered: Details of House I (]U2 6GX - (advertisements to be published) 85,000 Flat __________________ 3 Bedrooms Details of House II GU2 5KJ 150,000 Terraced ________________ 2 Bedrooms Details of House HI GU2 6KJ 550,000 _____________________________________ _____________ Detatched I 4Bedrooms
[Table 1]
The advertisements of Simple Peer 1 to be published are expressed as a WSDL document according to a predefined WSDL schema. The schema is defined by the semantic database 40 and must reflect the predefined group hierarchy which is closely related to the application itself. In the example where the Simple Peer I wishes to join a group of entities buying or selling houses in a particular post code area, a possible hierarchy could be based on the first three letters of the post code, i.e. GU2 in this example..
The advertisements are sent from Simple Peer 1 to the central server 38. The advertisements are then parsed by the central server 38 to determine whether there is an existing group to which the advertisements should beadvertised or whether to define a new group (Figure 3).
In this example, it will be assumed that there are initially no other members of the group ("Group A"). The central server 38 will consequently return to Simple Peer I an instruction that the Simple Peer I should become a super peer (at least one super peer being required for any group). If Simple Peer I does not have sufficient resources to act as a super peer, the advertisement publication request will fail and no group will be formed. The Simple Peer I could attempt to become a member of a group interested in buying or selling houses in the GU2 post code area at a later time, when a peer capable of acting as a super peer is already a member of that group.
If the Simple Peer 1 is able to act as a super peer, the Simple Peer I becomes "Super Peer I ". In addition to storing its own IP address, a super peer also stores the IP address of any other super peers in the group (none at present) and details of any other simple peers in the group that have sent advertisements to Super Peer I (none at present).
For example, Super Peer 1 might include the following data: SUPER PEER 1 (P1) ___________________________ Current IP address 8.0.0.1:9703 _________________ Advertisements offered to Group A by Details of House I GU2 6GX Super Peer 1: 85,000 (Published advertisments) Flat _________________ 3 Bedrooms Details of House II GU2 5KJ 150,000 Terraced _______________ 2 Bedrooms Details of House 111 GU2 6KJ 550,000 Detatched _____________ _____________ _____________ 4 Bedrooms Details of other Current IP address [None] Super Peers in Details of [None] Group A advertisements offered to Group A: Details of other Current IP address [None] simple peers m I)etails of [None] Group A advertisements offered to Group A
[Table2J
Although Simple Peer 1/Super Peer I wishes to publish advertisements in this example, the Simple Peer 1/Super Peer 1 may additionally or alternatively issue search advertisements, seeking information from other peers in the group.
Now consider Simple Peer A, which is the mobile or cellular tenninal of a user that wishes to buy a house in the GU2 area.
For example, Simple Peer A might include the following data: SIMPLE PEER A (P2) ______________________________ Current 1P address: 8.0.0.2:970 1 Advertisements offered to Group A: Details of House GU2 6GX (published advertisement) for sale 85,000 Flat __________________________________ 3 Bedrooms
[Table 3]
As shown in Figures 4 and 5, Simple Peer A ("P2") generates an advertisement in accordance with the relevant schema and sends this to the central server 38 (message 1). For example, within a schema relating to a document describing a "house buying/selling" domain advertisement, we need to define (see Figure 5): * The type of the house (<Type>Flat<z/Type>); * The price (<Price>C85000</Price>); * The postcode (<Postcode>6U2 6GX</Postcode>); At the central server 38 the resources advertisement in the form of a WSDL document according to the predefined WSDL schema defined by the semantic database 40 is parsed. It is then determined that Simple Peer A ("P2") is interested in advertising information concerning properties in the GU2 post code area and therefore that the peer should join group A. Accordingly, the central server 38 then returns to the Simple Peer A the IP address of Super Peer 1 ("P 1") (message 2). Typically, of course, a group will have a plurality of super peers. Preferably, the IP address of two or more super peers should be returned to a simple peer issuing a search advertisement.
On receipt of the Super Peer I IP address, the Simple Peer A sends its IP address to the Super Peer 1, together with its advertisement (message 3).
Simple Peer A then becomes a member of Group A (Figure 6). Simple Peer5 A's advertisement is "published" by Super Peer I. En accordance with a feature of this embodiment, the Simple Peer A periodically issues an availability or "keep alive" notification to the Super Peer 1 in order to confirm to the super peer that the Simple Peer A is still available.
The Super Peer 1 monitors for receipt of the periodic availability notifications from the Simple Peer A and will delete the advertisement of Simple Peer A if the availability notification is not received for a predetermined time period (for example, because the peer is out of the mobile or cellular or radio coverage area or has been switched of1.
Further simple peers and super peers may join the group in the manner described above. A mechanism for determining whether each peer will be a super peer or simple peer will be described later below.
For the sake of simplicity, it will now be assumed that the group consists of Simple Peer A, Super Peer 1 and another super peer (Super Peer 2), which have joined the group by sending an advertisement to the central server 38 in the manner described above. Simple Peer B now wishes to join the group. If we also assume that Simple Peer B relates to a person wishing to buy a house for sale in the GU2 area, the mechanism by which Simple Peer B joins the group will nOW be described with reference to Figure 7.
The data relating to Simple Peer B may be as follows:-
SIMPLE PEER B ___________________________
Current IP address: 8.0.0.4:9702 advertisements offered to Group A: Details of House GIJ2 (search advertisements) wanted 250,000 Semi-detached __________________ __________ _______ 3 Bedrooms
[Table 4]
As shown in Figure 7, Simple Peer B transmits its search advertisement, comprising details of the house wanted, to the central server 38 (message 4).
The central server 38 determines that the Simple Peer B should join Group A. Central server 38 then returns to the Simple Peer B the IP address of the Super Peer 1 and the IP address of Super Peer (message 5). Simple Peer B then transmits its iP address together with its search advertisement to Super Peer 1 and Super Peer 2 (messages 6,7). As before, the Simple Peer B transmits periodically an availability notification to each of the super peers with which it is registered (Super Peer I and Super Peer 2), and the super peers monitor for receipt of the periodic availability notification. If the availability notification is not received for a predetermined period, the advertisements from the relevant simple peer are deleted from Super Peer 1 and Super Peer 2.
The data stored by Super Peer I (now that the group comprises Simple Peer A, Simple Peer B, Super Peer 1 and Super Peer 2) might be as follows: SuPER PEER 1 (P1) ______________________________ Current IP address 8.0.0. 1:9703 _______________ Advertisements offered to Group A by Details of House I GU2 6GX Super Peer 1: 85,000 (Published advertisements) Flat _________________ 3 Bedrooms Details of House 11 GU2 5KJ 150,000 Terraced _________________ 2 Bedrooms Details of house III GU2 6KJ 550,000 Detached ________________ ________________ ______________ 4 Bedrooms Details of other Current IP address 8.0.0.3:9704 (Super Peer 2) Super Peers in Group advertisements to Details of house I GU2 4EX _________________ Group A: _________________ 250,000 (Published Semi-detached advertisement) _________________ 3 Bedrooms Details of House II GU2 7KP 150,000 Terraced _________________ 2 Bedrooms Details of House III GU2 5XJ 550,000 Detached ________________ ________________ ________________ 4 Bedrooms Details of other Current IP address 8.0.0.2:9701 (Simple Peer A) simple peers in Time since last 500sec Group "keep alive" notification received Details of Details of House for sale advertisements to Group A by Simple Peer A ________________________________ Current IP address 8.0.0.4:9702 (Simple Peer B) Time since last 800sec "keep alive" notification received Details of Details of House wanted advertisements to Group A by Simple _______________ Peer B ______________
[Table 5]
Of course, there may be a multiplicity of different groups, each of which relates to a particular subject, such as users interested in playing a particular computer game, users interested in dating etc. The central server 38 maintains a database of the subjects to which each of the groups relate and of the super peers in each group. When a peer wishes to publish an advertisement (to offer services) or to issue a search advertisement (to obtain services), and that simple peer is not already a member of an appropriate group for that subject, the simple peer sends that advertisement to the central server 38.
The data stored on the central server 38 may be as follows:
CENTRAL SERVER _________________________
Current IP address Semantic database ____________________________________ WSDL dictionary _________________________________ Group A subject Semantic searchable data Details of Super Peer I: Current IP address Time since last "keep alive" notification _________________________________________ received Details of Super Peer 2: Current IP address Time since last "keep alive" notification _______________________________________ received Group B subject Semantic searchable data Details of Super Peers Current 11' address Time since last "keep alive" notification ____________________________________ received
[Table 6]
As described above, if an appropriate group exists, the IP address of one or more super peers serving that group is returned to a simple peer wishing to publish an advertisement or issue an advertisement. The simple peer then contacts each of the super peers directly and supplies to them its advertisement for publication or its search advertisement, together with the simple peer's [P address. By maintaining this searchable database in the central server 38, any peer can obtain from a known location (the central server 38) details of how to contact a peer in an appropriate group which has or requires relevant resources.
For example, referring to Figure 8, when Super Peer 1 receives the search advertisement from the Simple Peer B (message 8) the super peer will search its cache of advertisements as shown in Table 5, which cache includes advertisements available from Super Peer 1 itself, from Super Peer 2, Simple Peer A and Simple Peer B stored on Super Peer 1. If a matching advertisement is found (in this example, from Super Peer 2), the IP address of the relevant peer (Super Peer 2) is returned to Simple Peer B (message 9). Simple Peer B may then use the IP address received to initiate (message 10) a peer-to-peer communication session (messages 11) with Super Peer 2.
The peer-to-peer communication may be by means of a direct link between the Simple Peer 13 and the Super Peer 2 (that is, the communications are not routed via an intermediaiy). The peer-to-peer communication could be performed via the radio access network of a mobile telecommunications network - for example a GPRS/UMTS communication session, Session Initiation Protocol (SIP) communication session or voice call, or by another wireless link such as WLAN or Bluetooth (or by a fixed link). The Simple Peer B may contact the Super Peer 2 to retrieve an advertisement by downloading data in a predetermined form. This is an asynchronous communication session, and does not require any particular action by the Super Peer 2. The downloading of the information may be performed without the specific approval of the Super Peer 2.
If a SIP session is established between the peers, communication between these peers can be carried out using a variety of different protocols (for example, those designed for streaming audio and video, to provide a commentary on and description of the property for sale). These protocols are defined in the SIP session initiation messages. At the beginning of a SIP communication session, and prior to transmission of image or audio data, the Super Peer 2 may obtain from the Simple Peer B media reproduction quality criteria indicative of the ability of the Simple Peer B to display received images and reproduce received audio data. In response to the received media reproduction quality criteria the Super Peer 2 may modify (if required) the image/audio data prior to sending the image/audio data to the Simple Peer B. In this manner, the audio/image data sent to the Simple Peer B is adjusted and optimised for the capability of the receiving peer device. This will allow the best quality image/audio to be reproduced on the receiving device and/or will prevent waste of network resources (for example, by not transmitting image data which cannot be displayed by the receiving device). Such an arrangement is described in more detail in the Applicant's co-pending United Kingdom patent application No. 0320635.6 (t'Press to See", P40053GB), the content of which is hereby fuiiy incorporated by reference.
If the user of Simple Peer B wishes to initiate an interactive or "live" communication session with the Super Peer 2, in a relatively simple form, that communication session could be a conventional voice call between the peers in which the users of the devices discuss details of the property for sale and perhaps arrange an appointment to view the property. Such a voice call could be a conventional circuit switched voice call routed via a mobile telecommunications network. However, an interactive SIP session could be initiated between the peers comprising perhaps an initial exchange of speech data between the users of the peers, and during which session the user of the Simple Peer B requests the user of Super Peer 2 to send particular images to the Simple Peer B device. These images may be captured during the session by a device linked to the Super Peer 2 and transmitted during the session. In this way the potential buyer can guide the potential seller to use their image capture device (such as mobile telephone digital camera) to give a personal, real-time video viewing of the relevant property. The availability of the Super Peer 2 to perform such an interactive communication session may be indicated by a "presence" indicator in the known manner.
Figure 9 shows the procedure if the Super Peer I is unable to find a match to the advertisement in its cache. This would occur if Super Peer 1 hade not cached the advertisement published by Super Peer 2. The Super Peer I forwards the advertisement to all the other super peers (message 12) in the group of which it has details (Super Peer 2 in this example). Each of the receiving super peers will, in turn, search their local cache of advertisements.
If a match is found, the IP address of the relevant peer is returned to Simple Peer A (message 13). A peer-to-peer communication session can then be started.
However, if a match is not found, that Super Peer then forwards the advertisement to all the other super peers (not shown) of which it has details.
Each of the other the super peers that receive the advertisements in this way will search its cache of advertisements (including its own advertisements and those from other simple peers and super peers that have been sent to it). Each of those super peers which finds a match will return to the simple peer B the 1P address of the relevant peer from which the cached advertisement was received.
A peer-to-peer communication session between Simple Peer B and the relevant other peer can then be initiated.
Each super peer periodically issues an availability notification to the central server 38. On receipt of this notification, the central server 38 issues to that super peer the IP addresses of one or more other super peers (or the IP address of all the other Super Peers) in the group from which the central server has received an availability notification. In this way, the super peers maintain the IP addresses of available corresponding super peers in the group. As shown in table 6, the central server 38 monitors for receipt of these availability notifications. The IP addresses of super peers that have not issued a recent availability notification are deleted from the super peers due to non-receipt of their IP address from the central server 38.
The transmission of and monitoring ftr receipt of availability notifications from simple peers and super peers provides a group which is dynamic in nature, the number of simple peers and super peers present in the group at any time may change depending on their availability. For the maximum efficiency of operation of the group, there will be an optimal number of simple peers relative to the number of super peers, depending upon the capabilities (CPU power, storage facilities etc. of each super peer).
In the embodiment, each super peer may have available to it the location (IP address) of all other super peers in the group by virtue of this information being stored in the centralised server 38. Each super peer can store only a predetennined number of advertisements. Different peers will have a predetermined maximum number of advertisements that can be stored, depending upon the peer's processing power, memory etc. Preferably, any peer operating as a super peer should be able to store a reasonable number (e.g. more than 10) of advertisements. Each additional super peer in a group generates additional traffic, and a group with a large number of super peers, each storing a relatively small number of published advertisements, will require a greater amount of traffic compared to a group with a smaller number of super peers, each storing a relatively large number of published advertisements. The additional traffic is caused by the communications between the centralised server 38 and the super peers to collect availability information in order to allow a list of active super peers to be maintained in the centralised server 38.
In the embodiment, the election of super peers is managed solely by the super peers themselves, with no involvement from other entities. When a new peer wishing to publish an advertisement joins a group it will be supplied with a list of one or more super peers from the centralised server 38 in the manner described above. As also mentioned above, if there are no active super peers, the centralised server returns a request for the new peer to become a super peer.
Assuming that one or more super peers does already exist, the new peer will transmit the advertisements that it wishes to publish, or its search advertisement, to the super peers of which it has been advised by the centralised server 38.
As shown in Figure 10, if a super peer PlO that receives such an advertisement from simple peer PN cannot store the advertisement in its cache 50 (because it has no spare capacity to store further advertisements), it will forward the request to the other super peers (P1 1,P12,P13,P14) in the group of which it has the IP address.
If no super peers in the group are able to store the advertisement they will respond with a rejection message. The super peer PlO then will initiate the election of a new super peer from the simple peers already present in the group.
There are two possible approaches to this election of a new super peer: 1. As shown in Figure 11, the super peer PlO issues a request to each simple peer (PO,PP,PQ,PR) of which it has details to return information describing the type of device and its bandwidth capabilities in order to build a heuristic table and select the best candidate in dependence upon the received infonnation.
2. As shown in Figure 12, the super peer selects a simple peer to be a super peer at random. The selected simple peer can accept or decline the request (for example, in dependence upon the device characteristics and bandwidth capabilities). If the selected simple peer declines the request, the super peer PlO will then issue a similar request to another simple peer. This process will continue until one simple peer does accept the request. If, however, no simple peers accept the request due to protocol stack, terminal andlor bandwidth limitations, the election process will fail and the incoming simple peer will not be able to join the group.
In the maimer described above, a sufficient number of super peers should be able to be provided relative to the number of simple peers in order for communications within the group to be managed efficiently.
In addition to new peers joining the group, simple peers may leave the group, for example because they have found the information that they required, or the relevant device has simply been switched off (or leaves the radio coverage area if the device is a cellular or mobile telecommunications terminal). If a number of simple peers leave the group, the number of super peers relative to the number of simple peers may be too high, which will reduce the overall system performance.
Each super peer may set a threshold at which point management action is triggered. For example, this threshold could be when less than or equal to 50% of that super peer's capacity to store advertisements is being used. In Figure 13, Simple Peers P0 and PQ have left the group. Their advertisements have been deleted from the cache 50 of Super Peer P10. The non-usage threshold is then exceeded. When this threshold is exceeded, the Super Peer PlO will forward a request to the other super peers in the group to store its advertisements 52,54 (as shown in Figure 14). These advertisements can be distributed to one or more of the super peers P11,P 13 in the group. These super peers may reply by accepting or rejecting the advertisements. If the super peers do have sufficient capacity between them to store all the advertisements present on the under-utilised super peer, that super peer PlO can then become a simple peer within the group after transmitting all its advertisements to the other super peers.
As mentioned above, in the group where one or more of the peers is a mobile or cellular telecommunications device, a mechanism is required in order to deal with "handover".
For example, as shown in Figures 15 and 16, if Simple Peer P3 is downloading data from Simple Peer P4, and Simple Peer P4 roams from one access point to another access point, the IP address of Simple Peer P4 will generally change (unless mobile IP is supported). Mobile terminals (such as UM'l'S and GPRS) have a fixed IP address. However, in a WLAN environment peers can switch from one access point to another and be assigned a different IP address. A peer may change its IP address in other situations too. For example, when the peer changes the access network technology used to connect to the Internet (for example from GPRS/UMTS to WLAN or vice versa) and the two networks are not integrated.
Due to the change in IP address, the pipe between the Simple Peer P3 and the Simple Peer P4 will therefore be broken. In the conventional JXTAystem, the Simple Peer P4 would have to re-publish its new IP address to all the super peers of which it has details. Simple Peer P3 would also have to search for Simple Peer P4 by issuing a request to the super peers of which that simple peer is aware. l'hrough propagation between the peers within the Group A, Simple Peer P3 will eventually obtain the IP address of Simple Peer P4. A pipe can then be established between the simple peers in order to begin transferring the files again. Ihe time taken to establish this new pipe may be unacceptably long.
A peer may change its IP address in other situations too. For example, when the peer changes the access network technology used to connect to the Internet (for example from GPRSIUMTS to WLAN or vice versa) and the two networks are not integrated.
As discussed above, when the IP address changes, the communication link or pipe between the Simple Peer P3 and Simple Peer P4 is broken. In the embodiment, the breaking of the pipe triggers a new discovery procedure in order to reconnect Simple Peer P3 and Simple Peer P4. At the same time, Simple Peer P4 will re-publish its advertisements with its new IP address. In parallel, in order to speed up the reconnection process, Simple Peer P4 will automatically send its new IP address to Simple Peer P3.
This mechanism also works when both terminals change their IP address at the same time. In this case, when Simple Peer P3 detects that the pipe is broken, it will start looking for Simple Peer P4 by contacting the super peers (P2) of which it has the IP address. As described above, Simple Peer P4 will also contact the super peers (P1) of which it has the IP address and re-publish the service advertisement with the new IP address. At the same time Simple Peer P4 will try to contact Simple Peer P3 using the previous IP address of simple peer P3 in order to speed up the reestablishment of the communication link.
Of course, in this instance, this will fail because the IP address of Simple Peer P3 has changed. In this case, the only way to re-establish a pipe is for Simple Peer P3 to search for Simple Peer P4 advertisement and for Simple Peer P4 to republish its own advertisement.
A similar approach may be followed when a super peer changes its IP address: the new IP address will be notified to the centralised server 38 and the other super peers within the group and to the simple peers whose advertisements that super peer stores in its cache. If two super peers change address simultaneously, the centralised server 38 will provide a back-up mechanism, allowing reconnection.
Although the above mechanism for re-establishing a pipe is efficient, it is advantageous to provide an arrangement where continuous or virtually continuous service availability is provided when some or all of the peers in a group are mobile or cellular devices (or may become temporarily unavailable for any reason). In accordance with the embodiment, the advertisements offered by each simple peer will be replicated in other peers in the same group.
When a peer joins a group it will first publish its advertisement (on the or each super peer of which it has been provided the IP address). Other peers will be able to access the content of the advertisement, download and store it. In this way, there will be multiple copies of the same advertisement. Each peer which has downloaded the advertisement will generally be free to advertise that advertisement for other peers to download. However, Digital Rights Management (DRM) may be used to prevent free redistribution of some advertisements.
Re-publication of advertisements will naturally distribute multiple copies of advertisements in the group without the need for a resource management system. The more frequently requested advertisements will, by the nature of the system, be republished more often, and therefore will be available from a relatively large number of peers. The only distinction between the original advertisement and the re-published advertisements will be that interactive services between peers (such as video/voice calls, instant messaging etc.) will be available only from the original simple peer.

Claims (27)

1. A network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes - for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein the plurality of nodes monitor their available capacity for storing advertisements and vary the number of nodes in the group in dependence upon the available capacity.
2. The network of claim I, including means for replicating on another device the data stored by one device for providing its service such that the service can also be provided by said other device.
3. The network of claim 1 or 2, including a control node for storing data indicative of the services provided by the devices and a respective address indicative of the device providing the service.
4. The network of claim 1,2 or 3, wherein the control node stores the service indicative data in a predetermined format interpretable by a service requesting device.
5. The network of claim 4, wherein the control node compiles a semantic database.
6. The network of any one of claims I to 5, wherein at least some of the devices communicate wirelessly in the group.
7. The network of claim 6, wherein at least some of the nodes communicate wirelessly in the group.
8. The network of claim 6 or 7, wherein at least some of the devices and/or nodes are GSM, GPRS, UMTS or WLAN communication devices.
9. The network of any one of claims I to 8, wherein at least one of said nodes includes means for determining when its available capacity for storing advertisements exceeds a threshold, and means for requesting another of said nodes to store an advertisement.
10. The network of claim 9, wherein the requesting means includes means for selecting another of said nodes.
11. The network of claim 10, wherein said selecting means is operable to interrogate a plurality of said nodes to determine data indicative of the ability of each of said nodes to store the advertisement.
12. The network of any one of claims I to 11, wherein at least one of said nodes includes means for determining when its available capacity for storing advertisements is below a threshold, and means for requesting another of said notes to store an advertisement.
13. The network of claim 12, wherein the requesting means is operable to remove the advertisements stored on the node when the advertisements have been stored on another node such that said device no longer functions as a node in the network.
14. A network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes.
- for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service.
- for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein the network further includes a control node for storing data indicative of the advertisements relating to services provided by the devices and a respective address indicative of the node storing the advertisements, for receiving a request to provide a service or a request to use a service, for analysing the request and the stored data indicative of services provided by the devices, and for providing in response to the request the address indicative of the device providing a relevant service.
15. The network of claim 14, wherein the control node stores the service indicative data in a predetermined format interpretable by a service requesting device.
16. The network of claim 15, wherein the control node compiles a semantic database. :10
17. A network having a group of devices, each device having an address for enabling messages to be delivered thereto in said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, the network including a plurality of nodes - for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, wherein each node is operable to cause its stored advertisements for services provided by the devices and the respective addresses indicative of the devices providing the services to be also stored on another node, whereby to facilitate use of that service when the first-mentioned node is inoperable for communication within the network.
18. A method of operating a network having a group of devices, each device having an address for enabling messages to be delivered into said group, wherein some of the devices provide services for use by the group and some of the devices use services provided by the group, and the network including a plurality of nodes - for storing advertisements for services provided by the devices and a respective address indicative of the device providing the service, - for receiving a request for a service from a device, - for providing the requesting device with the address associated with the service for facilitating a peer-to-peer communication session between devices whereby the service is provided to the requesting device, the method including operating the plurality of nodes to monitor their available capacity for storing advertisements and to vary the number of nodes in the group in dependence upon the available capacity.
19. 1'he method of claim 18, including replicating on another device the data stored by one device for providing its service such that the service can also be provided by said other device.
20. The method of claim 18 or 19, including providing a control node for storing data indicative of the services provided by the devices and a respective address indicative of the device providing the service.
21. The method of claim 18,19 or 20, wherein the control node stores the service indicative data in a predetermined format interpretable by a service requesting device.
22. The method of claim 21, wherein the control node compiles a semantic database.
23. The method of any one of claims 18 to 22, wherein at least some of the devices communicate wirelessly in the group.
24. The method of claim 23, wherein at least some of the nodes communicate wirelessly in the group.
25. The method of claim 23 or 24, wherein at least some of the devices and/or nodes are GSM, GPRS, UMTS or WLAN communication devices.
26. The network substantially as hereinbefore described with reference to and/or substantially as illustrated in any one of or any combination of the accompanying drawings.
27. A method substantially as hereinbefore described with reference to and/or substantially as illustrated in any one of or any combination of the accompanying drawings.
GB0425261A 2004-11-16 2004-11-16 Facilitating distribution of information in a network Expired - Fee Related GB2420257B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0425261A GB2420257B (en) 2004-11-16 2004-11-16 Facilitating distribution of information in a network
EP05256464A EP1657939A1 (en) 2004-11-16 2005-10-18 System and Method for facilitating distribution of information in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0425261A GB2420257B (en) 2004-11-16 2004-11-16 Facilitating distribution of information in a network

Publications (3)

Publication Number Publication Date
GB0425261D0 GB0425261D0 (en) 2004-12-15
GB2420257A true GB2420257A (en) 2006-05-17
GB2420257B GB2420257B (en) 2007-12-12

Family

ID=33523816

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0425261A Expired - Fee Related GB2420257B (en) 2004-11-16 2004-11-16 Facilitating distribution of information in a network

Country Status (2)

Country Link
EP (1) EP1657939A1 (en)
GB (1) GB2420257B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2444995A (en) * 2006-12-21 2008-06-25 Vodafone Plc Electing super peers in a peer to peer network
GB2449118A (en) * 2007-05-11 2008-11-12 Ericsson Telefon Ab L M Host Identity Protocol Rendezvous Servers which store information about nodes connected to other servers and forward address requests
GB2450473A (en) * 2007-06-04 2008-12-31 Sony Comp Entertainment Europe A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
CN103312799A (en) * 2013-05-31 2013-09-18 武汉理工大学 P2P (peer-to-peer) communication method based on JXTA platform under internet of things environment

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100229205A1 (en) * 2005-05-27 2010-09-09 Cellular Terrestrial Broadcasting, Llc Cellular Television Broadcast System
US20070233844A1 (en) 2006-03-29 2007-10-04 Murata Kikai Kabushiki Kaisha Relay device and communication system
US8010647B2 (en) * 2006-12-11 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system arranged to share resources between networks
US8606941B2 (en) * 2007-05-02 2013-12-10 Murata Machinery, Ltd. Relay server and relay communication system
US7945680B2 (en) * 2007-10-30 2011-05-17 Motorola Solutions, Inc. Method and apparatus for peer to peer link establishment over a network
CN101505263B (en) * 2008-02-05 2011-10-26 华为技术有限公司 Method and device for maintaining routing information
JP2009206601A (en) 2008-02-26 2009-09-10 Funai Electric Co Ltd Information distribution system
CN101494664B (en) * 2009-03-09 2012-04-18 浙江工商大学 P2P push type network storage method based on JXTA
CN101510897B (en) * 2009-03-30 2012-02-01 北京邮电大学 Addressing system and method for layering host identification based on superposition type DHT
EP4264968A1 (en) * 2020-12-21 2023-10-25 Koninklijke KPN N.V. Dual-connection device enabling service advertisement and discovery of services between networks, user device and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TR200201088T2 (en) * 1999-10-21 2002-09-23 Visonarts Advertising method and system in the network
US6789077B1 (en) * 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Proceedings of the Fourth International Conference on Peer-to-Peer Computing (P2P'04)", published 25th August 2004, IEEE, pp 202-209, Montresor " A robust protocol for building superpeer overlay topologies". *
"Proceedings of the Fourth International Conference on Peer-to-Peer Computing (P2P'04)", published 25th August 2004, IEEE, pp 210-218, Young June Pyun et al " Constructing a balanced, (log(N)/loglog(N))-diameter super-peer topology for scalable P2P systems" *
Andreas Kemkes , "Rendezvous Service Implementation", 13th Oct 2003, available from http://wiki.java.net/bin/view/Jxta/RendezvousServiceImplementation *
Dayal et al, " PROCEEDINGS 19TH. INTERNATIONAL CONFERENCE ON DATA ENGINEERING. (ICDE'2003)", published 5th March 2003, IEEE, pp 49-60, Yang et al " Designing a super-peer network" *
Eigenmann , "Proceedings of the 2004 International Conference on Parallel Processing (ICPP'04)", published 15th August 2004, IEEE, Vol. 1, pp 29-36, Zhang et al " Dynamic layer management in super-peer architectures" *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2444995A (en) * 2006-12-21 2008-06-25 Vodafone Plc Electing super peers in a peer to peer network
GB2444995B (en) * 2006-12-21 2011-07-27 Vodafone Plc Peer to peer network
GB2449118A (en) * 2007-05-11 2008-11-12 Ericsson Telefon Ab L M Host Identity Protocol Rendezvous Servers which store information about nodes connected to other servers and forward address requests
US8788629B2 (en) 2007-05-11 2014-07-22 Optis Wireless Technology, Llc HIP node reachability
GB2450473A (en) * 2007-06-04 2008-12-31 Sony Comp Entertainment Europe A Server in a Peer to Peer system selecting and notifying a device that it is to become a member of a peer group
US9215276B2 (en) 2007-06-04 2015-12-15 Sony Computer Entertainment Europe Limited Apparatus and method of data transfer
CN103312799A (en) * 2013-05-31 2013-09-18 武汉理工大学 P2P (peer-to-peer) communication method based on JXTA platform under internet of things environment
CN103312799B (en) * 2013-05-31 2016-08-17 武汉理工大学 P2P communication means based on JXTA platform under environment of internet of things

Also Published As

Publication number Publication date
GB2420257B (en) 2007-12-12
EP1657939A1 (en) 2006-05-17
GB0425261D0 (en) 2004-12-15

Similar Documents

Publication Publication Date Title
EP1657939A1 (en) System and Method for facilitating distribution of information in a network
US7782866B1 (en) Virtual peer in a peer-to-peer network
US8554827B2 (en) Virtual peer for a content sharing system
US8214489B2 (en) Peer to peer network
JP4560513B2 (en) Method and apparatus for sharing resources via handset terminal
CN100407627C (en) Method and system for realizing end-to-end data sharing
US8023940B2 (en) Connecting ad hoc piconets to wide area networks and/or grid computing networks
Tsai et al. Design and development of a mobile peer-to-peer social networking application
KR100953594B1 (en) Method and apparatus for providing social networking service base on peer-to-peer network
CN100466633C (en) Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices
US8396220B2 (en) System and method of mobile content sharing and delivery in an integrated network environment
US8219614B2 (en) Edge peer device, pan gateway device, super peer device, and P2P network-based interconnection method
Srirama Publishing and discovery of mobile web services in peer to peer networks
EP2171969B1 (en) Method and system for data management in communication networks
Elgazzar et al. Mobile web services: state of the art and challenges
Pirker et al. An approach for fipa agent service discovery in mobile ad hoc environments
Perich et al. Query routing and processing in mobile ad-hoc environments
Kern et al. Assistant-based mobile supply chain management
KR101224827B1 (en) A network system and method thereof with dacon
Issarny et al. Enabling ambient intelligence via the web
Elgazzar et al. Enabling mobile web services provisioning
Belqasmi et al. An overlay network for autonomous information discovery in the post-composition registries of ambient networks
KR20060070242A (en) Method for contents sharing service being based on peer to peer and media that record computer program sources thereof
Cao et al. Service management in pervasive computing environments
Kurhinen et al. Short range wireless P2P for co-operative learning

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20161116