software deployment and mobility. introduction deployment is the placing of software on the hardware...
TRANSCRIPT
![Page 1: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/1.jpg)
Software Deployment and Mobility
![Page 2: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/2.jpg)
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.
![Page 3: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/3.jpg)
A Wireless Sensor Network System
![Page 4: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/4.jpg)
Deployment and Mobility Challenges
• Geographically Distributed hardware• Heterogeneity of hardware• Different configuration• Differing life span• Versioning• Partial mobility• Locating the hardware/software/service
![Page 5: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/5.jpg)
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)
![Page 6: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/6.jpg)
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, platform-specific revision or functional revision.
![Page 7: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/7.jpg)
Deployment Activities
• Planning
• Modeling
• Analysis
• Implementation
![Page 8: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/8.jpg)
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.
![Page 9: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/9.jpg)
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.
![Page 10: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/10.jpg)
Space of possible deployment architectures
Dig : 1
Dig : 2
![Page 11: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/11.jpg)
Example of Multiple Deployment Choices over 2-QoS attributes
Latency
Durability
1
5
4
3
2
1 5 4 3 2 6
Deployment 1
Deployment 2
Deployment 3
Deployment 4
Latency
1 5 4 3 2 6
![Page 12: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/12.jpg)
• Pareto Optimal Solution
• Better-Cheaper-Faster----Pick any two !
• Automated support for deployment modeling and analysis.
![Page 13: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/13.jpg)
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
![Page 14: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/14.jpg)
Deployment Model
![Page 15: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/15.jpg)
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)
![Page 16: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/16.jpg)
Deployment Implementation
![Page 17: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/17.jpg)
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
![Page 18: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/18.jpg)
Tool Support
• Functions of deployment tools– Model
– Analyze
– Implement
– Monitor
– Update
![Page 19: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/19.jpg)
DeSi
![Page 20: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/20.jpg)
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
![Page 21: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/21.jpg)
XTEAM
![Page 22: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/22.jpg)
XTEAM Deployment Model and Analysis
![Page 23: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/23.jpg)
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
![Page 24: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/24.jpg)
Mobile Code Paradigms
• Remote EvaluationSource Host Destination Host
Know-how Resources
Destination Host
Source Host
Result
Know-how
Resources
![Page 25: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/25.jpg)
• Code-on-Demand
Destination Host Source Host
Know-how Resources
Source Host
Destination Host
Result
Know-how
Resources
![Page 26: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/26.jpg)
• Mobile AgentHost 1
Host 2
Destination Host
Know-how
Resources 1
Resources 2
State
State
Know-how
Resources 1
![Page 27: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/27.jpg)
Architecture-based Dynamic Adaptation Model
![Page 28: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/28.jpg)
Key Aspects
• Planning (Top Part)• Analysis (Top Part)• implementation should never be modified
without understanding the architectural implications of that modification (Bottom Part)
![Page 29: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/29.jpg)
Code Migration Challenges
![Page 30: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/30.jpg)
Challenges• Availability
• State Management
• Scheduling of migration
• Performance
• Locating code and resources
• Security threat
• Energy Consumption
![Page 31: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/31.jpg)
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
![Page 32: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/32.jpg)
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
![Page 33: Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration](https://reader036.vdocument.in/reader036/viewer/2022081520/5697bf7a1a28abf838c8326b/html5/thumbnails/33.jpg)
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 Mikic-Rakic, Gaurav S. Sukhatme