design of capability delivery adjustments @asdenca
TRANSCRIPT
![Page 1: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/1.jpg)
Design of Capability Delivery Adjustments
Jānis Grabis, Jānis KamparsInstitute of Information Technology, Riga Technical
University, Kalku 1, Riga, Latvia
![Page 2: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/2.jpg)
Outline
• Problem area• Background• Types of adjustments and their
modeling• Example• Conclusion
![Page 3: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/3.jpg)
Problem Area
• Development of adaptive applications– Incl., context aware applications
• Complex, often computationally intensive processing logics
• High volatility and variety of context and other input data
• Adaptation criteria
![Page 4: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/4.jpg)
Capability Delivery Application• Companies provide business services• Capability driven approach ensures
service delivery in different contextual situation – With minimum context specific development
effort• Capability delivery applications provide
capability enabled business services– Context dependency processing is decoupled
from the core applications
![Page 5: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/5.jpg)
Capability Delivery Application
ContextCapability Delivery
Application Goals
KPI Patt-erns
Pattern RepositoryAdjustments
![Page 6: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/6.jpg)
CDD Environment
CCPContext data
retrieval
CPRPattern repository
CDABusiness service
CDTCapability modeling
CNAMonitoring Adjust-
ment
![Page 7: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/7.jpg)
Types of Adjustments
Adjustment
Calculation
Context calculation
Performance
calculation
Adaptive adjustmen
t
Scheduled adjustmen
t
Event based
adjustment
![Page 8: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/8.jpg)
Types of Adjustments
Calculations • Transforming raw context data into meaningful interpretations for driving service delivery
• Calculation of performance indicators
Scheduled adjustments
• Adjustment is run according to a specified schedule
• It alters behavior (e.g., parameters) of the capability delivery applications
Event based adjustment
• Capability delivery application invokes scheduled adjustment whenever it needs to make a context dependent service delivery decision
![Page 9: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/9.jpg)
Adjustment Modeling
• Event based adjustment
• Scheduled adjustment
![Page 10: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/10.jpg)
Example
• A web service for processing images– e.g. creating mosaics
• CDA is run on the cloud platform• CNA changes parameters of the
cloud platform to ensure acceptable service response time
• Adaptation algorithm is implemented as a scheduled adjustment
![Page 11: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/11.jpg)
Image Processing Service
CDA frontend (image processing web
site)
Msg Queue
Task
Task
Task Container X
Container I
Mos
aic
RequestMosaic
![Page 12: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/12.jpg)
Capability Model
![Page 13: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/13.jpg)
Scheduled Adjustmentpublic class ScaleScheduledAdjustment { public String execute(int min_nodes, int max_nodes, int max_wait_time, int queue_size, int nodes_count, int avg_time_in_queue, int busy_nodes) { try { // Empty queues and surplus of workers if (min_nodes < 1) return ""; this.debug("nodes cur-" + nodes_count + " min-" + min_nodes + " max-" + max_nodes + " busy-" + busy_nodes); // Scale up if requests in queue, average time exceeds constant and // max nodes not reached if ((queue_size > 0) && (avg_time_in_queue > max_wait_time) && (nodes_count <= max_nodes)) { this.scale("up"); return "CASE1: scaling up to " + Integer.toString(nodes_count + 1) + " nodes (cur:" + nodes_count + " min:" + min_nodes + " max:" + max_nodes + ")"; }
• Adjustment increases a number of containers if waiting time increases
• Adjustment decreases a number of containers if waiting time decreases
• Adjustment changes resolution of external services respond slowly
![Page 14: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/14.jpg)
Adjustment execution
![Page 15: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/15.jpg)
![Page 16: Design of Capability Delivery Adjustments @ASDENCA](https://reader036.vdocuments.mx/reader036/viewer/2022081605/58f08c361a28abb6638b4619/html5/thumbnails/16.jpg)
Conclusion
• Adjustments allow for separation of concerns
• Adjustments serve as containers for implementing adaption algorithms of varying complexity
• Adjustments are the key mechanisms for enabling business service delivery in changing circumstances