understanding code mobility l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Understanding Code Mobility PowerPoint Presentation
Download Presentation
Understanding Code Mobility

Loading in 2 Seconds...

play fullscreen
1 / 43

Understanding Code Mobility - PowerPoint PPT Presentation


  • 355 Views
  • Uploaded on

Understanding Code Mobility Sachin Chouksey H. Qiu Xiong Distributed Applications Problems with traditional approaches Technologies,architectures,methodologies. Large scale distributed settings. Fail to provide Configurability Scalability Customizability Code Mobility

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Understanding Code Mobility' - libitha


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
understanding code mobility

Understanding Code Mobility

Sachin Chouksey H. Qiu

Xiong

distributed applications
Distributed Applications
  • Problems with traditional approaches
    • Technologies,architectures,methodologies.
  • Large scale distributed settings.
  • Fail to provide
    • Configurability
    • Scalability
    • Customizability
code mobility
Code Mobility
  • An emerging research field.
  • However
    • Lack of standard terms and concepts.
    • Difficult to assess and compare existing approaches.
  • Paper presents conceptual framework.
  • Classification
    • Technologies
    • Design Paradigms
    • Applications.
development environment
Development Environment
  • Computer Networks
    • Increasing size and performance
    • Pervasive
    • Ubiquitous
  • Mobile computing
  • World Wide Web
problems
Problems
  • Size of Networks (Scalability)
  • Wireless Connectivity
    • Dynamic topologies
  • Large scale diffusion into society
    • Customizability
    • Flexibility
    • Extensibility
  • Current proposed Approaches
similar approaches
Similar Approaches
  • Remote Job submission
  • Process Migration
  • Object Migration

BUT THESE DO NOT SCALE

how is code mobility different
How is code mobility different ?
  • Internet-scale
  • Location Aware
  • Programmer controlled mobility
  • Mobility for
    • Load Balancing
    • Service Customization
    • Dynamic extension and application functionality
    • Autonomy
    • Fault tolerance
    • Disconnected Operation
3d classification
3D Classification
  • Technologies
    • Languages & systems that provide mechanisms
    • Used in implementation stage by developer
  • Design Paradigms
    • Architectural styles used
    • C2, P2P, Client-Server
  • Application Domains
    • Classes of applications
    • E-Commerce, Distributed information retrieval
mobile code technologies
Mobile Code Technologies
  • Traditional Distributed System Layers
    • Core Operating System
    • Network Operating System
    • True Distributed System
  • For Code Mobility
    • Computational Environments (CE)
    • CE retains identity of the host
    • Dynamically relocate components on different hosts
    • CE hosts Execution units (EUs) and resources
mobility mechanisms
Mobility Mechanisms
  • EU = Code Segment + Execution State + Data Segment
  • EU moves from CE to CE
  • Orthogonal mechanisms
    • Code and execution state mobility
    • Data space management
code and execution state mobility
Code and Execution State Mobility
  • Strong mobility
    • Migration
      • Proactive / Reactive
    • Remote cloning
  • Weak mobility
    • Fetch / Ship
    • Stand alone code / code fragment
    • Synchronous / Asynchronous
data space management
Data Space Management
  • Rearrange EU-Resource bindings after migration
  • Resource = <I,V,T>
  • Bindings
    • By Identifier
    • By Value
    • By Type
  • Bindings constrain the data space management mechanisms
    • Resource Relocation
    • Binding reconfiguration
current mobile code technologies
Agent Tcl

Ara

Facile

Java

Java Aglets

M0

Mole

Obliq

Safe-Tcl

Sumatra

TACOMA

Telescript

Current Mobile Code Technologies
design paradigms
Design Paradigms
  • Design paradigms, or architectural styles, define architectural abstractions and reference structures that may be instantiated into actual software architectures
why design paradigms
Why Design Paradigms?
  • The goal of design is the creation of a software architecture, which can be defined as the decomposition of a software system in terms of software components and interactions among them
  • Software architectures with similar characteristics can be represented by design paradigms
describe design paradigms
Describe Design Paradigms
  • Design paradigms are described in terms of interaction patterns that define the relocation of and coordination among the components needed to perform a service
components
Components
  • Components are the constituents of a software architecture.
  • They can be further divided into:
  • Code components
  • Resource components
  • Computational components
interactions
Interactions
  • Interactions are events that involve two or more components, e.g., a message exchanged among two computational components
sites
Sites
  • Sites host components and support the execution of computational components
  • A site represents the intuitive notion of location
design paradigms20
Design Paradigms
  • Client-Server (CS)
  • Remote Evaluation (REV)
  • Code on Demand (COD)
  • Mobile agent (MA)
