WO2010111887A1 - 数据节点装置、对端信息获取方法和系统 - Google Patents

数据节点装置、对端信息获取方法和系统 Download PDF

Info

Publication number
WO2010111887A1
WO2010111887A1 PCT/CN2010/000335 CN2010000335W WO2010111887A1 WO 2010111887 A1 WO2010111887 A1 WO 2010111887A1 CN 2010000335 W CN2010000335 W CN 2010000335W WO 2010111887 A1 WO2010111887 A1 WO 2010111887A1
Authority
WO
WIPO (PCT)
Prior art keywords
peer
data node
peer list
list
unit
Prior art date
Application number
PCT/CN2010/000335
Other languages
English (en)
French (fr)
Inventor
罗彦林
刘永强
陈松杰
黄权
Original Assignee
日电(中国)有限公司
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 日电(中国)有限公司 filed Critical 日电(中国)有限公司
Priority to JP2011541075A priority Critical patent/JP5259835B2/ja
Priority to US13/124,770 priority patent/US20110307564A1/en
Publication of WO2010111887A1 publication Critical patent/WO2010111887A1/zh

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
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Definitions

  • the present invention generally relates to computer networks, and more particularly to data node devices for use in peer-to-peer (P2P) data exchange that can be used to reduce P2P cross-domain traffic,
  • P2P peer-to-peer
  • a peer information acquisition method and a system for providing and acquiring peer information A peer information acquisition method and a system for providing and acquiring peer information. Background technique
  • the P2P system is a distributed data sharing system that provides services such as file sharing, streaming media, and voice over Internet Protocol (VoIP).
  • VoIP voice over Internet Protocol
  • the traffic of the P2P system is huge. It has been reported that P2P traffic accounts for as much as 70% of Internet traffic worldwide. Most existing P2P implementations do not consider the topology of the network. The peering decision is made independently of the network topology and traffic conditions.
  • the index server responds to a request from a data node application unit that makes a query, it usually randomly selects a subset from the existing metadata set to return. This random answer often leads to serious cross-domain traffic problems.
  • Figure 1 shows a block diagram of a system 5 for providing and obtaining peer information in accordance with the prior art.
  • the data node application unit 61 in the data node 60 needs to exchange a certain data file with a peer (not shown) in the P2P system to which it belongs, its peer information request unit 612 is directed to the P2P system.
  • the index server 50 issues a peer list request.
  • the peer information management unit 52 in the index server 50 searches the peer information storage unit 51 to find all the peers that can exchange the data file with the data node application unit 61, and from these A plurality of peers randomly selected in the peer end are included in the peer list and returned to the data node application unit 61 as a response.
  • the peer information requesting unit 612 in the data node application unit 61 supplies the peer list response to the data exchange unit 611 after receiving the peer list response.
  • the data exchange unit 611 thus exchanges data with the peers listed in the peer list.
  • the peer end in the peer list returned by the index server 50 may include a data node application unit located on a data node in another different network domain, for example.
  • ISP Internet Service Provider
  • P4P Provider Portal for Applications
  • SIGCOMM'2008 pp. 351-362 (Document 1).
  • Network architecture P4P (full name: Proactive network Provider Participation for P2P 7 is the network provider actively participates in P2P). This architecture allows network providers to provide more information to applications and reduce redundant cross-ISP traffic.
  • P4P can provide many information such as static network policy, P4P distance and network capability reflecting the network status to the client making the query.
  • P4P distance interface At the heart of this new architecture is the P4P distance interface, through which the ISP can provide application overhead information on the current internal and external links to the application.
  • the P4P architecture introduces an information server as an interface between the network operator and the application.
  • Fig. 2 shows a block diagram of another system 5a for providing and acquiring peer information according to the prior art described in Document 1.
  • the system 5a differs from the system 5 shown in Fig. 1 in that it also includes an information server 70.
  • Information server 70 provides network information, including distance, delay, traffic conditions, and the like. Other entities in the network (index servers, data nodes) can query information such as the distance between two nodes and network traffic through the service interface they provide.
  • the index server 50a shown in the figure is different from the index server 50 shown in FIG. 1 in that it includes a location information requesting unit 53 in addition to the peer information storage unit 51 and the peer information management unit 52a.
  • the peer information management unit 52a in the index server 50 first searches the peer information storage unit 51 to find all applicable data node applications, similarly to the peer information management unit 52.
  • Unit 61 exchanges the opposite end of the data.
  • the peer information management unit 52a does not randomly select a plurality of peers from the peers, but indicates the location information requesting unit 53 to the information service.
  • the server 70 requests information about the location (P4P distance) of the data node where all the peers are located with respect to the data node 60, and according to the location information received by the location information requesting unit 53 from the information server, the slave data node application unit 61.
  • the peer end of the exchange data selects the peer whose data node is located close to the data node 60, and the peers whose positions are close are included in the peer list, and are returned to the data node 60 as a response.
  • the indexing server can reply to the client with a peer list that includes peers mostly from the same domain (e.g., the same ISP).
  • the present invention provides a data node apparatus for reducing cross-domain traffic used in P2P data exchange and a peer information acquisition method thereof, and a related system.
  • an apparatus for acting as a data node in a P2P data exchange comprising: a data node application unit, the data node application unit issues a peer list request and performs data exchange with the peer; and list processing a unit, the list processing unit intercepts an original peer list provided by the index server in response to the peer list request, sends a peer location request to the information server, and receives the peer provided by the information server in response to the peer location request Location information, processing the original peer list based on the peer location information to derive a processed peer list, and providing the processed peer list to the data node application unit.
  • a method for obtaining peer information at a data node for P2P data exchange comprising: issuing a peer list request to an index server; intercepting the index server in response to the pair The original peer list provided by the end list request; sending a peer location request to the information server; receiving peer location information provided by the information server in response to the peer location request; based on the peer location information Processing the original peer list to derive a processed peer list; and providing the processed peer list to the data fUl/U ⁇ U1U / UUU 335 node application unit.
  • a system for providing and obtaining peer information in a P2P data exchange comprising: one or more index servers, each of which provides an original peer list in response to a peer list request; An information server requesting peer location information at a peer location; and means as described above.
  • existing P2P cross-domain traffic can be reduced without modifying the existing index server and the data node application unit, and as long as a list processing unit is deployed in the data node, multiple different processes can be simultaneously processed. P2P system related messages. In addition, you can guarantee a shorter download time by re-requesting the peer list. DRAWINGS
  • FIG. 1 shows a block diagram of a system according to the prior art.
  • FIG. 2 shows a block diagram of another system in accordance with the prior art.
  • Fig. 3 shows a block diagram of a system including means as a data node in accordance with a first embodiment of the present invention.
  • FIG. 4 is a flow chart showing a method for the data node shown in FIG. 3 to acquire peer information.
  • Fig. 5 shows a block diagram of a system including means as a data node in accordance with a second embodiment of the present invention.
  • FIG. 6 is a flow chart showing a method for the data node shown in FIG. 5 to acquire the peer information. detailed description
  • a P2P system may include an index server, an information server, and a plurality of data node application units that perform data exchange, and the data node application units are opposite each other.
  • Indexing Server is the metadata of all the files exchanged in the P2P system and the data nodes of all the data node applications that exchange these files.
  • the entity may also be called a Signaling Node, Tracker, appTracker or Super Node.
  • a P2P system may include one or more index servers, and different P2P systems typically have their own index servers.
  • Information Server Also known as iTracker, it is an entity that provides network information including distance, delay, traffic status, and so on. Other entities in the network (index servers, data nodes) can query information such as the distance between two data nodes and network traffic through the service interface they provide. Multiple P2P systems can share an information server.
  • the information server can be provided by an ISP.
  • a data node An entity that stores all or part of an actual data item.
  • a data node can be any variety of information processing devices capable of storing data and communicating with other network nodes over a network, such as a personal computer (PC), a mobile phone, a personal digital assistant (PDA), and the like.
  • a data node can house one or more data node application units that belong to one or more P2P systems, respectively.
  • a BitTorrent application unit, eMule application unit, etc. can be installed on a PC.
  • a data node may sometimes also be referred to as a data node device or as a device for a data node.
  • Data node application unit It is a unit for data exchange and peer information query in a P2P system. It includes a data exchange unit and a peer information request unit.
  • the peer information requesting unit requests information about the peer of the file being exchanged (downloaded/uploaded) to the index server in the P2P system to which the data node application unit belongs.
  • the data exchange unit establishes a connection with the peers in the peer list and downloads/uploads the file data with the peers.
  • a data node application unit can also be referred to as a data node application. Also, in interaction with the index server and the information server, the data node application unit may also be referred to as a client application unit or a client application.
  • Each data node application unit in a P2P system is opposite to each other.
  • each data node where these data node application units located at opposite ends can be said to be opposite each other.
  • Metadata This information describes the properties of the actual data, such as where the actual data item is located and its size.
  • Network domain A collection of network nodes that are in the same area in terms of network topology.
  • the same "network domain” can refer to the same ISP, the same LAN, and so on. If two data nodes belong to the same network domain, it can be said that the data node application units respectively accommodated by the two data nodes belong to the same network domain.
  • the “location” here does not necessarily refer to the physical location. More precisely, “location” here refers to the location of the data node in terms of network topology.
  • location here refers to the location of the peer end of a data node application unit relative to the data node application unit is equivalent to the location of the data node hosting the peers relative to the data node housing the data node application unit.
  • the relative position between data nodes can be expressed by the network distance between them.
  • Network Distance Reflects the distance between data nodes in terms of network topology. It may be a P4P distance reflecting the network status and preferences in terms of traffic as previously described. Similarly, in the present invention, the network distance between the peer end of a certain data node application unit and the data node application unit is equivalent to the data node accommodating the peer end and the data node accommodating the data node application unit. Network distance.
  • Fig. 3 shows a block diagram of a device 20 as a data node (hereinafter referred to as data node 20) and its system 1 constructed with one or more index servers 10 and information servers 30 in accordance with a first embodiment of the present invention.
  • the system 1 includes one or more index servers 10-1, 10-2, ..., 10-N (collectively referred to as index servers 10), data nodes 20, and information servers 30, where N is greater than or An integer equal to 1.
  • the index server 10 is an entity that stores and indexes peer information, and each of them may include a peer information storage unit and a peer information management unit as shown in FIG. 1.
  • the peer information storage unit of each index server 10 stores information of data nodes in which all data node application units in the P2P system to which the index server 10 belongs, such as including contact information, metadata of owned files, and the like.
  • the data nodes are indexed by files exchanged by these data nodes (or data node application units housed by these data nodes).
  • the peer information management unit is responsible for communicating with all data node application units.
  • the information server 30 is an entity that provides network information including distance, delay, traffic conditions, and the like.
  • the index server and the data node application unit can query information such as the distance between the two data nodes and the network traffic through the service interface provided by the index server and the data node.
  • the internal configuration of the information server 30 is not shown in FIG.
  • the data node 20 includes one or more data node application units 21-1, 21-2, ..., 21-N (collectively referred to as data node application units 21) belonging to one or more P2P systems, respectively, and a list processing unit 22 .
  • the data node application unit 21-1 and the index server 10-1 and the information server 30 and other one or more data node application units (not shown) which may be respectively located on other one or more data nodes may constitute the first P2P system.
  • the data node application unit 21-2 and the index server 10-2 and the information server 30 and other one or more data node application units (not shown) which may be respectively located on other one or more data nodes may constitute the second P2P
  • the data node application unit 21-N and the index server 10-N and the information server 30 and other one or more data node application units (not shown) that may be respectively located on other one or more data nodes may Form the Nth P2P system, and so on.
  • a BitTorrent application unit and a BitTorrent index server and a shared information server on a plurality of data nodes may constitute a BitTorrent P2P system
  • the eMule application unit and the eMule index server and the shared information server on the plurality of data nodes may constitute an eMule.
  • P2P system may include N P2P systems each include one index server and all P2P systems share one information server.
  • each P2P system can include multiple index servers.
  • each P2P system can have its own information server.
  • different P2P systems can also share one or more index servers.
  • Each data node application unit 21 may include a data exchange unit and a peer information request unit.
  • the data node application unit 21-1 includes a data exchange unit 211-1 and a peer information request unit 212-1;
  • the data node application unit 21-2 includes a data exchange unit 211-2 and a peer information request unit 212-2;
  • the data node application unit 21-N includes a data exchange unit 211-N and a peer information request unit 212-N, and the like.
  • the list processing unit 22 includes a response message intercepting unit 221, a response message construction unit 223, and one or more application message processing units 222-1, 222- 2., 222-N (collectively referred to as application message processing unit 222).
  • Each application message processing unit 222 processes messages associated with the P2P system to which the corresponding data node application unit 21 belongs, such as a BitTorrent message, an eMule message, and the like.
  • the data node application unit 21-1 wants to exchange data with other data node application units in the P2P system to which it belongs, first, in the data node application unit 21-1
  • the peer information requesting unit 212-1 issues a peer list request to the corresponding index server 10-1 to request to obtain a list listing the data nodes in the P2P system to which the data node application unit 21-1 belongs.
  • the application unit exchanges the data node application unit (SP, peer) of the required data file.
  • the peer information management unit in the index server 10-1 searches the peer information storage unit for the data node application unit capable of exchanging the data, and randomly from the data node application units.
  • a plurality of data node application units are selected and the randomly selected data node application unit is included as a peer in the peer list to be returned. Because it is randomly selected, the peer list may include such peers: the data nodes where the peers are located are far away from the data node 20 where the data node application unit 21-1 is located, for example, from different network domains, In other words, these peers are far away from the data node application unit 21-1, for example from different network domains.
  • each index server 10 includes the original peer list in the peer list response message and returns the response message to the data node that sent the peer list request.
  • the data node 20 of the present invention includes the list processing unit 22.
  • the list processing unit 22 can be added to the kernel space of the operating system of the data node 20 in the form of a plug-in module.
  • the invention is not limited thereto.
  • the list processing unit 22 can be implemented in other software, hardware, firmware, or a combination thereof.
  • the list processing unit 22 intercepts the peer list response message transmitted from one of the index servers 10 and which is to be received by the data node application unit 21. Specifically, in the list processing unit 22 The response message intercepting unit 221 can intercept the peer list response message. In one implementation, the response message intercepting unit 221 can intercept all messages sent by the indexing server by adding a hook to the operating system of the data node 20. In an implementation manner, the response message intercepting unit 221 can directly intercept the shoulders from the TCP/IP protocol stack of the operating system.
  • the response message intercepting unit 221 classifies the intercepted peer list response message to determine which P2P system message the peer list response message belongs to, gp, and the data node application unit 21-1, 21-2, ... Which one of ..., 21-N is associated, and delivers the peer list response message to the corresponding application message processing unit 222 based on the classification result.
  • the response message intercepting unit 221 receives the request.
  • the identification information contained in the peer list response message can be determined to be for the data node application unit 21-1.
  • the response message intercepting unit 221 delivers the peer list response message to the application message processing unit 222-1 associated with the data node application unit 21-1.
  • the response message intercepting unit 221 can identify that the message is a BitTorrent response message based on the identification information contained in the received message, so that the message can be delivered to the BitTorrent application.
  • the message associated application message processing unit 222-1 is a BitTorrent application.
  • the application message processing unit 222-1 After receiving the peer list response message delivered from the response message intercepting unit 221, the application message processing unit 222-1 extracts the original peer list included therein. Then, the application message processing unit 222-1 issues a peer location request to the information server 30 to request to obtain an information server 30 response regarding the location of the data node where the peer included in the original peer list is located with respect to the data node 20 At the peer location request from the application message processing unit 222-1, the peer location information is returned to the application message processing unit 222-1. In one example, the peer location information includes information on the network distance (e.g., P4P distance) between the data node where the peer listed in the original peer list is located and the data node 20.
  • P4P distance the network distance
  • the application message processing unit 222-1 processes the peer end in the original peer list based on the peer location information returned from the information server 30.
  • the processing includes pressing this The descending order of the network distance between the data node where the peer is located and the data node 20 sorts the peers.
  • the processing further includes deleting, after the peers are sorted, the peers whose data nodes are located far from the data node 20 as needed from the list.
  • the peer list thus processed includes only the peer whose data node is located closer to the data node 20, for example, the data node where the data node and the data node 20 belong to the opposite end of the same network domain.
  • the application message processing unit 222-1 delivers the thus obtained processed peer list to the response message construction unit 223.
  • the response message construction unit 223 collects the processed peer list delivered from the application message processing unit, and provides the peer list response message including the processed peer list to the corresponding data node application unit. In this example, after receiving the processed peer list delivered from the application message processing unit 222-1, the response message construction unit 223 supplies it to the data in the form of a peer list response message for the corresponding P2P system. Node application unit 21-1. For example, if the data node application unit 21-1 is a BitTorrent application, the response message construction unit 223 includes the processed peer list included in the BitTorrent response message to the data node application unit 21-1.
  • the peer information requesting unit 212-1 in the data node application unit 21-1 After receiving the peer list response message including the processed peer list, the peer information requesting unit 212-1 in the data node application unit 21-1 extracts the peer list therein and provides it to the data exchange unit. 211-1.
  • the data exchange unit 211-1 can thus exchange data with the peers listed in the peer list.
  • the data node application unit that wants to exchange data with the peer end obtains a peer list including the peers close to the location, instead of the list of randomly selected peers. Therefore, according to the present invention, it is possible to reduce the existing P2P cross-domain traffic without modifying the existing index server and the data node application unit, and, as long as a list processing unit provided, for example, in the form of a plug-in, is deployed in the data node Messages related to multiple different P2P systems can be processed simultaneously.
  • step S101 the peer information requesting unit of one of the data node application units 21 issues a peer list request to the corresponding index server 10.
  • step S102 the original peer list is intercepted.
  • the step may include: the response message intercepting unit 221 intercepts one of the index servers 10 and sends the peer list response message in response to the peer list request, and determines the peer list response message and the data node application unit 21 Which one of them is associated, and then the peer list response message is delivered to the corresponding application message processing unit 222.
  • This step may further include the application message processing unit 222 receiving the peer list response message delivered from the response message intercepting unit 221 extracting the original peer list included in the peer list response message, thereby implementing the original peer list. Intercept.
  • step S103 one of the application message processing units 222 issues a peer location request to the information server 30 to request information about the location of the data node in which the peer included in the original peer list is located relative to the data node 20.
  • step S104 the application message processing unit that issued the peer location request receives the peer location information returned from the information server 30.
  • step S105 the application message processing unit performs processing including, for example, sorting and deleting the partial peers, on the opposite end in the original peer list based on the peer location information, and delivers the processed peer list to the response.
  • step S106 after receiving the processed peer list delivered from one of the application message processing units 222, the response message constructing unit 223 provides the peer list response message including the processed peer list to the corresponding Data node application unit. The process then ends.
  • Fig. 5 is a block diagram showing a device 20a as a data node (hereinafter referred to as a data node 20a) and its system la constituted with one or more index servers 10 and information servers 30 according to a second embodiment of the present invention.
  • a data node 20a a data node
  • FIG. 5 the same components as those in the first embodiment shown in FIG. 3 will be denoted by the same reference numerals, and detailed description of these components will be omitted.
  • the data node 20a is different from the data node 20 shown in FIG. 3 in that the list processing unit 22a includes a response message intercepting unit 221, an application message processing unit 222, and a response message constructing unit 223.
  • 222-N - corresponding one or more re-request units 224-1, 224-2, ..., 224-N (collectively referred to as re-request unit 224), and cache unit 225.
  • the re-request unit 224 can construct a peer list request for use in the corresponding P2P system to request more peer information from the corresponding index server 10.
  • the cache unit 225 can be used to cache the processed peer list obtained in the process of obtaining the peer list. Note that in the present embodiment, a case where a plurality of application message processing units 222 share one cache unit 225 is shown. In this case, each application message processing unit 222 can access a corresponding one of the cache units 225. Of course, other implementations are contemplated by those skilled in the art. For example, each application message processing unit 222 can have its own cache unit.
  • the processing performed by the application message processing unit of the embodiment on the original peer list includes, in addition to sorting the original peer list by distance and deleting some of the remote ends as needed, including
  • the peer list thus obtained is combined with the peer list (if any) already cached in the corresponding area of the cache unit 225.
  • the application message processing unit determines whether the peer in the peer list thus processed is sufficient, for example, whether the number reaches a certain threshold. If the number of peers is too small, the data node application unit will not have enough data sources for data exchange, and the time for downloading data may be extended.
  • the application message processing unit of the embodiment temporarily stores the currently processed peer list in the corresponding area of the buffer unit 225, and indicates correspondingly, in the case that the number of peers is too small.
  • the re-request unit issues one or more additional peer list requests to the corresponding index server 10.
  • the peer information management unit of the corresponding index server 10 searches the peer information storage unit again, and randomly selects the data file required to exchange the corresponding data node application unit. The peer, thereby providing the data node 20a with one or more additional peer list response messages including the original peer list.
  • the application message processing unit extracts one or more additional original peer lists and performs the above-mentioned processing including sorting, deleting, and combining, and the above determination, and repeats the re-request if necessary until the number of peers is sufficient .
  • the application message processing unit 222-1 is still taken as an example for description. Specifically, in one implementation, the application message processing unit 222-1 processes the original peer list in the peer list response message delivered from the response message intercepting unit 221 after extracting it.
  • the processing herein includes sorting the peers in the original peer list and deleting the remote ends (eg, not in the same network domain) as needed, and the peer list including the remaining peers and the cache unit 225 The peer list (if any) in the corresponding area is combined.
  • the application message processing unit 222-1 first checks whether the previously cached peer list already exists in the corresponding area of the cache unit 225.
  • the corresponding area of the cache unit 225 should be empty. In this case, there is no need to combine, and the peer list that has been sorted and deleted by some of the peers is the processed peer list.
  • the peer list is already cached in the corresponding area in the cache unit 225, it indicates that the currently processed original peer list is returned by the index server 10-1 in response to the additional peer list request sent by the re-request unit.
  • the original peer list and then the application message processing unit 222-1 combines the above-mentioned sorted and possibly deleted partial peer list with the peer list in the cache unit 225 to derive a processed peer list.
  • the application message processing unit 222-1 determines if the peer in the processed peer list is sufficient, e.g., if the number reaches a predetermined threshold.
  • the application message processing unit 222-1 supplies the processed peer list to the corresponding data node application unit 21-1 via the response message construction unit 223. Prior to or after this, the application message processing unit 222-1 may empty the corresponding area in the cache unit 225.
  • the application message processing unit 222-1 caches the processed peer list in the corresponding area in a manner such as to overwrite any peer list previously cached in the corresponding area of the cache unit 225. And instructing the corresponding re-request unit 224-1 to issue an additional peer list request to the index server 10-1.
  • the index server 10-1 will return a peer list response message including the randomly selected peer list in response to the peer list request.
  • the list processing unit 22a then repeats the above process until the number of peers in the processed peer list is sufficient.
  • the application message processing unit 222 may first list the original peer list and the cached peer list (if any). The words are combined, and then all the peers in the combined peer list are sorted by network distance, and some relatively distant peers are deleted as needed to obtain a processed peer list. In this case, in addition to caching the peer list itself, information for accommodating the network distance of the data node of each peer to the data node can also be cached. Other embodiments can be envisioned by those skilled in the art.
  • the index server in the case where the number of peers is insufficient, can be requested again to return a plurality of randomly selected peers, thereby ensuring sufficient peers and thus ensuring a short download time.
  • step S201 the peer information requesting unit of one of the data node application units issues a peer list request to the corresponding index server 10.
  • the original peer list is intercepted.
  • the original peer list may be the original peer list returned by one of the index servers 10 in response to the initial peer list request sent by the peer information request unit of the corresponding data node application unit, or may be The original peer list returned by one of the index servers 10 in response to an additional peer list request issued by the corresponding re-request unit.
  • the response message intercepting unit 221 can intercept the peer list response message including the original peer list and deliver the peer list response message to the corresponding application message processing unit 222. Then, the corresponding application message processing unit 222 extracts the original peer list included in the peer list response message.
  • step S203 the application message processing unit 222 that extracts the original peer list issues a peer location request to the information server 30 to request to obtain a location about the peer included in the original peer list relative to the corresponding data node application unit. (ie, the location of the data nodes where these peers are located relative to the present data node 20).
  • step S204 the application message processing unit that issues the peer location request receives the peer location information returned from the information server 30.
  • step S205 the application message processing unit processes the original peer list based on the peer location information, for example, including sorting, deleting, and a combination with the cached peer list (if any).
  • step S206 the application message processing unit determines whether the peer in the processed peer list is sufficient, for example, whether the number reaches a predetermined threshold.
  • step S206 If the peer is not sufficient ("NO" in step S206), the application message processing unit caches the processed peer list in the corresponding area in the cache unit (step S207), and instructs the corresponding re-request unit to index The server issues an additional peer list request (step S208). Data node 20 then repeats steps S202 through S206 until the number of peers in the processed peer list is sufficient.
  • step S206 determines whether the opposite end is sufficient (YES in step S206). If it is determined in step S206 that the opposite end is sufficient (YES in step S206), then in step S209, the application message processing unit clears the corresponding area in the buffer unit 225, and will process it in step S210. The peer list is provided to the corresponding data node application unit via the response message construction unit. The process then ends.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了数据节点装置、对端信息获取方法和系统。一种充当数据节点的装置,包括:数据节点应用单元,该数据节点应用单元发出对端列表请求并与对端进行数据交换;以及列表处理单元,该列表处理单元截取索引服务器响应于对端列表请求而提供的原始对端列表,向信息服务器发出对端位置请求并接收所述信息服务器响应于所述对端位置请求而提供的对端位置信息,基于所述对端位置信息对所述原始对端列表进行处理以得出经处理的对端列表,并将经处理的对端列表提供给所述数据节点应用单元。

