throbber
Yallcast: Extending the Internet Multicast Architecture
`
`Paul Francis
`
`NTT Information Sharing Platform Laboratories
`francislab.ntt.co.jp
`
`September 30, 1999
`
`Contents
`
`1 Introduction
`1.1 Document Roadmap
`1.2 Motivation
`1.3 Yallcast: An Alternative Architecture
`1.4 Yallcast in a Nutshell
`1.5 Yallcast Pros and Cons (Mostly Pros)
`1.6 Back to the Architectural Foundation
`1.7 Related Work
`1.8 Simplicity (or Lack Thereof)
`
`2 Yallcast Architecture
`2.1 Major Components
`2.2 Yallcast Tree and Mesh Topologies
`2.3 Content Protocols
`2.4 Yallcast Tree Management Protocol (YIMP)
`2.5 Parent Discovery and Selection in YTMP
`2.6 Security Architecture Overview
`2.7 API
`
`3 Odds and Ends
`3.1 Neighbor Aliveness
`3.2 Configuration with Yallcast Proxy Servers
`3.3 Web Caching (and Hierarchically Nested Groups)
`3.4 Meta-Rendezvous Service (Another Nested Groups Application)
`3.5 Distributing Across a Lot of Time
`
`1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3
`3
`3
`5
`5
`6
`8
`9
`9
`
`11
`11
`12
`15
`19
`25
`29
`29
`
`31
`31
`32
` 33
`37
` 38
`
`BUNGIE - EXHIBIT 1005
`
`

`

