Code mobility

In distributed computing, code mobility is the ability for running programs, code or objects to be migrated (or moved) from one machine or application to another.[1] 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]

Examples of code mobility include scripts downloaded over a network (for example JavaScript, VBScript), Java applets, ActiveX controls, Flash animations, Shockwave movies (and Xtras), and macros embedded within Microsoft Office documents.[2]

Overview

The purpose of code mobility is to support sophisticated operations. For example an application can send an object to another machine, and the object can resume executing inside the application on the remote machine with the same state as it had in the originating application.

According to Alfonso Fuggetta, Gian Pietro Picco, Giovanni Vigna, code mobility can be either Strong or Weak:[1]

Several paradigms, or architectural styles, exist within code mobility
[1]

Implementations

Within code mobility, the Mobile Agent paradigm has conventionally attracted the most interest and research,[3] however some recent work has produced general purpose implementations.[4]

Mobile agent frameworks
General purpose

See also

References

  1. 1 2 3 4 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. Retrieved 29 July 2009.
  2. Dr Lawrie Brown. "Mobile Code Security". Australian Defence Force Academy. Retrieved April 23, 2012.
  3. Carzaniga, Antonio; Gian Pietro Picco; Giovanni Vigna (2007). "Is Code Still Moving Around? Looking Back at a Decade of Code Mobility". ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering (Washington, DC, USA: IEEE Computer Society): 9–20. doi:10.1109/ICSECOMPANION.2007.44.
  4. 1 2 "Mobility-RPC - Seamless Code Mobility and RPC for the Java platform". Retrieved 15 June 2012.
  5. "Mobile-C: a Multi-Agent Platform for Mobile C/C++ Agents". Retrieved 15 June 2012.
This article is issued from Wikipedia - version of the Thursday, March 24, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.