Description

数据节点装置、 对端信息获取方法和系统 技术领域
本发明总地涉及计算机网络, 具体而言涉及在对等 (peer-to-peer, 简 写为 P2P)数据交换中使用的可用于降低 P2P跨域流量的数据节点装置、 说
对端 (peer)信息获取方法以及用于提供和获取对端信息的系统。 背景技术
P2P系统是一种分布式数据共享系统,书它可以提供文件共享, 流媒体 以及基于互联网协议的语音 (VoIP) 等服务。 P2P系统的流量巨大。 有报 道显示, P2P流量占全世界互联网流量的 70%之多。 当前存在的 P2P实现 方式大都没有考虑网络的拓扑情况。 对等判决 (peering decision) 是独立 于网络拓扑和流量状况作出的。 索引服务器在响应提出查询的数据节点应 用单元的请求时, 通常从现有的元数据集合中随机地选出一个子集返回, 这种随机的答案往往会带来严重的跨域流量问题。
例如, 图 1示出了根据现有技术的提供和获取对端信息的系统 5的框 图。 如图所示, 当数据节点 60中的数据节点应用单元 61需要与其所属的 P2P系统中的对端 (未示出) 交换某一数据文件时, 其对端信息请求单元 612向该 P2P系统中的索引服务器 50发出对端列表请求。 索引服务器 50 中的对端信息管理单元 52在接收到该对端列表请求后, 搜索对端信息存 储单元 51 以找出所有能够与数据节点应用单元 61交换该数据文件的对 端, 并从这些对端中随机选择若干个对端包括在对端列表中, 作为响应返 回给数据节点应用单元 61。 数据节点应用单元 61 中的对端信息请求单元 612在接收该对端列表响应后, 将其提供给数据交换单元 611。 数据交换 单元 611从而与对端列表中列出的对端交换数据。
由于索引服务器 50返回的对端列表中的对端是随机选择的, 因此它 可能包括位于另一个不同网络域中的数据节点上的数据节点应用单元, 例 如属于另一个不同的 ISP (互联网服务提供商) 的数据节点上的数据节点 应用单元。 从而, 一个网络域中的数据节点会从另一个网络域中的数据节 点下载数据文件, 即使本网络域中的某个数据节点也拥有该数据文件, 从 而造成了大量的跨域流量。
为降低 P2P系统带来的巨大跨域流量, ISP—度对 P2P应用采取封堵 政策, 但收效甚微。 目前, 也有学者提出修改已有系统代码的解决方案。 例如, 在 Haiyong Xie, Y. Richard Yang, Arvind Krishnamurthy, Yanbin Liu and Avi Silberschatz, "P4P: Provider Portal for Applications", SIGCOMM'2008; pp. 351-362 (文献 1 ) 中介绍了一种新的 P2P网络架构: P4P (全称: Proactive network Provider Participation for P2P 7 即网络提供商主动参与 P2P) 。 该架构使得网络提供商可以向应用提供更多信息, 并可以降低多 余的跨 ISP流量。 作为网络和应用之间通信的接口, P4P可以向提出查询 的客户端提供诸如静态网络策略、 反映网络状态的 P4P距离 (P4P distance) 以及网络能力 (network capability) 等许多信息。 这种新架构的 核心是 P4P距离接口, 通过这个接口, ISP可以向应用提供当前内部链路 和外部链路上的应用开销信息。 P4P架构引入信息服务器作为网络运营商 和应用之间通信的接口。
例如, 图 2示出了根据文献 1中所述的现有技术的另一种提供和获取 对端信息的系统 5a的框图。 系统 5a与图 1所示的系统 5的不同之处在 于, 其中还包括信息服务器 70。 信息服务器 70提供网络信息, 包括距 离、 延迟、 流量状况等。 网络中的其他实体 (索引服务器、 数据节点) 可 以通过其提供的服务接口查询两个结点之间的距离和网络流量等信息。
该图所示的索引服务器 50a与图 1所示的索引服务器 50的不同之处在 于, 它除了包括对端信息存储单元 51和对端信息管理单元 52a外, 还包括 位置信息请求单元 53。 这样, 索引服务器 50中的对端信息管理单元 52a 在接收到对端列表请求后, 首先, 与对端信息管理单元 52—样, 搜索对 端信息存储单元 51以找出所有可与数据节点应用单元 61交换该数据的对 端。 然后, 与对端信息管理单元 52不同, 对端信息管理单元 52a不是从这 些对端中随机选择若干个对端, 而是指示位置信息请求单元 53 向信息服 务器 70请求关于所有这些对端所在的数据节点相对于数据节点 60的位置 (P4P距离) 的信息, 并且根据位置信息请求单元 53从信息服务器接收到 的位置信息, 从可与数据节点应用单元 61交换数据的对端中选择其所在 的数据节点与数据节点 60位置接近的对端, 并把这些位置接近的对端包 括在对端列表中, 作为响应返回给数据节点 60。
从而, 利用来自信息服务器的信息, 索引服务器可以利用包括大多来 自同一域 (例如, 同一 ISP) 的对端的对端列表来答复客户端。
可见, 文献 1中定义了一种新的 P2P网络架构来传递网络信息和管理 跨域流量。 但是, 该方案很难对当前网络产生作用。 这是因为: 首先, 当 前有很多已经部署的 P2P系统已经在产生大量的网络流量; 其次, 降低当 前 P2P系统的跨域流量需要对已有 P2P系统中索引服务器的代码进行修 改, 而这一点是很难实现的。 发明内容
本发明提供了一种在 P2P数据交换中使用的能够降低跨域流量的数据 节点装置及其使用的对端信息获取方法, 以及相关的系统。
根据本发明的一个方面, 提供了一种在 P2P数据交换中充当数据节点 的装置, 包括: 数据节点应用单元, 该数据节点应用单元发出对端列表请 求并与对端进行数据交换; 以及列表处理单元, 该列表处理单元截取索引 服务器响应于对端列表请求而提供的原始对端列表, 向信息服务器发出对 端位置请求并接收所述信息服务器响应于所述对端位置请求而提供的对端 位置信息, 基于所述对端位置信息对所述原始对端列表进行处理以得出经 处理的对端列表, 并将经处理的对端列表提供给所述数据节点应用单元。
根据本发明的另一个方面, 提供了一种在用于 P2P数据交换的数据节 点处获取对端信息的方法, 包括: 向索引服务器发出对端列表请求; 截取 所述索引服务器响应于所述对端列表请求而提供的原始对端列表; 向所述 信息服务器发出对端位置请求; 接收所述信息服务器响应于所述对端位置 请求而提供的对端位置信息; 基于所述对端位置信息对所述原始对端列表 进行处理以得出经处理的对端列表; 以及将经处理的对端列表提供给数据 fUl/U ^U1U/ U U U 335 节点应用单元。
根据本发明另一个方面, 提供了一种在 P2P数据交换中提供和获取对 端信息的系统, 包括: 一个或多个索引服务器, 其中每一个响应于对端列 表请求提供原始对端列表; 响应于对端位置请求提供对端位置信息的信息 服务器; 以及如上所述的装置。
根据本发明, 可以在不修改现有索引服务器和数据节点应用单元的情 况下降低已经存在的 P2P跨域流量, 并且, 只要在数据节点中部署一个列 表处理单元就可以同时处理与多个不同的 P2P系统相关的消息。 另外, 还 可以通过重请求对端列表来保证较短的下载时间。 附图说明
通过结合附图阅读以下详细描述可以更好地理解本发明的以上和其他 特征和优点。 附图中, 相同或相似的标号指示相同或相似的要素, 其中- 图 1示出了根据现有技术的一种系统的框图。
图 2示出了根据现有技术的另一种系统的框图。
图 3示出了包括根据本发明第一实施例的作为数据节点的装置的系统 的框图。
图 4示出了图 3所示的数据节点获取对端信息的方法的流程图。
图 5示出了包括根据本发明第二实施例的作为数据节点的装置的系统 的框图。
图 6示出了图 5所示的数据节点获取对端信息的方法的流程图。 具体实施方式
在参考附图描述本发明的实施例之前, 将对本文中出现的一些术语进 行解释。
P2P系统: 一个 P2P系统可包括索引服务器、 信息服务器以及多个进 行数据交换的数据节点应用单元, 这些数据节点应用单元互为对端。
索引服务器 (Indexing Server) : 是存储 P2P系统中所有被交换的文 件的元数据以及交换这些文件的所有数据节点应用所在的数据节点的信息 的实体, 也可以称为信令节点 (Signaling Node) 、 Tracker, appTracker或 者超节点 (Super Node) 。 当接收到对端列表请求时, 它利用相应的对端 列表响应来作出答复。 一个 P2P系统可包括一个或多个索引服务器, 不同 的 P2P系统通常具有各自的索引服务器。
信息服务器 (Information Server) : 又称为 iTracker, 是提供包括距 离、 延迟、 流量状况等在内的网络信息的实体。 网络中的其他实体 (索引 服务器、 数据节点) 可以通过其提供的服务接口査询两个数据结点之间的 距离和网络流量等信息。 多个 P2P系统可共享一个信息服务器。 例如, 该 信息服务器可由 ISP提供。
数据节点 (Data Node) : 存储实际的全部或部分数据项的实体。 数据 节点可以是各种能够存储数据并能通过网络与其他网络节点通信的信息处 理装置, 例如个人计算机(PC) 、 移动电话、 个人数字助理 (PDA) , 等 等。 一个数据节点可容纳分别属于一个或多个 P2P系统的一个或多个数据 节点应用单元。 例如, 一台 PC上可安装 BitTorrent应用单元、 eMule应用 单元, 等等。 在本文中, 数据节点有时也可以称为数据节点装置或者作为 数据节点的装置。
数据节点应用单元: 它是 P2P系统中的数据交换和对端信息査询的单 元。 它包括数据交换单元和对端信息请求单元。 对端信息请求单元向数据 节点应用单元所属的 P2P系统中的索引服务器请求关于正在交换 (下载 /上 载) 所需文件的对端的信息。 数据交换单元与对端列表中的对端建立连接 并且与这些对端进行文件数据的下载 /上载。 数据节点应用单元也可以被称 为数据节点应用。 并且, 在与索引服务器和信息服务器的交互中, 数据节 点应用单元也可被称为客户端应用单元或者客户端应用。
对端: 一个 P2P系统中的各数据节点应用单元互为对端。 另外, 在本 文中, 也可以称互为对端的这些数据节点应用单元所在的各数据节点互为 对端。
元数据: 该信息描述实际数据的属性, 例如实际数据项位于何处及其 大小。
网络域: 泛指就网络拓扑而言处于同一区域中的网络节点的集合。 例 如, 同一个 "网络域"可以指同一个 ISP、 同一个局域网, 等等。 如果两 个数据节点属于同一网络域, 则可以说这两个数据节点分别容纳的数据节 点应用单元属于同一网络域。
位置: 这里的 "位置"不一定是指物理位置。 更确切地说, 这里的 "位置"指的是数据节点就网络拓扑而言的位置。 在本发明中, 某个数据 节点应用单元的对端相对于该数据节点应用单元的位置就相当于容纳这些 对端的数据节点相对于容纳该数据节点应用单元的数据节点的位置。 在一 个示例中, 数据节点之间的相对位置可用其间的网络距离来表达。
网络距离: 反映了数据节点之间就网络拓扑而言的距离。 它可以是如 前文所述的反映了网络状态和就流量而言的偏好的 P4P距离。 类似地, 在 本发明中, 某个数据节点应用单元的对端与该数据节点应用单元之间的网 络距离就相当于容纳这些对端的数据节点与容纳该数据节点应用单元的数 据节点之间的网络距离。
下面参考附图来详细描述本发明的示例性实施例。
图 3示出了根据本发明第一实施例的作为数据节点的装置 20 (以下称 之为数据节点 20)及其与一个或多个索引服务器 10和信息服务器 30构成 的系统 1的框图。 如图 3所示, 系统 1包括一个或多个索引服务器 10-1、 10-2、 ……、 10-N (统称为索引服务器 10) 、 数据节点 20 以及信息服务 器 30, 其中 N为大于或等于 1的整数。
索引服务器 10是存储和索引对端信息的实体, 它们中的每一个可包 括如图 1所示的对端信息存储单元和对端信息管理单元。 为简洁起见, 图 3中没有示出索引服务器 10的内部配置。 每个索引服务器 10的对端信息 存储单元存储该索引服务器 10所属的 P2P系统中的所有数据节点应用单 元所在的数据节点的信息, 例如包括联络信息、 所拥有的文件的元数据, 等等, 并且按这些数据节点 (或者说这些数据节点所容纳的数据节点应用 单元) 所交换的文件来对数据节点进行索引。 对端信息管理单元则负责与 所有数据节点应用单元通信。 它在接收到数据节点应用单元的报告时将信 息存储在对端信息存储单元中, 并且在接收到来自数据节点应用单元的请 求时提供适当的对端列表。 信息服务器 30是提供包括距离、 延迟、 流量状况等在内的网络信息 的实体。 索引服务器和数据节点应用单元可以通过其提供的服务接口查询 两个数据结点之间的距离和网络流量等信息。 为简洁起见, 图 3中没有示 出信息服务器 30的内部配置。
数据节点 20包括分别属于一个或多个 P2P系统的一个或多个数据节 点应用单元 21-1、 21-2、 ……、 21-N (统称为数据节点应用单元 21 ) , 以 及列表处理单元 22。 数据节点应用单元 21-1与索引服务器 10-1和信息服 务器 30 以及可能分别位于其他一个或多个数据节点上的其他一个或多个 数据节点应用单元 (未示出)可构成第 1 P2P系统; 数据节点应用单元 21- 2与索引服务器 10-2和信息服务器 30以及可能分别位于其他一个或多个 数据节点上的其他一个或多个数据节点应用单元 (未示出) 可构成第 2 P2P系统; ……; 数据节点应用单元 21-N与索引服务器 10-N和信息服务 器 30以及可能分别位于其他一个或多个数据节点上的其他一个或多个数 据节点应用单元(未示出)可构成第 N P2P系统, 等等。 例如, 若干个数 据节点上的 BitTorrent应用单元与 BitTorrent索引服务器和共享的信息服务 器可构成 BitTorrent P2P系统, 而这若干个数据节点上的 eMule应用单元 与 eMule索引服务器和该共享的信息服务器可构成 eMule P2P系统。 注 意, 这里示出了 N个 P2P系统各自包括一个索引服务器, 并且所有 P2P系 统共享一个信息服务器的情况。 但本领域的技术人员可以明白, 本发明并 不限于此。 例如, 每个 P2P系统可包括多个索引服务器。 又例如, 每个 P2P系统可拥有各自的信息服务器。 另外, 不同 P2P系统也可以共享一个 或多个索引服务器。
每个数据节点应用单元 21 可包括数据交换单元和对端信息请求单 元。 例如, 数据节点应用单元 21-1包括数据交换单元 211-1和对端信息请 求单元 212-1 ; 数据节点应用单元 21-2包括数据交换单元 211-2和对端信 息请求单元 212-2; ……; 数据节点应用单元 21-N包括数据交换单元 211- N和对端信息请求单元 212-N, 等等。
在本实施例中, 列表处理单元 22包括响应消息截取单元 221、 响应消 息构造单元 223、 以及一个或多个应用消息处理单元 222-1、 222- 2、 ……、 222-N (统称为应用消息处理单元 222 ) 。 应用消息处理单元 222-1、 222-2、 ······、 222-N分别与数据节点应用单元 21-1、 21-2、 ··· ···、
21-N相关联, 即应用消息处理单元 222-1、 222-2、 ······、 222-N与数据节 点应用单元 21-1、 21-2、 ……、 21-N之间例如具有一一对应关系。 每个应 用消息处理单元 222处理与相应的数据节点应用单元 21所属的 P2P系统 相关联的消息, 例如 BitTorrent消息, eMule消息等等。
当数据节点 20中的某个数据节点应用单元例如数据节点应用单元 21- 1想要与它所属的 P2P系统中的其他数据节点应用单元交换数据时, 首 先, 数据节点应用单元 21-1中的对端信息请求单元 212-1向相应的索引服 务器 10-1发出对端列表请求., 以请求获得一列表, 该列表列出数据节点应 用单元 21-1所属的 P2P系统中能够与该数据节点应用单元交换所需数据文 件的数据节点应用单元 (SP, 对端) 。 索引服务器 10-1中的对端信息管理 单元在接收到对端列表请求后, 在其对端信息存储单元中搜索能够交换所 述数据的数据节点应用单元, 并且从这些数据节点应用单元中随机选择若 干个数据节点应用单元并将随机选择的数据节点应用单元作为对端包括在 要返回的对端列表中。 由于是随机选择的, 所以该对端列表中可能包括这 样的对端: 这些对端所在的数据节点与数据节点应用单元 21-1所在的数据 节点 20距离较远, 例如来自不同网络域, 换句话说, 这些对端与数据节 点应用单元 21-1距离较远, 例如来自不同的网络域。
在本文中, 将把每个索引服务器 10这样随机选择的对端的列表称为 原始对端列表。 在一种实现方式中, 每个索引服务器 10将该原始对端列 表包括在对端列表响应消息中并且向发送对端列表请求的数据节点返回该 响应消息。
如上所述, 本发明的数据节点 20包括列表处理单元 22。 该列表处理 单元 22可以以插件模块的形式添加到数据节点 20的操作系统的内核空间 中。 但是, 本发明并不限于此。 本领域的技术人员可以明白, 列表处理单 元 22可以以其他软件、 硬件、 固件或其组合的方式实现。
列表处理单元 22截取从索引服务器 10之一发送来、 本该由数据节点 应用单元 21接收的对端列表响应消息。 具体而言, 列表处理单元 22中的 响应消息截取单元 221 可以截取该对端列表响应消息。 在一种实现方式 中, 响应消息截取单元 221 可以通过向数据节点 20 的操作系统添加钩子 程序 (hook) 来截取索引服务器发送来的所有消息。 在一种实现方式中, 响应消息截取单元 221 可以直接从操作系统的 TCP/IP协议栈截取这些消 肩、
响应消息截 *单元 221对所截取的对端列表响应消息进行分类, 以判 定该对端列表响应消息是属于哪个 P2P系统的消息, gp, 与数据节点应用 单元 21-1、 21-2、 ……、 21-N中的哪一个相关联, 并根据分类结果将该对 端列表响应消息递送到相应的应用消息处理单元 222。
在本示例中, 由于如上所述对端列表请求是由数据节点应用单元 21-1 发出的并且相应地对端列表响应消息是由索引服务器 10-1返回的, 所以响 应消息截取单元 221根据接收到的对端列表响应消息中包含的标识信息可 判定该消息是针对数据节点应用单元 21-1 的。 因此, 响应消息截取单元 221将该对端列表响应消息递送到与数据节点应用单元 21-1相关联的应用 消息处理单元 222-1。 例如, 如果数据节点应用单元 21-1是 BitTorrent应 用, 响应消息截取单元 221 则可基于接收到的消息中包含的标识信息识别 出该消息是 BitTorrent响应消息, 从而可以将该消息递送到与 BitTorrent应 用消息相关联的应用消息处理单元 222-1。
应用消息处理单元 222-1在接收到从响应消息截取单元 221递送来的 对端列表响应消息后, 提取出其中包括的原始对端列表。 然后, 应用消息 处理单元 222-1向信息服务器 30发出对端位置请求, 以请求获得关于该原 始对端列表中包括的对端所在的数据节点相对于本数据节点 20 的位置的 信息服务器 30响应于来自应用消息处理单元 222-1的对端位置请求, 向该应用消息处理单元 222-1返回对端位置信息。 在一个示例中, 该对端 位置信息包括原始对端列表中列出的对端所在的数据节点与数据节点 20 之间的网络距离 (例如, P4P距离) 的信息。
应用消息处理单元 222-1基于从信息服务器 30返回的对端位置信息, 对原始对端列表中的对端进行处理。 在一种实现方式中, 该处理包括按这 些对端所在的数据节点与数据节点 20之间的网络距离的降序对这些对端 进行排序。 在一个示例中, 处理还包括在对对端排序之后, 根据需要从列 表中删除其所在的数据节点与数据节点 20距离较远的对端。 这样, 经过 这样处理的对端列表只包括其所在的数据节点与数据节点 20距离较近的 对端, 例如其所在的数据节点与数据节点 20属于同一个网络域的对端。
应用消息处理单元 222-1将这样得到的经处理的对端列表递送给响应 消息构造单元 223。
响应消息构造单元 223收集从应用消息处理单元递送来的经处理的对 端列表, 并且将包括经处理的对端列表的对端列表响应消息提供给相应的 数据节点应用单元。 在本示例中, 响应消息构造单元 223在接收到从应用 消息处理单元 222-1递送来的经处理的对端列表后, 将其以针对相应 P2P 系统的对端列表响应消息的形式提供给数据节点应用单元 21-1。 例如, 如 果数据节点应用单元 21-1是 BitTorrent应用, 响应消息构造单元 223则将 经过处理的对端列表包括在 BitTorrent响应消息中提供给数据节点应用单 元 21-1。
数据节点应用单元 21-1中的对端信息请求单元 212-1在接收到包括经 处理的对端列表的对端列表响应消息后, 提取出其中的对端列表并将其提 供给数据交换单元 211-1。 数据交换单元 211-1从而可与该对端列表中列出 的对端进行数据交换。
注意, 以上虽然以数据节点应用单元 21-1及相关联的应用消息处理单 元 222-1和索引服务器 10-1为例进行了说明, 但是同样的方案也适用于数 据节点 20中的其他数据节点应用单元及相关联的应用消息处理单元和索 引服务器。
可见, 想要与对端交换数据的数据节点应用单元获得了包括与之位置 接近的对端的对端列表, 而不是随机选择的对端的列表。 因此, 根据本发 明, 可以在不修改现有索引服务器和数据节点应用单元的情况下降低已经 存在的 P2P跨域流量, 并且, 只要在数据节点中部署一个例如以插件形式 提供的列表处理单元就可以同时处理与多个不同的 P2P系统相关的消息。
下面参考图 4来描述图 3所示的数据节点 20获取对端列表的方法。 在步骤 S101中, 数据节点应用单元 21之一的对端信息请求单元向相 应的索引服务器 10发出对端列表请求。
在步骤 S102中, 原始对端列表被截取。 在本实施例中, 此步骤可包 括响应消息截取单元 221截取索引服务器 10之一响应于对端列表请求而 发送来对端列表响应消息, 并判定该对端列表响应消息与数据节点应用单 元 21 中的哪一个相关联, 然后将该对端列表响应消息递送到相应的应用 消息处理单元 222。 此步骤还可包括接收到从响应消息截取单元 221递送 来的对端列表响应消息的应用消息处理单元 222提取出对端列表响应消息 中包括的原始对端列表, 从而实现对原始对端列表的截取。
在步骤 S103中, 应用消息处理单元 222之一向信息服务器 30发出对 端位置请求, 以请求获得关于该原始对端列表中包括的对端所在的数据节 点相对于本数据节点 20的位置的信息。
在步骤 S104中, 发出该对端位置请求的应用消息处理单元接收到从 信息服务器 30返回来的对端位置信息。
在步骤 S105中, 该应用消息处理单元基于对端位置信息, 对原始对 端列表中的对端进行例如包括排序和删除部分对端在内的处理, 并将经处 理的对端列表递送到响应消息构造单元 223。
在步骤 S106中, 响应消息构造单元 223在接收到从应用消息处理单 元 222之一递送来的经处理的对端列表后, 将包括经处理的对端列表的对 端列表响应消息提供给相应的数据节点应用单元。 该过程随后结束。
图 5示出了根据本发明第二实施例的作为数据节点的装置 20a (以下 称之为数据节点 20a) 及其与一个或多个索引服务器 10和信息服务器 30 构成的系统 la的框图。 在图 5中, 与图 3所示的第一实施例中的组件相同 的组件将用相同的标号来指示, 并且将省略对这些组件的详细描述。
如图 5所示, 数据节点 20a与图 3所示的数据节点 20的不同之处在 于, 其中的列表处理单元 22a除了包括响应消息截取单元 221、 应用消息 处理单元 222和响应消息构造单元 223之外, 还包括与数据节点应用单元 21-1、 21-2、 ······、 21-N ^对应并从而与应用消息处理单元 222-1、 222-
2、 、 222-N——对应的一个或多个重请求单元 224-1、 224-2、 ……、 224-N (统称为重请求单元 224) , 以及缓存单元 225。
重请求单元 224能够构造用于相应 P2P系统中的对端列表请求以向相 应索引服务器 10请求更多的对端信息。 缓存单元 225可用于缓存在获取 对端列表的过程中得到的经过处理的对端列表。 注意, 在本实施例中, 示 出了多个应用消息处理单元 222共享一个缓存单元 225的情形。 在这种情 形下, 每个应用消息处理单元 222可访问缓存单元 225中的一个相应的区 域。 当然, 本领域的技术人员可以设想其他实现方式。 例如, 每个应用消 息处理单元 222可拥有各自的缓存单元。
概括来说, 本实施例的应用消息处理单元对原始对端列表进行的处理 除了包括按距离对原始对端列表进行排序并根据需要删除其中的一些距离 较远的对端之外, 还包括将这样得到的对端列表与缓存单元 225的相应区 域中已经缓存的对端列表 (如果有的话) 相组合。 然后, 应用消息处理单 元判断经过这样处理的对端列表中的对端是否足够, 例如其数目是否达到 某个阈值。 如果对端数目过少, 数据节点应用单元在进行数据交换时将无 法拥有足够的数据来源, 从而下载数据的时间可能会延长。 为了保证较短 的下载时间, 本实施例的应用消息处理单元在判定对端数目过少的情况 下, 将把当前经过处理的对端列表暂时存储在缓存单元 225的相应区域 中, 并指示相应的重请求单元向相应的索引服务器 10发出一个或多个额 外的对端列表请求。 相应的索引服务器 10的对端信息管理单元在接收到 这些额外的对端列表请求后, 将会再次搜索对端信息存储单元, 并从中随 机选择能够交换相应数据节点应用单元所需的数据文件的对端, 从而向数 据节点 20a提供一个或多个额外的包括原始对端列表的对端列表响应消 息。 应用消息处理单元对提取出一个或多个额外的原始对端列表再进行上 述的包括排序、 删除和组合在内的处理以及上述的判定, 并在必要时重复 重请求, 直到对端数目足够为止。
仍以应用消息处理单元 222-1为例进行说明。 具体而言, 在一种实现 方式中, 应用消息处理单元 222-1在提取出从响应消息截取单元 221递送 来的对端列表响应消息中的原始对端列表后, 对其进行处理。 这里的处理包括对该原始对端列表中的对端进行排序并根据需要删除 距离较远的 (例如, 不在同一网络域中的) 对端, 并且将包括剩余对端的 对端列表与缓存单元 225的相应区域中的对端列表 (如果有的话) 相组 合。
在此情况下, 应用消息处理单元 222-1首先査看缓存单元 225的相应 区域中是否已存在先前缓存的对端列表。
如果当前处理的原始对端列表是索引服务器 10-1响应于数据节点应用 单元发出的对端列表请求而返回的原始对端列表, 则缓存单元 225的相应 区域应当为空。 在此情况下, 无需进行组合, 经过排序并被删除了部分对 端的对端列表就是经处理的对端列表。
另一方面, 如果缓存单元 225中的相应区域中已缓存有对端列表, 则 表明当前处理的原始对端列表是索引服务器 10-1响应于重请求单元发出的 额外的对端列表请求而返回的原始对端列表, 于是应用消息处理单元 222- 1将上述经过排序并可能删除了部分对端的对端列表与缓存单元 225中的 对端列表相组合来得出经处理的对端列表。
在任一情况下, 应用消息处理单元 222-1 随后判定经处理的对端列表 中的对端是否足够, 例如数目是否达到预定的阈值。
如果数目已足够, 应用消息处理单元 222-1则将经处理的对端列表经 由响应消息构造单元 223提供给相应的数据节点应用单元 21-1。 在此之前 或之后, 应用消息处理单元 222-1可以清空缓存单元 225中的相应区域。
另一方面, 如果对端不足够, 应用消息处理单元 222-1则将经处理的 对端列表以例如覆盖缓存单元 225的相应区域中原先缓存的任何对端列表 的方式缓存在该相应区域中, 并且指示相应的重请求单元 224-1 向索引服 务器 10-1发出额外的对端列表请求。 索引服务器 10-1响应于该对端列表 请求将再返回包括随机选择的对端列表的对端列表响应消息。 列表处理单 元 22a于是重复上述过程, 直到经处理的对端列表中的对端数目足够为 止。
当然, 上述过程只是一个示例。 例如, 应用消息处理单元 222在提取 出原始对端列表后, 可先将原始对端列表与缓存的对端列表 (如果有的 话) 相组合, 然后对组合的对端列表中的所有对端进行按网络距离的排 序, 并根据需要删除一些距离相对较远的对端, 以得出经处理的对端列 表。 在这种情况下, 除了缓存对端列表本身外, 还可缓存容纳每个对端的 数据节点与本数据节点的网络距离的信息。 本领域的技术人员可以设想出 其他实施方式。
与第一实施例中类似, 以上虽然以数据节点应用单元 21-1及相关联的 应用消息处理单元 222-1和重请求单元 224-1以及索引服务器 10-1为例进 行了说明, 但是同样的方案也适用于数据节点 20中的其他数据节点应用 单元及相关联的应用消息处理单元、 重请求单元和索引服务器。
如上所述, 根据本实施例, 在对端数目不足的情况下, 可以再次请求 索引服务器返回若干个随机选择的对端, 从而保证了对端的充足, 并因此 保证了较短的下载时间。
下面参考图 6来描述图 5所示的数据节点 20a获取对端列表的方法。 在步骤 S201 中, 数据节点应用单元之一的对端信息请求单元向相应 的索引服务器 10发出对端列表请求。
在步骤 S202中, 原始对端列表被截取。 在本实施例中, 该原始对端 列表既可能是索引服务器 10之一响应于相应数据节点应用单元的对端信 息请求单元发出的初始对端列表请求而返回的原始对端列表, 也可能是索 引服务器 10之一响应于相应的重请求单元发出的额外对端列表请求而返 回的原始对端列表。 在任一种情况下, 响应消息截取单元 221都可截取包 括原始对端列表的对端列表响应消息, 并将该对端列表响应消息递送到相 应的应用消息处理单元 222。 然后, 相应的应用消息处理单元 222提取出 对端列表响应消息中包括的原始对端列表。
在步骤 S203 中, 提取出原始对端列表的应用消息处理单元 222向信 息服务器 30发出对端位置请求, 以请求获得关于该原始对端列表中包括 的对端相对于相应数据节点应用单元的位置 (即, 这些对端所在的数据节 点相对于本数据节点 20的位置) 的信息。
在步骤 S204中, 发出该对端位置请求的应用消息处理单元接收到从 信息服务器 30返回来的对端位置信息。 在步骤 S205 中, 该应用消息处理单元基于对端位置信息, 对原始对 端列表进行处理, 该处理例如包括排序、 删除以及与缓存的对端列表(如 果有的话) 的组合。
在步骤 S206中, 应用消息处理单元判定经处理的对端列表中的对端 是否足够, 例如数目是否达到预定的阈值。
如果对端不足够 (步骤 S206中的 "否" ) , 应用消息处理单元则将 经处理的对端列表缓存在缓存单元中的相应区域中 (步骤 S207) , 并且指 示相应的重请求单元向索引服务器发出额外的对端列表请求 (步骤 S208) 。 然后, 数据节点 20重复步骤 S202至 S206, 直到经处理的对端列 表中的对端数目足够为止。
另一方面, 如果在步骤 S206 中判定对端足够 (步骤 S206 中的 "是" ) , 则在步骤 S209中, 应用消息处理单元清空缓存单元 225中的 相应区域, 并且在步骤 S210中将经处理的对端列表经由响应消息构造单 元提供给相应的数据节点应用单元。 该过程随后结束。
虽然以上已经描述了本发明的一些具体实施例, 但是本领域的技术人 员将会明白, 可以对本发明进行多种修改、 组合和替换, 并且本发明包含 落在所附权利要求书的范围内的这种修改、 组合和替换。

