Presentation is loading. Please wait.

Presentation is loading. Please wait.

Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.

Similar presentations


Presentation on theme: "Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia."— Presentation transcript:

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

15

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

19

20

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


Download ppt "Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia."

Similar presentations


Ads by Google