ProtoRINA is a Java prototype implementation of a clean-slate Recursive InterNetwork Architecture that is based on the fundamental principle that networking is inter-process communication (IPC). It recurses the IPC service over different scopes, allowing for better scalability, security, and manageability.
VINEA is a VIrtual Network Embedding Architecture. The VINEA architecture prototype enables users to convert high-level policies into low-level virtual network embedding rules.
BUtorrent is a file-sharing client that modifies the scheduling of the seed in the BitTorrent protocol. Our seed scheduling algorithm is based on a proportional-fair sharing approach, whereby pieces of the file with higher short-term demand, but lower long-term service rate, are served by the seed at higher priority. This ensures that, while meeting instantaneous need, pieces (replicas) are equally distributed within the network, thus improving the file-exchange rate among peers.
Our PREDA system supports Predicate Routing in DTN-over-MANET networks. Predicate routing allows Delay-Tolerant-Network (DTN) users connected by an underlying Mobile Ad-hoc NETwork (MANET), to declaratively express high-level policy constraints on the routing of content. PREDA maps high-level constraints of DTN nodes to low-level routing predicates within the MANET nodes.
TRAFFIC (Typed Representation and Analysis of Flows For Interoperability Checks) is a domain specific language that facilitates specification, programming, and maintenance of distributed applications over a network. TRAFFIC abstracts low-level properties of network elements using types at their input/output interfaces. These types are derived from various compositional analysis techniques, e.g. network calculus, control theory, etc.
APM (Adaptive Policy Management) is a probabilistic feedback control system for resolving policy conflicts among independent control entities. The concept is applied to the Border Gateway Protocol (BGP) employed in the Internet to exchange reachability information among Autonomous Systems.
itmBench is a Linux-based prototype for an interface that allows users (e.g. network managers, service providers, or experimental researchers) to register different traffic control functionalities to run on one machine or an overlay of machines. This software is a product of the Internet Traffic Managers NSF-funded project. Click here for more information.
SaTS is a size-aware scheduler for TCP flows (more generally, congestion-responsive flows). The scheduler gives priority to short TCP flows (and the first few bytes of long TCP flows) inside the network. The prototype implementation is built over the Linux netfilter API. This Linux code, together with ns-2 simulation code, are available here. This software is a product of the Internet Traffic Managers NSF-funded project.
BRITE is a parametrized topology generation tool, which can be used to flexibly control various parameters (such as connectivity and growth models) and study various properties of generated network topologies (such power laws, average path length, etc). Click here for more information.
SIMD (Square-Increase/Multiplicative-Decrease) is one instance of a new spectrum of TCP-friendly window-based congestion control algorithms. This spectrum explores a new design space between memory-less window controls and equation-based controls which use more history. These stateful controls exhibit much better transient behavior such as better responsiveness to bandwidth changes and better convergence-to-fairness. Click here for the ns-2 implementation of SIMD.
MaRS (Maryland Routing Simulator) is a simulation testbed for evaluating routing systems. MaRS is implemented in C on a UNIX platform with two graphical interfaces (Xlib and Motif).
For a list of papers using MaRS, including user and programmer manuals, click here.
The Z-iteration is a numerical-analytical method to obtain transient performance measures of large adaptive distributed systems such as integrated-services networks. The method yields time evolutions of probabilistic measures (e.g. instantaneous queue size distribution) at a cost several orders cheaper than simulation. Click here for more information.
WTCP (Wireless TCP) is an efficient transmission control scheme that hides wireless losses from TCP. WTCP runs at the base station; it buffers data packets destined for a mobile host, detects wireless link losses, and retransmits lost data. WTCP has the following features:
- WTCP uses timeout and duplicate acknowledgment to retransmit lost data
- WTCP uses efficient flow control for the wireless link
- WTCP maintains end-to-end TCP semantics
- WTCP effectively hides the time spent by the base station for local recovery so that TCP’s round trip time estimation at the source is not affected. This is critical since otherwise the ability of the source to effectively detect congestion in the wireline network is hindered.
Click here for more information.
QDMR (QoS Dependent Multicast Routing) is a fast algorithm for generating delay-constrained low-cost multicast routing trees. A salient feature of QDMR is that it dynamically adjusts its low-cost tree construction policy based on how far the current on-tree node is from violating the QoS/delay bound. This QoS dependent (adaptive) tree construction, together with the capability to merge least-delay paths into the low-cost tree in case of stringent delay requirements, lead to the following properties:
- QDMR guarantees that a feasible multicast tree (that satisfies the requested delay) will be found if such tree exists
- This delay-bounded multicast tree is very rapidly generated
- The tree produced by QDMR has low cost.
For analysis and simulations of QDMR and comparisons with other existing multicast algorithms, see this paper.
Click here for QDMR code.