`0.1 Abstract
`
`If we take a broad view of the term "multicast" to mean any distribution of content to more than one
`machine, we find that multicast is proceeding along two distinct architectural tracks. On one track is
`IP multicast, which mainly targets realtime non-reliable applications, but for which hopes run high for
`reliable applications as well. On the other are a plethora of open or proprietary host- or server-based
`approaches, each typically targeting a specific application or product line.
`
`IP multicast suffers from a number of technical problems, lacks applications, and in general is having
`trouble reaching critical mass, especially regarding anything resembling a global infrastructure. Server-
`based approaches arc valuable and wide-spread, but there is no synergy in terms of multiple distinct
`groups working within the same architecture. As a result, progress is not as fast as it could be, and
`consumers are strapped with multiple application-specific infrastructures to deal with.
`
`This paper presents an architecture, called yallcast, that aims to unify both tracks under a single umbrella
`architecture. Yallcast attempts to take the best from both tracks
`reliable and asynchronous distribution
`from the server-based track, and dynamic auto-configuration via a simple API from the IP multicast track.
`
`A key component of yallcast is that it allows a group of endhosts (the hosts where the content-consuming
`application resides) to auto-configure themselves into a tunneled topology for the purpose of content dis-
`tribution. Yallcast can run over IP multicast, but does not require it. This allows application developers
`to bundle yallcast into their applications, giving their applications robust and scalable configuration-free
`out-of-the-box multicast. This is key to the initial acceptance of yallcast and for allowing it to reach
`critical mass.
`
`Yallcast is not limited, however, to endhost-based distribution. It can also work in infrastructure servers
`(boxes that receive, replicate, and forward content but that are not consumers of the content). This
`allows improved performance for applications that require it. It can also provide other benefits such as
`better security. The endhost- and server-based modes of operation taken together, along with yallcast's
`ability to utilize local islands of IP multicast, allow yallcast to support the broadest possible range of
`applications.
`
`2
`
`

`

`1 Introduction
`
`1.1 Document Roadmap
`
`Lest the reader be immediately put off by the size of this document, I offer the following brief roadmap:
`
`If, having read the abstract, you want to go straight to a very brief technical overview of yallcast, look
`at Subsection 1.4 ("Yallcast in a Nutshell") and perhaps the subsection preceding it (1.3). For a deeper
`technical overview, see Subsections 2.1 and 2.2.
`
`Otherwise, this paper pretty much proceeds in increasing detail, and you can just start at the beginning
`and continue until you've read enough. The first Section (1, "Introduction"), tells you why we need
`better distribution, what yallcast is, and why yallcast provides better distribution.
`
`The second Section (2) takes you through yallcast in increasing technical detail. Of particular interest
`might be Subsection 2.4 ("Yallcast Tree Management Protocol (YIMP)" ), and to some extent the fol-
`lowing subsection, which describe how yallcast tunneled topologies arc dynamically configured
`the only
`really novel thing about yallcast.
`
`The last section outlines an assortment of enhancements that may be made to the basic architecture to
`increase yallcast's capabilities or solve various problems endemic to yallcast. This section can easily be
`skipped by all but the most interested readers.
`
`This document is in an early draft stage. It is still missing references, and has not gone through any peer
`review. Any references or comments on the document or yallcast itself are greatly appreciated.
`
`1.2 Motivation
`
`Let's take a broad view of the term "multicast" and take it to mean every instance where content is
`moved from one machine to more than one other machine. For lack of a better term, and to avoid long
`and clumsy phrases, let's refer to this broad view multicast as simply distribution.
`
`Viewed this way, the majority of what gets transmitted over the internet is distribution: mail, news, web
`pages (HTML) and files of all types (jpg, mp3, etc.), chat, channels, DNS records, audio-video broadcasts,
`and so on. While strictly 2-party exchanges are obviously important, it is not an exaggeration to say
`that the internet is what it is because of its distribution functionality.
`
`In spite of this, virtually every distribution application in the internet today runs over the unicast in-
`frastructure and derives its distribution functionality from mechanisms internal to and specific to the
`application itself. For instance, RFC822 mail headers have mechanisms for detecting loops among mail
`forwarders, NNTP has the NEWNEWS command to manage flooding of news articles, HTTP has redi-
`rection and mechanisms for handling caches, and so on. Practically speaking, though, there is no general
`"infrastructure" support for distribution in existence today. The exception that proves this rule is IP
`multicast, globally available tunneled in the form of the mbone, and privately available as either tunneled
`or native IP multicast.
`
`The reason this exception proves the rule is that IP multicast has so far not lived up to early expectations,
`to say the least. And this in spite of the fact that it is now available on most host operating systems
`and in most routers (though it is usually not "turned on"). Different people have different ideas on why
`IP multicast has not taken off, ranging from a lack of tools for managing IP multicast installations to
`insufficient protocol development to a lack of IP multicast-ready applications (all examples of reasons
`voiced by participants in the IETF maddogs ad hoc group). Many people, myself included, have labored
`under the tacit assumption that if we could only fix this or that problem, and add this or that functionality,
`then IP multicast would reach some sort of critical mass and take off, in the same sense that HTTP/HTML
`at some point reached a critical mass and took off. It would then serve as the infrastructure foundation
`
`3
`
`

`

