Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Implementation of the Profile Document.

Similar presentations


Presentation on theme: "An Implementation of the Profile Document."— Presentation transcript:

1 An Implementation of the Profile Document.
Warren Matthews & Les Cottrell, SLAC. Presented at the Seattle June 24-27, 2003 Partially funded by DOE/MICS Field Work Proposal on Internet End-to-end Performance Monitoring (IEPM), by the SciDAC base program.

2 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

3 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 path.availability.roundTrip missing in schema, we have added a definition

4 The first stumbling block
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) Perl and Java complain if use variable with periods in it. Want to name the method with the same name defined in the document. Alternative to use a get(“all”).

5 Client Currently only latest measurement Adding startTime:endTime
#!/usr/bin/perl use SOAP::Lite; my $characteristic = SOAP::Lite -> service(‘ -> pathDelayOneWay("tt81.ripe.net:tt28.ripe.net”); print $characteristic->{NetworkTestTool}->{toolName},"\n"; print $characteristic->{NetworkPathDelayStatistics}->{value},"\n"; TT81 is the RIPE test traffic box at home.nl. TT28 is the box at SLAC. When add startTime:endTime brings up question of what to return, e.g. statistical aggregates can one also get individual components? is the time optional? Currently only latest measurement Adding startTime:endTime pathDelayOneWay("tt81.ripe.net:tt28.ripe.net”,” : ”);

6 Demo Output ripe-tt tt81.ripe.net tt28.ripe.net
100 1 20

7 WSDL: input definition
<message name="Input"> <part name="target" type="xsd:string"/> </message> target=source[:destination] WSDL = Web Services Description Language an XML format for describing network services as a set of endpoints containing either document-oriented or procedure-oriented information. It provides a simple way for service providers to describe the basic format of requests to their systems regardless of the underlying protocol (such as Simple Object Access Protocol or XML) or encoding (such as Multipurpose Internet Messaging Extensions). This defines what the user/caller is to provide, note at the moment every method has the same input format. Current implementation, user only provides a target which contains the source & destination. This is a natural evolution of host characteristics where there is only a source. Currently the definition does not include a time window specification. In such a case can provide the average as a value but may need top provide an array with all the individual results. /afs/slac/g/www/cgi-wrap-bin/net/offsite_mon/web_services Adding time: <part name=“time” type=“xsd:string”/> time=startTime[:endTime] #optional, if leave out then get latest measurement

8 WSDL: characteristic definition
<message name="pathDelayOneWayOutput"> <part name="NetworkTestTool” type="xsd1:NetworkTestToolType"/> <part name="NetworkTestInfo” type="xsd1:NetworkTestInfoType"/> <part name="NetworkToolSetting” type="xsd1:NetworkToolSettingType"/> <part name="NetworkPathDelayStatistics” type="xsd1:NetworkPathDelayStatisticsType"/> </message> Example of XML format for output xsd1 referenced via: xmls:xsd1=“

9 WSDL: definition of (xsd1) NetworkTestToolType subclass
<xsd:complexType name="NetworkTestToolType"> <xsd:sequence> <xsd:element name="toolName” type="xsd:string"/> <xsd:element name="toolVersion” type="xsd:string"/> <xsd:element name="toolAccuracy” type="xsd:string"/> </xsd:sequence> </xsd:complexType> Definition of one of the sub-classes (NetworkTestTool), xsd1 for the subclass. This is part of Currently the definitions are just strings for simplicity, later can make more selective, e.g. toolVersion must be of form nn.mmm-pp

10 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) What do you mean by “Spy real time data from local machine”, do you mean you make a local copy of the data from the RIPE-NCC host, and then provide WSDL access to that data. For OWAMP I think you have access directly to their archive, i.e. the server runs at the OWAMP archive, is this correct?

11 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}

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

13 Adding: path.availability.roundTrip
Based on PingER unpredictability NetworkPathAvailabilityStatisticsType MTBF uint32 O MTTR uint32 O Downs uintt32 O Median-Outage-Length uint32 O Value real32 M Value = % availability (e.g. = # unavailable samples / total samples) NetworkTestTool toolName = ping Network TestInfo source = oceanus.slac.stanford.edu destination = NetworkToolSetting startTime = (start at beginning of month) time = (end at end of month) packetSize = 100 numPackets = 10 (this is the number of packets in a cycle or more generally the number of packets sent as probes for determining connectivity, see RFC 2678, it is not the total packets for the month, i.e. it is not 30days*24hr*60mins*10pkts/30min = 14400?) packetSpacing = periodic packetGap = 1.0 packetType = ICMP lossThreshold = 20 (the waiting time of RFC 2678) NetworkPathAvailabilityStatistics Property Type Requirement Description Level MTBF uint32 O Mean Time Between Failures in seconds MTTR uint32 O Mean Time To Repair downs uint32 O Number of periods when path was not available medianOutageLength uint32 O Median Value real32 M Availability = 100*(#unavailable cycles / total cycles)%.

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

15 Further Work OGSA/OGSI Globus3

16 Any Questions? Visit the documentation of the implementation
Includes links to latest WSDL and XSD Send Profile:

17 Some Issues Names with embedded periods
Add time selection: pathDelayOneWay("tt81.ripe.net:tt28.ripe.net”,” : ”); Is it optional? Return average value, what about a list of the component values Is this a database query? path.bandwidth.achievable.[TCP|disk].* 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? Route change boolean Cannot be summarized (median route) path.hops.roundTrip asymmetric routing


Download ppt "An Implementation of the Profile Document."

Similar presentations


Ads by Google