Version 34 (modified by 12 years ago) (diff) | ,
---|
In order to allow interoperability among different Aggregate Managers(AMs), GENI requires a common language for describing resources, resource requests, and reservations. GENI now uses standardized Request Specification (RSpec) documents which are XML documents following agreed schemas to represent resources. The schemas support Aggregate or resource specific extensions. Ongoing work covers agreeing upon ontologies for other resource types.
RSpec Types
In GENI there are three different types of RSpec, each used to describe resources when communicating with an AM. The communication with an AM, is based on the common GENI AM API that requires from AMs to use a [wiki:GAPI_AM_API_V3/CommonConcepts#RSpecdatatype RSpec data types] to communicate.
Advertisement RSpec
This is the document that is returned by an AM that describes the resources that the AM has.
Request RSpec
This is the document that a user sends to an AM to describe the resources that he wants to reserve.
Manifest RSpec
This is the document returned by an AM tha describes the resources that a user has at an AM.
RSpec Versions
Except from the three types of RSpecs, there are also different versions of RSpecs. The current version is the GENI v3.
GENI v3
The current GENI v3 RSpec schemas are based on the ProtoGENI v2 RSpecs. You can find some documentation and RSpec examples on the ProtoGENI website.
OpenFlow v3 Extension
For OpenFlow resources there is an extension to the GENI v3 schema. More details about the schema can be found here, and these are instructions about how to write one from scratch.
SFA RSpec
PlanetLab type AMs except from GENI RSpecs, they also support SFA rspecs.
Writing RSpecs
You will only probably ever need to write Request RSpecs. The best way to write RSpecs is either to use a tool like Flack, or to modify an existing example, or to modify an advertisement RSpec.
For OpenFlow v3 RSpecs there is wiki page that gives step-by-step instructions about how to write a valid RSpec.
Debugging RSpecs
If you write your own RSpecs, then you can use rspeclint to verify the validity of the document. rspeclint.py
is a script written in python
that will check the validity of an xml document against its schema.
For comments and corrections on this page please email us.
Attachments (1)
- rspec-types.png (186.7 KB) - added by 12 years ago.
Download all attachments as: .zip