INTERNET-DRAFT                                           Rahul Banerjee
<draft-banerjee-rtp-vod-00.txt>                            BITS, Pilani
                                                           Venkatesan V
                                                           BITS, Pilani
                                                              Bharani M
                                                           BITS, Pilani
                                                          Swaminathan P
                                                           BITS, Pilani
                                                     Rajesh Kumar Reddy
                                                           BITS, Pilani
                                                      November 22, 2002

                  An extension of RTP and RTCP protocols
                       For Video-on-Demand systems
                     <draft-banerjee-rtp-vod-00.txt>


Status of this Memo

 This document is an Internet-Draft and is in full conformance with
 all provisions of Section 10 of RFC2026.

 Internet-Drafts are working documents of the Internet Engineering
 Task Force (IETF), its areas, and its working groups.  Note that
 other groups may also distribute working documents as Internet-
 Drafts.

 Internet-Drafts are draft documents valid for a maximum of six months
 and may be updated, replaced, or obsoleted by other documents at any
 time.  It is inappropriate to use Internet-Drafts as reference
 material or to cite them other than as "work in progress."

 The list of current Internet-Drafts can be accessed at
 http://www.ietf.org/ietf/1id-abstracts.txt.

 The list of Internet-Draft Shadow Directories can be accessed at
 http://www.ietf.org/shadow.html.

Abstract:
        This memorandum specifies an extension to RTP and RTCP as
specified in RFC 1889 [1] specifically designed to extend support to
Video-on-Demand systems in particular and unicast systems in general.
It is presented through an experimental Video-on-Demand Architecture
that supports dynamic changes in the distribution pattern and load
balancing to optimize the service quality provided to the user.










draft-rtp-vod-00.txt                                       [Page 1]


INTERNET-DRAFT                                        November 22, 2002


Contents:

1     Introduction ................................................2
2     Overview of the architecture ................................3
2.1   Components of the VoD architecture ..........................3
2.2   Working of the VoD system ...................................3
3     Overview of dynamic scheduling concept ......................5
4     The protocol ................................................6
5     Packet formats ..............................................9
5.1   The RTP-Ext header format....................................9
5.2   The fixed part of the RTCP-Ext header........................10
5.3   The RTCP-Ext packet format...................................11
6     Appendix ....................................................13
6.1   Parameters...................................................13
6.2   Load Calculations............................................14
6.3   Algorithm for evaluating the distribution pattern............14
6.4   Full address of authors .....................................15
7     Security Considerations......................................15
8     Copyright statement..........................................15
9     References ..................................................16





1. Introduction:

        RTP and RTCP as specified in RFC 1889 [1], although having support
for both multicast and unicast applications, when used for a unicast
application, need to be tailored specifically to needs of the unicast
application. Applications such as Video-on-Demand which are specifically
unicast applications would not need to use some of the features provided
by the existing specification of RTP and RTCP. In addition, the set of
protocols need to be tailored in specific implementations in order to
meet the needs of specific applications.

        The protocol extensions suggested in this draft are best explained
using an experimental architecture for Video-on-Demand systems. Video-
on-Demand is a typical example of a unicast application. The rest of the
draft is explained on the basis


        This article presents the existing architecture for VoD system
and introduces changes in the existing architecture for achieving
better quality in the video at the client end. The article is organized
as follows: introduction of the existing architecture, overview of the
new architecture, protocol for communication in the new architecture,
existing protocols tailored for the new architecture and mathematical
models for estimation of optimum parameters.






draft-rtp-vod-00.txt                                       [Page 2]


INTERNET-DRAFT                                        November 22, 2002

2. Overview of the architecture:

2.1 Components of the VoD architecture:


        The existing architecture of VoD system has the following
components:


1. Client: The client is the machine, which sends a request for a video
file. The client has the player software, which runs the received video
file. The client also has a buffer which buffers the data received from
the video server.

