Code Mobility
Encyclopedia
In distributed computing
, code mobility is the ability for running program
s, 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 .
Code mobility can be either Strong or Weak:
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
, code mobility is the ability for running program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
s, codes or objects to be migrated
Data migration
Data migration is the process of transferring data between storage types, formats, or computer systems. Data migration is usually performed programmatically to achieve an automated migration, freeing up human resources from tedious tasks...
(or moved) from one machine (host) to another. This is the process of moving code across the nodes of a network
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
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 .
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 codeMachine codeMachine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...
, 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.