A Real-Time Network Simulation Application for Multimedia over IP

Similar documents
An Inter-arrival Delay Jitter Model using Multi-Structure Network Delay Characteristics for Packet Networks

ANALYSIS OF THE CORRELATION BETWEEN PACKET LOSS AND NETWORK DELAY AND THEIR IMPACT IN THE PERFORMANCE OF SURGICAL TRAINING APPLICATIONS

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

Voice Analysis for Mobile Networks

Evaluation of VoIP Speech Quality Using Neural Network

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

DiffServ Architecture: Impact of scheduling on QoS

Basics (cont.) Characteristics of data communication technologies OSI-Model

QoS-Aware IPTV Routing Algorithms

Performance of UMTS Radio Link Control

Low pass filter/over drop avoidance (LPF/ODA): an algorithm to improve the response time of RED gateways

Performance and Evaluation of Integrated Video Transmission and Quality of Service for internet and Satellite Communication Traffic of ATM Networks

Adaptive Data Burst Assembly in OBS Networks

FEC Performance in Large File Transfer over Bursty Channels

Overview. A Survey of Packet-Loss Recovery Techniques. Outline. Overview. Mbone Loss Characteristics. IP Multicast Characteristics

ETSF10 Internet Protocols Transport Layer Protocols

SIMULATION FRAMEWORK MODELING

UNIT 2 TRANSPORT LAYER

Introduction to Quality of Service

SIMULATING CDPD NETWORKS USING OPNET

Digital Asset Management 5. Streaming multimedia

QoS Analysis Models for Wireless Networks

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Whitepaper IP SLA: Jitter. plixer. International

5 What two Cisco tools can be used to analyze network application traffic? (Choose two.) NBAR NetFlow AutoQoS Wireshark Custom Queuing

Latency on a Switched Ethernet Network

Latency on a Switched Ethernet Network

Performance Model for TCP over Link Layer on Correlated Channels for Wireless Data Communication

On TCP friendliness of VOIP traffic

An Approach for Enhanced Performance of Packet Transmission over Packet Switched Network

ABSTRACT. that it avoids the tolls charged by ordinary telephone service

Radyne s SkyWire Gateway Quality of Service

Network-Adaptive Video Coding and Transmission

Quality of Service (QoS)

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

CS 457 Multimedia Applications. Fall 2014

Discussion on IGMP Snooping and Its Sequence in Industrial Applicaiton

Journal of Electronics and Communication Engineering & Technology (JECET)

Network Support for Multimedia

Order of Packet Transmission and Dropping

Simulation and Analysis of Impact of Buffering of Voice Calls in Integrated Voice and Data Communication System

Study on Appropriate Voice Data Length of IP Packets for VoIP Network Adjustment

High Latency and Low Bandwidth Interconnection

Implementation of Adaptive Buffer in Video Receivers Using Network Processor IXP 2400

Asynchronous Transfer Mode (ATM) ATM concepts

Unit 2 Packet Switching Networks - II

Real-Time Protocol (RTP)

Network Management & Monitoring

Cross-layer Analysis of Wireless TCP/ARQ Systems over Correlated Channels

PERFORMANCE ANALYSIS OF SNOOP TCP WITH FREEZING AGENT OVER CDMA2000 NETWORKS

IMPLEMENTATION OF CONGESTION CONTROL MECHANISMS USING OPNET

A RLC/MAC PROTOCOL ARCHITECTURE FOR A WIRELESS IP NETWORK

QUALITY of SERVICE. Introduction

Sections Describing Standard Software Features

IP Network Emulation

Optical Packet Switching

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

Performance Management: Key to IP Telephony Success

Impact of End-to-end QoS Connectivity on the Performance of Remote Wireless Local Networks

Wireless Networks (CSC-7602) Lecture 8 (15 Oct. 2007)

An evaluation tool for Wireless Digital Audio applications

Assessing Call Quality of VoIP and Data Traffic over Wireless LAN

