Internet Draft                                        Seok Joo Koh/ETRI
 Document: draft-koh-omcp-00.txt                       Juyoung Park/ETRI
 October 2002                                         Shin Gak Kang/ETRI
 Expires April 2003                                   Dae Young KIM/CNU



         An Architecture of Overlay Multicast Control Protocol
                        <draft-koh-omcp-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 document describes Overlay Multicast Control Protocol (OMCP)
   used for realizing and managing Overlay Multicast, as also known as
   Application Layer Multicast. Overlay Multicast is a data delivery
   scheme for multicast applications, in which one or more intermediate
   relay agents are employed for relaying application data from a sender
   to many receivers along a pre-configured or automatically configured
   tree hierarchy. In OMCP, a special- purpose entity, called Session
   Manager, is used to manage and control the  tree configuration and
   session monitoring. OMCP is designed to ensure that the multicast
   applications and services can be provided over current Internet
   environments in which IP multicast has not completely been deployed.

1. Introduction

   The design of OMCP has been motivated from the following
   observations:



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 1]


INTERNET-DRAFT             Expires: April 2003              October 2002


   -    In the marketplaces, a large number of multicast applications
   and services have been provisioned commercially all over the world.
   Examples of these applications and services include Internet TV,
   remote education, real-time streaming media applications, live
   broadcasting of special events such as Victoria Show, stock-tickers,
   and so on.  -    IP multicast has been known as an effective
   transport technology for providing multicast services. Nevertheless,
   the IP multicast has not been deployed widely over Internet. Most of
   the network service providers still have much concern about a high
   deployment cost along with an uncertain Return-on-Investment model.
   -    For the present, most of the Contents Providers still provide
   multicast services by establishing replicated IP unicast channels
   with the respective receivers. This however incurs degradation of
   service quality, limitation to the number of service users that can
   be simultaneously connected, and hence less revenue or profit in the
   business model.  -    Even though IP multicast has not widely
   deployed all over the global networks, a lot of local networks have
   already been equipped with IP multicast transport. In addition,
   Ethernet-based LANs substantially provide the multicast transport
   capability within their subnetworks. It is also noted that many
   private networks such as corporate and Campus networks have so far
   deployed IP multicast by configuring the multicast- capable routers
   within their administrative domains.

   Recognizing these observations, it is clear that there is a crucial
   need to develop an alternative multicast delivery scheme and its
   associated protocol that can easily be adapted and widely used in the
   current Internet. Overlay Multicast is a simmple scheme to realize
   the multicast delivery over current Internet. It is not a new
   transport scheme but just exploits the existing IP unicast/multicast
   transport schemes effectively.

   So far, a lot of researches have been made on Overlay Multicast,
   which include End System Multicast [ESM], Your Own Internet
   Distribution [YOID], Scattercast [Scattercast], Application-Level
   Multicast Infrastructure [ALMI], Hypercast [Hypercast], and Relayed
   Multicast Control Protocol [RMCP].

   This document describes Overlay Multicast Control Protocol, which is
   application-level control protocol used for realizing and managing
   the overlay multicast. An OMCP session consists of a Sender, many
   receivers, one or more Relay Agents, and a Session Manager. In OMCP,
   overlay multicast data transport is realized simply by combining the
   sender and receivers via one or more Relay Agents in a pre-configured
   or dynamically configured tree hierarchy. Relay Agents are used to
   relay the application data from a sender to receivers. A Relay Agent
   may be a dedicated server or a receiving client host. Session Manager
   is used to manage the tree configuration and overall session



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 2]


INTERNET-DRAFT             Expires: April 2003              October 2002


   monitoring during the session.

2. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].
   In this document, the following terms are used.

   Overlay Multicast:

   It is a multicast data delivery scheme using the relaying
   functionality of intermediate Relay Agents;

   Overlay Multicast Control Protocol (OMCP):

   It is an application-level control protocol for realizing and
   managing the overlay multicast data transport;

   Relay Agents:

   They are used to relay multicast application data from a sender to
   receivers;

   Session Manager:

   It is responsible for and governs the overall RTMP operations. It may
   be located at the same system with the sender or separately located
   from the sender;

   Data Transport and Control modules:

   The OMCP control operations are performed by the OMCP control module
   in the system, which is a program that implements the OMCP control
   operations described in this document. On the other hand, Data
   Transport module represents a set of programs established in each
   OMCP system, which include an application media player and an
   interface with the OMCP module;

   Parent and Child:

   Parent represents an upstream entity directly attached in the tree
   hierarchy, and Child represents a downstream entity directly attached
   in the tree hierarchy.


3. Data Transport Model in Overlay Multicast




S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 3]


INTERNET-DRAFT             Expires: April 2003              October 2002


   In the conventional approach, a sender communicates directly with
   receivers by using IP unicast or IP multicast. In the scheme, if
   there exists any non- multicast regions between the sender and
   receivers, the multicast transport is not allowed.

   In the overlay multicast transport, a new entity named Relayed Agent
   is employed along the communication path from a sender and a
   receiver. Relay Agents are used to relay the application data from a
   sender to many receivers over unicast or multicast network regions.
   With help of Relay Agents, multicast data can traverse non-multicast
   network regions until they reach the end receivers. Traversing the
   non-multicast regions, the multicast data will be delivered by using
   IP unicast or IP-in-IP tunneling.

   Overlay multicast is realized by using Relay Agents. Relay Agents
   will be located along the end-to-end paths between a sender and
   receivers. A Relay Agent plays a role to relay application data from
   a sender to its children (i.e., its downstream entities). The Relay
   Agent is also used to monitor status of its children. Relay Agents
   may be dedicated servers deployed in the network for the relaying
   purpose, or end receivers. In the latter case, some of the receivers
   may function as Relay Agents.

   Figure 1 illustrates a tree hierarchy dynamically configured for the
   overlay multicast. Session Manager is responsible for the tree
   configuration. Each receiver or Relay Agent will get its associated
   tree information from the Session Manager by using OMCP. With
   information given by Session Manager, each entity will establish a
   data channel with its parent (i.e., its upstream entity). During the
   session, with help of OMCP, each parent monitors its children status
   on membership and QoS, and then forwards the aggregated information
   to its own parent. In this way, Session Manager monitors overall
   session status. Sender may get the information from Session Manager
   via an out-of-band dedicated channel.

















S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 4]


INTERNET-DRAFT             Expires: April 2003              October 2002


                      Sender <========> Session Manager
                                  |
                                  |
                       /-------------------------\
                       |                         |
                       v                         v
                  Relay Agent               Relay Agent
                       |                         |
                       |                         |
                 /-----------\          /------------\
                 |           |           |            |
                 v           v           v            v
              Receiver    Receiver   Relay agent   Receiver
                                         |
                                         |
                                         v
                                      Receiver

               Figure 2. Tree Hierarchy in Overlay Multicast


   In the overlay multicast, an individual data channel between two
   upstream and downstream entities is established by exploiting the
   existing protocol stacks such as UDP, IP and IP-in-IP tunneling.

   According to the underlying IP transport scheme, the data channels
   can be classified into three types: IP unicast, IP multicast, and
   multicast-in- unicast (or IP-in-IP tunneling). In the unicast and
   multicast cases, UDP/IP will be used. In the multicast-in-unicast
   case, each of the multicast data packets will be encapsulated into a
   unicast packet by using IP-in-IP tunneling.

   One of the important points to be considered in the implementations
   of Overlay Multicast is how to make Relay Agents store or cache the
   application data received from Sender (or upstream Relay Agent) and
   relay them to their downstream receivers. In cases that an IP unicast
   or IP multicast channel is used, a Relay Agent will store the data in
   the application-level buffer.  When its child requests the data
   relay, it will send the buffered data to the concerned child by IP
   unicast or IP multicast. On the other hand, if the multicast-in-
   unicast channel is used with the upstream entity, after reception of
   the data, the Relay Agent will forward the multicast data directly to
   the downstream entity by exchanging the outer unicast header with a
   new unicast header destined to the concerned receiver (in the unicast
   network), or by using IP multicast (in the multicast network).






S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 5]


