Download presentation
Presentation is loading. Please wait.
Published byMiles Stevenson Modified over 9 years ago
1
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia
2
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”
3
Theme of this paper Presents a framework to understand code mobility 3-dimensions discussed: Technologies Design paradigms Applications
4
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 dynamically b. Relocation of code
5
Code Mobility Network Node ANode B
6
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)
7
Advent of MCSs MCS: Mobile Code Systems Idea taken from process migration techniques used in distributed operating systems like: a. Locus b. Emerald c. COOL (Chorus)
8
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
9
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 I dentify specific configuration of components and their interaction Classes of Applications Mechanisms or Technologies Architectural Styles E.g. CS, P2P, etc
10
Mobile Code Technologies Traditional Systems (e.g. CORBA)
11
Mobile Code Technologies Mobile Code Systems
12
Comparison Traditional Systems True Distributed System (TDS) provide network transparency Distributed 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
13
Components of CE Execution Units (Threads) Resources (Files, operating system variable)
14
Classification of Mobility Mechanisms Code and Execution State Mobility Strong mobility Supported by: migration and remote cloning Weak mobility Supported by: Code shipping and Code Fetching
16
Data Space Management Data Space Management Upon 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)
17
Bindings, Resources, DS Mgmt
18
DS Management Mechanisms
21
Survey of MC Technologies TechnologyAbstraction terminologyMobility Mechanisms AraEU – Agents CE – Place Strong (proactive migration) FacileEU – Threads CE – Nodes communication abstraction: “Channel” Strong and weak mobility JavaJVM – CEWeak mobility (No DS Mgmt) Java AgletsCE – ContextDispatch – code shipping Retract – code fetching M0EU – Messengers CE - Platforms Shipping of stand-alone code only MoleEU – Mole CE - Place Shipping of stand-alone code
22
ObliqCE – Execution engines EU – Thread Weak mobility – shipping of code Safe-TclNo terminologyemail SumatraCE – Execution engines EU – Java Threads Weak and Strong mobility proactive migration, remote cloning, shipping TACOMAEU – Agents (Unix processes) Code shipping of stand- alone code TelescriptCE – Engines EU – Places and Agents Proactive migration and remote cloning
23
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)
24
Design Paradigms Major design paradigms a. Client/Server (CS) b. Remote Evaluation (REV) c. Code on Demand (COD) d. Mobile Agent (MA)
25
Mobile Code Paradigms
26
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
27
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
28
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
29
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
30
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.