Delayed reservation decision in optical burst switching networks with optical buffers

VoIP over Wi- Fi using Riverbed Simulation

Performance Analysis of VoIP in WiFi Campus Network

Toward a Reliable Data Transport Architecture for Optical Burst-Switched Networks

The Diffie-Hellman Key Exchange

Multimedia networked applications: standards, protocols and research trends

WhitePaper: XipLink Real-Time Optimizations

WiNG 5.x Feature Guide QoS

DiffServ Architecture: Impact of scheduling on QoS

Performance Analysis of Cell Switching Management Scheme in Wireless Packet Communications

Week 7: Traffic Models and QoS

Digital Speech Interpolation Advantage of Statistical Time Division Multiplexer

Introduction to ATM Traffic Management on the Cisco 7200 Series Routers

Lecture Outline. Bag of Tricks

UNIT IV -- TRANSPORT LAYER

COMMITTEE CONTRIBUTION Technical Committee TR-30 Meetings. IP Network Impairment Model

4 rd class Department of Network College of IT- University of Babylon

TCP/IP THE TCP/IP ARCHITECTURE

Queuing Disciplines. Order of Packet Transmission and Dropping. Laboratory. Objective. Overview

UDP Traffic Management

Lab Test Report DR100401D. Cisco Nexus 5010 and Arista 7124S

Multimedia Networking

Traditional network management methods have typically

Multimedia Networking

INTERNATIONAL TELECOMMUNICATION UNION

AT&T Collaborate TM. Network Assessment Tool

Location Based Advanced Phone Dialer. A mobile client solution to perform voice calls over internet protocol. Jorge Duda de Matos

Optimizing Performance: Intel Network Adapters User Guide

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

15: OS Scheduling and Buffering

Circuit Breakers for Multimedia Congestion Control

DCCP (Datagram Congestion Control Protocol)

Investigation of Algorithms for VoIP Signaling

Computer Communication Networks

Proxy-based TCP-friendly streaming over mobile networks

Lecture 13: Transportation layer

CSE 123b Communications Software

Transcription:

A Real-Time Simulation Application for Multimedia over IP ABSTRACT This paper details a Secure Voice over IP (SVoIP) development tool, the Simulation Application (Netsim), which provides real-time network performance implementation of Quality of Service (QoS) statistics in live real-time data transmission over packet networks. This application is used to implement QoS statistics including packet loss and inter-arrival delay jitter. Netsim is written in Visual C++ using MFC for MS Windows environments. The program acts as a transparent gateway for a SVoIP server/client pair connected via IP networks. The user specifies QoS parameters such as mean delay, standard deviation of delay, unconditional loss probability, conditional loss probability, etc. Netsim initiates and accepts connection, controls packet flow, records all packet sending / arrival times, generates a data log, and performs statistical calculations. I. INTRODUCTION Packet-switched networks are often used to provide interactive multimedia communications, including real-time voice, video and data services. Packet networks were not designed for real-time multimedia applications such as voice or video communications as they do not provide a dedicated end-to-end connection such as is provided by circuit switched networks [1]. Voice, video, and multimedia are affected by packet network characteristics in the same manner; this paper will emphasize Voice over Internet Protocol (VoIP) as a representation of all three. s exhibit non-ideal behavior that may seriously degrade performance of real-time communications systems. Particularly, as packets are transmitted from source to destination they may experience varying amounts of delay (jitter) and loss which are functions of a variety of factors. Jitter and loss may result from packets traversing different routes between source and destination due to congestion or failed links, variable queuing delays encountered at network routers, or competing network traffic [2]. A receiver must accommodate this non-ideal behavior or risk buffer underrun or overrun affecting intelligibility and naturalness as shown in Figure 1. Christopher M. White, Josh Raymond, and Keith A. Teague Speech and Audio Communications Laboratory School of Electrical and Computer Engineering Oklahoma State University Stillwater, OK 74078 Transmitter Receiver (Arrival / Play out) Transmitter Receiver (Arrival) Time (Play out) k k+1 k+3 k+5 Lost Lost Buffer Delay Figure 1: Packet Delay Timing Diagram Packet loss and jitter constitute the major factors affecting the QoS in a system that uses packet networks (IP) to transmit real-time voice data. Excessive packet delay can occur when the queue in a router becomes full and subsequent packets entering the queue are delayed. Large end-to-end delay (latency) causes speech overlap as well as mutual silence at the receiver system. Large packet interarrival delays (jitter) cause packets to arrive too late for their designated playback time, which forces the receiver to discard the late packets ([3] [4]). If there are large queuing delays, consecutive packets may cluster at the nodes and be delivered almost simultaneously to the receiver. As a result, the packets received may exceed the capacity of the playout buffer causing an overrun. In addition to late packet loss at the application, loss can occur as a result of congestion at routers, where packets are discarded because the router can not service all the packets in its queue [5]. Congestion at routers can result in consecutive packet loss, known as burst loss. Burst loss can have a large impact on system performance, potentially leaving large gaps in voice output. Burst loss is difficult to correct due to the effects of sequential errors on playout. Congestion may also cause subsequent packets to take an alternate path to their destination. Packets may encounter different delays as they take different paths as some nodes may have varying queuing delays (wait times) along the path, possibly arriving at their destination out-of-order. If uncorrected, this could cause garbled speech output at the receiving system.

