Software Deployment and Mobility

advertisement
Software Deployment and
Mobility
Introduction
• Deployment is the placing of software on the
hardware where it is supposed to run.
• Redeployment / migration of software
components while the system is in operation
is mobility.
A Wireless Sensor Network System
Deployment and Mobility Challenges
•
•
•
•
•
•
•
Geographically Distributed hardware
Heterogeneity of hardware
Different configuration
Differing life span
Versioning
Partial mobility
Locating the hardware/software/service
Deployment Basic Concepts
• Software system is deployed on one or more
hardware devices called hosts or sites.
• Each site provides some resources.
• E.g. –
–
–
–
–
–
–
Hardware (Memory, CPU)
Network (Protocols and IP port numbers)
Peripheral Devices (hard disks and keyboard)
System Software (OS, drivers)
Other application level software (GUI builders, DB)
Data Resources (data files, GUIDs)
Deployment Basic Concepts contd.
• Software system consists of set of
components and connectors.
• Multiple versions of these components and
connectors may exist.
• Version is time-ordered revision, platformspecific revision or functional revision.
Deployment Activities
• Planning
• Modeling
• Analysis
• Implementation
Deployment Planning
• In planning stage we consider the behavior of the
system and statistics related to that behavior.
• System should ensure certain desired system
properties. ( QoS )
–
–
–
–
–
Dependability
Availability
Security
Fault-Tolerance
Durability , etc.
Planning Challenges
• Large no. of system parameters
• Conflicting service qualities (e.g. Security vs. Efficiency)
• Services & their QoS influence user’s
satisfaction
• Space of possible deployment architectures is
exponentially large.
– c components, h hosts -> hC possible
deployments.
Space of possible deployment
architectures
Dig : 1
Dig : 2
Example of Multiple Deployment
Choices over 2-QoS attributes
Deployment 1
1
2
3
4
5
6
Latency
Deployment 2
Deployment 3
Deployment 4
5
4
Durability
3
2
1
1
2
3
4
Latency
5
6
• Pareto Optimal Solution
• Better-Cheaper-Faster----Pick any two !
• Automated support for deployment modeling
and analysis.
Deployment Modeling
• Modeling Considerations
– Software system elements (components and connectors)
• Configuration of these elements
• Parameters
– Hardware system elements (host machines, network,
devices, controllers, etc.)
• Configuration
• Parameters
– Set of constraints placed on these elements and/or
parameters
– Formal definition of QoS dimensions of interest
Deployment Model
Deployment Analysis
• Putting efforts for Planning and Modeling is
worthwhile if the model is used efficiently for
deployment.
• Detailed analysis has to be done to ensure that.
– Are the shortlisted deployments valid ?
– Which one of them is the best ?
– Does it exhibit acceptable properties ? Or must an
even better deployment be found ?
– What is the best deployment possible for the given
system (Ranking of QoS)
Deployment Implementation
Software Deployment Issues
•
•
•
•
•
•
•
•
Change Management
Dependencies among Components
Coordination
Large-scale Content Delivery
Managing Heterogeneous Platforms
Deployment Process Changeability
Integration with the Internet
Security: Privacy, Authentication, and Integrity
Tool Support
• Functions of deployment tools
– Model
– Analyze
– Implement
– Monitor
– Update
DeSi
XTEAM
• Provides ADL extension for mobile systems
• Implements a set of dynamic analysis on top
of the model interpreter framework
• Model Interpreter framework allows the
architect to implement custom analysis
techniques without knowing details of
semantic mapping
XTEAM
XTEAM Deployment Model and
Analysis
Software Mobility
• Physical Mobility
• Code Mobility / Logical Mobility
– Stateful Mobility (Strong Mobility)
– Stateless Mobility (Weak Mobility)
• Code Paradigms
– Fixed Code Paradigm
• Client-Server
– Mobile Code Paradigm
Mobile Code Paradigms
• Remote Evaluation
Source Host
Destination Host
Knowhow
Resources
Destination Host
Source Host
Knowhow
Result
Resources
• Code-on-Demand
Destination Host
Source Host
Knowhow
Resources
Source Host
Destination Host
Knowhow
Result
Resources
• Mobile Agent
Host 1
Host 2
Knowhow
State
Resources 1
Destination Host
Knowhow
Resources 1
Resources 2
State
Architecture-based Dynamic
Adaptation Model
Key Aspects
• Planning (Top Part)
• Analysis (Top Part)
• implementation should never be modified
without understanding the architectural
implications of that modification (Bottom
Part)
Code Migration Challenges
Challenges
• Availability
• State Management
• Scheduling of migration
• Performance
• Locating code and resources
• Security threat
• Energy Consumption
Mobility
Deployment
Maintains State
No State
Downtime
Not running
Choosing time of migration to
maintain performance
Does not affect performance
Time constrained
Allows more planning and
analysis
Summary
• What is Deployment and Mobility ?
• Challenges
• Deployment Activities
– Planning, Modeling, Analysis & Implementation
• Tools Support
• Mobility
• Mobile Code Paradigm
– Remote evaluation, C-O-D, Mobile Agent
References
• A Characterization Framework for Software
Deployment Technologies
– Antonio Carzaniga, Alfonso Fuggetta, Richard S. Hall,
Dennis Heimbigner, Andre van der Hoek and Alexander L.
Wolf
• Software architecture and mobility A roadmap
–
Nenad Medvidovic, George Edwards
• An architecture-driven software mobility
framework
–
Sam Malek, George Edwards, Yuriy Brun, Hossein Tajalli,
Joshua Garcia, Ivo Krka, Nenad Medvidovic, Marija MikicRakic, Gaurav S. Sukhatme
Download