70 likes | 173 Views
DRAGON Dynamic Resource Allocation via GMPLS Optical Networks. API Overview Jaroslav Flidr, Peter O’Neil, Chris Tracy Mid-Atlantic Crossroads. DRAGON/IDC - API. a simple interface to a very complex, distributed system. What it consists of DRAGON Web Services and binary API
E N D
DRAGONDynamic Resource Allocation via GMPLS Optical Networks API Overview Jaroslav Flidr, Peter O’Neil, Chris Tracy Mid-Atlantic Crossroads
DRAGON/IDC - API a simple interface to a very complex, distributed system • What it consists of • DRAGON Web Services and binary API • DRAGON UNI and CLI interfaces • IDC/OSCARS Web Services Interfaces • What it can do • schedule resources • enforce policies • authenticate • control Ethernet (VLANs) and TDM (SONET/SDH) resources • provision a Layer 2 path across different domains and heterogeneous network elements • How • Web Services interfaces • binary interfaces • UNI/CLI interfaces
DRAGON as a Black Box AAA • reservation • full inter-domain capabilities • topology • provisioning • User • a researcher • another domain Web Services API (IDC/OSCARS) Vertical Vertical Wrapper / Translator API binary API Horizontal topology • provisioning • limited inter-domain capabilities UNI CLI port / VLAN / time slots port / VLAN / time slots
API - Detail Abstraction Layer (Internet2 DCN, ESNet OSCARS extensions) Web Services API exported API Web 2.0 Layer (Inter-domain) IDCs internal API optional inter-domain interface DRAGON Layer (Inter-domain) NARBs UNI CLI i/f’s domain control interface DRAGON Layer Control Plane (Intra-domain) VLSRs hardware interface (network element drivers) control link (snmp, TL1, CLI) Network Infrastructure Layer 2 Ethernet, SONET/SDH Switches, ROADMs, etc.
API types • Web Services (based on PerfSonar, NDL schemas) • external (provided by IDC/OSCARS) • reservation • topology exchange • provisioning • full inter-domain communication • internal (provided by TERCE) • topology exchange • provisioning • limited inter-domain communication • Binary (provided by NARB) • topology exchange • provisioning • limited inter-domain communication
External Web Services API Example • Web Services interface • open for authenticated users and/or another domains • WSDL fragment: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="OSCARS" . . . > <wsdl:portType name="OSCARS"> <wsdl:operation name="createReservation"> </wsdl:operation> <wsdl:operation name="cancelReservation"> </wsdl:operation> <wsdl:operation name="queryReservation"> </wsdl:operation> <wsdl:operation name="modifyReservation"> </wsdl:operation> <wsdl:operation name="listReservations"> </wsdl:operation> <wsdl:operation name="getNetworkTopology"> </wsdl:operation> <wsdl:operation name="initiateTopologyPull"> </wsdl:operation> <wsdl:operation name="createPath"> </wsdl:operation> <wsdl:operation name="refreshPath"> </wsdl:operation> <wsdl:operation name="teardownPath"> </wsdl:operation> <wsdl:operation name="forward"> </wsdl:operation> </wsdl:portType> . . . <wsdl:service name="OSCARS"> <wsdl:port name="OSCARS" binding="tns:OSCARSSOAP"> <soap:address location="https://oscars-dev.es.net:9090/axis2/services/OSCARS"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
<?xml version="1.0"?> <soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-envelope soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <!-- Security headers and X.509 go here --> <soap:Body> <m:createPathxmlns:m="http://oscars.es.net/OSCARS"> <m:globalReservationId>domain1-1000</m:globalReservationId > </m:createPath> </soap:Body> </soap:Envelope> <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <!-- Security headers and X.509 go here --> <soap:Body> <m:createReservationxmlns:m="http://oscars.es.net/OSCARS"> <m:startTime>1179755264</m:startTime> <m:endTime>1179755864</m:endTime> <m:bandwidth>1000</m:bandwidth> <m:description>Example reservation</m:description> <m:pathInfo> <m:pathSetupMode>user-xml</pathSetupMode> <m:layer2Info> <m:srcEndpoint>urn:ogf:network:domain1:node1:port1:link1</m:srcEndpoint> <m:destEndpoint>urn:ogf:network:domain3:node2:port2:link1</m:destEndpoint> </m:layer2Info> </m:pathInfo> </m:createReservation> </soap:Body></soap:Envelope> Functionality createReservation createPath Abstraction Layer (Internet2 DCN, ESNet OSCARS extensions) Web Services API exported API Web 2.0 Layer (Inter-domain) IDCs internal API findPath findPath optional inter-domain interface DRAGON Layer (Inter-domain) NARBs UNI CLI i/f’s domain control interface DRAGON Layer Control Plane (Intra-domain) VLSRs hardware interface (network element drivers) control link (snmp, TL1, CLI) Network Infrastructure Layer 2 Ethernet, SONET/SDH Switches, ROADMs, etc.