`upon which various kinds of distribution applications would be built.
`
`I no longer believe this is a realistic possibility. IP multicast, in its role as "the architectural foundation
`for internet distribution", suffers from one fundamental problem, one major problem, and a lot of nagging
`problems.
`
`The fundamental problem is that IP multicast works only across space, not across time, whereas most
`distribution on the internet (almost everything mentioned above), works across both space and time.
`What I mean by this is that the recipients of most types of distribution content (mail, web pages, etc.)
`want to receive it at different times. Even content that under ideal conditions would reach all recipients
`immediately (i.e., "push" content like mail) can't because not all recipients arc ready to receive all the
`time (mainly because they are not connected to the internet all the time). IP multicast, on the other
`hand, requires that all recipients receive the content at the same time. (I understand that there is a way
`around this, namely multicasting the content multiple times until all recipients have got it. But this is
`not a very attractive thing to have to do, and rather proves my point.)
`
`The major problem referred to above is that IP multicast addresses arc too small. Basing the global
`architectural foundation for distribution on a 27-bit address space is, frankly. silly. It may very well
`be that some of the current initiatives for IP multicast address assignment will satisfactorily solve the
`problem (I did say this was only a major problem, not a fundamental problem), but it really is bending
`over backwards unnecessarily. And of course there is IPv6, but I wouldn't want to assume that that will
`become ubiquitous any time soon.
`
`The nagging problems include:
`
`• Large IP multicast routing tables.
`
`• Congestion control over IP multicast.
`
`• Reliable data transport over IP multicast.
`
`• Good access control and security mechanisms.
`
`I want to repeat that all of the above discussion of IP multicast is in its role as "the architectural
`foundation for internet distribution." To be fair, I understand that its not like some person or group ever
`sat down and, working from a clean whiteboard, analyzed all the options and decided that IP multicast,
`with its 27 bit address space and space-only distribution mechanism, was the best choice for all internet
`distribution. Rather, we've incrementally backed ourselves into this corner via some set of historical
`decisions, or non-decisions, that have long since been overtaken by events.
`
`IP multicast is ideal for applications that cannot tolerate (much) delay, can tolerate some loss, and
`have throughput that is relatively high but upper-bounded. This mainly includes interactive things like
`audio-video conferencing and internet games. A host- or server-based approach works poorly or not at
`all for these applications. On the other end of the spectrum, a host- or server-based approach is great for
`applications that can tolerate significant delay (minutes or hours) and cannot tolerate loss. This includes
`things like mail and file distribution. IP multicast works poorly or not at all for these applications. For
`stuff in between (chat, distributed whiteboard, audio-video one-way broadcast), both can suffice, and
`reasonable people could agree to disagree on which is better.
`
`For this stuff in between, however, it just turns out that the path of least resistance for obtaining
`distribution funtionality is the server-based approach. This may be in part because of the technical
`problems of IP multicast, or because people don't like mucking with their router infrastructures, which
`today arc mission-critical resources. I think probably the primary reason, though, is that for the server-
`based approach, the application provider needs to convince the application user to deploy only the
`application itself. For the IP-multicast based approach, the application provider needs to convince the
`application user to both deploy the application and deploy IP multicast (or, more often, convince yet
`
`4
`
`

`

`somebody else to deploy IP multicast). The latter is a far more difficult proposition. Whatever the
`reasons, for almost any application where a host- or server-based approach will suffice, even if IP multicast
`would ultimately be a better approach, the server-based approach will be used.
`
`As a result, we now live in a world where there arc dozens of application-specific ad hoc and propri-
`etary server-based systems for doing distribution. In addition to open standards like NNTP, IRC, ICP,
`RFC822 mail headers, and so on, many companies offer proprietary server-based systems: Pointcast for
`its channels, Tivoli for its software distribution, Tibco for its publish/subscribe stuff, RealNetworks for
`its audio-video broadcasts, and on and on. This state of affairs cries out for a standard approach that
`that can handle all of the above sorts of distribution and more.
`
`1.3 Yallcast: An Alternative Architecture
`
`What is really needed is a general architecture for all internet distribution. This architecture should have
`mechanisms for both space-based and time-based multicast. It should be able to seamlessly incorporate
`multicast media (LANs, satellite) and IP multicast where they exist and where their use is appropriate.
`It should have an easy evolutionary path, by which I mainly mean that it shouldn't require changes to
`existing infrastructure, including host operating systems. It should have a fully scalable naming scheme.
`And it shouldn't suffer from any of the nagging problems of IP multicast.
`
`This paper presents an architecture that holds promise as the general architecture for all internet distri-
`bution. I call it yallcast, for reasons that will be clear shortly.
`
`Simply put, yallcast is a suite of protocols that allows all of the replication and forwarding required for
`distribution for a given application to be clone in the endhosts that are running the application itself. In
`other words, yallcast works in the case where the only replicators/forwarders (distributors) of content arc
`the consumers of the content themselves. Let me be clear. Yallcast does not force all distribution to be
`clone by the content consumers
`it can also be clone by "servers" in the infrastructure. Nor does yallcast
`prevent the use of IP multicast
`it is used, but only where it exists and where its use is appropriate.
`With yallcast, neither infrastructure servers nor IP multicast are necessary for distribution, but they
`can be brought to bear where economics or application requirements make them appropriate. When IP
`multicast is used, it will generally be confined to local networks. Islands of locally scoped IP multicast
`groups will be connected by global yallcast.
`
`1.4 Yallcast in a Nutshell
`
`Here is a very brief overview of the key technical components of yallcast: The core of yallcast is a topology
`management protocol, called )(IMP, that allows a group of hosts to dynamically auto-configure into two
`topologies:
`
`• a (tunneled) shared tree topology for efficient multicast distribution of application content, and
`
`• a (tunneled) mesh topology, for robust broadcast distribution of various information, including
`control information and, where appropriate, application content.
`
`The tunnels can be either two-party (using UDP or TCP), or N-party (using very tightly scoped IP
`multicast). Each host can join or leave the two topologies (jointly called the tree-mesh) independently,
`making the group itself dynamic.
`
`Each group has one or more rendezvous hosts associated with it. Rendezvous hosts are not attached
`to the tree-mesh
`rather, they serve as a discovery or bootstrap mechanism for allowing hosts joining a
`group to find other hosts already in the tree-mesh. Group members contact a rendezvous host when they
`first join and when they finally quit the group (where possible). The rendezvous host maintains a list of
`
`5
`
`

`

