Deployment and Mobility Software Architecture Lecture 22
What Are Deployment and Mobility?  Deployment  is the process of placement of a system’s software components on its hardware hosts Changing the deployment of a component during runtime is called  migration   or  redeployment Migration or redeployment is a type of software system  mobility Mobility entails a superset of deployment issues
Deployment and Mobility Challenges Widely distributed target processors Target processors embedded inside heterogeneous devices Different software components may require different hardware configurations System lifespans may stretch over decades Software system evolution is continuous (requiring redeployment) Mobile code may mandate that  running ,  stateful   components be redeployed
Software Architecture and Deployment A system is deployed to a set of  hosts  or  sites  Each site provides a set of  resources  needed by the system’s components Hardware Network Peripheral devices System software  Other application software Data resources Resources may be  exclusive  or  sharable
How Is Deployment Changing ? Then Complete Installation procedure for software system on CD ROM Entire software system installation Now Software producers and consumers cooperating and negotiating. “ Update” of Software Systems All this because of high connectivity
Deployment, Architecture, and Quality of Service Deployment Architecture : allocation of s/w components to h/w hosts  h c  deployment architectures are possible for a given system Many provide the same functionality Provide different qualities of service (QoS)
Deployment Activities Planning Modeling Analysis Implementation
Deployment Planning How do we  find  and  effect  a deployment architecture  that improves multiple QoS dimensions? Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Scenario with a Single QoS Dimension Objective is to minimize latency The  optimal  deployment architecture is deployment 1 Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Conflicting QoS Dimensions Objective is to minimize latency and maximize durability There is no optimal deployment architecture! Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Resolving Trade-Offs between QoS Dimensions Allows expression of optimization in terms of a single scalar value A  utility function  denotes a user’s preferences for a given rate of improvement in a QoS dimension Guiding Insight System users have varying QoS preferences for the system services they access
A Slightly Larger Scenario   Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Deployment Modeling Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Modeling Architectural Elements Define sets that specify system elements and their properties Set C of software components C = {ResourcesMap, SendMessage, Display, …} Set CP of software component properties CP = {size, reliability, …} Other sets H of hardware nodes, N of network links, I of logical links, S of services, Q of QoS, U of users HP  of hardware params, NP of network link params, CP of software component params, IP of logical link params Define functions that quantify system properties Function  cParam:C ×CP->R cParam(ResourcesMap, size) = 150 Other functions hParam,  nParam,  IParam, sParam
Modeling QoS Dimensions Define QoS functions qValue:S ×Q×DepSpace -> R   quantifies the achieved level of QoS given a deployment qValue(Schedule, Latency, Dep 1) = 1ms Define users’ preferences in terms of utility qUtil:U × S ×Q×R -> [MinUtil,MaxUtil]  represents the accrued utility for given rate of change qUtil(Commander, Schedule, Latency, 0.25) = -1
Modeling System Constraints A set PC of parameter constraints PC={memory, bandwidth,…} A function  pcSatisfied:PC × DepSpace  -> [0,1] 1 if constraint is satisfied 0 if constraint is not satisfied Functions that restrict locations of s/w components loc:C × H  -> [0,1] loc(c,h)=1 if c can be deployed on h loc(c,h)=0 if c cannot be deployed on h colloc:C× C  -> [-1,1] colloc(c1,c2)=1 if c1 has to be on the same host as c2 colloc(c1,c2)=-1 if c1 cannot be on the same host as c2 colloc(c1,c2)=0 if there are no restrictions
Deployment Analysis Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.   Are both deployments valid?  Which of the two deployments is “better”? Does the selected deployment have required properties?
Deployment Analysis Strategies Different strategies with different strengths Most of them offer approximate solutions Mixed Integer Non-linear Programming (MINLP) Mixed Integer Linear Programming (MIP) Heuristic-based strategies Greedy Genetic Decentralized
Deployment Implementation Release Install Activate Deactivate Update Adapt Reconfigure De-install or remove De-release or retire
Software Deployment Life Cycle Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Deployment Tool Support – An Example Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Mobility Mobile computing  involves the movement of human users together with their hosts across different physical locations This is also referred to as  physical mobility Movement of software across hardware hosts during the system’s execution, that action is referred to as  code mobility  or  logical mobility If a software module that needs to be migrated contains runtime state, then the module’s migration is known as  stateful mobility If only the code needs to be migrated, that is known as  stateless mobility
Mobility Paradigms Remote evaluation Re-deploy needed component at runtime from a source host to a destination host Install component on the destination host Ensure that the system’s architectural configuration and any architectural constraints are preserved Activate the component Executed the component to provide the desired service Possibly de-activate and de-install Code-on-demand Same as remote evaluation, but roles of target and destination hosts are reversed Mobile agent Migration of a stateful software component that needs some remote resources to complete its task
Mobility and Quality of Service Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Closing Thoughts It may be impractical or unacceptable to bring systems down for upgrades (Re)deployment is thus necessary Architecture as a set of  principal   design decisions naturally encompasses (re)deployment Maintaining the relationship between architectural model and implementation stems degradation