INTERNET-DRAFT             Expires: April 2003              October 2002


4. Framework of OMCP

   Overlay Multicast Control Protocol (OMCP) is an application-level
   control protocol used for realizing and managing the overlay
   multicast data transport. Session Manager governs overall OMCP
   control operations by exchanging control messages between OMCP
   entities in a request-and-confirm fashion. Session Manager will also
   configure a tree hierarchy for data relay path dynamically. OMCP is
   also used to monitor session status on membership and QoS. In an OMCP
   system, the OMCP control module operates cooperatively along with its
   associated data transport module so as to establish the corresponding
   data channels.


4.1 OMCP Model

   An OMCP session consists of a Sender, receivers, a Session Manager,
   and Relay Agents. Figure 2 shows a conceptual model of OMCP. It is
   assumed that Sender communicates with Session Manager so as to inform
   a set of generic session information via an out-of-band signaling
   channel. It is also required for all the Relay Agents and receivers
   to get information on location of Session Manager. When a session
   start is indicated, each of the Relay Agents and receivers will
   contact with Session Manager by using OMCP operations so as to join
   the session.


                            Out-of-band channel
              /------------> Session Manager <-----------\
              |                     ^                    |
              |                     | OMCP               | OMCP
              |                     |                    |
              v                     v                    v
            Sender <------>    Relay Agents  <----->  Receiver
                     OMCP                      OMCP


                    Figure 2. Conceptual Model of OMCP



4.2 OMCP Messages

   In OMCP, three pairs of control messages are used. Each pair of
   control messages will be exchanged between the OMCP peers in the
   request-and-confirm way. The Join Request and Confirm messages are
   used for the session join in which each receiver gets information
   from Session Manager about who is its parent in the tree hierarchy.



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 6]


INTERNET-DRAFT             Expires: April 2003              October 2002


   The Relay Request and Confirm massages are used for a new joining
   entity to establish and maintain a data channel with its upstream
   entity. The Status Report and Confirm messages are used for session
   monitoring in which each child reports the membership dynamics and
   QoS status to its upstream entity and thus the aggregated session
   status information will be delivered to the Session Manager.

   Table 1 lists the OMCP messages according to the associated OMCP
   operational phases. The Join Request and Confirm messages are used
   just once for the session join, while the other four messages are
   periodically exchanged during the session.

                          Table 1. OMCP Messages
            +---------------+------------+----------+----------+
            | Messages      |  Operation |    From  |    To    |
            +---------------+------------+----------+----------+
            | Join Request  |    Session |  R or RA |    SM    |
            +---------------+            +----------+----------+
            | Join Confirm  |     Join   |   SM     | R or RA  |
            +---------------+------------+----------+----------+
            | Relay Request |   Data     |  R or RA | S or RA  |
            +---------------+   Channel  +----------+----------+
            | Relay Confirm |   Control  |  S or RA | R or RA  |
            +---------------+------------+----------+----------+
            | Status Report |   Session  |  R or RA |    SM    |
            +---------------+            +----------+----------+
            | Status Confirm| Monitoring |    sM    | R or RA  |
            +---------------+------------+----------+----------+


   All the OMCP messages are encapsulated over TCP. This ensures that
   all the messages are reliably transferred to the corresponding OMCP
   modules.  Moreover, it is strongly recommended to use the
   'Transaction for TCP' as known as 'T/TCP' (see RFC 1644. T/TCP is an
   extension of TCP, which has been used for reliable delivery of the
   'request-and-response' transactions as shown in the existing Web-
   based applications. Accordingly, an error handling of OMCP messages
   is not considered. Instead, the systematic or processing errors
   between OMCP and T/TCP must be considered in the design and
   implementation of OMCP.



4.3 OMCP Operations

   The OMCP is an application-level control protocol for supporting and
   managing Overlay Multicast data transport. In each data transport
   entity the OMCP module operates along with the accompanying data



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 7]


