\chapter{Content management}
\label{ch:contents}

It is becoming apparent that Internet Protocol (IP) will become the
dominant networking protocol for the next decade. Although IP was
primarily relegated to the Internet, the explosion of services and
capabilities of the Internet have forced changes in the entire
telecommunications industry. It seems, that voice, video and data will
be combined into one stream of data, and that data will use IP. New
high-speed and on-demand services creates new network
requirements. For example, multimedia requires immediate transmission
of the requested information, usually from a remote location. In
addition, the newer information is isochronous; rigid timing and flow
control, which most traditional networks are not designed to provide,
are required~\cite{b24}.

This chapter describes types of data transmitted in networks. Section
5.1 gives on overview of elastic and real-time applications. Section
8.1 studies service models, that are developed to guarantee the
required service for different applications in the IP networks, such
as the integrated service model. Section 5.2 studies the difference
between connectionless and connection oriented transmission, and
section 5.3 between circuit and packet switching. Section 5.4 presents
Internet telephony and section 5.5 video delivering over the Internet.


\section{Elastic applications versus real-time applications}

It varies widely, how low delay affects to an application
performance. Real time applications are the class of applications that
needs the data in each packet by a certain time. The data is
worthless, if it has not arrived by then. Another class of
applications are elastic applications, which will always wait for the
data to arrive.


\subsection{Elastic applications}

Elastic applications will always wait for the incoming data rather
than proceed without it. These applications are to a certain amount
sensitive to delay; significantly increasing the delay of a packet
will often harm the application's performance. Elastic applications
typically use the arriving data immediately, rather than buffering it
for some later time~\cite{b5}.

Elastic applications are divided to several categories according to
their delay requirements: interactive burst (Telnet, X, NFS),
interactive bulk transfer (FTP), and asynchronous bulk transfer
(electronic mail, FAX). The delay requirements are rather demanding
for interactive burst applications, whereas for asynchronous bulk
transfer the delay requirements are rather low. It is likely, that for
a given distribution of packet delays, the performance of elastic
applications will depend more on the average delay than on the delay
distribution.

Compression can be used to improve the performance of serial
lines. The slower the line speed is the greater is the benefit. Text
data sent in large packets can generally be highly compressed. Smaller
packets will not benefit from compression as much because there is
less opportunity to squeeze out redundancies in small amounts of
data~\cite[pages 59--60]{b4}.

Because arriving data can be used immediately, elastic applications do
not require any a priori characterization of the service. An
appropriate service model for the elastic applications is the
best-effort service already existing in the Internet~\cite{b5}. These
applications usually require perfect delivery, data can not be lost
without causing harm. The quality of the data transmission is
described for example, by the number of the errors per time unit which
is measured with a bit error rate (the share of faulty bits of sent
bits)~\cite[pages 379--380]{b9}.


\subsection{Real-time applications}

Also real-time applications tolerate small delays. But in contrast to
elastic applications, they are sensitive to higher delays and delay
variations.

An important class of real-time applications are playback
applications, which aim to solve the jitter (delay variation)
problem. In a playback application, the source takes some signal,
packetizes it, and then transmits the packets over the network. The
network inevitably introduces some variation in the delay of delivered
packets. The receiver depacketizes the data and then attempts to play
back the signal. This is done by buffering the incoming data and then
replaying the signal at some fixed offset delay from the original
departure time. Well-known playback applications are the video tool
vic and the audio tool vat~\cite{b5}.

Real-time applications can further be subdivided to rigid and adaptive
applications. Rigid applications have a fixed playback point, while
adaptive applications adapt their playback point according to the
current network conditions. Rigid applications use a delay bound
advertised by the network to set their playback point. Adaptive
applications take advantage of the smaller actual delay, but they risk
setting the playback point too early and loosing packets.


\section{Connectionless versus connection oriented mode}

This section studies two transmissions modes: connectionless and
connection oriented mode. In the connectionless mode, packets are sent
independent of each other and they may arrive out of order. It is
fast, since no connections need to be setup. It is also suitable if
the time between request and answer is long, because no state
information is kept for the connection. However, it will not discover
for example, that a server is down until it fails to answer a request.

In the connection oriented mode the connection has to be established
between source and destination before communication can begin. Two-way
communications flow along the connection. When the session is over,
the connection will be broken. Packets are constrained to follow one
another in order, arriving in sequence at the destination~\cite[pages
71--72]{b37}. Connection oriented transmissions may be established on
top of connectionless ones.


\subsection{User Datagram Protocol (UDP)}

Internet Protocol (IP) is an example of the connectionless
mode. Transmission Control Protocol (TCP) and User Datagram Protocol
(UDP) use the Internet Protocol as a network layer. UDP is a
connectionless datagram delivery service that does not guarantee
delivery. Unlike TCP, UDP does not include a congestion control
mechanism. UDP does not maintain an end-to-end connection with the
remote UDP module; it merely pushes the datagram out on the net and
accepts incoming datagrams off the net.

