An Implementation of the Profile Document.
Warren Matthews & Les Cottrell, SLAC.
Presented at the NMWG@GGF8, Seattle
June 24-27, 2003

Overview
Implementation of Brian’s Schema/Profile for Network Performance Measurements for Grids:
Version 0.06
As applied to:
IEPM-PingER and IEPM-BW measurement projects
I2 E2Epi OWAMP
RIPE-tt
Work in progress

Characteristics
path.delay.oneWay, path.delay.roundTrip
path.loss.oneWay, path.loss.roundTrip
path.availability.roundtrip
path.bandwidth.achievable.TCP
path.bandwidth.achievable.TCP.multiStream
path.bandwidth.available
hop.bandwidth.capacity, hop.bandwidth.utilized
properties

The first stumbling block
No schema, need to understand OGSA/OGSI
Main focus on implementing server
To get started short cut schema for simplicity:
Seemed reasonable that characteristics are separate methods
But naming convention is NOT language neutral
Based on GGF DAMED document
Some languages use periods for special purposes
Delimeters
path.delay.oneWay -> pathDelayOneWay
Or
get(path.delay.oneWay:source:destination)
getAll(source:destination)

Client
Currently only latest measurement
Adding startTime:endTime
pathDelayOneWay("tt81.ripe.net:tt28.ripe.net”,” 20021220003957:20021220004157”);

Demo Output

WSDL: input definition

WSDL: characteristic definition

WSDL: definition of (xsd1) NetworkTestToolType subclass

path.delay.oneWay
NetworkTestToolType->toolName = ripe-tt
Real time access to local copy of RIPE data
Master copy archived at RIPE-NCC
NetworkTestToolType->toolName = owamp
Real time access to OWAMP central database
Owamp creates its own summaries
Number of events in a bin (how do we return multiple values)

path.bandwidth.achievable.*
IEPM-BW uses several TCP tools
iperf, bbcp, bbftp, gridftp
How should this be returned?
Input contains toolName?
Return 3 objects with the same name
Which should be the value of                                            $characteristic->{NetworkPathE2EAchievableStatistics}->{value}

path.bandwidth.achievable.*
E2EAchievableTCPStatistics
Average (value)
peak
Standard deviation, what about multiple streams

Adding: path.availability.roundTrip
Based on PingER unavailability
NetworkPathAvailabilityStatisticsType
MTBF uint32 O
MTTR uint32 O
downs uint32 O
medianOutageLength uint32 O
value real32 M

In General
Time series
Ability to extract individual measurements for previously unthought of statistics (CDF, skew, kurtosis, error-free seconds, conditional loss …)

Further Work
OGSA/OGSI => Schemas
Globus3

Any Questions?
Visit the documentation of the implementation
http://www-iepm.slac.stanford.edu/tools/soap/MAGGIE.html
Includes links to latest WSDL and XSD
Send email
warrenm@slac.stanford.edu
Profile:
http://www-didc.lbl.gov/NMWG/NMWG-profile.html

Some Issues
Add time selection: pathDelayOneWay("tt81.ripe.net:tt28.ripe.net”,” 20021220003957:20021220004157”);
Is it optional?
Return average value, what about a list of the component values
Is this a database query?
path.bandwidth.achievable.[TCP|UDP].disk2disk.*
Characteristic names returned if requesting multiple characteristics:
getAll(source:destination)
Use of asterisk?
Accessing service with multiple tools for a single characteristic – how to select the right characteristic:tool, if return all then how to know which is which
path.bandwidth.achievable.TCP.prediction
How to do predictions, e.g. future time or another level
Type is still E2EAchievableTCPStatistics
Integrtaed/total property especially useful
path.hops.oneWay
Single string, comma delimited list of hops or full xml document per hop or …?
Route change boolean
Cannot be summarized (median route)
path.hops.roundTrip  asymmetric routing