2. Control Server: The control server(s) takes care of the control
operations involved in the transfers of the data. When a request is
received from a client machine for a video file, the control server
that runs the Load Balancing Tool (LBT) estimates the least loaded
video server and assigns that video server to serve the client. The
control server is the central point from which all the video servers
can be accessed.

3. Video Server: The video server contains the video files. The video
server also maintains a database of the video files present in it. When
a client connects to the system, the video server sends the list of
video files present in it. The client then sends a request for a video
file. When video server is selected to serve the client, it transfers
data in chunks to the client.


2.2 Working of the VoD system:

        The process starts with the client sending a request for a video
file. The Load Balancing Tool (LBT) evaluates the least loaded video
server among the video servers having the requested video file. When
the admission control succeeds, the selected video server starts
serving the client. It sends the video file in chunks to the client.
The transmission follows the RTP and RTCP [1].
        Once a video server is assigned to serve a client, it continues
to serve the client until the end of transmission or until the point
the transmission stops under some error condition.












draft-rtp-vod-00.txt                                       [Page 3]


INTERNET-DRAFT                                        November 22, 2002

+----------------------+
| Client sends request |
| for video file       |
+----------------------+
        |
        |
        |
        |
        |    +--------------+     +---------------+   +-------------+
        +--->| LBT estimates|     |Least loaded   |   |VS servers   |
             |least loaded  |---->|server assigned|-->|client until |
             |server        |     |to client      |   |EOT          |
             +--------------+     +---------------+   +-------------+

                                        fig. 1

The sequence is shown in fig.1. The encircled region shown the part



which is static. In this context, the word æstaticÆ means that once the
LBT estimates the least loaded server and a video server is assigned to
serve the client, the same video server keeps serving the client until
the EOT.

The various processes that run to accomplish the VoD function are the
following:

* client: This process runs in the client machine. This process
communicates with the video server sending request for video files and
getting the response back.
* player: This process runs in the client machine. This is the software
which plays the data received from the video server and stored in the
buffer.


* video server: this is the process that communicates with the control
server for regulating the transmission and with the client for the
actual data transfer.
* Meta data manager (MDM): this process runs in the video server which
is involved with the database of video files present in the video
server.
* Control server: this process is responsible for all control functions
such as accessing data and files in the video server.
* Load Balancing Tool: this process runs on the control server. This
process evaluates the load on the video servers when a client sends a
request for a video file.






draft-rtp-vod-00.txt                                           [Page 4]


INTERNET-DRAFT                                        November 22, 2002

3. Overview of dynamic scheduling concept:

        According to the existing architecture and implementation, once a
video server is assigned to serve a client, it keeps serving the client
until the end of the transmission or until the point the transmission
stops due to some error. This model though simple, does not take into
account the dynamically changing load on the video servers. The model
just evaluates the load on the video server at the point of admission
and hence forth ignores the change in load with time on the video
server. Though the admission control policy takes care that the number
of clients served does not exceed a number where the QoS demands cannot
be met, a better response time can be achieved at the client end if the
number of clients server by a video server decreases. This goes by the
equation :

               Response time  = k * 1/no of clients

               where 'k' is proportionality constant.

The new system is based on this principle, to minimize the response
time whenever possible. The new schema, deals with the dynamically
changing load on a video server, and proposes an alternative method so
that load gets distributed over time and all the video servers have
minimum possible clients to serve.

  We see that the response time is inversely proportional to the number
of clients connected to it. When the number of clients served by a
video server decreases, better response time is achieved for those
clients. Though the processor efficiency is maximum  when the maximum
number of clients it can serve are allowed, the best response time is
not achieved. In applications like Video-on-Demand, where there are
more than one servers (video server), response time is one of the most
important parameter. By distributing the load among the video servers,
the efficiency for the group of video servers remains the same and the
response time at the individual clients either becomes better or
remains the same.


  The control server evaluates the load on the video servers
