Thứ Năm, 23 tháng 1, 2014

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
i
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
ii
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
iii
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
iv
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
v
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
vi
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
vii
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
viii
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
ix
List of Tables
2.1 Locations of stations 9
2.2 Statistics of Traces 10
2.3 Resynchronization Time vs. Burst Length 29
2.4 MSE vs. Burst Length . . . 30
2.5 Subjective Evaluation of Speech Quality 31
2.6 Avg. and SD of MSE for mix1 and mix2 33
3.1 Operating Point of Summarizers in the Feedback Taxonomy 97
3.2 Operating Point of Polling in the Feedback Taxonomy 97
3.3 Operating Point of Separate Multicast Groups in the Feedback Taxonomy 98
3.4 Operating Point of Event Based Reporting in the Feedback Taxonomy 99
3.5 Transient Behavior for Various Group Sizes . . . 126
3.6 Group Size Estimate with Sampling Algorithms . 157
x

Không có nhận xét nào:

Đăng nhận xét