quality of service models for web services eric montrym 2/18/05
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 onesTRANSCRIPT
![Page 1: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/1.jpg)
Quality of Service Models for Web Services
Eric Montrym2/18/05
![Page 2: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/2.jpg)
Agenda
• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model
![Page 3: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/3.jpg)
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
![Page 4: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/4.jpg)
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)
![Page 5: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/5.jpg)
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
![Page 6: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/6.jpg)
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
![Page 7: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/7.jpg)
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>
![Page 8: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/8.jpg)
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>
![Page 9: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/9.jpg)
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
![Page 10: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/10.jpg)
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’
![Page 11: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/11.jpg)
Web Services
• Becoming increasingly popular• New opportunities for:
– Increased revenue– Better/tighter relationships with customers &
business partners• E-business
– Platform interoperability– Component re-use
![Page 12: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/12.jpg)
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?
![Page 13: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/13.jpg)
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?
![Page 14: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/14.jpg)
Agenda
• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model
![Page 15: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/15.jpg)
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
![Page 16: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/16.jpg)
Agenda
• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model
![Page 17: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/17.jpg)
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
![Page 18: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/18.jpg)
Quality of Service Model
Service registry
Service providerService requestor
Service description
Service
Service descriptions
Find
Bind
Publish
QoS certifier
Certify QoSVerify QoS
![Page 19: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/19.jpg)
Quality of Service Model
• Certifier– Third-party (independent)– Verifies quality claims of suppliers
• Simple yes/no quality measurement• Shortcomings
– Do certificates expire?– Update method
![Page 20: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/20.jpg)
Agenda
• Web services• Baseline Web service model• Quality of Service model• Expanded Quality of Service model
![Page 21: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/21.jpg)
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
![Page 22: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/22.jpg)
Expanded Quality of Service Model
QoS registry
Service providerService requestor
Service description
Service
Service descriptions
Find
Bind
Publish
Service Registry
QoS calculation
QoS feedback
![Page 23: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/23.jpg)
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
![Page 24: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/24.jpg)
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
![Page 25: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/25.jpg)
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
![Page 26: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/26.jpg)
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
![Page 27: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/27.jpg)
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
![Page 28: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/28.jpg)
Expanded Quality of Service Model
• Second normalization also uses 2 arrays– T, maximum normalized value– F, weight for each category
555321 tttT
123321 fffF
![Page 29: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/29.jpg)
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
![Page 30: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/30.jpg)
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
![Page 31: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/31.jpg)
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
![Page 32: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/32.jpg)
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
![Page 33: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/33.jpg)
Conclusion
• Web services– What are they
• Baseline model– No QoS criteria
• Simple QoS model– Yes/No
• Expanded QoS model– Numerical representation
![Page 34: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/34.jpg)
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
![Page 35: Quality of Service Models for Web Services Eric Montrym 2/18/05](https://reader035.vdocument.in/reader035/viewer/2022070605/5a4d1adc7f8b9ab0599754a1/html5/thumbnails/35.jpg)
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