Client Negotiate connect Host (Running Simulator) waits Client waits Connect Transfer Transfer Laplacian Multi- Distributed structure Delay Delays Small and Large Time Scales Internet, Additive Gaussian CDMA Loss Whit Model e Noise Wired and Wireless Loss Figure 2: Overview Mixed Quality of Service The voice output of the communication system can be seriously degraded resulting in low overall QoS if there are no mechanisms in place to manage and correct for the aforementioned QoS issues. Understanding the VoIP system response to these environments offers insight into preventative measures that will increase the system QoS in the presence of network anomalies. Furthermore, as modern communication moves toward packet network transmission, there is potential for aggregate concatenations of dissimilar networks where non-ideal behavior becomes more complex, particularly with error prone packet wireless networks. Netsim provides a mechanism for better understanding VoIP system response to varied QoS through collection of empirical data over a real network connection in a process that closely simulates an actual network configuration. Purpose of study This study details the design and development of a SVoIP tool, the Simulation Application (Netsim), to implement and imitate the non-ideal behavior of packet networks in real-time communications. This application interacts with a SVoIP system by intercepting the transfer of real-time packet data and imposing the desired network characteristics using an underlying network model. This application is useful to determine the SVoIP system response to a non-ideal network and the quality of a voice packet stream transmission. An overview of the application is shown in Figure 2. In order to design better SVoIP systems, it is necessary to understand the response to similar and mixed network attributes. Error management schemes and uninterrupted transmission flow require foreknowledge of system response to non-ideal network behavior [6]. This study depicts an application which implements network models found in the literature in a real-time communications application. It serves to create a testing environment suitable for VoIP application enhancement. The development of this tool facilitates an information base with which to make educated decisions during the design of a VoIP communication application, or during its refinement.