`some or all group members, and informs joining hosts of a number of these. The hosts then participate
`in the topology management algorithm with these already attached hosts to attach to the group.
`
`The name of a given group consists of three components:
`
`• the name of the rendezvous hosts (if multiple, they have the same name),
`
`• the UDP ports the rendezvous hosts are listening on (optional, if not the default port number)
`
`• the name of the group, which is unique to the rendezvous host.
`
`This naming scheme both 1) allows any host (with a domain name) to locally create a globally unique
`group name, and 2) allows for discovery of the rendezvous host. The group name can be encoded as a
`URL, and for all practical purposes is a URL:
`
`yallcast://rendezvous.host.name:port/group.name
`
`This gives you a basic picture of yallcast, and is all I say about it for the time being. Later (sec-
`tions 2 and 2.2 and beyond) I'll introduce all the terms and acronyms and more detail (where the devil
`lies).
`
`1.5 Yallcast Pros and Cons (Mostly Pros)
`
`In what follows, I present the advantages and disadvantages of yallcast versus IP multicast in the context
`of the larger goal of internet distribution. These arguments are clearly not meant to convince, given
`that they are based on an overly simple description of yallcast. Rather, they simply highlight the main
`features. It will take extensive experimentation to see if the advantages presented here really pan out.
`
`Forwarding Table Size
`
`I first conceived yallcast solely in response to the problem of large forwarding tables in IP multicast
`routers. My thought was that, for many kinds of distribution, especially smallish groups with relatively
`low volume, there is no particular reason that IP multicast must be used
`the group member hosts
`themselves could manage replication and forwarding just fine. This offloads the job from routers, saving
`them for higher volume multicast applications where their higher speeds and more optimal topologies are
`needed.
`
`In the case where yallcast forwarding is taking place in endhosts, there is no forwarding table size problem
`because the endhost has only to carry topology information for the groups it has joined. Since the host is
`also running an application for each group, the overhead clue to maintaining the forwarding information
`itself can be seen as just an incremental extra cost on the application. (Each yallcast host only needs to
`know about its neighbors in the tree-mesh and a small handful of other hosts in the group, independent
`of the size of the group.)
`
`In the case where yallcast forwarding is taking place in infrastructure server boxes, each server must carry
`only topology information for those group members among the nearby hosts it serves. Unlike the case
`with IP multicast, each yallcast topology is created from scratch and requires no servers in the "middle"
`of the topology to connect servers at the "edges". The "edge" servers connect directly with other "edge"
`servers through tunnels. (In IP multicast the routes are dynamic, but the underlying topology, even in
`the case of the tunneled mbone, is not.) In other words, all yallcast servers require forwarding information
`on a par with what "local" routers (as opposed to routers in the backbones) must carry.
`
`Name/Address Assignment
`
`Yallcast does not have IP multicast's address assignment problems because any host with a domain name
`can locally create any number of globally unique yallcast group names. (Hosts without a domain name
`
`6
`
`

`

`will be able to use a meta-rendezvous service provided by hosts that do have a domain name, but this is
`getting ahead of the story.) In addition, with yallcast running "above" IP multicast, address assignment
`in IP multicast is simplified because IP multicast will generally be limited to local areas where address
`assignment is much easier.
`
`Of course the cost of this is each yallcast group's dependence on one or a small number of rendezvous
`hosts. Practically speaking, I don't think this is much of a problem. One can replicate the rendezvous
`host for reliability, and the rendezvous host is neither involved in the topology building algorithm per
`se nor is attached to the tree-mesh, so its per-group-member overhead is low. Also, there are practical
`advantages to having a central point of contact accounting, distribution of security information, access
`control, and so on.
`Evolutionary Path (or, the Chicken-and-Egg Problem)
`Yallcast does not have the application/infrastructure chicken-and-egg problem of IP multicast. This is
`the problem where nobody (hardly) wants to write applications for IP multicast because there is no
`infrastructure, and nobody (hardly) wants to put in the infrastructure because no users have applications
`that demand it. Because yallcast can run purely in the hosts running the application, and in fact can be
`wholy bundled with each application no OS changes
`the application developer can build a distribution
`application with little concern about the users' network environments or OS capabilities.
`
`This allows for a natural evolution of a distribution infrastructure. Applications start with pure endhost-
`based yallcast. Naturally applications will push the limits of endhost forwarding performance, creating a
`demand for infrastructure boxes. These boxes, however, can be installed one at a time on an as-needed
`basis (in the same way that web caches can be added one at a time), making their deployment relatively
`easy. The infrastructure boxes boost performance, applications respond by demanding even more, and
`the ensuing demand/supply arms race results in the desired end-goal a "distribution infrastructure box"
`on every wire (even if those boxes turn out to be yallcast servers not IP routers).
`
`Personally I think there will always be a good use for pure endhost-based yallcast. If we assume a tree
`with a small fan-out (I generally assume a fan-out of 2), then even a tree consisting only of 56kbps dialup
`hosts can generate useful throughput. For instance, say we can get 20 khps throughput (20kbps in and
`40kbps out to two neighbors), which seems reasonable. This is enough for a reasonable quality audio
`presentation with graphics in real time or low-end internet radio.
`
`But even if the end-host only mode of operation serves no other purpose than bootstrapping a distribution
`infrastructure, it will have been as critical to the infrastructure as a first-stage booster rocket is to a
`satellite.
`Congestion Control
`Yallcast does not have the congestion control problems that IP multicast has. Because each (tunneled)
`link in a yallcast tree-mesh is a (unicast) TCP connection or RTP stream, yallcast uses the normal
`congestion control used over the internet today.
`
`Having said that, yallcast does have the characteristic that potentially very large numbers of hosts could
`be transmitting large volumes over the internet at roughly the same time. While the intent is for yallcast
`topology tunnels to normally link hosts near each other thereby avoiding multiple tunnels passing through
`the same routers, this will not be perfect, especially early on before we've gained much experience. As a
`result, sudden internet-wide bursts of traffic could result in unexpected bad consequences.
`End-to-End Reliability
`
`Getting end-to-end reliability out of a host-based infrastructure is far easier than getting it out of IP
`multicast. Since IP packet loss is recovered by TCP at each hop, a yallcast tree has no ack implosion
`problem. In fact, a key objective of most reliable transport protocols for IP multicast is to build a tree
`(among routers or among hosts, depending on the scheme) over which acks or naks can be sent. Yallcast
`of course builds a tree, but just happens to use it for sending content as well as sending acks.
`
`7
`
`

