Current PDSG efforts are focused on the following three projects:
1. The Mutable Services project focuses on building a flexible service management architecture for component-based applications. Applications deployed using this architecture are capable of monitoring their own performance, detecting when they are running in "unfriendly" situations (e.g., when they are under overload or are the targets of a denial-of-service attack), and in response dynamically reconfiguring themselves including by changing themselves to use a different set of physical hosts. Clients are informed of new service location through a selective publishing infrastructure, which provides information to only a server-specified subset.
2. The Stochastically Quantified Trust Management (QTM) project is examining transitive trust-management using delegations that express partial trust. We anticipate that explicit embedding of partial trust within delegation credentials will substantially reduce the complexity of access control systems for organizations with complex policies.
3. The project is investigating construction of a hosting platform for data-centric network services requests against which see dynamically-generated responses that are typically considered "uncacheable" by traditional web caching infrastructures. DataSlicer hopes to achieve an alternative caching infrastructure by: i) dynamically detecting service usage locality across several dimensions: dataspace, network regions and multiple timescales; ii) creating replicas of portions of an origin database at appropriate (a few) network intermediaries based on the detected locality information; and iii) applying actions such as request redirection and admission control to reduce client-perceived response time.
The MILAN (Metacomputing in Large Asynchronous Networks) project focused on providing end-to-end services for transparent utilization and management of networked resources. The project developed several novel techniques for building software environments that emulate a predictable collection of virtual machines on a non-dedicated, unpredictable, distributed platform.
The InSight project focused on developing language, compiler, and run-time technologies for efficiently distributing and caching objects in parallel servers and component-based distributed environments. Our strategy relied on caching object data at the granularity of "object views", which encapsulate high-level descriptions of how a particular thread of computation uses the object.
The Computing Communities
project focused on building efficient and reliable network-based services from
dynamic aggregations of commodity components. This project emphasized two
goals: (1) on-the-fly aggregation of autonomous computing and information
resources into dynamic "computing communities", and (2) the
transparent use of these "communities" by applications, which
automatically adapt to evolving resource characteristics.
Sanctuaries project focused on developing protocols and system
infrastructure for enabling members of dynamically evolving coalitions to
access each others' information and services in a secure and efficient fashion.
Our strategy relied on the construction of secure execution environments
that permit caching of services in and migration of computations to
partly-trusted hosts while enforcing access control restrictions implied by
changing trust relationships among coalition members.