iBench Projects

iBench People iBench Projects iBench Papers iBench Meetings

horizontal rule

 

Current Projects

TRAFFIC

Students: Likai Liu
PIs: Azer Bestavros, Assaf Kfoury, and Ibrahim Matta

In this project we introduce a novel type system and associated type spaces, which constitute accessible representations of the results and conclusions that are derivable using complex compositional theories. These representations allow a networking system architect or programmer to be exposed only to the inputs and output of compositional analysis without having to be familiar with the ins and outs of its internals. Toward this end, we propose TRAFFIC (Typed Representation and Analysis of network Flows For Interoperability Checks) framework, a simple flow-composition and typing language. TRAFFIC could be incorporated with one or more underlying theory for the purpose of establishing safety properties of large compositions. An example theory that we have incorporated with TRAFFIC is  the Network Calculus, which allows us to reason about and infer such properties as data arrival, transit, and loss rates in large composite network applications. The TRAFFIC compositional analysis framework is put in action through a prototype implementation of a type checking and inference engine, which is available for demonstration purposes using a web interface.

horizontal rule

snBench

Students: Michael Ocean
PI: Azer Bestavros
and Assaf Kfoury

The snBench project aims to design and implement the programming and run-time infrastructure necessary for developers to specify and deploy truly distributed applications over a heterogeneous network of Sensing Elements (SEs) and of Computing Elements (CEs). snBench offers the means via which applications may (1) locate, monitor, and query SEs and CEs for services they support, and (2) initiate, control, or otherwise use such SE and CE services. In addition to supporting these functionalities, the snBench will provide basic run-time resource management services for QoS support, including real-time scheduling and admission control functionalities. While the architecture of the system and most of its services will be targeted at generic sensing modalities, our immediate target will be the Sensorium infrastructure--namely a network of fixed video cameras of various capabilities used for monitoring and tracking purposes. To that end, the basic set of SE services to be made available to distributed applications will include 'atomic' video operations (e.g., video frame capture, blob counting, motion detection, tracking, among others) whereas the basic set of CE services to be made available to distributed applications will include in-network stream aggregation services (e.g., concasting coordinates of detected features, real-time stitching of frames from multiple vantage points, among others). One of the salient features of snBench is extensibility. To that end, snBench will provide a type-disciplined framework for defining and adding new services--both atomic services at SEs and compositional services at CEs.

horizontal rule

Past Projects

itmBench

PIs: Ibrahim Matta and Azer Bestavros

Internet Traffic Managers (ITMs) are special machines placed at strategic places in the Internet. itmBench is an programming interface that allows users (e.g. network managers, service providers, or experimental researchers) to register different traffic control functionalities to run on one ITM or an overlay of ITMs. Thus itmBench could be viewed as a tool that is extensible and powerful yet easy to maintain. ITM traffic control applications could be developed either using a kernel API so they run in kernel space, or using a user-space API so they run in user space. We have demonstrated the flexibility of itmBench by showing the implementation of both a kernel module that provides a differentiated network service, and a user-space module that provides an overlay routing service. Other uses of itmBench for prototyping overlay routing services and overlay traffic management are also on-going.  Our itmBench Linux-based prototype is free software and can be obtained from http://www.cs.bu.edu/groups/itm/.

horizontal rule

StaXML

Student: Adam Bradley
PIs:
Azer Bestavros and Assaf Kfoury

STAXML is a type system for the static verification of imperative script output to ensure it conforms to XML (or to particular XML applications). The StaXML type systems allow program expressions to be statically typed with respect to their role in the structure of XML-based output languages. Unlike similar projects which support strong XML-typing of program output, StaXML does not impose a functional programming style upon the programmer; thus, it supports traditional web scripting idioms in which document content is progressivelt written to the output stream as a sequence of strings. By typing strings using the stacked type syntax and transforming the XML language's syntax into normalizations which can be applied to those stacks, we are able to capture several degrees of XML well-formedness in a compile-time type system; by further specializing these normalizations to particular XML schemata, we are also able to enforce correct element structure for particular applications of XML such as the XHTML language. This project includes "StaXML for PHP", an implementation of the various StaXML type systems for the popular PHP4 scripting language. We have a working pre-compiler which supports application of several StaXML type systems to most of the core features of the PHP language, and is available for public use via a web gateway.

 

horizontal rule

CHAIN

Students: Adam Bradley
PIs:
Azer Bestavros and Assaf Kfoury

Formal correctness of complex multi-party network protocols can be difficult to verify. While models of specific fixed compositions of agents can be checked against design constraints, protocols which lend themselves to arbitrarily many compositions of agents--such as the chaining of proxies or the peering of routers--are more difficult to verify because they represent potentially infinite state spaces and may exhibit emergent behaviors that may not materialize under particular fixed compositions. We address this challenge by developing an algebraic approach that enables us to reduce arbitrary compositions of network agents into a behaviorally-equivalent (with respect to some correctness property) compact, canonical representation, which is amenable to mechanical verification. Our approach consists of an algebra and a set of property-preserving rewrite rules for the Canonical Homomorphic Abstraction of Infinite Network protocol compositions (CHAIN). Using CHAIN, an expression over our algebra (i.e., a set of configurations of network protocol agents) could be reduced to another behaviorally-equivalent expression (i.e., a smaller set of configurations). Repeated applications of such rewrite rules produces a canonical expression which can be checked mechanically. CHAIN has been applied successfully to the verification of a number of network protocols, including  the characterizing of deadlock-prone configurations in HTTP, the establishment of useful properties of an overlay network protocol for scheduling MPEG frames, and the verification of a protocol for Web intra-cache consistency.

horizontal rule

SlurpCast

Student: Likai Liu
PIs:  Assaf Kfoury, and Hongwei Xi

SlurpCast is a media streaming server that is written in O'Caml, a type-checked, memory-safe functional language. O'Caml is chosen because it  offers the choice of functional-style programming and imperative-style  programming, and partly also because O'Caml is well-supported by its  community. This project is an attempt to see how much functional  programming constructs can be used to model a network server architecture. Combinator functions are designed and used extensively in SlurpCast to accommodate the extensibility and flexibility needs of a modular server. SlurpCast also adopts synchronized queue and thread communication from imperative programming concepts.

 

horizontal rule

(C) Copyright 2004. All rights reserved.
Updated last on September 10, 2004

 

iBench Home

Any opinions, findings, conclusions, or recommendations expressed in materials available from this site are those of the author(s) and do not necessarily reflect the views of Boston University or of the National Science Foundation.