The present invention relates to networking and in particular to the distribution of video services over a peer-to-peer content distribution network.
In recent years, Peer-to-Peer (P2P) content distribution has had a significant impact on the media and entertainment industry because of its simplicity and low cost of deployment and operation.
The idea behind P2P content distribution is to utilize the customers' computers as peers to form a network, so that the content can be stored and distributed using customer resources. The service provider only coordinates the content distribution with a lower investment and maintenance cost.
Conventional P2P content distribution can support streaming or instant downloading services, such as file sharing or music streaming/downloading. The present invention addresses the particular problems and solutions of a delayed distribution system using a P2P CDN.
For large size content, such as movie files, delayed downloading may be accomplished using a peer-to-peer content distribution network (CDN). The present invention describes how to use a P2P content distribution network for such a delayed downloading service. A mechanism is provided to extend the directory service in a P2P CDN to provide future information regarding content and peer status for delayed downloading, so that the off-peak hours of the network and computer resources can be utilized to improve the delivery efficiency over the infrastructure.
Conventional P2P CDN solutions are used for music and/or small data file downloading, which requires little bandwidth compared to downloading a video file. A standard definition (SD) DVD file is greater than 4 GB and the real-time burst streaming rate for such a file can be as high as 11 Mbps. It is very slow to download or stream video files. Even if the downlink capacity is high enough, the speed will be restricted by the uplink capacity, which is usually much less than the downlink capacity. Delayed distribution is a viable alternative when dealing with large SD or HD video content in the current infrastructure.
A conventional P2P CDN is a network formed by the peer computers. As shown in
1. Among the peer computers, at least one peer needs to run a directory service that collects content availability and accessibility information from the peer computers.
2. A peer queries the directory service, which returns messages containing the content availability information.
3. The requesting peer then downloads the requested content by doing a point-to-point download from the peer containing the content.
The directory service in convention a P2P CDN provides information regarding content and peer status so that users/customers (peers) instantly know the availability of content and can make a downloading decision. Instant downloading works well when the content size is small.
In a conventional P2P CDN, if a peer is busy or inactive, the content on this peer is not available to other peers. In an aspect of the present invention, a peer can make the content available to other peers at a future time. In the present invention the directory service of a P2P CDN is extended/enhanced in order to perform the delayed downloading by modifying the protocol used to communicate between peers.
A system and method for downloading content in a peer-to-peer network are described including receiving, by a first peer, a list of content available in the peer-to-peer network, requesting, by the first peer, content availability information for a unit of content and receiving, by the first peer, content availability information. A system and method for downloading content in a peer-to-peer network are also described including forwarding, content availability information in response to a request for the content availability information, wherein the content availability information includes a location of a unit of content and a status of each peer in the peer-to-peer network having the unit of content available and receiving a reservation to schedule a download of the unit of content. The system and method also include the ability to allow delayed downloading of the in accordance with a reservation for said content.
The present invention is best understood from the following detailed description when read in conjunction with the accompanying drawings. The drawings include the following figures briefly described below where like-numbers on the figures represent similar elements:
The protocol between the directory service and the peers is best illustrated by the messages sent by the directory service, for example, a peer can obtain a list of content available in the P2P CDN along with the following information regarding the available content (1) the peers hosting the content and (2) current status of the peers, as shown in Table 1. Content may be available on a number of peers. Either the directory service or the peer desiring the content can select the peer to best satisfy the content desired by the requesting peer.
This table shows Movie 1 is available on peers 2, 4 and 6 and Movie 3 is available on peers 1, 4 and 6. Peer 1 is currently serving Movie 3; peer 2 is idle; peer 4 is busy serving other content; and peer 6 is powered off. A peer may request Movie 1 from peer 2, which is currently idle. However, Movie 3 cannot be requested because all peers hosting Movie 3 are either busy or powered off. The protocol between the directory service and the peers is enhanced as described herein so that delayed downloading is supported. That is, a peer can make a request for Movie 3 and have it downloaded at a later time. Delayed downloading can also smooth traffic load by using off-peak hour network resources as well as reduce traffic load by assigning downloading between peers that are proximate to each other.
The directory service is extended by providing future scheduling information in the response to a request for content availability. Future scheduling information; which is generated based on peer requests and peer status includes (1) content's location in the future (see Table 2) and (2) the status of the peers in the future (see Table 3). While illustrated as two separate tables, the location and status tables could be merged as a single table. The peer future status information can be obtained from the peer itself. For example, when a peer joins a P2P community/network, it ca specify the time period that it will remain part of the P2P network. Also, this information can be periodically updated.
In this manner, delayed downloading service can be supported using the following exemplary steps (see
This method requires that all peers participating in the P2P CDN honor the schedules confirmed by the directory service. Peers should not only commit to the schedule for their own requests but also commit to serve other peers. This requirement may not be easy to achieve because the conditions of a P2P network can be very unpredictable. For example, peers can always turn off their computers.
Modifications to the protocol between peers, which support delayed downloading of the requested content until network resources are available, are described now. Not only may the downloading be delayed by the response to the request may also be delayed until the network resources are available. The method is called delayed directory service herein. An exemplary embodiment is shown in
The directory service determines when to send a message to peer A to update content availability information for content m. Since the requests are queued in a preferred order, the directory service controls the downloading order for peers' requests. For example, the directory service can choose to let peer B serve peer C earlier than peer A by sending the directory update message first to peer C. This may be done, for example, because the request made by peer C is earlier than the request made by peer A.
Referring now to
Both methods can be used with content striping as each segment of content is considered independent, smaller size content. Content striping is where the content is divided up into smaller units and each unit is available on some set of peers. The requesting peer is notified of the total number of units of content for the requested movie and the directory service can schedule the individual units of content to be delivered from a plurality of peers. This is more complex because the requesting peer has to reserve space for the plurality of units and put them in order as they are received but this means that the content may be received faster as the units are transmitted and received in parallel rather than serially.
The enhancements for P2P CDN can also be used in a personal network storage (PNS) based P2P CDN, where the network storage resource is more reliable and the enhancements described herein can be applied effectively.
It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. Preferably, the present invention is implemented as a combination of hardware and software. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage device. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM), and input/output (I/O) interface(s). The computer platform also includes an operating system and microinstruction code. The various processes and functions described herein may either be part of the microinstruction code or part of the application program (or a combination thereof), which is executed via the operating system. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures are preferably implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2006/013957 | 4/12/2006 | WO | 00 | 9/23/2008 |