WO2009122014A1 - Control of hybrid peer-to-peer system - Google Patents

Control of hybrid peer-to-peer system Download PDF

Info

Publication number
WO2009122014A1
WO2009122014A1 PCT/FI2009/050242 FI2009050242W WO2009122014A1 WO 2009122014 A1 WO2009122014 A1 WO 2009122014A1 FI 2009050242 W FI2009050242 W FI 2009050242W WO 2009122014 A1 WO2009122014 A1 WO 2009122014A1
Authority
WO
WIPO (PCT)
Prior art keywords
peer
node
control
timer
peer system
Prior art date
Application number
PCT/FI2009/050242
Other languages
French (fr)
Inventor
Daniel Pakkala
Aki Koivukoski
Original Assignee
Valtion Teknillinen Tutkimuskeskus
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 Valtion Teknillinen Tutkimuskeskus filed Critical Valtion Teknillinen Tutkimuskeskus
Publication of WO2009122014A1 publication Critical patent/WO2009122014A1/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Definitions

  • the invention relates in general to control of hybrid peer-to-peer systems, and especially to a node for a hybrid peer-to-peer system, a method for controlling a hybrid peer-to-peer system, and a computer program for a node.
  • a pure peer-to-peer system consists of equal peer nodes that simultaneously function as both clients and servers.
  • a need for a special role is recognized: one or several nodes, but not all nodes, have a special role, which serves the other nodes of the peer-to- peer system.
  • the control of the hybrid peer-to-peer system, especially regarding the management of the special roles, needs further development.
  • the present invention seeks to provide an improved node for a hybrid peer-to-peer system, an improved method for controlling a hybrid peer- to-peer system, and an improved computer program for a node.
  • the present invention may provide some advantages, such as an improved quality of service regarding the availability, robustness and/or reliability of services and functionalities provided by a hybrid peer-to-peer system.
  • Figure 1 illustrates a hybrid peer-to-peer system
  • Figure 2 illustrates the operation of a node
  • Figures 3A and 3B illustrate the change of control in a hybrid peer- to-peer system
  • Figure 4 illustrates a method for controlling a hybrid peer-to-peer system
  • Figures 5 to 14 further illustrate the operation of a node
  • Figure 15 illustrates the autonomous control of a hybrid peer-to-peer system.
  • Figure 1 illustrates an embodiment of a hybrid peer-to-peer system.
  • the hybrid peer-to-peer system comprises a first node 100, and the other nodes 114 of the hybrid peer-to-peer system, which are a second node 116, a third node 118, a fourth node 120 and a fifth node 122.
  • the hybrid peer-to- peer system of Figure 1 comprises five nodes, but in general there may be two or more nodes in the hybrid peer-to-peer system. At least one of the nodes may act in a special role, as will be described later on.
  • the node 100 comprises a processor.
  • the processor may be implemented by hardware and/or software.
  • Figure 2 illustrates the operation of the node 100.
  • the processor is configured to start a normal operation 200 of the node. Furthermore, the processor is configured to check 202 whether a special role is prescribed for the node:
  • both a server operation 208 offered to the peer-to-peer system and a control operation 210 of the peer-to-peer system are started; - or else 206, a server operation 212 remains unstarted and a control operation 214 remains unstarted.
  • the processor is configured to receive control from a control operation of the peer-to-peer system in the normal operation.
  • the processor is configured to continue to receive control from the control operation of the peer-to-peer system in the normal operation, or else, the processor is configured to perform a negotiation with the peer-to- peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation 208 offered to the peer-to-peer system and the control operation 208 of the peer-to-peer system.
  • a hybrid peer-to-peer system typically offers at least some of the following functionalities: peer indexing, peer searches, forming a (network) structure of the peer-to-peer system and indexing it, indexing the contents of the peer-to-peer system and defining searches for the contents, contents distribution and downloading.
  • Typical application areas of the hybrid peer-to- peer system may include software updates, web contents, or other file distribution to wide audiences, video on demand, Internet television broadcasts, Internet radio broadcasts, or other streaming data distribution to wide audiences, or other application areas such as search engines and instant messaging.
  • the normal operation 200 and the server operation 208 implement such functionalities provided for the users of the hybrid peer-to-peer system.
  • the processor may be configured to, in the control operation of the node, read start-up parameters describing properties of the peer-to-peer system, whereupon the control operation of the node autonomously adapts itself to changes of the peer-to-peer system.
  • the processor may be configured to, in the control operation of the node, define the maximum growth speed of the peer-to-peer system on the basis of the start-up parameters, define the communication capacity required for the control operation, and/or define the processing capacity required for the control operation.
  • Figures 3A and 3B illustrate change of control in the hybrid peer-to- peer system of Figures 1 and 2.
  • the first node 100 has started the normal operation
  • the first node 100 thus provides service and control to the other nodes 116, 118, 120, 122.
  • the first node 100 transmits control messages 300, 302, 304, 306 to the other nodes 116, 118, 120, 122.
  • the normal operations 200B, 200C, 200D, 200E are started, but the server operations 208A, 208B, 208C, 208D and the control operations 210A, 210B, 210C, 210D remain unstarted.
  • the first node 100 has ceased to provide the service and the control to the other nodes 116, 118, 120, 122. Because of that, the special role is assigned to one of the other nodes, to the second node 116, utilizing the mechanism described earlier in connection with Figure 2.
  • the second node 116 has started a server operation 212B and a control operation 214B.
  • the normal, server and control operations of the other nodes 118, 120, 122 remain in the same states as in Figure 3A.
  • the second node 116 transmits control messages 308, 310, 312 to the other nodes 118, 120, 122.
  • Figure 1 only shows a more detailed structure of the first node 100, but the other nodes 114 of the peer-to-peer system may have a similar structure, or their structure may be slightly different, depending on the type of the node.
  • the node 100, 116, 118, 120, 122 may be any data processing device that can provide and/or use a service and/or a functionality by means of software and/or hardware: a computer, a laptop computer, a portable computer, a mobile phone, a personal digital assistant (PDA), a subscriber terminal of a radio system, or any other electronic device capable of communicating with another electronic device.
  • PDA personal digital assistant
  • the node may comprise various other units. However, they are irrelevant to the actual invention and, therefore, they need not be discussed in more detail here.
  • the communication may be performed in a wired or a wireless fashion.
  • Such communication techniques utilize electric and/or magnetic radiation.
  • GSM Global System for Mobile Communications
  • WCDMA Wideband Code Division Multiple Access
  • WLAN Wireless Local Area Network
  • Bluetooth® Bluetooth® standard are examples of wireless communication standards, but also other standard communication techniques may be used, and even non-standard and/or proprietary wireless communication techniques may be used.
  • All standard/non-standard wired communication techniques may be used, such as Ethernet, TCP/IP, etc.
  • the communication network may be the Internet, or a part of the Internet, or it may be coupled to the Internet.
  • the protocols used, the specifications of communication techniques, the nodes, especially in wireless communication develop rapidly. Such development may require extra changes to an embodiment. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment.
  • the node may be implemented as an electronic digital computer, which may comprise a permanent memory 102, a working memory (RAM) 104, a clock 106, a central processing unit (CPU) 108, and a communication interface 110.
  • the CPU 108 may comprise a set of registers, an arithmetic logic unit, and a control unit.
  • the control unit is controlled by a sequence of program instructions transferred to the CPU from the RAM 104.
  • the control unit may contain a number of microinstructions for basic operations. The implementation of microinstructions may vary, depending on the CPU 108 design.
  • the program instructions may be coded by a programming language, which may be a high-level programming language, such as C, Java, etc., or a low-level programming language, such as a machine language, or an assembler.
  • the electronic digital computer may also have an operating system, which may provide system services to a computer program written with the program instructions.
  • An embodiment provides a computer program on a carrier and comprising computer executable instructions for causing a node to perform the earlier described activities of the processor.
  • the computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program.
  • Such carriers include a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example.
  • the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
  • the earlier described activities of the processor may also be implemented as one or more integrated circuits, such as application-specific integrated circuits ASIC.
  • Other hardware embodiments are also feasible, such as a circuit built of separate logic components.
  • a hybrid of these different implementations is also feasible.
  • a timer mechanism may be used in connection with the earlier described activities of the node. If the special role is prescribed for the node, - the processor is configured to start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation,
  • the processor is configured to start a timer, and receive timer control from a control operation of the peer-to-peer system in the normal operation. If the timer control is received before the timer expires, the processor is configured to start the timer anew, and continue to receive timer control from the control operation of the peer-to-peer system in the normal operation, or else, the processor is configured to perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to- 5 peer system and the control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation.
  • the processor may be configured to calculate the duration of the timer by utilizing the number of nodes in the peer-to-peer system and an o average delay of the timer control .
  • the processor may be configured to perform the timer control by transmitting a timer control message to the other node of the peer-to-peer system.
  • the processor may be configured to perform the negotiation with5 the peer-to-peer system in such a manner that if the node was the first node in the peer-to-peer to system to start the negotiation, the special role is assigned to the node.
  • a special multi-phase timer may be used.
  • the multi-phase timer comprises a timer and a timer round number.
  • the timer0 round number informs how many times the timer may be started anew. After each timer restart, the timer round number is reduced by one.
  • the processor may be configured to perform the negotiation with the peer-to-peer system in such a manner that the processor is configured to:
  • the method starts in 400.
  • control from a control operation of the peer-to-peer system is received 410 in the normal operation.
  • control is received according to a predetermined rule 412 YES, it is continued to receive 410 control from the control operation of the peer-to-peer system in the normal operation.
  • a negotiation is performed 414 with the peer-to-peer system, and if the special role is assigned 404 YES to the node on the basis of the negotiation, both the server operation offered to the peer-to-peer system and the control operation of the peer-to-peer system are started 406, 408. The method ends in 416.
  • Figure 5 describes the start-up of an entity belonging to the hybrid peer-to-peer system.
  • the normal operation (NO) is started in 500.
  • Figure 6 describes 500 of Figure 5 in more detail, i.e. the normal operation.
  • the hybrid peer-to-peer system is joined in 600.
  • processing of management messages is started in 602.
  • Figure 7 describes autonomous control from a point of view of an entity acting in the special role. This subfunction is entered as the result of 508 of Figure 5, i.e. as the result of starting the control operation. It is to be noted that more than one entity may act simultaneously in the special role, depending on the requirements set for the hybrid peer-to-peer system.
  • the autonomous control is based on the exchange of management messages between the entity acting in the special role and the entities acting in normal roles.
  • a system entity list is updated and read in 700. This action is performed while starting each new control round.
  • the entity acting in the special role exchanges management messages with each entity acting in the normal role.
  • system control parameters are calculated. The system control parameters may be calculated based on updated system entity list and given fixed control parameters.
  • each entity acting in the normal role is controlled by management messages.
  • the special role is still active: if the answer is positive 706 YES, a new control round is started by entering 700, otherwise the autonomous control of the special role is ended and the server operation is ended in 708.
  • Figure 8 describes 700 of Figure 7 in more detail, i.e. the update and reading of the system entity list.
  • a threshold for new system entities per control round is read in 800. This threshold may be given as a fixed control parameter. If new entities have joined the hybrid peer-to-peer system during a control round 802 YES, as many new system entities are updated to the system entity list as the threshold allows in 804. If there are more new system entities than the threshold allows, the remaining new system entities may join the system entity list during the next control round(s). If no new entities have joined the hybrid peer-to-peer system during the control round 802 NO, or after 804, the system entity list is read in 806 in order to calculate the system control parameters.
  • Figure 9 describes 702 of Figure 7 in more detail, i.e. the calculation of system control parameters.
  • fixed control parameters are read in 900.
  • variable control parameters are calculated based on the system entity list in 902.
  • the fixed control parameters may include the following parameters:
  • This parameter defines how many system entities may be joined under autonomous management of special roles during one control round.
  • Control rest period This parameter determines an interval for the internal functioning of the control round.
  • - Timer round number This parameter defines a timer round number for a multi-phase timer, i.e. how many times the multi-phase timer is started anew before the special role is captured.
  • the parameters calculated for each control round may include the following: - Duration of control round. This parameter is a calculated estimate for the temporal duration of one control round. It may be calculated on the basis of the system entity list, average management message delay, and fixed control parameters. - Threshold for multi-phase timer. This parameter is a calculated threshold for the update of the multi-phase timer. It may be calculated on the basis of the duration of the control round, fixed control parameters, system entity list, and average management message delay.
  • This parameter may be measured during the running of the system, or it may be estimated, and it gives the average delay between the transmission and reception of a management message in the hybrid peer-to-peer network. It also includes the time it takes to process the management message.
  • Figure 10 describes 704 of Figure 7 in more detail, i.e. the performance of the control round.
  • member entities acting in normal roles and being in the updated control round specific system entity list are looked over with management messages.
  • the control round starts by selecting the next system entity from the updated system entity list in 1000.
  • a management message including the calculated system control parameters is created in 1002 and transmitted to the selected system entity in 1004.
  • the management message 1006 is a multi-phase timer update message including update values for updating the multi-phase timer of the receiving entity.
  • the selected system entity is set as processed in 1008. If there are still unprocessed system entities left 1010 YES, a control rest period is consumed in 1012 before operation 1000 is entered again. If all system entities are processed 1010 NO, the control round is finished.
  • Figure 11 describes the control from the point of view of an entity acting in the normal role. If the control by the entity acting in the special role ceases, the entity acting in the normal role needs to notice this and start a negotiation with the other system entities in order to find out the next owner for the special role.
  • the multi-phase timer is updated as a result of the multi-phase tinner update message 1006 of Figure 10 in 1102, i.e. the multi-phase timer is updated with the thresholds and the timer round number given in the message. If the multi-phase timer is not yet running 1104 NO, it is started in 1106. If the multi-phase timer is already running 1104 YES, it is updated in 1108. In 1110, the multi-phase timer is waited for, i.e. its expiration is expected. From 1110 there are three possible ways to continue:
  • the entity may be switched off.
  • a management message 1112 that is a functionality negotiation message including a capture request may be received from another system entity.
  • the capture request here means that the other entity wishes to take over the special role.
  • the own timer round number is read in 1114 and the own timer round number is compared against the timer round number that is in the capture request in 1116: if the timer round number of the message is smaller than the own timer round number, 1110 is entered again, or else a management message 1118 that is a functionality negotiation message including a capture prohibition is transmitted to the entity from whom the capture request came and upon this 1110 is entered again.
  • Figure 12 describes 1110 of Figure 11 in more detail, i.e. the waiting for the multi-phase timer.
  • the multi-phase timer is based on a singular timer.
  • the multi-phase timer is started in 1200, whereupon it is waited until the multiphase timer reaches the threshold, i.e. expires, in 1202. It is to be noted that if the control by the entity acting in the special role functions flawlessly, the timer never reaches the threshold, because the multi-phase timer update message 1006 is received before that, as described in Figure 11. However, if the multiphase timer reaches the threshold in 1202, the timer round number is reduced by one in 1204.
  • the timer round number is then larger than zero 1212 NO, a capture request message is created in 1206, this capture request message 1012 was already explained in Figure 11 , and 1200 is entered again.
  • the special role is set active in 1208, the control operation is started in 508 and the server operation is started in 1210.
  • the negotiation process possibly resulting in the capture of the special role is interrupted if a management message 1018 that is a functionality negotiation message including capture prohibition is received.
  • the entity in question understands that some other entity has been without control for a longer time, whereby the other entity has proceeded further in negotiating to capture and activate the special role.
  • Figure 13 illustrates that the special role may also be manually managed.
  • An entity being either in the special role or in the normal role, may receive a special functionality control message 1300. If the special functionality is turned off 1302 OFF, the special role is set inactive in 1304. If the special functionality is turned on 1302 ON, the special role is set active in 1306, the control operation is started in 508, a management message 1308 that is a functionality control message including an off command is transmitted only to the previous system entity acting in the special role, and the server operation is started in 1310.
  • Figure 14 illustrates 602 of Figure 6, i.e. the processing of management messages by an entity acting in the normal role.
  • the management messages are waited for in 1400, and if the entity is switched off, this operation ends. If a management message 1402 is received, its type is checked in 1404:
  • the entity loading ratio message 1410 includes the calculated 1408 loading ratio of some other entity and it is transmitted in response to a multi-phase timer update message 1006.
  • the loading ratio is updated in the system entity list in 1414.
  • - Multi-phase timer update message 1006. This message is always received as a part of the normal operation of the entity.
  • the message includes the update information of the multi-phase timer. It is processed as a part of the autonomous control of the special role as described in Figure 11.
  • This message is replied with the entity loading ratio message 1410.
  • - Functionality negotiation message 1412. This message is always received as a part of the normal operation of the entity, and its processing is described in Figure 1 1 as a part of the autonomous control of the special role.
  • Figure 15 illustrates autonomous control of the hybrid peer-to-peer system.
  • the signaling messages are only exemplary and may even comprise several separate messages for transmitting the same information.
  • the messages may also contain other information. Let us suppose that we have three entities, A, B and C. Entity A acts in the special role and it transmits multi-phase timer update messages 1500, 1502 to entities B and C.
  • entity A ceases to act in the special role.
  • the multi-phase timer first expires 1504 in entity B but the timer round number of entity B is greater than zero, which results in that entity B transmits a capture negotiation message 1506 to entity C.
  • the timer round number of entity C is greater than the timer round number of entity B in 1508.
  • the first multi-phase timer of entity C then expires
  • Entity C transmits a capture negotiation message 1512 to entity B.
  • Entity B notices 1514 that its own timer round number is smaller than the timer round number of entity C received in message 1512. Entity B transmits a capture prohibition message 1516 to entity C, and as a result of this, entity C zeroes 1518 its timer, i.e. ends its part of the negotiation process. The multi-phase timer expires 1520 in entity B and its timer round number becomes zero, and, as a result of this, entity B transmits a capture negotiation message 1522 to entity C.
  • entity B starts 1524 its special functionality, and transmits

Abstract

Node, method and computer program for control of hybrid peer-to-peer systems is disclosed. The node comprises a processor configured to: start a normal operation of the node; check whether a special role is prescribed for the node: if the special role is prescribed for the node, start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system; or else, receive control from a control operation of the peer- to-peer system in the normal operation: if the control is received according to a predetermined rule, continue to receive control from the control operation of the peer-to- peer system in the normal operation; or else, perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to-peer system and the control operation of the peer- to-peer system.

Description

Control of hybrid peer-to-peer system
Field
The invention relates in general to control of hybrid peer-to-peer systems, and especially to a node for a hybrid peer-to-peer system, a method for controlling a hybrid peer-to-peer system, and a computer program for a node.
Background
A pure peer-to-peer system consists of equal peer nodes that simultaneously function as both clients and servers. In a hybrid peer-to-peer system, a need for a special role is recognized: one or several nodes, but not all nodes, have a special role, which serves the other nodes of the peer-to- peer system. The control of the hybrid peer-to-peer system, especially regarding the management of the special roles, needs further development.
Brief description The present invention seeks to provide an improved node for a hybrid peer-to-peer system, an improved method for controlling a hybrid peer- to-peer system, and an improved computer program for a node.
According to an aspect of the present invention, there is provided a node as specified in claim 1 . According to another aspect of the present invention, there is provided a method as specified in claim 9.
According to another aspect of the present invention, there is provided a computer program as specified in claim 17.
According to an aspect of the present invention, there is provided an apparatus as specified in claim 18.
According to another aspect of the present invention, there is provided a computer program as specified in claim 19.
The present invention may provide some advantages, such as an improved quality of service regarding the availability, robustness and/or reliability of services and functionalities provided by a hybrid peer-to-peer system.
List of drawings
Embodiments of the present invention are described below, by way of example only, with reference to the accompanying drawings, in which
Figure 1 illustrates a hybrid peer-to-peer system;
Figure 2 illustrates the operation of a node;
Figures 3A and 3B illustrate the change of control in a hybrid peer- to-peer system; Figure 4 illustrates a method for controlling a hybrid peer-to-peer system;
Figures 5 to 14 further illustrate the operation of a node; and
Figure 15 illustrates the autonomous control of a hybrid peer-to-peer system.
Description of embodiments
The following embodiments are exemplary. Although the specification may refer to "an", "one", or "some" embodiment(s) in several locations, this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments.
Figure 1 illustrates an embodiment of a hybrid peer-to-peer system. The hybrid peer-to-peer system comprises a first node 100, and the other nodes 114 of the hybrid peer-to-peer system, which are a second node 116, a third node 118, a fourth node 120 and a fifth node 122. The hybrid peer-to- peer system of Figure 1 comprises five nodes, but in general there may be two or more nodes in the hybrid peer-to-peer system. At least one of the nodes may act in a special role, as will be described later on. The node 100 comprises a processor. The processor may be implemented by hardware and/or software. Figure 2 illustrates the operation of the node 100.
The processor is configured to start a normal operation 200 of the node. Furthermore, the processor is configured to check 202 whether a special role is prescribed for the node:
- if the special role is prescribed for the node 204, both a server operation 208 offered to the peer-to-peer system and a control operation 210 of the peer-to-peer system are started; - or else 206, a server operation 212 remains unstarted and a control operation 214 remains unstarted. In this state, the processor is configured to receive control from a control operation of the peer-to-peer system in the normal operation. If the control is received according to a predetermined rule, the processor is configured to continue to receive control from the control operation of the peer-to-peer system in the normal operation, or else, the processor is configured to perform a negotiation with the peer-to- peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation 208 offered to the peer-to-peer system and the control operation 208 of the peer-to-peer system. A hybrid peer-to-peer system typically offers at least some of the following functionalities: peer indexing, peer searches, forming a (network) structure of the peer-to-peer system and indexing it, indexing the contents of the peer-to-peer system and defining searches for the contents, contents distribution and downloading. Typical application areas of the hybrid peer-to- peer system may include software updates, web contents, or other file distribution to wide audiences, video on demand, Internet television broadcasts, Internet radio broadcasts, or other streaming data distribution to wide audiences, or other application areas such as search engines and instant messaging. The normal operation 200 and the server operation 208 implement such functionalities provided for the users of the hybrid peer-to-peer system.
In an embodiment, the processor may be configured to, in the control operation of the node, read start-up parameters describing properties of the peer-to-peer system, whereupon the control operation of the node autonomously adapts itself to changes of the peer-to-peer system. The processor may be configured to, in the control operation of the node, define the maximum growth speed of the peer-to-peer system on the basis of the start-up parameters, define the communication capacity required for the control operation, and/or define the processing capacity required for the control operation.
Figures 3A and 3B illustrate change of control in the hybrid peer-to- peer system of Figures 1 and 2. In Figure 3A, the first node 100 has started the normal operation
200A, and, additionally, a server operation 212A and a control operation 214A. The first node 100 thus provides service and control to the other nodes 116, 118, 120, 122. The first node 100 transmits control messages 300, 302, 304, 306 to the other nodes 116, 118, 120, 122. It is to be noted that in the other nodes 116, 118, 120, 122, the normal operations 200B, 200C, 200D, 200E are started, but the server operations 208A, 208B, 208C, 208D and the control operations 210A, 210B, 210C, 210D remain unstarted.
In Figure 3B, the first node 100 has ceased to provide the service and the control to the other nodes 116, 118, 120, 122. Because of that, the special role is assigned to one of the other nodes, to the second node 116, utilizing the mechanism described earlier in connection with Figure 2. The second node 116 has started a server operation 212B and a control operation 214B. The normal, server and control operations of the other nodes 118, 120, 122 remain in the same states as in Figure 3A. The second node 116 transmits control messages 308, 310, 312 to the other nodes 118, 120, 122.
Figure 1 only shows a more detailed structure of the first node 100, but the other nodes 114 of the peer-to-peer system may have a similar structure, or their structure may be slightly different, depending on the type of the node. The node 100, 116, 118, 120, 122 may be any data processing device that can provide and/or use a service and/or a functionality by means of software and/or hardware: a computer, a laptop computer, a portable computer, a mobile phone, a personal digital assistant (PDA), a subscriber terminal of a radio system, or any other electronic device capable of communicating with another electronic device. It should be appreciated that the node may comprise various other units. However, they are irrelevant to the actual invention and, therefore, they need not be discussed in more detail here.
The communication may be performed in a wired or a wireless fashion. Such communication techniques utilize electric and/or magnetic radiation. GSM (Global System for Mobile Communications), WCDMA (Wideband Code Division Multiple Access), WLAN (Wireless Local Area Network) or Bluetooth® standard are examples of wireless communication standards, but also other standard communication techniques may be used, and even non-standard and/or proprietary wireless communication techniques may be used. Naturally, all standard/non-standard wired communication techniques may be used, such as Ethernet, TCP/IP, etc. The communication network may be the Internet, or a part of the Internet, or it may be coupled to the Internet. The protocols used, the specifications of communication techniques, the nodes, especially in wireless communication, develop rapidly. Such development may require extra changes to an embodiment. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment.
The node may be implemented as an electronic digital computer, which may comprise a permanent memory 102, a working memory (RAM) 104, a clock 106, a central processing unit (CPU) 108, and a communication interface 110. The CPU 108 may comprise a set of registers, an arithmetic logic unit, and a control unit. The control unit is controlled by a sequence of program instructions transferred to the CPU from the RAM 104. The control unit may contain a number of microinstructions for basic operations. The implementation of microinstructions may vary, depending on the CPU 108 design. The program instructions may be coded by a programming language, which may be a high-level programming language, such as C, Java, etc., or a low-level programming language, such as a machine language, or an assembler. The electronic digital computer may also have an operating system, which may provide system services to a computer program written with the program instructions.
An embodiment provides a computer program on a carrier and comprising computer executable instructions for causing a node to perform the earlier described activities of the processor. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. Such carriers include a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example. Depending on the implementation, the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
The earlier described activities of the processor may also be implemented as one or more integrated circuits, such as application-specific integrated circuits ASIC. Other hardware embodiments are also feasible, such as a circuit built of separate logic components. A hybrid of these different implementations is also feasible. When selecting the method of implementation, a person skilled in the art will consider the requirements set for the size and power consumption of the node, necessary processing capacity, production costs, and production volumes, for example.
In an embodiment, a timer mechanism may be used in connection with the earlier described activities of the node. If the special role is prescribed for the node, - the processor is configured to start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation,
- or else, the processor is configured to start a timer, and receive timer control from a control operation of the peer-to-peer system in the normal operation. If the timer control is received before the timer expires, the processor is configured to start the timer anew, and continue to receive timer control from the control operation of the peer-to-peer system in the normal operation, or else, the processor is configured to perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to- 5 peer system and the control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation.
The processor may be configured to calculate the duration of the timer by utilizing the number of nodes in the peer-to-peer system and an o average delay of the timer control .
The processor may be configured to perform the timer control by transmitting a timer control message to the other node of the peer-to-peer system.
The processor may be configured to perform the negotiation with5 the peer-to-peer system in such a manner that if the node was the first node in the peer-to-peer to system to start the negotiation, the special role is assigned to the node.
In an embodiment, a special multi-phase timer may be used. The multi-phase timer comprises a timer and a timer round number. The timer0 round number informs how many times the timer may be started anew. After each timer restart, the timer round number is reduced by one.
The processor may be configured to perform the negotiation with the peer-to-peer system in such a manner that the processor is configured to:
1 ) start the timer anew and reduce its own timer round number by5 one;
2) transmit a capture negotiation message to another node of the peer-to-peer system;
3) receive a capture negotiation message from the other node of the peer-to-peer system; 0 4) compare the own timer round number with a timer round number of the received capture negotiation message: if the own timer round number is smaller than the timer round number of the received capture negotiation message, transmit a capture prohibition message to the other node of the peer-to-peer system, and start the timer anew when it expires and reduce the own timer round number by one, and when the timer round number becomes zero then wait until the timer expires, and assign the special role to the node; or else, end the negotiation without assigning the special role to the node.
Next, a method for controlling a hybrid peer-to-peer system will be described with reference to Figure 4. The operations are in no absolute chronological order, and some of the operations may be performed simultaneously or in an order differing from the given one. Other undeschbed operations may also be executed between the operations or within the operations. The embodiments described earlier in connection with the node for the hybrid peer-to-peer system may be used to enhance the method as well.
The method starts in 400.
In 402, a normal operation of the node is started.
In 404, it is checked whether a special role is prescribed for the node. If the special role is prescribed for the node 404 YES, both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system are started 406, 408.
If the special role is not prescribed for the node 404 NO, control from a control operation of the peer-to-peer system is received 410 in the normal operation.
If the control is received according to a predetermined rule 412 YES, it is continued to receive 410 control from the control operation of the peer-to-peer system in the normal operation.
If the control is not received according to the predetermined rule 412 NO, a negotiation is performed 414 with the peer-to-peer system, and if the special role is assigned 404 YES to the node on the basis of the negotiation, both the server operation offered to the peer-to-peer system and the control operation of the peer-to-peer system are started 406, 408. The method ends in 416.
Next, an elaborate example of controlling the hybrid peer-to-peer system is described using UML (Unified Modeling Language) activity diagrams with reference to Figures 5 to 14.
Figure 5 describes the start-up of an entity belonging to the hybrid peer-to-peer system. The normal operation (NO) is started in 500. In 502, it is checked whether a special role is prescribed. If the special role is prescribed 504 YES, the special role is set active in 506, which leads to starting the control operation (CO) in 508 and starting the server operation (SO) in 510, after which the entity is started. If the special role is not prescribed 504 NO, the start-up of entity is finished after the check. It is to be noted that no special constraints are set to the functionality or service provided by the special role, only its activation and inactivation are managed.
Figure 6 describes 500 of Figure 5 in more detail, i.e. the normal operation. First, the hybrid peer-to-peer system is joined in 600. Next, processing of management messages is started in 602.
Figure 7 describes autonomous control from a point of view of an entity acting in the special role. This subfunction is entered as the result of 508 of Figure 5, i.e. as the result of starting the control operation. It is to be noted that more than one entity may act simultaneously in the special role, depending on the requirements set for the hybrid peer-to-peer system. The autonomous control is based on the exchange of management messages between the entity acting in the special role and the entities acting in normal roles. First, a system entity list is updated and read in 700. This action is performed while starting each new control round. During a control round, the entity acting in the special role exchanges management messages with each entity acting in the normal role. In 702, system control parameters are calculated. The system control parameters may be calculated based on updated system entity list and given fixed control parameters. Next, the actual control round is performed in 704: each entity acting in the normal role is controlled by management messages. At the end of the control round it is checked whether the special role is still active: if the answer is positive 706 YES, a new control round is started by entering 700, otherwise the autonomous control of the special role is ended and the server operation is ended in 708.
Figure 8 describes 700 of Figure 7 in more detail, i.e. the update and reading of the system entity list. First, a threshold for new system entities per control round is read in 800. This threshold may be given as a fixed control parameter. If new entities have joined the hybrid peer-to-peer system during a control round 802 YES, as many new system entities are updated to the system entity list as the threshold allows in 804. If there are more new system entities than the threshold allows, the remaining new system entities may join the system entity list during the next control round(s). If no new entities have joined the hybrid peer-to-peer system during the control round 802 NO, or after 804, the system entity list is read in 806 in order to calculate the system control parameters.
Figure 9 describes 702 of Figure 7 in more detail, i.e. the calculation of system control parameters. First, fixed control parameters are read in 900. Next, variable control parameters are calculated based on the system entity list in 902.
The fixed control parameters may include the following parameters:
- Number of new members per control round. This parameter defines how many system entities may be joined under autonomous management of special roles during one control round. - Control rest period. This parameter determines an interval for the internal functioning of the control round.
- Timer round number. This parameter defines a timer round number for a multi-phase timer, i.e. how many times the multi-phase timer is started anew before the special role is captured. The parameters calculated for each control round may include the following: - Duration of control round. This parameter is a calculated estimate for the temporal duration of one control round. It may be calculated on the basis of the system entity list, average management message delay, and fixed control parameters. - Threshold for multi-phase timer. This parameter is a calculated threshold for the update of the multi-phase timer. It may be calculated on the basis of the duration of the control round, fixed control parameters, system entity list, and average management message delay.
- Average management message delay. This parameter may be measured during the running of the system, or it may be estimated, and it gives the average delay between the transmission and reception of a management message in the hybrid peer-to-peer network. It also includes the time it takes to process the management message.
Figure 10 describes 704 of Figure 7 in more detail, i.e. the performance of the control round. During each control round, member entities acting in normal roles and being in the updated control round specific system entity list are looked over with management messages. The control round starts by selecting the next system entity from the updated system entity list in 1000. A management message including the calculated system control parameters is created in 1002 and transmitted to the selected system entity in 1004. The management message 1006 is a multi-phase timer update message including update values for updating the multi-phase timer of the receiving entity. After the management message is transmitted, the selected system entity is set as processed in 1008. If there are still unprocessed system entities left 1010 YES, a control rest period is consumed in 1012 before operation 1000 is entered again. If all system entities are processed 1010 NO, the control round is finished.
Figure 11 describes the control from the point of view of an entity acting in the normal role. If the control by the entity acting in the special role ceases, the entity acting in the normal role needs to notice this and start a negotiation with the other system entities in order to find out the next owner for the special role. The multi-phase timer is updated as a result of the multi-phase tinner update message 1006 of Figure 10 in 1102, i.e. the multi-phase timer is updated with the thresholds and the timer round number given in the message. If the multi-phase timer is not yet running 1104 NO, it is started in 1106. If the multi-phase timer is already running 1104 YES, it is updated in 1108. In 1110, the multi-phase timer is waited for, i.e. its expiration is expected. From 1110 there are three possible ways to continue:
1 ) The entity may be switched off.
2) The next multi-phase timer update message may be received, whereupon the operation continues from 1006 onwards as was explained before.
3) A management message 1112 that is a functionality negotiation message including a capture request may be received from another system entity. The capture request here means that the other entity wishes to take over the special role. In that case, the own timer round number is read in 1114 and the own timer round number is compared against the timer round number that is in the capture request in 1116: if the timer round number of the message is smaller than the own timer round number, 1110 is entered again, or else a management message 1118 that is a functionality negotiation message including a capture prohibition is transmitted to the entity from whom the capture request came and upon this 1110 is entered again.
Figure 12 describes 1110 of Figure 11 in more detail, i.e. the waiting for the multi-phase timer. The multi-phase timer is based on a singular timer. The multi-phase timer is started in 1200, whereupon it is waited until the multiphase timer reaches the threshold, i.e. expires, in 1202. It is to be noted that if the control by the entity acting in the special role functions flawlessly, the timer never reaches the threshold, because the multi-phase timer update message 1006 is received before that, as described in Figure 11. However, if the multiphase timer reaches the threshold in 1202, the timer round number is reduced by one in 1204. The timer round number is then larger than zero 1212 NO, a capture request message is created in 1206, this capture request message 1012 was already explained in Figure 11 , and 1200 is entered again. When the timer round number reaches zero 1212 YES, the special role is set active in 1208, the control operation is started in 508 and the server operation is started in 1210. As illustrated in Figure 12, the negotiation process possibly resulting in the capture of the special role is interrupted if a management message 1018 that is a functionality negotiation message including capture prohibition is received. By receiving the capture prohibition 1018, the entity in question understands that some other entity has been without control for a longer time, whereby the other entity has proceeded further in negotiating to capture and activate the special role.
Figure 13 illustrates that the special role may also be manually managed. An entity, being either in the special role or in the normal role, may receive a special functionality control message 1300. If the special functionality is turned off 1302 OFF, the special role is set inactive in 1304. If the special functionality is turned on 1302 ON, the special role is set active in 1306, the control operation is started in 508, a management message 1308 that is a functionality control message including an off command is transmitted only to the previous system entity acting in the special role, and the server operation is started in 1310.
Figure 14 illustrates 602 of Figure 6, i.e. the processing of management messages by an entity acting in the normal role. The management messages are waited for in 1400, and if the entity is switched off, this operation ends. If a management message 1402 is received, its type is checked in 1404:
- System message. This message is only received while acting in the special role. The entity loading ratio message 1410 includes the calculated 1408 loading ratio of some other entity and it is transmitted in response to a multi-phase timer update message 1006. The loading ratio is updated in the system entity list in 1414.
- Multi-phase timer update message 1006. This message is always received as a part of the normal operation of the entity. The message includes the update information of the multi-phase timer. It is processed as a part of the autonomous control of the special role as described in Figure 11. This message is replied with the entity loading ratio message 1410. - Functionality negotiation message 1412. This message is always received as a part of the normal operation of the entity, and its processing is described in Figure 1 1 as a part of the autonomous control of the special role.
- Functionality control message 1416. This message is always received as a part of the normal operation of the entity, and its processing is described in Figure 13 as a part of the manual control of the special role.
Figure 15 illustrates autonomous control of the hybrid peer-to-peer system. The signaling messages are only exemplary and may even comprise several separate messages for transmitting the same information. In addition, the messages may also contain other information. Let us suppose that we have three entities, A, B and C. Entity A acts in the special role and it transmits multi-phase timer update messages 1500, 1502 to entities B and C.
However, entity A ceases to act in the special role. The multi-phase timer first expires 1504 in entity B but the timer round number of entity B is greater than zero, which results in that entity B transmits a capture negotiation message 1506 to entity C.
The timer round number of entity C is greater than the timer round number of entity B in 1508. The first multi-phase timer of entity C then expires
1510 but the timer round number of entity C is also greater than zero. Entity C transmits a capture negotiation message 1512 to entity B.
Entity B notices 1514 that its own timer round number is smaller than the timer round number of entity C received in message 1512. Entity B transmits a capture prohibition message 1516 to entity C, and as a result of this, entity C zeroes 1518 its timer, i.e. ends its part of the negotiation process. The multi-phase timer expires 1520 in entity B and its timer round number becomes zero, and, as a result of this, entity B transmits a capture negotiation message 1522 to entity C.
Next, entity B starts 1524 its special functionality, and transmits
1526 a multi-phase timer update message to entity C. Special role is thus autonomously controlled in such a manner that entity B takes over the special role after entity C ceases to act in the special role. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.

Claims

Claims
1 . A node for a hybrid peer-to-peer system, comprising a processor configured to: start a normal operation of the node; check whether a special role is prescribed for the node: if the special role is prescribed for the node, start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system; or else, receive control from a control operation of the peer-to-peer system in the normal operation: if the control is received according to a predetermined rule, continue to receive control from the control operation of the peer-to-peer system in the normal operation; or else, perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to- peer system and the control operation of the peer-to-peer system.
2. The node of claim 1 , wherein, with a timer mechanism, the processor is configured to: start a normal operation of the node; check whether a special role is prescribed for the node: if the special role is prescribed for the node, start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation; or else, start a timer, and receive timer control from a control operation of the peer-to-peer system in the normal operation: if the timer control is received before the timer expires, start the timer anew, and continue to receive timer control from the control operation of the peer-to-peer system in the normal operation; or else, perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to- peer system and the control operation of the peer-to-peer system, and perform timer control of another node of the peer-to-peer system in the control operation.
5 3. The node of claim 2, wherein the processor is further configured to calculate the duration of the timer by utilizing the number of nodes in the peer-to-peer system and an average delay of the timer control.
4. The node of claim 2 or 3, wherein the processor is configured to perform the timer control by transmitting a timer control message to the other o node of the peer-to-peer system .
5. The node of any preceding claim 2 to 4, wherein the processor is configured to perform the negotiation with the peer-to-peer system in such a manner that if the node was the first node to start the negotiation in the peer- to-peer to system, it assigns the special role to the node. 5
6. The node of any preceding claim 2 to 4, wherein the processor is configured to perform the negotiation with the peer-to-peer system in such a manner that the processor is configured to: start the timer anew and reduce its own timer round number by one; transmit a capture negotiation message to another node of the peer-0 to-peer system; receive a capture negotiation message from the other node of the peer-to-peer system; compare the own timer round number with a timer round number of the received capture negotiation message: 5 if the own timer round number is smaller than the timer round number of the received capture negotiation message, transmit a capture prohibition message to the other node of the peer-to-peer system, and start the timer anew when it expires and reduce the own timer round number by one, and when the timer round number becomes zero then wait until the0 timer expires, and assign the special role to the node; or else, end the negotiation without assigning the special role to the node.
7. The node of any preceding claim, wherein the processor is further configured to, in the control operation of the node, read start-up parameters describing properties of the peer-to-peer system, whereupon the control operation of the node autonomously adapts itself to changes of the peer-to- peer system.
8. The node of claim 7, wherein the processor is further configured to, in the control operation of the node, define the maximum growth speed of the peer-to-peer system on the basis of the start-up parameters, define the communication capacity required for the control operation, and/or define the processing capacity required for the control operation.
9. A method for controlling a hybrid peer-to-peer system, comprising: starting a normal operation of the node; checking whether a special role is prescribed for the node; if the special role is prescribed for the node, starting both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system; if the special role is not prescribed for the node, receiving control from a control operation of the peer-to-peer system in the normal operation; if the control is received according to a predetermined rule, continuing to receive control from the control operation of the peer-to-peer system in the normal operation; and if the control is not received according to the predetermined rule, performing a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, starting both the server operation offered to the peer-to-peer system and the control operation of the peer-to-peer system.
10. The method of claim 9, wherein, with a timer mechanism, the method comprises: starting a normal operation of the node; checking whether a special role is prescribed for the node; if the special role is prescribed for the node, starting both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system, and performing timer control of another node of the peer- to-peer system in the control operation; if the special role is not prescribed for the node, starting a timer, and receiving timer control from a control operation of the peer-to-peer system in the normal operation; if the timer control is received before the timer expires, starting the timer anew, and continuing to receive timer control from the control operation of the peer-to-peer system in the normal operation; and if the timer control is not received before the timer expires, performing a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, starting both the server operation offered to the peer-to-peer system and the control operation of the peer-to-peer system, and performing timer control of another node of the peer- to-peer system in the control operation.
1 1 . The method of claim 10, further comprising: calculating the duration of the timer by utilizing the number of nodes in the peer-to-peer system and an average delay of the timer control.
12. The method of claim 10 or 1 1 , wherein the timer control is performed by transmitting a timer control message to the other node of the peer-to-peer system.
13. The method of any preceding claim 10 to 12, wherein performing the negotiation with the peer-to-peer system comprises: if the node was the first node in the peer-to-peer to system to start the negotiation, assigning the special role to the node.
14. The method of any preceding claim 10 to 12, wherein performing the negotiation with the peer-to-peer system comprises: starting the timer anew and reducing its own timer round number by one; transmitting a capture negotiation message to another node of the peer-to-peer system; receiving a capture negotiation message from the other node of the peer-to-peer system; comparing the own timer round number with a timer round number of the received capture negotiation message: if the own timer round number is smaller than the timer round number of the received capture negotiation message, transmitting a capture prohibition message to the other node of the peer-to-peer system, and starting the timer anew when it expires and reduce the own timer round number by one, and when the timer round number becomes zero then waiting until the timer expires, and assigning the special role to the node; or else, ending the negotiation without assigning the special role to the node.
15. The method of any preceding claim 9 to 14, wherein the control operation of the node comprises: reading start-up parameters describing properties of the peer-to- peer system, whereupon the control operation of the node autonomously adapts itself to changes of the peer-to-peer system.
16. The method of claim 15, wherein the control operation of the node comprises: defining the maximum growth speed of the peer-to-peer system on the basis of the start-up parameters, defining the communication capacity required for the control operation, and/or defining the processing capacity required for the control operation.
17. A computer program comprising computer executable instructions for causing a node to perform the process of any preceding claim 9 to 16.
18. An apparatus comprising: means for starting a normal operation of the apparatus; means for checking whether a special role is prescribed for the apparatus; means for starting both a server operation offered to the peer-to- peer system and a control operation of the peer-to-peer system if the special role is prescribed for the apparatus; means for receiving control from a control operation of the peer-to- peer system in the normal operation if the special role is not prescribed for the apparatus; means for continuing to receive control from the control operation of the peer-to-peer system in the normal operation if the control is received according to a predetermined rule; means for performing a negotiation with the peer-to-peer system if the control is not received according to the predetermined rule; and means for starting both the server operation offered to the peer-to- peer system and the control operation of the peer-to-peer system if the special role is assigned to the apparatus on the basis of the negotiation.
19. A computer program on a carrier and comprising computer executable instructions for causing a node to: start a normal operation of the node; check whether a special role is prescribed for the node; if the special role is prescribed for the node, start both a server operation offered to the peer-to-peer system and a control operation of the peer-to-peer system; if the special role is not prescribed for the node, receive control from a control operation of the peer-to-peer system in the normal operation; if the control is received according to a predetermined rule, continue to receive control from the control operation of the peer-to-peer system in the normal operation; and if the control is not received according to a predetermined rule, perform a negotiation with the peer-to-peer system, and if the special role is assigned to the node on the basis of the negotiation, start both the server operation offered to the peer-to-peer system and the control operation of the peer-to-peer system.
PCT/FI2009/050242 2008-04-02 2009-04-01 Control of hybrid peer-to-peer system WO2009122014A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20085276 2008-04-02
FI20085276A FI20085276L (en) 2008-04-02 2008-04-02 Control of a hybrid peer-to-peer system

Publications (1)

Publication Number Publication Date
WO2009122014A1 true WO2009122014A1 (en) 2009-10-08

Family

ID=39385904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2009/050242 WO2009122014A1 (en) 2008-04-02 2009-04-01 Control of hybrid peer-to-peer system

Country Status (2)

Country Link
FI (1) FI20085276L (en)
WO (1) WO2009122014A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126654A1 (en) * 2001-03-08 2002-09-12 Preston Andrew C. Homing and controlling IP telephones
US20050044147A1 (en) * 2003-07-30 2005-02-24 Canon Kabushiki Kaisha Distributed data caching in hybrid peer-to-peer systems
EP1526471A1 (en) * 2003-10-24 2005-04-27 Microsoft Corporation System and method for file sharing in peer-to-peer group shared spaces
US6985961B1 (en) * 2001-12-04 2006-01-10 Nortel Networks Limited System for routing incoming message to various devices based on media capabilities and type of media session
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020126654A1 (en) * 2001-03-08 2002-09-12 Preston Andrew C. Homing and controlling IP telephones
US6985961B1 (en) * 2001-12-04 2006-01-10 Nortel Networks Limited System for routing incoming message to various devices based on media capabilities and type of media session
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US20050044147A1 (en) * 2003-07-30 2005-02-24 Canon Kabushiki Kaisha Distributed data caching in hybrid peer-to-peer systems
EP1526471A1 (en) * 2003-10-24 2005-04-27 Microsoft Corporation System and method for file sharing in peer-to-peer group shared spaces

