An Implementation of the Profile Document.

Slides:



Advertisements
Similar presentations
11 TROUBLESHOOTING Chapter 12. Chapter 12: TROUBLESHOOTING2 OVERVIEW  Determine whether a network communications problem is related to TCP/IP.  Understand.
Advertisements

PIPES Web Service Eric Boyd (Internet2) and Warren Matthews (Georgia Tech)
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
1 SLAC Internet Measurement Data Les Cottrell, Jerrod Williams, Connie Logg, Paola Grosso SLAC, for the ISMA Workshop, SDSC June,
GGF-BerlinSLAC Web Services SLAC Web Service Paola Grosso (SLAC) Presented by Eric Boyd (Internet2)
Network Monitoring grid network performance measurement, simulation & analysis Presented by Warren Matthews at the Performance.
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
PerfSONAR Client Construction February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
Guide to TCP/IP, Third Edition
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
PA3: Router Junxian (Jim) Huang EECS 489 W11 /
Lecture 15 Introduction to Web Services Web Service Applications.
POSTECH DP&NM Lab. Internet Traffic Monitoring and Analysis: Methods and Applications (1) 4. Active Monitoring Techniques.
VSO Programmatic Interface Authors: Igor Suárez Solá Joe Hourclé Alisdair Davey VSO Team.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
1 Using Netflow data for forecasting Les Cottrell SLAC and Fawad Nazir NIIT, Presented at the CHEP06 Meeting, Mumbai India, February
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP: A helper protocol to IP The Internet Control Message Protocol (ICMP) is the protocol used for error.
Tony McGregor RIPE NCC Visiting Researcher The University of Waikato DAR Active measurement in the large.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
1 Overview of IEPM-BW - Bandwidth Testing of Bulk Data Transfer Tools Connie Logg & Les Cottrell – SLAC/Stanford University Presented at the Internet 2.
Preliminary Ocean Project Page 1 WGISS SG May 15, C. Caspar G. Tandurella P. Goncalves G. Fallourd I. Petiteville Preliminary Ocean Project Phase.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Web Services from 10,000 feet Part I Tom Perkins NTPCUG CertSIG XML Web Services.
1 An Implementation of the Profile Document. Presented at the June 24-27, 2003.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
#16 Application Measurement Presentation by Bobin John.
TCP-IP: Sliding Window protocol Sameer --- Brief description about the concept (1-2 lines)‏

Java Web Services Orca Knowledge Center – Web Service key concepts.
Internet Control Message Protocol (ICMP)
Databases (CS507) CHAPTER 2.
Internet Control Message Protocol (ICMP)
LESSON Networking Fundamentals Understand TCP/IP.
Block 5: An application layer protocol: HTTP
Instructor Materials Chapter 9: Transport Layer
Database System Concepts and Architecture
Network Tools and Utilities
Sabri Kızanlık Ural Emekçi
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Internet Control Message Protocol (ICMP)
21-2 ICMP(Internet control message protocol)
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
CHAPTER 3 Architectures for Distributed Systems
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Internet Networking recitation #12
Client-Server Interaction
Internet Control Message Protocol (ICMP)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
ITL Simple Diagnostic Tools
Internet Control Message Protocol Version 4 (ICMPv4)
Multimedia and Networks
Jeff Boote, Eric L. Boyd, Rich Carlson, Hyungseok Chung
William Stallings Data and Computer Communications
SLAC monitoring Web Services
Tutorial 7 – Integrating Access With the Web and With Other Programs
An Implementation of the Profile Document.
New Tools In Education Minjun Wang
Exceptions and networking
Presentation transcript:

An Implementation of the Profile Document. Warren Matthews & Les Cottrell, SLAC. Presented at the NMWG@GGF8, 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.

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

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

Client Currently only latest measurement Adding startTime:endTime #!/usr/bin/perl use SOAP::Lite; my $characteristic = SOAP::Lite -> service(‘http://www-iepm.slac.stanford.edu/tools/soap/wsdl/profile_06.wsdl') -> 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”,” 20021220003957:20021220004157”);

Demo Output ripe-tt tt81.ripe.net tt28.ripe.net 20030620113520.0623730421066 20030620113520.1406199932098 100 1 20 0.078247

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

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=“http://www-iepm.slac.stanford.edu/tools/soap/wsdl/profile.xsd

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 http://www-iepm.slac.stanford.edu/tools/soap/wsdl/profile.xsd Currently the definitions are just strings for simplicity, later can make more selective, e.g. toolVersion must be of form nn.mmm-pp

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?

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 Value = % availability (e.g. = # unavailable samples / total samples) NetworkTestTool toolName = ping Network TestInfo source = oceanus.slac.stanford.edu destination = www.cern.sh NetworkToolSetting startTime = 200304010030.123456 (start at beginning of month) time = 200304302359.654321 (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)%.

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