INTERNET-DRAFT             Expires: April 2003              October 2002


   transport modules.  Session Manager and Sender may be co-located at
   the same system or site. In case that those two entities are
   separately located, it is assumed that there exists an out-of-band
   dedicated communication channel between them.  From the dedicated
   channel with Session Manager, Sender will be able to monitor overall
   session status including status information on its children.

   In the initialization, each OMCP entity gets the session-wide
   information from Web server or E-mail, etc. Such information includes
   session identifier (ID) and location of the Session Manager. It is
   basically assumed that the concerned application software such as a
   media player has already been distributed to the prospective OMCP
   entities along with the OMCP control and data transport modules.

   When Session Start is indicated, Sender is ready to transmit
   application data and Session Manager waits for the OMCP Join Request
   messages from the prospective Relay Agents or receivers.

   In Session Join, each receiver joins the session by sending a Join
   Request message to Session Manager, based on the session information
   obtained in the initialization. The Join Request message must contain
   information whether the new joiner will function as a Relay Agent or
   not in the session. On reception of the Join Request, the Session
   Manager enrolls the new joiner into the membership list for the
   session and then it performs a pre-specified algorithm to find the
   best suitable upstream Relay Agent (including Sender) to the new
   joiner among the enrolled Relay Agents in the session. After that,
   Session Manager sends a Join Confirm message that contains
   information about who is the best suitable Relay Agent to the new
   joiner.

   After Session Join, the joiner requests the establishment of a data
   channel to its designated upstream Relay Agent (or Sender) by sending
   a Relay Request message. The upstream entity will record the new
   joiner into its children list, and respond with a Relay Confirm
   message. The Relay Confirm message contains information on the
   protocol stacks used for establishing the data channel. After that,
   each of the upstream and downstream entities will invoke the
   respective data transport modules so as to establish a data channel
   by using IP unicast, IP multicast, or IP-in-IP tunneling. When IP
   multicast is used, the downstream entity will perform the IGMP join.
   When IP unicast or multicast-in-unicast is used, the upstream entity
   initiates the establishment of a unicast channel with the downstream
   entity.

   After a data channel is successfully established, the Relay Request
   and Confirm messages are periodically exchanged between those two
   entities until the data channel is valid. These periodic messages are



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 8]


INTERNET-DRAFT             Expires: April 2003              October 2002


   used for the upstream entity to maintain its children list during the
   session and to determine which data channels become invalid for some
   reasons such as Session Leave or an abnormal failure.

   Each upstream entity aggregates all the status information reported
   from its downstream entities and then reports the aggregated
   information to Session Manager via Status Report messages. Status
   Report and Confirm messages are periodically exchanged. Status Report
   and Confirm messages are used for Session Manager to get overall
   session status information such as total membership for the session
   and the perceived QoS levels, with help of intermediate Relay Agents.


   When a downstream entity wants to leave the session, it sends its
   upstream entity both Status Report and Relay Request messages with
   indication of 'Session Leave'. The Status Report and Relay Request
   messages are also used for the upstream entity to detect abrupt or
   abnormal Session Leave of a downstream entity.

   Sender will stop the session after it has sent all the application
   data. In turn, Session Stop will be informed to the Session Manager
   via an out-of- band channel.


4.4 Interworking between OMCP Control and Data Transport Modules

   The interworking operations may be implemented by using Inter-Process
   Communications (IPC) techniques. These operations will be invoked for
   Data Channel Control and Session Monitoring. When necessary, the OMCP
   module sends a request to the data transport module and then waits
   for the corresponding response. The request will contain information
   on the address and port number associated with a data channel, while
   the response may contain information on the measured QoS status such
   as data throughput.  The necessary information can be recorded into a
   suitable MIB in the system so that each module can easily access
   through an appropriate signaling. It is expected that such a
   signaling or IPC can be done by a request-and- response fashion from
   the OMCP control module to the data transport module.  That is, when
   the OMCP control module needs to contact with the data transport
   module (according to the OMCP mechanisms), it will trigger the
   associated signaling or IPC process.

   After Session Join, each receiver contacts with its upstream entity
   to request the establishment of a data channel. After reception of
   Relay Confirm message from the upstream entity, the receiver invokes
   its data transport module by delivering the specific information
   required for establishing a data channel (e.g., IP address and port
   number used for the data channel) via an address MIB.



