draft-ietf-rmcat-app-interaction-01

[フレーム]

RMCAT WG M. Zanaty
Internet-Draft Cisco
Intended status: Informational V. Singh
Expires: April 30, 2015 Aalto University
 S. Nandakumar
 Cisco
 Z. Sarker
 Ericsson AB
 October 27, 2014
 RTP Application Interaction with Congestion Control
 draft-ietf-rmcat-app-interaction-01
Abstract
 Interactive real-time media applications that use the Real-time
 Transport Protocol (RTP) over the User Datagram Protocol (UDP) must
 use congestion control techniques above the UDP layer since it
 provides none. This memo describes the interactions and conceptual
 interfaces necessary between the application components that relate
 to congestion control, including the RTP layer, the higher-level
 media codec control layer, and the lower-level transport interface,
 as well as components dedicated to congestion control functions.
Status of This Memo
 This Internet-Draft is submitted in full conformance with the
 provisions of BCP 78 and BCP 79.
 Internet-Drafts are working documents of the Internet Engineering
 Task Force (IETF). Note that other groups may also distribute
 working documents as Internet-Drafts. The list of current Internet-
 Drafts is at http://datatracker.ietf.org/drafts/current/.
 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."
 This Internet-Draft will expire on April 30, 2015.
Copyright Notice
 Copyright (c) 2014 IETF Trust and the persons identified as the
 document authors. All rights reserved.
Zanaty, et al. Expires April 30, 2015 [Page 1]

