Service execution in a distributed environment

Craig Ellis Wills, Purdue University

Abstract

The research presented in this dissertation is specifically concerned with understanding the issues and problems of transparently executing computations in a computing engine, a distributed environment of machines loosely coupled with high-speed local area networks. The central idea of our approach is that actions available to the user in a distributed system should be treated as services, where a service is a user-level action that is offered by one or more machines. Our approach is to separate the identification of a service from its execution. This abstraction allows the details of performing a service to be hidden from the user, and allows the user to specify what services he would like to use and not be concerned with where and how the services are invoked. We model the essential steps necessary to execute a computation in a distributed environment in terms of a set of orthogonal components that each perform a specific task. For the model we denote a named computation as an action and term the model the action execution model. Using the action execution model we have a common representation for studying how actions, such as commands, network services, and remote procedure calls, are executed in a variety of distributed environments. We also apply the action execution model to a set of design principles derived from our service abstraction to develop a framework for the design of a service execution mechanism. Our service execution mechanism provides the user consistent and uniform access to computations from multiple machines in a distributed environment. The design addresses a number of issues concerning how services are named; how service information is located in the computing engine to determine which services are available and which machines offer these services; how to select a machine from among multiple machines providing a service; and how to invoke the service on the selected machine. We have implemented a prototype of the service execution mechanism on a network of Sun workstations, which provide local services and invoke remote services on behalf of users, and VAX machines running the UNIX operating system augmented with Sun's Network File System. Our experience with the prototype indicates that the service mechanism adds a relatively small overhead for locally invoked services while providing transparent access to all services whether local or remote. We conclude that the separation of what a service does from where and how it is invoked is the right approach for transparent execution of computations in a distributed, especially heterogeneous, environment.

Degree

Ph.D.

Advisors

Korb, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS