Code Mobility¶
The capability to transfer executable code, optionally with data and suspended execution state, between hosts or runtime environments so computation begins or continues at the destination.
Core Idea¶
Code mobility changes where computation is executed by moving the executable unit across a host or application boundary. Weak mobility transfers code and associated data but starts it at a defined destination entry point. Strong mobility additionally captures execution state—such as the control point and relevant runtime context—so the computation can resume rather than restart.
How would you explain it like I'm…
The Traveling Program
Programs That Move to Run
Migrating Executable Code
Scope of Application¶
- Code on demand. A client obtains executable code from a provider and starts it locally under a destination policy.
- Remote evaluation. A client ships code and data to execute near remote resources or services.
- Mobile agents. An encapsulated computation moves among hosts, with weak or strong state semantics.
- Process migration. A runtime checkpoints and resumes a running process on another compatible host.
Clarity¶
A mobility claim should list the executable unit, origin, destination, transferred data, transferred control state, dependencies, and restart or resume semantics. It should also distinguish logical mobility from implementation: a container image may move code and filesystem state without preserving a live instruction pointer, while a process checkpoint may preserve much more. The trust boundary is part of the design, not a separate afterthought.
Manages Complexity¶
Mobility can replace many application-specific remote operations with one general ability to relocate behavior. This can reduce network traffic or extend clients dynamically, but it transfers dependency management, resource accounting, and security to the destination. Packaging, sandboxing, capability restriction, and observable failure semantics are therefore part of making the abstraction usable at scale.
Abstract Reasoning¶
- Define the unit of computation and why relocation is preferable to moving data or invoking a service.
- Choose weak or strong mobility and specify exactly which data and execution state travel.
- Check architecture, runtime, library, identity, and resource compatibility at the destination.
- Authenticate the payload and grant only the capabilities needed for its declared task.
- Transfer, load, and start or resume under explicit failure and rollback rules.
Knowledge Transfer¶
Code mobility transfers across distributed runtimes when executable behavior itself crosses a boundary and runs at the destination. Shipping a machine-learning model, policy file, or query is code mobility only if the artifact has executable semantics in that system; passive data is not reclassified by metaphor. The more general place-computation-near-resources strategy can also be implemented without mobile code.
Neighborhood in Abstraction Space¶
Code Mobility sits in a moderately populated region (47th percentile for distinctiveness): it has near-neighbors but no dense thicket of look-alikes.
Family — Computer Systems & Network Architecture (20 abstractions)
Nearest neighbors
- Remote evaluation — 0.90
- Routing — 0.86
- Exit Status — 0.86
- Layered Queueing Network — 0.86
- Higher-Order Message — 0.86
Computed from structural-signature embeddings · 2026-10-08