Title: SLAC%20Web%20Service
1SLAC Web Service
- Paola Grosso (SLAC)
- Presented by
- Eric Boyd (Internet2)
2Monitoring data
- The IEPM group at SLAC is monitoring network
connectivity and End-to-end performance for sites
involved in High Energy Nuclear and Particle
Physics. - At SLAC
- IEPM-BW monitors 35 sites and analyzes the
data for anomalies and variations. - PingER monitors 300 sites and provides
end-to-end performance statistics.
3Metrics
http//www-didc.lbl.gov/NMWG/docs/draft-ggf-nmwg-h
ierarchy-02.pdf
- IEPM-BW
- path.bandwidth.achievable.TCP (iperf)
- path.bandwidth.achievable.TCP.multiStream (iperf,
bbftp,GridFTP) - path.bandwidth.capacity (ABwE)
- path.bandwidth.utilization (ABwE)
- PingER
- path.delay.roundTrip (ping)
4IEPM-BW implementation
- Based on the Oct.2003 schema this has been our
first production experience with Web Services. - Provided us with experience in
- How to organize the data (storage in Oracle)
- How to describe the service we provide in WSDL
files - How to write server and clients code that access
the data
5IEPM-BW clients
- We have regular clients of our service
- Monalisa V1.2 announced in Feb 6 is now providing
modules to interface to IEPM-BW data via Web
Services. - A SLAC demo client
- http//www-iepm.slac.stanford.edu/tools/web_servic
es/soap/IEPM_client.html
6Monalisa and IEPM-BW
7PingER implementation
- New PingER data available via Web Services.
- 30 days of PingER measurements from the SLAC
monitoring node to sites around the world. - Responses for PingER data is based on the 15 Jan
2004 report schema!
8PingER WSDL file
- This is where the service is described in term
of - provided operations
- - PINGERGetPathDelayRoundTrip
- required inputs
- startTime
- endTime
- destination
- provided output
- networkMeasurementSet
- http//www-iepm.slac.stanford.edu/tools/soap/wsdl/
PINGER_profile.wsdl
Not yet implemented according to the request
schema.
9A PingER response
results resultSet count
20 timeInterval
timestampStart 1076445224
timestampEnd 1076449413
min 49.924 max
50.433 mean 50.113
result1 delay 50.113
timestamp 1076446801
networkMeasurementSet version 1.0
networkMeasurement characteristic
path.delay.roundTrip methodology
tool name ping
parameterSet packetTypeParam
ICMP packetSizeParam 100
numPacketsParam 20
subject source name
pinger.slac.stanford.edu address
host 134.79.240.30
version 4 destination
name fnal.fnal.gov address
host 131.225.9.20
version 4
10Report schema
- Some of the encountered problems(repeating
Warren) - How to indicate in a response missing data or
incorrect inputs? - We are using SOAPFault to convey this
information to the client - How to differentiate multiple measurements within
the same resultSet? - Perl implementation require this.
- How to provide statistics for the single
measurement in the same resultSet? - PingER data in a long interval is a series of
ping measurements, each with its own stats - How to indicate disk and memory for a system?
- Les Cottrells studies indicate this as being an
important quantity
11PingER SOAP client
- !/usr/local/bin/perl w
- use SOAPLite
- use DataDumper
- my startDate "2004-02-18T124656"
- my endDate "2004-02-19T124634"
- my destination "fnal.fnal.gov"
- my measurement SOAPLite-gt
- service('http//www-iepm.slac.stanford.edu/too
ls/soap/wsdl/PINGER_profile.wsdl') - -gtGetPathDelayRoundTrip(startDate,endDate,desti
nation) - print Dumper (measurement)
- exit
12PingER XML-RPC client
!/usr/local/bin/perl -w use XMLRPCLitetrace
use DataDumper my startDate
"2004-02-09T124656" my endDate
"2004-02-09T134634" my destination
"fnal.fnal.gov" my measurement XMLRPCLite
-gtproxy('http//www-iepm.slac.stanford.edu/cgi-
wrap/bbcp.cgi') -gtcall('PINGER.GetPathDelayRou
ndTrip',"startDate",
"endDate","destination") -gtresult print
Dumper (measurement) exit
13PingER Python SOAP client
- !/usr/local/bin/python
-
- import SOAPpy
- url'http//www-iepm.slac.stanford.edu/tools/soap/
wsdl/PINGER_profile.wsdl' - proxy SOAPpy.WSDL.Proxy(url)
- measurement proxy.GetPathDelayRoundTrip('2004-02
-10T123344','2004-02-10T181133','fnal.fnal.gov
') - print measurement
14Servers implementation
SOAP server
XML-RPC server
!/usr/local/bin/perl use XMLRPCTransportHTTP
my server XMLRPCTransportHTTPCGI
-gt dispatch_to('PINGER') -gt handle
!/usr/local/bin/perl use SOAPTransportHTTP
SOAPTransportHTTPCGI -gt
dispatch_to('PINGER') -gt handle
15 Server backend
- A Perl module that handles the incoming requests
and interfaces to the database where the data is
stored. - The Perl module constructs the returned data (in
Perl hashes), according to the schema. - Note, we are not indicating the encoding in the
SOAPData type
16To do
- Our future plans
- Conform the request model to the most recent
request schema - Migrate the IEPM-BW Web Services to the new
schema - Looking for clients of the PingER service
- Export the web services model to other interested
PingER sites.
17Conclusions
- Documentation
- SLAC Web Services
- http//www-iepm.slac.stanford.edu/tools/web_servic
es - SLAC Web Services demo client
- http//www-iepm.slac.stanford.edu/tools/web_servic
es/soap/IEPM_client.html - Contact us
- Iepm-l_at_slac.stanford.edu