Claims

权 利 要 求 书
1.一种在对等数据交换中充当数据节点的装置, 包括:
数据节点应用单元, 该数据节点应用单元发出对端列表请求并与对端 进行对等数据交换; 以及
列表处理单元, 该列表处理单元截取索引服务器响应于对端列表请求 而提供的原始对端列表, 向信息服务器发出对端位置请求并接收所述信息 服务器响应于所述对端位置请求而提供的对端位置信息, 基于所述对端位 置信息对所述原始对端列表进行处理以得出经处理的对端列表, 并将经处 理的对端列表提供给所述数据节点应用单元。
2.如权利要求 1所述的装置, 其中
所述列表处理单元包括:
消息截取单元, 其截取所述索引服务器响应于对端列表请求而提 供的包括原始对端列表的对端列表响应消息, 并将截取的对端列表响应消 息递送给应用消息处理单元,
应用消息处理单元, 其在接收到从所述消息截取单元递送来的对 端列表响应消息后, 提取该对端列表响应消息中包括的原始对端列表, 向 所述信息服务器发出对端位置请求并接收所述信息服务器响应于对端位置 请求而提供的对端位置信息, 基于所述对端位置信息对提取出的原始对端 列表进行处理以得出经处理的对端列表, 并将经处理的对端列表递送给消 息构造单元, 以及
消息构造单元, 其收集从所述应用消息处理单元递送来的经处理 的对端列表, 并且将包括经处理的对端列表的对端列表响应消息提供给所 述数据节点应用单元。
3.如权利要求 2所述的装置, 其中,
所述列表处理单元还包括:
重请求单元, 用于发出对端列表请求, 以及
缓存单元, 用于临时存储对端列表; 并且 所述应用消息处理单元在对原始对端列表进行处理之后, 判定经处理 的对端列表中列出的对端的数目是否达到阈值, 并且在所述数目未达到所 述阈值的情况下, 将经处理的对端列表临时存储在所述缓存单元中并指示 所述重请求单元发出对端列表请求。
4.如权利要求 2所述的装置, 其中,
所述数据节点应用单元包括一个或多个数据节点应用单元;
所述应用消息处理单元包括与所述一个或多个数据节点应用单元相对 应的一个或多个应用消息处理单元;
所述消息截取单元截取响应于与所述一个或多个数据节点应用单元中 的特定数据节点应用单元相关联的对端列表请求而提供的包括原始对端列 表的对端列表响应消息, 并将截取的对端列表响应消息递送给所述一个或 多个应用消息处理单元中与所述特定数据节点应用单元相对应的应用消息 处理单元; 并且
所述消息构造单元收集从所述一个或多个应用消息处理单元中的特定 应用消息处理单元递送来的经处理的对端列表, 并且将包括经处理的对端 列表的对端列表响应消息提供给所述一个或多个数据节点应用单元中与所 述特定应用消息处理单元相对应的数据节点应用单元。
5.如权利要求 3所述的装置, 其中
所述数据节点应用单元包括一个或多个数据节点应用单元;
所述应用消息处理单元包括与所述一个或多个数据节点应用单元相对 应的一个或多个应用消息处理单元;
所述重请求单元包括与所述一个或多个应用消息处理单元相对应的一 个或多个重请求单元;
所述消息截取单元截取响应于与所述一个或多个数据节点应用单元中 的特定数据节点应用单元相关联的对端列表请求而提供的包括原始对端列 表的对端列表响应消息, 并将截取的对端列表响应消息递送给所述一个或 多个应用消息处理单元中与所述特定数据节点应用单元相对应的应用消息 处理单元; 所述一个或多个应用消息处理单元中的每一个在所述数目未达到所述 阈值的情况下将经处理的对端列表临时存储在所述缓存单元中并指示所述 一个或多个重请求单元中与本应用消息处理单元相对应的重请求单元发出 对端列表请求; 并且
所述消息构造单元收集从所述一个或多个应用消息处理单元中的特定 应用消息处理单元递送来的经处理的对端列表, 并且将包括经处理的对端 列表的对端列表响应消息提供给所述一个或多个数据节点应用单元中与所 述特定应用消息处理单元相对应的数据节点应用单元。
6.如权利要求 1所述的装置, 其中,
所述对端位置信息包括关于所述原始对端列表中列出的对端所在的数 据节点与所述数据节点之间的网络距离的信息; 并且
所述处理包括按所述网络距离的降序对所述原始对端列表中列出的对 端进行排序。
7.如权利要求 6所述的装置, 其中, 所述处理还包括删除所述原始对 端列表列出的对端之中位于与所述数据节点不在同一网络域中的数据节点 上的对端。
8.如权利要求 3所述的装置, 其中,
所述对端位置信息包括关于所述原始对端列表中列出的对端所在的数 据节点与所述数据节点之间的网络距离的信息; 并且
所述处理包括按所述网络距离的降序对所述原始对端列表中列出的对 端进行排序, 删除所述原始对端列表列出的对端之中位于与所述数据节点 不在同一网络域中的数据节点上的对端, 并将包括剩余对端的对端列表与 所述缓存单元中已缓存的对端列表相组合。
9.一种在用于对等数据交换的数据节点处获取对端信息的方法, 包括 以下步骤:
向索引服务器发出对端列表请求;
截取所述索引服务器响应于所述对端列表请求而提供的原始对端列 表;
向信息服务器发出对端位置请求; 接收所述信息服务器响应于所述对端位置请求而提供的对端位置信 息;
基于所述对端位置信息对所述原始对端列表进行处理以得出经处理的 对端列表; 以及
将经处理的对端列表提供给数据节点应用单元。
10.如权利要求 9所述的方法, 还包括:
判定经处理的对端列表中列出的对端的数目是否达到阈值, 并且在所 述数目未达到所述阈值的情况下, 缓存经处理的对端列表并发出一个或多 个额外的对端列表请求。
11.如权利要求 9所述的方法, 其中,
所述对端位置信息包括关于所述原始对端列表中列出的对端所在的数 据节点与所述数据节点之间的网络距离的信息; 并且
所述处理包括按所述网络距离的降序对所述原始对端列表中列出的对 端进行排序。
12.如权利要求 11所述的方法, 其中, 所述处理还包括删除所述原始 对端列表列出的对端之中位于与所述数据节点不在同一网络域中的数据节 点上的对端。
13.如权利要求 10所述的方法, 其中,
所述对端位置信息包括关于所述原始对端列表中列出的对端所在的数 据节点与所述数据节点之间的网络距离的信息; 并且
所述处理包括按所述网络距离的降序对所述原始对端列表中列出的对 端进行排序, 删除所述原始对端列表列出的对端之中位于与所述数据节点 不在同一网络域中的数据节点上的对端, 并将包括剩余对端的对端列表与 已缓存的对端列表相组合。
14.一种在对等数据交换中提供和获取对端信息的系统, 包括: 一个或多个索引服务器, 其中每一个响应于对端列表请求提供原始对 端歹 ij表;
响应于对端位置请求提供对端位置信息的信息服务器; 以及
如权利要求 1-8中任何一项所述的装置。
PCT/CN2010/000335 2009-04-01 2010-03-19 数据节点装置、对端信息获取方法和系统 WO2010111887A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011541075A JP5259835B2 (ja) 2009-04-01 2010-03-19 データノード装置、ピア情報取得方法およびシステム
US13/124,770 US20110307564A1 (en) 2009-04-01 2010-03-19 Data node apparatus, peer information acquisition method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910132675.0 2009-04-01
CN200910132675A CN101854374A (zh) 2009-04-01 2009-04-01 数据节点装置、对端信息获取方法和系统

