Research Interests
I work in computer networking, with a particular interest in the
modelling and measurement of tele-traffic, in particular the TCP/IP
packet data flowing over the Internet. In general terms the aim
is to understand in greater detail how the traffic sources and network
structure and protocols interact, with a view to making the network,
and end applications, more efficient. This has lead to work in a
number of seemingly different areas including statistical estimation
and clock synchronisation.
Scaling Properties of Traffic
Packet traffic has scale invariance
features, in particular long range dependent (LRD), which impacts on
network performance, performance analysis, accuracy of simulation, and
parameter estimation. My main interest has been in traffic
modelling, but in the analysis of real data, the need for more powerful
estimation tools naturally arises. Much of my work on this 'side
interest' involves wavelets and is in collaboration
with
Patrice Abry
from the Signal Analysis group of the
Ecole Normale Supérieure de Lyon. Associated Matlab code can
be
downloaded.
With my former student
Nicolas Hohn we
developed models of packet arrivals based on cluster
point processes which seem to describe backbone traffic rather well.
One of the conclusions is that TCP flows can be treated as independent
in the Internet core!
Clock Synchronisation
Software clocks in computers are based
on local hardware synchronising to more accurate remote clocks.
Currently the NTP system is used to synchronise hosts to
remote servers across the Internet. The stability of modern PC
hardware however actually supports higher accuracy and robustness that
NTP currently delivers. We are developing replacement for the NTP
clients and servers based on new principles, in particular the need to
distinguish between
difference clocks and
absolute clocks, and the
associated primacy of rate stability over absolute clock error.
The RAD difference clock, for example, can measure RTTs to under a microsecond, even
if connectively to the time server is lost for periods of over a week!
The RADclock Project
has as its aim to provide a complete new system for network timing within two years.
Currently client software is available for Linux and BSD Unix which can connect to existing NTP
servers. Download details, documentation and several publications can be found
on the project page above.
This work is in collaboration with Dr.
Julien Ridoux.
This project has been made possible in part by a grant from
the Cisco University Research Program Fund at Silicon Valley
Community Foundation, and by a Google Research Award.
Active Probing
Another key interest
is in active probing techniques for traffic and network
measurement. This is where test packets or `probes' are injected
into the network, collected on the other side, and inferences made on
the end-to-end path based on measured end-to-end delays and/or losses.
My interests in this area range from the underlying measurement
infrastructure, the `heuristic' design of effective probe streams and
their analysis, and the rigorous application of queueing theory to
active probing problems. My colleagues in this area include
François Baccelli,
and
Sridhar
Machiraju, and Jean Bolot from
Sprint
ATL.
Downloads
Wavelet based tools for estimation with scaling processes
- Matlab code for wavelet based scaling parameter estimation, including estimation
of the Hurst parameter of self-similar processes, and the two (yes
two!) parameters of long-range dependence (essential for confidence intervals on mean estimates!)
- Code for the special prefiltering necessary in the study of discrete data.
- A function for the automatic selection of the lower cutoff scale.
- A handy tool for the investigation of stationarity- incorporates the
test of the `constancy of scaling'.
- On-Line version in C, for data of arbitrary length.
- Tools for the wavelet based analysis of Multifractals and other MultiScaling processes.
Clock Synchronisation
Details of the RADclock
project (formally known as the TSCclock) and the current release can be found on the
RADclock page.