% Please keep this file in reverse chronological order % Please follow the key format "LastNamesOfAllAuthors:venueYY" @inproceedings{OceanBestavrosKfoury:vee06, author = {Michael Ocean and Azer Bestavros and Assaf Kfoury}, title = {{snBench}: Programming and Virtualization Framework for Distributed Multitasking Sensor Networks}, booktitle = {Proceedings of the 2nd international conference on Virtual execution environments {(VEE 2006)} }, month = {June}, year = {2006}, isbn = {1-59593-332-6}, pages = {89 - 99}, location = {Ottawa, Ontario, Canada}, url={http://www.cs.bu.edu/fac/best/res/papers/vee06.pdf}, publisher = {ACM Press}, address = {New York, NY, USA}, abstract={} } @inproceedings{BestavrosBradleyKfouryMatta:icnp05, author={Azer Bestavros and Adam Bradley and Assaf Kfoury and Ibrahim Matta}, title= {{Typed Abstraction of Complex Network Compositions}}, Booktitle={{Proceedings of ICNP'05: The 13th IEEE International Conference on Network Protocols}}, address={Boston, MA}, month={November}, year=2005, url = "http://www.cs.bu.edu/fac/best/res/papers/icnp05.pdf", keywords={iBench, Protocol Verification, Internet and Web Protocol Composition, Security}, abstract={ The heterogeneity and open nature of network systems make analysis of compositions of components quite challenging, making the design and implementation of robust network services largely inaccessible to the average programmer. We propose the development of a novel type system and practical type spaces which reflect simplified representations of the results and conclusions which can be derived from complex compositional theories in more accessible ways, essentially allowing the 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 present the TRAFFIC (Typed Representation and Analysis of Flows For Interoperability Checks) framework, a simple flow-composition and typing language with corresponding type system. We then discuss and demonstrate the expressive power of a type space for TRAFFIC derived from the network calculus, allowing us to reason about and infer such properties as data arrival, transit, and loss rates in large composite network applications. } } @inproceedings{BestavrosBradleyKfouryOcean:basenets05, author = {Azer Bestavros and Adam Bradley and Assaf Kfoury and Michael Ocean}, title = {{SNBENCH: A Development and Run-Time Platform for Rapid Deployment of Sensor Network Applications}}, booktitle = {Proceedings of the IEEE International Workshop on Broadband Advanced Sensor Networks (Basenets 2005)}, address={Boston, MA}, month={October}, year = {2005}, url = "http://www.cs.bu.edu/fac/best/res/papers/basenets05.pdf", keywords={Real-Time, Sensor Network, Distributed Systems}, abstract = { We envision the emergence of general-purpose, well-provisioned sensor networks---which we call ``Sensoria''---that are embedded in (or overlayed atop) physical spaces, and whose use is shared amongst autonomous users of that space for independent and possibly conflicting missions. Our conception of a Sensorium stands in sharp contrast to the commonly adopted view of an embedded sensor network as a special-purpose infrastructure that serves a well-defined, fixed mission. The usefulness of a Sensorium will not be measured by how highly optimized its various protocols are, or by how efficiently its limited resources are being used, but rather by how flexible and extensible it is in supporting a wide range of applications. To that end, in this paper, we overview and present a first-generation implementation of snBench: a programming environment and associated run-time system that support the entire life-cycle of programming sensing-oriented applications. The components of snBench are analogous to those commonly found in traditional, stand-alone general-purpose computing environments. SNAFU (SensorNet Applications as Functional Units) is a high-level strongly-typed functional language that supports stateful, temporal, and persistent computation. SNAFU is compiled into an intermediate, abstract representation of the processing graph, called a STEP (Sensorium Task Execution Plan). The STEP graph is then linked to available Sensorium eXecution Environments (SXEs). A Sensorium Service Dispatcher (SSD) decomposes the STEP graph into a linked execution plan, loading STEP sub-graphs to appropriate individual SXEs and binding those loaded sub-graphs together with appropriate network protocols. The SSD may load many such programs onto a Sensorium simultaneously, taking advantage of programs' shared computation and dependencies to make more efficient use of sensing, computation, network, and storage resources. } } @inproceedings{ZhangBestavrosGuirguisMattaWest:vee05, author = {Yuting Zhang and Azer Bestavros and Mina Guirguis and Ibrahim Matta and Richard West}, title = {{Friendly Virtual Machines: Leveraging a Feedback-Control Model for Application Adaptation}}, booktitle = {Proceedings of the 2005 ACM/USENIX Conference on Virtual Execution Environments}, address={Chicago, Illinois}, month={June}, year = {2005}, url = "http://www.cs.bu.edu/fac/best/res/papers/vee05.pdf", keywords={Real-Time, Web, Internet, Network, Security}, abstract = { With the increased use of ``Virtual Machines'' (VMs) as vehicles that isolate applications running on the same host, it is necessary to devise techniques that enable multiple VMs to share underlying resources both fairly and efficiently. To that end, one common approach is to deploy complex resource management techniques in the hosting infrastructure. Alternately, in this paper, we advocate the use of self-adaptation in the VMs themselves based on feedback about resource usage and availability. Consequently, we define a ``Friendly'' VM (FVM) to be a virtual machine that adjusts its demand for system resources, so that they are both efficiently and fairly allocated to competing FVMs. Such properties are ensured using one of many provably convergent control rules, such as AIMD. By adopting this distributed application-based approach to resource management, it is not necessary to make assumptions about the underlying resources nor about the requirements of FVMs competing for these resources. To demonstrate the elegance and simplicity of our approach, we present a prototype implementation of our FVM framework in User-Mode Linux (UML)---an implementation that consists of less than 500 lines of code changes to UML. We present an analytic, control-theoretic model of FVM adaptation, which establishes convergence and fairness properties. These properties are also backed up with experimental results using our prototype FVM implementation.} } @inproceedings{GuirguisBestavrosMattaRigaDiamantZhang:iscc04, author = {Mina Guirguis and Azer Bestavros and Ibrahim Matta and Niky Riga and Gali Diamant and Yuting Zhang}, title = {{Providing Soft Bandwidth Guarantees Using Elastic TCP-based Tunnels}}, booktitle = {Proceedings of ISCC'04: IEEE Symposium on Computer and Communications}, year = {2004}, address={Alexandria, Egypt}, url = "http://www.cs.bu.edu/fac/best/res/papers/iscc04.pdf", keywords={Real-Time, Internet, Network}, abstract = { The best-effort nature of the Internet poses a significant obstacle to the deployment of many applications that require guaranteed bandwidth. In this paper, we present a novel approach that enables two edge/border routers which we call Internet Traffic Managers (ITM) to use an adaptive number of TCP connections to set up a tunnel of desirable bandwidth between them. The number of TCP connections that comprise this tunnel is elastic in the sense that it increases/decreases in tandem with competing cross traffic to maintain a target bandwidth. An origin ITM would then schedule incoming packets from an application requiring guaranteed bandwidth over that elastic tunnel. Unlike many proposed solutions that aim to deliver soft QoS guarantees, our elastic-tunnel approach does not require any support from core routers (as with IntServ and DiffServ); it is scalable in the sense that core routers do not have to maintain per-flow state (as with IntServ); and it is readily deployable within a single ISP or across multiple ISPs. To evaluate our approach, we develop a flow-level controltheoretic model to study the transient behavior of established elastic TCP-based tunnels. The model captures the effect of cross-traffic connections on our bandwidth allocation policies. Through extensive simulations, we confirm the effectiveness of our approach in providing soft bandwidth guarantees. } } @inproceedings{DiamantVeytserMattaBestavrosGuirguisGuoZhangChen:camad04, author = {Gali Diamant and Leonid Veytser and Ibrahim Matta and Azer Bestavros and Mina Guirguis and Liang Guo and Yuting Zhang and Sean Chen}, title = {{itmBench: Generalized {API} for Internet Traffic Managers}}, booktitle = {Proceedings of the 10th IEEE Globecom Workshop on Computer-Aided Modeling, Analysis and Design of Communication Links and Networks (CAMAD'04)}, month = {{November}}, year = {2004}, address={Austin, Texas}, url = "http://www.cs.bu.edu/fac/best/res/papers/camad04.pdf", abstract = { Internet Traffic Managers (ITMs) are special machines placed at strategic places in the Internet. itmBench is an 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 offers 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 demonstrate 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. Our itmBench Linux-based prototype is free software and can be obtained from http://www.cs.bu.edu/groups/itm/.} } @article{BestavrosBradleyKfouryMatta:ccr04, author = {Azer Bestavros and Adam Bradley and Assaf Kfoury and Ibrahim Matta}, title = {{Safe Compositional Specification of Networking Systems}}, journal = {{ACM SIGCOMM Computer Communication Review (CCR)}}, publisher = {{ACM Press}}, number = 3, volume = 34, month = {{July}}, year = {2004}, url = {http://www.cs.bu.edu/fac/best/res/papers/ccr04.pdf}, abstract = { The Science of Network Service Composition has clearly emerged as one of the grand themes driving many of our research questions in the networking field today [NeXtworking 2003]. This driving force stems from the rise of sophisticated applications and new networking paradigms. By ``service composition'' we mean that the performance and correctness properties local to the various constituent components of a service can be readily composed into global (end-to-end) properties without re-analyzing any of the constituent components in isolation, or as part of the whole composite service. The set of laws that would govern such composition is what will constitute that new science of composition. The combined heterogeneity and dynamic open nature of network systems makes composition quite challenging, and thus programming network services has been largely inaccessible to the average user. We identify (and outline) a research agenda in which we aim to develop a specification language that is expressive enough to describe different components of a network service, and that will include type hierarchies inspired by type systems in general programming languages that enable the safe composition of software components. We envision this new science of composition to be built upon several theories (e.g., control theory, game theory, network calculus, percolation theory, economics, queuing theory). In essence, different theories may provide different languages by which certain properties of system components can be expressed and composed into larger systems. We then seek to lift these lower-level specifications to a higher level by abstracting away details that are irrelevant for safe composition at the higher level, thus making theories scalable and useful to the average user. In this paper we focus on services built upon an overlay management architecture, and we use control theory and QoS theory as example theories from which we lift up compositional specifications.} } @inproceedings{BradleyBestavrosKfoury:icnp04, author={Adam Bradley and Azer Bestavros and Assaf Kfoury}, title= {{A Typed Model for Encoding-Based Protocol Interoperability}}, booktitle={{Proceedings of ICNP'04: The 12th IEEE International Conference on Network Protocols}}, address={Berlin, Germany}, keywords={Protocol Verification, Internet and Web Protocol Composition}, month={October}, year=2004, url = "http://www.cs.bu.edu/fac/best/res/papers/icnp04-model.pdf", abstract={} } @inproceedings{BradleyBestavrosKfoury:icnp03, author={Adam Bradley and Azer Bestavros and Assaf Kfoury}, title= {{Systematic Verification of Safety Properties of Arbitrary Network Protocol Compositions Using CHAIN}}, booktitle={{Proceedings of ICNP'03: The 11th IEEE International Conference on Network Protocols}}, address={Atlanta, GA}, keywords={Protocol Verification, Internet and Web Protocol Composition}, month={November}, year=2003, url = "http://www.cs.bu.edu/fac/best/res/papers/icnp03.pdf", abstract={} } @inproceedings{BradleyBestavros:gi02, author={Adam Bradley and Azer Bestavros}, title={{Basis Token Consistency: Supporting Strong Web Cache Consistency}}, month={November}, year=2002, booktitle={Proceedings of the 2002 Globecom Global Internet Symposium}, address={Taipei, Taiwan}, url={http://www.cs.bu.edu/fac/best/res/papers/gi02.pdf}, keywords={Internet, Web Caching, Consistency}, abstract={With web caching and cache-related services like CDNs and edge services playing an increasingly significant role in the modern Internet, the problem of the weak consistency and coherence provisions in current web protocols is drawing increasing attention. Toward this end, we differentiate definitions of consistency and coherence for web-like caching environments, and then present a novel web protocol we call ``Basis Token Consistency'' (BTC). This protocol allows compliant caches to guarantee strong consistency of content retrieved from supporting servers. We then compare the performance of BTC with the traditional TTL (Time To Live) algorithm under a range of synthetic workloads in order to illustrate its qualitative performance properties.}, } @inproceedings{BradleyBestavrosKfoury:wcw02, author={Adam Bradley and Azer Bestavros and Assaf Kfoury}, title={{Safe Composition of Web Communication Protocols for Extensible Edge Services}}, booktitle={{Proceedings of the 7th International Web Caching and Content Delivery Workshop}}, month={August}, year=2002, address={Boulder, CO}, url = {http://www.cs.bu.edu/faculty/best/res/papers/wcw02.pdf}, keywords={Web Caching, Internet Protocols, Formal verification, HTTP, Interoperability, Model checking, Protocol composition}, abstract={As new multi-party edge services are deployed on the Internet, application-layer protocols with complex communication models and event dependencies are increasingly being specified and adopted. To ensure that such protocols (and compositions thereof with existing protocols) do not result in undesirable behaviors (e.g., livelocks) there needs to be a methodology for the automated checking of the ``safety'' of these protocols. In this paper, we present ingredients of such a methodology. Specifically, we show how SPIN, a tool from the formal systems verification community, can be used to quickly identify problematic behaviors of application-layer protocols with non-trivial communication models---such as HTTP with the addition of the ``100 Continue'' mechanism. As a case study, we examine several versions of the specification for the Continue mechanism; our experiments mechanically uncovered multi-version interoperability problems, including some which motivated revisions of HTTP/1.1 and some which persist even with the current version of the protocol. One such problem resembles a classic degradation-of-service attack, but can arise between well-meaning peers. We also discuss how the methods we employ can be used to make explicit the requirements for hardening a protocol's implementation against potentially malicious peers, and for verifying an implementation's interoperability with the full range of allowable peer behaviors.} } @inproceedings{BradleyBestavros:wc302, author={Adam Bradley and Azer Bestavros}, title={{Basis Token Consistency: Extending and Evaluating a Novel Web Consistency Algorithm}}, booktitle = {{Proceedings of WC3: The International Workshop on Caching, Coherence, and Consistency}}, year=2002, url={http://www.cs.bu.edu/fac/best/res/papers/wc302.pdf}, keywords={Internet, Web Caching, Consistency}, abstract={With web caching and cache-related services like CDNs and edge services playing an increasingly significant role in the modern Internet, the problem of the weak consistency and coherence provisions in currently standardized web protocols is drawing greater attention. Toward this end, we propose definitions of consistency and coherence for web-like caching environments, and then present a novel web protocol we call ``Basis Token Consistency'' (BTC). This protocol allows compliant caches to guarantee strongly consistent views of content retrieved from supporting servers. We discuss this protocol and its extensions, and compare the performance of BTC with the traditional TTL (Time To Live) algorithm under a range of synthetic workloads.}, month={June}, address={New York} }