UDP is used to real-time data delivery. For real-time data,
reliability is not as important as timely delivery. For example, in
network congestion, some packets might get lost and the application
would result in lower but acceptable quality. To use UDP as a
transport protocol for real-time traffic, some functionality has to be
added. Real-time Transport Protocol (RTP) is an IP-based protocol
providing support for the transport of real-time data, such as video
and audio streams. Applications typically run RTP on top of
UDP~\cite{b7}.

UDP offers service also to the user's network applications. Network
applications that use UDP are: Network File System (NFS) and Simple
Network Management Protocol (SNMP)~\cite{b38}.


\subsection{Transmission Control Protocol (TCP)}

TCP provides different services than UDP. TCP offers a connection
oriented mode and it guarantees the delivery. TCP is used by network
applications that require guaranteed delivery and cannot be bothered
with doing time-outs and retransmissions. However, TCP is
under-powered by design, to accommodate bandwidth-intensive graphics
or real-time two way interactive voice and video.

The two typical network applications that use TCP are File Transfer
Protocol (FTP) and Network Terminal Protocol (TELNET). Other TCP
network applications include Hypertext Transfer Protocol (HTTP),
Simple Mail Transfer Protocol (SMTP), X-Window System and rcp (remote
copy)~\cite{b38}. TCP requires more CPU power and network
bandwidth. TCP/IP is used as a communication protocol in intranets
(private networks) an extranets.


\section{Circuit-switching versus packet-switching}

Internet provides connectionless packet-switched service whereas
telephone service is circuit-switched. Phone networks use circuit
switching: an end-to-end circuit must be set up before the call can
begin. A fixed share of network resources is reserved for the call,
and no other call can use those resources until the original
connection is closed. An advantage of circuit-switching is that it
enables performance guarantees such as guaranteed maximum delay. It is
also easier to do detailed accounting for circuit-switched network
usage~\cite{b39}.

The Internet uses packet-switching technology. The term packets refers
to the fact that the data stream from computer is broken up into
packets of about 200 bytes (on average), which are then sent out onto
the network. Each packet contains a header with information necessary
for routing the packet from origination to destination. Thus each
packet in a data stream is independent. The main advantage of
packet-switching is that it permits statistical multiplexing on the
communications lines. That is, the packets from many different sources
can share a line, allowing for very efficient use of the fixed
capacity~\cite{b39}.

In today's Internet all packets receive the same quality of service
sharing resources equally between users, and packets are typically
forwarded using a FIFO queuing discipline. The Internet offers only a
very simple quality of service (QoS), point-to-point best-effort data
delivery. The network promises nothing but tries to deliver packets as
soon as possible. If the network becomes overloaded, packets are
delayed or discarded (dropped). Real-time applications often do not
work well across the Internet because of variable queuing delays and
congestion losses.

Some packet-switching networks are connection-oriented (notably, X.25
networks, such as Tymnet and frame-relay networks). In such a network
a connection is set up before transmission begins, just as in a
circuit-switched network~\cite{b39}.


\section{Internet telephony}

Voice over IP (VoIP) and Voice On the Net (VON) are terms used in IP
telephony. Delivering voice over Internet means, that voice is
packetized as defined by IP, and sent over the Internet to facilitate
telephone-like communication.

Access to services enabling internetworking across the Public Switched
Telephone Network (PSTN) to and from the Internet, as well as access
to advanced integrated services, is still at an early stage, due to
limited bandwidth, processing power, service development, and
interoperability. Network delay is an important factor in the
voice-data convergence. In the table~\ref{fig:internettelephony} is
listed further requirements of Internet telephony. These requirements
are related to service level and network level, which are discussed in
chapters ~ref{ch:service} and ~ref{ch:network}.

authentication and certification billing customer service emergency
messaging security network management performance measurement quality
of service (QoS)

%\caption{Internet telephony requirements~\cite{b13}}
\label{fig:internettelephony}


A key element in making effective use of the IP telephony technology
is the development and use of gateways that bridge the IP environment
of the Internet and the circuit-switched environment of the public
telecommunications network. The IP technology currently employed on
the Internet uses non-deterministic switching, which offers little
potential for approximating real-time voice connectivity in that
environment, except through overprovisioning of bandwidth. However,
using IP networks, either conceived as Intranets or Virtual Private
Networks (VPN), to provide voice services across a well-managed,
over-provisioned, best-effort network, is technically feasible
today~\cite{b13}. Voice will only migrate to IP, if terminal devices
can utilize IP and quality can be guaranteed.


\subsection{Quality of service}

The difficulty of packet-based voice communication is, that individual
packets can take different routes across the Internet and arrive at
different times. Real-time voice communication requires timely
delivery to avoid significant pauses which would render it virtually
unusable, or at least not nearly comparable to traditional telephone
communication.

To ensure that packets get delivered in a timely way, VoIP uses the
real-time protocol (RTP) in addition to IP. Using public networks, it
is currently difficult to guarantee Quality of Service (QoS). Better
service is possible with private networks managed by an enterprise or
by an Internet Telephony Service Provider (ITSP).

VoIP vendors are already working on implementing the Resource
ReSerVation Protocol (RSVP), which reserves bandwidth across the
Internet for time-sensitive traffic. RSVP was designed for multimedia
over IP, but would work as well for voice. With it, routers signal
each other to request a clear path through a network and set it up. It
is also possible to get so many such requests that the routers cannot
honor all of them~\cite{b14}.


