Distributed Computing


Grid Computing

The TRLabs distributed computing group is working to develop the first set of tools that service providers will need to deliver the grid computing applications. We are making use of the international PlanetLab project to deploy a prototype infrastructure for delivering guaranteed computing performance to end users using today's best effort IP infrastructure. This prototype will pave the way for contracts between residential and business customers and service providers, detailing guaranteed performance for each application and service the provider will sell.

Peer-to-Peer Systems

The TRLabs distributed computing group focuses on the evaluation of existing P2P frameworks and on the development of new P2P frameworks and applications. While there is generally no debate about the potential of P2P systems for utilizing the idle resources in organizations, there is a noticeable absence of actual deployments with the exception of SIMD (Single Instruction Multiple Data) applications (e.g. Seti@Home). We have identified the absence of development platforms as the main reason for this and we are currently developing two P2P computing platforms. The first platform is based on the idea of extending the well-known LINDA model (shared memory) and the second platform (PeerDotNet) follows the opposite concept of MANIFOLDS (control-driven, based on routing messages).

We are also currently developing a simulator that allows developers to predict the behavior of applications in a large simulated P2P system environments The 3LS simulator distinguishes three levels: the physical-level (machine, physical network), the protocol level (P2P protocols e.g. Gnutella) and the application/user level (behavior models of the applications and of human users).

We also explore the operation of peer to peer networks from the point of view of the performance of the overlay network with respect to various services which can be envisioned. We will explore the efficiency of existing protocols for the construction of the overlay network and for data transmission with respect to these services. We consider the interaction of the overlay networks with the topology and operation of the underlying network with the goal of improving performance from the perspective of the peer to peer clients as well as the management of the underlying network.

Mobile Agents

Mobile Agents (MAs) are an alternative to distributed computing technologies such as Common Object Request Broker Architecture (CORBA), Distributed Component Object Mode (DCOM), and Remote Method Invocation (RMI), which are based on accessing remote objects in a way that makes them appear to be local. The MA paradigm differs from this in that an object may move its entire execution state to a remote host, effectively achieving a process migration. Although this is akin to familiar methods of remote programming such as submission of batch jobs, it differs notably in that MAs are able to trigger their own movement during execution. This feature enables MAs to function autonomously, offering the prospect of highly flexible programs that can move throughout the network according to their needs and the demands of the environment.

TRLabs' research into mobile agents focuses on the development of new real-world applications and services, such as the use of mobile agents as shopping aids, mobile agent-based health record systems and the application of mobile agents to the enhancement and personalization of multimedia conferencing and of remote meeting and scheduling technologies. There is also ongoing work in developing systems to better monitor, visualize and control agent-based systems, such as an augmented reality engine for real-time semantic visualization of agent behavior and a simulation environment for studying the behavior of systems with mobile agents.


Achievements

Five projects were successfully completed by the Distributed Computing group in the last year. Two projects investigated peer to peer (P2P) models, one proposing a trust model for P2P networks and investigating its operation through simulation, and the other project focused on building dependable P2P systems with fault detection and isolation, creating a prototype system and evaluating the techniques in large scale experiments. A third project contributed to Public Computing Utility research by employing a queuing theoretic approach to the analysis of quality of service provisioning in Web servers.

One project in secure access for distributed systems was completed, using a role based access control model, and another project created a novel system for shopping assist in supermarkets using mobile agents, with TRLabs' software agent execution environment TEEMA.


Research Priorities

We have four ongoing projects in Distributed computing. Two of these continue the development of the public computing utility concept, with one project continuing work in the area of trust and incentive management, in an attempt to implement scalable schemes for the public computing utility. The second project focuses on performance and quality of service, making use of a new concept called service delivery tickets and of online application performance profiling in order to provide reasonable assurances of quality of service in a complex and distributed system of independent service nodes.

Two projects focus on computing devices, one using distributed simulation for hardware/software co-design, and the other investigates the design of systems on a chip, using the SystemC language to develop efficient hardware encryption algorithms.

The priority for the distributed computing group will continue to focus on applications. Some of the work in this area includes the application of distributed computing to medical imaging or to medical informatics, and the group will continue to support projects in these application areas and others, although the projects will fall under the purvey of the application groups where a separate group exists within TRLabs. Thus the impetus for new projects in this area will come from specific applications which require advances in distributed computing.