+ All Categories
Home > Documents > GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

Date post: 21-Dec-2015
Category:
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
17
GGF-Berlin SLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)
Transcript
Page 1: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

SLAC Web Service

Paola Grosso (SLAC)Presented by

Eric Boyd (Internet2)

Page 2: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Monitoring 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.

Page 3: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Metrics

IEPM-BW– path.bandwidth.achievable.TCP (iperf)– path.bandwidth.achievable.TCP.multiStrea

m (iperf, bbftp,GridFTP)– path.bandwidth.capacity (ABwE)– path.bandwidth.utilization (ABwE)

PingER– path.delay.roundTrip (ping)

http://www-didc.lbl.gov/NMWG/docs/draft-ggf-nmwg-hierarchy-02.pdf

Page 4: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

IEPM-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

Page 5: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

IEPM-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_services/soap/IEPM_client.html

Page 6: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Monalisa and IEPM-BW

Page 7: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

PingER 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!

Page 8: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

PingER WSDL file

This is where the service is described in term of:

– provided operations:- PINGER#GetPathDelayRoundTrip

- 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.

Page 9: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

A PingER response

networkMeasurementSet: version: 1.0 networkMeasurement: characteristic: path.delay.roundTrip methodology: tool: name: ping parameterSet: packetTypeParam: ICMP packetSizeParam: 100 numPacketsParam: 20

results: resultSet: count: 20 timeInterval: timestampStart: 1076445224 timestampEnd: 1076449413 min: 49.924 max: 50.433 mean: 50.113 result1: delay: 50.113 timestamp: 1076446801

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

Page 10: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Report schema

Some of the encountered problems…(repeating Warren)

• How to indicate in a response missing data or incorrect inputs? We are using SOAP::Fault 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 mesaurements, each with its own stats;

• How to indicate disk and memory for a system? Les Cottrell’s studies indicate this as being an important quantity

Page 11: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

PingER SOAP client

#!/usr/local/bin/perl –w

use SOAP::Lite;use Data::Dumper;

my $startDate = "2004-02-18T12:46:56";my $endDate = "2004-02-19T12:46:34";my $destination = "fnal.fnal.gov";

my $measurement = SOAP::Lite-> service('http://www-iepm.slac.stanford.edu/tools/soap/wsdl/PINGER_profile.wsdl') ->GetPathDelayRoundTrip($startDate,$endDate,$destination);

print Dumper ($measurement);

exit;

Page 12: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

PingER XML-RPC client#!/usr/local/bin/perl -w

use XMLRPC::Lite+trace;use Data::Dumper;

my $startDate = "2004-02-09T12:46:56";my $endDate = "2004-02-09T13:46:34";my $destination = "fnal.fnal.gov";

my $measurement = XMLRPC::Lite ->proxy('http://www-iepm.slac.stanford.edu/cgi-wrap/bbcp.cgi') ->call('PINGER.GetPathDelayRoundTrip',"$startDate", "$endDate","$destination") ->result;

print Dumper ($measurement);

exit;

Page 13: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

PingER 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-10T12:33:44','2004-02-10T18:11:33','fnal.fnal.gov')

print measurement

Page 14: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Servers implementation

#!/usr/local/bin/perl

use XMLRPC::Transport::HTTP;

my $server = XMLRPC::Transport::HTTP::CGI -> dispatch_to('PINGER') -> handle;;

#!/usr/local/bin/perl

use SOAP::Transport::HTTP;

SOAP::Transport::HTTP::CGI -> dispatch_to('PINGER') -> handle;;

SOAP server XML-RPC server

Page 15: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

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 SOAP::Data type…

Page 16: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

To 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.

Page 17: GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)

GGF-Berlin SLAC Web Services

Conclusions

Documentation:SLAC Web Services

http://www-iepm.slac.stanford.edu/tools/web_services

SLAC Web Services demo client:http://www-iepm.slac.stanford.edu/tools/

web_services/soap/IEPM_client.html

Contact us:[email protected]


Recommended