Tài liệu Distributed Algorithms and Protocols for Scalable Internet Telephony

Thảo luận trong 'Ngôn Ngữ Học' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    Distributed Algorithms and Protocols for Scalable Internet Telephony
    Contents

    List of Tables x

    List of Figures xi

    Acknowledgments xv

    Chapter 1 Introduction 1

    1.1 Components of an Internet Telephony Service . 2

    1.1.1 Organization 3

    Chapter 2 Transport 5

    2.1 Introduction . 5

    2.2 Internet Measurements . 6

    2.2.1 Previous Work . 6

    2.2.2 Measurement Approach 8

    2.2.3 Results for Receivers 11

    2.2.4 Results for Senders . 17

    2.2.5 Conclusions . 23

    2.3 Review of Existing Recovery Mechanisms . 23

    2.4 Media Aware vs. Media Unaware Recovery 25

    2.4.1 Resynchronization Time 26

    2.4.2 Magnitude of Error . 29

    2.4.2.1 Objective Measurements 29
    2.4.2.2 Subjective Measurements 31

    2.4.3 Contribution of Resynchronization . 32

    2.4.3.1 Objective Comparison 33

    2.4.3.2 Subjective Tests . 34

    2.5 Integrating FEC with Playout Buffers . 34

    2.5.1 The Coupling Effect 36

    2.5.1.1 Redundant Codecs 37

    2.5.1.2 Reed-Solomon FEC . 38

    2.5.1.3 Conditions for Dependency . 40

    2.5.1.4 A Note on Applicability . 41

    2.5.2 Existing Playout Buffer Algorithms 41

    2.5.3 New Playout Buffer Algorithms 43

    2.5.3.1 Virtual Delay Algorithms 44

    2.5.3.1.1 Formulation for Redundant Codecs 44

    2.5.3.1.2 Formulation for Reed Solomon FEC . 45

    2.5.3.1.3 Implementation 45

    2.5.3.1.4 Proof of Correctness . 45

    2.5.3.1.5 Supporting Target Loss Probabilities . 48

    2.5.3.2 “Previous Optimal” Algorithm . 50

    2.5.3.3 Model-Based “Analytical” Playout Adaptation Algorithm . 52

    2.5.4 Simulations . 56

    2.5.4.1 Simulation Model 56

    2.5.4.2 Coupled vs. Uncoupled . 57

    2.5.4.3 Comparisons of New Algorithms 62

    2.5.4.3.1 Using FEC with Minimal Delays . 62

    2.5.4.3.2 Achieving a Specific Loss Target . 64

    2.5.4.3.3 Achieving a Varying Loss Target . 64

    2.6 Transport of Media-Unaware FEC . 67

    2.6.1 Transport Requirements 68
    2.6.2 Previous Work . 68

    2.6.3 Our Approach 70

    2.6.3.1 Overview 70

    2.6.3.2 Details 71

    2.6.3.2.1 FEC Packet Structure . 71

    2.6.3.2.1.1 RTP Header of FEC Packets . 71

    2.6.3.2.1.2 FEC Header 72

    2.6.3.2.2 Protection Operation . 73

    2.6.3.2.3 Reconstruction 74

    2.6.4 Determination of the Set of Packets 75

    2.6.4.1 Reduction 76

    2.6.4.2 Computing T 77

    2.7 Conclusion and Future Work 79

    Chapter 3 QoS Feedback 81

    3.1 Introduction . 81

    3.2 Overview of RTP 83

    3.2.1 RTCP: Control and Management 84

    3.2.2 Scaling RTP 85

    3.3 Problems with RTCP Feedback . 87

    3.3.1 Congestion . 88

    3.3.2 State Storage 89

    3.3.3 Delay 89

    3.4 Requirements of a Solution for IP telephony 89

    3.5 Taxonomizing the Solution Space . 90

    3.5.1 Feedback Destination: Where . 90

    3.5.2 Feedback Mechanism: How 91

    3.5.3 Feedback Source: Who . 92

    3.5.4 Feedback Content: What 93

    3.5.5 Congestion Control: When . 93
    3.6 Solution Space . 94

    3.6.1 Existing Solutions . 95

    3.6.1.1 Summarizers . 95

    3.6.1.2 Polling 96

    3.6.1.3 Separate Multicast Groups . 97

    3.6.1.4 Event-Based Reporting . 98

    3.6.2 Additional Approaches . 99

    3.7 Reconsideration Algorithm . 100

    3.7.1 Ideal Behavior . 104

    3.7.2 Simulations . 105

    3.7.3 Analysis 110

    3.7.3.1 No Delay . 111

    3.7.3.1.1 Computing the Send Probability . 112

    3.7.3.1.2 Computing the Scheduled Rate 113

    3.7.3.1.3 Obtaining the ODE 117

    3.7.3.1.4 Computing the Level of Congestion . 117

    3.7.3.1.5 Reconsideration as a Control Mechanism . 119

    3.7.3.1.6 Computing the Convergence Time 120

    3.7.3.2 Modeling Delay and Loss 120

    3.7.3.2.1 Number of Packets Sent for Conditional Reconsider-

    ation 122

    3.7.3.2.2 Number of Packets Sent for Unconditional Reconsid-

    eration . 124

    3.7.3.2.3 Duration of Plateau Period 125

    3.7.3.3 Linear Joins . 126

    3.7.3.4 Steady State Behavior 130

    3.7.3.5 Fairness . 134

    3.7.3.6 Single User Joins Late 135

    3.8 BYE Reconsideration Algorithm 137
    3.9 Reverse Reconsideration 140

    3.9.1 Quantifying the Problem 141

    3.9.1.1 Long Declines 143

    3.9.1.2 Rapid Declines 144

    3.9.2 Reverse Reconsideration Algorithm 145

    3.9.3 Performance 148

    3.10 Group Sampling . 149

    3.10.1 Basic Operation . 150

    3.10.1.1 Performance . 151

    3.10.2 Increasing the Sampling Probability 152

    3.10.3 Reducing the Sampling Probability 152

    3.10.3.1 Corrective Factors 153

    3.10.3.2 Binning Algorithm 155

    3.10.3.3 Comparison . 156

    3.10.4 Sender Sampling 157

    3.11 Conclusions . 158

    Chapter 4 Signaling Protocols 160

    4.1 Introduction . 160

    4.2 Requirements for a Signaling Protocol . 161

    4.3 Existing Signaling Protocols 163

    4.3.1 BICC 164

    4.3.2 H.323 164

    4.4 SIP Overview 166

    4.4.1 Protocol Components 167

    4.4.2 SIP Network Servers 168

    4.4.3 SIP Messages 171

    4.4.4 Addressing and Naming 172

    4.4.5 Initiating, Modifying, and Terminating Calls . 173

    4.4.6 Registrations 174
    4.4.7 Session Description Protocol Usage 175

    4.4.8 SIP as a Tool for New Services . 177

    4.4.8.1 MIME 177

    4.4.8.2 URIs . 179

    4.5 Implementation . 179

    4.5.1 Events and Threading . 180

    4.5.2 Processing Architecture 182

    4.5.3 Server State Machine 185

    4.5.4 Client State Machine 188

    4.5.5 Mediator State Machine 190

    4.5.6 Server API . 193

    4.5.7 Memory Management . 194

    4.5.8 Services . 195

    4.6 Conclusions and Future Work 196

    Chapter 5 Gateway and Service Discovery 198

    5.1 Introduction . 198

    5.2 Problem Definition . 199

    5.2.1 Gateways 199

    5.2.2 General Services 204

    5.3 Related Work 208

    5.4 Existing Solutions 209

    5.4.1 Centralized Databases . 210

    5.4.1.1 Service Location Protocol 211

    5.4.1.2 Discussion 212

    5.4.2 Replicated Databases 213

    5.4.3 Distributed Databases . 214

    5.4.3.1 DNS . 214

    5.4.3.2 LDAP and X.500 216

    5.4.4 Indexed Databases . 217
    5.4.4.1 Telephony Routing over IP (TRIP) . 219

    5.4.4.2 Discussion 222

    5.4.5 Multicast Push and Pull 223

    5.4.6 Summary of Existing Architectures 224

    5.5 Wide Area Service Discovery Protocol . 225

    5.5.1 Terms 226

    5.5.2 Basic Operation . 227

    5.5.3 BA URL’s and Attributes 229

    5.5.4 Message Formats 230

    5.5.5 SA Behavior 230

    5.5.6 DA Behavior 232

    5.5.6.1 Multicast Listening . 233

    5.5.6.2 Contacting BA’s . 233

    5.5.6.3 Multicasting DAAdverts 235

    5.5.7 AA Behavior 235

    5.5.8 BA Behavior 236

    5.5.8.1 Receiving Advertisements 236

    5.5.8.2 Policy 236

    5.5.8.3 Policing . 237

    5.5.9 Sending Multicast Advertisements . 237

    5.5.10 Scheduling Transmission of Advertisements 238

    5.5.10.1 Timing Out Senders . 239

    5.5.10.2 Minimum Transmission Interval 240

    5.5.11 Multicast Groups 240

    5.5.12 Reducing the Storage Requirements of a BA . 240

    5.6 Conclusion . 241

    Chapter 6 Application Architecture 242

    6.1 Introduction . 242

    6.2 Requirements for an Internet Telephony Service Architecture . 243
    6.3 Existing Architectures . 246

    6.3.1 Centralized Architectures 246

    6.3.1.1 Intelligent Network . 246

    6.3.1.2 MGCP 249

    6.3.2 Distributed Software Architectures . 250

    6.3.3 Distributed Component Architectures . 253

    6.3.4 Mobile Agents . 256

    6.3.4.1 General Purpose Languages . 256

    6.3.4.2 Domain Specific Languages . 257

    6.4 Application Component Architecture 258

    6.4.1 Dialog Component . 263

    6.4.2 Mixing Component . 268

    6.4.3 Text-To-Speech Component 270

    6.4.4 Additional Session Components 271

    6.4.5 Presence Component 272

    6.4.6 Additional Components 275

    6.4.7 Controller 276

    6.4.8 Third Party Call Control 278

    6.4.8.1 Basic Flow 279

    6.4.8.2 Advanced Flow . 280

    6.4.8.3 Continued Processing of Third Party Calls . 281

    6.4.8.4 End User Initiates Call 283

    6.4.9 Obtaining Data from End Users 284

    6.4.9.1 Stimulus Signaling 286

    6.4.9.2 Functional Signaling . 288

    6.5 Target Services . 289

    6.5.1 Pre-Paid Calling Card . 290

    6.5.2 Click-to-dial 291

    6.5.3 Auto-conference 293
    6.5.4 Web Form Entry for Call Center 297

    6.5.5 Speech-to-text for the Hearing Impaired 298

    6.6 Comparison to Existing Architectures . 300

    6.6.1 DFC and ECLIPSE . 300

    6.6.2 Distributed Software and Component Architectures 301

    6.6.3 Mobile Agents . 303

    6.6.4 Centralized Architectures 303

    6.7 Conclusions and Future Work 303

    Chapter 7 Conclusion and Future Work 305