RMT Working Group Brad Cain/Mirror Image Internet Engineering Task Force Dah Ming Chiu/Sun Microsystems INTERNET-DRAFT Miriam Kadansky/Sun Microsystems draft-ietf-rmt-bb-tree-config-00.txt Seok Joo Koh/ETRI/Korea 14 July, 2000 Brian Neil Levine/UMass Expires 14 January 2001 Gursel Taskale/Talarian Brian Whetten/Talarian Reliable Multicast Transport Building Block: Tree Auto-Configuration Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are 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 a "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract The Reliable Multicast Transport Working Group has been chartered to standardize multicast transport services. This working group expects to initially standardize three protocol instantiations. This draft is concerned with the requirements of the tree-based ACK protocol. In particular, it is concerned with defining the building block for auto-configuration of the logical ACK-tree. According to the charter, a building block is "a coarse-grained modular component that is common to multiple protocols along with abstract APIs that define a building block's access methods and their arguments." For more information, see the Reliable Multicast Transport Building Blocks and Reliable Multicast Design Space documents [WLKHFL00][HWKFV00]. draft-ietf-rmt-bb-tree-config-00 [Page 1] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 Table of Contents 1. Introduction 1.1 Terminology 1.2 Assumptions 1.3 Requirements 2. Overview 3. Metrics 3.1 Static Metric 3.2 Expanding Ring Search Metric 3.3 Point-of-Contact (POC) Metric 3.4 Routing Metric 4. Tree Formation 4.1 Step 1: Session Advertisement 4.1.1 Static Metric 4.1.2 Expanding Ring Search Metric 4.1.3 Point-of-Contact (POC) Metric 4.1.4 Routing Metric 4.2 Step 2: Neighbor Discovery and Selection 4.2.1 Static Metric 4.2.2 Expanding Ring Search Metric 4.2.3 Point-of-Contact (POC) Metric 4.2.4 Routing Metric 4.3 Step 3: Binding to the Service Node 4.4 Late Joins 5. Tree Maintenance 5.1 Monitoring Parents and Children 5.2 Optimizing the Tree 6. Messages 7. Open Issues 8. References Authors' Addresses draft-ietf-rmt-bb-tree-config-00 [Page 2] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 1. Introduction The Reliable Multicast Transport (RMT) working group has been chartered to standardize IP multicast transport services. This draft is concerned with the requirements of the tree-based ACK protocol[WCP00]. In particular, this draft defines a protocol that comprises the building block for auto-configuration of a logical ACK-tree comprised of a single Sender, Service Nodes, and Receivers into a tree. The design goals of this draft are motivated by the needs of TRACK-based protocols, however the trees it constructs are useful for other services. The process of ACK tree construction is difficult for IP multicast. The best trees match the underlying (i.e. forwarding tree) multicast routing tree topology[LPG98], however the multicast service model[DEE89] does not provide explicit support for discovering routing tree topology. Furthermore, deployed multicast architectures can vary; for example, hosts may be restricted to multicast reception and not transmission with PIM-SS[HC00]; and routers may provide special extended routing services with Generic Router Assist [CST00]. The RMT charter does not restrict the use of any particular network service in constructing the tree, it only suggests preferred scenarios. Accordingly, there are several viable solutions for constructing a tree. This draft describes a unified solution for tree construction in the presence of different multicast service models and routing protocols. In particular, it specifies a single protocol which may be used with various metrics, several of which are specified within this document. Different implementations can differ by what metrics are used to build the tree and also what mechanisms are used to discover such metrics, but the signaling for building the tree is exactly the same and therefore interoperable. In order to accommodate various multicast deployments, this document divides the tree building process into two components: 1. A protocol for construction and maintenance of logical Session Trees (which is common across all metrics). 2. Several metrics for using in tree construction and the methods for obtaining those metrics. This document currently describes four such metrics. These are the following: Static configuration, Beacon (by way of a Sender Beacon or GRA), Point-of-Contact, and through the use of a SN routing metric. This draft is required to conform to the guidelines specified in draft-ietf-rmt-author-guidelines-xx, Author Guidelines for RMT Building Blocks and Protocol Instantiation Documents [KV00]. A future version of this draft will more explicitly describe this conformance. 1.1 Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. Session A session is used to distribute data over a multicast address. A draft-ietf-rmt-bb-tree-config-00 [Page 3] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 tree is used to provide reliability service for a session. Sender The single sender of data on a multicast session. The Sender is the root of the Session Tree. Receiver A receiver receives data from the sender via the multicast session. Session Identifier A 48-bit number, chosen either by the application that creates the session or by the transport. Senders and Receivers use the Session Identifier to distinguish sessions. Service Node (SN) A node within the tree which receives and retransmits data, and aggregates and forwards control information toward the Sender. The Sender operates as the root Service Node in any session tree. Service Nodes MAY be dedicated servers within a network designed to participate in multiple Sessions, or they MAY be Receivers participating in an individual session. SNs MAY limit the number of Children they choose to service, and MAY also make other restrictions on the characteristics of each Child (distance, location, etc.). An SN that has accepted Children for a session is called a Parent. Session Tree (ST) The Session Tree is a spanning tree per Session, rooted at the Sender and consisting of a number of Service Nodes. An ST is constructed for the forwarding of control information back to the Sender as well as for the resending of missed data to the Receivers. The ST for a particular session may change over the course of the session. Parent A Parent is an SN or Receiver's predecessor in the ST on the path toward the Sender. Every SN or Receiver on the tree except the Sender itself has a parent. Each Parent communicates with its children using either an assigned multicast address or through unicast. If a multicast address is used, this may be the same address used by the session, or one specifically assigned to the Parent. Children The group of Receivers and SNs one Tree Level below for which an SN is providing repair and feedback services. Tree Level A number indicating a SN's level within the ST. The Sender's Tree Level is always 0. The Sender's Children are at level 1, etc. Each Node (except the Sender) has an initial Tree Level of 100, indicating that it is not yet on the tree. This means that the maximum number of tree levels is 99. Once a Node joins the tree, its Tree Level is updated. draft-ietf-rmt-bb-tree-config-00 [Page 4] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 Metric A measurement procedure used to determine relative distances between Receivers, SNs, and the Sender. Several Metrics are described in this draft. The Metric (or Metric to Sender) is used to select a SN as parent and therefore to build the Session Tree. This document describes several metrics. These metrics may include different mechanisms for discovery. Neighbor A Receiver or SN's Neighbors are SNs that, according to the selected Metric, are closest to it and also closer to the Sender than the Receiver. Sender Beacon One metric discovery process is through a Sender initiated beacon message. A Sender Beacon is initiated by the Sender to measure distances between the Sender and Receivers and SNs. 1.2 Assumptions This document describes how to build trees under the following conditions: a. The multicast group has only a single sender. b. A single SN can serve multiple sessions. c. Sessions can take advantage of a pre-deployed infrastructure of SNs (ones that are not necessarily aware of a session before tree-building starts), or recruit Receivers to be SNs. d. Generic Router Assist[CST00] and Expanding Ring Search[YGS95] are not required of the network infrastructure, but if available they should be able to be utilized. 1.3 Requirements The following are specifically required: a. While tree-building make take advantage of information from the routing layer, the mechanisms described are independent of the routing protocol(s) used by the underlying multicast tree. b. All trees constructed must be loop free c. These mechanisms must support late joiners and tree optimization 2. Overview The tree building process described within this document builds logical trees which consist of: 1. A root node which is the Sender 2. Intermediate nodes which may be either Receivers or nodes specifically allocated to the task of repair and aggregation 3. Leaf nodes which are Receivers only ACK trees are spanning trees rooted at the Sender and built in a "bottom-up" or receiver-initiated fashion. ACK trees can be used for the forwarding of control information (i.e. ACKs) towards the root, or for forwarding of data (i.e. repairs) towards the leafs. draft-ietf-rmt-bb-tree-config-00 [Page 5] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 ACK trees are constructed per Sender; each node initiating a tree join request uses its metric(s) to the Sender to make a decision as to which node is the best parent. This document specifies several such metrics (and methods for obtaining those metrics). The only requirement is that a single tree must be constructed using the same metrics throughout. It is important to note that SNs may be actual Receivers (e.g. Receivers willing and able function as Repair Heads) or pre-deployed "specialized" servers that are prodded into service by Receivers. We use the term Service Node to refer to either a Receiver or "server" which is participating as part of the logical tree formation. Tree construction, regardless of metric, proceeds generically as follows. 1. Receivers of a session use standard out-of-band mechanisms for discovery of a session's existence (e.g. Session Advertisement[HPW00], URL, etc). In this way, a Receiver discovers the multicast group address, the Sender's address, and other information necessary for logical tree construction. 2. Each Receiver then determines the best SN to use for the session, and binds with it for service. If a Receiver is also an SN, then it may use mechanisms described in this document to find an SN for itself. 3. All SNs must determine their distance to the Sender using the Metric required for the Session. 4. Once an SN determines its own metric to the Sender, it discovers other potential parents and their metrics as well. In this way, the SN can make a choice as to where it should graft itself into the Session Tree. 5. When an appropriate parent SN has been chosen, a SN must bind to the chosen parent. Once an SN receives a bind from a child, that SN must then also bind with other SNs in order to form the Session Tree (rooted back to Sender). 6. During a session, a Receiver or SN may change to a different SN for a number of reasons described below. The Session Tree is maintained and optimized over time. draft-ietf-rmt-bb-tree-config-00 [Page 6] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 The protocol provides mechanisms for maintaining and optimizing the tree, as well as tearing it down when the Sender is done with it. In the rest of this document, the term 'Node' denotes a Receiver or SN. +---------------+ | | | Session | | Advertisement | | | +---------------+ | | | Node receives tree-building parameters | V +--------------------+ | | | Neighbor Discovery |<-------------------------| | and Selection | | | | | +--------------------+ | | | | | | Node picks best Neighbor | | | V | +--------------------+ | | | | | Binding to |--------------------------- | Service Node | Periodic optimization try | | or Parent leaves +--------------------+ 3. Metrics Metrics to the Sender are used to rank and determine which Neighbor is an appropriate parent. Several Metrics for determining and ranking Neighbors for a Node can be used within this building block. A Node MAY use multiple metrics to determine its Neighbors. However, different Metrics are not necessarily comparable and a single Metric should be used at at any one point in a Session. However, different Metrics MAY be used serially, with a node falling back on a less desirable metric after a different Metric fails to provide a Parent. A short description of each Metric is included here. More details of how each one operates in included in the Tree Formation section below. 3.1 Static Metric A list of Neighbors and optionally their distances are made available to a Node in some well-known location. The Node determines the Neighbors' distances, then picks the best one to be its SN. 3.2 Expanding Ring Search Metric Nodes learn their approximate distance to a the Sender through either a Sender Beacon or through the use of GRA. Once this metric is draft-ietf-rmt-bb-tree-config-00 [Page 7] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 learned, it can be advertised to Neighbors through the use of either an expanding ring search or through other means (e.g. GRA). SNs multicast their request using an expanding ring search. SNs offering service respond to requests with their own TTL from the source. Nodes increase the TTL of their requests until responses are received, then pick the best SN. 3.3 Point-of-Contact (POC) Metric [BRIAN] Nodes learn their distance from the source, then query a designated node, the POC, for Neighbors using this distance. The POC returns one or more choices of SN, from which the node chooses. 3.4 Routing Metric Nodes learn their distance from the source through either static configuration, through a Sender Beacon, or other such means. Nodes have preconfigured relationships with potential parents to which they advertise their own Metric. 4. Tree Formation The following is a detailed description of the tree formation process. All tree construction follows this pattern. The ONLY differences between instantiations of this building block lie in how nodes discovers metrics and what metrics are used. 4.1 Step 1: Session Advertisement Receivers of a session are informed of the session's existence through some out-of-band method, such as Session Advertisement[HPW00], e-mail, etc. SNs do not necessarily receive these advertisements. If an SN is not a Receiver, it obtains the advertisement information once it is contacted by a Receiver. The advertisement includes the multicast address being used, the Sender's address, the Session Identifier, any specific port numbers to be used, the Metric(s) to be used, and any Metric-specific information. Metric-specific information for each Metric is as follows: 4.1.1 Static Metric The location of the Neighbor list, which could be a file name, a URL, or a DNS name. This Neighbor list may consist of a definitive parent per Session or a list of potential Neighbors and their distances to a Sender or set of Senders. 4.1.2 Expanding Ring Search Metric For the Expanding Ring Search Metric, the advertisement MUST include the multicast address and the maximum TTL to use for solicitation, plus the TTL increment to use for successive solicitations, and the time interval between them. 4.1.3 Point-of-Contact (POC) Metric [BRIAN] Address of the Sender's POC. draft-ietf-rmt-bb-tree-config-00 [Page 8] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 4.1.4 Routing Metric When using the Routing Metric, Nodes are configured with a set of potential Neighbors to exchange Metrics with. This list is simply the list of unicast IP addresses of the Nodes. 4.2 Step 2: Neighbor Discovery and Selection Using one or more of the metrics, a Node determines its location relative to the source, and collects information about nearby SNs and their locations relative to the source. An SN is added to the Node's list of Neighbors if it is closer to the source than the Node itself. The best Neighbor, as determined by the Metric, is then selected from the list of Neighbors. The remaining list may then be cached for future use. The selected Neighbor must also meet loop-free criterion: the Neighbor must have a Tree Level lower than or equal to the Node's. In addition, if the Neighbor's Tree Level is less than 100, the Node knows that the Neighbor is connected to the tree. The details of this process for each metric follow. 4.2.1 Static Metric A list of Neighbors and optionally their distances are made available to a Node in some well-known location. The location of the Neighbor list, which could be a file name, a URL, or a DNS name, MAY be included in the advertisement. The list of Neighbors may also include pre-determined distance information. If not, the node determines each Neighbor's Metric using the same solicit procedure described in section 4.2.2, except a unicast SOLICIT message is used instead of a multicast message. Each Node then picks the best Neighbor to be its SN. 4.2.2 Expanding Ring Search Metric Nodes look for Neighbors using a multicast SOLICIT message. An SN that is able to handle additional Children SHOULD respond to a SOLICIT message by multicasting a HEARTBEAT message. If the SN is not yet a Parent, the TTL used in this response is the same TTL used in the SOLICIT message. If the SN is a Parent, the TTL used is the greater of the SOLICIT TTL and the Parent's current HEARTBEAT TTL. The Node listens for HEARTBEAT messages after sending the SOLICIT message. If one or more HEARTBEAT messages are received during a solicit interval, the best SN among them is selected. If no HEARTBEAT messages are received, the Node sends another multicast SOLICIT message with an incremented TTL. The process of sending the multicast SOLICIT message with an increasing TTL value continues until a response is received. The TTL value is limited by a value specified in the advertisement. If the TTL value required to reach the soliciting Node is greater than the TTL used to reach the SN, a HEARTBEAT message may not reach the Node. However, if future SOLICIT messages have increased TTL values, the TTL may eventually be large enough for the HEARTBEAT message to reach the Node. However, it is possible that the Node draft-ietf-rmt-bb-tree-config-00 [Page 9] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 will not locate any SNs using Expanding Ring Search. SNs SHOULD suppress sending HEARTBEAT messages in response to SOLICIT messages if one was sent with at least the SOLICIT's TTL within the last solicit interval. Nodes MAY suppress sending SOLICIT messages for one interval when they first start in order to collect information from HEARTBEAT messages already solicited by other nodes. The multicast TTL value required to reach a Receiver from an SN defines the distance between them. The best Neighbor is the one closest to the Sender. Criteria used to break ties MAY include the SN's number of Children, capacity, Tree Level, or IP address. 4.2.3 Point-of-Contact (POC) Metric [BRIAN] Address of the Sender's POC. 4.2.4 Routing Metric Nodes contact each potential Neighbor with a unicast HEARTBEAT message. Nodes announce their metrics to each potential Neighbor with a unicast SENDERMETRIC message. Each message contains a Node's Metric to the Sender(s). SENDERMETRIC messages are sent whenever a Node's Metric changes. The Metric that is included in SENDERMETRIC messages may be discovered through a variety of means. Each Node maintains a list of potential Neighbors from which it has received HEARTBEAT messages. A bi-directional relationship is established between potential Neighbors. Before sending a SENDERMETRIC to a potential Neighbor, it must be assured that the potential Neighbor has received the Node's HEARTBEAT message. This is accomplished through the use of a bi-directional bit in the HEARTBEAT message. SENDERMETRIC updates are sent after the following events: 1. When a new potential Neighbor's HEARTBEAT message is received (with the bi-directional bit set). 2. When a Node's Metric changes. After receiving SENDERMETRIC messages from each potential Neighbor, a Node makes a choice as to which Neighbor is the most appropriate parent. 4.3 Step 3: Binding to the Service Node Once an SN has been selected, the Node sends a BIND message to the SN. If the SN accepts the Node as a Child, it returns an ACCEPT message. If it does not accept the Node, it sends a REJECT message. If the Node does not receive a response after a reasonable number of tries and timeout period, it MAY select the next best Neighbor from its cached list, else it runs the Neighbor Discovery and Selection step again to determine an alternate SN to try. draft-ietf-rmt-bb-tree-config-00 [Page 10] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 The ACCEPT message MUST include the Parent's current Tree Level. The Node MUST set its Tree Level to one more than the Parent's level. If the Node itself has Children, it MUST send a HEARTBEAT message containing the new Tree Level. The ACCEPT message MAY also indicate the starting sequence number of the message from which data reliability is assured. Service Nodes MAY limit the number of children they support depending on their capacity. Once an SN has accepted its maximum number of Children, it stops accepting new Children until a change in membership causes its count of Children to go below this limit. If an SN limits the number of children it supports, it MUST reserve several child slots for other SNs. This guarantees the growth of the repair tree. [BRIAN] Some metrics require action by an SN whenever its list of Children changes. 4.4 Late Joins A late joiner is a node seeking membership in the tree after the Sender has started to send data. In this case, it is possible that some of the data is no longer available within the tree. Nodes may need to have specific information about repair availability before selecting a Parent from its possible Neighbors. In order to accommodate this requirement, the SOLICIT, BIND, ACCEPT, and HEARTBEAT messages may contain information about both a Node's requirements for repair data, and an SN's ability to provide that data. 5. Tree Maintenance Tree maintenance is an ongoing process active in every Node. Because the tree is based on the operation of SNs, as well as the various underlying metrics that may change over time, it is important that these dependencies be monitored for changes. Nodes MUST monitor Parents for liveliness and changes in tree level, and SHOULD continue to run the Neighbor Discovery and Selection process in order to optimize their choice of SN. Parents must monitor Children for liveliness. 5.1 Monitoring Parents and Children Parents periodically send out HEARTBEAT messages unicast or on their assigned multicast addresses as a keep-alive to their Children. The HEARTBEAT message MUST contain the Parent's current Tree Level. Children MUST set their Tree Level to one more that their Parent's level. Children respond to their Parent's HEARTBEAT message with a HEARTBEATCONFIRM message. Both messages MAY be suppressed if other messages in the protocol instantiation have recently provided a keep-alive function. If a Child does not receive a HEARTBEAT message from its Parent for a period of time, it MUST attempt to bind with an alternate SN. A Child that is leaving a session MUST send a unicast LEAVE message to its Parent. The Parent SHOULD respond with a LEAVECONFIRM draft-ietf-rmt-bb-tree-config-00 [Page 11] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 message. A Parent that is leaving the session MUST send a multicast LEAVE message to its Children indicating that they need to bind with an alternate SN. [BRIAN] Some metrics require action by an SN whenever it leaves the session. If a Parent does not hear a HEARTBEATCONFIRM message from a Child for a period of time, or it receives a LEAVE message from a Child, it removes that Child from its list of Children. [BRIAN] Some metrics require action by an SN whenever it's list of Children changes. 5.2 Optimizing the Tree Implementations of this building block SHOULD continue to run the Neighbor Discovery and Selection process in order to optimize the choice of SN. This continuous process also keeps the metric information for the current Parent up- to-date. Whenever the process returns a better SN than the current one, the Node SHOULD bind to the new SN. Once the new SN is bound to, the Node MUST send a LEAVE message to the original Parent. A Parent with no Children MAY leave the session. draft-ietf-rmt-bb-tree-config-00 [Page 12] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 6. Messages These messages are required for implementations of this building block. The list below indicates which message contents are required by implementations. Implementations may also include other protocol-specific information in these messages. +------------------+---------------------------------+----------------------+ | Message Name | Description | Required | | m'cast or u'cast | | Contents | |------------------+---------------------------------+----------------------+ | SOLICIT | queries Neighbors for metric | Metric(s) | | both | information | | |------------------+---------------------------------+----------------------+ | BIND | request to SN to join tree | Metric information | | unicast | | current Tree Level | |------------------+---------------------------------+----------------------+ | ACCEPT | acceptance of BIND from SN | current Tree Level | | unicast | | | |------------------+---------------------------------+----------------------+ | REJECT | rejection of BIND from SN | reject reason | | unicast | | | |------------------+---------------------------------+----------------------+ | LEAVE | Child leaving Parent (u'cast), | | | both | or Parent leaving tree (m'cast) | | |------------------+---------------------------------+----------------------+ | LEAVECONFIRM | Acknowledgement of LEAVE | | | unicast | message | | |------------------+---------------------------------+----------------------+ | HEARTBEAT | Periodic keep-alive from Parent | current Tree Level | | both | to Children | | |------------------+---------------------------------+----------------------+ | HEARTBEATCONFIRM | Acknowledgement of HEARTBEAT | | | unicast | from Child | | |------------------+---------------------------------+----------------------+ draft-ietf-rmt-bb-tree-config-00 [Page 13] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 7. Open Issues Tree Recording We should have an interface for recording the tree structure in order to be able to recreate it using static settings. Globalized Metrics It would be nice to have more ways of using metrics to optimize trees in different ways, like using the minimal number of SNs, or the minimal number of Children per SN, etc in order to create trees with certain global or optimized characteristics. Tree-Connection Knowledge Is it useful (or necessary?) for an SN to know if it is on the tree? Is it useful for an SN to be preferred if it is already on the tree ("metric bonus")? Measuring Distances We need to specify more about how to measure distances. Unicast or multicast? Port Numbers Port number issues need to be spelled out. Do we need a reserved port number? Split up 'Metric'? Are there really two parts to Metric, methods (ERS, Static, etc.) and metrics (unicast or multicast TTL, child count, etc.). Separate Learning Metrics from Advertising Metrics? There may be a particular way to learn a metric to sender (e.g. Sender Beacon) but there may be different ways to advertise it to other SNs (e.g. Routing messages, POC, ERS). Here's how I divide it up: Static: learn and/or advertise Sender Beacon: learn GRA: learn and/or advertise Routing Messages: advertise (possibly learn but not covered yet) ERS: learn and/or advertise POC: learn and/or advertise Combine Messages Can we consolidate more of the tree-building messages? draft-ietf-rmt-bb-tree-config-00 [Page 14] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 8. References [CST00] B. Cain, T. Speakman, D. Towsley, "Generic Router Assist (GRA) Building Block - Motivation and Architecture", Internet Draft, Internet Engineering Task Force, March 2000. [DEE89] Deering, S., "Host Extensions for IP Multicasting", RFC 1112. [ECTP00] ITU-T SG7/Q.13 and ISO/IEC JTC1/SC6/WG7, "Enhanced Communication Transport Protocol," ITU-T Draft Recommendation X.ectp and JTC1/SC6 Committee Draft 14476, June, 2000. [HC00] H. Holbrook, B. Cain, "Source-Specific Multicast for IP," Internet Draft, Internet Engineering Task Force, March 2000. [HPW00] Handley M., Perkins, C., Whelan, E. "Session Announcement Protocol", Internet Draft, Internet Engineering Task Force, March 2000. [HWKFV00] M. Handley, B.Whetten, R. Kermode, S.Floyd, L. Vicisano, and M. Luby, "The Reliable Multicast Design Space for Bulk Data Transfer," Internet Draft, Internet Engineering Task Force, March 2000. [KV00] R. Kermode, L. Vicisano, "Author Guidelines for RMT Building Blocks and Protocol Instantiation Documents," Internet Draft, Internet Engineering Task Force, July, 2000. [LPG98] B.N. Levine, S. Paul, and J.J. Garcia-Luna-Aceves, "Organizing Multicast Receivers Deterministically According to Packet-Loss Correlation," Proc. Sixth ACM International Multimedia Conference (ACM Multimedia 98), Bristol, UK, September 1998. [WCP00] B. Whetten, D. Chiu, S. Paul, "TRACK Architecture, A Scalable Real-Time Reliable Multicat Protocol," Internet Draft, Internet Engineering Task Force, July 2000. [WLKHFL00] B. Whetten, L. Vicisano, R. Kermode, M. Handley, S.Floyd, and M. Luby, "Reliable Multicast Transport Building Blocks for One- to-Many Bulk-Data Transfer," Internet Draft, Internet Engineering Task Force, March 2000. [YGS95] R. Yavatkar, J. Griffioen and M. Sudan, "A Reliable Dissemination Protocol for Interactive Collaborative Applications", University of Kentucky, 1995. draft-ietf-rmt-bb-tree-config-00 [Page 15] INTERNET DRAFT draft-ietf-rmt-bb-tree-config-00.txt 14 July 2000 Authors' Addresses Brad Cain brad.cain@mirror-image.com Mirror Image Dah Ming Chiu dahming.chiu@sun.com Miriam Kadansky miriam.kadansky@sun.com Sun Microsystems Laboratories 1 Network Drive Burlington, MA 01803 Seok Joo Koh sjkoh@pec.etri.re.kr ETRI/Korea 161 Kajong-dong Yusong-Gu, TAEJON, 305-350, KOREA Brian Neil Levine brian@cs.umass.edu Computer Science Department University of Massachusetts Amherst, MA 01060 Gursel Taskale gursel@talarian.com Brian Whetten whetten@talarian.com Talarian 333 Distel Circle Los Altos, CA 94022-1404 Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." draft-ietf-rmt-bb-tree-config-00 [Page 16]