In the client-server multimedia streaming, each client requests and obtains what it wants directly from the streaming server.
Client-server based multimedia streaming has been widely deployed over the Internet. With this approach, each client requests and obtains what it wants directly from the streaming server. The server is responsible for managing and allocating resources for streaming desired multimedia data for the requests from clients.
Delivery of multimedia data can be achieved by either unicast or multicast. For unicast delivery, each client (C) has a dedicated channel established between the server (S) and itself for data delivery (see Figure 1). The client first issues requests for service to the streaming server. When this request is received, the server decides whether this request will be accepted or not based on the network conditions and the availability of system resources. If all of them are got ready, the request is accepted and the server will allocate resources to handle the request. Otherwise, the server rejects the request and the clients may en-queue for service in the system until the resources are available. This approach is simple to manage, however, it is inefficient in terms of bandwidth utilization when most of the clients request for the same media content. So, another approach, multicast, is used for removing this flaw of replication.
For multicast delivery, no dedicated channel is needed to establish between the client and the server (see Figure 2). The streaming server sends one copy of each media contents to the multicast network. The client simply listens on the multicast channel(s) for desired media content. The beauty of this approach is that the bandwidth requirement is still kept constant compared with the increasing number of clients. The disadvantage of this approach is that the clients have to wait for about half of media duration on average before the next start of the media content. In order to reduce the startup latency, many different broadcast protocols have been developed, such as staggered broadcasting and pyramid broadcasting. These protocols require extra bandwidth consumption which is indirect proportional to the startup latency requirement. On the other hand, lack of flexibility to meet a wide range of QoS requirements from the users also poses a great challenge for streaming media content using multicast.
Both unicast and multicast approaches cannot totally adapt the heterogeneous environment such as the Internet. Moreover, multiple channels allocation aggravate bottleneck on the server side. Hierarchical network architecture has exploited to provide scalable system with lower cost. An intermediate device, called proxy, is deployed between the central server and the client. In such framework, part of the multimedia data can be temporarily stored in a proxy so that the workload of the server can be greatly alleviated.