4 research outputs found

    In Proc. 8th Workshop on Hot Topics in Operating Systems (HotOs-VIII) Active Streams: An approach to adaptive distributed systems

    No full text
    An increasing number of distributed applications aim to provide services to users by interacting with a correspondingly growing set of data-intensive network services. Such applications, as well as the services they utilize, are generally expected to handle dynamically varying demands on resources and to run in large, heterogeneous, and dynamic environments, where the availability of resources cannot be guaranteed apriori — all of this while providing acceptable levels of performance. To support such requirements, we believe that new services need to be customizable, applications need to be dynamically extensible, and both applications and services need to be able to adapt to variations in resource availability and demand. A comprehensive approach to building new distributed applications can facilitate this by considering the contents of the information flowing across the application and its services and by adopting a component-based model to application/service programming. It should provide for dynamic adaptation at multiple levels and points in the underlying platform; and, since the mapping of components to resources in dynamic environment is too complicated, it should relieve programmers of this task. We propose Active Streams [1], a middleware approach and its associated framework for building distributed applications and services that exhibit these characteristics. With Active Streams, distributed systems are modeled as being composed of applications, services,anddata streams. Services define collections of operations that servers can perform on behalf of their clients. Data streams are sequences of self-describing application data units flowing between applications ’ components and services. They are made active by attaching application- or service-specific location-independent functional units, called streamlets. Streamlets can be obtained from a number of locations; they can be downloaded from clients or retrieved from a streamlet repository. The Active Streams C-based framework employs dynamic code generation in order to insur
    corecore