S.Koh, et al.             draft-koh-omcp-00.txt                 [Page 9]


INTERNET-DRAFT             Expires: April 2003              October 2002


   During the session, the data transport module may continue to measure
   the perceived QoS in terms of data throughput (bytes per second) or
   the number of totally received data packets. In response to the
   request of the OMCP module, the measured QoS is transferred to the
   OMCP module via a suitable QoS MIB (e.g., in Session Monitoring).
   Each time a receiver generates the periodic Relay Request or Status
   Report messages, the OMCP module will contact with the data channel
   so as to check if the data channel is still valid.

   At Sender, the OMCP module is used to listen to Relay Request
   messages from any new joiners. After processing of the Relay Request
   messages, Sender will invoke its data transport module to establish
   the corresponding data channels. During the data transport, each
   child will be recorded and maintained into Sender's children list. By
   the OMCP operations, if a Session Leave or failure is detected for a
   child, Sender will request the data transport module to stop the
   corresponding data channel.

   A Relay Agent functions as both a sending and a receiving entity.
   Accordingly, it will perform all the interworking operations
   described above.  Session Manager does not perform the data transport
   module.


5. Functional Procedures


5.1 Initialization

   In OMCP, it is assumed that the associated OMCP and data transport
   modules have already been distributed to the OMCP entities. The OMCP
   module represents a program that implements the OMCP control
   operations described in this specification. A data transport module
   includes the concerned application software (e.g., Windows media
   player or MPEG media player, etc) and an interface program for
   interworking with the OMCP module. The application may be a
   commercial application program, which will be made by considering the
   protocol stacks available according to the reliability requirements
   (e.g., UDP/IP or TCP/IP) and the media types (video, audio, etc). The
   data transport module may be made in the fashion that the existing
   application software is extended for accommodating the OMCP module. A
   Contents Provider or Sender may distribute a software package with
   the OMCP- aware application programs including the data transport and
   OMCP modules to the prospective clients (receivers).

   When a session starts, Sender and Session Manager will be ready to
   respond to any OMCP control messages from the prospective entities.
   When the session stop, Sender and Session Manager will take no more



S.Koh, et al.             draft-koh-omcp-00.txt                [Page 10]


INTERNET-DRAFT             Expires: April 2003              October 2002


   responsive actions to the requests of the OMCP entities. An OMCP
   session is called 'active' over the time period from session start
   until session stop. The out-of-band channel between Sender and
   Session Manager may continue to operate during the active session so
   that Sender can check the current session status. How to implement
   such out-of-band channel is outside the scope of this specification.

   Before an OMCP session begins, the session-wide information will be
   announced to all the prospective session members by using an out-of-
   band communication channel (such as Web announcement or E-mail, etc).
   The session-wide information includes the followings:

   Session Identifier (ID):

   In OMCP, Session ID is represented as a 64-bit integer. Session ID
   should be able to identify an OMCP session uniquely.

   Location of the Session Manager (IP address and port number):

   Every receiving entity such as Relay Agent or receiver will first
   contact with the Session Manager to join a session based on this
   location information. If a well-known port number is assigned as the
   OMCP port, then the port number will not be announced.

   In particular, Session ID and location of Session Manager must also
   be informed to all the OMCP entities. Per a Session ID, the Session
   Manager will initialize the OMCP control operations and maintain a
   list of session membership and QoS. Sender or Relay Agent will also
   manage its children list for the Session ID.  In the initial phase,
   Sender will be viewed as an active Relay Agent the Session Manager.
   In case that one or more Relay Agents are strategically deployed as
   dedicated servers in the network, those Relay Agents will be enrolled
   to the Session Manager and they will function as initial active Relay
   Agents before the session starts.


5.2 Session Join

   Each Relay Agent or receiver must join the session by contacting with
   the Session Manager. By this the new joiner gets information about
   the location of its parent (upstream entity) in the tree hierarchy.

   To join an OMCP session, each receiver or Relay Agent sends a Join
   Request message to the Session Manager, and waits for the responding
   Join Confirm message. The Join Request message must contain an
   indication of whether it function as a receiver or a Relay Agent in
   the session.




