|
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.
The set of measurement that can be accessed for each of this tools is:
| Characteristic | ToolName |
|---|---|
| path.bandwidth.achievable.TCP | iperf |
| path.bandwidth.achievable.TCP.multiStream | iperf, bbftp, GridFTP |
| path.bandwidth.capacity | ABwE |
| path.bandwidth.utilization | ABwE |
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.
#!/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";
#!/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";
#!/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";
#!/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";
#!/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";
#!/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";