More Related Content

PPTX
Open Source Licences
PPTX
Cloud Security
PPT
Webservices
PPTX
Software Quality assurance.pptx
PPTX
Hardware virtualization basic
PPTX
Web casting
PPT
Network Security
PPTX
Hypertext, hypermedia and multimedia
Open Source Licences
Cloud Security
Webservices
Software Quality assurance.pptx
Hardware virtualization basic
Web casting
Network Security
Hypertext, hypermedia and multimedia

What's hot (20)

PPT
Virtualization in cloud computing ppt
PPTX
Ppt on audio file formats
PDF
Joint Application Development
PPTX
Distributed System - Security
PPTX
Chapter 10 designing and producing Multimedia
PPTX
Unified process model
PDF
Lecture5 virtualization
PPTX
An introduction to DevOps
PPTX
Software quality assurance
PPTX
EDR(End Point Detection And Response).pptx
PDF
امتحان المديول الأول ICT من كورس ICDL v5
PPTX
Hypervisor
PPT
DDoS Attack PPT by Nitin Bisht
PPTX
Software Engineering Layered Technology Software Process Framework
PPT
Ch03-Software Engineering Model
PPT
Virtualization
PPT
Chapter 7 : MAKING MULTIMEDIA
PPTX
Android Operating System
PPT
Software Engineering (Software Process: A Generic View)
Virtualization in cloud computing ppt
Ppt on audio file formats
Joint Application Development
Distributed System - Security
Chapter 10 designing and producing Multimedia
Unified process model
Lecture5 virtualization
An introduction to DevOps
Software quality assurance
EDR(End Point Detection And Response).pptx
امتحان المديول الأول ICT من كورس ICDL v5
Hypervisor
DDoS Attack PPT by Nitin Bisht
Software Engineering Layered Technology Software Process Framework
Ch03-Software Engineering Model
Virtualization
Chapter 7 : MAKING MULTIMEDIA
Android Operating System
Software Engineering (Software Process: A Generic View)
Ad

Viewers also liked (20)

PPT
24 dssa and_product_lines
PPT
19 designing for_nf_ps
PPT
20 nfp design_techniques
POT
Tmd template-sand
PPT
21 security and_trust
PDF
PDF
PPT
25 architectural adaptation
PPT
23 intro to_dsse
PDF
2 - Architetture Software - Software architecture
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
PDF
4 - Architetture Software - Architecture Portfolio
PDF
4 (uml basic)
PDF
10 - Architetture Software - More architectural styles
PPT
26 standards
PDF
1 - Architetture Software - Software as a product
24 dssa and_product_lines
19 designing for_nf_ps
20 nfp design_techniques
Tmd template-sand
21 security and_trust
25 architectural adaptation
23 intro to_dsse
2 - Architetture Software - Software architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
4 - Architetture Software - Architecture Portfolio
4 (uml basic)
10 - Architetture Software - More architectural styles
26 standards
1 - Architetture Software - Software as a product
Ad

Similar to 22 deployment and_mobility (20)