periodically. Hence, there must be periodic exchange of information
between the video servers and the control server. The video server
sends information about the load present on it at regular intervals of
time. The control server gets the load information from different video
servers, evaluates the load on these video servers, finds a
distribution pattern and sends a response back to the video servers.
  During the time the control server calculates the distribution
pattern, there is a delay involved. This gives a pause at the client
end which is undesirable. In order to avoid this delay, the video
servers keep streaming the video to the client during the time the
control server evaluates the distribution pattern. When the control
server sends back the response to the video server and if there is a
shift in the video server for a particular client, the client starts

draft-rtp-vod-00.txt                                           [Page 5]


INTERNET-DRAFT                                        November 22, 2002

receiving data from the newly assigned video server. The entire load
shifting process is discussed in sec.4
Better response time is achieved at the cost of the overload in
distributing the load and a few additional functions to be performed by
the client.



4. Protocol:

(1)For the dynamic scheduling to happen the video servers must send
information about their load to the control server every fixed interval
of time. This information is sent as an RTCP packet with server
statistics (SERVSTAT) report in it. The estimation of time interval is
discussed in the appendix. This SERVSTAT report carries information
about the load on the video server. The control server receives the
SERVSTAT report from all the video servers in the system. These reports
give a picture of the load distribution in the system. The video server
after sending the SERVSTAT packet keeps streaming video to the clients.



                         +-------+
                +------->|  CS   |<------+
      SERVSTAT  |        +-------+       |   SERVSTAT
                |                        |
                |                        |
             +-------+              +-------+
             | VS-A  |              |  VS-B |
             +-------+              +-------+



                          +-------+
                          |client |
                          +-------+



(2)The control server on receiving the SERVSTAT report from all the
video servers evaluates the distribution pattern. For this evaluation,
it uses the load information sent by the video servers. The estimation
of the distribution pattern is discussed in appendix

(3)If for a particular client, a different video server (video server
A) is scheduled, then the control server sends a DEL report to the
video server (video server A) which is serving the client.






draft-rtp-vod-00.txt                                           [Page 6]


INTERNET-DRAFT                                        November 22, 2002


                         +-------+
                         |   CS  |
                         +-------+
                             |
                             | DEL
            +-------+        |      +-------+
            |  VS-A |<-------+      | VS-B  |
            +-------+               +-------+



                          +-------+
                          |client |
                          +-------+


(4)The video server A on receiving the DEL packet from the control server,
responds by sending a SWITCH packet to the client. This SWITCH
report carries information about the new video server (video server B)
the client has to receive video from. The video server informs the
client about the change in the server through a SWITCH packet.


                         +-------+
                         |   CS  |
                         +-------+


            +-------+               +-------+
            |  VS-A |               | VS-B  |
            +-------+               +-------+
                |
                |
                |  SWITCH
                |
                |        +-------+
                +------->|client |
                         +-------+


(5)The client receives information about the new video server it has to
get data from the SWITCH packet. Now the client sends a REQ packet to
the new video server it has to receive data from. The client now has to
send an offset from where the server B starts streaming. For this
value, the client decides the size of the data it has to buffer before
it can start playing data from the new video server. The client adds
the size of the data it has to buffer to the current offset of the file
it has received and sends the resulting value in the REQ packet. The
buffer size varies from one client to another. So different client add
different value to the current offset.


draft-rtp-vod-00.txt                                           [Page 7]


INTERNET-DRAFT                                        November 22, 2002


                                     +-------+
                                     |   CS  |
                                     +-------+


                        +-------+               +-------+
                        |  VS-A |         +---->| VS-B  |
                        +-------+         |     +-------+
                                          |
                                          |  REQ
                                          |
                                     +-------+
                                     |client |
                                     +-------+

