![Page 1: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/1.jpg)
Understanding Code Mobility
A Fuggetta, G P Picco and G Vigna
PresenterSamip Bararia
![Page 2: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/2.jpg)
Theme of this paper
Field is still immature Confusion with terminology
“mobile agents”
“Enable researchers and practitioners to asses and compare different solutions with respect to a common set of reference concepts and abstractions”
![Page 3: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/3.jpg)
Theme of this paper
Presents a framework to understand code mobility
3-dimensions discussed: Technologies Design paradigms Applications
![Page 4: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/4.jpg)
What is code mobility?
Code mobility is the capability to dynamically change the bindings between code fragments and the location where they are executed
Involves:a. Change in bindings dynamicallyb. Relocation of code
![Page 5: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/5.jpg)
Code Mobility
Network
Node A Node B
![Page 6: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/6.jpg)
Why Code Mobility?
Limitations and drawbacks with traditional approaches in large-scale distributed settings like the Internet
a. Scalability (growing size of network, network partitions)
b. Customizability (tailor functionality to specific needs)
c. Flexibility (dynamic nature of comm. infrastructure)
d. Extensibility (to add new features)
![Page 7: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/7.jpg)
Advent of MCSs
MCS: Mobile Code Systems Idea taken from process migration
techniques used in distributed operating systems like:
a. Locusb. Emeraldc. COOL (Chorus)
![Page 8: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/8.jpg)
Innovations of MCSs
Code mobility is exploited on Internet-scale Programming is location aware Mobility is under programmer’s control Mobility is not performed just for load
balancing- service customization- extensibility- autonomy fault-tolerance- support for disconnected operations
![Page 9: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/9.jpg)
3 Dimensional classification
Application Domains Applications that share same general role E-commerce, distributed information retrieval
Technologies Languages and systems that facilitate code mobility
Design Paradigms Identify specific configuration of components and their interaction
Classes ofApplications
Mechanisms or Technologies
Architectural Styles E.g. CS, P2P, etc
![Page 10: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/10.jpg)
Mobile Code Technologies
Traditional Systems (e.g. CORBA)
![Page 11: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/11.jpg)
Mobile Code Technologies
Mobile Code Systems
![Page 12: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/12.jpg)
Comparison
Traditional SystemsTrue Distributed System (TDS) provide network transparencyDistributed components are perceived as local
MCSs Computational Environments (CE)Underlying structure of the network is made manifest to the users. Provides capability to relocate code dynamically
Execution units (EU) Resources
![Page 13: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/13.jpg)
Components of CE
Execution Units (Threads)
Resources (Files, operating system variable)
![Page 14: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/14.jpg)
Classification of Mobility Mechanisms
Code and Execution State Mobility
Strong mobilitySupported by: migration and remote cloning
Weak mobilitySupported by: Code shipping and Code Fetching
![Page 15: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/15.jpg)
![Page 16: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/16.jpg)
Data Space Management
Data Space ManagementUpon migration of an EU to a new CE:
The set of bindings to resources accessible by the EU must be rearranged
Resources can be bound to an EU through 3 forms of binding: By identifier (strongest) By value By type (weakest)
![Page 17: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/17.jpg)
Bindings, Resources, DS Mgmt
![Page 18: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/18.jpg)
DS Management Mechanisms
![Page 19: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/19.jpg)
DS Management Mechanisms
![Page 20: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/20.jpg)
DS Management Mechanisms
![Page 21: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/21.jpg)
Survey of MC Technologies
Technology Abstraction terminology Mobility MechanismsAra EU – Agents
CE – PlaceStrong (proactive migration)
Facile EU – ThreadsCE – Nodescommunication abstraction: “Channel”
Strong and weak mobility
Java JVM – CE Weak mobility (No DS Mgmt)
Java Aglets CE – Context Dispatch – code shippingRetract – code fetching
M0 EU – MessengersCE - Platforms
Shipping of stand-alone code only
Mole EU – MoleCE - Place
Shipping of stand-alone code
![Page 22: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/22.jpg)
Obliq CE – Execution enginesEU – Thread
Weak mobility – shipping of code
Safe-Tcl No terminology email
Sumatra CE – Execution enginesEU – Java Threads
Weak and Strong mobilityproactive migration, remote cloning, shipping
TACOMA EU – Agents(Unix processes)
Code shipping of stand-alone code
Telescript CE – EnginesEU – Places and Agents
Proactive migration and remote cloning
![Page 23: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/23.jpg)
Design Paradigms
Define architectural abstractions and reference structures that may be instantiated into actual software architectures.
Architectural Concepts:a. Components (know-how, resource and computational components)b. Interactions (communication between components)c. Sites (host components/location)
![Page 24: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/24.jpg)
Design Paradigms
Major design paradigms
a. Client/Server (CS)b. Remote Evaluation (REV)c. Code on Demand (COD)d. Mobile Agent (MA)
![Page 25: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/25.jpg)
Mobile Code Paradigms
![Page 26: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/26.jpg)
Benefits of Mobile Code
Service Customization Supports last phase of software development
Deployment and maintenance (in distributed systems – to upgrade or add a new feature)
Autonomy of application components Fault-tolerance Data management flexibility and protocol
encapsulation
![Page 27: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/27.jpg)
Mobile Code Applications
Distributed Information Retrieval Active Documents Advanced Telecommunication Services
(video conferencing, video on demand) Remote Device Control and Configuration Workflow management and Cooperation Active networks E-Commerce
![Page 28: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/28.jpg)
Conclusions
Code mobility is a promising solution for design and implementation of large-scale distributed systems
However, field is still immature We need to improve our understanding of the
properties and weaknesses of existing design paradigms
![Page 29: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/29.jpg)
Strengths
Papers sticks to its theme Provides a conceptual framework for understanding code mobility
Provides a case study to guide software engineers through the design and implementation phases of application development
![Page 30: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia](https://reader035.vdocuments.us/reader035/viewer/2022070401/56649f1d5503460f94c34538/html5/thumbnails/30.jpg)
Weaknesses
Lacks motivation! Too many new terminologies introduced in
one paper I was not too satisfied with the mobile code
application section
The authors are very “hopeful” that code mobility can help these applications
No explained examples