Skip to topic | Skip to bottom
Home
GENI


Start of topic | Skip to actions
-- TomLehman - 07 Jul 2010

Example Experiment Topology Instantiation using the MAX GENI Aggregate Manager

This page provides an example of an experiment topology and the request message formats.

API Client

The example experiment topology discussed on this page is based on using the MAX Aggregate Manager API which is available here:

The README file in this software distribution provides information regarding deployment and use of this API.

An overview of the MAX Aggregate Manager Control Framework and API usage is also available here.

Topology to be Instantiated

The messages required to instantiate the following topology will be reviewed on this page.

  • MAX Example Experiment Slice Topology Instantiation
    max demo slice topology graphic

The partial physical topology for the MAX Substrate from which this example experiment topology is derived is shown at the bottom of this page.

MAX Aggregate Manager Web Service Calls

Instantiation of a slice will typically involve a set of calls similar to the ones described below.

  • ListCapabilities (for entire substrate)
  • GetResourceTopology (for entire substrate)
  • CreateSliceNetwork (slice provisioning request)
  • QuerySliceNetwork (slice status request)
  • GetResourceTopology (for provisioned slice)
  • DeleteSliceNetwork (delete slice, release resources)

A example of this commmand sequence and the associated output is available here:

Some additional information regarding the key commands is also provided below.

GetResourceTopology

The GetResourceTopology command can be utilized before slice creation to see the entire set of resources available. The output of this file is an XML topology graph which defines all the host and network resources available in the MAX GENI Substrate. An example output from this call is available at the link below. Opening this file with FireFox web browser will present a nice clickable view of the XML topology file. Other browsers may not provide a readable of a format.

CreateSliceNetwork

The CreateSliceNetwork request message allows the user to provide a slice request in the form of an RSpec. This is sent to the MAX Aggregate Manager for processing. Key items to note in this request are that the PlanetLab nodes are identified along with requests for dedicated slice networking. This request typically contains the VLAN ANY parameter which indicates that the MAX Aggregate Manager is free to pick any VLAN that is available to create the private slice to slice network. This request can also a request to instantiate resources on external, such as ProtoGENI. However this particular example does not include this. An example of a user slice request RSpec is available at the link below. Opening this file with FireFox web browser will present a nice clickable view of the XML topology file. Other browsers may not provide a readable of a format.

QuerySliceNetwork

The QuerySliceNetwork command is typically run after the CreateSliceNetwork to check on status of slice instantiation. Below is an output of this command showing the status and details of a three node slice topology.

[root@mot MAXGENI_AM_APIClient]# java -classpath AggregateWS-client-api.jar:lib/* 
net.geni.aggregate.client.examples.QuerySliceNetworkClient 
repo https://geni.dragon.maxgigapop.net:8443/axis2/services/AggregateGENI
Requested service URL: [https://geni.dragon.maxgigapop.net:8443/axis2/services/AggregateGENI] 
Service URL is: https://geni.dragon.maxgigapop.net:8443/axis2/services/AggregateGENI
- No services directory was found under /home/tlehman/geni-max/MAXGENI_AM_APIClient/repo.
- Deploying module: rampart-SNAPSHOT - file:/home/tlehman/geni-max/MAXGENI_AM_APIClient/repo/modules/rampart-SNAPSHOT.mar
- Deploying module: metadataExchange - file:/home/tlehman/geni-max/MAXGENI_AM_APIClient/lib/mex-1.4.1.jar
- AggregateGENI API client setUp with repo='repo' url=https://geni.dragon.maxgigapop.net:8443/axis2/services/AggregateGENI
Rspec ID/Name: [] xi_rspec_slice1
- Verification successful for URI "#Timestamp-31508952"
============ QuerySliceNetworkResponse Response =========== 
    Slice Status => CREATED
    = P2P VLANs =
     GRI => dragon.maxgigapop.net-1393
     Status => ACTIVE
     Message => 
       VLAN_ID => 15
       Source => planetlab3.dragon.maxgigapop.net
       Interface => eth1
       Destination => planetlab2.dragon.maxgigapop.net
       Interface => eth1
       Bandwidth => 100.0
       Description => xi_rspec_slice1 p2pvlan-planetlab3.dragon.maxgigapop.net-planetlab2.dragon.maxgigapop.net-any
     GRI => dragon.maxgigapop.net-1394
     Status => ACTIVE
     Message => 
       VLAN_ID => 3242
       Source => planetlab3.dragon.maxgigapop.net
       Interface => eth1
       Destination => planetlab5.dragon.maxgigapop.net
       Interface => eth1
       Bandwidth => 100.0
       Description => xi_rspec_slice1 p2pvlan-planetlab3.dragon.maxgigapop.net-planetlab5.dragon.maxgigapop.net-any
     GRI => dragon.maxgigapop.net-1395
     Status => ACTIVE
     Message => 
       VLAN_ID => 2225
       Source => planetlab5.dragon.maxgigapop.net
       Interface => eth1
       Destination => planetlab2.dragon.maxgigapop.net
       Interface => eth1
       Bandwidth => 100.0
       Description => xi_rspec_slice1 p2pvlan-planetlab5.dragon.maxgigapop.net-planetlab2.dragon.maxgigapop.net-any

GetResourceTopology

After submission of the CreateSliceNetwork call to the MAX Aggregate Manager, the GetResourceTopology call can be utilized to see the details of the instantiated topology. This view of the instantiated topology is very similar to the request format, with the main difference being that the as provisioned details like specific VLAN numbers will be included in this RSpec description. Opening this file with FireFox web browser will present a nice clickable view of the XML topology file. Other browsers may not provide a readable of a format.

MAX Substrate

  • Partial view of MAX Substrate
    max substrate graphic

Additional Experiment Topology Instantiation Examples and Performance Testing

  • Demonstration of using MAX Aggregate Manager to instantiate an experiment topology which includes ProtoGENI resources
    •   Quicktime Movie: mov
    • graphic of instantiated topology
    • rspec used for request: request rspec with protogeni resources
    • Performance Testing Summary: Below are typical results we observed during our GENI Experiment Topology Instantiation testing:
      • 1. (0:00) send rspec to MAX Aggregate Manager (AM)
      • 2. AM sends externalSliver rspec to ProtoGENI
      • 3. (1:10) ProtoGENI replies with sliver creation success status and manifiest
      • 4. AM sends slice creation request to MAX-MyPLC
      • 5. (1:20) MAX-MyPLC replies with slice creation success
      • 6. AM sends stitching p2pVLAN creation request to MAX-IDC
      • 7. (1:23) AM configures stitching VLAN interface on a planetlab node
      • 8. (1:27) AM finished planetlab VLAN interface
      • 9. AM sends internal p2pVLAN creation request to MAX-IDC
      • 10. (1:30) AM configures internal-slice VLAN interfaces on all planetlab nodes
      • 11 (1:40) AM finished all planetlab VLAN interfaces
      • 12. (2:40) both stitching and internal-slice p2pVLANs go active
      • 13. (3:30) Vservers are created on all planetlab nodes
        • Notes:
        • ProtoGENI reply may take up to 3 minutes
        • PlanetLab VSERVERs may take up to 4 minutes to be ready



You are here: GENI > Software > ExperimentTopology

to top

Copyright © 1999-2012.
The information contained in these pages is the property of the Mid-Atlantic Crossroads (MAX).
If you have questions or comments, please contact MAX Administration