Quality of Service Models for Web Services Eric Montrym 2/18/05.
-
Upload
winifred-tracey-palmer -
Category
Documents
-
view
215 -
download
0
description
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