`

`This is not to say that getting end-to-end reliability automatically falls out of using TCP hop by hop.
`Packets can still be lost: because of buffer overflow at hosts, and because of data loss during topology
`changes. Recovering these loses, though, is relatively straightforward. It requires an end to end sequencing
`protocol to identify loses, push-back flow control at each hop to avoid buffer overflow, and buffering in
`each host to recover topology change-induced losses locally.
`
`The Benefits of Buffering: Across-time Distribution
`
`Perhaps the most important advantage of the yallcast approach over IP multicast is in its ability to
`do distribution across time, not just across space. This allows it to accommodate a large number of
`distribution applications that IP multicast cannot handle and was never meant to handle.
`
`It is easy to visualize how across-time distribution works in the case of a server-based yallcast infras-
`tructure. This is no different from the numerous server-based across-time distribution infrastructures we
`already have (mail forwarder infrastructures, netnews infrastructures, caching infrastructures, Pointcast
`infrastructures, and so on).
`
`It is much more difficult to visualize how across-time distribution works in the case of endhost-based
`yallcast distribution, especially for hosts that are not administratively related. Such a host would, for
`instance, join a tree-mesh and start receiving a file. (It is easiest to think of across-time distribution in the
`context of file distribution, understanding that a file can be anything from a mail message to a software
`executable, since file distribution has relatively relaxed timing constraints.) At some time, the host is
`expected to forward the file to one or two other hosts (to garner the benefits of "multicast" distribution).
`Those other hosts may connect to the sending host long after it has received the file. Therefore, speaking
`generally, any host may be expected to stay on the tree-mesh long enough to pass the file on to other
`hosts, even if this means staying on the tree-mesh long after the file has been fully received. It could
`even mean leaving the tree-mesh when the host disconnects from the internet, and rejoining when the
`host later reconnects, solely for the purpose of passing the file on.
`
`I believe it can be done, to some extent, but I leave further description for later (see Section 3.5). Note
`in any event that integrity of the file in this context is not a particular problem. I assume as a matter
`of course that the distributed tiles have signatures associated with them, and that these signatures are
`obtained from the (trusted, more-or-less) rendezvous host at first contact.
`
`Discovery of Nearby Services
`
`One of the oft-cited uses of IP multicast is to discover nearby (In the context of physical topology) hosts
`containing specific services. The idea here is that the IP multicast topology closely resembles the physical
`topology, and therefore a host that is nearby in the IP multicast topology is also nearby in the unicast
`topology. This is certainly true for native IP multicast (where the multicast and unicast topologies are
`one and the same), but is also generally true for well-managed tunneled IP multicast. The mechanism
`for this discovery is an expanding ring search whereby the hop count, or possibly administrative scoping,
`is incrementally expanded until the service is discovered.
`
`Yallcast cannot easily substitute for this use of IP multicast. Yallcast topologies are dynamically formed
`and can only come to resemble the physical topology rather slowly. Yallcast can certainly be used as
`a means to discover a service by having the hosts with the service join a well-known yallcast group.
`Systems trying to discover the service, however, cannot quickly discover which of the hosts with the
`service is the closest.
`
`1.6 Back to the Architectural Foundation
`
`I'd like to now revisit the earlier comment about IP multicast being inappropriate as the "architectural
`foundation" for distribution in the internet. IP multicast, in its native (non-tunneled) mode, is fast and
`uses the wires efficiently. This is good, and is true because it runs in boxes that can (usually) run at wire
`
`8
`
`

