home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_a_c / draft-ietf-avt-reconsider-00.txt < prev    next >
Text File  |  1997-07-29  |  63KB  |  1,449 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Internet Engineering Task Force                                   AVT WG
  8. Internet Draft                                 J.Rosenberg,H.Schulzrinne
  9. draft-ietf-avt-reconsider-00.txt           Bell Laboratories/Columbia U.
  10. July 1997
  11. Expires: January 1998
  12.  
  13.  
  14.            Timer Reconsideration for Enhanced RTP Scalability
  15.  
  16. STATUS OF THIS MEMO
  17.  
  18.    This document is an Internet-Draft. Internet-Drafts are working docu-
  19.    ments of the Internet Engineering Task Force (IETF), its areas, and
  20.    its working groups.  Note that other groups may also distribute work-
  21.    ing documents as Internet-Drafts.
  22.  
  23.    Internet-Drafts are draft documents valid for a maximum of six months
  24.    and may be updated, replaced, or obsoleted by other documents at any
  25.    time.  It is inappropriate to use Internet-Drafts as reference mate-
  26.    rial or to cite them other than as ``work in progress''.
  27.  
  28.    To learn the current status of any Internet-Draft, please check the
  29.    ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
  30.    Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  31.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  32.    ftp.isi.edu (US West Coast).
  33.  
  34.    Distribution of this document is unlimited.
  35.  
  36. 1 Abstract
  37.  
  38.    RTP, the Real Time Transport Protocol, has gained widespread accep-
  39.    tance as the transport protocol for voice and video on the Internet.
  40.    It provides services such as timestamping, sequence numbering, and
  41.    payload identification. It also contains a control component, the
  42.    Real Time Control Protocol (RTCP), which is used for loose session
  43.    control, QoS reporting, and media synchronization, among other func-
  44.    tions. The RTP specification describes an algorithm for determining
  45.    the RTCP packet transmission rate at a host participating in a multi-
  46.    cast RTP session. This algorithm was designed to allow RTP to be used
  47.    in sessions with anywhere from one to a million members. However, we
  48.    have discovered several problems with this algorithm when used with
  49.    very large groups with rapidly changing group membership. One problem
  50.    is the flood of RTCP packets which occurs when many users join a mul-
  51.    ticast RTP session at nearly the same time. To solve this problem, we
  52.    present a novel adaptive timer algorithm called reconsideration. We
  53.    present a mathematical analysis of this algorithm, and demonstrate
  54.    that it performs extremely well, reducing the congestion problem by
  55.    several orders of magnitude. We also back up these results with simu-
  56.    lation.
  57. J.Rosenberg,H.Schulzrinne                                     [Page 1]
  58.  
  59. 2 Introduction
  60.  
  61.  
  62.  
  63.  
  64. Internet Draft              Reconsideration                    July 1997
  65.  
  66.  
  67.    There has recently been a flood of interest in the delivery of multi-
  68.    media services on the Internet. The growing popularity of Internet
  69.    telephony, streaming audio and video services (such as those provided
  70.    by Real Audio) and the Mbone are all indicators of this trend. To
  71.    support these applications, standards are being developed to insure
  72.    interoperability. The ITU-T H.323 [1] specification for Internet
  73.    telephony is gaining widespread acceptance among software vendors.
  74.    The IETF is developing protocols such as SIP [2] for multimedia ses-
  75.    sion initiation, and RTSP [3] for controlling multimedia servers on
  76.    the Internet.
  77.  
  78.    Interwoven with all of the above protocols is the Real Time Transport
  79.    Protocol (RTP) [4]. It is used by H.323 terminals as the transport
  80.    pprotocol for multimedia; both SIP and RTSP were designed to control
  81.    multimedia sessions delivered over RTP. Its main function is to carry
  82.    real time services, such as voice and video, over an IP network. It
  83.    provides payload type identification so that the receiver can deter-
  84.    mine the media type contained in the packet. Sequence numbers and
  85.    timestamps are also provided, so that packets can be reordered,
  86.    losses can be detected, and data can be played out at the right
  87.    speeds. RTP was designed to be easily used in multicast conferences.
  88.    To this end, it guarantees that each participant in a session has a
  89.    unique identifier called the synchronization source (SSRC). This
  90.    identifier is carried in each packet, providing applications a way to
  91.    de-multiplex packets from different users.
  92.  
  93.    RTP also contains a control component, called the Real Time Control
  94.    Protocol (RTCP). It is multicast to the same multicast group as RTP,
  95.    but on a different port number. Both data senders and receivers peri-
  96.    odically multicast RTCP messages. RTCP packets provide many services.
  97.    First, they are used to identify the users in a session. One RTCP
  98.    packet type, the Source Descriptor (SDES) contains the name, email
  99.    address, telephone number, fax, and location of the participant.
  100.    Another, the receiver report, contains reception quality reporting.
  101.    This information can be used by senders to adapt their transmission
  102.    rates or encodings dynamically during a session [5]. It can also be
  103.    used by network administrators to monitor network quality [6]. It
  104.    could potentially be used by receivers to decide which multicast
  105.    groups to join in a layered multimedia session; such an application
  106.    is similar to RLM [7]. Yet another RTCP packet type, the sender
  107.    report (SR), is used to aid receivers in inter-media synchronization
  108.    (lip sync), and to indicate transmitted bit rates, among other func-
  109.    tions.
  110.  
  111.    Since RTP was designed for multicast, it was engineered to work well
  112.    with both large and small sessions. A typical small session might be
  113.    a teleconference among five business executives, while a typical
  114.    large session might be an Mbone broadcast of a shuttle launch, where
  115.  
  116.  
  117. J.Rosenberg,H.Schulzrinne                                     [Page 2]
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. Internet Draft              Reconsideration                    July 1997
  125.  
  126.  
  127.    group sizes of two hundred listeners have been reported [8]. As the
  128.    demand for multimedia continues to grow, larger and larger group
  129.    sizes will become commonplace. It is not difficult to envision Mbone
  130.    concert broadcasts with thousands of members. It has even been sug-
  131.    gested that RTP might be the transport protocol of choice for multi-
  132.    cast distribution of multimedia in future cable networks, where tens
  133.    of thousands of users might be the norm.
  134.  
  135.    The principle difficulty in achieving scalability to large group
  136.    sizes is the rate of RTCP packet transmissions from a host. If each
  137.    host sends packets at some fixed interval, the total packet rate sent
  138.    to the multicast group increases linearly with the group size, N.
  139.    This traffic would quickly congest the network, and be particularly
  140.    problematic for hosts connected through low speed dialup modems. To
  141.    counter this, the RTP specification requires that end systems utiliz-
  142.    ing RTP listen to the multicast group, and count the number of dis-
  143.    tinct RTP end systems which have sent an RTCP packet. This results in
  144.    a group size estimate, L computed locally at each host. The interval
  145.    between packet transmissions is then set to scale linearly with L.
  146.    This has the effect of keeping the total traffic in the multicast
  147.    group constant, independent of the number of group members.
  148.  
  149.    The above scaling mechanism works well for small to medium sized
  150.    groups (up to perhaps a few hundred members). However, it suffers
  151.    from problems when applied to larger groups, particularly ones whose
  152.    group membership is dynamic. We have identified three inter-related
  153.    problems which arise with large, dynamic multicast groups:
  154.  
  155.      oCongestion: In many cases, the access bandwidths for users will be
  156.       small compared to network bandwidths (28.8 kb/s modems, for exam-
  157.       ple, can now handle multimedia RTP sessions when RTP header com-
  158.       pression [9] is used). We also anticipate that many multicast RTP
  159.       sessions will exhibit rapid increases in group membership at cer-
  160.       tain points in time. This can happen for a number of reasons. Many
  161.       sessions have precise start times. Multimedia tools such as vat
  162.       and vic can be programmed to join a session at the instant of its
  163.       inception. Even without automation, users are likely to fire up
  164.       their applications around the time the session is scheduled to
  165.       begin. Such phenomena are common in current cable networks, where
  166.       people change channels when shows begin and end. Studies have been
  167.       performed to look at the group membership over time of some of the
  168.       popular sessions on the Mbone [10][8]. These studies show exactly
  169.       this kind of step-join behavior. The result of these step joins
  170.       are inaccuracies in the group size estimates obtained by listening
  171.       to the group. Each newly joined member believes that they are the
  172.       only member, at least initially, and begins to send packets at a
  173.       relatively fast rate. Combined with slow access links, the result
  174.       is a flood of RTCP reports, causing access link congestion and
  175.  
  176.  
  177. J.Rosenberg,H.Schulzrinne                                     [Page 3]
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184. Internet Draft              Reconsideration                    July 1997
  185.  
  186.  
  187.       loss.
  188.  
  189.      For example, consider an RTP session where the total RTCP rate is
  190.      to be limited to 1 kb/s. If all RTCP packets are 1 kbit, packets
  191.      should be sent at a total rate of one per second. Under steady
  192.      state conditions, if there are 100 group members, each member will
  193.      send a packet once every 100 seconds, and everything works. How-
  194.      ever, if 100 group members all join the session at about the same
  195.      time, each thinks they are initially the only group member. Each
  196.      therefore sends packets at a rate of 1 per second, yielding an
  197.      aggregate rate of 100 packets per second, or 100 kb/s, into the
  198.      group.
  199.  
  200.      oState Storage: In order to estimate the group size, hosts must
  201.       listen to the multicast group and count the number of distinct end
  202.       systems which send an RTCP packet. To make sure an end system is
  203.       counted only once, its unique identifier (SSRC) must be stored.
  204.       Clearly, this does not scale well to extremely large groups, which
  205.       would require megabytes of memory just to track users.  Alternate
  206.       solutions must be found, particularly for set top boxes, where
  207.       memory is limited.
  208.  
  209.      oDelay: As the group sizes grow, the time between RTCP reports from
  210.       any one particular user becomes very large (in the example above,
  211.       with 3000 group members, each would get to send an RTCP packet
  212.       about once an hour). This interval may easily exceed the duration
  213.       of group membership. This means that timely reporting of QoS prob-
  214.       lems from a specific user will not occur, and the value of the
  215.       actual reports is lost.
  216.  
  217. In this paper, we consider only the first problem, that of congestion.
  218. It is our aim to solve this problem with a single mechanism, applicable
  219. to large groups and small alike. It is possible to develop solutions
  220. which work well for specific applications. For example, RTCP reporting
  221. can be disabled completely [11]. This, in fact, solves all three of the
  222. above problems. However, many applications require RTCP, and therefore
  223. this approach is not a general one. Another alternative is to use hier-
  224. archical summarizers. This helps improve convergence time, and may
  225. relieve congestion, but it requires special servers to be deployed. It
  226. is also not appropriate for small groups, and therefore does not work
  227. well as a universal solution to the congestion problem.
  228.  
  229. There has been a small amount of prior work on resolving difficulties
  230. with timers in Internet protocols. Most prominent among this work is
  231. [12] and [13]. Sharma et. al. consider how to scale soft state timers to
  232. varying link capacities and state quantities. Their work considers only
  233. the point to point case. In that scenario, any sharp increases in the
  234. amount of state to send (which is equivalent to the sharp increases of
  235.  
  236.  
  237. J.Rosenberg,H.Schulzrinne                                     [Page 4]
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244. Internet Draft              Reconsideration                    July 1997
  245.  
  246.  
  247. group membership we consider here) are known instantly by the sender,
  248. since all of the state resides there. The congestion problem which we
  249. treat here arises due to the distributed nature of the system and the
  250. multicast interconnect. In that scenario, a rapid change in group mem-
  251. bership is represented by a change in group state distributed across
  252. many nodes. As such, our work can be viewed as a generalization of
  253. their's to distributed multicast groups.
  254.  
  255. In fact, our algorithm for controlling the congestion problem in RTP is
  256. applicable to other protocols and systems. An extension to the Service
  257. Location Protocol [14] has been proposed [15] which uses the reconsider-
  258. ation algorithm to control congestion in the multicast group used to
  259. disseminate information on network services. The algorithm is generally
  260. applicable to distributed systems where (1) control of bandwidth is
  261. desirable, (2) the bandwidth is used to transmit state, (3) the state is
  262. used to determine end system transmission rates, and (4) the state is
  263. dynamic. These constraints apply to BGP [16], for example, when a route
  264. server is used and update rates are to be controlled.
  265.  
  266. The remainder of the paper is organized as follows. In Section 3, we
  267. detail the current RTCP packet transmission algorithm. Section 4
  268. describes the desired ideal behavior. Section 5 describes our solution,
  269. an algorithm called timer reconsideration, and shows its performance.
  270. Section 6 then analyzes the algorithm to provide more insight into its
  271. performance. Section 7 discusses the algorithms performance under steady
  272. state conditions, and Section 8 summarizes our work.
  273.  
  274. 3 Current RTCP Algorithm
  275.  
  276.    Each user i in a multicast group using RTP maintains a single state
  277.    variable, the learning curve, which we denote by L(t). This variable
  278.    represents the number of other users that have been heard from at
  279.    time t. The state is initialized to L(0)=1 when the user joins the
  280.    group.
  281.  
  282.    Each user multicasts RTCP reports periodically to the group. In order
  283.    to avoid network congestion, the total rate of RTCP reports multicast
  284.    to the group, summed across all users, is set at 5% of the total mul-
  285.    ticast session bandwidth (it is assumed in RTP that this quantity is
  286.    known apriori). We define C as the average interval between arrivals
  287.    of RTCP packets, across all users, into the group, so that C is the
  288.    average RTCP packet size divided by 5% of the session bandwidth. To
  289.    meet this criteria, each user computes a deterministic interval,
  290.    which represents the nominal interval between their own packet trans-
  291.    missions required to meet the 5% constraint. This interval is given
  292.    by :
  293. __________________________
  294. In actuality, the RTP specification  allocates  75%  of
  295.  
  296.  
  297. J.Rosenberg,H.Schulzrinne                                     [Page 5]
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304. Internet Draft              Reconsideration                    July 1997
  305.  
  306.  
  307.    T_d= (T_ min, C L(t)),
  308.  
  309. whereTmmin
  310. is2.5sfortheinitialpacketfromtheuser,and5s
  311.    for all other packets. To avoid synchronization, the actual interval
  312.    is then computed as a random number uniformly distributed between 0.5
  313.    and 1.5 times Td.
  314.  
  315.    The algorithm for sending RTCP packets follows directly. Assume a
  316.    user joins at time t=0. The first packet from that user is scheduled
  317.    at a time uniformly distributed between 1/2 and 3/2 of Tmin (which is
  318.    2.5 s for the first packet), putting the first packet transmission
  319.    time between 1.25 and 3.75 seconds. We denote this time as t0. All
  320.    subsequent packets are sent at a time tn equal to:
  321.  
  322.    t_n = t_n-1 + R(alpha) (5,CL(t_n-1)),
  323.  
  324.    where we have defined R(alpha) as a random variable uniformly dis-
  325.    tributed between (1-alpha) and (1+alpha). (A equals 1/2 in the cur-
  326.    rent algorithm; we generalize because A has a strong impact on tran-
  327.    sient behavior). A pseudo-code algorithm describing the behavior upon
  328.    expiration of the interval timer is given in Figure 1.
  329.  
  330.                                    3.5in
  331.  
  332.  
  333.              new_interval = C * current_group_size_estimate;
  334.                  new_interval = max(new_interval, Tmin);
  335.                new_interval = new_interval * random_factor;
  336.                               send_packet();
  337.                schedule_timer(current_time + new_interval);
  338.  
  339.    Figure 1:  Current RTCP Algorithm
  340.  
  341.    The difficuly arises when a large number (say, N) of users all join
  342.    the group at the same time. We call this a step-join. Since all users
  343.    start out with L(t)=1, all schedule their first packet to be sent
  344.    between t=1.25 and t=3.75, a fixed, 2.5 second interval. The result
  345.    is a flood of N packets for 2.5 s, many of which are lost if the
  346.    access bandwidth is low. Since group size estimates are based on the
  347.    reception of these packets, losing them will continue to cause each
  348.    user to have a low estimate of the actual group size. This will cause
  349. __________________________
  350. the  RTCP  bandwidth to data senders, and the remaining
  351. 25% to listeners. In the remainder  of  the  paper,  we
  352. assume that everyone is a listener. This simplifies the
  353. analysis and simulations, all of which can be trivially
  354. extended to include the case where there are senders.
  355.  
  356.  
  357.  
  358. J.Rosenberg,H.Schulzrinne                                     [Page 6]
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365. Internet Draft              Reconsideration                    July 1997
  366.  
  367.  
  368.    continued congestion until enough packets get through to make the
  369.    group size estimates correct.
  370.  
  371. 4 Ideal Behavior
  372.  
  373.    The flood of packets caused by the current RTCP algorithm with a step
  374.    join has both good and bad consequences. Clearly, the congestion
  375.    which results is not desirable. However, the flood allows the end
  376.    systems to very rapidly learn about the group sizes and group member-
  377.    ship, which is desireable. There is a fundamental and unavoidable
  378.    tradeoff between the convergence time (i.e., the time until the
  379.    observed group size L(t) equals the actual group size) and the band-
  380.    width used to achieve convergence. What, then, represents the behav-
  381.    ior which is desirable?
  382.  
  383.    Our approach is to define the ideal behavior as the one where feed-
  384.    back into the group never exceeds its specified threshold (5% for
  385.    RTCP). This implies that convergence times will grow as the group
  386.    sizes grow. However, it is the most social solution, in the sense
  387.    that it will never congest the network, no matter how large the group
  388.    sizes become. If we define the ideal behavior as convergence within
  389.    any amount of time that grows less than linearly with the group size,
  390.    the result is a protocol that does not scale and can eventually
  391.    result in congestion.
  392.  
  393.    We also consider congestion avoidance to be more important because we
  394.    expect many users to be connected via low speed dialup lines. In that
  395.    case, bandwidth is at a premium, and it is in the self-interest of
  396.    users to make the best use of it. Most users probably consider RTCP
  397.    feedback much less important than the video or audio data itself, and
  398.    therefore it is important to keep the feedback below the required 5%.
  399.  
  400.    We now state the desired ideal behavior:
  401.  
  402.      1.   The learning curve L(t) grows linearly at a rate of C users
  403.           per second, until it reaches the group size N, at which point
  404.           it becomes flat, and remains at N.
  405.  
  406.      2.   The bandwidth used by all feedback is always equal to C pack-
  407.           ets per second during the convergence period.
  408.  
  409. 5 Reconsideration
  410.  
  411.    Our contribution is a new solution which we call reconsideration. The
  412.    effect of the algorithm is to reduce the initial flood of packets
  413.    which occur when a number of users simultaneously join the group.
  414.    This algorithm operates in two modes, conditional and unconditional.
  415.    We first discuss conditional reconsideration.
  416.  
  417.  
  418. J.Rosenberg,H.Schulzrinne                                     [Page 7]
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425. Internet Draft              Reconsideration                    July 1997
  426.  
  427.  
  428.    At time tn, as defined above, instead of sending the packet, the user
  429.    checks if the group size estimate L(t) has changed since tn-1. If it
  430.    has, the user reconsiders. This means that the user recomputes the
  431.    RTCP interval (including the randomization factor) based on the cur-
  432.    rent state (call this new interval Trime),
  433.    and adds it to tn-1. If the result is a time before the current time
  434.    tn, the packet is sent, else it is rescheduled for tn-1+Trime.
  435.    In other words, the state at time tn gives us potentially new infor-
  436.    mation about the group size, compared to the state at time tn-1.
  437.    Therefore, we redo the interval computation that was done previously
  438.    at time tn-1, but using the new state. If the resulting interval
  439.    would have caused the packet to be scheduled before the current time,
  440.    we know that our interval estimate was not too low. If, however, the
  441.    recomputation pushes the timer off into the future, we know that our
  442.    initial timer estimate was computed incorrectly, and we delay trans-
  443.    mission based on our new timer. A pseudo-code specification of the
  444.    algorithm is given in Figure 2.
  445.  
  446.                                    4.5in
  447.  
  448.  
  449.              new_interval = C * current_group_size_estimate;
  450.                  new_interval = max(new_interval, Tmin);
  451.                new_interval = new_interval * random_factor;
  452.           if ((last_transmission + new_interval < current_time)
  453.         (current_group_size_estimate vious_group_size_estimate))
  454.                               send_packet();
  455.                schedule_timer(current_time + new_interval);
  456.                     last_transmission = current_time;
  457.        previous_group_size_estimate = current_group_size_estimate;
  458.                                   else
  459.             schedule_timer(last_transmission + new_interval);
  460.        previous_group_size_estimate = current_group_size_estimate;
  461.  
  462.    Figure 2:  Conditional Reconsideration
  463.  
  464.    Intuitively, this mechanism should help alleviate congestion by
  465.    restricting the transmission of packets during the convergence peri-
  466.    ods, where the perceived group sizes L(t) are rapidly increasing.
  467.  
  468.    In unconditional reconsideration, the user reconsiders independently
  469.    of whether the number of perceived users has changed since the last
  470.    report time. Thus, the RTCP interval is always recomputed, added to
  471.    the last transmission time tn-1, and the packet is only sent if the
  472.    resulting time is before the current time. Clearly, when the group
  473.    sizes are increasing, this algorithm behaves identically to condi-
  474.    tional reconsideration. However, its behavior differs in two
  475.    respects. First, consider the case where we have converged, and group
  476.  
  477.  
  478. J.Rosenberg,H.Schulzrinne                                     [Page 8]
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485. Internet Draft              Reconsideration                    July 1997
  486.  
  487.  
  488.    sizes are no longer changing. In conditional reconsideration, no
  489.    timer recomputation is done. But for unconditional, it is redone.
  490.    Since group sizes have not changed, the deterministic part of the
  491.    interval remains the same. However, the random factor is redrawn each
  492.    time. This means that packets will be transmitted when the recomputed
  493.    random factor is smaller than the previous factor, and packets will
  494.    be delayed when the recomputed random factor is greater than the pre-
  495.    vious one. Note that since the random factor is of finite extent
  496.    (between 1/2 and 3/2), packets are guaranteed to eventually be sent.
  497.    However, the result is an average increase in the interval between
  498.    RTCP packets.
  499.  
  500.                                     4in
  501.  
  502.  
  503.              new_interval = C * current_group_size_estimate;
  504.                  new_interval = max(new_interval, Tmin);
  505.                new_interval = new_interval * random_factor;
  506.           if (last_transmission + new_interval < current_time)
  507.                                send_packet;
  508.                schedule_timer(current_time + new_interval);
  509.                     last_transmission = current_time;
  510.                                   else
  511.             schedule_timer(last_transmission + new_interval);
  512.  
  513.    Figure 3:  Unconditional Reconsideration
  514.  
  515.    The behavior of unconditional reconsideration differs during the ini-
  516.    tial transient as well. Consider N users who simultaneously join the
  517.    group at time 0. They all schedule their first RTCP packets to be
  518.    sent between t=1.25 and t=3.75. The users whose packets were sched-
  519.    uled earliest (at a time a little bit after t=1.25) will not recon-
  520.    sider with conditional reconsideration, and will always send their
  521.    packets. This is because no one else has sent any packets yet, and
  522.    thus they have not perceived the group size to have changed. In fact,
  523.    because of network delays, many users may send packets without recon-
  524.    sidering. Once the first transmitted packet has reached the end sys-
  525.    tems, conditional reconsideration kicks in, since users will perceive
  526.    a change in group size only then. With unconditional reconsideration,
  527.    those first few users do not wait for the first packet to arrive
  528.    before using the reconsideration algorithm. They will all recompute
  529.    the timer. Obviously, the group size estimate hasn't changed, but the
  530.    random variable will be redrawn. For the first few users, the random
  531.    factor was initially extremely small (that's why they are the first
  532.    few users to send). In all likelihood, when the factor is redrawn, it
  533.    will be larger than the initial factor, and thus the resulting inter-
  534.    val will be larger. This will delay transmission of RTCP packets for
  535.    those users. As time goes on, it becomes less likely than the new
  536.  
  537.  
  538. J.Rosenberg,H.Schulzrinne                                     [Page 9]
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545. Internet Draft              Reconsideration                    July 1997
  546.  
  547.  
  548.    random factor will be greater than the initial one. However, by then,
  549.    any RTCP packets which may have been sent will begin to arrive,
  550.    increasing the group size estimates for each user. In this fashion,
  551.    unconditional reconsideration alleviates the initial spike of packets
  552.    which are present in conditional reconsideration. These arguments are
  553.    all quantified in later sections.
  554.  
  555.    Both modes of the algorithm are advantageous in that they do not
  556.    require any modifications to the current RTCP protocol structure. In
  557.    fact, they operate properly even when only a subset of the multicast
  558.    group utilizes them. As more and more members of a group use the
  559.    algorithm, the amount of congestion is lessened in proportion. This
  560.    leaves open a smooth migration path which is absent for most of the
  561.    other proposed solutions.
  562.  
  563. 5.1 Simulations
  564.  
  565.    We ran a number of simulations to examine the performance of the
  566.    reconsideration algorithms.
  567.  
  568.    In our simulation model each user is connected to the network via an
  569.    access link of 28.8 kb/s downstream (i.e., from the network to the
  570.    user). We assume upstream links are infinitely fast, since congestion
  571.    occurs only downstream. This congestion is due to the RTCP reports
  572.    from all of the other users being sent to any particular user. Multi-
  573.    cast join latencies are ignored; this is reasonable in protocols such
  574.    as DVMRP [17] since initial packets are flooded. We assume that the
  575.    network introduces a delay of D seconds, where D is uniformly dis-
  576.    tributed between 0 and 600 ms. Each user has a 100 kB buffer on the
  577.    downstream access link. We assume all RTCP packets are 128 bytes in
  578.    size.
  579.  
  580.    Figures only available in postscript version
  581.  
  582.    Figures only available in postscript version
  583.  
  584.    Figure 5.1 and Figure 5.1 depict state evolution for a single user
  585.    when 10,000 users simultaneously join a multicast group at t=0. The
  586.    figures depict the system with no reconsideration (the current speci-
  587.    fication), conditional reconsideration, unconditional reconsidera-
  588.    tion, and the ideal behavior. The graphs are plotted on a log-log
  589.    scale to emphasize the beginning and complete evolution of the sys-
  590.    tem. Figure 5.1 depicts the learning curve, and Figure 5.1 shows the
  591.    integral of r(t), i.e., the total number of packets sent, given that
  592.    r(t) is the packet transmission rate into the multicast group. Note
  593.    the burst of packets sent in the beginning by the current algorithm.
  594.    Exactly 10,000 packets are sent out in a 2.5 s interval. This is
  595.    almost 3000 times the desired RTCP packet rate. However, this burst
  596.  
  597.  
  598. J.Rosenberg,H.Schulzrinne                                    [Page 10]
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605. Internet Draft              Reconsideration                    July 1997
  606.  
  607.  
  608.    is reduced substantially by the reconsideration mechanisms. Condi-
  609.    tional reconsideration causes only 197 packets to be sent over a 210
  610.    ms interval, and unconditional reconsideration causes merely 75 pack-
  611.    ets to be sent over a 327 ms interval. We also observed similar
  612.    improvements with a variety of different link speeds, delays, and
  613.    group memberships.
  614.  
  615.    We noted that the startup burst with reconsideration was particularly
  616.    disturbing when network delays were deterministic instead of uni-
  617.    formly distributed. This is demonstrated in Figure 5.1, which looks
  618.    at the cumulative number of packets sent when 10,000 users simultane-
  619.    ously join at t=0, using conditional reconsideration. In all cases,
  620.    the mean network delay was 300ms, but the distribution varies. Expo-
  621.    nentially distributed network delays exhibited nearly identical per-
  622.    formance to a uniform distribution. Later sections will demonstrate
  623.    that the spike is dependent on the amount of time until the first
  624.    packet arrives. As the number of users in the step join becomes
  625.    large, the number of users who send their packets within the first S
  626.    seconds after t=1.25 grows large for any S. Consider an S much
  627.    smaller than typical network delays, say 10 mus. As far as computing
  628.    arrival times at end stations, these packets can be treated as though
  629.    they were all sent at the same time. The amount of time until the
  630.    first of these packets arrives at any end system is thus the minimum
  631.    network delay experienced by all of those packets. If the network
  632.    delays are exponential, the expected minimum of N exponential random
  633.    variables goes to zero as N grows. The same is also true for a uni-
  634.    form random variable. For a deterministic variable, this is not the
  635.    case; the minimum is always the same. Therefore, the performance is
  636.    worse for network delays which are fixed.
  637.  
  638.    Figures only available in postscript version
  639.  
  640.    We have also observed that the reconsideration mechanisms cause a
  641.    complete pause in packet transmissions after the initial spike. This
  642.    pause (which we call the plateau effect) lasts for a time propor-
  643.    tional to the number of packets in the spike. This has both positive
  644.    and negative implications. On the plus side, it gives network buffers
  645.    time to clear. However, it also causes the send rate to deviate from
  646.    our desired fixed 1/C packets per second. The phenomenon occurs
  647.    because the spike of packets in the beginning causes the system to
  648.    reconsider, and not send, all packets after the spike.  A more
  649.    detailed explanation of the phenomenon is given in Section 6. How-
  650.    ever, after the spike and plateau, the packet rate behaves fairly
  651.    well, sending packets at a nearly constant rate.
  652.  
  653.    We also ran simulations to observe performance in linear joins, where
  654.    groups of users join the system at time  seconds apart, for some
  655.    small . The results are shown in Figure 5.1 and Figure 5.1. Both
  656.  
  657.  
  658. J.Rosenberg,H.Schulzrinne                                    [Page 11]
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665. Internet Draft              Reconsideration                    July 1997
  666.  
  667.  
  668.    plots depict the cumulative number of packets sent by all users. The
  669.    simulation parameters are identical to the above cases, except net-
  670.    work delays are deterministic 300 ms. The first plot depicts condi-
  671.    tional reconsideration, and the second, unconditional. In all cases,
  672.    2500 users join the system, but the rate that they do so is varied.
  673.    Both plots depict the step join, and joins at a rate of 5000, 2500,
  674.    and 500 users per second. The plots indicate that linear joins
  675.    quickly eliminate the initial transient of packets and the plateau
  676.    period, with the reduction being better for unconditional reconsider-
  677.    ation.
  678.  
  679.    We have done some analysis to examine how the behavior of reconsider-
  680.    ation changes under linear joins. Our analysis has shown that as soon
  681.    as the number of users who join, times , exceeds the network delays,
  682.    the initial bursts in the reconsideration algorithms begin to disap-
  683.    pear, whereas they remain for the current specification. All other
  684.    aspects of the system performance (including long term growth of
  685.    L(t)) are identical to the step-join case.
  686.  
  687.    Figures only available in postscript version
  688.  
  689.    Figures only available in postscript version
  690.  
  691. 6 Analysis
  692.  
  693.    In this section, we present a mathematical analysis of the reconsid-
  694.    eration mechanism. We first consider the case where there are no net-
  695.    work delays. This results in a differential equation which describes
  696.    the learning curve. The analysis also applies to networks with delay,
  697.    but only models the post-transient behavior of the system. However,
  698.    this is sufficient to compute the post-transient packet rate and sys-
  699.    tem convergence times. We then extend this analysis to the case of
  700.    network delays, and derive expressions which describe the transient
  701.    spikes and plateaus in the learning curve. We also analytically
  702.    demonstrate the reasons for improved performance from unconditional
  703.    reconsideration, which only exists in the presence of network delays.
  704.  
  705. 6.1 No Delay
  706.  
  707.    We consider a system where all of the users join the network at the
  708.    same time, t=0. It is assumed that the network introduces neither
  709.    delay nor loss, and that access links have infinite bandwidth. The
  710.    result is that when a user sends an RTCP packet, it is received by
  711.    all of the users simultaneously at the time it was transmitted.
  712.  
  713.    In the model considered here, all users will have exactly the same
  714.    state (in terms of L(t)) at all times. Thus, we trace state evolution
  715.    as seen by a particular user. The user estimate has converged when
  716.  
  717.  
  718. J.Rosenberg,H.Schulzrinne                                    [Page 12]
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725. Internet Draft              Reconsideration                    July 1997
  726.  
  727.  
  728.    L(t)=N, the number of users actually in the group.
  729.  
  730.    Whenever a packet is reconsidered, it is either sent, or it is not,
  731.    depending on whether the newly computed send time is before or after
  732.    the current time. We can therefore view the reconsideration mechanism
  733.    as causing any packet to be sent with some probability P. In the most
  734.    general case, P is a function of the current time t, the time of the
  735.    last RTCP report, and the number of users observed at t, L(t).  For-
  736.    tunately, the learning curve is only affected by packets which are
  737.    initial, that is, sent by users which have not yet sent a packet. For
  738.    all such users, the last report time is initialized to t=0, so that
  739.    the send probability is a function of t and L(t) only.
  740.  
  741.    If we consider some small interval of time, the change in L(t) is
  742.    equal to the number of initial packets scheduled to be sent during
  743.    this interval, times the probability of sending a packet in that
  744.    interval. Based on this, we can immediately write the differential
  745.    equation:
  746.  
  747.    (dL)/(dt) = d(t) P(t,L(t)),
  748.  
  749.    where d(t) is the rate of packets scheduled for transmission during
  750.    some time interval. What remains is the evaluation of the scheduled
  751.    rate d(t) and probability P(t,L(t)). We first consider the send prob-
  752.    ability.
  753.  
  754.    Consider an initial packet scheduled to be transmitted by a user at
  755.    time t. Since the number of perceived users, L(t) has surely changed
  756.    over any time interval, this packet is reconsidered
  757.  
  758.    user perceives L(t) other users in the system. It thus calculates a
  759.    new packet interval, which is equal to:
  760.  
  761.    T = R(alpha) (T_ min,C L(t))
  762.  
  763. SinceCL(t)islargerthanTmmin
  764. mostofthetime,weignorethemax
  765.    operator. Keeping in mind that the previous report time is always
  766.    t=0, we can immediately write the probability of sending a packet
  767.    using Equation (1):
  768.  
  769.    ll P_ send = (t-(1- alpha) C L(t))/(2 alpha C L(t))& (1 - alpha) C
  770.    L(t) < t < (1 + alpha) C L(t)
  771.  
  772. __________________________
  773. It is for this  reason  that  we  make  no  distinction
  774. between  conditional  and unconditional reconsideration
  775. here
  776.  
  777.  
  778.  
  779. J.Rosenberg,H.Schulzrinne                                    [Page 13]
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Internet Draft              Reconsideration                    July 1997
  787.  
  788.  
  789.    Figures only available in postscript version
  790.  
  791.    The numerator represents the range of times in the interval widow
  792.    which fall below the current time t, while the denominator represents
  793.    the total range over which the times for the interval are selected.
  794.    This is illustrated in Figure 6.1. Note that this probability only
  795.    makes sense when t is between (1-alpha) and (1+alpha) of CL(t). When
  796.    t is to the left of the reconsideration window, the probability is
  797.    zero, and when t is to the right of the window, it is one.
  798.  
  799.    An important implication of this equation is that the send probabil-
  800.    ity is zero when t < (1 - alpha) C L(t) . This places an upper bound
  801.    on the learning curve; if the learning curve should reach this bound,
  802.    no initial packets would be sent, and the curve would remain flat
  803.    until it fell back below this upper bound. We therefore define the
  804. maximumlearningcurveLmmax
  805. (t)tobe:
  806.  
  807.    L_ max(t) = (1)/((1 - alpha) C) t
  808.  
  809. TheactuallearningcurveL(t)isalwaysbelowLmmax
  810. (t).
  811.  
  812.    The next step is to compute the scheduled rate, which is signifi-
  813.    cantly harder. In the ideal case, the rate that packets have been
  814.    scheduled at should equal the number of users in the system, N,
  815.    divided by the average RTCP interval size perceived by those users at
  816.    time t, namely CL(t). At any point in time the fraction of packets to
  817.    be sent which are initial is (N-L)/N. Thus, the scheduled rate of
  818.    initial packets is roughly given by:
  819.  
  820.    d(t)=(N - L(t))/(C L(t))
  821.  
  822.    The curves of Figure 5.1 show that the reconsideration algorithms
  823.    exhibit linear behavior between roughly t=100 and t=9000 (thus ignor-
  824.    ing the transient behavior in the beginning few seconds). We there-
  825.    fore attempt to determine the slope a of this line based on the dif-
  826.    ferential equation. Substituting L(t)=at into (2):
  827.  
  828.    a = (N - L(t))/(C L(t)) (1-(1- alpha) C a)/(2 alpha C a)
  829.  
  830.    For small t, L(t)<N, so we can ignore the L in the first term's
  831.    numerator. Thus:
  832.  
  833.    (2 alpha C^2 L(t))/(N) a^2 + a (1- alpha) C -1 = 0
  834.  
  835.    Thus, for large N and small t, L(t)ect the a2 term, and obtain the
  836.    desired result:
  837.  
  838.    a = (1)/((1 - alpha) C)
  839.  
  840.  
  841. J.Rosenberg,H.Schulzrinne                                    [Page 14]
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848. Internet Draft              Reconsideration                    July 1997
  849.  
  850.  
  851.    Not coincidentally, this is also the slope of the maximum learning
  852.    curve. The equation indicates, therefore, that L(t) grows at its max-
  853.    imum rate until the approximation is no longer valid, at which point
  854.    its growth tapers off.
  855.  
  856.    As mentioned previously, the equation for the scheduled rate d(t) is
  857.    very approximate. We have done some more extensive analysis, and
  858.    found that a slightly better approximation is given by:
  859.  
  860.    d(t) = (N - L(t))/(C (1 - alpha)/(2 - alpha) L(t))
  861.  
  862.    This is of the same form as the previous equation, but tends to model
  863.    the nonlinearities of the system better.
  864.  
  865.    Now, with the density and send probabilities computed, we can write
  866.    the final differential equation, which is:
  867.  
  868.    (dL)/(dt) = (N - L(t))/(C (1 - alpha)/(2 - alpha) L(t)) (t - (1 -
  869.    alpha) C L(t))/(2 alpha C L(t))
  870.  
  871.    This ODE allows us to compute a numerical solution, which can be com-
  872.    pared against the simulations. Figure 6.1 shows the learning curve,
  873.    with 10,000 users joining at t=0, for both analysis and simulation.
  874.    In the simulation, however, we take into account non-zero delays and
  875.    finite link speeds; network delays are a deterministic 300 ms, and
  876.    link speeds are 28.8 kbps. Note that despite this change in assump-
  877.    tions, the analytical expression still comes extremely close to the
  878.    experimental for a large portion of the convergence period. In par-
  879.    ticular, it is very close during the period of linearity of L(t) and
  880.    less accurate afterwards. In addition, the differential equation does
  881.    not capture the behavior of L(t) for 0 the experimental curve
  882.    exhibits the spike and plateau (this is difficult to see in Figure
  883.    6.1 because of the x axis scale).
  884.  
  885.    We believe that network delays only impact the behavior of L(t) when
  886.    they are on the order of CL(t). This is somewhat intuitive; the
  887.    timescale of transmission events for any particular user is CL(t). If
  888.    network delays are much smaller than this, they are almost instanta-
  889.    neous as far as sending packets goes, and therefore do not affect the
  890.    system behavior. It is for this reason that network delays only
  891.    impact the learning curve during the first minute or so.
  892.  
  893.    Figures only available in postscript version
  894.  
  895.    With an understanding of the behavior of L(t), we are now in a posi-
  896.    tion to discuss the real quantity of interest; the aggregate bit rate
  897.    generated by these sources as they move towards convergence. We call
  898.    this quantity r(t). Since the integral of this quantity is the total
  899.  
  900.  
  901. J.Rosenberg,H.Schulzrinne                                    [Page 15]
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908. Internet Draft              Reconsideration                    July 1997
  909.  
  910.  
  911.    number of packets sent, we have, as an immediate consequence:
  912.  
  913.    r(t) >= (d)/(dt)L(t)
  914.  
  915.    Experimentally, we have observed that r(t) is actually equal to the
  916.    derivative of L(t) for a large fraction of the time until conver-
  917.    gence. The reason for this is that the reconsideration mechanism
  918.    favors packets from users who have not yet sent a packet (initial
  919.    packets). Consider two packets, both scheduled to be sent at some
  920.    time t. One is an initial packet, and the other is from a user who
  921.    has sent a packet previously. For the initial packet, the last report
  922.    time is at t=0, whereas for the other packet, the last report time is
  923.    at some time t*, not equal to zero. In the latter case, the bottom
  924.    edge of the interval window is at t*+C(1-alpha)L(t). Thus, the proba-
  925.    bility of sending a non-initial packet at time t is:
  926.  
  927.    P_ sendold = (t - t^* - C (1 - alpha) L(t))/(2 alpha C L(t))
  928.  
  929.    This quantity is always less than the send probability for initial
  930.    packets as given in (3). In fact, for small t, L(t) is equal to
  931.    t/C(1-alpha). Plugging this in to (7), we get that the numerator of
  932.    the fraction is negative, so the send probability is exactly zero.
  933.    is exactly equal to the derivative of L(t) while L(t) is linear. We
  934.    expect it to continue to track the derivative closely even as L(t)
  935.    tapers off.
  936.  
  937.    Once L(t) has converged to N, packets are sent at a rate of 1/C with
  938.    conditional reconsideration. With unconditional reconsideration, this
  939.    rate is somewhat less. Therefore, r(t) exhibits a dual-constant
  940.    behavior; it starts at 1/(1-alpha)C, stays there for some time, then
  941.    reduces to 1/C, where it remains from then on.
  942.  
  943.    The final step is to approximate the convergence time. Unfortunately,
  944.    the precise time depends on the non-linear regime of L(t), which we
  945.    cannot capture adequately. However, we can bound the convergence time
  946.    by assuming linear behavior until L(t) equals N. Since the actual
  947.    L(t) is less than this curve, the convergence time Tc is easily
  948.    bounded on the left by:
  949.  
  950. __________________________
  951. Note that plugging in L(t)=t/C(1-alpha) to equation (3)
  952. yields  a  numerator of zero, and thus a probability of
  953. zero also. In fact, the send probability is  zero  only
  954. in  the  limit for N=infty; it is slightly positive for
  955. all real  cases.  This  is  in  contrast  to  the  send
  956. probability  for  non-initial packets, which is exactly
  957. zero for finite N.
  958.  
  959.  
  960.  
  961. J.Rosenberg,H.Schulzrinne                                    [Page 16]
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968. Internet Draft              Reconsideration                    July 1997
  969.  
  970.  
  971.    T_c >= N C (1 - alpha)
  972.  
  973.    This bound grows linearly with the group size, as expected.
  974.  
  975.    It is possible to compute an upper bound as well. Consider the last
  976.    initial packet to be sent. Before it is sent, L(t)=N-1. As long as
  977.    the send probability is less than one, it is possible that this last
  978.    initial packet will not be sent. But, according to (3), the send
  979.    probability is one when t>(1+alpha)CL(t). This means that the last
  980.    initial packet must be sent as soon as t=(1+alpha)C(N-1). This gives
  981.    us an upper bound of:
  982.  
  983.    T_c <= N C (1 + alpha)
  984.  
  985. 6.2 Modeling Delay and Loss
  986.  
  987.    In this section, we consider the reconsideration algorithm in the
  988.    presence of network delay and link bottlenecks. We compute the size
  989.    of the spike during the initial transient, and the duration of the
  990.    plateau. We also demonstrate the superiority of unconditional recon-
  991.    sideration in reducing these startup effects.
  992.  
  993.    The spike and plateau are easily explained. At t=0, all N users join
  994.    the system. They schedule their packets to be sent between
  995.    (1-alpha)Tmin and (1+alpha)Tmin. At time (1-alpha)Tmin, packets begin
  996.    to be sent. Lets say the network introduces a delay of D seconds.
  997.    This means that no packets will arrive at any end system until time
  998.    (1-alpha)Tmin+D. During these D seconds, many packets will be sent by
  999.    end-systems, causing the initial spike of packets. After D seconds,
  1000.    this burst of packets will arrive. This causes a sharp increase in
  1001.    the perceived group size L(t). This, in turn, increases the packet
  1002.    transmission interval, and moves the left hand side of the interval
  1003.    window well beyond the current time, so that Psend=0. The result is a
  1004.    complete halt in transmissions until real time catches up with the
  1005.    left hand side of the reconsideration window.
  1006.  
  1007.    This qualitative description of the system is easily quantified.  For
  1008.    a large enough N, the flood of packets starting at time (1-alpha)Tmin
  1009.    will saturate the access links D seconds later, independent of
  1010.    whether conditional or unconditional reconsideration is used.  While
  1011.    the links remain saturated, packets arrive at a continuous rate at
  1012.    the link speed, which we denote as m packets per second.  We can
  1013.    therefore express the arrival time of the nth packet as:
  1014.  
  1015.    t_n = (1 - alpha) T_min + D + (n)/(m)
  1016.  
  1017.    Since each packet arrival increases L(t) by one, we can set n equal
  1018.    to L(t) in the above equation and solve for L(t):
  1019.  
  1020.  
  1021. J.Rosenberg,H.Schulzrinne                                    [Page 17]
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028. Internet Draft              Reconsideration                    July 1997
  1029.  
  1030.  
  1031.    L(t) = m(t - (1 - alpha) T_min - D)
  1032.  
  1033.    This flood of packets will cause the learning curve L(t) to advance
  1034.    very quickly, beyond its maximum as given in (4). When the learning
  1035.    curve exceeds this maximum, all sending will stop. Call this stopping
  1036.    time tstop. It can be obtained as the solution to:
  1037.  
  1038.    (1 - alpha) C L(t_stop) = t_stop
  1039.    t_stop = (1 - alpha) T_min + D + ((1 - alpha) T_min + D)/((1 - alpha)
  1040.    C m - 1)
  1041.  
  1042.    We can then plug this into (9) and solve for the number of packets
  1043.    which have arrived at this point, nstop:
  1044.  
  1045.    n_stop = ((1 - alpha) T_min + D)/((1 - alpha) C - 1/m)
  1046.  
  1047.    The next step is to determine the number of packets sent up to this
  1048.    point. This figure differs based on whether the reconsideration mech-
  1049.    anism is conditional or unconditional. We first look at conditional.
  1050.  
  1051.    The number of packets sent consists of two terms. Before the arrival
  1052.    of the first packet (at time (1-alpha)Tmin+D+1/m), all packets sched-
  1053.    uled to be sent are actually sent, since no users have observed a
  1054.    change in the group size (which would activate the reconsideration
  1055.    mechanism). The number of packets sent is then the density of packets
  1056.    scheduled to be sent (which is N/2ATmin) times the amount of time
  1057.    until the first packet arrives. We call this quantity nsenta, and it
  1058.    is:
  1059.  
  1060.    n_senta = (N)/(2 alpha T_min) (D + (1)/(m) )
  1061.  
  1062.    Once the first packet arrives, reconsideration kicks in, and not all
  1063.    packets will be sent. Each will be sent with some probability, P.
  1064.    Unfortunately, this is not the same probability Psend as defined in
  1065.    Equation 3. That equation ignored the max operator, assuming L(t) was
  1066.    large most of the time. This is not true in the very beginning, where
  1067.    it takes a few packets to increase CL(t) beyond Tmin. We assume that
  1068.    once enough packets have arrived to do this, the result will be to
  1069.    move the left hand side of the reconsideration window ahead of the
  1070.    current time (this is true when D<C). In other words, we assume the
  1071.    left hand side of the reconsideration window is always at
  1072.    (1-alpha)CTmin until tstop.
  1073.  
  1074.    With this in mind, the send probability between the arrival of the
  1075.    first packet, and the stopping of transmission, is given by:
  1076.  
  1077.    P_send = (t - (1 - alpha) T_min)/(2 alpha T_min)
  1078.  
  1079.  
  1080.  
  1081. J.Rosenberg,H.Schulzrinne                                    [Page 18]
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088. Internet Draft              Reconsideration                    July 1997
  1089.  
  1090.  
  1091.    The number of packets sent is given by the integral of the scheduled
  1092.    packet rate times the send probability:
  1093.  
  1094.    n_sentb = INTEGRAL_(1 - alpha) T_min+ D + 1/m^t_stop d(t) P_send dt
  1095.  
  1096.    Since the density is N/2ATmin during this time period of interest,
  1097.    the number of packets sent is obtained by:
  1098.  
  1099.    n_sentb = INTEGRAL_(1 - alpha) T_min+ D + 1/m^t_stop (N)/(2 alpha
  1100.    T_min) (t - (1 - alpha) T_min)/(2 alpha T_min) dt
  1101.  
  1102.    This integral results in a growth in the number of sent packets as t2
  1103.    until complete cutoff at tstop. The solution to the integral is:
  1104.  
  1105.    n_sentb = (N)/(8 alpha^2 T_min^2) ( ( ((1 - alpha) T_min + D)/((1 -
  1106.    alpha) C m - 1) + D)^2 - (D + (1)/(m) )^2 )
  1107.  
  1108.    And the total number of packets sent, using conditional reconsidera-
  1109.    tion, during this transient spike is:
  1110.  
  1111.    n_sent = n_senta + n_sentb
  1112.  
  1113.    These analytical results are compared with simulation in Figure 6.2.
  1114.    The figure displays the cumulative number of packets sent for a step
  1115.    join. For the simulation, 100,000 users join the system at t=0. Net-
  1116.    work delays are deterministic and equal to 300 ms, and link speeds
  1117.    are 28.8 kbps. The plot shows only the initial transient. The linear
  1118.    and then t2 behavior is clear from the simulation. Our approximation
  1119.    for both nsenta and nsentb is quite good. The analysis also predicts
  1120.    that sending will stop at tstop=1.72s, which agrees with the simula-
  1121.    tion. Also note that the number of packets sent is dominated by the
  1122.    nsenta term.
  1123.  
  1124.    Figures only available in postscript version
  1125.  
  1126.    For unconditional reconsideration, the number of packets sent during
  1127.    the transient is different. In the conditional case, the total con-
  1128.    sisted of two parts; one before the arrival of the first packet (as
  1129.    the reconsideration mechanism had not kicked in yet), and one after.
  1130.    In the case of unconditional, we do not need to wait for the arrival
  1131.    of a packet for the mechanism to activate. Therefore, the number of
  1132.    packets sent is given by an equation similar to that for nsentb
  1133.    above. It is the integral of the scheduled rate, times the send prob-
  1134.    ability. In this case, the integral is between (1-alpha)CTmin and
  1135.    tstop, instead of just between the arrival of the first packet and
  1136.    tstop. The number of packets sent for unconditional is therefore:
  1137.  
  1138.    n_sent = INTEGRAL_(1 - alpha) T_min^t_1 (N)/(2 alpha T_min) (t - (1 -
  1139.  
  1140.  
  1141. J.Rosenberg,H.Schulzrinne                                    [Page 19]
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148. Internet Draft              Reconsideration                    July 1997
  1149.  
  1150.  
  1151.    alpha) T_min)/(2 alpha T_min) dt
  1152.  
  1153.    Solving, we obtain:
  1154.  
  1155.    n_sent = (N)/(8 alpha^2 T_min^2) ( ((1 - alpha) T_min + D)/((1 -
  1156.    alpha) C m - 1) + D)^2
  1157.  
  1158.    This quantity is small compared to nsenta for conditional reconsider-
  1159.    ation, thus the improved performance. These results are compared with
  1160.    simulation in Figure 6.2. The simulation model is identical to that
  1161.    in Figure 6.2, except unconditional reconsideration is used. As the
  1162.    plot indicates, only the t2 behavior is present here. The total num-
  1163.    ber of packets sent during the transient is much reduced, and reason-
  1164.    ably well predicted by our analysis.
  1165.  
  1166.    Figures only available in postscript version
  1167.  
  1168.    The next step is to determine the duration of the plateau period.
  1169.    Packet sending will start again when the current time catches up with
  1170.    the left hand side of the interval window, which will have quickly
  1171.    advanced to (1-alpha)Cnsent. The time at which this happens, tstart
  1172.    is:
  1173.  
  1174.    t_start = (1 - alpha) C n_sent
  1175.  
  1176.    For conditional reconsideration, if we assume nsent....pproxnsenta,
  1177.    we obtain:
  1178.  
  1179.    t_start = (C (1 - alpha) N)/(2 alpha T_min) (D + (1)/(m) )
  1180.  
  1181.    The duration of the plateau period itself is given by:
  1182.  
  1183.    T_plat = t_start - t_stop
  1184.  
  1185.    Table 1 lists the values of the parameters derived above for various
  1186.    group sizes. In all cases, A=1/2, Tmin=2.5, C=.711s, and D=300ms. The
  1187.    unconditional mechanism provides clear gains in terms of reducing the
  1188.    number of packets sent during the transient, and the duration of the
  1189.    plateau effect.
  1190.  
  1191.  
  1192. 7 Steady State Behavior
  1193.  
  1194.    It is important to consider the behavior of the reconsideration algo-
  1195.    rithms when the learning curve has reached steady state (i.e.,
  1196.    L(t)=N). The ideal behavior is for the total send rate of the group
  1197.    to be 1/C RTCP packets per second, equally divided among all users.
  1198.  
  1199.  
  1200.  
  1201. J.Rosenberg,H.Schulzrinne                                    [Page 20]
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208. Internet Draft              Reconsideration                    July 1997
  1209.  
  1210.  
  1211.  
  1212.          _________________________________________________________
  1213.                            Conditional
  1214.          Unconditional
  1215.               2-5
  1216.           Group Size N     nsent          Tplat
  1217.              nsent         Tplat
  1218.  
  1219. _________________________________________________________
  1220.               1000         143            49 s      18      5 s
  1221.              10000         1430           506 s     178     61 s
  1222.              100000        14305          5083 s    1784    632 s
  1223.          _________________________________________________________
  1224.  
  1225.  
  1226.    Table 1: Transient Behavior for Various Group Sizes
  1227.  
  1228.    There are actually two situations which can be reasonably deemed as
  1229.    steady state. The first of these is a group size which remains
  1230.    exactly fixed. However, in real systems, users come and go, so a sec-
  1231.    ond definition of steady state is a group whose membership oscillates
  1232.    slightly about some large value.
  1233.  
  1234.    We ran simulations to examine performance of the algorithms under
  1235.    both of these conditions. In first, fixed-group size scenario, both
  1236.    conditional reconsideration and the current RTCP algorithm both gen-
  1237.    erate packets at the desired rate of 1/C per second. We found, as
  1238.    expected, that the packet rate was reduced in the unconditional case,
  1239.    and packets were sent at .82/C packets per second, a reduction by
  1240.    18%.
  1241.  
  1242.    We also performed a stochastic analysis of the unconditional algo-
  1243.    rithm in steady state. The analysis demonstrated that the packet
  1244.    intervals, instead of being uniformly distributed between 1/2 and 3/2
  1245.    of the deterministic interval, were distributed with a density of
  1246. (y-1/2)e
  1247. y-1/2dybetween1/2and3/2.Theresultisthatthepacket
  1248.    rates are reduced by 1-ac1e-3/2, or 18%, matching our simulations
  1249.    exactly.
  1250.  
  1251.    In the second, slightly oscillating scenario, unconditional reconsid-
  1252.    eration and the current algorithm performed identically to their
  1253.    behavior in the first scenario. Conditional reconsideration, however,
  1254.    exhibited an average packet rate of .91/C, a reduction by 9%. This
  1255.    makes sense. When a user is about to send an RTCP packet, half the
  1256.    time the group size is larger than when the last packet is sent,
  1257.    activating the reconsideration. The other half of the time, the group
  1258.    size is slightly less, and the packet is sent, as if there were no
  1259.    reconsideration. Thus, the packet rate should be halfway between
  1260.    unconditional and the current algorithm.
  1261.  
  1262.    We also ran some simulations to investigate the fairness properties
  1263.  
  1264.  
  1265. J.Rosenberg,H.Schulzrinne                                    [Page 21]
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272. Internet Draft              Reconsideration                    July 1997
  1273.  
  1274.  
  1275.    of the algorithm. By fairness, we mean the variation of the number of
  1276.    packets transmitted per user, across all users. In a perfectly fair
  1277.    system, all users should have transmitted the same number of packets.
  1278.    We found all algorithms, including the current RTCP algorithm, to be
  1279.    extremely fair, with coefficients of variation below 0.005 after
  1280.    about an hour of running time.
  1281.  
  1282.    Finally, we investigated the impact of reconsideration on synchro-
  1283.    nization. The problem of synchronization in the Internet was studied
  1284.    by Van Jacobson and Sally Floyd in [18]. Their study focused on the
  1285.    synchronization of periodic routing messages, such as those generated
  1286.    by RIP or IGRP. However, they generalize their results to any system
  1287.    which is characterized by their periodic messages model. Fortunately,
  1288.    the RTCP feedback mechanism fits perfectly into this model, making
  1289.    their results directly applicable here. Although reconsideration
  1290.    reduces the randomness of the interval, the reduction is negligible
  1291.    compared to the amount required to induce synchronization.
  1292.  
  1293. 8 Summary and Future Work
  1294.  
  1295.    RTP was meant to support real-time communications ranging from two-
  1296.    party telephone calls to broadcast applications with very large user
  1297.    populations. It incorporates an adaptive feedback mechanism that
  1298.    allows scaling to moderately sized groups, but shows a number of
  1299.    deficiencies once the group size exceeds on the order of a thousand.
  1300.    The problems can be summarized as congestion, convergence delays and
  1301.    state storage problems. We have solved the congestion problem via a
  1302.    simple algorithm called reconsideration. Both analysis and simulation
  1303.    have shown that the algorithm reduces the initial congestion by
  1304.    orders of magnitude under a variety of conditions. Furthermore, the
  1305.    algorithm is backwards compatible with the existing RTCP algorithm,
  1306.    allowing for a simple migration path.
  1307.  
  1308.    The reconsideration algorithm has been implemented as part of a gen-
  1309.    eric RTP Library, and is now operational in several common Mbone
  1310.    tools, such as rat and Nevot. It has also been proposed to the IETF
  1311.    as an improvement to the RTP specification, and is likely to be
  1312.    incorporated into the next release.
  1313.  
  1314.    Future work involves considering the problem of simultaneous leaves,
  1315.    to which reconsideration cannot be directly applied. More work is
  1316.    also needed to solve the other RTP scalability problems.
  1317.  
  1318. 9 Acknowledgments
  1319.  
  1320.    The authors wish to thank Steve Casner, T.V. Lakshman, Sanjay Mithal,
  1321.    Daniel Rubenstein, Bernhard Suter, and Don Towsley for their insight-
  1322.    ful comments and discussion.
  1323.  
  1324.  
  1325. J.Rosenberg,H.Schulzrinne                                    [Page 22]
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332. Internet Draft              Reconsideration                    July 1997
  1333.  
  1334.  
  1335. 10 Bibliography
  1336.  
  1337.    [1] ITU-T,   Recommendation H.323 - Visual Telephone Systems and
  1338.    Equipment for Local Area Networks which Provide Non-Guaranteed Qual-
  1339.    ity of Service , February 1996.
  1340.  
  1341.    [2] M. Handley, H. Schulzrinne, and E. Schooler, SIP: Session initia-
  1342.    tion protocol, Internet Draft, Internet Engineering Task Force, Dec.
  1343.    1996.  Work in progress.
  1344.  
  1345.    [3] H. Schulzrinne, A real-time stream control protocol (RTSP'),
  1346.    Internet Draft, Internet Engineering Task Force, Dec. 1996.  Work in
  1347.    progress.
  1348.  
  1349.    [4] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: a
  1350.    transport protocol for real-time applications, Request for Comments
  1351.    (Proposed Standard) RFC 1889, Internet Engineering Task Force, Jan.
  1352.    1996.
  1353.  
  1354.    [5] I. Busse, B. Deffner, and H. Schulzrinne, Dynamic QoS control of
  1355.    multimedia applications based on RTP,   Computer Communications ,
  1356.    vol. 19, pp. 4958, Jan. 1996.
  1357.  
  1358.    [6] J. Robinson and J. Stewart, Multimon - an ipmulticast monitor.
  1359.    The MultiMON web page can be found at
  1360.    http://www.merci.crc.doc.ca/mbone/MultiMON.
  1361.  
  1362.    [7] S. McCanne, V. Jacobson, and M. Vetterli, Receiver-driven layered
  1363.    multicast, in   SIGCOMM Symposium on Communications Architectures and
  1364.    Protocols , (Palo Alto, California), Aug. 1996.
  1365.  
  1366.    [8] K. Almeroth and M. Ammar, Multicast group behavior in the
  1367.    internet's multicast backbone (mbone),   IEEE Communications Magazine
  1368.    , vol. 35, June 1997.
  1369.  
  1370.    [9] S. Casner and V. Jacobson, Compressing IP/UDP/RTP headers for
  1371.    low-speed serial links, Internet Draft, Internet Engineering Task
  1372.    Force, Nov. 1996.  Work in progress.
  1373.  
  1374.    [10] K. Almeroth and M. Ammar, Collecting and modeling the join/leave
  1375.    behavior of multicast group members in the mbone, in   Proceedings of
  1376.    the Symposium on High Performance Distributed Computing , (Syracuse,
  1377.    NY), pp. 20916, IEEE, Aug. 1996.
  1378.  
  1379.    [11] B. Aboba, Alternatives for enhancing RTCP scalability, Internet
  1380.    Draft, Internet Engineering Task Force, Jan. 1997.  Work in progress.
  1381.  
  1382.    [12] P. Sharma, D. Estrin, S. Floyd, and V. Jacobson, Scalable timers
  1383.  
  1384.  
  1385. J.Rosenberg,H.Schulzrinne                                    [Page 23]
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392. Internet Draft              Reconsideration                    July 1997
  1393.  
  1394.  
  1395.    for soft state protocols, in   Proc. of IEEE Infocom , 1997.
  1396.  
  1397.    [13] P. Sharma, D. Estrin, S. Floyd, and V. Jacobson, Scalable timers
  1398.    for soft state protocols, technical report, University of Southern
  1399.    California, June 1996.
  1400.  
  1401.    [14] J. Veizades, E. Guttman, and C. Perkins, Service location proto-
  1402.    col, Request for Comments (Proposed Standard) RFC 2165, Internet
  1403.    Engineering Task Force, June 1997.
  1404.  
  1405.    [15] J. Rosenberg, H. Schulzrinne, and B. Suter, Wide area service
  1406.    location, (internet draft), Internet Engineering Task Force, July
  1407.    1997.  Work In Progress.
  1408.  
  1409.    [16] Y. Rekhter and T. Li, A border gateway protocol 4 (BGP-4),
  1410.    Request for Comments (Draft Standard) RFC 1771, Internet Engineering
  1411.    Task Force, Mar.  1995.  (Obsoletes RFC1654).
  1412.  
  1413.    [17] T. Pusateri, Distance vector multicast routing protocol, Inter-
  1414.    net Draft, Internet Engineering Task Force, Sept. 1996.  Work in pro-
  1415.    gress.
  1416.  
  1417.    [18] S. Floyd and V. Jacobson, The synchronization of periodic rout-
  1418.    ing messages,   IEEE/ACM Transactions on Networking , vol. 2, pp.
  1419.    122136, Apr. 1994.
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445. J.Rosenberg,H.Schulzrinne                                    [Page 24]
  1446.  
  1447.  
  1448.  
  1449.