Software

COSE

COSE, a framework that uses Bayesian Optimization to find the optimal configuration for serverless functions. COSE uses statistical learning techniques to intelligently collect samples and predict the cost and execution time of a serverless function across unseen configuration values. First released in 2019.


LIBRA

LIBRA is a balanced (hybrid) approach that leverages both VM-based and serverless resources to efficiently manage cloud resources for the applications. LIBRA closely monitors the application demand and provisions appropriate VM and serverless resources such that the running cost is minimized, and Service-Level Agreements are met. First released in July 2021.


EL-SEC

EL-SEC is an architecture that enables the elastic management of a virtual network/application function (VF) over Software-Defined Networks (SDNs). It involves a distributed monitoring application to measure the state of VF (e.g., Snort intrusion detection system) instances, an attack analyzer and a load balancer on the controller node to analyze traffic/access patterns/intrusion alerts, and to dynamically increase/decrease the number of VF instances in response to load conditions and QoS requirements, respectively. The controller node also involves a process that communicates using the OpenFlow protocol with underlying switches to install traffic forward rules to steer traffic toward one of the VF instances and to block attack traffic.


ProtoRINA

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

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

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.


PREDA

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

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

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

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

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.


SEP

Stable Election Protocol for clustered wireless sensor networks


DIP

Density Inference Protocol for wireless sensor networks


BRITE

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

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

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).

Here is the README file and MaRS software. It’s best to run this version on Sparc/SunOS or DEC Alpha/ULTRIX.

Here is a Solaris version,and a Linux version (tested on RedHat Linux 6.x (kernel 2.2.x, XFree86 3.3.x) with LessTif) – thanks to Dario Accornero.

For a list of papers using MaRS, including user and programmer manuals, click here.


Z-Iteration

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

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

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.