Index Group
Illinois Network Design and Experimentation
People
Projects
Publications
Software
Demos
Links
Seminar
Facility
News
Members Only
Home

Software Release

At an early stage of system development, one can analyze and predict system behavior through analysis and simulation. However, a true evaluation of system performance can only be obtained through implementation and direct measurement and experimentation of the prototype. Hence, an important task of our research is system prototyping and building. Given below is a list of software release we have made with our research results.


1. Task management — DistCondor

DistCondor is a task management software. The software is an enhanced and decentralized version of the Condor software developed at the University of Wisconsin --Madison. Refer to our task management project for technical details. A technical paper that summarizes the design, implementation, and experimentation of DistCondor can be found here. The software has been ported to the JPL site and will be included as one of the JPL X2000 demonstration efforts.


2. J-Sim

J-Sim (formerly known as JavaSim) is a component-based, compositional simulation environment. It has been built upon the notion of the autonomous component programming model. We recently made another open-source release (version 1.3) that includes classes for wireless/sensor network simulation, in addition to classes for simulating the Internet with best-effort, integrated, and differentiated services. All the source codes, white papers, tutorials, examples, and manuals are available on-line at http://www.j-sim.org.

The corresponding technical detail can be found in network modeling and simulation.


3. End-to-end measurement of available bandwidth — bTrack

bTrack is a non-intrusive measurement tool of the available bandwidth along an end-to-end network path. It periodically sends a couple of probing packet pairs with different packet sizes and estimates the available bandwidth based on the analytical model of the packet pair technique along a multiple-hop link. bTrack can continuously report a time-trace of the available bandwidth at a fine granularity while consuming a very low probing traffic, whose bandwidth is adjustable by its performance parameters. The technical details can be found in here.


4. End-to-end measurement of cross traffic — cTrack

The end-to-end measurement tool: cTrack,  aims to measure the cross traffic between two end hosts in the network. It is assumed that the bottleneck link bandwidth is known (tools exist to probe the bottleneck link bandwidth). We use proactive method to measure the cross traffic. It consists of two parts, sending part and receiving part, running as application level commands.

We applied three methods: prediction, reconstruction and interpolation. In each method, the sending part sends probe packet pairs, whose intervals are determined by the packet size and the bottleneck link bandwidth. The exact probe packet pair patterns are determined by the specific method applied. For the prediction and reconstruction methods, the probe packets are sent using an On-Off pattern. During the On periods, a bunch of probe packet pairs are sent, while in Off periods, no probe packet is sent out. For the interpolation method, evenly distributed probe packet pairs are sent out. On the receving part, the receiver infers the cross traffic by measuring the time interval between the two packets in a probe packet pair. The prediction and reconstruction methods can use the inferred information during the On periods to estimate the information during the Off periods, where no probe packet can be obtained by the reciever. The interpolation method can use the inferred cross traffic information for any two time points to interpolate the information for the period between the two points. In this way, we do not need to send too many probe packets (non-intrusive probing) while we can keep track of the cross traffic between the two end hosts.


5. End-host congestion management — COCOON in Linux

Coordinated Congestion Control (COCOON) [1] is an end-host congestion control mechanism. The basic idea behind COCOON is to identify and group connections that are destined for the same destination host/subnet and coordinate among them all the congestion avoidance/control operations. For example, the RTT information can be shared among TCP connections in the same group. When a TCP connection in a group incurs packet loss, the other TCP connections should also be subject to congestion control, as they are likely routed along the same backbone links over the Internet. The rationale behind grouping connections destined for the same subnet is grounded on several characteristic studies of WWW client-based: clients on the same subnet usually do share common interest, and it is highly likely that more than one clients from the same subnet visit some popular website at the same time (e.g., employees from the same corporate usually connect to the same website).

The size of a COCOON group can be dynamically adjusted so as to magnify the benefits of congestion management. COCOON also allows a new connection to commerce with a congestion window that is large enough to catch up with other connections while not inducing congestion. Finally, COCOON takes into account nonresponsive UDP connections and “bundles” them into a virtual connection that is subject to TCP-like congestion control. COCOON requires only minor modification at server hosts, does not require router support, and hence can be incrementally deployed over the Internet.

We implemented part of COCOON in Linux kernel 2.4.22. The implementation details can be found here, and the source code can be found here.

[1] Y. Gao, G. He, J. Hou, and S. Paul, COCOON: an alternate approach to end-point congestion management, http://lion.cs.uiuc.edu/sw_documents/cocoon.pdf.


INDEX, Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign,
201 N. Goodwin Ave., Urbana, IL 61801, USA.
Contact Yong Yang [yang25 at uiuc] for questions or comments on this website