understanding code mobility a fuggetta, g p picco and g vigna presenter samip bararia

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

Upload: miles-stevenson

Post on 04-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

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

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

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

Code Mobility

Network

Node A Node B

Page 6: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

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

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

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

Mobile Code Technologies

Traditional Systems (e.g. CORBA)

Page 11: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

Mobile Code Technologies

Mobile Code Systems

Page 12: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

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

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
Page 16: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

Bindings, Resources, DS Mgmt

Page 18: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

DS Management Mechanisms

Page 19: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

DS Management Mechanisms

Page 20: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

DS Management Mechanisms

Page 21: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

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

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

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

Mobile Code Paradigms

Page 26: Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia

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

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

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

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

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