S.Koh, et al.             draft-koh-omcp-00.txt                [Page 11]


INTERNET-DRAFT             Expires: April 2003              October 2002


   On reception of a Join Request message, Session Manager performs a
   pre-specified tree configuration algorithm to find the best suitable
   parent to the joiner, which may be based on information on the IP
   addresses of the entities and the data channel types supported at the
   entities. For examples, if there is an active Relay Agent who is in
   the same (multicast-enabled) subnetwork with the new joiner (which
   may be done by using comparing IP address and the subnet masking),
   then the Session Manager will assign the Relay Agent as the parent of
   the new joiner. If there is no Relay Agent located at the same
   subnetwork, a Relay Agent with a smaller number of children may be
   first assigned to the new joiner. If the data channel types allowed
   at the upstream and downstream entities are different, the assignment
   between them will not occur. Any other additional information such as
   network topology may be exploited on the tree configuration process,
   if possible. Notice that the specific algorithm for the tree
   configuration is implementation-specific.

   In response to the Join Request, the Session Manager must send a Join
   Confirm message to the new joiner. The Join Confirm message must
   include the location of the best suitable upstream Relay Agent (or
   Sender) that the new joiner will connect to. The Join Confirm message
   may indicate a rejection of the join request for any abnormal
   reasons.

   If the new joiner will receive a successful Join Confirm message, it
   begins Data Channel Control by sending a Relay Request message to the
   designated upstream entity. If the Join Confirm message indicates a
   rejection or there is no response from Session Manager, then the new
   joiner cannot participate in the seesion.


5.3 Data Channel Control

   After reception of a successful Join Confirm message from Session
   Manager, the new joiner sends a Relay Request message to the
   designated Relay Agent and waits for the responding Relay Confirm
   message. In response to the Relay Request, the upstream Relay Agent
   (or sender) sends a Relay Confirm message to the joiner, and then
   begins the establishment of a data channel with the joiner by
   invoking its data transport module. After reception of a successful
   Relay Confirm message, the new joiner begins to receive application
   data from its upstream entity by invoking its data transport module.

   After reception of a Relay Request message, the upstream entity
   enrolls the new joiner into its children list. The upstream entity
   selects a specific data channel type used for the data transport with
   the joiner among the data channel types indicated in the Relay
   Request message. IP multicast channel is preferred if supported and



S.Koh, et al.             draft-koh-omcp-00.txt                [Page 12]


INTERNET-DRAFT             Expires: April 2003              October 2002


   possible. The Relay Request may be rejected for some reasons. After
   sending the Relay Confirm message over the T/TCP control channel, the
   upstream OMCP entity invokes its data transport channel to transmit
   application to the downstream entity.

   At the downstream entity, if the Relay Confirm message indicates a
   rejection or there is no response of Relay Confirm from the
   underlying T/TCP channel, the new joiner closes the OMCP session.
   Once a data channel is successfully established and maintained, the
   downstream entity must also send periodic Relay Request messages to
   the parent (the upstream entity), to ensure that the parent can
   realize its keep-aliveness. If the parent realizes that a child is
   failed, the parent will stop transmission of data to the concerned
   child in the unicast transport.

   The second or further Relay Request messages are transmitted based on
   the timer value (RR_TIME) indicated in the previous Request Confirm
   message.  When a child receives a Relay Confirm message, it will send
   the subsequent Relay Request message when the indicated timer
   expires. One of the reasons for the parent to determine a time
   interval for the next Relay Request message is to avoid the so-called
   implosions of simultaneous Relay Request messages from many children.
   For this purpose, the parent may determine a different timer value
   for each child.

   Notice that Sender is a root of the data path tree for the relay
   multicast data transport. The periodic Relay Request and Confirm
   messages are used for the upstream entity to check if the children
   are active or not. Accordingly, the Relay Request and Confirm
   messages flow from receivers to Sender, not Session Manager. The
   status aggregation of the Relay Request message will not be performed
   at each parent. The status information is just used for the concerned
   parent to determine whether or not the associated data channel(s)
   must be maintained.

   On the other hand, the Session Manager is a root of the control tree
   for control of OMCP operations. Each Status Report and Confirm
   messages go upward from receivers to the Session Manager, not Sender.
   A Status Report message contains information about membership and QoS
   status for the downstream descendants. Accordingly, each intermediate
   Relay Agents must perform aggregation of Status Report messages
   reported from the children.