(6)The video server B on receiving the REQ packet starts streaming the
video file from the requested offset onwards. The client buffers the
data received from the video server B. It also simultaneously receives
data from the video server A. It plays data which is buffered from
video server A. When the client receives the first data chunk which
overlaps with the data from video server B it sends a BYE packet to
video server A. Then it starts playing data buffered from the video
server B. When video server A receives the BYE packet from the client
it stops its transmission. The server A keeps transmitting data until
it receives the BYE packet. Hence there will a overlap in data received
from server A and server B. The client ignores the data packets from
server A. Since the client starts playing data from server B only after
buffering sufficient amount (during which it receives and plays data
from server A) the delay due to slow transmission from B is avoided.

                                     +-------+
                                     |   CS  |
                                     +-------+


                        +-------+               +-------+
                        |  VS-A |<------+       | VS-B  |
                        +-------+       |       +-------+
                                        |
                                    BYE |
                                        |
                                     +-------+
                                     |client |
                                     +-------+

(7)Once the client sends a BYE packet to the server A, it buffers and
plays data only from server B. The client has now switched from video
server A to video server B. After the next time interval, the video
servers send their SERVSTAT packet and the cycle continues.



draft-rtp-vod-00.txt                                           [Page 8]


INTERNET-DRAFT                                        November 22, 2002

5. Packet Formats:

   The format of the different packets involved in the communication
between different components is given below


5.1 The RTP-Ext header format

The RTP-Ext header is of fixed length and contains the following
fields. However, it has the option to be extended by using a header
extension bit. The format of this is the same as the RTP header
extension as described in RFC-1889 [1].

The RTP-Ext header is of the following fixed format.



    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | V=2 |P|X|  ---  |     PT      |       sequence number         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Timestamp                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Server Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Stream Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Stream Offset                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The header is of length 20 octets. The header may be extended using the
extension bit but it is recommended not to use this field. However
implementations should be prepared to parse and ignore header
extensions that are not supported by them. The details of header
extensions are the same as described in RFC-1889.

The fixed part of the header has the following fields

Version (V): 3 bits
This field identifies the version of RTP-Ext. The value defined by this
draft version is 1.

Padding (P): 1 bit
This bit indicates that there are one or more padding octets at the end
of the payload which are not part of payload. The last octet of the
padding indicates how many octets should be ignored.

Extension bit (X): 1 bit
This bit indicates that an extension header as suggested in section
5.3.1 of RFC-1889 follows the fixed length header.


draft-rtp-vod-00.txt                                           [Page 9]


INTERNET-DRAFT                                        November 22, 2002

Reserved Field: 4 bit
There is a three bit reserved field left unspecified for experimental
purposes. Although implementations can ignore this field, it is
strongly recommended that this field be set to zero on the sender side.
Similarly the receiver makes sure this value if zero. This is to make
sure malicious parties do not misuse this field.

Payload type (PT): 7 bits
This field identifies the payload format and is application specific.
The mapping of these codes to the corresponding codes could be a static
binding or could be a dynamic one which is appropriately communicated
to the receiver before start of the streaming.

Sequence number: 16 bits
The sequence number is a 16-bit value that is used to detect packet
loss and packets that arrive out of order. The initial value is
unpredictable for security reasons and to minimize clash with older
packets left over from a previous stream. The value wraps around on
reaching the maximum value.

Time stamp: 32 bits
The time stamp is needed for jitter calculations. It is not necessary
that this timestamp reflect the actual time at which the packet is send
nor is it required that the sender and receiver should be synchronized.
( Refer to RFC-1889 sec 5.1 )

Source Identifier: 32 bits
This is a 32 bit address that is chosen randomly to identify the source
of the packet. This is described in RFC-1889. The other details of the
server can be known from the SDES packet


5.2 The fixed part of the RTCP-Ext header

There is a fixed length portion of the RTCP-Ext header that is common
among all the packet types and spans 3 octets. This is similar to the
RTP-Ext header. The fixed part of the RTCP-Ext header will therefore
look like this.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | V=2 |P|N|  -----  |     PT      |      sequence number        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          timestamp                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Source Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The field unique to this header in contrast to the RTP-Ext header are