II. PACKET NETWORK MODELS Many general packet network models are proposed in the literature, but it is important that the model capture the characteristics of the network being modeled. As examples, two models found in the literature which model packet loss for the Internet and cellular data are combined with a multistructure IP packet network delay jitter model for this study. The widely used Gilbert model [7] (burst loss model) is used for the Internet link, the correlated fading channel model [8] is used for cellular data (IS-95 and IS-2000 cdma2000) radio links, and our multi-structured network delay jitter model [9] is used for inter-arrival delay. The Gilbert model captures the burst loss error characteristics of the Internet using both unconditional and conditional loss probabilities. The correlated fading channel model uses a first-order Markov chain based on Rayleigh distributed fading to model burst loss due to multi-path fading in CDMA data channels. The multi-structure network delay jitter model captures the stationary and non-stationary multi-structure characteristics [10] of packet network delay. These models are incorporated into Netsim to monitor the response of a SVoIP system in artificial mixed network environments. model parameters are specified to customize the response. III. APPLICATION DESIGN A. Architecture NetSim is written in Microsoft Visual C++ v6.0 as a dialog box-based application. C++ is ideal for rapid application development through the dialog box editor and the MFC application framework. Also, C++ eases complex multithreaded programming, and offers support for network application development. Using Microsoft Visual C++ enables the application to run in Microsoft Windows environments. NetSim contains three main threads: netcontrolreceiver thread, netcontroltransmitter thread, and listencontrol thread. Each of these threads runs as multiple instances for each network communication channel created. listencontrol listens for an incoming connection and starts netcontrolreceiver and netcontroltransmitter when the connection is created. netcontrolreceiver waits for data to be received on the channel for which it was created and sends that data to netcontroltransmitter to send on the network to the client. netcontroltransmitter waits for data from netcontrolreceiver, and when it receives data to be sent, it delays for a certain amount of time depending on the jitter model parameters, drops the packet depending on the loss model parameters, and if the packet is not dropped it is sent to the client. netcontroltransmitter also adds each jitter or loss data point to a queue for graphical display at the end of the program. When NetSim starts, a dialog box appears that allows the user to configure the connection settings, network simulation model parameters, and start the connection, as shown in Figure 3. This dialog box also displays information about whether the connection has completed and if there were any errors. The Client Information box allows the user to enter the IP address, control port (TCP), and communication port (UDP) of the client computer. The control port is used by the two connecting computers to send control information, such as connection parameters, back and forth. The UDP port is the port on which voice is sent and received between the two computers. Similarly, the Information box allows the user to enter information about the server IP address, control port, and communication port. Figure 3: Main GUI The Model box contains configuration parameters used in simulating the network. The Jitter Model Parameters box allows the user to enter information about the jitter model being used, such as the mean jitter (ms), standard deviation, and crossover. The Internet Loss Model box allows for internet loss parameters, such as conditional loss probability (clp) and unconditional loss probability (ulp), to be configured. The CDMA Loss Model Parameters box allows for CDMA loss to be configured through normalized Doppler bandwidth fading (fdt), and average frame error rate (FER). There are check boxes named Jitter Model and Internet Loss Model that allow the jitter modeling and loss modeling to be enabled. With both models disabled, the connection is transparent. When the necessary parameters are configured, clicking the Connect (currently labeled Disconnect ) causes NetSim to attempt to connect to the server, and wait for a connection from the client. As soon as the button is clicked the text changes from Connect to Disconnect. On the right side of the box is a read only edit box that displays connection information, including the progress as NetSim attempts to connect to the server, and the status of the client connection. B. Flow of Control

Figure 4: Graphical Display When the user is finished, clicking Disconnect will disconnect each connection and display a dialog box containing several graphs of data collected during the simulation, as shown in Figure 4. The Jitter per Packet graph shows jitter between each packet. The x-axis is the packet number sent and the y-axis is the jitter as measured by internal timers (not simply the jitter model values). The Jitter Distribution graph shows a distribution of the jitter data. The x-axis is the number of milliseconds of measured jitter as measured and the y-axis is number of packets. The Loss per Packet graph is similar to the Jitter per Packet graph, showing how many packets were dropped each time a packet was received. More than one packet at a time can be dropped for a bursty effect due to the models. Finally, the Loss Distribution graph shows how many times packets were dropped, and how many packets were dropped in each burst. On the x-axis is the number of packets dropped, and the y-axis is the number of times the corresponding number of packets was dropped. In the example shown, loss modeling was turned off, so no packets were dropped. NetSim netcontroltransmitter Add Delay netcontrolreciver Drop Packets Client Drop Packets netcontrolreciver Add Delay netcontroltransmitter Figure 5: Control Operation