Publications (1)

Publication Number Publication Date
WO2010111887A1 true WO2010111887A1 (zh) 2010-10-07

Family

ID=42805639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/000335 WO2010111887A1 (zh) 2009-04-01 2010-03-19 数据节点装置、对端信息获取方法和系统

Country Status (4)

Country Link
US (1) US20110307564A1 (zh)
JP (1) JP5259835B2 (zh)
CN (1) CN101854374A (zh)
WO (1) WO2010111887A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277314A (ja) * 2009-05-28 2010-12-09 Kddi Corp P2p配信方法およびシステム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235519B2 (en) * 2012-07-30 2016-01-12 Futurewei Technologies, Inc. Method for peer to peer cache forwarding
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
WO2021014326A2 (en) 2019-07-19 2021-01-28 JFrog Ltd. Software release verification
US10999314B2 (en) 2019-07-19 2021-05-04 JFrog Ltd. Software release tracking and logging
US11695829B2 (en) * 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
US12061889B2 (en) 2021-10-29 2024-08-13 JFrog Ltd. Software release distribution across a hierarchical network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178261A1 (en) * 2001-05-25 2002-11-28 Chang Frederic Robert Method of improving the reliability of peer-to-peer network downloads
CN1816053A (zh) * 2006-03-10 2006-08-09 清华大学 基于会话初始化协议的流媒体直播p2p网络方法
CN101005606A (zh) * 2006-12-31 2007-07-25 华为技术有限公司 一种减少媒体播放延时的方法和装置
CN101552719A (zh) * 2008-04-01 2009-10-07 华为技术有限公司 路由选择方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212542A1 (en) * 2005-03-15 2006-09-21 1000 Oaks Hu Lian Technology Development Co., Ltd. Method and computer-readable medium for file downloading in a peer-to-peer network
EP1821487B1 (en) * 2006-02-21 2010-04-07 Microsoft Corporation Topology management in peer-to-peer content distribution clouds
ATE551816T1 (de) * 2006-09-28 2012-04-15 Rayv Inc System und verfahren zum peer-to-peer-medien- streaming
CN101018172A (zh) * 2007-02-09 2007-08-15 浪潮电子信息产业股份有限公司 一种优化城域网内p2p传输的方法
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US9106668B2 (en) * 2008-06-24 2015-08-11 Azureus Software, Inc. Distributed peer location in peer-to-peer file transfers
CN101394423B (zh) * 2008-09-27 2012-07-18 中兴通讯股份有限公司 一种媒体定位、搜索方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020178261A1 (en) * 2001-05-25 2002-11-28 Chang Frederic Robert Method of improving the reliability of peer-to-peer network downloads
CN1816053A (zh) * 2006-03-10 2006-08-09 清华大学 基于会话初始化协议的流媒体直播p2p网络方法
CN101005606A (zh) * 2006-12-31 2007-07-25 华为技术有限公司 一种减少媒体播放延时的方法和装置
CN101552719A (zh) * 2008-04-01 2009-10-07 华为技术有限公司 路由选择方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277314A (ja) * 2009-05-28 2010-12-09 Kddi Corp P2p配信方法およびシステム