Internet-Draft RMCAT Application Interaction October 2014
 This document is subject to BCP 78 and the IETF Trust's Legal
 Provisions Relating to IETF Documents
 (http://trustee.ietf.org/license-info) in effect on the date of
 publication of this document. Please review these documents
 carefully, as they describe your rights and restrictions with respect
 to this document. Code Components extracted from this document must
 include Simplified BSD License text as described in Section 4.e of
 the Trust Legal Provisions and are provided without warranty as
 described in the Simplified BSD License.
Table of Contents
 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
 2. Key Words for Requirements . . . . . . . . . . . . . . . . . 4
 3. Conceptual Model . . . . . . . . . . . . . . . . . . . . . . 4
 4. Implementation Model . . . . . . . . . . . . . . . . . . . . 5
 5. Interfaces and Interactions . . . . . . . . . . . . . . . . . 6
 5.1. Config - Codec Interactions . . . . . . . . . . . . . . . 7
 5.2. Config - RTP/RTCP Interactions . . . . . . . . . . . . . 7
 5.3. Codec - RTP Interactions . . . . . . . . . . . . . . . . 8
 5.4. Codec - CC Interactions . . . . . . . . . . . . . . . . . 8
 5.4.1. Allowed Rate . . . . . . . . . . . . . . . . . . . . 8
 5.4.2. Media Elasticity . . . . . . . . . . . . . . . . . . 8
 5.4.3. Startup Ramp . . . . . . . . . . . . . . . . . . . . 8
 5.4.4. Delay Tolerance . . . . . . . . . . . . . . . . . . . 9
 5.4.5. Loss Tolerance . . . . . . . . . . . . . . . . . . . 9
 5.4.6. Throughput Sensitivity . . . . . . . . . . . . . . . 10
 5.4.7. Rate Stability . . . . . . . . . . . . . . . . . . . 10
 5.5. RTP - CC Interactions . . . . . . . . . . . . . . . . . . 10
 5.6. CC - UDP Interactions . . . . . . . . . . . . . . . . . . 11
 5.7. CC - Shared State Interactions . . . . . . . . . . . . . 12
 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
 8. Security Considerations . . . . . . . . . . . . . . . . . . . 12
 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
 9.1. Normative References . . . . . . . . . . . . . . . . . . 12
 9.2. Informative References . . . . . . . . . . . . . . . . . 14
 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction
 Interactive real-time media applications most commonly use RTP
 [RFC3550] over UDP [RFC0768]. Since UDP provides no form of
 congestion control, which is essential for any application deployed
 on the Internet, these RTP applications have historically implemented
 one of the following options at the application layer to address
 their congestion control requirements.
Zanaty, et al. Expires April 30, 2015 [Page 2]

Internet-Draft RMCAT Application Interaction October 2014
 1. For media with relatively low packet rates and bit rates, such as
 many speech codecs, some applications use a simple form of
 congestion control that stops transmission permanently or
 temporarily after observing significant packet loss over a
 significant period of time, similar to the RTP circuit breakers
 [I-D.ietf-avtcore-rtp-circuit-breakers].
 2. Some applications have no explicit congestion control, despite
 the clear requirements in RTP and its profiles AVP [RFC3551] and
 AVPF [RFC4585], under the expectation that users will terminate
 media flows that are significantly impaired by congestion (in
 essence, human circuit breakers).
 3. For media with substantially higher packet rates and bit rates,
 such as many video codecs, various non-standard congestion
 control techniques are often used to adapt transmission rate
 based on receiver feedback.
 4. Some experimental applications use standardized techniques such
 as TCP-Friendly Rate Control (TFRC) [RFC5348]. However, for
 various reasons, these have not been widely deployed.
 The RTP Media Congestion Avoidance Techniques (RMCAT) working group
 was chartered to standardize appropriate and effective congestion
 control for RTP applications. It is expected such applications will
 migrate from the above historical solutions to the RMCAT solution(s).
 The RMCAT requirements [I-D.ietf-rmcat-cc-requirements] include low
 delay, reasonably high throughput, fast reaction to capacity changes
 including routing or interface changes, stability without over-
 reaction or oscillation, fair bandwidth sharing with other instances
 of itself and TCP flows, sharing information across multiple flows
 when possible [I-D.welzl-rmcat-coupled-cc], and performing as well or
 better in networks which support Active Queue Management (AQM),
 Explicit Congestion Notification (ECN), or Differentiated Services
 Code Points (DSCP).
 In order to meet these requirements, interactions are necessary
 between the application's congestion controller, the RTP layer, media
 codecs, other components, and the underlying UDP/IP network stack.
 This memo discusses these interactions, presents a conceptual model
 of the required interfaces based on a simplified application
 decomposition, and proposes specific information exchange across
 these interfaces along with corresponding component behavior.
 Note that RTP can also operate over other transports with integrated
 congestion control such as TCP [RFC5681] and DCCP [RFC4340], but that
 is beyond the scope of RMCAT and this memo.
Zanaty, et al. Expires April 30, 2015 [Page 3]

Internet-Draft RMCAT Application Interaction October 2014
2. Key Words for Requirements
 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 [RFC2119].
3. Conceptual Model
 It is useful to decompose an RTP application into several components
 to facilitate understanding and discussion of where congestion
 control functions operate, and how they interface with the other
 components. The conceptual model in Figure 1 consists of the
 following components.
 +----------------------------+
 | +-----Config-----+ |
 | | | | |
 | | Codec | |
 | | | | | | |
 | APP +---RTP | RTCP---+ |
 | | | | | |
 | | | | | |
 | +---Congestion-------|---Shared
 | Control | State
 +----------------------------+
 |
 +----------------------------+
 | Network UDP |
 | Stack | |
 | IP |
 +----------------------------+
 Figure 1
 o APP: Application containing one or more RTP streams and the
 corresponding media codecs and congestion controllers. For
 example, a WebRTC browser.
 o Config: Configuration specified by the application that provides
 the media and transport parameters, RTP and RTCP parameters and
 extensions, and congestion control parameters. For example, a
 WebRTC Javascript application may use the 'constraints' API to
 affect the media configuration, and SDP applications may negotiate
 the media and transport parameters with the remote peer. This
 determines the initial static configuration negotiated in session
 establishment. The dynamic state may differ due to congestion or
 other factors, but still must conform to limits established in the
 config.
Zanaty, et al. Expires April 30, 2015 [Page 4]

Internet-Draft RMCAT Application Interaction October 2014
 o Codec: Media encoder/decoder or other source/sink for the RTP
 payload. The codec may be, for example, a simple monaural audio
 format, a complex scalable video codec with several dependent
 layers, or a source/sink with no live encoding/decoding such as a
 mixer which selectively switches and forwards streams rather than
 mixes media.
 o RTP: Standard RTP stack functions, including media packetization /
 depacketization and header processing, but excluding existing
 extensions and possible new extensions specific to congestion
 control (CC) such as absolute timestamps or relative transmission
 time offsets in RTP header extensions. RTCP: Standard RTCP
 functions, including sender reports, receiver reports, extended
 reports, circuit breakers [I-D.ietf-avtcore-rtp-circuit-breakers],
 feedback messages such as NACK [RFC4585] and codec control
 messages such as TMMBR [RFC5104], but excluding existing
 extensions and possible new extensions specific to congestion
 control (CC) such as REMB [I-D.alvestrand-rmcat-remb] (for
 receiver-side CC), ACK (for sender-side CC), absolute and/or
 relative timestamps (for sender-side or receiver-side CC), etc.
 o Congestion Control: All functions directly responsible for
 congestion control, including possible new RTP/RTCP extensions,
 send rate computation (for sender-side CC), receive rate
 computation (for receiver-side CC), other statistics, and control
 of the UDP sockets including packet scheduling for traffic
 shaping/pacing.
 o Shared State: Storage and exchange of congestion control state for
 multiple flows within the application and beyond it.
 o Network Stack: The platform's underlying network functions,
 usually part of the Operating System (OS), containing the UDP
 socket interface and other network functions such as ECN, DSCP,
 physical interface events, interface-level traffic shaping and
 packet scheduling, etc. This is usually part of the Operating
 System, often within the kernel; however, user-space network
 stacks and components are also possible.
4. Implementation Model
 There are advantages and drawbacks to implementing congestion control
 in the application layer. It avoids platform dependencies and allows
 for rapid experimentation, evolution and optimization for each
 application. However, it also puts the burden on all applications,
 which raises the risks of improper or divergent implementations. One
 motivation of this memo is to mitigate such risks by giving proper
Zanaty, et al. Expires April 30, 2015 [Page 5]

Internet-Draft RMCAT Application Interaction October 2014
 guidance on how the application components relating to congestion
 control should interact.
 Another drawback of congestion control in the application layer is
 that any decomposition, including the one presented in Figure 1, is
 purely conceptual and illustrative, since implementations have
 differing designs and decompositions. Conversely, this can be viewed
 as an advantage to distribute congestion control functions wherever
 expedient without rigid interfaces. For example, they may be
 distributed within the RTP/RTCP stack itself, so the separate
 components in Figure 1 are combined into a single RTP+RTCP+CC
 component as shown in Figure 2.
 +----------------------------+
 | +-----Config |
 | | | |
 | | Codec |
 | APP | | |
 | +---RTP+RTCP+CC------|---Shared
 +----------------------------+ State
 |
 +----------------------------+
 | Network UDP |
 | Stack | |
 | IP |
 +----------------------------+
 Figure 2
 The conceptual model in Figure 1 will be used throughout this memo to
 establish clearer boundaries between functions. But actual
 implementations may be closer to the looser model in Figure 2 and
 [Singh12].
5. Interfaces and Interactions
 The following subsections describe the interfaces and interactions
 between each of the interfaces in the conceptual model. Within each
 subsection, the most important interfaces and interactions are listed
 first. This overview provides an overall priority for all
 subsections, listing the top 5 interactions that CC designers and
 application developers must consider.
 o Allowed Rate (CC-Codec): This is the critical interface to close
 the feedback loop between sender and receiver, so codec output
 adapts rapidly to receiver feedback. See Section 5.4.1 for
 details.
Zanaty, et al. Expires April 30, 2015 [Page 6]

Internet-Draft RMCAT Application Interaction October 2014
 o Startup Ramp (CC-Codec): Initial rate (or number of packets in
 window-based CC proposals) and strategy for increasing the rate
 (or window) during media startup, similar to TCP intial congestion
 window and slow start. See Section 5.4.3 for details.
 o Delay Tolerance (CC-Codec): See Section 5.4.4 for details.
 o Loss Tolerance (CC-Codec): See Section 5.4.5 for details.
 o Priority / Weight (Config-CC-UDP): If the application has multiple
 media flows, and can configure relative priority or weight among
 them, the config can interact with shared state if coupled CC is
 used (Section 5.7), or interact directly with a CC designed with
 intrinsic distributed weighted fairness such as NADA. Priority
 can also interact with the underlying network stack if it supports
 layer 2/3 prioritization (Section 5.6).
5.1. Config - Codec Interactions
 The primary interactions between the config and the codec that are
 relevant to congestion control are the multiplexing of media streams
 [I-D.ietf-mmusic-sdp-bundle-negotiation] and RTP/RTCP [RFC5761] on
 the same UDP port.
 The config also establishes limits for the codec such as maximum bit
 rate and other codec-specific parameters. For example, a video codec
 config often sets limits on maximum resolution and frame rate as well
 as bit rate.
 Editor To-do: The W3C WebRTC Working Group is discussing the Media
 Constraints API and the Object RTC (ORTC) Capabilities API. Once
 finalized, these may impact the Config-related interactions for
 WebRTC applications. Potential interactions include application
 priority of media streams and application control of bandwidth, FEC,
 and other parameters affecting media quality.
5.2. Config - RTP/RTCP Interactions
 The config establishes the negotiated RTP and RTCP attributes and
 extensions such as Extended Reports (XR), reduced size [RFC5506],
 codec control [RFC5104], transmission time [RFC5450], etc.
 Editor To-do: The W3C WebRTC Working Group is discussing the Stats
 API. Once finalized, this may impact the RTP/RTCP-related
 interactions for WebRTC applications.
Zanaty, et al. Expires April 30, 2015 [Page 7]

Internet-Draft RMCAT Application Interaction October 2014
5.3. Codec - RTP Interactions
 Packetization of codec frames into RTP packets can be an important
 interaction. Some network interfaces may benefit from small packet
 sizes well below the MTU, while others may benefit from large packets
 approaching the MTU. Equalizing packet sizes of a frame may also be
 beneficial in some cases, rather than a combination of large and
 small packets. For example, in some FEC schemes, the FEC bandwidth
 overhead depends on the largest source packet size. Equalizing the
 source packet sizes can yield lower overhead than a combination of
 large and small packets.
5.4. Codec - CC Interactions
5.4.1. Allowed Rate
 Allowed Rate (from CC to Codec): The max transmit rate allowed over
 the next time interval. The time interval may be specified or may
 use a default. The rate may be specified in bytes or packets or
 both. The rate must never exceed permanent limits established in
 session signaling such as the SDP bandwidth attribute [RFC4566] nor
 temporary limits in RTCP such as TMMBR [RFC5104] or REMB
 [I-D.alvestrand-rmcat-remb]. This is the most important interface
 among all components, and is always required in any RMCAT solution.
 In the simplest possible solution, it may be the only CC interface
 required.
5.4.2. Media Elasticity
 Media Elasticity (from Codec to CC): Many live media encoders are
 highly elastic, often able to achieve any target bit rate within a
 wide range, by adapting the media quality. For example, a video
 encoder may support any bit rate within a range of a few tens or
 hundreds of kbps up to several Mbps, with rate changes registering as
 fast as the next video frame, although there may be limitations in
 the frequency of changes. Other encoders may be less elastic,
 supporting a narrower rate range, coarser granularity of rate steps,
 slower reaction to rate changes, etc. Other media, particularly some
 audio codecs, may be fully inelastic with a single fixed rate. CC
 can beneficially use codec elasticity, if provided, to plan Allowed
 Rate changes, especially when there are multiple flows sharing CC
 state and bandwidth.
5.4.3. Startup Ramp
 Startup Ramp (from Codec to CC, and from CC to Codec): Startup is an
 important moment in a conversation. Rapid rate adaptation during
 startup is therefore important. The codec should minimize its
Zanaty, et al. Expires April 30, 2015 [Page 8]

Internet-Draft RMCAT Application Interaction October 2014
 startup media rate as much as possible without adversely impacting
 the user experience, and support a strategy for rapid rate ramp. The
 CC should allow the highest startup media rate as possible without
 adversely impacting network conditions, and also support rapid rate
 ramp until stabilizing on the available bandwidth. Startup can be
 viewed as a negotiation between the codec and the CC. The codec
 requests a startup rate and ramp, and the CC responds with the
 allowable parameters which may be lower/slower. The RMCAT
 requirements also include the possibility of bandwidth history to
 further accelerate or even eliminate startup ramp time. While this
 is highly desirable from an application viewpoint, it may be less
 acceptable to network operators, since it is in essence a gamble on
 current congestion state matching historical state, with the
 potential for significant congestion contribution if the gamble was
 wrong. Note that startup can often commence before user interaction
 or conversation to reduce the chance of clipped media.
5.4.4. Delay Tolerance
 Delay Tolerance (from Codec to CC): An ideal CC will always minimize
 delay and target zero. However, real solutions often need a real
 non-zero delay tolerance. The codec should provide an absolute delay
 tolerance, perhaps expressed as an impairment factor to mix with
 other metrics.
5.4.5. Loss Tolerance
 Loss Tolerance (from Codec to CC): An ideal CC will always minimize
 packet loss and target zero. However, real solutions often need a
 real non-zero loss tolerance. The codec should provide an absolute
 loss tolerance, perhaps expressed as an impairment factor to mix with
 other metrics. Note this is unrecoverable post-repair loss after
 retransmission or forward error correction.
 Forward Error Correction (FEC): Simple FEC schemes like XOR Parity
 codes [RFC5109] may not handle consecutive or burst loss well. More
 complex FEC schemes like Reed-Solomon [RFC6865] or Raptor [RFC6330]
 codes are more effective at handling bursty loss. The sensitivity to
 packet loss therefore depends on the media (source) encoding as well
 as the FEC (channel) encoding, and this sensitivity may differ for
 different loss patterns like random, periodic, or consecutive loss.
 Expressing this sensitivity to the congestion controller may help it
 choose the right balance between optimizing for throughput versus low
 loss.
 Probing for Available Bandwidth: FEC can also be used to probe for
 additional available bandwidth, if the application desires a higher
 target rate than the current rate. FEC is preferable to synthetic
Zanaty, et al. Expires April 30, 2015 [Page 9]

Internet-Draft RMCAT Application Interaction October 2014
 probes since any contribution to congestion by the FEC probe will not
 impact the post-repair loss rate of the source media flow while
 synthetic probes may adversely affect the loss rate [Nagy14]. Note
 that any use of FEC or retransmission must ensure that the total flow
 of all packets including FEC, retransmission and original media never
 exceeds the Allowed Rate.
5.4.6. Throughput Sensitivity
 Throughput Sensitivity (from Codec to CC): An ideal CC will always
 maximize throughput. However, real solutions often need a trade-off
 between throughput and other metrics such as delay or loss. The
 codec should provide throughput sensitivity, perhaps expressed as an
 impairment factor (for low throughputs) to mix with other metrics.
5.4.7. Rate Stability
 Rate Stability (from Codec to CC): The CC algorithm must strike a
 balance between rate stability and fast reaction to changes in
 available bandwidth. The codec should provide its preference for
 rate stability versus fast and frequent reaction to rate changes,
 perhaps expressed as an impairment factor (for high rate variance
 over short timescales) to mix with other metrics.
5.5. RTP - CC Interactions
 RTP Circuit Breakers: The intent behind RTP circuit breakers
 [I-D.ietf-avtcore-rtp-circuit-breakers] is to provide a kill switch
 of last resort, not true congestion control. The breakers should
 never trip when an effective congestion control is operating. This
 may impose some boundaries on RMCAT solutions to ensure the
 congestion control never approaches situations which may trigger the
 breakers.
 RTCP Feedback: The primary method of communicating CC information is
 RTCP.
 RTP Header Extensions: While RTCP is likely to be the primary carrier
 of CC feedback, the RMCAT requirements also include the possibility
 of using RTP header extensions in bidirectional flows for CC
 feedback. Transmission time [RFC5450], or possibly absolute time,
 also use header extensions, as would any per packet priority markings
 expected to survive across different networks and administrative
 domains.
Zanaty, et al. Expires April 30, 2015 [Page 10]

Internet-Draft RMCAT Application Interaction October 2014
5.6. CC - UDP Interactions
 Pacing / Shaping: Simple pacing / shaping strategies delay the
 transmission of packets to equalize inter-packet time intervals,
 assuming the bottleneck is most sensitive to packet rate. More
 complex pacing strategies may go beyond simple even distribution of
 transmission times. For example, Sprout [Winstein13] attempts to
 predict the optimal transmission time (and rate) with the highest
 probability of success for each packet based on channel statistics.
 Pacing may be always on, or adaptively enabled / disabled based on
 congestion state to minimize delay. Pacing may be performed within
 the CC for a single flow or across multiple flows. It may also be
 performed across all or selective traffic over the network interface
 if the network stack supports interface-level traffic shaping.
 Detection of Transport Capabilities: The CC can query the network
 stack for useful transport capabilities such as ECN, DSCP, traffic
 shaping, etc. This may also aid upper layers in making better
 decisions such as whether or not to multiplex media streams. For
 example, if audio can be given differentiated network treatment from
 video when using separate ports.
 ECN: If the network stack and transport path support ECN, the CC can
 react faster than a loss-based CC and more reliably to congestion
 onset and abatement.
 DSCP: If the network stack and transport path support DSCP, the CC
 can map per-packet priority from RTP header extensions to DSCP (and
 layer 2 QoS if available) for better network handling under
 congestion.
 AQM: If AQM is present in the bottleneck, and working effectively,
 there should be little or no excess delay observed when varying the
 transmission rate. The loss of such delay signals may hinder the
 performance of congestion control algorithms that are highly
 dependent on delay variation for adapting transmission rate. If the
 application has knowledge of the presence of AQM, through any means
 which are beyond the scope of this memo, it should communicate this
 to the CC. The CC may use this to alter its signal collection and
 rate adaptation strategies. The CC must not rely solely on this as a
 reliable indicator. It must continue to monitor statistics to
 validate this application hint, and react appropriately if the
 statistics suggest different network behavior.
Zanaty, et al. Expires April 30, 2015 [Page 11]

Internet-Draft RMCAT Application Interaction October 2014
5.7. CC - Shared State Interactions
 Multiple Flows: Sharing state across multiple flows within the
 application can yield better CC decisions. Sharing state across even
 more flows beyond the application can yield even better CC decisions.
 The actual benefits and mechanisms of state sharing and coupled CC
 are described in [I-D.welzl-rmcat-coupled-cc].
 Weighted Fairness: An important consideration in CC of multiple flows
 is their relative application-specified weights. Within an
 application, it is likely the different flows have different rate
 requirements, so equal bandwidth sharing may not be fair nor
 desirable, and weighted fairness may be required.
6. Acknowledgements
 The RMCAT design team discussions contributed to this memo.
7. IANA Considerations
 This memo includes no request to IANA.
8. Security Considerations
 Amplification attacks often use UDP traffic to launch denial of
 service attacks. Attackers may attempt to subvert congestion control
 protocols in UDP applications to launch amplification attacks by
 signaling more bandwidth than is actually available. For example,
 sending a victim a forged REMB or a few fast ACKs may result in the
 victim sending a high rate RTP stream. Attacks on conference servers
 could lead to further amplification if it distributes the streams to
 many others. One mitigation is to use SRTCP for congestion control
 messages where supported. Even if SRTCP is only authenticated not
 encrypted, SRTCP packets should always pass authentication checks
 before any message contents are interpreted. Non-secure RTCP should
 be avoided where possible.
9. References
9.1. Normative References
 [I-D.alvestrand-rmcat-remb]
 Alvestrand, H., "RTCP message for Receiver Estimated
 Maximum Bitrate", draft-alvestrand-rmcat-remb-03 (work in
 progress), October 2013.
Zanaty, et al. Expires April 30, 2015 [Page 12]

Internet-Draft RMCAT Application Interaction October 2014
 [I-D.ietf-avtcore-rtp-circuit-breakers]
 Perkins, C. and V. Singh, "Multimedia Congestion Control:
 Circuit Breakers for Unicast RTP Sessions", draft-ietf-
 avtcore-rtp-circuit-breakers-06 (work in progress), July
 2014.
 [I-D.ietf-mmusic-sdp-bundle-negotiation]
 Holmberg, C., Alvestrand, H., and C. Jennings,
 "Negotiating Media Multiplexing Using the Session
 Description Protocol (SDP)", draft-ietf-mmusic-sdp-bundle-
 negotiation-12 (work in progress), October 2014.
 [I-D.ietf-rmcat-cc-requirements]
 Jesup, R., "Congestion Control Requirements For RMCAT",
 draft-ietf-rmcat-cc-requirements-06 (work in progress),
 October 2014.
 [I-D.ietf-rmcat-eval-criteria]
 Singh, V. and J. Ott, "Evaluating Congestion Control for
 Interactive Real-time Media", draft-ietf-rmcat-eval-
 criteria-02 (work in progress), July 2014.
 [I-D.welzl-rmcat-coupled-cc]
 Welzl, M., Islam, S., and S. Gjessing, "Coupled congestion
 control for RTP media", draft-welzl-rmcat-coupled-cc-04
 (work in progress), October 2014.
 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
 Requirement Levels", BCP 14, RFC 2119, March 1997.
 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
 Jacobson, "RTP: A Transport Protocol for Real-Time
 Applications", STD 64, RFC 3550, July 2003.
 [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
 Video Conferences with Minimal Control", STD 65, RFC 3551,
 July 2003.
 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
 Description Protocol", RFC 4566, July 2006.
 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,
 "Extended RTP Profile for Real-time Transport Control
 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, July
 2006.
Zanaty, et al. Expires April 30, 2015 [Page 13]

Internet-Draft RMCAT Application Interaction October 2014
 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman,
 "Codec Control Messages in the RTP Audio-Visual Profile
 with Feedback (AVPF)", RFC 5104, February 2008.
 [RFC5450] Singer, D. and H. Desineni, "Transmission Time Offsets in
 RTP Streams", RFC 5450, March 2009.
 [RFC5506] Johansson, I. and M. Westerlund, "Support for Reduced-Size
 Real-Time Transport Control Protocol (RTCP): Opportunities
 and Consequences", RFC 5506, April 2009.
 [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
 Control Packets on a Single Port", RFC 5761, April 2010.
9.2. Informative References
 [Nagy14] Nagy, M., Singh, V., Ott, J., and L. Eggert, "Congestion
 Control using FEC for Conversational Multimedia
 Communication", Proc. of 5th ACM Internation Conference on
 Multimedia Systems , 3 2014.
 [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
 August 1980.
 [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
 Congestion Control Protocol (DCCP)", RFC 4340, March 2006.
 [RFC5109] Li, A., "RTP Payload Format for Generic Forward Error
 Correction", RFC 5109, December 2007.
 [RFC5348] Floyd, S., Handley, M., Padhye, J., and J. Widmer, "TCP
 Friendly Rate Control (TFRC): Protocol Specification", RFC
 5348, September 2008.
 [RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
 Control", RFC 5681, September 2009.
 [RFC6330] Luby, M., Shokrollahi, A., Watson, M., Stockhammer, T.,
 and L. Minder, "RaptorQ Forward Error Correction Scheme
 for Object Delivery", RFC 6330, August 2011.
 [RFC6865] Roca, V., Cunche, M., Lacan, J., Bouabdallah, A., and K.
 Matsuzono, "Simple Reed-Solomon Forward Error Correction
 (FEC) Scheme for FECFRAME", RFC 6865, February 2013.
Zanaty, et al. Expires April 30, 2015 [Page 14]

Internet-Draft RMCAT Application Interaction October 2014
 [Singh12] Singh, V., Ott, J., and C. Perkins, "Congestion Control
 for Interactive Media: Control Loops & APIs", Proc. of
 IAB/IRTF Workshop on Congestion Control for Interactive
 RTC , 7 2012.
 [Winstein13]
 Winstein,, K., Sivaraman,, A., and H. Balakrishnan,
 "Stochastic Forecasts Achieve High Throughput and Low
 Delay over Cellular Networks", Proc. of the 10th USENIX
 Symposium on Networked Systems Design and Implementation ,
 4 2013.
Authors' Addresses
 Mo Zanaty
 Cisco
 Raleigh, NC
 USA
 Email: mzanaty@cisco.com
 Varun Singh
 Aalto University
 Espoo, FIN
 Finland
 Email: varun@comnet.tkk.fi
 Suhas Nandakumar
 Cisco
 San Jose, CA
 USA
 Email: snandaku@cisco.com
 Zaheduzzaman Sarker
 Ericsson AB
 Luleae
 Sweden
 Email: zaheduzzaman.sarker@ericsson.com
Zanaty, et al. Expires April 30, 2015 [Page 15]

AltStyle によって変換されたページ (->オリジナル) /