Next header (N): 1 bit

draft-rtp-vod-00.txt                                          [Page 10]


INTERNET-DRAFT                                        November 22, 2002

RTCP-Ext could make a compound packet formed out of many RTCP-Ext
packets. In such a scenario, the N bit indicates whether this header is
followed by another RTCP-Ext header. The flag is set to indicate anther
header following this one and cleared to indicate that this one is the
final one.

Packet Type (PT): 7 bit
This field identifies the type of current RTCP-Ext header. This could
be one of the types like SR, RR, SDES, SERVSTAT, BYE, DEL, etc.


5.3 The RTCP-Ext packet format

As discussed earlier the RTCP-Ext packet has a fixed length header
prefix followed by type specific data. The type of the packet as
indicated by the packet type could be any of SR, RR, SDES, BYE or APP
as defined in RFC 1889. In addition three packet types are additionally
defined to take care of the dynamic scheduling aspect of the
architecture. The control server evaluates the loads on these video
servers based on reports obtained from them and makes required
modifications to the distribution pattern. These three packet types
facilitate this communication.

These packet types are

SERVSTAT:
        This packet is sent at periodic intervals by the video servers to
the control server to allow it to calculate the load on the video
servers and the required changes to the distribution pattern. This
calculation could use the number of clients being served and total
capacity of the servers. In addition to the 3 octets common among all
RTCP-Ext headers the remaining structure of the SERVSTAT packet is

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | N Clients     |  Server Load    |       Server Capacity       |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |                      Client Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Stream Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         File Size                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        File Offset                            |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
                àà..

The fields in the packet are described below.

N Clients: 8 bits
The number of clients currently being served by the video server.

draft-rtp-vod-00.txt                                          [Page 11]


INTERNET-DRAFT                                        November 22, 2002

Server Load: 8 bits
This is a metric which indicates the extent to which the server is
loaded.

Server Capacity: 16 bits
This is a metric which indicates the capacity of the server. Refer the
Appendix 6.2 for the description of this metric


Client Identifier:  32 bits
A 32 bit identifier of the client. This is a randomly chosen value and
is in fact, the value used as the source identifier in any packet
originating from the client.

Stream Identifier: 32 bits
A 32 bit identifier that uniquely identifies any of the files that
are available with the video server.

File Size: 32 bits
This is the size of the video file in bytes. This is used in a
calculation by the control server.

File offset: 32 bits
A 32 bit value indicating the current offset of the file which is
being served by the server.



DEL packet:
        This packet is sent by the control server to a video server when
it is intended that the distribution pattern has to change. Assuming
that the client is currently receiving steaming data from a video
server A and it is intended that the client instead get the data from
video server B, the control server sends a DEL packet to the video
server A instructing it to put these changes to effect. The packet has
the following format


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Client Identifier                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Stream Identifier                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    New Server Identifier                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Client Identifier: 32 bits
This identifies the client, which is involved in the switching
process.

draft-rtp-vod-00.txt                                          [Page 12]


INTERNET-DRAFT                                        November 22, 2002

Stream Identifier: 32 bits

The identifier of the stream that is being served by the video
server to the indicated client.

New Server Identifier: 32 bits
The identifier (IP Address) of the new video server to which the
client is expected to switch.


SWITCH:
        This packet is sent by a video server to its client instructing
it to initiate a switch from this server to another. In the case
described above, video server A sends a SWITCH packet to its client
instructing it to switch to video server B. The packet has the
following format

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Stream Identifier                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    New Server Identifier                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Stream Identifier: 32 bits
The identifier of the stream being accessed by the client

New Server Identifier:
The identifier (IP Address) of the new server to which the client
is expected to switch.

6. Appendix:

6.1 Parameters:

        These are parameters whose value cannot be estimated using
formulae. These parameters depend on the VoD system nature and the
human response to video.
The following parameters fall into the category:

