Technical Report Number
The term distributed computing conjures the image of a fixed network structure whose nodes support the execution of processes that communicate with each other via messages traveling along links. Peer-to-peer communication is feasible but client-server relationships dominate. More recently, servers have been augmented with brokerage capabilities to facilitate discovery of available services. Stability is the ideal mode of operation; changes are relatively slow; even in the case of failure, nodes and links are expected eventually to come back up. By contrast, mobility represents a total meltdown of all the stability assumptions (explicit or implicit) associated with distributed computing. The network structure is no longer fixed, nodes may come and go, processes may move along nodes, and even programs (the code executed by processes) may evolve and change structure. The challenges and opportunities associated with this computational melee form the main subject of this paper. We seek to sort out this chaotic form of computing by focusing our attention on the formulation of a simple framework for vieweing mobility, on precise definition of terms, and on research issues mobility poses for the software engineering community.
Roman, Gruia-Catalin; Picco, Gian Pietro; and Murphy, Amy L., "Software Engineering for Mobility: A Roadmap" Report Number: WUCS-99-31 (1999). All Computer Science and Engineering Research.