The Internet has developed into an important medium for both communication and digital content distribution. Content distributed through the Internet (and more particularly, the World Wide Web) initially consisted primarily of digital commercial goods such as computer software and associated patches and upgrades. Increasingly both business and individual consumers are distributing a wide variety of digital content, such as movies, music, electronic books and amateur video footage.
Although content has conventionally been distributed using a client-server model (where a single server hosts digital content, and it is accessed by multiple clients), more recently protocols have been developed to enable the distribution of content amongst peers (one example of which is the BitTorrent protocol). Despite the increasing popularity of peer-to-peer content distribution systems, they have a number of drawbacks. For example, on networks created by such protocols it can be difficult to distinguish legitimate and authorised content from content that has been the subject of unauthorised modification (e.g., the injection of malware into legitimate software). Such distribution mechanisms also rely upon the content being available from a number of peers. This is typically only true for very popular content. Furthermore, it can be difficult for a content distributor to track how many people have accessed specific content, as the content distributor has very little control over the content after it has been released on a peer-to-peer network.
The client-server model of content distribution does not suffer from these drawbacks. However, as client-server based distribution involves the downloading of content from a single (or very small group) of content servers, those servers can come under heavy load and may be unable to meet all of the requests for content. It is this characteristic which also makes such servers vulnerable to denial-of-service attacks. Furthermore, if the client requesting the content is geographically distant from the server, the transmission of the content from the server to the client may be unacceptably slow.
To address these disadvantages, content delivery networks have developed. These networks enable content to be stored on multiple, geographically dispersed servers. The use of such content delivery networks shares the load between the geographically dispersed servers, and enables good response times and file transfer speeds to be achieved for requests originating from within a wide geographic area.
While conventional content delivery networks provide good load tolerance and quick download times, they involve very high infrastructure costs. These costs are passed on to users of the content delivery networks, with the result that many businesses and consumers cannot afford to make use of such content delivery networks.
With the increasing generation of multimedia digital content, such as audio and video content, and the increasing diversity of devices used to consume multimedia digital content (such as mobile telephones, personal digital assistants, laptop computers, desktop computers and televisions), it is desirable to store multiple versions of multimedia digital content and to ensure that an appropriate version is sent to a requesting client device. The transmission of multiple versions of multimedia digital content can involve high bandwidth use, and consequently high cost.
It is desired to address the shortcomings of the prior art, or at least provide a useful alternative.