`

`speeds, and that join multiple wires together (i.e., routers). IP multicast also has no buffering, and has
`a ridiculously small addressing space. This is bad, and is true because long ago it seemed (and probably
`was) appropriate to graft multicast functionality onto IP, which is a bufferless thing that today has not
`enough addresses.
`
`Even if someday we manage to go to IPv6. IP multicast will still be bufferless, and so still inappropriate
`for most kinds of distribution. A yallcast architecture, by which I mean one where 1) the distribution
`topology auto-configures and can be limited only to boxes that are consumers of the content, 2) addressing
`is domain-name based as described above, and 3) the links are always unicast IP tunnels, even if the
`nodes on either end share a wire, can have the advantages of IP multicast (fast boxes attached to and
`joining together multiple wires) without the limitations.
`
`1.7 Related Work
`
`Dissatisfaction with IP multicast's slow start seems to be growing, especially within the commercial
`sector. Recently the IETF chartered an ad hoc group, called maddogs, to explore ways to overcome the
`problems of IP multicast and to make it more suitable for commercial products and services.
`
`In spite of this, however, many people seem still to accept the assumption that IP multicast should be
`the foundation for internet distribution. In support of this statement is the fact that, in addition to the
`substantial inter-domain multicast IP protocol work going on, there are research and working groups for
`reliable multicast transport.
`
`There arc a couple of exceptions. Researchers at Telcordia and the University of Maryland, based on a
`suggestion by Christian Huitema, have independently proposed the idea of host-based multicast. They
`developed a protocol for use in the ad hoc mobile network environment. The protocol is called AMRoute,
`and has been published as an internet draft in the Manet working group of IETF. This specific document
`targets IP multicast functionality only (by which I mean it is works across space only), and for mobile
`ad hoc networks only. The internet draft does, however, mention in passing that the approach may
`have broader functionality in the larger internet. As far as I know, however, no substantial work in this
`direction has been done.
`
`Hui Zhang at Carnegie Mellon has also independently been working on host-based multicast (which he
`calls endsystem-only multicast). He and his students have worked out some basic low-level tree-formation
`mechanisms and have done some simulations (see Section 2.4). They recognize most of the broader issues,
`such as naming, and have independently conceived many of the ideas in yallcast (such as the rendezvous),
`though they haven't done much work on these broader issues per se.
`
`More recently, the Reliable Multicast Research Group (R.MR.G) of the HUE has started a work item on
`what it so far calls Auto 'Tree Configuration. Among the goals of that effort is to create an algorithm that
`can build a tree strictly among the recipient hosts of a multicast group. As near as I can tell, however,
`the purpose of that tree is not to distribute content per se, which is still expected to be transmitted via
`IP multicast. Rather, the tree is for transmitting acks/naks and optionally for local retransmissions of
`packets dropped by IP multicast.
`
`1.8 Simplicity (or Lack Thereof)
`
`All other things being equal we all long for simple architectures and protocols. Yallcast is not simple
`and I'm not going to pretend that it is. It constitutes a whole new layer in the architecture and comes
`with a number of new protocols. Nevertheless, I believe it can have a simplifying effect on the state
`of affairs in internet multicast and distribution overall. With yallcast in place, we could jettison all of
`the inter-domain aspects of IP multicast
`the routing protocols and the address assignment stuff. Many
`of the current ad hoc or proprietary server-based distribution technologies could also be replaced by
`
`9
`
`

`

`yallcast, making IT's life simpler. So while yallcast may not be simple, it may very well be simpler than
`the alternatives.
`
`10
`
`

`

`2 Yallcast Architecture
`
`The key attribute of yallcast, and indeed the only thing that makes it different from stuff already out
`there, is that it auto-configures tunneled shared-tree and mesh topologies among a group of hosts using
`ubiquitous internet protocols only (unicast IP and DNS). This is an extremely powerful tool. Virtually
`every form of distribution in the internet can be built upon this single capability.
`
`2.1 Major Components
`
`Each distribution group is comprised of two components:
`
`1. One or more 'rendezvous hosts
`
`2. group member hosts
`
`Each group has a globally unique identifier (the group ID) consisting of the following three components:
`
`1. Rendezvous Host Domain Name
`
`2. Rendezvous Host UDP Port (optional)
`
`3. Group Name
`
`The group ID can be encoded as a URL and has the same syntax restrictions as a URL:
`
`yallcast : //rendezvous

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket