Design of Capability Delivery Adjustments @ASDENCA2016

Post on 22-Mar-2017

42 views 1 download

Transcript of Design of Capability Delivery Adjustments @ASDENCA2016

Design of Capability Delivery Adjustments

Jānis Grabis, Jānis KamparsInstitute of Information Technology, Riga Technical

University, Kalku 1, Riga, Latvia

Outline

• Problem area• Background• Types of adjustments and their

modeling• Example• Conclusion

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

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

Capability Delivery Application

ContextCapability Delivery

Application Goals

KPI Patt-erns

Pattern RepositoryAdjustments

CDD Environment

CCPContext data

retrieval

CPRPattern repository

CDABusiness service

CDTCapability modeling

CNAMonitoring Adjust-

ment

Types of Adjustments

Adjustment

Calculation

Context calculation

Performance

calculation

Adaptive adjustmen

t

Scheduled adjustmen

t

Event based

adjustment

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

Adjustment Modeling

• Event based adjustment

• Scheduled adjustment

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

Image Processing Service

CDA frontend (image processing web

site)

Msg Queue

Task

Task

Task Container X

Container I

Mos

aic

RequestMosaic

Capability Model

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

Adjustment execution

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