outline
Outline
  • Add the 1st person’s
  • Design Paradigms
  • Add the 3d person’s
design paradigms23
Design Paradigms
  • Design paradigms, or architectural styles, define architectural abstractions and reference structures that may be instantiated into actual software architectures
why design paradigms24
Why Design Paradigms?
  • The goal of design is the creation of a software architecture, which can be defined as the decomposition of a software system in terms of software components and interactions among them
  • Software architectures with similar characteristics can be represented by design paradigms
describe design paradigms25
Describe Design Paradigms
  • Design paradigms are described in terms of interaction patterns that define the relocation of and coordination among the components needed to perform a service
components26
Components
  • Components are the constituents of a software architecture.
  • They can be further divided into:
  • Code components
  • Resource components
  • Computational components
interactions27
Interactions
  • Interactions are events that involve two or more components, e.g., a message exchanged among two computational components
sites28
Sites
  • Sites host components and support the execution of computational components
  • A site represents the intuitive notion of location
design paradigms29
Design Paradigms
  • Client-Server (CS)
  • Remote Evaluation (REV)
  • Code on Demand (COD)
  • Mobile agent (MA)
mobile code applications 1
Mobile Code Applications(1)
  • They are still immature and lack of suitable methodologies.
  • The benefits of mobile code are appealing.(Mobile agent systems, Internet agents)
  • It is important to distinguish the implementation process and the paradigm.
mobile code applications 2
Mobile Code Applications(2)

Benefits:

1. Service Customization- The interfaces or services are are not statically defined.

2. Supporting more flexible software deployment and maintenance.

3. Automatic software upgrade without human interaction on the client side.

mobile code applications 3
Mobile Code Applications(3)

Benefits:

4. Autonomy of application components.

- heterogeneous communication infrastructure complexes the network and requires autonomic design.

Two solutions:

Or put more operations on the clients

Put more operations on the server

mobile code applications 4
Mobile Code Applications(4)

Benefits:

5. The fault tolerance is much improved in Mobile code than the conventional client-server system.

6. A new protocol is needed to enhance the code migration among distributed systems.

7. Date management flexibility and protocol encapsulation.

mobile code applications 5
Mobile Code Applications(5)

Application Domains for Mobile Code

  • Distributed Information Retrieval
  • Active Documents
  • Advanced Telecommunication Services
  • Remote Device Control and Configuration
  • Workflow Management and Cooperation
  • Active Networks
  • Electronic Commerce
a case study in network management 1
A Case Study In Network Management (1)
  • Determine if mobile code is suitable for the specific application first.
  • Identify the corresponding paradigms.
  • Analyze the tradeoff for each application functionality.
  • Select the technology to implement the application according to the tradeoff.
a case study in network management 2
A Case Study In Network Management (2)

The network congestion traffic problem:

1. The problem to solve: Decentralizing Network Traffic

-Both SNMP and CMIP are inefficient while the network heavy congestion.

- Some modifications have been made to solve the problem, such as the SNMPv2 with the proxy agents and the Remote Monitoring.

a case study in network management 3
A Case Study In Network Management (3)

2. Identifying the Design Paradigms

-REV paradigm can be used, which will pack up all the SNMP operations and send them on the device for the local interaction.

-Only the useful target value will be sent back after execution.

-The capability to retain the state across several hops will also make the whole system more autonomic.

a case study in network management 4
A Case Study In Network Management (4)

3. Evaluating the Design Tradeoffs

(details will not be discussed)

-The mobile code is only convenient when a set of SNMP instructions can be “packed” efficiently into mobile code.

-The choice of the paradigm is constrained by the actual values for the parameters of the application.

a case study in network management 5
A Case Study In Network Management (5)

Choosing the Implementation Technology

-In principle, design paradigms and implementation are orthogonal. Sometimes, they are different.

-We also have to think about the global application development when we implement a given functionality inside it.

summary and conclusions
Summary and Conclusions
  • Mobile code is a promising solution for the design and implementation of large scale distributed applications
  • Little attention has been paid to the formulation of a sound conceptual framework for code mobility
  • Three classes of concepts in a proposed conceptual framework: applications, design paradigms and technologies
strengths and weaknesses
Strengths and Weaknesses
  • Systematically presenting knowledge about code mobility: motivations, concepts, principles, approaches, technologies, etc., therefore, providing a complete image
  • Expounding is vivid with metaphor
relevance to embedded systems
Relevance to Embedded Systems
  • Many embedded systems are resource-constrained
  • Requirements to them are higher and higher
  • Code mobility technology providing a possible solution
  • Many embedded systems are real-time systems that can not be stopped to do operations such as update