Sam Jansen's publications

[1] Sam Jansen and Anthony Mcgregor. Static virtualization of C source code. Software: Practice and Experience, 38(4):397-416, April 2008.
[ doi ]
Many existing systems are written in C and are not re-entrant or thread safe. Sometimes these systems are required in a context for which they were not first designed, possibly meaning they now need to be re-entrant. This article introduces a program that filters C source code, modifying shared resources (the global variables) to make the code re-entrant: virtualizing the code. The code is then compiled as normal. This approach allows programmatic virtualization with little cost at runtime. Copyright © 2007 John Wiley & Sons, Ltd.
[2] Sam Jansen and Anthony McGregor. Validation of simulated real world network stacks. In Proceedings of the Winter Simulation Conference, pages 2177-2186, Washington D.C., USA, December 2007. IEEE Press.
[ doi ]
The TCP models in ns-2 have been validated and are widely used in network research. They are however not aimed at producing results consistent with a TCP implementation, they are rather designed to be a general model for TCP congestion control. The Network Simulation Cradle makes real world TCP implementations available to ns-2: Linux, FreeBSD and OpenBSD can all be simulated as easily as using the original simplified models. These simulated TCP implementations can be validated by directly comparing packet traces from simulations to traces measured from a real network. We describe the Network Simulation Cradle, present packet trace comparison results showing the high degree of accuracy possible when simulating with real TCP implementations and briefly show how this is reflected in a simulation study of TCP throughput.
[3] Adam Biltcliffe, Michael Dales, Sam Jansen, Thomas Ridge, and Peter Sewell. Rigorous protocol design in practice: An optical packet-switch MAC in HOL. In 14th IEEE International Conference on Network Protocols (ICNP), pages 117-126, Santa Barbara, CA, USA, November 2006. IEEE Computer Society.
[ doi | .pdf ]
This paper reports on an experiment in network protocol design: we use novel rigorous techniques in the design process of a new protocol, in a close collaboration between systems and theory researchers. The protocol is a Media Access Control (MAC) protocol for the SWIFT optical network, which uses optical switching and wavelength striping to provide very high bandwidth packet-switched interconnects. The use of optical switching (and the lack of optical buffering) means that the protocol must control the switch within hard timing constraints. We use higher-order logic to express the protocol design, in the general-purpose HOL automated proof assistant. The specification is thus completely precise, but still concise, readable, and without accidental overspecification. Further, we test conformance between the specification and two implementations of the protocol: an NS-2 simulation model and the VHDL code of the network hardware. This involves: (1) proving, within HOL, that the specification is equivalent to an algorithmically-checkable version; (2) using automatic code-extraction to generate a testing oracle; and (3) applying that oracle to traces of the implementation. This design-time use of rigorous methods has resulted in a protocol that is better specified and more correct than it would otherwise be, with relatively little effort.
[4] Sam Jansen and Anthony McGregor. Performance, validation and testing with the network simulation cradle. In MASCOTS '06: Proceedings of the 14th IEEE International Symposium on Modeling, Analysis, and Simulation, pages 355-362, Monterey, California, USA, 2006. IEEE Computer Society.
[ doi | .pdf ]
Much current simulation of TCP makes use of simplified models of TCP, which is a large and complex protocol with many variations possible between implementations. We use direct execution of real world network stacks in the network simulator ns-2 to compare TCP performance between implementations and reproduce existing work. A project called The Network Simulation Cradle provides the real world network stacks and we show how it can be used for performance evaluation and validation. There are large differences in performance between simplified TCP models and TCP implementations in some situations. Such differences are apparent in some reproduced research, with results using the Network Simulation Cradle very different from the results produced with the ns-2 TCP models. In other cases, using the real implementations gives very similar results, validating the original research.
[5] Sam Jansen and Anthony McGregor. Simulation with real world network stacks. In WSC '05: Proceedings of the 37th Winter Simulation Conference, pages 2454-2463, Orlando, Florida, USA, December 2005. Society for Computer Simulation International.
[ doi | .pdf ]
Network simulation is used widely in network research to test new protocols, modifications to existing protocols and new ideas. The tool used in many cases is ns-2. The nature of the ns-2 protocols means that they are often based on theoretical models that might not behave in the same way as real networks. This paper presents the Network Simulation Cradle which allows real world network stacks to be used in a wrapper that allows the stacks protocols to be used in the ns-2 network simulator. The network stacks from the open source operating systems Linux, FreeBSD and OpenBSD are included in the simulation cradle as well as a stack designed for embedded systems, lwIP. Our results show that ns-2's TCP implementations do not match observed behaviour from real machines in some respects and using the Network Simulation Cradle produces results closer to real world network stacks.
[6] Sam Jansen and Anthony Mcgregor. Measured comparative performance of TCP stacks. In Passive and Active Measurement Workshop, volume 3431, pages 329-332, Boston, MA, USA, March 2005.
[ http | .pdf ]
This extended abstract present findings on measured TCP performance of a range of network stacks. We have found that there are significant differences between the TCP implementations found in Linux, FreeBSD, OpenBSD and Windows XP.
[7] Sam Jansen. Network simulation cradle report. Technical report, Department of Computer Science, The University of Waikato, 2003.
[ http | .pdf ]
Network simulators commonly use abstractions of network protocol implementations. Results from simulations using these abstractions are not as convincing as they would be if real world network code were used. This report describes the creation of the Network Simulation Cradle that is used to allow a real network stack to work with a network simulator. The process of moving the FreeBSD 5 network stack from kernel specific code into a user space simulation library is discussed, as is the integration within the network simulator NS-2. Also a preliminary analysis of differences between simulations using NS-2's and FreeBSD's TCP/IP implementation is presented along with preliminary testing of the performance of a cradle incorporating real world code.
[8] Mark Apperley, Sam Jansen, Amos Jeffries, Masood Masoodian, Laurie McLeod, Lance Paine, Bill Rogers, Kirsten Thomson, and Tony Voyle. Lecture capture using large interactive display systems. In ICCE '02: Proceedings of the International Conference on Computers in Education, page 143, Auckland, New Zealand, 2002. IEEE Computer Society.
[ doi ]
There are various software technologies that allow capture and redelivery of lectures. Most of these technologies however rely on the use of proprietary software, often requiring extra efforts from the lecturer in terms of the initial preparation of the lecture material, or in editing and annotating after the lecture to make the material suitable for the students. To review the material students then require access to the proprietary software. This paper describes a system for the lightweight capture of lecture presentations, based on the use of a low-costlarge interactive display surface, together with standard Microsoft PowerPoint¿ presentation software. The captured version of the presentation includes the original lecture slides, graphical annotations made by the lecturer during the lecture, and the audio recording of the lecture; all saved as a PowerPoint file. In addition, the system adds some annotations and index slides to allow quick and easy access to different segments of the presentation.Presentations can be replayed in part or in full as required, preserving all of the content of the live lecture.

This file has been generated by bibtex2html 1.78