Thạc Sĩ Distributed Algorithms and Protocols for Scalable Internet Telephony

Thảo luận trong 'Ngoại Ngữ' bắt đầu bởi Ác Niệm, 21/12/11.

  1. Ác Niệm

    Ác Niệm New Member

    Bài viết:
    3,584
    Được thích:
    2
    Điểm thành tích:
    0
    Xu:
    0Xu
    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
     
Đang tải...
Chủ đề tương tự
  1. Ác Niệm
    Trả lời:
    0
    Xem:
    750