1.the time interval between the exchange of the information and
response packet. This parameter depends on the nature of the VoD
system. For systems where there are large number of clients and shorter
video files, the time interval should be small, so that the video
server loads are checked and distributed more frequently. For VoD
systems where there are larger video files and smaller number of
clients the interval can be made larger so that the distribution
pattern can be revised less frequently.

 2.The load difference between the video servers for a shift has to be

draft-rtp-vod-00.txt                                          [Page 13]


INTERNET-DRAFT                                        November 22, 2002

 performed. This is a very critical parameter. Let the load of server
 A be æLAÆ and that of server B be æLBÆ. Let æxÆ be shift in load from
 server A to server B. This shift is permitted only if,
                      (LB + x) <= (LA û x)
 The above equation says that the shift is permitted only if the total
 load on server B after the shift is less that or equal to the load on
 the server A. But the equation if strictly followed does not always
 provide a significant improvement in the response time.

6.2 Load Calculations:

Number of bytes transferred = æBTÆ
Number of bytes left        = æBLÆ
Offset                      =  æOFÆ
File size                   =  æFSÆ
Video Server capacity       = æCPÆ

Video Server Capacity is one or more (e.g. processor speed) of the
measure used to evaluate the capacity of a machine.

BT   =   OF

BL   =   FS û BT

load due to a client/video pair = BL / CP

load on a video server = (BL1/CP) + (BL2/CP) + àà. + (BLn/CP)



6.3 Algorithm for evaluating the distribution pattern:

for all client/video æxÆ server by a VS æaÆ
{
   for all VS æyÆ
   {
      if VS æyÆ has video file æxÆ
      {
         /* calculate load on video server æaÆ after the shift */
         v1 = load of æaÆ û load due to file æxÆ

         /* calculate load on video server æyÆ after the shift */
         v2 = load of æyÆ û load due to file æxÆ

         /* if the load on the new server is still less than that
         of the old server permit shift*/
         if(v2 < v1)
         {
            send DEL packet to VS æaÆ with server identifier of VS æyÆ
            /* update load  value in both the servers */
            load of æaÆ = v1
            load of æyÆ = v2
         }

draft-rtp-vod-00.txt                                          [Page 14]


INTERNET-DRAFT                                        November 22, 2002

      }
   }
 }


6.4      Address of the Authors:

Rahul Banerjee

Professor,
CS/IS Department,
BITS,Pilani-333031
rahul@bits-pilani.ac.in


Venkatesan V
BITS, Pilani
venkatesan796@yahoo.com

Bharani M
BITS, Pilani
bharani.m@lycos.net

Swaminathan P
BITS, Pilani
swami_1406@yahoo.co.uk

Rajesh Kumar Reddy
BITS, Pilani
krk_rajesh@yahoo.com

7.Security Considerations:

RTP packets using the payload format defined in this specification are
subject to the security considerations discussed in the RTP
specification, and any appropriate RTP profile.
There is one more additional security factor that has to be taken care
of. Any machine can send a command to the video server to transfer the
control to a different one. There is no way in the method above to
verify that the message is from the control server. To avoid this one
possible solution is the ôcall backö mechanism where the video server
on receiving a DEL packet sends a confirmation packet to the control
server. If control server was the one which sent the DEL packet then
it sends an acknowledgement and the video server responds to the DEL
packet. Had the DEL packet been from some other machine, then the video
server does not receive any acknowledgement.

8.  Full Copyright Statement


draft-rtp-vod-00.txt                                          [Page 15]


INTERNET-DRAFT                                        November 22, 2002

Copyright (C) The Internet Society (2002). All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works.

However, this document itself may not be modified in any way, such as by
removing the copyright notice or references to the Internet Society or
other Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be followed,
or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE."


9.References:

  [1]  H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, "RTP:
         A Transport Protocol for Real-Time Applications", RFC 1889.






















draft-rtp-vod-00.txt                                          [Page 16]