Multi-party real-time communication in computer networks

Multi-party Real-time Communication in Computer Networks Amit Gupta Doctor of Philosophy in Computer Science University of California at Berkeley The Internet has traditionally concentrated on availability: maintaining end-toend connectivity in the face of unreliable systems and network congestion. Many emerging applications, however, require predictable performance and support for multi-party communication from the network service; at the same time, advances in networking technology have led to development and deployment of high-speed networks. The combined consideration of the stringency of the requirements of real-time communication and the high bandwidth provided by the new network technologies raise an interesting set of scaling and e ciency problems. This dissertation investigates mechanisms for supporting multi-party real-time communication in packet-switching networks. We rst present the work done by the Tenet Group at Berkeley in designing and building network protocols for supporting unicast real-time communication. These protocols serve as the framework for our research; given the framework, we describe a few salient issues that arise in multi-party communication: managing multicast group membership, supporting dynamic changes in these groups, and supporting heterogeneity in receivers. We then introduce the ideas that form the basis of the research e ort: exploiting the characteristics of multi-party communication to improve the e ciency in using network resources; providing the network managers with e ective ability to control the network resources; and providing a more usable service to the network users. The traditional approach to supporting real-time communication allocates network resources to individual connections; this approach provides well-de ned performance guarantees that are independent of other network tra c. To improve network resource utilization without sacri cing well-de ned guarantees, we present resource sharing, which exploits relationships among connections to share resource allocations among them; the applications maintain complete control over the sharing as they explicitly specify these relationships. With resource sharing, for large conferences with a bounded number of concurrent speakers, resource requirements do not increase with the number of potential speakers. Therefore, resource sharing is an important tool for economically providing real-time performance guarantees for large conferences. For real-time communication services to achieve widespread usage, it is important that the protocols and schemes provide good capability for the network's management to control the allocation of resources. For this capability, we present resource partitioning, i.e., distributing the di erent resources available at any system among a number of partitions. Resource partitioning can then be used to form virtual private sub-networks. These subnetworks have many applications: the network management can keep a small fraction of resources for management and fault-handling tra c, or for non-real-time tra c; and better support for mobile computing and for advance reservation of real-time connections.