\subsection{Current problems}

\begin{itemize}
\item Standard
The difficulty is the interoperability between Internet telephony products and interworking with legacy Public Switched Telephone Network (PSTN)-based systems and services. Standard development and adoption are the key to ensuring interoperability.
\item Quality
Voice performance is measured by delay. Latency increases on the Internet and it is currently difficult to guarantee Quality of Service (QoS).
\item Capacity
The Internet can not guarantee network bandwidth, packet sequence and latency. The network overload results in delays in packet transmission, with packets arriving too late at the receiver to be played back and are therefore, discharged. Current Internet telephony applications repair lost packets with silence, which leads to the speech clipping effects.
\item Social issues
Regulation of Internet telephony has not been made. In most countries, governments or government-sanctioned entities have retained monopolies for provisioning traditional telephone services~\cite{b19}.
\end{itemize}


\section{Video over IP networks}

In a heterogeneous best-effort IP network environment, a video
streaming service may have to operate under conditions that are less
than ideal for playing back video at the encoded quality. Another
problem is the variation in the receiver's video playback
capability. Not all receivers may have the resources necessary to play
video at the encoded quality. A third problem is contention for CPU
and I/O resources at the video server. This may cause variations in
the transmission rate supportable by the server~\cite{b21}.


\subsection{Video compression}

Video coding applied to the differences of video frames in an attempt
to eliminate temporal redundancy is called inter-frame
coding. Temporal redundancy is the relationship between video
frames. Video coding applied to individual frames in an attempt to
eliminate spatial redundancy is called intra-frame coding. Spatial
redundancy is the relationship each pixel has with the neighboring
pixels.

Both inter-frame and intra-frame coding can be lossless or lossy. If
the compression is lossless, the data will be decoded exactly as it
was before it was encoded. Huffman coding is an example of lossless
compression. In the case of image and video compression, it is almost
always done with lossy algorithms. A file compressed with a lossy
algorithm is not exactly the same as it was before compression, but it
is close enough to still be useful. The advantage of lossless coding
is that it preserves the integrity of the original input video
stream. However, the amount of compression achieved from lossless
coding is relatively small: on the order of a 3:1 compression
ratio. Lossy video coding on the other hand distorts the original
video stream by returning only an approximation of the original
input. However, the compression achieved from lossy coding is much
higher: on the order of 30:1.

There are several video compression standards, such as MPEG-1, MPEG-2,
H.261, H.263, and Motion-JPEG (MJPEG). Some video compression
standards, such as MJPEG, use only intra-frame coding, so errors in
one frame do not propagate to other frames and they cause only a
little noticeable effect to a viewer. Other standards, such as MPEG
and H.263 use inter-frame coding, which can improve the compression
efficiency. However, if a packet loss occurs, the effect is much more
noticeable, because it can persist for many frames~\cite{b48}.

Network errors require the use of concealment techniques to provide
the video and audio quality necessary for the above applications to be
widely accepted and used. It is possible to improve the quality of
video and audio transport by using retransmissions. The idea is that
retransmissions should be used as long as it is possible to have the
retransmitted data arrive at the receiver prior to its playback
deadline. Error control can also be done using forward error
correction (FEC). Priority Encoding Transmission (PET) applies FEC
approach. It focuses on fault tolerant transmission of prioritized
data over packet switched networks. The prioritized message encoded
into packets in such way that any destination can recover the message
in priority order based only on the number of packets received and
processed~\cite{b20}.


\subsection{Multicasting}

Traditional communication modes have been unicast (one-to-many) and
broadcast (one-to-all). Among them is multicast, the targeting of a
single data stream to a select set of receivers, which may or may not
include the sender.

The multicast distribution of real-time video is an important
component of many current and emerging Internet applications, such as
video conferencing, distance learning, remote presentation, and
media-on-demand.

Multicast video distribution over the Internet requires:
\begin{itemize}
\item Support mechanisms for multicast data delivery, and
\item The ability to accommodate the real-time requirements of digital video.
\end{itemize}

The Internet supports group addressing of multicast packets. However,
the exact architecture of large-scale deployment of multicast support
is still evolving.

Two general approaches, that can be used for the real-time requirements of multicast digital video are:
\begin{itemize}
\item Incorporating QoS support within the Internet to allow video distribution applications to be able to reserve resources and establish bounds on data delivery delay, delay jitter, and data loss
\item Using adaptive rate control techniques to adjust the video traffic characteristics according to the available Internet resources.
\end{itemize}

Even when resource reservation and quality of service guarantees may
become widely deployed, application adaptation will continue to be
required to allow for tolerance reservation inaccuracy because of the
difficulties inherent in making accurate traffic
specification~\cite{b20}.

Internet services that provide QoS (e.g., IP telephony, TV and radio
over IP) cannot cover costs using pricing models available today. Full
deployment of multicast services with built-in cost sharing
functionality could be the final reason to converge broadcast media
into the Internet and make them globally available~\cite{b47}.