Also Published As

Publication number Publication date
FI20085276A0 (en) 2008-04-02
FI20085276L (en) 2009-10-03

Similar Documents

Publication Publication Date Title
US9955290B2 (en) Opportunistic offloading of tasks between nearby computing devices
EP3379800B1 (en) A method and an apparatus for executing timed network operations
US7590097B2 (en) Device detection and service discovery system and method for a mobile ad hoc communications network
US8284714B2 (en) Systems and methods for temporary media file storage on a wireless communication device
RU2401516C2 (en) Expanding performances of universal automatic tuning of network devices in medium with limited power
KR100978336B1 (en) Remote access
JP2006502503A (en) Method and apparatus for sharing authentication session state in a globally distributed network
KR20100017105A (en) Method for optimizing near field links
JP4563425B2 (en) Device detection and service discovery system and method for mobile ad hoc communication networks
CA2818259C (en) Method and apparatus pertaining to energy efficient task execution offloading
CN107409270B (en) Method and apparatus for establishing a connection between devices
US9743458B2 (en) Adaptive crowdsourced keep-alive interval determination
JP2014514871A (en) Accelerated reconnection method in low power wireless network connection for logistics and transportation applications
CN110933721A (en) Waking up radio sector roaming
EP2522078A1 (en) Method and apparatus for delay-constrained end-to-end energy optimization for wireless services
EP3008930A1 (en) Framework and applications for proximity-based social interaction
CN112055347A (en) Multi-gateway cooperative work method and system
WO2011150968A1 (en) Communication method and device
WO2023098055A1 (en) Low-power-consumption mode starting method and apparatus, storage medium, and electronic apparatus
US11916970B2 (en) Security information exchange between a client and a server
CN116938712A (en) Device upgrade method, device upgrade apparatus, and computer-readable storage medium
WO2009122014A1 (en) Control of hybrid peer-to-peer system
CN115378989A (en) MQTT topic subscription system, method, terminal and medium based on wake-up channel
JPWO2006043411A1 (en) Communication device and terminal existence confirmation method
CN110635927B (en) Node switching method, network node and network system

Legal Events

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

Ref document number: 09727768

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: 09727768

Country of ref document: EP

Kind code of ref document: A1