HOME : CURRENT STUDENTS : SCHOLARSHIPS : TASTE OF RESEARCH SUMMER SCHOLARSHIPS : 2003-2004 PROJECT RESULTS : EFFICIENT VOICE OVER WIRELESS NETWORK - POSTER TEXT

Poster | Poster Text and Figures

 

 

Efficient Voice Over Wireless Network

Author: Wei Zhang
Supervisor: Dr Tim Moors

Abstract

The objective of this project is to make efficient voice transmission over wireless network. To achieve this goal, we changed the data unit that is sent down the protocol stack at the source node from packets to “trickles”, in order to reduce transmission overheads, minimise packetisation and synchronisation delays.

Background

VoIP application samples audio signals, encodes them into audio frames, then transmits them over a network. However, each packet has a certain transmission overhead and often it is much bigger than an audio frame even it is carrying multiple audio samples. For example, in 802.11 WLAN, an 33B audio frame taking 24 us requires at least 145 us of overheads.

Also audio compression occurs asynchronously with respect to network transmission opportunities, so that an audio packet once created may have to wait some time until there is a network transmission opportunity. This also leads to another source delay.

Therefore, to make efficient voice over wireless network, we have to try to reduce transmission overheads and minimise source delays.

What’s new ? - “TRICKLES”

Trickles are a new source data unit that minimises source packetisation and synchronisation delays. In terms of data units, the idea of a trickle is to append new application content to the end of existing content that is still awaiting transmission, and update the headers as it goes down the protocol stack, so that it shares the same overheads.

If we have frequent transmission opportunities, then short packets will be sent. However, if the transmission opportunities are less frequent, more application content will accumulate, and be aggregated for transmission in one packet when the opportunity comes.

How we did it ?

To implement Trickles, we modified the Linux kernel. We introduced new socket options which provides communication between user application and kernel. We added a new field into the sock structure that keeps track of the last packet that has been put into the device transmission queue. We also modified a list of Linux kernel functions that are most important to sending traffic.

What was hard ?

Updating the header information is a hard task. We have to update IP, UDP and MAC headers when doing concatenation. We also have to figure out a best way of appending new content and updating the headers so that it will take much less time than packetisation delay. This have to be done really carefully. If either of these headers are incorrectly updated, then the concatenated packet will be treated as damaged packet and be discarded at destination.

How good is it ?

Performance testing was carried out on both the traditional and Trickles implementation using the voice application “Linphone”. The result is shown in the following table:

The end to end delay is the amount of time that passes between when new content is sent by the source application and when it is received by the target application.

What is lost ?

Appending new content to the end of old content requires additional memory access, since the application will naturally do this itself.

Conclusion

“Trickles” has been successfully implemented in Linux kernel to improve efficiency of voice transmission over wireless networks. In the future, we will be keep refining our implementation of this idea to improve its performance.

[Top of Page]


 
 

Page created 02/04/04 and last updated 02/04/04
Please report any problems with this site to: eng-web@eng.unsw.edu.au
Please read this disclaimer and copyright statement.
CRICOS Provider No: 00098G
 © UNSW 2002