The present invention relates to a method for selecting suitable peers CL1-CL5 in a peer to peer network for content downloading. The method comprises: Requesting addresses of peers possessing a specified content. Receiving to an operator node MON4, a reply comprising the requested addresses. Modifying 3 the reply, which modifying is based on operator preference available to the operator node. Sending the modified reply to a requesting client.
|
14. A node for selecting suitable peers in a peer to peer network for content downloading, the node comprising:
a receiver to receive a reply comprising addresses of peers holding at least a portion of a requested content, wherein the reply is transmitted in response to a request transmitted by a client;
a processor to modify the reply, which modifying is based on operator preference available to the node; and
a transmitter to send the modified reply to the client.
1. A method for selecting suitable peers in a peer to peer network for content downloading, the method comprising:
receiving at an operator node, a reply to a request, which request was transmitted by a client, for addresses of peers possessing at least a portion of specified content, the reply comprising a set of one or more peer addresses, wherein each peer address included in the set is an address of a peer that possesses at least a portion of the specified content;
modifying the reply based on operator preference information available to the operator node; and
sending the modified reply to the client.
19. Article of manufacture comprising a program storage device having a computer readable code embodied therein to select suitable peers in a peer to peer network for content downloading, which computer readable program code comprises:
computer readable program code for receiving a reply comprising a set of one or more requested addresses, wherein the reply is transmitted in response to a request for peer addresses transmitted by client;
computer readable program code for modifying the reply based on available operator preference information; and
computer readable program code for sending the modified reply to the client.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
further comprising receiving a second reply to a second request transmitted by the client, modifying the second reply to create a modified second reply, and transmitting to the client the modified second reply, wherein the second reply comprises a second set of one or more peer addresses and the modified second reply comprises a subset of the second set of one or more peer addresses and/or one of the cached addresses.
9. The method of
further comprising receiving at the operator node the request transmitted by the client.
10. The method of
11. The method of
12. The method of
13. The method of
15. The node of
17. The node of
18. The node of
|
This application is a 35 U.S.C. §371 National Phase Entry Application from PCT/SE2008/051397, filed Dec. 3, 2008, and designating the United States.
The present invention relates to methods and arrangements for selecting suitable peers in a peer to peer network for content downloading.
The increased bandwidth introduced by the penetration of broadband and the availability of enhanced terminal capabilities, content creation and publishing tools has significantly increased in availability on the Internet of user generated content, e.g. YouTube, Podcasting, etc. Content aggregators such as Joost, BBC iPlayer are also becoming established sources of legal online content.
Peer-to-peer technology has shown itself as a viable technology for distributing user generated content and technology of choice of the content aggregators. For example, the iPlayer utilizes an IMP P2P client. Often referred to simply as peer-to-peer, or abbreviated P2P, peer-to-peer architecture is a type of network in which each workstation has equivalent capabilities and responsibilities. This differs from client/server architectures where some computers are dedicated to serving the others. The P2P network distributes the computing power between connected peers in the network and utilizes the aggregated resources, e.g. network available bandwidth, for efficient content distribution. P2P is often used as a term to describe one user linking with another user to transfer information and files through the use of a common P2P client to download material, such as software upgrades or media files.
When downloading content using P2P clients, pieces or chunks of the selected file are gathered from several nodes simultaneously in order to decrease download time and to increase robustness of the P2P network. The set of peers to download data chunks from has been selected by a so called Tracker which functions as a gateway between peers in the P2P network. It gathers information on which peers have what data chunks and spread that information to any requesting peer. The tracker can be located anywhere on the network.
A recent trend in the Internet is the use of P2P technology to build content distribution networks. Examples of commercial systems include Velocix from CacheLogic and Gridcasting from GridNetworks. Based on recent trends like those in the UK with BBC's IP player, an assumption is that P2P technology will be used by content providers in the near future as a cheap way to distribute content. At some point network operators themselves may turn to using P2P for content distribution, in particular video distribution. In any case the operators would first need to manage the P2P traffic in their networks. For traffic of over-the-top P2P applications, the operator would like to keep the peering traffic low as well as improving the end-user experience. This requires techniques and mechanisms that are operator specific to complement the already existing Internet-based methods.
In P2P systems based on Tracker architecture when a client requests content, it contacts the Tracker in order to obtain addresses of peers having the desired data chunks. The Tracker replies with a so called tracker response to the client which contains a list of addresses to peers having the data. For example, in the BitTorrent protocol the list of peers in the tracker response is by default 50, if the number of available peers is equal or above 50. If there are more peers that have the desired chunk of content, the tracker randomly selects peers to include in the response, or the tracker may choose to implement a more intelligent mechanism for peer selection when responding to a request. This selection can for example be made based on locality, network measurements and similar. All based on the viewpoint of the Tracker.
The problem is that much locality information and other operator specific information is not usually available to a central Internet based Tracker. Further, the Tracker may not always take the operator needs into account—such as keeping traffic local to the operator at hand. The same type of problem appears if the P2P system is based on Distributed Hash Table DHT-like algorithms.
The present invention relates to problems of managing P2P traffic. The invention focuses on improving the way of selecting peers to download content by utilizing the operator's information about the distribution network. Further more, a method is proposed which enables an operator provided a premium P2P service. The premium service enables end users to access content using P2P over a prioritized connection in a managed network which is offered by the operator as an extra service.
The problem of managing P2P traffic is solved by a method for selecting suitable peers for content downloading. The method comprises:
The invention describes mechanisms and techniques for selecting the peers to download content based on operator preference. Basically, the method involves modification of for example a tracker response (also called Reply), based on operator specific information, or in the case of for example a DHT-like P2P system it can block or modify responses from other peers based on the operator specific information. According to one exemplary embodiment a P2P tracker is used as search mechanism to find peers possessing required content. A reply from the tracker is modified in the operator node before it is forwarded to a requesting client. Connections are established by the requesting client to clients found in the modified reply.
According to another exemplary embodiment an unstructured P2P system is used as search mechanism to find peers possessing required content. Responses from the peers are either let through to a requesting client or blocked. Addresses of peers not fulfilling operator preference are blocked and may be cached for later usage. In this embodiment the requesting client is unable to establish connections to clients that were let through and a further request is sent to find peers possessing required content.
Yet another embodiment represents a method for selecting suitable peers when the modification utilizes additional addresses to peers from a selection of “premium nodes”.
The invention makes it possible to modify a reply in order to make the client to download content based on e.g. locality. This has the potential to improve the end-user experience while at the same time it can reduce the peering traffic. This gives the following advantages:
The invention will now be described more in detail with the aid of preferred embodiments in connection with the enclosed drawings.
A method according to the first embodiment of the invention will now be explained more in detail together with
The request for data chunks that was sent 10 from the client CL4 to the central tracker T may be intercepted by MON4 for later usage in case other clients in OP1/AN1 requires the same data chunks and if the chunks already have been stored in the P2P monitor.
If the client was unable to establish a connection to peers from the list in the modified response for example if the peer has left the P2P network, or if the aggregated download speed from the selected peers is too low the requesting client could request another set of peers from the P2P tracker T. This request can also be intercepted by MON5. The set of peers may be reassembled using the cached/stored addresses, i.e. in this example the address for CL5, together with the modification operator policy. If there is not enough cached peer addresses, the request is forwarded to the tracker and the before described sequence is repeated. This will be explained more in detail in a second embodiment. To prevent the requesting client from “starving”, the operator policy may hereby be less particular.
Instead of using a tracker as search mechanism, a Distributed Hash Table may be used. One of the central parts of a P2P system is a directory service. Basically the directory service is a database which contains IP addresses of peers that have a specific content. In a centralized P2P implementation this directory is called tracker (as discussed above), in a distributed P2P implementation it is called Distributed Hash Table DHT. In DHT a plurality of distributed databases DDB resides on many peers rather than in a single node like in the tracker case; hence it is a distributed database DDB. The DHT algorithm is well known by persons skilled in the art. In this variation of the first embodiment instead of sending the request from the requesting client to the tracker, the request is forwarded to the most appropriate peer in accordance to the DHT implementation which is known to a person skilled in the art. So, instead of the tracker responding back with the list of IP addresses of peers with the desired content, the found peer possessing the IP addresses will respond back and deliver the list. The method of operation in the P2P Mon node is similar compared to the P2P tracker case.
While in the first embodiment the tracker or alternatively the DHT algorithm gathers information on which peers have what data chunks and spread information to a requesting peer, instead another way of searching may be done. This will now be described in a second embodiment. Not all P2P networks are based on DHT or on a central tracker that has information on which chunks of data are located where. Another P2P search solution is to use a so called unstructured P2P system UPS for searching content. The unstructured P2P system is well known by persons skilled in the art. When using UPS the requests for data chunks do not have to pass a central database, instead it is sent directly to the responsible peers. The peers that have the content would respond according to the UPS-like P2P implementation and answer directly to the requesting peer. The method of operation in the P2P Mon node is similar compared to the P2P tracker case; however there are some minor differences as described below.
The requirements on the P2P Mon are as follows:
This section describes the actual anatomy of the P2P monitor node—or the functionality of the P2P modifier which can be co-located with other functionality in one common physical node. As can be seen in
The interception block is responsible for extracting/capturing the response message from the tracker or other peers. This is done by implementing deep packet inspection DPI. A DPI module 62 is disclosed within the interception block. Optionally decryption could be applied to the traffic from the tracker. Once the response is extracted from the traffic, it's parsed making it possible for other modules to further process the data. A parsing module 63 is disclosed in the figure within the interception block. The parsing must be done in accordance to the P2P system in question, hence the parsing pattern of for example the different flavors of Bittorent protocol would be different from each other. The details of how to handle different P2P protocol implementations are stored in a database 67 of P2P protocol patterns.
The processing block is responsible for the ordering of a list of seeds or peers holding content in accordance to the operator policy. Depending on implementation, it could perform; ordering of the existing seed list, removing some addresses of seeds, or even adding totally new address of content seeds. A filtering module 64 and an insertion module 65 can be seen in
The re-generation block is responsible for reassembling the tracker response which by this point has the seed addresses in accordance to the operator's policy. A repackaging module 66 is disclosed in
An operator policy holder 69 is connected to an operator policy interface 68. Different modification policies can be held by the policy holder 69. Examples on modification policies are:
In order to prioritize and handle P2P traffic in the access network, an additional distributed P2P tagging function can be implemented. This tagging function is under control by the P2P Mon and can be used to mark certain traffic differently in order to give it correct prioritization through the access network. This could either be by marking P2P premium subscribers' traffic with specific 802.1p-bits for Ethernet priority. It can also mean that the P2P tagging function can put special VLAN-tags on the traffic in order to direct it to another network. By marking the traffic with specific 802.1p-bits, the whole access network can queue the traffic according to policies, all the way from the access node, through the whole network. Since the 802.1p-bit marking takes place in operator equipment, this marking can of course be translated into DCSP bits if needed. Other translation schemes (MPLS LSPs and others) are possible too. The P2P Tagging function should be seen as a broken out function from the P2P Mon itself. The tagging function does not contain any complex mechanisms, it is meant to be a light weight function that should be easy to implement. By combining the P2P Mon, the P2P tagging function and connections to a subscriber database, very advanced services and new revenue streams can be envisioned. Premium content can be a subscriber only service and content service providers can get paid for premium content. This also opens up for the ideas that STIM (Svenska Tonsättares Internationella Musikbyrå) proposed—a legal, voluntary filesharing tax that should be connected to broadband services. The P2P Mon and premium network connections could be one way of solving the technical issues that still remained unsolved when the file sharing tax idea was proposed.
A system that can be used to put the invention into practice is schematically shown in the
The systems and methods of the present invention may be implemented for example on any of the Third Generation Partnership Project (3GPP), European Telecommunications Standards Institute (ETSI), American National Standards Institute (ANSI) or other standard telecommunication network architecture. Other examples are the Institute of Electrical and Electronics Engineers (IEEE) or The Internet Engineering Task Force (IETF).
The description, for purposes of explanation and not limitation, sets forth specific details, such as particular components, electronic circuitry, techniques, etc., in order to provide an understanding of the present invention. But it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, and techniques, etc., are omitted so as not to obscure the description with unnecessary detail. Individual function blocks are shown in one or more figures. Those skilled in the art will appreciate that functions may be implemented using discrete components or multi-function hardware. Processing functions may be implemented using a programmed microprocessor or general-purpose computer. The invention is not limited to the above described and in the drawings shown embodiments but can be modified within the scope of the enclosed claims.
Kolhi, Johan, Damola, Ayodele, Johnsson, Andreas
Patent | Priority | Assignee | Title |
11144952, | Nov 13 2013 | BRIGHT DATA LTD | Behavioral content discovery |
11720915, | Nov 13 2013 | BRIGHT DATA LTD | Behavioral content discovery |
9026412, | Dec 17 2009 | International Business Machines Corporation | Managing and maintaining scope in a service oriented architecture industry model repository |
9111004, | Dec 17 2009 | International Business Machines Corporation | Temporal scope translation of meta-models using semantic web technologies |
9788337, | Dec 12 2012 | GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP , LTD | Data transmission method applied to a base station, a data receiving method applied to a user equipment, a data transmission device applied to a base station, and a data receiving device applied to each user equipment in a UE group |
Patent | Priority | Assignee | Title |
7920572, | Sep 20 2005 | Cisco Technology, Inc | Modifying operation of peer-to-peer networks based on integrating network routing information |
8417677, | Jun 02 2006 | DUAXES Corporation | Communication management system, communication management method and communication control device |
20040064568, | |||
20040064693, | |||
20040181575, | |||
20050144288, | |||
20070064702, | |||
20080235746, | |||
20100138382, | |||
EP1821487, | |||
WO2004047408, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 03 2008 | Telefonaktiebolaget L M Ericsson (publ) | (assignment on the face of the patent) | / | |||
Dec 04 2008 | DAMOLA, AYODELE | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026386 | /0553 | |
Dec 04 2008 | JOHNSSON, ANDREAS | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026386 | /0553 | |
Dec 04 2008 | KOLHI, JOHAN | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026386 | /0553 |
Date | Maintenance Fee Events |
Jul 14 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 14 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Jan 14 2017 | 4 years fee payment window open |
Jul 14 2017 | 6 months grace period start (w surcharge) |
Jan 14 2018 | patent expiry (for year 4) |
Jan 14 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 14 2021 | 8 years fee payment window open |
Jul 14 2021 | 6 months grace period start (w surcharge) |
Jan 14 2022 | patent expiry (for year 8) |
Jan 14 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 14 2025 | 12 years fee payment window open |
Jul 14 2025 | 6 months grace period start (w surcharge) |
Jan 14 2026 | patent expiry (for year 12) |
Jan 14 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |