Professional Documents
Culture Documents
CodeMigration (Mod 1)
CodeMigration (Mod 1)
CodeMigration (Mod 1)
Code migration has been around for sometime, but traditionally code
migration technologies could not agree on terms.
To understand code migration properly, we will go over some
standardized terms for code migration as defined by Fuggetta et al.
Code Migration Terminology
Strong Mobility
Described as the ability to transfer both the code segment and execution
state of the execution unit from one computational environment to another.
Weak Mobility
Described as the ability to transfer the code segment, but not the execution
state.
Typically, weak mobility applications have predefined starting positions
For example - Java Applets
Code Migration Terminology
Remote Cloning
is when a copy of the running execution unit is copied to another computational
environment while continuing execution on the original executional environment.
Code Migration Terminology
Types of resources:
Transferable
This type of resources can be transferred from one machine to another
Free or Fixed
Free resources can be easily moved from one machine to another. For example, data
files.
Fixed resources can be moved, but not easily. For example, moving a database can be
moved, but could slow performance.
Non-transferable
It is not possible to move this resource
For example, a local device such as a printer.
Resource Relocation and Binding
Reconfiguration
3 types of binding
Binding by identifier (strongest)
Execution units refer to resources by unique identifiers
Binding by identifier
Free transferable resource
It is best to move this type of resource with the execution unit. Otherwise, the
resource stays in the original computational environment, and the execution unit
will refer to the resource by a network reference. Network references are the
least desirable because the execution unit will be slowed due to network
problems.
Non-transferable
Can use network reference.
Resource Relocation and Binding
Reconfiguration
Binding by type
Best to use re-binding. Re-binding involves the execution unit removing the
original binding, moving to a new computational environment, and binding
to the same type of resource in the new computational environment.
Resource Relocation and Binding
Reconfiguration
Fre e Tra n sfe ra b le Fixe d Tra n sfe ra b le N on -t ra n sfe ra b le
By Id e n t ifie r By m oving (or by By netw ork reference By netw ork
netw ork reference) reference