PPT
03 basic concepts
PPT
14 analysis techniques
PPT
02 architectures in_context
PPTX
App Arch Guide (Dons)
PPT
Code mobility
PPT
02_Architectures_In_Context.ppt
PDF
Lecture-2-Architectural_Concepts.pdf
PPT
13 analysis of_software_architectures
PDF
Software architecture for developers
PDF
Software architect - roles & responsabilities
DOCX
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
PDF
Designing Distributed Applications with Mobile Code Paradigms
PDF
Lecture-1-Introduction.pdf
PPT
18 applied architectures_part_2
PDF
UW Presentation - Architecture Trade-off Analysis Method
PPTX
Power point for project
PDF
XP-Manchester 2013 Software Architecture for Agile Developers Intro
PPT
Analysis of software architectures
PPTX
N-tier and oop - moving across technologies
PPT
Architectural Principles for Software + Services
03 basic concepts
14 analysis techniques
02 architectures in_context
App Arch Guide (Dons)
Code mobility
02_Architectures_In_Context.ppt
Lecture-2-Architectural_Concepts.pdf
13 analysis of_software_architectures
Software architecture for developers
Software architect - roles & responsabilities
1Lesson 5.3UML Deployment DiagramsLesson 5.2Distribu.docx
Designing Distributed Applications with Mobile Code Paradigms
Lecture-1-Introduction.pdf
18 applied architectures_part_2
UW Presentation - Architecture Trade-off Analysis Method
Power point for project
XP-Manchester 2013 Software Architecture for Agile Developers Intro
Analysis of software architectures
N-tier and oop - moving across technologies
Architectural Principles for Software + Services

More from Majong DevJfu (9)

PDF
9 - Architetture Software - SOA Cloud
PDF
8 - Architetture Software - Architecture centric processes
PDF
7 - Architetture Software - Software product line
PDF
6 - Architetture Software - Model transformation
PDF
3 - Architetture Software - Architectural styles
PPT
17 applied architectures
PPT
16 implementation techniques
PPT
15 implementing architectures
9 - Architetture Software - SOA Cloud
8 - Architetture Software - Architecture centric processes
7 - Architetture Software - Software product line
6 - Architetture Software - Model transformation
3 - Architetture Software - Architectural styles
17 applied architectures
16 implementation techniques
15 implementing architectures

Recently uploaded (20)

PPTX
Training Program for knowledge in solar cell and solar industry
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Consumable AI The What, Why & How for Small Teams.pdf
DOCX
search engine optimization ppt fir known well about this
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Five Habits of High-Impact Board Members
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
TEXTILE technology diploma scope and career opportunities
Training Program for knowledge in solar cell and solar industry
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
OpenACC and Open Hackathons Monthly Highlights July 2025
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
sustainability-14-14877-v2.pddhzftheheeeee
Consumable AI The What, Why & How for Small Teams.pdf
search engine optimization ppt fir known well about this
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Comparative analysis of machine learning models for fake news detection in so...
NewMind AI Weekly Chronicles – August ’25 Week III
CloudStack 4.21: First Look Webinar slides
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Five Habits of High-Impact Board Members
UiPath Agentic Automation session 1: RPA to Agents
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
TEXTILE technology diploma scope and career opportunities

