Font Size: a A A

Providing flexibility in distributed applications using a mobile component framework

Posted on:2002-02-28Degree:Ph.DType:Dissertation
University:University of MichiganCandidate:Litiu, Radu CristianFull Text:PDF
GTID:1468390011497567Subject:Computer Science
Abstract/Summary:
Future distributed applications will need to support computing devices with a wide range of capabilities, varying network connectivity, increasing mobility of users, and a wide variation in load placed by clients on services. This dissertation addresses these challenges through the realization of a component-based framework, named DACIA, for building and executing adaptive distributed applications. Applications are viewed as graphs of connected components that typically implement data streaming, processing, and filtering functions. DACIA provides mechanisms for run-time reconfiguration of applications to allow them to adapt to the changing operating environments. Applications can dynamically load new components, change the way various components interact and exchange data, move components from one host to another, and replicate some components across multiple hosts.; We identify the issues involved in runtime application reconfiguration. We propose an algorithm for performing dynamic reconfiguration while preserving the consistency and correctness of the application and minimizing the application disturbance. This algorithm executes in linear time with respect to the size of the application graph, and graciously handles failures that occur during the reconfiguration.; Component mobility in DACIA provides support for mobile users and mobile applications. Logical connections between moving components are persistent. Messages are reliably and orderly delivered during and after component relocation. The execution of components connected to the moving component is not affected. Users do not see any interruptions in the services accessed, and they do not need to manually re-establish connections with the communication parties.; We give several examples of applications implemented using DACIA, that demonstrate the benefits of using our framework, both from the performance and from the usability standpoint. DACIA is designed so that communication overheads are low, comparable to those of procedure calls when components are co-located and those of raw network communication when they are located on remote hosts. Moreover, the cost of moving components across hosts can be kept low. We show that by using simple adaptive heuristics to re-configure an application, the performance of the application can be significantly improved compared to the static case in which the application structure is fixed.
Keywords/Search Tags:Application, Using, Component, DACIA, Mobile
Related items