C. The Application When the user has entered all necessary configuration information in the initial dialog box and clicks Connect, NetSim attempts to connect to the server on the control port and begins listening for the client by starting listencontrol for the control port. Each connection is given a hard-coded ID that can be used within the threads for computer connection identification. Calculating jitter and loss using the models can be computationally expensive; therefore an array of model values is created and filled with calculated values before the connection is established. When a connection is received on the client communication channel, a connection to the server communication channel is attempted. As each connection is established, an instance of netcontrolreceiver and netcontroltransmitter is created for each connection to monitor and send data on each channel. netcontrolreceiver repeatedly calls recv() for the connection, waiting for data to be received on the network connection. When data is received, a critical section is entered and the data is added to a queue, then the critical section is exited and it begins waiting for data again. netcontroltransmitter loops waiting for data to enter the queue. Once data is received in the queue, the thread checks to see what the next jitter value should be and loops for that many milliseconds, introducing delay into the connection. The delay is recorded and added to a queue to be graphed when the user clicks Disconnect on the main dialog box. The thread then checks the next loss value; if a packet should be dropped a count of the loss is incremented, and the number of packets dropped is added to a queue to be graphed later. Finally, if the packet is not dropped, the current packet is sent on the network. When the threads are created the parent class for the appropriate channel is passed to each thread, so that netcontrolreceiver is receiving on the correct channel and netcontroltransmitter is sending on the correct channel (to the correct computer). IV. CONCLUSION Netsim provides a convenient mechanism for performing real-time packet network simulation. performance parameters are easily set in order to customize response, and new models can be incorporated into the code if desired. Netsim has been used very successfully as an aid in the development of a SVoIP system for operation on mixed wired and wireless networks. REFERENCES [1] E. J. Daniel, K. A. Teague, Performance of FNBDT and Low Rate Voice (MELP) over Packet s, Conference Record of the 35 th Asilomar Conference on Signals, Systems and Computers, pp 1568 1572, Nov. 4-7, 2001. [2] M. Borella, D. Swider, S. Uludag, and G. Brewster, "Internet Packet Loss: Measurement and Implication for End-to-End QoS," Proc. IEEE ICPP Workshop 98, pp. 3-12, 1998. [3] L. Zheng, L. Zhang, D. Xu, Characteristics of Delay and Delay Jitter and its Effect on Voice over IP (VoIP) IEEE International Conference on Communications ICC 2001, Vol. 1, pp. 122-126, 2001. [4] C. Fulton, S. Li, Delay Jitter First-Order and Second-Order Statistical Functions of General Traffic on High-Speed Multimedia s IEEE/ACM Transactions on ing, Vol. 6, No. 2, April 1998. [5] T. Yletyinen, R. Kantola, Voice Packet Interarrival Jitter Over IP Switching, SBT/IEEE International Telecom Symposium ITS 98, Vol. 1, pp. 16-21, 1998. [6] C.M. White, E.J. Daniel, K.A. Teague, "A Performance Application for Modeling, Simulation, and Characterization of Packet Behavior," 37th Asilomar Conference on Signals, Systems, and Computers, Nov. 2003. [7] E. N. Gilbert, Capacity of a Burst-Noise Channel, Bell System Tech. Journal, Vol. 39, pp. 1253-1266, September 1960. [8] M. Zorzi, R. R. Rao, L. B. Milstein, Error Statistics in Data Transmission Over Fading Channels, IEEE Transactions on Communications, Vol. 46, Issue 11, pp 1468-1477, November 1998 [9] E.J. Daniel, C.M. White, K.A. Teague, "An Inter-Arrival Delay Jitter Model using Multi-Structure Delay Characteristics for Packet s," 37th Asilomar Conference on Signals, Systems, and Computers, Nov. 2003. [10] Q. Li, D. L. Mills, Jitter-Based Delay-Boundary Prediction of Wide- Area s IEEE/ACM Transactions on ing, Vol. 9, No. 5, October 2001.