Code mobility

Code mobility

In distributed computing, code mobility is the ability for running programs, codes or objects to be migrated (or moved) from one machine (host) to another. This is the process of moving code across the nodes of a network as opposed to distributed computation where the data is moved. It is common practice in distributed systems to require the movement of code or processes between parts of the system, instead of data .[1]

Overview

The purpose of code mobility is to support sophisticated operations. For example a user A can send a running program to another user B and the program continues to run as if it was still on the original machine, without the need to restart the program on the recipient's machine.

Code mobility can be either Strong or Weak
  • Strong code mobility involves moving the code, data and the execution state from one host to another. This is important in cases where the running application needs to maintain its state as it migrates from host to host, such as time-critical applications.
  • Weak code mobility involves moving the code and the data only. This may necessitate restarting the execution of the program at the destination host.

References

  1. ^ Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). "Understanding Code Mobility". IEEE Transactions on Software Engineering (NJ, USA: IEEE Press Piscataway) 24 (5): 342–361. doi:10.1109/32.685258. ISSN 0098-5589. http://www2.computer.org/portal/web/csdl/abs/trans/ts/1998/05/e0342abs.htm. Retrieved 29 July 2009.