• Multichannel Cross-Layer Routing for Sensor Networks

    Conference paper
    Proc. of International Conference on Telecommunications

    This paper looks at a new way to use multiple channels in ad-hoc sensor networks. It consists of two parts:
    1) A protocol that allows a node, when sent a particular message, to attempt to change channel (reliably with a fall-back if the new channel is subject to interference).
    2) An algorithm run at a single "command" node that selects which nodes should change channel according to a graph colouring problem.

    The work is tested in simulation using Cooja (which simulates Contiki based sensor nodes).

  • Likelihood-based assessment of dynamic networks

    Journal Paper
    Journal of Complex Networks

    This paper used a likelihood based framework to create a rigorous way to assess models of networks. Network evolution is broken down into an operation model (it decides the 'type' of change to be made to the network, e.g. "add node" "add link" "remove node" "remove link") and an object model (that decides the exact change -- which node/link to add).

    The system is shown to be able to recover known parameters on artificial models and to be useful in analysis of real data.

  • Walking in Sync: Two is Company, Three’s a Crowd

    Workshop paper
    2nd Workshop on Physical Analytics (WPA), Florence, Italy

    This paper describes preliminary results on analysing the movements of people walking next to each other. The data is collected from mobile phone movement sensors carried by experimental subjects. The accelerometers on mobile phones show synchronisation when compared. Correlations between time series are used to infer the presence of a third party with when people are walking. This is preliminary work on a small data set with only three participants.

  • Pushing Software Defined Networking to the access

    Workshop presentation
    Budapest, Hungary

    This is the talk for the European Workshop on Software Defined Networks. It describes the implementation of OpenFlow 1.0 on a Gigabit Ethernet Passive Optical Network. The work describes a generic approach that should work on a number of different access technologies to make them OpenFlow ready. In specific, the work give details on what would be necessary to port the approach used to a new access device.

  • Software Defined Networking for access networks

    Workshop presentation
    Cosener's House Multi Service Networks

    This talk describes my work in making an access device (Gigabit Ethernet Passive Optical Network) OpenFlow enabled. This is done via a proxy which uses VLAN tagging. The software is public source and available This software should be adaptable to work with any access device of similar specification.

  • Pushing Software Defined Networking to the access

    Workshop paper
    European Workshop on Software Defined Networking (Budapest)

    This paper reflects on experience gained from implementing OpenFlow on an access device. The architecture used involves a box at the front of the device for tagging traffic and using those tags to make the device present as a single large OpenFlow switch distributed in space. The system has been implemented and tested using OFtest.

    Code is at

  • TCP in the wild

    Invited talk
    Kings College London

    This talk is essentially the same as that delivered in Cambridge two months earlier (alas no progress on this research for that period).

    The research is based on two papers:
    A longitudinal analysis of Internet rate limitations --
    On the relationship between fundamental measurements in TCP flows --

    The essential findings are that TCP is not working as we expect. The expected correlation between throughput and packet loss is not found. The correlation with delay (RTT) is as expected -- throughput proportional to 1/delay. A high correlation with flow length is found -- longer flows have higher throughput. However, this may be a sampling error due to the restricted length of the samples used.

    The TCP flows studied are broken down by assumed cause where TCP mechanisms are thought not to be the primary cause for throughput:

    1) Application limited -- an application decides to reduce its own flow by deliberately not sending data.
    2) Host Window limited -- one or other host has a low maximum window size that restricts flow.
    3) Advertised window limitation -- a middlebox or the receiver manipulates their advertised window size to reduce the flow.

    More than half of TCP flows (and more than 80% of long flows) are limited by these mechanisms and not by traditional TCP mechanisms.

  • TCP in the Wild

    Invited talk

    This talk is an updated version of this talk at QMUL. The difference is two slides at the end which provide insight into the sampling issues related to the data.

    The key message of this paper is that TCP/IP does not work in the real world as it is generally taught. The idea of a connection when one side sends data as fast as possible controlled by loss to fill a pipe is not what happens in the real world.

    This work joins the two papers
    A longitudinal analysis of Internet rate limitations (INFOCOM 2014)
    On the relationship between fundamental measurements in TCP flows (ICC 2013)

    The talk analyses passive traces with the aim of explaining what are the root causes of bandwidth on a connection. Theoretical results show that in equilibrium an unconstrained TCP flow has a bandwidth proportional to 1/RTT and 1/sqrt(p) where p is probability of packet loss. The experimental results here show different results, however. In particular, while the relationship with RTT is upheld, the relationship with loss is not found. A strong relationship with the length of flow is found. Longer flows have faster throughput in proportion to sqrt(L) where L is the length of the flow in packets.

    A follow up analysis looks at the causes of throughput. It is found that less than half of flows are governed by loss. Flow bandwidth is very often governed by applications -- for example you tube deliberately throttles traffic so that users do not download too far ahead. Some flows are governed by operating system restrictions which do not scale window sizes. Some flows are governed by middleboxes which manipulate the window size. It is these restrictions which, the network studied, are the primary method which restricts bandwidth on connections.