GENI Aggregate Manager
Overview and Architecture
The aggregate manager being developed by the MANFRED project is intended to control any component on the
Substrate, such as slivers on PlanetLab nodes and network topologies using Ethernet VLANs. It is both horizontally and vertically modular, as well as expandable:
- Horizontally modular — arbitrary new components can be hot-plugged while the GENI-visible interface remains unchanged
- Vertically modular — access to arbitrarily detailed information can be provided by adding interface sub-layers
This modularity is further illustrated in the architecture diagram below:
The system may be arbitrarily complex or simple -- it may present or operate on default values, or it may let researchers access arbitrarily detailed data. An arbitrarily complex operation can be access by a simple, immutable interface:
Implementation Details
Our GENI Aggregate Manager (AM) is a Java-based reference implementation that provides a Web Services SOAP API (WSDL) to clients. It is intended to be deployed in Apache Tomcat as an Axis2 service. The diagram below depicts the overall architecture:
The WSDL file (
AggregateGENI.wsdl) was written by hand, based on the
Slice-based Facility Architecture documents produced by the PlanetLab group at Princeton. This file is provided as input to the
wsdl2java application to generate the Java skeleton code during the build process described in the
Aggregate Manager Compilation Guide
The Web Service is deployed in Apache Axis2 via an .AAR (Axis Archive) file. This software uses a MySQL database to store data about the resources which it is responsible for.
Intended Usage
The AM was designed to control any component located on the
MANFRED Substrate. This includes, but is not limited to: PlanetLab and Eucalyptus virtualization nodets, NetFPGA-based OpenFlow switches, and the DRAGON network substrate (for providing dynamic end-to-end VLANs). While the architecture and code base is public, instances will be site-specific. In other words, anybody may use the code, but the deployment will be limited to their particular aggregate.
We envision an AM could be used on aggregate component: dynamic networks, virtualized compute resources, cloud resources, etc. The framework provided by our GENI AM is relatively generic and could be used by anybody who is interested in experimenting with a Java-based Aggregate Manager using Web Services.