This thorough survey first defines process migration and describes its fundamental terms, features, characteristics, and goals. Examples are given from historical systems, Unix-like systems, message passing systems, microkernels, user and application specific migration, and mobile objects and agents. Four case studies cover MOSIX, Sprite, Mach, and LSF (Load Sharing Facility). These case studies are compared and contrasted with some of the other examples. Several useful tables compare the systems’ main characteristics, transparency of migration, data transfer strategies, and other attributes. The comparisons are mostly qualitative, though some quantitative information is sprinkled through the text. Consolidating this into tables would have been helpful. An extensive list of over 250 references is included. Overall this is a valuable introduction, summary and comparison for researchers, students, or developers.
Why hasn’t process migration been more successful? In the weakest section of the paper, the authors blame four misconceptions: complexity, unacceptable costs, lack of support for transparency and lack of support for heterogeneity. Yet they admit that many successful implementations illustrate these “misconceptions". Although solutions exist to these problems, they offer no system that has integrated these solutions. Moreover there are other problems which the authors claim as “true” problems: no applications need process migration, no commercial systems support it, and few users will allow remote processes on their machine. One good reason for that--security--is not discussed for any of the systems. The authors’ view of the future of process migration thus seems overly optimistic.