5.4 Session Monitoring

   Session monitoring is used for Session Manager to monitor overall
   status of membership dynamics and measured QoS for a session. For
   this purpose, Status Report and Confirm messages are exchanged



S.Koh, et al.             draft-koh-omcp-00.txt                [Page 13]


INTERNET-DRAFT             Expires: April 2003              October 2002


   between Session Manager and Relay Agents/receivers.

   At each Relay Agent or receiver, Session Monitoring begins after
   establishment of a data channel. Each child sends a Status Report
   message if the SR_TIME timer expires. A Status Report message will
   include membership and QoS status.

   Each receiving entity will measure the QoS values in terms of the
   number of received data packets and data throughput by manipulating
   the data packets in the data transport module. The corresponding OMCP
   module will ask the measure QoS status to the data transport module
   before it generates a Status Report message.

   A Status Confirm message may contain information on a new SR_TIME
   timer value (for the next Status Report to be transmitted). If a new
   SR_TIME is designated in the Status Confirm message, the subsequent
   Status Report message will be generated after the new SR_TIME
   expires. Notice that the two periodic timers, RR_TIME and SR_TIME,
   are used by different messages with different purposes. Typically the
   SR_TIME may be set to a larger value than the RR_TIME (e.g., 5 or 10
   times).


5.5 Session Leave

   Session Leave can be classified into a normal or abnormal leave. A
   normal leave means that the downstream entity sends a Session Leave
   indication to its parent before it stops the session. An abnormal
   leave means that an OMCP entity becomes inactive from any failure.

   In case of the normal leave, a receiving entity generates the Relay
   Request and Status Report messages indicating 'Session Leave'. The
   parent node and Sessin Manager will update its children or membership
   list.

6. Security Considerations

   TBD













S.Koh, et al.             draft-koh-omcp-00.txt                [Page 14]


INTERNET-DRAFT             Expires: April 2003              October 2002


7. References

   [RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
   Requirement Levels", BCP 14, RFC 2119, March 1997

   [RFC2026] S. Bradner, "The Internet Standards Process -- Revision 3",
   BCP 9, RFC 2026, October 1996.

   [ESM] End System Multicast, http://www-2.cs.cmu.edu/~narada/, CMU

   [YOID] Your Own Internet Distribution, http://www.icir.org/yoid/,
   ACIRI

   [Scattercast] Scattercast, http://berkeley.chawathe.com/~yatin/, UCB

   [ALMI] Application-Level Multicast Infrastructure,
   http://alminet.org/, Washington University

   [Hypercast] Hypercast,
   http://www.cs.virginia.edu/~mngroup/hypercast/, University of
   Virginia

   [T/TCP] IETF RFC 1644, T/TCP: TCP Extensions for Transactions
   Functional Specification, Experimental, July 1994

   [IPIP] IETF RFC 1853, IP in IP Tunneling, Informational, October 1995

   [RMCP] ITU-T draft Recommendation X.rmcp,"Relayed Multicast Control
   Protocol", ITU-T SG17 Question 8, Working in Progress, 2002


8. Author's Addresses


   Seok Joo Koh
   Email: sjkoh@etri.re.kr
   Juyoung Park
   Email: jypark@etri.re.kr
   Shin Gak Kang
   Email: sgkang@etri.re.kr
   Protocol Engineering Center
   Electronics Telecommunications Research Institute, KOREA

   Dae Young Kim
   dykim@cnu.ac.kr
   Department of Information Communication Enginnering
   Chung Nam National University, KOREA




S.Koh, et al.             draft-koh-omcp-00.txt                [Page 15]


INTERNET-DRAFT             Expires: April 2003              October 2002


Full Copyright Statement

   "Copyright (C) The Internet Society (2000).  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."



























S.Koh, et al.             draft-koh-omcp-00.txt                [Page 16]