1 / 30

Understanding Code Mobility

Understanding Code Mobility. A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia. Theme of this paper. Field is still immature Confusion with terminology  “mobile agents”

kaya
Download Presentation

Understanding Code Mobility

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 dynamicallyb. Relocation of code

  5. Network Node A Node B Code Mobility

  6. Why Code Mobility? • Limitations and drawbacks with traditional approaches in large-scale distributed settings like the Interneta. 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. Locusb. Emeraldc. 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. Classes of Applications Mechanisms or Technologies Architectural Styles E.g. CS, P2P, etc 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

  10. Mobile Code Technologies • Traditional Systems (e.g. CORBA)

  11. Mobile Code Technologies • Mobile Code Systems

  12. Comparison • Traditional SystemsTrue Distributed System (TDS) provide network transparencyDistributed components are perceived as local • MCSsComputational 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 mobilitySupported by: migration and remote cloning Weak mobilitySupported by: Code shipping and Code Fetching

  15. 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 rearrangedResources can be bound to an EU through 3 forms of binding: By identifier (strongest) By value By type (weakest)

  16. Bindings, Resources, DS Mgmt

  17. DS Management Mechanisms

  18. DS Management Mechanisms

  19. DS Management Mechanisms

  20. Survey of MC Technologies

  21. 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)

  22. Design Paradigms • Major design paradigmsa. Client/Server (CS)b. Remote Evaluation (REV)c. Code on Demand (COD)d. Mobile Agent (MA)

  23. Mobile Code Paradigms

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

More Related