Background
PingER uses a database for the contact and geographical node locations of various pinger sites around the world. The idea of this perfsonar topology service for pinger will enable the querying of such data and the dynamic discovery of it.
Note that this page does not describe the database itself (which will be changed later to better accommodate the future).
Topology Services
The perfSONAR PS Topology Service was designed primarily to export data regarding the inter-relations between network paths/links. However, a subset of the data enables the representation of node information which fits in nicely to that provided by the current PingER 'nodedetails' database.
Therefore, it seems like a nice way of easily exporting PingER node information through an existing service.
This process requires the following steps:
- mapping of the pinger database fields to xml topology elements
- processing of the above into a single 'store' file that contains a snapshot of the topology (a list of nodes in our case for pinger)
- deployment and configuration of the topology service
- loading of the 'store' file into the topology service
- testing of the topology service
Field mapping
Unfortunately, there are various nuances with the way that the nodedetails table is formatted. Most of the mappings and regex's are to deal with these 'features'.
Generally, the mapping can be expressed from teh following segment of perl code (i'm to lazy to write a proper document)
my $node = { 'id' => $nodename, 'domain' => $row->{SITENAME}, 'hostName' => $row->{NODENAME}, 'name' => $nodename, # strip out domain 'location' => { 'institution' => $row->{FULLNAME}, 'country' => $row->{COUNTRY}, 'city' => $row->{LOCATION}, 'state' => $state, 'longitude' => $long, 'latitude' => $lat, }, 'contact' => \@contacts, 'port' => { 'ipAddress' => $row->{IPADDRESS}, }, 'comments' => $row->{COMMENTS}, };
$nodename
is the host name of the node, eg iepm-bw.slac.stanford.edu
would have a nodename of iepm-bw
and a domain of slac.stanford.edu
Note that a domain may be arbitrary in structure (we could have chosen iepm-bw.slac
as the nodename and stanford.edu
as the domain - this needs better clarification by the perfSONAR guys.
The longitude and latitude has to be parsed from the single field in the nodedetails table.
The contacts is an array of contact xml elements, which were passed with the following:
foreach my $info ( split /,/, $row->{CONTACTS} ) { if ( $info && $info =~ /\s*(.*)\s*\<(.*)\>/ ) { # if the email address has the same sitename as the node, then assign the same institution name my $contactInst = undef; if( $2 =~ /$row->{NODENAME}/ ) { $contactInst = $row->{FULLNAME}; } my $contact = { 'priority' => $i, 'administrator' => $1, 'email' => $2, 'institution' => $contactInst, }; push @contacts, $contact; $i++; } #if } # foreach
The complete parsing script can be found at:
svn: https://svn.internet2.edu/svn/perfSONAR-PS/trunk/perfSONAR-PS/MA/PingER/pinger_topology.pl
The script reads in the database table nodedetails and returns the relevant xml data. It maps the above perl hash is mapped to a XML template file of the format:
<nmtb:topology xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070707/" xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070707/" xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070707/" xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070707/"> [% FOREACH node = nodes %] <nmtb:node id="urn:ogf:network:domain=[% node.domain %]:node=[% node.id %]"> <nmtb:name type="string">[% node.name %]</nmtb:name> <nmtb:hostName>[% node.hostName %]</nmtb:hostName> <nmtb:description>[% node.description %]</nmtb:description> [% FOREACH contact = node.contact %] <nmtb:contact priority="[% contact.priority %]"> [% IF contact.administrator %]<nmtb:administrator>[% contact.administrator %]</nmtb:administrator>[% END %] [% IF contact.email %]<nmtb:email>[% contact.email %]</nmtb:email>[% END %] [% IF contact.phoneNumber %]<nmtb:phoneNumber>[% contact.phoneNumber %]</nmtb:phoneNumber>[% END %] [% IF contact.institution %]<nmtb:institution>[% contact.institution %]</nmtb:institution>[% END %] </nmtb:contact> [% END %] <nmtb:location> [% IF node.location.institution %]<nmtb:institution>[% node.location.institution %]</nmtb:institution>[% END %] [% IF node.location.country %]<nmtb:country>[% node.location.country %]</nmtb:country>[% END %] [% IF node.location.zipcode %]<nmtb:zipcode>[% node.location.zipcode %]</nmtb:zipcode>[% END %] [% IF node.location.state %]<nmtb:state>[% node.location.state %]</nmtb:state>[% END %] [% IF node.location.city %]<nmtb:city>[% node.location.city %]</nmtb:city>[% END %] [% IF node.location.streetAddress %]<nmtb:streetAddress>[% node.location.streetAddress %]</nmtb:streetAddress>[% END %] [% IF node.location.floor %]<nmtb:floor>[% node.location.floor %]</nmtb:floor>[% END %] [% IF node.location.room %]<nmtb:room>[% node.location.room %]</nmtb:room>[% END %] [% IF node.location.cage %]<nmtb:cage>[% node.location.cage %]</nmtb:cage>[% END %] [% IF node.location.rack %]<nmtb:rack>[% node.location.rack %]</nmtb:rack>[% END %] [% IF node.location.shelf %]<nmtb:shelf>[% node.location.shelf %]</nmtb:shelf>[% END %] [% IF node.location.longitude %]<nmtb:longitude>[% node.location.longitude %]</nmtb:longitude>[% END %] [% IF node.location.latitude %]<nmtb:latitude>[% node.location.latitude %]</nmtb:latitude>[% END %] </nmtb:location> <nmtl3:port id="urn:ogf:network:domain=[% node.domain %]:node=[% node.id %]:port=[% node.port.ipAddress %]"> <nmtl3:ipAddress type="IPv4">[% node.port.ipAddress %]</nmtl3:ipAddress> </nmtl3:port> [% IF node.comments %]<nmtb:comments>[% node.comments %]</nmtb:comments>[% END %] </nmtb:node> [% END %] </nmtb:topology>
Creation of 'store' file
running the following will generate the xml topology store file:
[ytl@pinger:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/MA/PingER]$ ./pinger_topology.pl > pinger_topology.xml
An example snippet of the xml is here:
<nmtb:topology xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070707/" xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070707/" xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070707 /" xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070707/"> <nmtb:node id="urn:ogf:network:domain=lanl.gov:node=www"> <nmtb:name type="string">www</nmtb:name> <nmtb:hostName>www.lanl.gov</nmtb:hostName> <nmtb:description></nmtb:description> <nmtb:location> <nmtb:institution>Los Alamos National Laboratory</nmtb:institution> <nmtb:country>United States</nmtb:country> <nmtb:state>NM</nmtb:state> <nmtb:city>Los Alamos</nmtb:city> <nmtb:longitude>35.73</nmtb:longitude> <nmtb:latitude>-105.15</nmtb:latitude> </nmtb:location> <nmtl3:port id="urn:ogf:network:domain=lanl.gov:node=www:port=204.121.x.y"> <nmtl3:ipAddress type="IPv4">204.121.x.y</nmtl3:ipAddress> </nmtl3:port> </nmtb:node> <nmtb:node id="urn:ogf:network:domain=cnea.gov.ar:node=eros"> <nmtb:name type="string">eros</nmtb:name> <nmtb:hostName>eros.cnea.gov.ar</nmtb:hostName> <nmtb:description></nmtb:description> <nmtb:location> <nmtb:institution>Tandar/CNEA</nmtb:institution> <nmtb:country>Argentina</nmtb:country> <nmtb:city>Buenos Aires</nmtb:city> <nmtb:longitude>-34.617</nmtb:longitude> <nmtb:latitude>-58.400</nmtb:latitude> </nmtb:location> <nmtl3:port id="urn:ogf:network:domain=cnea.gov.ar:node=eros:port=168.96.x.y"> <nmtl3:ipAddress type="IPv4">168.96.x.y</nmtl3:ipAddress> </nmtl3:port> <nmtb:comments>[Beacon - Argentina monitoring, add 12/8/0] (Tandar - Particle Accelerator/CNEA, Centro Atomico Constituyentes (CAC), Buenos Aires campus, Argentina)</nmtb:comments> </nmtb:node> ...
(note some ip;s were stripped for security)
Deployment and configuration of Topology Service
Currently the various perfSONAR services are still under development, so this step should be a lot simpler in the future (not that it isn't now)
The service will be deployed on
http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology
Check out source from SVN
We will create a directory called perfSONAR
and checkout the current snapshot to it.
[iepm-bw@lhcopnmon1-mgm ~]$ mkdir perfSONAR [iepm-bw@lhcopnmon1-mgm ~]$ cd perfSONAR/ [iepm-bw@lhcopnmon1-mgm perfSONAR]$ /usr/bin/svn co https://svn.internet2.edu/svn/perfSONAR-PS .
After a bit of time, all of the snapshot will be put inside.
The directory that we are interested in is at:
./branches/merge/services/Topology
Configuration
There is a config file available to automate much of the install:
[iepm-bw@lhcopnmon1-mgm Topology]$ ./configure.pl -- perfSONAR-PS Topology MA Configuration -- - [press enter for the default choice] - What file should I write the configuration to? [topology.conf]: Enter the listen port [8083]: Enter the listen end point [/perfSONAR_PS/services/topology]: Enter the maximum number of children processes (0 means infinite) [4]: Enter number of seconds a child can process before it is stopped (0 means infinite) [0]: 180 Enter the directory containing the XML Database (if relative, it's relative to the installation directory) [xmldb]: Enter the filename for the XML Database [topology.dbxml]: Is this service read-only? [1]: Will this service register with an LS [1]: Enter the number of minutes between LS registrations [30]: URL of an LS to register with [http://perfSONAR2.cis.udel.edu:8181/perfSONAR_PS/services/LS]: http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS Enter a name for this service [Topology MA]: Enter the service type [MA]: Enter a service description [Topology MA]: External hostname for this service []: External hostname for this service []: lhcopnmon1-mgm Writing topology.conf: done. Checking dependencies for desired configuration... mkdir /root/.cpan: Permission denied at /usr/lib/perl5/5.8.5/CPAN.pm line 2342
Needs root. dont' have it. Stalled.
Necessary libaries were installed my Maxim with privileges
Data Loading
[iepm-bw@lhcopnmon1-mgm Topology]$ /usr/local/bin/perl ./utils/loadDatabase.pl --db_dir=xmldb --db_file=topology.dbxml ../../../../../pinger_topology.xml
Spits out lots of stuff, but as long as there are db inserts, we should be okay
Starting the Service
[iepm-bw@lhcopnmon1-mgm Topology]$ /usr/local/bin/perl topology.pl --verbose perfSONAR_PS::Common::mapNamespaces() called too early to check prototype at ../../lib/perfSONAR_PS/Common.pm line 416. 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found ENABLE_REGISTRATION = "1". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found ENDPOINT = "/perfSONAR_PS/services/topology". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found LS_INSTANCE = "http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found LS_REGISTRATION_INTERVAL = "30". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found MAX_WORKER_LIFETIME = "180". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found MAX_WORKER_PROCESSES = "4". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found PORT = "8083". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found READ_ONLY = "1". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found SERVICE_ACCESSPOINT = "http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found SERVICE_DESCRIPTION = "Topology MA". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found SERVICE_NAME = "Topology MA". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found SERVICE_TYPE = "MA". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_ENVIRONMENT = "xmldb". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_FILE = "topology.dbxml". 2007/10/16 18:34:09 (2745) DEBUG> Common.pm:182 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_TYPE = "XML". 2007/10/16 18:34:09 (2745) DEBUG> topology.pl:143 main:: - Starting '2745' 2007/10/16 18:34:09 (2745) ERROR> Topology.pm:39 perfSONAR_PS::MA::Topology::init - No database type specified 2007/10/16 18:34:09 (2745) ERROR> topology.pl:146 main:: - Couldn't initialize Topology MA
The problem was associated running the wrong version. Having changed to the branch
branch/aaron_release/perfSONAR-PS-MA-Topology-1.0
The service runs fine.
[iepm-bw@lhcopnmon1-mgm perfSONAR-PS-MA-Topology-1.0]$ /usr/local/bin/perl topology.pl --verbose 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found ENABLE_REGISTRATION = "1". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found ENDPOINT = "/perfSONAR_PS/services/topology". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found LS_INSTANCE = "http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found LS_REGISTRATION_INTERVAL = "30". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found MAX_WORKER_LIFETIME = "180". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found MAX_WORKER_PROCESSES = "4". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found PORT = "8083". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found READ_ONLY = "1". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found SERVICE_ACCESSPOINT = "http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found SERVICE_DESCRIPTION = "Topology MA". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found SERVICE_NAME = "Topology MA". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found SERVICE_TYPE = "MA". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_ENVIRONMENT = "xmldb". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_FILE = "topology.dbxml". 2007/10/22 19:16:02 (9610) DEBUG> Common.pm:178 perfSONAR_PS::Common::readConfiguration - Found TOPO_DB_TYPE = "XML". 2007/10/22 19:16:02 (9610) DEBUG> topology.pl:144 main:: - Starting '9610' 2007/10/22 19:16:02 (9610) DEBUG> Transport.pm:165 perfSONAR_PS::Transport::startDaemon - Starting daemon. 2007/10/22 19:16:02 (9611) DEBUG> topology.pl:183 main::measurementArchive - Starting '9611' as the MA. 2007/10/22 19:16:02 (9611) DEBUG> Transport.pm:183 perfSONAR_PS::Transport::acceptCall - Accepting calls. 2007/10/22 19:16:02 (9612) DEBUG> topology.pl:225 main::registerLS - Starting '9612' for LS registration 2007/10/22 19:16:02 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:domain" received. 2007/10/22 19:16:02 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:node" received. 2007/10/22 19:16:03 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:port" received. 2007/10/22 19:16:03 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:link" received. 2007/10/22 19:16:03 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:network" received. 2007/10/22 19:16:03 (9612) DEBUG> XMLDB.pm:162 perfSONAR_PS::DB::XMLDB::query - Query "collection('topology.dbxml')/*:path" received. 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:144 perfSONAR_PS::Transport::getHttpURI - Created URI: http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:312 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS": <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message type="EchoRequest" id="message.1141459" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmwg:metadata id="metadata.17318171" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmwg:eventType>http://schemas.perfsonar.net/tools/admin/echo/ls/2.0</nmwg:eventType> </nmwg:metadata> <nmwg:data id="data.3397211" metadataIdRef="metadata.17318171" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"/> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:330 perfSONAR_PS::Transport::sendReceive - Response returned: <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.12459950" messageIdRef="message.1141459" type="EchoResponse"> <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.16221843" metadataIdRef="metadata.17318171"> <nmwg:eventType>success.echo</nmwg:eventType> </nmwg:metadata> <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.16890435" metadataIdRef="metadata.16221843"> <nmwgr:datum xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">The echo request has passed.</nmwgr:datum> </nmwg:data> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): ./nmwg:metadata/nmwg:eventType 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): ./*[name()='nmwg:metadata']/*[name()='nmwg:eventType'] 2007/10/22 19:16:03 (9612) DEBUG> Register.pm:153 perfSONAR_PS::LS::Register::callLS - Request was successful. 2007/10/22 19:16:03 (9612) DEBUG> Messages.pm:52 perfSONAR_PS::Messages::getResultMessage - Result message created. 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:144 perfSONAR_PS::Transport::getHttpURI - Created URI: http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:312 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS": <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/" xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/" id="message.7491025" type="LSRegisterRequest"> <nmwg:parameters id="parameters.12805911"> <nmwg:parameter name="lsTTL">1800</nmwg:parameter> </nmwg:parameters> <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.3525202"> <nmwg:key id="key.3983432"> <nmwg:parameters id="parameters.6682641"> <nmwg:parameter name="lsKey">http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology</nmwg:parameter> </nmwg:parameters> </nmwg:key> </nmwg:metadata> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:330 perfSONAR_PS::Transport::sendReceive - Response returned: <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.9797337" messageIdRef="message.7491025" type="LSRegisterResponse"> <nmwg:parameters id="parameters.12805911"> <nmwg:parameter name="lsTTL">1800</nmwg:parameter> </nmwg:parameters> <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.8192606"> <nmwg:eventType>error.ls.registration.data_trigger_missing</nmwg:eventType> </nmwg:metadata> <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.7167798" metadataIdRef="metadata.8192606"> <nmwgr:datum xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">No data triggers found in request.</nmwgr:datum> </nmwg:data> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): ./nmwg:metadata/nmwg:eventType 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): ./*[name()='nmwg:metadata']/*[name()='nmwg:eventType'] 2007/10/22 19:16:03 (9612) ERROR> Register.pm:159 perfSONAR_PS::LS::Register::callLS - Request failed. 2007/10/22 19:16:03 (9612) DEBUG> Messages.pm:52 perfSONAR_PS::Messages::getResultMessage - Result message created. 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:144 perfSONAR_PS::Transport::getHttpURI - Created URI: http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:312 perfSONAR_PS::Transport::sendReceive - Sending information to "http://patdev0.internet2.edu:6666/perfSONAR_PS/services/LS": <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/" xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/" id="message.10927001" type="LSRegisterRequest"> <nmwg:parameters id="parameters.12805911"> <nmwg:parameter name="lsTTL">1800</nmwg:parameter> </nmwg:parameters> <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.3525202"> <perfsonar:subject xmlns:perfsonar="http://ggf.org/ns/nmwg/tools/org/perfsonar/1.0/"> <psservice:service xmlns:psservice="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/1.0/"> <psservice:serviceName>Topology MA</psservice:serviceName> <psservice:accessPoint>http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology</psservice:accessPoint> <psservice:serviceType>MA</psservice:serviceType> <psservice:serviceDescription>Topology Measurement Archive</psservice:serviceDescription> </psservice:service> </perfsonar:subject> </nmwg:metadata> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Transport.pm:330 perfSONAR_PS::Transport::sendReceive - Response returned: <?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.12161453" messageIdRef="message.10927001" type="LSRegisterResponse"> <nmwg:parameters id="parameters.12805911"> <nmwg:parameter name="lsTTL">1800</nmwg:parameter> </nmwg:parameters> <nmwg:metadata xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="metadata.3912510"> <nmwg:eventType>error.ls.registration.data_trigger_missing</nmwg:eventType> </nmwg:metadata> <nmwg:data xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="data.13414266" metadataIdRef="metadata.3912510"> <nmwgr:datum xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">No data triggers found in request.</nmwgr:datum> </nmwg:data> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): ./nmwg:metadata/nmwg:eventType 2007/10/22 19:16:03 (9612) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): ./*[name()='nmwg:metadata']/*[name()='nmwg:eventType'] 2007/10/22 19:16:03 (9612) ERROR> Register.pm:159 perfSONAR_PS::LS::Register::callLS - Request failed. 2007/10/22 19:16:03 (9612) ERROR> Register.pm:270 perfSONAR_PS::LS::Register::register_withData - Unable to register data with LS. 2007/10/22 19:16:32 (9611) DEBUG> Transport.pm:188 perfSONAR_PS::Transport::acceptCall - Accept returned nothing, likely a timeout occurred 2007/10/22 19:16:32 (9611) DEBUG> topology.pl:213 main::measurementArchive - Reaping children
Seems like the LS registration failed. anyway...
Testing
Echo
<nmwg:message type="EchoRequest" id="id1" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmwg:metadata id="meta" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmwg:eventType>echo.ma</nmwg:eventType> </nmwg:metadata> <nmwg:data id="data" metadataIdRef="meta" xmlns:nmwg="http://ggf.org/ns/nmwg/b ase/2.0/"/> </nmwg:message>
[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology /tmp/echo.xml 2007/10/22 17:22:33 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created. 2007/10/22 17:22:33 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://lhcopnmon1-mgm.fnal.gov:8083//perfSONAR_PS/services/topology". 2007/10/22 17:22:33 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned. <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" id="message.8356580" messageIdRef="id1" type="EchoResponse"> <nmwg:metadata id="metadata.10192681" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" metadataIdRef="meta" > <nmwg:eventType>success.echo</nmwg:eventType> </nmwg:metadata> <nmwg:data id="data.1575137" metadataIdRef="metadata.10192681"> <nmwgr:datum xmlns:nmwgr="http://ggf.org/ns/nmwg/result/2.0/">The echo request has passed.</nmwgr:datum> </nmwg:data> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
2007/10/22 19:22:31 (9611) DEBUG> Transport.pm:183 perfSONAR_PS::Transport::acceptCall - Accepting calls. 2007/10/22 19:22:33 (9611) INFO> Transport.pm:192 perfSONAR_PS::Transport::acceptCall - Received call from: 134.79.24.133 2007/10/22 19:22:33 (9611) DEBUG> Transport.pm:240 perfSONAR_PS::Transport::acceptCall - Accepted call. 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:400 perfSONAR_PS::Common::reMap - Setting namespace "http://schemas.xmlsoap.org/soap/envelope/" with prefix "SOAP-ENV". 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:400 perfSONAR_PS::Common::reMap - Setting namespace "http://ggf.org/ns/nmwg/base/2.0/" with prefix "nmwg". 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): .//nmwg:message 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): .//*[name()='nmwg:message'] 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): ./nmwg:metadata[@id="meta"] 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): ./*[name()='nmwg:metadata' and @id="meta"] 2007/10/22 19:22:33 (9611) DEBUG> Transport.pm:258 perfSONAR_PS::Transport::acceptCall - Matching MD/D pair found: data "data" and metadata "meta". 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:23 perfSONAR_PS::Common::find - Query(pre-process): ./nmwg:eventType 2007/10/22 19:22:33 (9611) DEBUG> Common.pm:27 perfSONAR_PS::Common::find - Query(post-process): ./*[name()='nmwg:eventType'] 2007/10/22 19:22:33 (9611) DEBUG> Transport.pm:265 perfSONAR_PS::Transport::acceptCall - The echo request has passed. 2007/10/22 19:22:33 (9611) DEBUG> Messages.pm:93 perfSONAR_PS::Messages::getResultCodeMetadata - Result code metadata created. 2007/10/22 19:22:33 (9611) DEBUG> Messages.pm:120 perfSONAR_PS::Messages::getResultCodeData - Result code data created. 2007/10/22 19:22:33 (9611) DEBUG> Messages.pm:52 perfSONAR_PS::Messages::getResultMessage - Result message created. 2007/10/22 19:22:33 (9611) DEBUG> Topology.pm:138 perfSONAR_PS::MA::Topology::receive - Received 'shadow' request from below; no action required. 2007/10/22 19:22:33 (9611) INFO> Request.pm:261 perfSONAR_PS::Request::finish - Seconds required to handle request from 134.79.24.133: 0 2007/10/22 19:22:33 (9611) DEBUG> Request.pm:265 perfSONAR_PS::Request::finish - Closing call.
Query for Everything
<nmwg:message type="SetupDataRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmwg:metadata id="meta1"> <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/all/20070809</nmwg:eventType> </nmwg:metadata> <nmwg:data id="data1" metadataIdRef="meta1"/> </nmwg:message>
[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology /tmp/hosts.xml | tidy 2007/10/22 17:24:57 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created. 2007/10/22 17:24:57 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://lhcopnmon1-mgm.fnal.gov:8083//perfSONAR_PS/services/topology". 2007/10/22 17:24:59 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned. No warnings or errors were found. <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070828/" xmlns:ctrlplane="http://ogf.org/schema/network/topology/ctrlPlane/20070828/" xmlns:transport="http://ogf.org/schema/network/topology/transport/20070828/" xmlns:sonet="http://ogf.org/schema/network/topology/sonet/20070828/" xmlns:ipv6="http://ogf.org/schema/network/topology/ipv6/20070828/" xmlns:ipv4="http://ogf.org/schema/network/topology/ipv4/20070828/" xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070828/" xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070828/" xmlns:ethernet="http://ogf.org/schema/network/topology/ethernet/20070828/" xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070828/" id="7249969" type="SetupDataRequest"> <nmwg:metadata id="meta1"> <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/all/20070809</nmwg:eventType> </nmwg:metadata> <nmwg:data id="data.15913461" metadataIdRef="meta1" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmtopo:topology xmlns:ctrlplane="http://ogf.org/schema/network/topology/ctrlPlane/20070828/" xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070828/" xmlns:ipv6="http://ogf.org/schema/network/topology/ipv6/20070828/" xmlns:sonet="http://ogf.org/schema/network/topology/sonet/20070828/" xmlns:transport="http://ogf.org/schema/network/topology/transport/20070828/" xmlns:ipv4="http://ogf.org/schema/network/topology/ipv4/20070828/" xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070828/" xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070828/" xmlns:ethernet="http://ogf.org/schema/network/topology/ethernet/20070828/" xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/" xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070828/"> <nmtb:node xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070707/" id="urn:ogf:network:domain=radio-msu.net:node=ns2"> <nmtb:name type="string">ns2</nmtb:name> <nmtb:hostName>ns2.radio-msu.net</nmtb:hostName> <nmtb:description /> <nmtb:location> <nmtb:institution>Moscow State University Network-Radio</nmtb:institution> <nmtb:country>Russia</nmtb:country> <nmtb:city>Moscow</nmtb:city> <nmtb:longitude>55.750</nmtb:longitude> <nmtb:latitude>37.583</nmtb:latitude> </nmtb:location> <nmtl3:port xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070707/" id="urn:ogf:network:domain=radio-msu.net:node=ns2:port=194.67.223.143"> <nmtl3:ipAddress type="IPv4">194.67.223.143</nmtl3:ipAddress> </nmtl3:port> </nmtb:node> <nmtb:node xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070707/" id="urn:ogf:network:domain=cuc.edu.ve:node=www"> <nmtb:name type="string">www</nmtb:name> <nmtb:hostName>www.cuc.edu.ve</nmtb:hostName> <nmtb:description /> <nmtb:location> <nmtb:institution>Colegio Universitario de Caracas</nmtb:institution> <nmtb:country>Venezuela</nmtb:country> <nmtb:city>Caracas</nmtb:city> <nmtb:longitude>10.5</nmtb:longitude> <nmtb:latitude>-66.92</nmtb:latitude> </nmtb:location> <nmtb:comments>Add by Cottrell 2/23/07.</nmtb:comments> <nmtl3:port xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070707/" id="urn:ogf:network:domain=cuc.edu.ve:node=www:port=201.249.255.87"> <nmtl3:ipAddress type="IPv4">201.249.255.87</nmtl3:ipAddress> </nmtl3:port> </nmtb:node> ...
Get list of hosts
<nmwg:message type="SetupDataRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/"> <nmwg:metadata id="meta1"> <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/xquery/20070809</nmwg:eventType> <xquery:subject id="sub1" xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/"> //*:node/*:hostName/text() </xquery:subject> </nmwg:metadata> <nmwg:data id="data1" metadataIdRef="meta1"/> </nmwg:message>
[ytl@Yees-Ubuntu:~/Work/perfSONAR/perfSONAR-PS/trunk/perfSONAR-PS/client]$ ./client.pl http://lhcopnmon1-mgm.fnal.gov:8083/perfSONAR_PS/services/topology /tmp/query.xml | tidy 2007/10/22 17:44:08 DEBUG> Transport.pm:469 perfSONAR_PS::Transport::makeEnvelope - Envelope created. 2007/10/22 17:44:08 DEBUG> Transport.pm:488 perfSONAR_PS::Transport::sendReceive - Sending information to "http://lhcopnmon1-mgm.fnal.gov:8083//perfSONAR_PS/services/topology". 2007/10/22 17:44:08 DEBUG> Transport.pm:505 perfSONAR_PS::Transport::sendReceive - Response returned. No warnings or errors were found. <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <nmwg:message xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:nmtl2="http://ogf.org/schema/network/topology/l2/20070828/" xmlns:ctrlplane="http://ogf.org/schema/network/topology/ctrlPlane/20070828/" xmlns:transport="http://ogf.org/schema/network/topology/transport/20070828/" xmlns:sonet="http://ogf.org/schema/network/topology/sonet/20070828/" xmlns:ipv6="http://ogf.org/schema/network/topology/ipv6/20070828/" xmlns:ipv4="http://ogf.org/schema/network/topology/ipv4/20070828/" xmlns:nmtl3="http://ogf.org/schema/network/topology/l3/20070828/" xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/" xmlns:nmtl4="http://ogf.org/schema/network/topology/l4/20070828/" xmlns:ethernet="http://ogf.org/schema/network/topology/ethernet/20070828/" xmlns:nmtopo="http://ogf.org/schema/network/topology/base/20070828/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nmtb="http://ogf.org/schema/network/topology/base/20070828/" id="7249969" type="SetupDataRequest"> <nmwg:metadata id="meta1"> <nmwg:eventType>http://ggf.org/ns/nmwg/topology/query/xquery/20070809</nmwg:eventType> <xquery:subject xmlns:xquery="http://ggf.org/ns/nmwg/tools/org/perfsonar/service/lookup/xquery/1.0/" id="sub1"> //*:node/*:hostName/text()</xquery:subject> </nmwg:metadata> <nmwg:data id="data.15913461" metadataIdRef="meta1" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/"> <nmtopo:topology>ns2.radio-msu.net www.cuc.edu.ve www.cck.rnu.tn www.egerton.ac.ke www.uem.mz www.registro.br fw98.ht.hr www.uzulu.ac.za www.uam.es ns2.retina.ar wiggum.mcs.anl.gov www.ic.cd www.nask.pl scipp.ucsc.edu www.pau.edu.kz www.dvo.ru www.kall.fo rftpexp.rhic.bnl.gov www.uoa.gr www.physics.purdue.edu mail.icta.mu lattice.wa.aarnet.net.au www.hep.uiuc.edu pupgg.princeton.edu www.ams.ac.ir dad.finance.gov.mv www.bu.edu www.singaren.net.sg www.indiana.edu ping.unesp.br pinger.nchc.org.tw www.uib.no squid-cache-1.sun.ac.za ns.kiev.ua institutokilpatrick.edu.pa svr1dx.fisica.uniud.it net.shams.edu.eg ping.cs.wisc.edu sitka.triumf.ca ccd0.in2p3.fr cpr-sjtu.sjtu.edu.cn neutron.ing.ucv.ve www.hep.brandeis.edu customer-side1-telecomalbania.atnet.com.al ns.rcub.bg.ac.yu pinger.pern.edu.pk dept.physics.upenn.edu www.marwan.ma www.rtu.lv www.embratel.net.br hepwww.ph.qmw.ac.uk spruna.if.usp.br zebu.uoregon.edu cdfserv.mps.ohio-state.edu www.iop.org www.ionmed.agh.edu.pl www.unikin.cd www.arundel.ac.zw ns.sinp.msu.ru www.hepi.edu.ge www.uda.ad ps.uci.edu www.mppmu.mpg.de pinger.alquds.edu cithep130.ultralight.org www.novagest.co.ao www.uia.mx ns1.priorweb.be lns62.lns.cornell.edu www.criba.edu.ar ns1.zu.ae www.itp.ac.cn davinci.ampath.net www.cbs.co.ls om16.omantel.net.om www.ucsd.edu www.triumf.ca www.uoi.gr www.muchs.ac.tz www.yumit.am www.umss.edu.bo mathrisc1.lunet.edu www.belnet.net dns2.gtelecom.gw www.bracuniversity.net www.uzsci.net ping.rhnet.is ping.rmki.kfki.hu www.univ-batna.dz www.uol.com.br www.in2p3.fr www.unimelb.edu.au www.6telecoms.co.tz www.univ-mahajanga.mg www.conare.ac.cr gye.impsat.net.ec www.uca.edu.sv pinger.hep.caltech.edu www.ac.lk manila.global.net.pg www.vnn.vn www.ru.ac.za www.indosat.net.id guide.just.edu.jo www.univ-tlemcen.dz www.carnet.hr hep.physics.mcgill.ca www.post.gl www.camtel.cm dns.sinica.edu.tw www.museumsnc.co.za mail.lttnet.net www.douanes.ci squark.phys.washington.edu v-www.ihep.ac.cn www.camnet.cm www.rnu.edu.ng mail.hep.by www.uerm.edu.ph www.ucci.org.ua ns1.tcd.ie dsna1.na.infn.it yalph2.physics.yale.edu 193.222.119.6 tg.refer.org www.cnepd.edu.dz www.thphys.may.ie www.tau.ac.il www.u-tokyo.ac.jp info.fuw.edu.pl aias.cs.ucy.ac.cy dzero.bu.edu www.lip.pt netops.cdac.in www.dsl.net.pk www.nikhef.nl mail.fcien.edu.uy www.kie.ac.rw www.multi.net.pk ns.hip.fi www.eldjazair.net.dz pinwheel.princeton.edu wanmoninst1.cern.ch www.inp.kz mail.africell.sl slac.iugaza.edu ping.phys.hawaii.edu www.unn.ru www.refer.mg www.sustech.edu pinger.cdacmumbai.in www.csir.org.gh www.tut.ac.za www.bunda.unima.mw ping.slac.stanford.edu www.una.py www.maurifemme.mr www.kph.uni-mainz.de ping.isnic.is www.hellenic.ac.zw www.achimota.edu.gh namunu.learn.ac.lk d0.fzk.de www.tse.com.er www.hep.anl.gov www.tresor.ga www.uni-mb.si portal.ucb.edu.bo www.mzuni.ac.mw charm.physics.ucsb.edu juarez-med.core.cudi.edu.mx www.knu.ac.kr thorin.physik.uni-mainz.de ludens.elte.hu ns.hepgrid.uerj.br www.ioe.edu.np www.ait.ac.th www.mu.edu.et www.sify.com pop3.inil.com www.ag3l.ga www.unesp.br ftp.stsci.edu netslave1.cc.monash.edu.au ftp.physics.carleton.ca www.mt.net.mk www.micti.co.mz amp-kiwi.cs.waikato.ac.nz lepton.pa.msu.edu www.fnal.gov www.tanta.edu.eg znsun1.ifh.de www.asm.md www.dos.gov.jo www.eng.bellsouth.net cdcnet.uniandes.edu.co www.cau.ac.kr www.cmsfq.edu.ec www.ihep.ac.cn www.irk.ru linhost2.utic.net.ba www.umc.edu.dz alfalfa.pas.rochester.edu monitor.niit.edu.pk ngl2.internal.nextgen.net.mt www.brunet.bn drw-a-pm1.aarnet.net.au kadri.ut.ee www.puc.cl bow.intnet.dj www.camnet.com.kh www.rmit.edu.vn www.ucan.edu pinger.comsats.edu.pk www.univ-sba.dz ns1.restena.lu ns.cybercentro.com.sv www.nust.ac.zw www.kazrena.kz multivac.sdsc.edu www.monash.edu.my ns1.es.net julius.ktl.mii.lt www.physics.rutgers.edu ba.sanet.sk ftp.noao.edu moe.rice.edu www.pnae.mg www.pieas.edu.pk www.webster.ac.th lo-0-gw.dsl.net.pk buphy.bu.edu mail2.starcom.co.ug www.globalnet.cm www.anadolu.edu.tr www.cudi.edu.mx ns1.gov.sc pinger.khu.ac.kr www.ml.refer.org lattice.act.aarnet.net.au www.sci.am www.ird.ne www.usep.edu.ph ns1.retina.ar www.ecm.ub.es www.dcc.uchile.cl www.llnl.gov www.ifs.ac.lk www.ecnu.edu.cn ippm.cac.washington.edu www.fapesp.br www.tpn.bg www.weizmann.ac.il www.ill.fr frcu.eun.eg ns1.utexas.edu cchpssd0.in2p3.fr www.uac.bj.refer.org w4.lns.cornell.edu pinger.bnl.org www.jinr.dubna.su www.upng.ac.pg www.alquds.edu www.uoa.edu.er sanchar.ncb.ernet.in c1.sgp.arm.gov pinger.ictp.it www.parlament.al pinger.stanford.edu hba-a-pm1.aarnet.net.au rainbow.inp.nsk.su www.hallym.ac.kr mail.qanet.gm pdp15.hep.princeton.edu www.nbi.dk www-hep.phys.cmu.edu www.harvard.edu www.cas.ac.ma enterprise.phys.vt.edu www.unitec.edu www.rwandaparliament.gov.rw www.impots.gov.cm lnfnet.lnf.infn.it cc.iut.ac.ir www.ifj.edu.pl www.qou.edu www.univ-mosta.dz www.gsi.de www.uabobo.ci www.bta.org.bw www.ahome.tg borcenbg1.in2p3.fr www.cas.ac.ls oragon.uni.net.th xserver1.nrl.navy.mil www.buid.ac.ae www.ru.ac.bd infnge.ge.infn.it 194.67.213.1 www.uran.ru hep1.c.u-tokyo.ac.jp lattice.nsw.aarnet.net.au www.wb.sdnpk.org mail.gnet.tn www.seua.am www.kenet.or.ke ping.lafex.cbpf.br mail.kipt.kharkov.ua www.tsc.ru uniweb.uni-lj.si ust.edu.sd www.duet.ac.bd www.slac.stanford.edu pa.cache.nlanr.net www.sdsc.edu www.facest.sld.cu snap.lanl.gov www.csir.co.za www.pgia.ac.lk dxcnaf.cnaf.infn.it www.lahoreschoolofeconomics.edu.pk ns1.uta.edu www.hep.brown.edu fnal.fnal.gov www.ps.uci.edu cir.red.sv www.unicomer.deusto.es ping.desy.de www.refer.sn mail.prl.res.in www.psi.gov.ps www.kku.edu.sa ouhep1.nhn.ou.edu www.hz.zj.cn www.montclair.edu brunsvigia.tenet.ac.za ns.fpf.br www.cern.ch mail.comium.com.lr mercury.uvic.ca main.kyungwon.ac.kr utkvm1.utk.edu www.aims.ac.za www.globalone.com.br chez.mana.pf pp2.it.su.se ping.cern.ch www.hut.edu.vn www.ubd.edu.bn ongkot.kmutt.ac.th mcs.anl.gov ns.conacyt.gob.sv www.singtel.com www.iucc.ac.il www.lanl.gov www.umg.edu.gt www.fisica.edu.uy www.uchicago.edu uc.cache.nlanr.net mail.comium.com.sl www.pol34.pl ns.dns.br www-05.nexus.ao www.ndu.edu.lb icfamon.rl.ac.uk www.intercollege.ac.cy www.cst.edu.ve ns.jp.apan.net www.absrsm.sm www.umbb.dz www.okstate.edu statmach5.es.net pollinbg.in2p3.fr www.pgis.lk kviexp.kvi.nl www-hep.llnl.gov www.vu.lt megspo.megsinet.net www.uet.edu.pk wwwhep.phys.uvic.ca sirsyed.ssuet.edu.pk www.phy.bris.ac.uk www.kek.jp web.africaonline.co.sz www.ajyalalmwaheb.edu.sa mctest.itep.ru www.lau.edu.lb www.utm.my www.vma.edu.ph www.nuuz.uzsci.net www.rsu.ac.th www.pa.msu.edu ns.osaka-u.ac.jp www.kist.ac.rw sfsmds2.vsnl.net pinger2.niit.edu.pk if.ufrj.br www.ntc.net.np mel-a-ext1.aarnet.net.au dns.edu.cn www.cgg.gov.in lattice.qld.aarnet.net.au pinger.ascr.doe.gov eng.kstu.kz www.colegiosimonbolivar.edu.ve www.mof.gov.sd cad.zju.edu.cn nic.nordu.net www.nic.ni www.giki.edu.pk glastlnx06.slac.stanford.edu www.acet.or.tz www.cyfronet.krakow.pl l.root-servers.net glast.phys.washington.edu iepmbw.bnl.org www.credis.ro www.ciim.ac.cy www.auth.gr waib.gouv.bj www.msu.ru www.most.gov.np www.fulbright.org.cy www.multinet.af ns.fq.edu.uy kitka.marnet.mk icfamon.dl.ac.uk mbl.dsl.net.pk www.voe.at ns2.ucc.edu.gh snoopy.riken.jp www.cbn.net.id d.root-servers.net pinger.es.net www.rol.net.mv mail.neda.af eltca1.epfl.ch www.cnic.edu.cu www.ucla.edu www.uma.rnu.tn www.online.tm pinger-ncp.ncp.edu.pk hepnrc.hep.net www.ihep.su pinger.cse.ust.hk www.aau.edu.et www.utl.co.ug ippm-surveyor.nts.umn.edu adl-a-ext1.aarnet.net.au gold.sao.nrc.ca www.agristats.gov.na www-unix.mcs.anl.gov www.aec.mk argus.stanford.edu www.infn.it www.physik.rwth-aachen.de eros.cnea.gov.ar gamsv01.in2p3.fr www.phys.s.u-tokyo.ac.jp infn-garr.pi.infn.it ns.prl.res.in needmore.physics.indiana.edu www.indo.net.id www.rna.ao ccpntc3.in2p3.fr www.rub.edu.bt mull.eauburkina.bf www.runnet.ru www.lunet.edu www.adsl.com.na www.physics.umd.edu fisica.usac.edu.gt www.afe.mr</nmtopo:topology> </nmwg:data> </nmwg:message> </SOAP-ENV:Body> </SOAP-ENV:Envelope>