Also Published As

Publication number Publication date
JP5259835B2 (ja) 2013-08-07
US20110307564A1 (en) 2011-12-15
JP2012512471A (ja) 2012-05-31
CN101854374A (zh) 2010-10-06

Similar Documents

Publication Publication Date Title
WO2010111887A1 (zh) 数据节点装置、对端信息获取方法和系统
US10681167B2 (en) Distributed computing resources in an information centric network
EP2420035B1 (en) Method and apparatus for reducing traffic in a communications network
US10880390B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
US7782866B1 (en) Virtual peer in a peer-to-peer network
JP4938074B2 (ja) リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ
EP1593254B1 (en) Methods and apparatus for traffic management in peer-to.peer networks
JP5050095B2 (ja) P2pコンテンツ共有のための方法、システム、及びノード
US8032583B2 (en) Apparatus and method for providing peer-to-peer proxy services in peer-to-peer communications
US20080080392A1 (en) Virtual peer for a content sharing system
KR101215993B1 (ko) 피어―투―피어 라이브 스트리밍을 위한 콘텐츠 분산 네트워크
US20090299937A1 (en) Method and system for detecting and managing peer-to-peer traffic over a data network
WO2008025297A1 (fr) Procédé de téléchargement de fichiers selon la technique p2p (pair à pair) et système de téléchargement p2p
US20140136644A1 (en) Data storage management in communications
WO2012152771A2 (en) Content server of a service provider's cdn
US7680130B2 (en) Method for finding resource and service in network and relay node apparatus
Abdallah et al. Ftree-CDN: Hybrid CDN and P2P architecture for efficient content distribution
US20080288447A1 (en) Methods and apparatus for improving peer efficiency
JP2010182301A (ja) 自己組織型分散オーバーレイ・ネットワークにおいてオブジェクトへの参照を分散させる方法、コンピュータプログラム、及びノード、並びに自己組織型分散オーバーレイ・ネットワーク
Moon et al. A point-based inventive system to prevent free-riding on p2p network environments
KR101006539B1 (ko) 파일 병렬 다운로드에서의 최대 빈도 블록 우선 선택 방법,이를 이용한 파일 병렬 다운로드 방법 및 이를 구현하기 위한 프로그램을 기록한 기록매체
KR101073659B1 (ko) 네트워크 혼잡 감소를 위하여 파일을 투명하게 내려받기 위한 방법
Dubouilh et al. Performance of WebRTC in the context of a decentralised storage solution
Oberender et al. P2P Replication Revisited: Mobile Infrastructures
US20110035509A1 (en) System and Method for High Speed transfer of Files over a Network

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13124770

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011541075

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10757990

Country of ref document: EP

Kind code of ref document: A1