[[PageOutline]] = The GENI API = The GENI API is an effort to enable interoperability within GENI through standard APIs. = The GENI Aggregate Manager API = The GENI AM API implements a key interface of the [wiki:SliceFedArch SFA 2.0 Draft], providing a common interface to Aggregate Managers. Experimenters can use the API to allocate resources belonging to any compliant Control Framework. The API lets you mix and match aggregates with control frameworks. [http://www.protogeni.net/trac/protogeni ProtoGENI], [http://www.planet-lab.org/ PlanetLab], and [http://www.openflow.org/ Openflow] all have implemented the API and are now interoperable. Initial implementations were demonstrated at GEC 8 and interoperability was demonstrated via the GEC 9 plenary session demos. The ProtoGENI implementation is live in Utah and Kentucky, and is part of emulab-stable. ProtoGENI has trusted the !PlanetLab root certificate (it is included in their standard certificate bundle that all ProtoGENI installs receive), meaning that !PlanetLab users can use the GENI API to reserve ProtoGENI resources. Contact the mailing list (geni-dev@emulab.net) with questions on using the API at ProtoGENI. The !PlanetLab implementation is live on PLC and PLE. ProtoGENI and PLC have also swapped root certificates, meaning that ProtoGENI users can use the API to reserve !PlanetLab resources at PLC. To run the GENI API on your MyPLC instance, simply install the latest release of SFA. Use the mailing list: devel@planet-lab.org for questions. The !OpenFlow team has built a combined client/clearinghouse/aggregate manager called Expedient. Expedient exposes the GENI API to reserve !OpenFlow slivers. To learn more about Expedient, see [http://yuba.stanford.edu/~jnaous/expedient/ the Expedient developer's site]. Expedient has been installed at multiple campuses. Contact !OpenFlow for further availability information. The GPO has developed a [http://trac.gpolab.bbn.com/gcf reference implementation of this API], particularly demonstrating the use of certificates, credentials and credential verification. Also provided is a reference client, [wiki:Omni omni]. [wiki:Omni Omni] communicates with each clearinghouse in its 'native tongue', and then calls the Aggregate Manager API at any compliant Aggregate. These packages are available together for [http://www.gpolab.bbn.com/local-sw/ download]. Documentation is available on the [http://trac.gpolab.bbn.com/gcf gcf wiki] along with [http://trac.gpolab.bbn.com/gcf/wiki/GettingGcf source code] and [http://trac.gpolab.bbn.com/gcf/report/1 open tickets]. Experimenters should begin designing and conducting experiments that take advantage of the broad variety of resources now available to them. Contact Mark Berman and the Experimentation Working Group with questions. Full details on the API specification are available here: [wiki:GAPI_AM_API GENI Aggregate Manager API] Questions? Comments? Suggestions? Contact Tom Mitchell (tmitchell) or Josh Karlin (jkarlin) or Aaron Helsinger (ahelsing) or Sarah Edwards (sedwards) at geni.net = Documentation = * [wiki:GAPI_AM_API GENI Aggregate Manager API Wiki Page] * [wiki:GeniAggregateManagerApiDoc GENI Aggregate Manager API Document] * [wiki:GeniApiIdentifiers GENI Identifiers] * [wiki:GeniApiCertificates GENI Certificates] * [wiki:GeniApiCredentials GENI Credentials] * [wiki:SliceFedArch SFA 2.0 Draft] * [https://www.protogeni.net/trac/protogeni/wiki/GeniAggregateManager The ProtoGENI API Implementation] * [GeniApiInstallationMyPlc Installing the API in MyPLC] = Software = * [http://trac.gpolab.bbn.com/gcf gcf reference implementation] * [http://trac.gpolab.bbn.com/gcf/wiki/Omni omni client] * [http://www.gpolab.bbn.com/local-sw/ Download Sample Code] = Useful Links = * [http://www.planet-lab.org PlanetLab] * [http://www.protogeni.net ProtoGENI] * [https://geni-orca.renci.org/trac/ ORCA-BEN] * [http://www.orbit-lab.org/ Orbit / OMF]