22 deployment and_mobility

  • 1. Deployment and Mobility Software Architecture Lecture 22
  • 2. What Are Deployment and Mobility? Deployment is the process of placement of a system’s software components on its hardware hosts Changing the deployment of a component during runtime is called migration or redeployment Migration or redeployment is a type of software system mobility Mobility entails a superset of deployment issues
  • 3. Deployment and Mobility Challenges Widely distributed target processors Target processors embedded inside heterogeneous devices Different software components may require different hardware configurations System lifespans may stretch over decades Software system evolution is continuous (requiring redeployment) Mobile code may mandate that running , stateful components be redeployed
  • 4. Software Architecture and Deployment A system is deployed to a set of hosts or sites Each site provides a set of resources needed by the system’s components Hardware Network Peripheral devices System software Other application software Data resources Resources may be exclusive or sharable
  • 5. How Is Deployment Changing ? Then Complete Installation procedure for software system on CD ROM Entire software system installation Now Software producers and consumers cooperating and negotiating. “ Update” of Software Systems All this because of high connectivity
  • 6. Deployment, Architecture, and Quality of Service Deployment Architecture : allocation of s/w components to h/w hosts h c deployment architectures are possible for a given system Many provide the same functionality Provide different qualities of service (QoS)
  • 7. Deployment Activities Planning Modeling Analysis Implementation
  • 8. Deployment Planning How do we find and effect a deployment architecture that improves multiple QoS dimensions? Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 9. Scenario with a Single QoS Dimension Objective is to minimize latency The optimal deployment architecture is deployment 1 Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 10. Conflicting QoS Dimensions Objective is to minimize latency and maximize durability There is no optimal deployment architecture! Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 11. Resolving Trade-Offs between QoS Dimensions Allows expression of optimization in terms of a single scalar value A utility function denotes a user’s preferences for a given rate of improvement in a QoS dimension Guiding Insight System users have varying QoS preferences for the system services they access
  • 12. A Slightly Larger Scenario Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 13. Deployment Modeling Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 14. Modeling Architectural Elements Define sets that specify system elements and their properties Set C of software components C = {ResourcesMap, SendMessage, Display, …} Set CP of software component properties CP = {size, reliability, …} Other sets H of hardware nodes, N of network links, I of logical links, S of services, Q of QoS, U of users HP of hardware params, NP of network link params, CP of software component params, IP of logical link params Define functions that quantify system properties Function cParam:C ×CP->R cParam(ResourcesMap, size) = 150 Other functions hParam, nParam, IParam, sParam
  • 15. Modeling QoS Dimensions Define QoS functions qValue:S ×Q×DepSpace -> R quantifies the achieved level of QoS given a deployment qValue(Schedule, Latency, Dep 1) = 1ms Define users’ preferences in terms of utility qUtil:U × S ×Q×R -> [MinUtil,MaxUtil] represents the accrued utility for given rate of change qUtil(Commander, Schedule, Latency, 0.25) = -1
  • 16. Modeling System Constraints A set PC of parameter constraints PC={memory, bandwidth,…} A function pcSatisfied:PC × DepSpace -> [0,1] 1 if constraint is satisfied 0 if constraint is not satisfied Functions that restrict locations of s/w components loc:C × H -> [0,1] loc(c,h)=1 if c can be deployed on h loc(c,h)=0 if c cannot be deployed on h colloc:C× C -> [-1,1] colloc(c1,c2)=1 if c1 has to be on the same host as c2 colloc(c1,c2)=-1 if c1 cannot be on the same host as c2 colloc(c1,c2)=0 if there are no restrictions
  • 17. Deployment Analysis Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission. Are both deployments valid? Which of the two deployments is “better”? Does the selected deployment have required properties?
  • 18. Deployment Analysis Strategies Different strategies with different strengths Most of them offer approximate solutions Mixed Integer Non-linear Programming (MINLP) Mixed Integer Linear Programming (MIP) Heuristic-based strategies Greedy Genetic Decentralized
  • 19. Deployment Implementation Release Install Activate Deactivate Update Adapt Reconfigure De-install or remove De-release or retire
  • 20. Software Deployment Life Cycle Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 21. Deployment Tool Support – An Example Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 22. Software Mobility Mobile computing involves the movement of human users together with their hosts across different physical locations This is also referred to as physical mobility Movement of software across hardware hosts during the system’s execution, that action is referred to as code mobility or logical mobility If a software module that needs to be migrated contains runtime state, then the module’s migration is known as stateful mobility If only the code needs to be migrated, that is known as stateless mobility
  • 23. Mobility Paradigms Remote evaluation Re-deploy needed component at runtime from a source host to a destination host Install component on the destination host Ensure that the system’s architectural configuration and any architectural constraints are preserved Activate the component Executed the component to provide the desired service Possibly de-activate and de-install Code-on-demand Same as remote evaluation, but roles of target and destination hosts are reversed Mobile agent Migration of a stateful software component that needs some remote resources to complete its task
  • 24. Mobility and Quality of Service Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 25. Closing Thoughts It may be impractical or unacceptable to bring systems down for upgrades (Re)deployment is thus necessary Architecture as a set of principal design decisions naturally encompasses (re)deployment Maintaining the relationship between architectural model and implementation stems degradation