Quality of Service Models for Web Services Eric Montrym 2/18/05.

Post on 06-Jan-2018

215 views 0 download

description

Web Services Self-contained, self-describing applications –Enable developers to build applications that provide services to other applications across the Web Examples –Simple: stock quotes, weather forecasts –Complex: business processes Can couple multiple services to build more complex ones

Transcript of Quality of Service Models for Web Services Eric Montrym 2/18/05.

Quality of Service Models for Web Services

Eric Montrym2/18/05

Agenda

• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model

Web Services

• Self-contained, self-describing applications– Enable developers to build applications that provide

services to other applications across the Web• Examples

– Simple: stock quotes, weather forecasts– Complex: business processes

• Can couple multiple services to build more complex ones

Web Services

• XML• Industry standard, platform independent

syntax for describing and structuring data• Messages are self-describing

– Contain data– Also contain the definition of that data

(metadata)

Web Services

• Goal: Allow any authorized user to access any available service

• Standardized on 3 sets of functions– Standard transport and message protocols

• Allow communications between Web services and service requesters

• Use HTTP, requests look like ordinary Web traffic

Web Services

– Directory services– Standard service-description language

• Use XML for messages between requestors and providers

• XML not only describes application data but also the SOAP (Simple Object Access Protocol) message envelopes that carry data between requestors and services

Web Services• SOAP requestPOST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>

Web Services• SOAP responseHTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: nnn <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.stock.org/stock"> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> </soap:Body> </soap:Envelope>

Web Services

• Follows the Distributed Computing model– Applications deployed as services that anyone

can use– Using components from different sources has

drawbacks• Reliability, confidentiality, quality

Web Services deal with these same disadvantages

Web Services

• Original Web model– Human access to server based content– Current majority of transactions

• Web services– Automated program-to-program

communication– ‘Future of the Web’

Web Services

• Becoming increasingly popular• New opportunities for:

– Increased revenue– Better/tighter relationships with customers &

business partners• E-business

– Platform interoperability– Component re-use

Web Services

• Web Services are fairly common – though adoption has been slow

• Why?– Lack of security and transaction support– But, there are emerging standards in those areas

• What about service usability and utility?

Quality of Service

• Refers to the non-functional aspects of a Web service– Example: performance, reliability, availability

• How do we define Quality of Service (QoS)?– Example: transaction time, price– What task is at hand?

• If multiple services, how do we choose?

Agenda

• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model

Baseline Web Service Model

• Service provider– application

• Service requestor– user/application

• Service registry– database

Service registry

Service providerService requestor

Service description

Service

Service descriptions

Find

Bind

Publish

Agenda

• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model

Quality of Service Model

• Businesses need assurances– How do I know that the service will meet my

performance (speed) requirement?– Will the service be reliable for my mission-

critical systems implementation?• Foreseeable that multiple services may

provide the needed service with different QoS – discovery process

Quality of Service Model

Service registry

Service providerService requestor

Service description

Service

Service descriptions

Find

Bind

Publish

QoS certifier

Certify QoSVerify QoS

Quality of Service Model

• Certifier– Third-party (independent)– Verifies quality claims of suppliers

• Simple yes/no quality measurement• Shortcomings

– Do certificates expire?– Update method

Agenda

• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model

Expanded Quality of Service Model

• Weaknesses in previous model to address– Not dynamic

• Needs of providers/consumers constantly changing• Providers can’t update their QoS dynamically

– How to verify the QoS with service provider• Has anything changed since certificate issued• Can we verify QoS again

– We can do better than yes/no measurement

Expanded Quality of Service Model

QoS registry

Service providerService requestor

Service description

Service

Service descriptions

Find

Bind

Publish

Service Registry

QoS calculation

QoS feedback

Expanded Quality of Service Model

• QoS computation• Example

Result from QoS registry• Using 3 QoS parameters, returns 3 services

15.3.270.30.0.185.25.2.190.

3,32,31,3

3,22,21,2

3,12,11,1

qqqqqqqqq

Q

Avail. RTT Cost

Expanded Quality of Service Model

• Normalize using 2 arrays– N, where 1 benefits requestor if value increases

and 0 if value decreases– C, maximum normalized value

001321 nnnN

555321 cccC

Expanded Quality of Service Model

• Create first normalization using the following– Vi,j = qi,j / average (qi’s)

• If average qi,j != 0 and average qi,j < cj and nj = 1

– Vi,j = average (qi’s) / qi,j

• If qi,j != 0 and nj = 0 and average qi,j < cj

– Vi,j = cj

Expanded Quality of Service Model

• Our normalized array

67.465.85.33.250.104.18.225.110.1

3,32,31,3

3,22,21,2

3,12,11,1

vvvvvvvvv

Q

Avail. RTT Cost

Expanded Quality of Service Model

• Second normalization– Begin by grouping data (chosen for simplicity)

– Apply this new array to first normalization

100010001

D

53.165.85.77.50.104.192.25.110.1

100010001

53.165.85.77.50.104.192.25.110.1

DQG

Avail. Time CostAvail.RTTCost

Expanded Quality of Service Model

• Second normalization also uses 2 arrays– T, maximum normalized value– F, weight for each category

555321 tttT

123321 fffF

Expanded Quality of Service Model

• Second normalization uses the following– hi,j = gi,j / average (gi’s)

• If average gi,j != 0 and average gi,j < tj

– hi,j = tj

• If average gi,j = 0 or average gi,j >= tj

Expanded Quality of Service Model

• Results in final matrix

• QoS then calculated for each service

43.158.86.72.33.105.186.11.111.1

3,32,31,3

3,22,21,2

3,12,11,1

hhhhhhhhh

G

l

jjjii fhsQoS

1,)(

24.9)( 1 sQoS 20.6)( 2 sQoS 03.3)( 3 sQoS

Expanded Quality of Service Model

• QoS registry – collecting info– User feedback

• End users required to update QoS for services consumed

– Measured results– Satisfaction survey

• Results should be fair since based on runtime data– Manipulation prevented by using a set of keys

Expanded Quality of Service Model

• Improvements– Matrix calculation method allows for variation

• Number of quality parameters can be adjusted• Relative weights

– QoS updates happening with every service consumed

• QoS ratings are changeable• Providers can see their scores as well as the

competition

Conclusion

• Web services– What are they

• Baseline model– No QoS criteria

• Simple QoS model– Yes/No

• Expanded QoS model– Numerical representation

Expanded Quality of Service Model

n

iji

jiji

qn

qv

1,

,, 1

if 011

,

n

ijiqn

and jn

iji

ji cq

n

q

1

,

,

1

and 1jn

jji cv , if 011

,

n

ijiqn

and 1jn

or jn

iji

ji cq

n

q

1

,

,

1

ji

n

iji

ji q

qn

v,

1,

,

1

if 0, jiq

and 0jn

and jji

n

iji

cq

qn

,

1,

1

jji cv , if 0, jiq

and 0jn

or jji

n

iji

cq

qn

,

1,

1

where

n

ijiqn 1

,1 is the average value

Expanded Quality of Service Model

01

1,

,,

n

iji

jiji

gn

gh if

n

ijign 1

, 01

and jn

iji

ji tg

n

g

1

,

,

1

jji th , if 011

,

n

ijign

or jn

iji

ji tg

n

g

1

,

,

1