Distributed Algorithms and Protocols for Scalable Internet Telephony

358 369 0
Distributed Algorithms and Protocols for Scalable Internet Telephony

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Distributed Algorithms and Protocols for Scalable Internet Telephony

Distributed Algorithms and Protocols for Scalable InternetTelephonyJonathan RosenbergSubmitted in partial fulfillment of therequirements for the degreeof Doctor of Philosophyin the Graduate School of Arts and SciencesCOLUMBIA UNIVERSITY2001 c2001Jonathan RosenbergAll Rights Reserved ABSTRACTDistributed Algorithms and Protocols for Scalable InternetTelephonyJonathan RosenbergInternet telephony service is defined as the provision of real-time, interactive, multimedia telecom-munications services between human users, using the public Internet.The most difficult problem in providing Internet telephony is to overcome the increasedjitter, delay, and loss (as compared to circuit-switched networks) suffered by voice. Past workhas separately investigated Forward Error Correction (FEC) and playout buffer adaptation mech-anisms to resolve these problems. We show that these mechanisms must be considered jointly. Wepropose and simulate a number of algorithms for integrating FEC into playout buffer adaptationschemes, and show that they are superior to non-integrated algorithms.Receiving feedback about network transport quality is essential for supporting adaptiveapplications. We examine the issues surrounding scalability of transport feedback in large scalemulticast groups. We present, analyze, and simulate a class of algorithms termed reconsideration,which support congestion controlled feedback in highly dynamic groups, and then show how thememory requirements of our algorithms can be reduced.We consider signaling protocols for providing call establishment, management, features,and applications. After an analysis of existing Internet telephony signaling protocols, we proposea new protocol, the Session Initiation Protocol (SIP), which overcomes the limitations of existingprotocols. We describe an implementation of this protocol in software, and discuss applicationswe have built with it.We consider interconnection with the telephone network, and focus on the problem of discovery of telephony gateways. We show that this is a subset of a broader wide area servicediscovery problem. After reviewing existing protocols for resource discovery (and finding themlacking for wide area applications), we present a scalable protocol for wide area service discovery,which is ideal for discovery of gateways, amongst other resources.Finally, we consider the problem of a service architecture for Internet telephony, whichprovides features and complex applications to users. We review the service architectures that havebeen presented in the literature. We then propose our architecture, the application componentarchitecture, which combines the best aspects of existing work. We show how this architecturecan be used to provide several complex applications. ContentsList of Tables xList of Figures xiAcknowledgments xvChapter 1 Introduction 11.1 Components of an Internet Telephony Service . . . 21.1.1 Organization 3Chapter 2 Transport 52.1 Introduction . 52.2 Internet Measurements . . . 62.2.1 Previous Work . . . 62.2.2 Measurement Approach 82.2.3 Results for Receivers 112.2.4 Results for Senders . 172.2.5 Conclusions . 232.3 Review of Existing Recovery Mechanisms . 232.4 Media Aware vs. Media Unaware Recovery . . . . 252.4.1 Resynchronization Time 262.4.2 Magnitude of Error . 292.4.2.1 Objective Measurements . . . . 29i 2.4.2.2 Subjective Measurements . . . . 312.4.3 Contribution of Resynchronization . 322.4.3.1 Objective Comparison 332.4.3.2 Subjective Tests . . . 342.5 Integrating FEC with Playout Buffers . 342.5.1 The Coupling Effect 362.5.1.1 Redundant Codecs . . 372.5.1.2 Reed-Solomon FEC . 382.5.1.3 Conditions for Dependency . . . 402.5.1.4 A Note on Applicability . 412.5.2 Existing Playout Buffer Algorithms . . . . 412.5.3 New Playout Buffer Algorithms 432.5.3.1 Virtual Delay Algorithms . . . . 442.5.3.1.1 Formulation for Redundant Codecs 442.5.3.1.2 Formulation for Reed Solomon FEC . . . 452.5.3.1.3 Implementation . . . . 452.5.3.1.4 Proof of Correctness . 452.5.3.1.5 Supporting Target Loss Probabilities . . . 482.5.3.2 “Previous Optimal” Algorithm . 502.5.3.3 Model-Based “Analytical” Playout Adaptation Algorithm . . . 522.5.4 Simulations . 562.5.4.1 Simulation Model . . 562.5.4.2 Coupled vs. Uncoupled . 572.5.4.3 Comparisons of New Algorithms 622.5.4.3.1 Using FEC with Minimal Delays . 622.5.4.3.2 Achieving a Specific Loss Target . 642.5.4.3.3 Achieving a Varying Loss Target . 642.6 Transport of Media-Unaware FEC . . . 672.6.1 Transport Requirements 68ii 2.6.2 Previous Work . . . 682.6.3 Our Approach 702.6.3.1 Overview 702.6.3.2 Details . . 712.6.3.2.1 FEC Packet Structure . 712.6.3.2.1.1 RTP Header of FEC Packets . . . 712.6.3.2.1.2 FEC Header . . 722.6.3.2.2 Protection Operation . 732.6.3.2.3 Reconstruction . . . . 742.6.4 Determination of the Set of Packets . . . . 752.6.4.1 Reduction 762.6.4.2 Computing T 772.7 Conclusion and Future Work 79Chapter 3 QoS Feedback 813.1 Introduction . 813.2 Overview of RTP . . 833.2.1 RTCP: Control and Management 843.2.2 Scaling RTP 853.3 Problems with RTCP Feedback . 873.3.1 Congestion . 883.3.2 State Storage 893.3.3 Delay . . . . 893.4 Requirements of a Solution for IP telephony . . . . 893.5 Taxonomizing the Solution Space . . . 903.5.1 Feedback Destination: Where . 903.5.2 Feedback Mechanism: How . . 913.5.3 Feedback Source: Who . 923.5.4 Feedback Content: What 933.5.5 Congestion Control: When . . . 93iii 3.6 Solution Space . . . 943.6.1 Existing Solutions . 953.6.1.1 Summarizers . 953.6.1.2 Polling . . 963.6.1.3 Separate Multicast Groups . . . 973.6.1.4 Event-Based Reporting . 983.6.2 Additional Approaches . 993.7 Reconsideration Algorithm . 1003.7.1 Ideal Behavior . . . 1043.7.2 Simulations .1053.7.3 Analysis . . 1103.7.3.1 No Delay . 1113.7.3.1.1 Computing the Send Probability .1123.7.3.1.2 Computing the Scheduled Rate . .1133.7.3.1.3 Obtaining the ODE . . 1173.7.3.1.4 Computing the Level of Congestion . . . 1173.7.3.1.5 Reconsideration as a Control Mechanism . 1193.7.3.1.6 Computing the Convergence Time 1203.7.3.2 Modeling Delay and Loss . . . . 1203.7.3.2.1 Number of Packets Sent for Conditional Reconsider-ation 1223.7.3.2.2 Number of Packets Sent for Unconditional Reconsid-eration .1243.7.3.2.3 Duration of Plateau Period . . . .1253.7.3.3 Linear Joins .1263.7.3.4 Steady State Behavior 1303.7.3.5 Fairness . 1343.7.3.6 Single User Joins Late 1353.8 BYE Reconsideration Algorithm 137iv 3.9 Reverse Reconsideration . . 1403.9.1 Quantifying the Problem 1413.9.1.1 Long Declines 1433.9.1.2 Rapid Declines 1443.9.2 Reverse Reconsideration Algorithm . . . . 1453.9.3 Performance 1483.10 Group Sampling . . .1493.10.1 Basic Operation . . . 1503.10.1.1 Performance .1513.10.2 Increasing the Sampling Probability . . . .1523.10.3 Reducing the Sampling Probability . . . .1523.10.3.1 Corrective Factors . . 1533.10.3.2 Binning Algorithm . . 1553.10.3.3 Comparison .1563.10.4 Sender Sampling . . 1573.11 Conclusions .158Chapter 4 Signaling Protocols 1604.1 Introduction .1604.2 Requirements for a Signaling Protocol . 1614.3 Existing Signaling Protocols 1634.3.1 BICC . . . .1644.3.2 H.323 . . . . 1644.4 SIP Overview . . . . 1664.4.1 Protocol Components 1674.4.2 SIP Network Servers 1684.4.3 SIP Messages 1714.4.4 Addressing and Naming 1724.4.5 Initiating, Modifying, and Terminating Calls . 1734.4.6 Registrations 174v 4.4.7 Session Description Protocol Usage . . . .1754.4.8 SIP as a Tool for New Services . 1774.4.8.1 MIME . . 1774.4.8.2 URIs . . . 1794.5 Implementation . . .1794.5.1 Events and Threading .1804.5.2 Processing Architecture 1824.5.3 Server State Machine 1854.5.4 Client State Machine 1884.5.5 Mediator State Machine 1904.5.6 Server API .1934.5.7 Memory Management .1944.5.8 Services . . .1954.6 Conclusions and Future Work 196Chapter 5 Gateway and Service Discovery 1985.1 Introduction .1985.2 Problem Definition .1995.2.1 Gateways . .1995.2.2 General Services . . 2045.3 Related Work . . . . 2085.4 Existing Solutions . .2095.4.1 Centralized Databases .2105.4.1.1 Service Location Protocol . . . .2115.4.1.2 Discussion 2125.4.2 Replicated Databases 2135.4.3 Distributed Databases .2145.4.3.1 DNS . . . 2145.4.3.2 LDAP and X.500 . . 2165.4.4 Indexed Databases . 217vi [...]... carries voice and video between two points on an IP network The transport system is responsible for handling packet loss, packet jitter, and delay On the Internet, voice and video transport are provided by the Real-Time Transport Protocol (RTP) [2] Transport Control: The system that manages and controls the behavior of the transport algorithms and protocols It provides feedback to senders (and third parties)... applications), we present a scalable protocol for wide area service discovery, called the Wide Area Service Discovery Protocol which is ideal for discovery of gateways, amongst other resources The fifth chapter considers a service architecture for Internet telephony, which provides features and complex applications to users We define requirements of a service architecture for Internet telephony, and then review... Maganti, Srinivas Dharmaji, Andrew McGrath, Kevin Grey, Ajay Deo, Kelvin Porter, Ed Gokhman, Xin Feng, David Ladd, and Anders Kristensen Additional thanks to Eric Burger from Snowshore Networks, and Ed Yackey from Voyant, for their comments and support of this architecture Last but not least, I would like to thank my wife Michelle, and son Joshua, for providing encouragement and understanding throughout my... are needed to provide a complete Internet telephony service As a result, we define Internet telephony service as the provision of real-time, interactive, multimedia telecommunications services between human users, using the public Internet 2 1.1 Components of an Internet Telephony Service Many systems need to be designed and developed to provide a complete Internet telephony service, as defined above... weighted averages of non-overlapping windows Handley [23] investigates Mbone performance through RTCP reports His findings show temporal variations in loss, with rates typically between 0 and 10% Maxemchuk and Lo [24] examine network performance for supporting Internet telephony They use UDP to collect data between several sites, and then apply a static playout buffer and loss compensation to determine the... 2.28 Comparison of Loss and Delay Performance across All Algorithms 63 2.29 Performance of Algorithms in Achieving a Target Loss of 0.07 65 2.30 Performance of Algorithms in Achieving Varying Target Loss Probability 66 2.31 FEC packet structure 71 2.32 Parity header format 72 3.1 RTP fixed header format ... 296 6.20 Call flow for web form entry for call center 297 6.21 Bidirectional translation services for the hearing impaired 299 xiv xv Acknowledgments First and foremost, Professor Henning Schulzrinne deserves recognition for his tremendous contributions to this work, in addition to recognition for the immeasurable impact he has had on my career and professional development... management systems, are also important for Internet telephony However, we have chosen to focus on these five above, since we feel they represent the core of an Internet telephony service In this thesis, we investigate the problems of providing a complete Internet telephony service, focusing on the differences between IP networks and circuit switched networks, and their implications on providing the... impact on performance We demonstrate these claims with simulations and analysis The third chapter considers signaling protocols for providing call establishment, call management, features, and applications After an analysis of existing Internet telephony signaling 4 protocols, we propose a new protocol, the Session Initiation Protocol (SIP), which overcomes the limitations of existing protocols We... and the plots used in the section on playout buffer integration She was also responsible for the fine tuning of parameters that took place for many of the algorithms She contributed the idea of the previous optimal algorithm, and helped refine the formulation for the analytical algorithm The taxonomy for feedback presented in the feedback section was the result of joint work with Joerg Nonnenmacher and . Distributed Algorithms and Protocols for Scalable InternetTelephonyJonathan RosenbergSubmitted in partial fulfillment of therequirements for the. Arts and SciencesCOLUMBIA UNIVERSITY2001 c2001Jonathan RosenbergAll Rights Reserved ABSTRACTDistributed Algorithms and Protocols for Scalable InternetTelephonyJonathan

Ngày đăng: 06/11/2012, 10:35

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan