Title: PIPES Web Service
1PIPES Web Service
- Eric Boyd (Internet2) and
- Warren Matthews (Georgia Tech)
2Deployed Measurement Infrastructure
3PIPES Web Service
- AMI measurements published as a web service.
- Implementation of 2004-01-15 NMWG response schema
- Older implementation still exists in different
namespace - Only supported for Advisor and Monalisa
- Until end of March.
4Server in Perl
- Data served using perl SOAPLite
- Both SOAP and XMLRPC services
- Same back-end perl module
- OGSI/WSRF server under development
- Using OGSILite
- Also working on .NET/C
5Database and Clients
- Data pulled from same mySQL database as AMI
graphs and other information on web pages. - Multiple clients have been tested
- Perl, python for SOAP
- Perl, PHP, Java (Advisor, Monalisa) for XMLRPC
- Others?
6Road Bumps
- Perl is untyped.
- SOAPLite performs autotyping
- Sometimes doesnt do what we want!
- Caused unexpected errors in java
- Can over-ride but not yet done so (other
priorities) - XML encoding
- Defaults to RPC
- Can over-ride to force Literal (again, not yet)
7Uphill Struggles
- The hardest part of the implementation was
decoding the XML. - There are some tools but mostly it was a
time-consuming manual process. - XMLParser
- Prefer old-style Profile document or even a list
of objects.
8Client Side
- New client requires characteristic to be
specified. - Partial implementation of request schema for
requesting data not just measurements - Future deployment will follow request schema to
request data and measurements - Only return what is asked for, previously
everything available was returned.
9Supported Characteristics
- Measured by owamp
- path.delay.oneWay
- path.loss.oneway
- Measured by bwctl
- path.bandwidth.achievable.TCP
- path.bandwidth.achievable.UDP
- path.jitter.oneWay
10Other Inputs
- Measurement Nodes by nickname (ATLA, CHIN, DNVR,
HSTN, IPLS, KSCY, LOSA, NYCM, SNVA, STTL, WASH). - type is ipv4 or ipv6 at all nodes. Not case
sensitive. 4 or 6 will suffice.
11Other Inputs
- startTime/endTime
- iso8601 is supported
- Dan - Timezones are a problem waiting to happen
- very true - But users are looking for trouble
- Currently no support for epochSeconds
- Too much opportunity for timezone confusion
12Example Client
my request ( networkCharacteristic gt
"path.delay.oneway", subject gt
source gt address gt name gt "ATLA", , ,
destination gt
address gt name gt "LOSA", , ,
type gt "IPv4", ,
startTime gt 2004-02-01T000000-500
", endTime gt 2004-02-01T235959
-500", ) my webService
SOAPLite -gt uri('http//abilene.internet
2.edu/PIPES') -gt proxy('http//usernamepa
ssword_at_abilene.internet2.edu/ami/services/soap_ser
ver.cgi') -gt NetworkMeasurementSet(\reque
st) -gt result
Wrap the request up in an object
Send it to the webservice
13Examples
print webService-gtversion 2004-01-15 print
webService-gtnetworkMeasurement-gtcharacteristic
path.bandwidth.achievable.TCP
14Supported Objects
- Could add Memory, disk details (both can have a
significant effect on performance). - Last updated field would be a useful sanity
check. - Some system information can be retrieved by snmp,
sysctl, currently hard coded. - Methodology has separate source and destination
objects instead of single endpoint.
15Non-Standard Objects
- NetworkMeasurementSet gt Help or
NetworkMeasurementSet gt Message - e.g. No data matching query or no response
from db - Paola suggested using SOAP Failure
- But not really a SOAP failure if there is no data
matching the query. - Same applies for other SOAP messages
16Further Work
- Deployment on CENIC, NCNI, SOX
- Interconnecting measurement domains
- Other Characteristics
- Path.delay.roundtrip - AMP data
- Continued development of Request schema, future
Response schema - Development of AAA (certificate based?)
17More Information
- PIPES/AMI Web Service home page
- http//abilene.internet2.edu/ami/webservices.html
- Monalisa
- http//vinci.cacr.caltech.edu8080
- Advisor
- http//dast.nlanr.net/Projects/Advisor
- Or send questions/comments to
- Warren.Matthews_at_oit.gatech.edu