The invention relates to peer-to-peer data sharing and is particularly concerned with eliminating uplink usage of peer-to-peer network clients connected via asymmetric links to a network to effectively decrease access network contention level as well as improve the user experience.
Peer-to-peer (P2P) content distribution solutions (for example, peer-to-peer networks based on the BitTorrent protocol) require content sinks to also actively serve content fragments to other participants of the peer-to-peer network. As an effect of the protocol, in order for a peer to finish its own download of the complete file, it needs to make available the pieces it has already received from the other participants. This results in data transmission over the reverse link i.e. the client device is acting as a server to other participants.
A number of incentive mechanisms are implemented in widely-used peer-to-peer overlays, which assess the amount of data that a client has uploaded versus downloaded. Peers which have poor share ratios may face sanctions throttling the rates at which new pieces may be obtained and so require uplink resources in order to maintain their own Quality-of-Experience (QoE). If the uplink share of a peer-to-peer user is low (which is the case particularly for asymmetric access technologies), the peer's forward link performance will be degraded by the overlay following due to the implemented reciprocation mechanism.
As a consequence, network operators will experience high contention ratios on the reverse link (e.g., the airlink in a mobile network or an oversubscribed aggregation link in a DSL network) due to bandwidth-hungry peer-to-peer client applications seeking to maintain their peer-to-peer networking share ratios. This directly implies higher OPEX for the operators and decreased quality of experience (QoE) for all users. In a cellular network in particular, scarce air resources will be used very inefficiently since the same data will be transmitted first on the downlink and then uplink again.
A series of examples will illustrate the phenomena. In the following discussion the term asymmetrical connection refers to a data connection in which the forward link bandwidth is greater than the reverse link bandwidth.
Referring to
Referring now to
Some examples of mobile networks with asymmetrical reverse link speeds are given in Table 1.
Some examples of wired network connection with asymmetrical reverse link speeds are given in Table 2.
Therefore, it would be desirable for system operators to have a method of more efficiently managing the operation of reciprocation mechanisms in peer-to-peer networks having asymmetrical client connections to lessen the impact on reverse links. It would be further desirable for such a method to not incur the expense and complications of revising the client-side peer-to-peer software.
It is an object of the invention to provide a system and method for reducing reverse link bandwidth consumption for clients of peer-to-peer networks having an asymmetrical connection to the data network over which the peer-to-peer network operates.
According to an aspect of the invention there is provided a system for reducing reverse link bandwidth consumption in peer-to-peer networks, said system having a data network; a peer-to-peer network operating in conjunction with said data network; a client having an asymmetrical connection to said data network; and a peer-to-peer proxy server located in said data network; and wherein the peer-to-peer proxy server has a dedicated function of interfacing between the client and the peer-to-peer network.
In some embodiments of the invention the peer-to-peer proxy server has a tracker proxy for receiving bootstrap messages from an asymmetrically connected client; and a mechanism for instantiating a peer-to-peer agent to represent a given asymmetrically connected client to the peer-to-peer network.
In some embodiments of the invention the asymmetrical connection is a wireline connection, for example, an ADSL connection. In other embodiments of the invention the asymmetrical connection is a wireless connection, for example, an LTE connection, a WiMAX connection, a UMTS connection or a GSM connection.
In some embodiments of the invention the peer-to-peer network operates using a BitTorrent protocol; and the agent interfaces to the peer-to-peer network emulating a client using BitTorrent protocol.
According to another aspect of the invention there is provided a method for reducing reverse link bandwidth consumption in a peer-to-peer network operating in conjunction with a data network having at least one asymmetrically connected client. The method has the steps of: intercepting a bootstrap message from the asymmetrically connected client; instantiating an agent to represent the client; performing peer-to-peer message exchanges from the agent to other peers wherein the agent performs content transfers normally performed by the asymmetrically connected client; performing peer-to-peer message exchanges from the agent to the client wherein the agent performs content transfers normally performed by other peers to the client; and avoiding requesting file content transfers from the client to the agent over the client's reverse link.
According to yet another aspect of the invention there is provided an article of manufacture having a machine-accessible medium having instructions encoded thereon for enabling a processor to perform the operations of intercepting a bootstrap message from an asymmetrically connected client connected to a data network; instantiating an agent to represent the client to a peer-to-peer network operating in conjunction with the data network; performing peer-to-peer message exchanges from the agent to other peers wherein the agent performs content transfers normally performed by the asymmetrically connected client; performing peer-to-peer message exchanges from the agent to the client wherein the agent performs content transfers normally performed by other peers to the client; and avoiding requesting file content transfers from the client to the agent over the client's reverse link.
Note: in the following the description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
The present invention will be further understood from the following detailed description of embodiments of the invention, with reference to the drawings in which:
Referring to
Referring now to
In operation an asymmetrical peer-to-peer client's bootstrap message, for example from any of clients 416, 417, 418, and 419, is transparently intercepted by a peer-to-peer proxy 430 implemented in the operator's IP core. The proxy 430 instantiates an agent for the asymmetrical client and replies with the agent's ID and address to the bootstrap request. The agent performs the regular peer-to-peer joining and message exchange procedures, i.e., it first contacts the origin bootstrap server (tracker) to request a list of peers to connect to. For the actual exchange with other peers an agent also needs meta-information that describe the content. In BitTorrent, as an example, this is usually conveyed in the .torrent file that a client downloads from a website. Besides the URL of one or more trackers, the meta-file includes important information such as chunk size and chunk hashes.
According to different embodiments, there are different methods for the agent to obtain the meta-information. According to one method, when the agent is instantiated, is uses the meta-exchange option supported by some BitTorrent clients to fetch the meta-information from the client or other peers.
According to an alternative method, when the agent is instantiated, it generates the magnet link for the content and uses the magnet link to retrieve the meta info from the local client or other peers it connects to using a Distributed Hash Table.
According to yet another method, meta files that the peer-to-peer optimizer/manager is configured to serve may be preloaded offline onto a file system or a database. The instantiated agent can access this information at instantiation time.
According to yet another method, when the agent is instantiated by the proxy, it would use the origin file identifier to search for the associated meta file on the Internet.
Once the list is available, the agent connects to the provided peers and exchanges data with them using the peer-to-peer content exchange protocol (e.g., using the BitTorrent protocol) as if it were the originating client. As the proxy 430 is located within the network, no reverse link bandwidth reduction effects are present. Concurrently, the agent also performs the message exchanges with the original asymmetrical client, uploading data to the asymmetrical client, but not requesting pieces of the content back from (i.e. over the reverse link) the asymmetrical client.
The net result is that other swarm members do not experience low bandwidth transfers throttled by the reverse link bandwidth of the asymmetrical client, and, more importantly, demands for the limited reverse link bandwidth of all the asymmetrical clients is minimized. The former affords a better quality of experience for other swarm peers, and the latter affords a better quality of experience for the asymmetrical client and the operator serving the asymmetrical client.
Referring to
564 forwards a modified bootstrap request 552c to origin tracker 550. Origin tracker 550 responds with a peer list message 554a listing peers which may be accessed for the content which client 506 is seeking. Agent 564 receives the message 554a, and registers the information via a message exchange 554b with Proxy 562. Proxy 562 then forwards a modified peer list via message exchange 554c to client 506.
At this point agent 564 connects to the provided peers and exchanges data with them using the peer-to-peer content exchange protocol (e.g., using the BitTorrent protocol) as if it were the originating client 506 as per message exchanges (5581 and 5591, . . . , 558n and 559n). Concurrently, agent 564 performs a series of message exchanges (5561 and 5571, . . . , 556m and 557m) with client 506 conveying the relevant pieces of desired content received from other swarm peers. During this operation agent 564 abstains from requesting content pieces from client 506, avoiding reverse link content piece transfer.
At the conclusion of the file sharing session i.e. when client 506 leaves the swarm, agent 560 may also leave the swami.
Accordingly, what has been presented is a method and system for minimization of reverse or uplink usage in asymmetrically connected clients in a peer-to-peer overlay network. This includes wireline networks with asymmetrical connections such as ADSL, or wireless networks having a reverse airlink with less bandwidth than the forward link.
The benefits of the described method and system include an improvement of download rates for other members of the swarm, with a concurrent improvement of Quality of Experience as these peers are not receiving data pinched by the bottlenecking reverse link. As well, operators will notice an improvement in contention for reverse link bandwidth on wireless links, and a reduction in contention for oversubscribed aggregation links in wireline networks. In addition, mobile wireless clients operating their data appliance on battery power will notice a reduction of battery drain due to the reduced uplink data volumes and shorter download times.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium or loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.” Numerous modifications, variations and adaptations may be made to the embodiment of the invention described above without departing from the scope of the invention, which is defined in the claims.