A key issue for our customers is whether to centralize or distribute video servers. A centralized model avoids the costs of installing and maintaining servers in cramped remote distribution hubs, potentially reducing ongoing operating expenses. However, centralized servers offer limited scalability because of the additional load that is placed on the IP backbone network. For example, a VoD subscriber will typically need at least 10 times more bandwidth over the IP backbone than a subscriber using data and voice services. In addition, the quality of MPEG-2 encoded video is highly susceptible to delay, jitter, and packet loss.
Video on demand bandwidth consumption in the IP network can be minimized by locating on-demand servers as near to the subscribers as possible (i.e., in distribution hubs). However, as the volume of available on-demand content increases, replicating all content at every distribution hub becomes impractical. Therefore, it is likely that most cable operators will converge on an architecture that supports a combination of centralized servers for low-demand content and distributed servers for high-demand content.
Distributing video over core and access networks is necessary for the delivery of IP video services. Two main categories of video service exist: On-demand and live/scheduled.
An on-demand program is receiver-controlled; each receiver fully controls the streaming session. At any time, the receiver may initiate the program stream, control it via VCR-like functions (or “trick” modes) such as fast forward, rewind or pause and also terminate the program.
Live/scheduled programs, on the other hand, are source-controlled and transmitted continuously. A receiver may only tune to such a program to listen to it or watch it, but cannot control it. Note that the content source in a live program is a real-time event that is encoded and transmitted as it is happening. Content source of a scheduled program, on the other hand, is a pre-recorded event stored on videotape, DVD/CD or some other medium.
Multiple ways to transmit a video program over an IP network exist. These include unicast, multicast, splitting (or reflected unicast) and edge multicast (or reflected multicast).
In a unicast transmission, each receiver receives its own stream from the media server. With 1,000. active receivers, for example, the media server ‘serves’ 1,000 streams. Though unicast allows a receiver to fully control the stream, it quickly becomes unscalable because of the significant demand it places on network and server resources. For live/scheduled programs, unicast is clearly quite inefficient.
Multicast is an efficient Layer 3 mechanism for delivering a media program to many receivers. Here, the server sends out a single program stream to a multicast group. The multicast-enabled IP network to which this server and the intended group of receivers are connected is responsible for delivering this stream. If the receivers are spatially distributed (in a network sense), then the IP network replicates the stream as necessary to reach all receivers of that multicast group.
Multicast is quite efficient for live or scheduled programs because 1) it requires minimal server resources – only one stream per program regardless of the number of receivers; and 2) it requires minimal stream replication in the network, at most one stream per link depending on the receiver distribution.
Note that the server continuously transmits each live/scheduled program stream. Receivers join and leave the program asynchronously using the Internet Group Multicast Protocol (IGMPv2, RFC 2236). The IP multicast network is responsible for building an efficient tree to distribute multicast traffic. Edge network devices are responsible for maintaining the group membership of receivers and replicating streams to them.
The term “splitting” describes an efficient delivery mechanism of live/scheduled programs over a non-multicast network.
Splitting allows tree-based distribution of unicast streams to the network edges. Each receiver connects to an edge server close to it (as determined by the request routing mechanism). The edge receiver then determines a path from it to the origin server. The number of program streams served by the origin server equals the number of servers participating in that program at the next lower hierarchy. In the two-level hierarchy shown in the figure, both second- level (edge) servers are participating in streaming the program. Thus, the origin server is sending two unicast streams, one to each participating edge server. Each edge server splits the incoming stream into multiple unicast streams, one per each participating receiver.
Even with splitting, the edge server fan-out may be a concern when serving to a large community of users. Hence, it is beneficial to convert the edge portion of the non-multicast network to multicast. Streams traverse most of the network as unicast via splitting (as discussed above) or via generic route encapsulation (GRE) tunnels that encapsulate multicast traffic in a unicast tunnel. The last-hop delivery of this stream, from edge to user community, is via multicast.
QoS and Streaming:
A critical consideration when designing streaming media networks is quality of service (QoS). To deliver a consistent, high-quality user experience, the network must maintain a given stream’s specified latency and throughput requirements.
On the optical backbone network segment, from head end to hub, QoS is achieved using either differentiated services (diff-serv), resource reservation protocol (RSVP) or a combination of both. Diff-serv classifies IP packets into a few aggregated classes using type of service (ToS) bits or diff-serv code points (DSCP). RSVP may be used to reserve bandwidth on a per-data-flow basis through the core IP network or to dynamically assign DSCP values to each flow. In addition, RSVP signaling is used to initiate, configure and terminate DOCSIS 1.1 service flows between the CMTS and cable modems.