IEPM

IEPM Web Services

SLAC Home Page

Old IEPM Web Services

This service has been obsoleted!
Refer to IEPM Web Services Main Page for the latest supported schemas

IEPM-BW The model followed for the IEPM-BW data definition is the one outlined in the October Network Measurement Working Group schema ( NM-WG .xsd). The service provided is described by a WSDL document: IEPM_profile.wsdl.

IEPM-BW implemented measurements

Information on the tools we use can be found in the IEPM Bandwidth Measurements web page (here)
The monitoring tools that we have data for are:

The set of measurement that can be accessed for each of this tools is:

CharacteristicToolName
path.bandwidth.achievable.TCPiperf
path.bandwidth.achievable.TCP.multiStreamiperf, bbftp, GridFTP
path.bandwidth.capacityABwE
path.bandwidth.utilizationABwE

SOAP


You can write your own client code using the Perl module SOAP::Lite. For reference, we provide in the following some Perl example code.
If you don't have SOAP::Lite, you could try our services using a generic SOAP client, located at:
SOAPClient.com.

Retrieving path.bandwidth.achievable.TCP with a SOAP client

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

use SOAP::Lite;
my $node = "node1.cacr.caltech.edu";
my $timePeriod="20031201-20031205T143000";

my $measurement = SOAP::Lite
    ->service('http://www-iepm.slac.stanford.edu/tools/soap/wsdl/IEPM_profile.wsdl')
    ->GetBandwidthAchievableTCP("$node", "$timePeriod");

print $measurement->{'subject'}->{'destination'}->{'name'},"\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP'}->{'timestamp'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP'}->{'achievableThroughputResult'}->{'value'},"\n";

Retrieving path.bandwidth.achievable.TCP.multistream with a SOAP client

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

use SOAP::Lite;
my $node       = "node1.cacr.caltech.edu";
my $timePeriod ="20031201-20031205T143000";
my $toolName   = "iperf";
my $streams    = 8; 
my $measurement = SOAP::Lite
    ->service('http://www-iepm.slac.stanford.edu/tools/soap/wsdl/IEPM_profile.wsdl')
    ->GetBandwidthAchievableTCPMultiStream("$node", "$timePeriod","$toolName", "$streams");

print $measurement->{'subject'}->{'destination'}->{'name'},"\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP.multiStream'}->{'timestamp'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP.multiStream'}->{'achievableThroughputResult'}->{'value'},"\n";

Retrieving path.bandwidth.utilization and path.bandwidth.capacity with a SOAP client

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

use SOAP::Lite;
my $node       = "node1.cacr.caltech.edu";
my $timePeriod ="20031201-20031205T143000";
my $measurement = SOAP::Lite
    ->service('http://www-iepm.slac.stanford.edu/tools/soap/wsdl/IEPM_profile.wsdl')
    ->GetBandwidthAvailable("$node", "$timePeriod");

print $measurement->{'subject'}->{'destination'}->{'name'}, "\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.utilization'}->{'bandwidthResult'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.utilization'}->{'bandwidthResult'}->{'value'},"\n";
print $measurement->{'path.bandwidth.capacity'}->{'bandwidthResult'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.capacity'}->{'bandwidthResult'}->{'value'},"\n";


XMLRPC

Similarly you can retrieve our data using Perl XMLRPC::Lite.
Again, some example code follows.

Retrieving path.bandwidth.achievable.TCP with a XMLRPC client

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

use XMLRPC::Lite;
my $node = "node1.cacr.caltech.edu";
my $timePeriod="20031201-20031205T143000";

my $measurement = XMLRPC::Lite
    ->proxy('http://www-iepm.slac.stanford.edu/cgi-wrap/advisor.cgi')
    ->call('IEPM.GetBandwidthAchievableTCP',"$node", "$timePeriod")
    ->result;

print $measurement->{'subject'}->{'destination'}->{'name'},"\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP'}->{'timestamp'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP'}->{'achievableThroughputResult'}->{'value'},"\n";

Retrieving path.bandwidth.achievable.TCP.multistream with a XMLRPC client

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

use XMLRPC::Lite;
my $node       = "node1.cacr.caltech.edu";
my $timePeriod ="20031201-20031205T143000";
my $toolName   = "iperf";
my $streams    = 8; 
my $measurement = XMLRPC::Lite
    ->proxy('http://www-iepm.slac.stanford.edu/cgi-wrap/advisor.cgi')
    ->call('IEPM.GetBandwidthAchievableTCPMultiStream',"$node", "$timePeriod","$toolName", "$streams")
    ->result;

print $measurement->{'subject'}->{'destination'}->{'name'},"\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP.multiStream'}->{'timestamp'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.achievable.TCP.multiStream'}->{'achievableThroughputResult'}->{'value'},"\n";

Retrieving path.bandwidth.utilization and path.bandwidth.capacity with a XMLRPC client

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

use XMLRPC::Lite;
my $node       = "node1.cacr.caltech.edu";
my $timePeriod ="20031201-20031205T143000";
my $measurement = XMLRPC::Lite
    ->proxy('http://www-iepm.slac.stanford.edu/cgi-wrap/advisor.cgi')
    ->call('IEPM.GetBandwidthAvailable',"$node", "$timePeriod")
    ->result;

print $measurement->{'subject'}->{'destination'}->{'name'}, "\n";
print $measurement->{'subject'}->{'destination'}->{'address'}->{'IP'},"\n";
print $measurement->{'path.bandwidth.utilization'}->{'bandwidthResult'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.utilization'}->{'bandwidthResult'}->{'value'},"\n";
print $measurement->{'path.bandwidth.capacity'}->{'bandwidthResult'}->{'startTime'},"\n";
print $measurement->{'path.bandwidth.capacity'}->{'bandwidthResult'}->{'value'},"\n";


For more information or comments and suggestions on this service:
iepm-l@slac.stanford.edu Last modified: Thu Jun 10 15:10:20 PDT 2004