Multimedia & Internetworking Research Group
University of Oreg
on




Multimedia Proxy Caching

Any client-server (i.e. end-to-end) architecture for unicast multimedia streaming over the Internet is likely to suffer from the following limitations:

  • Limited Quality: Streaming applications pipeline data from the server to the client. Thus quality of delivered streams to a client is limited by the bottleneck bandwidth along the path to the server. Thus even a client with a high bandwidth connectivity to the network may receive a low-quality stream because of a remote bottleneck.
  • Limited Scalability: Delivery of high quality multimedia streams in a client-server fashion imposes a heavy load on the server and the network, and could potentially last for a long period of time. Thus the client-server architecture for Internet streaming can not easily scale up to a large number clients. Furthermore, supporting asynchronous access to the same stream could be very inefficient.
  • Limited Level of Interactivity: Because of a potentially long RTT of the client-server path, the client can not low-latency perform VCR-functions. Furthermore, clients are likely to experience long startup latency.
To overcome these limitations, multimedia content should be close to interested clients. There are two potential solutions to this problem,

  • Replication where content of a single server is statically replicated on a number of distributed mirror servers that are typically administrated by the corresponding content provider (i.e. owner of the original server).
  • Multimedia Proxy Caching(MCaching) where a small proxy server cache that is located close to a group of clients (e.g. a campus) and is administrated by them, caches some popular streams from different servers with appropriate quality.

Replication can improve scalability and delivered quality only for the replicated content and those clients that reside close to a mirror server. However, in the presence of "locality of reference" among requested streams by a group of clients, a local multimedia proxy cache can effectively reduce load on the network/server by caching popular streams with appropriate quality and replaying the streams from the cache upon subsequent requests. Similar to Web caching, MCaching can accommodate scalability. Furthermore, MCaching can maximize delivered quality to its associated clients and allows them to perform VCR-functions more interactively. Multimedia objects are several orders of magnitude larger than typical Web objects. To achieve high performance, it is crucial to limit the quality (and thus the size) of the cached streams to the level that can be pipelined to interested clients. e.g. if clients have only 1 Mbps bandwidth, there is no benefit in caching a 5 Mbps version of a popular stream among these clients. By adjusting quality of cached stream, the proxy can caches more streams and improves its performance with minimum degradation of delivered quality.

Notion of quality of cached streams adds a new dimension to MCaching that does not exist in Web Caching. As a result, both design and evaluations of MCaching are more interesting than traditional Web caching. To design an efficient MCaching scheme requires two key mechanisms:

  • Fine-grained Prefetching: to adaptively prefetch high resolution bits and improve quality of cached streams on a demand-driven fashion.
  • Fine-grained Replacement: to avoid fragmentation of cache space and gradually decrease quality of cached streams as they become unpopular.
These requirements reveal that existing Web caching schemes can not perform MCaching efficiently due to their atomic nature of delivery and replacement. Currently, we are developing an MCaching mechanism on top of Squid by leveraging layered organization of data in hierarchically encoded streams. MCaching perfectly complements our end-to-end architecture for delivery of quality adaptative, layered-encoded streams over the Internet.
    Papers & Presentations