1 / 22

Resource Representations in GENI

Resource Representations in GENI. Rob Sherwood, OpenFlow Hongwei Zhang, Wireless sensor network description language Ilia Baldine, Yufeng Xin , Semantic Resource Descriptions in ORCA BACK at 10:45 ibaldin@renci.org. Semantic Resource Descriptions in ORCA (Part 2).

jontae
Download Presentation

Resource Representations in GENI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resource Representations in GENI • Rob Sherwood, OpenFlow • Hongwei Zhang, Wireless sensor network description language • Ilia Baldine, YufengXin, Semantic Resource Descriptions in ORCA • BACK at 10:45 • ibaldin@renci.org Presentation title goes here

  2. Semantic Resource Descriptions in ORCA (Part 2) YufengXin and Ilia Baldine

  3. NDL-OWL in ORCA • Last time (GEC7): • Introduction RDF and OWL • Example of NDL-OWL descriptions • Today: • Short recap • How we use NDL-OWL in ORCA

  4. Resource representations in GENI • Used by elements of control frameworks • Used by experimenter tools • Visualizations, performance measurements etc. etc. • Have a lifecycle • Current state of the substrate • Request specification • Slice specification • ‘As-built’ manifest NDL-OWL in ORCA

  5. Why NDL(-OWL)? Application layer Network/routing layer Cross-Layer Information Exchange Optical/physical layer

  6. Using G.805 model in BEN • BEN Layers • Fiber • OCG/DWDM • Lambda • Ethernet • IP • Detailed information about layers and adaptations is required • Optimized management • Cross-layer measurements

  7. XML vs. RDF Presentation title goes here

  8. SPARQL/GLEEN • SPARQL – SQL-like query language for RDF graphs SELECT ?pop1 ?lat ?lon WHERE { ?pop1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://geni-orca.renci.org/owl/collections.owl#Set> . ?pop1 <http://geni-orca.renci.org/owl/location.owl#locatedAt> ?loc . ?loc <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . ?loc <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?lon . } • GLEEN – extension to SPARQL for network path finding

  9. Retrieve all connected resources • Retrieve all edges in the topology SELECT DISTINCT ?src ?dst ?connection ?bw WHERE { {?srcndl:connectedTo ?dst} UNION { ?connection a ndl:NetworkConnection. ?connection ndl:hasInterface ?src. ?connection ndl:hasInterface ?dst. ?connection layer:bandwidth ?bw. FILTER(?src != ?dst) } UNION { ?connection a ndl:NetworkConnection. ?connection ndl:hasInterface ?intf1. ?connection ndl:hasInterface ?intf2. ?srcndl:hasInterface ?intf1. ?dstndl:hasInterface ?intf2. ?src a compute:Server. ?dst a compute:Server. ?connection layer:bandwidth ?bw. FILTER(?src != ?dst) }} • Produces a list of <src, dst, edge, bandwidth> tuples • Very verbose!

  10. Gleen:OnPath example SELECT ?object WHERE { <http://some/resource> gleen:OnPath ('[ndl:hasInterface]*/([ndl:connectedTo] | [ndl:switchedTo] | [ndl:linkTo])+/[ndl:interfaceOf]*’ ?object). FILTER(?object != <http://some/resource>) } • Return: a list of neighboring devices or interfaces of resource http://some/resource in the RDF graph

  11. Gleen:SubGraph SELECT ?a ?b ?c WHERE { (<http://some/resource> gleen:OnPath ('[ndl:hasInterface]+/([ndl:connectedTo]|[ndl:switchedTo]|[ndl:linkTo])*/[ndl:interfaceOf]' <http://some/other/resource>) gleen:Subgraph (?a ?b ?c). ?a rdf:typendl:Interface. ?crdf:typendl:Interface. } • Return: a list of intermediate links/connections between two connected resources in the RDF graph. • Not necessarily in-order!

  12. Using NDL-OWL resource descriptions in ORCA • Initial substrate descriptions used by ‘authority’ actors • Transit authorities use NDL for internal (intra-domain) multi-layered path computation • Abstracted descriptions advertized by brokers for inter-domain path finding • Full and abstract site NDL-OWL descriptions available through registry • User requests expressed as desired topology descriptions with specific resources • FormatX -> NDL-OWL conversions • FormatX = {NS2, PG RSpec, PL RSpec, … } Presentation title goes here

  13. ORCA inter-actor NDL passing

  14. Authority actor NDL Operations • Initial substrate NDL created by the operator • Abstract domain NDL model computed by the authority actor based on the initial description: • DomainService class • Topology abstraction advertisement • Border interfaces and available resources (for bandwidth accounting) • Switching capability • Delegated resource and units • Access method (ORCAActor, etc.) • Label producer? • To assist stitching precedence computation

  15. Abstraction Domain NDL <rdf:Descriptionrdf:about="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain"> <domain:hasServicerdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain/NetworkService/1"/> <rdfs:labelxml:lang="en">http://geni-orca.renci.org/owl/nlr.rdf</rdfs:label> <ndl:hasSwitchMatrixrdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain/SwitchingMatrix"/> <ndl:hasInterfacerdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/StarLight/Cisco/6509/TenGigabitEthernet/1/3/fiber"/> <rdf:typerdf:resource="http://geni-orca.renci.org/owl/topology.owl#Device"/> <rdf:typerdf:resource="http://geni-orca.renci.org/owl/topology.owl#NetworkDomain"/> <layer:isLabelProducerrdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</layer:isLabelProducer> <ndl:hasInterfacerdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Renci/Cisco/6509/TenGigabitEthernet/1/2/fiber"/> </rdf:Description>

  16. Broker: Resource allocation • Consumes the abstract NDL from all the sites • Keeping track of resource allocation and domain interface resources (e.g. bandwidth on border interfaces) • Passes the abstract NDL to the service manager upon query

  17. Service Manager controller policy • Assemble the abstract descriptions into a Inter-domain NDL-OWL model • Accept user allocation request the request in NDL-OWL format • Perform the inter-domain path computation • Which domains will need to provide resources to create this path • Compute the dependency tree of domains to determine what order the resources will be requested in • Form the reservations and DomainRequest(s) for authorities in NDL-OWL • Redeem the DomainRequest(s) to sites.

  18. Converting to NDL-OWL • Emulab NS2 -> NDL-OWL converter (many thanks to Rob Ricci for his help) • For testing: web page (.jsp) • For production use: XMLRPC service • http://geni-test.renci.org/ndl-conversion/convert.jsp • PG and PL RSpec coming • To be used in conjunction with ORCA XMLRPC controller offering PG interface

  19. Label Stitching Problem • Multiple domains on the path need to create a seamless connection • Label negotiation is required at domain peering points • E.g. VLAN tag can be generated, translated, accepted or tunneled • Sites or devices inside domains have various capabilities: • Switching capability (Layer-specific: VLAN, Lambda, ..) • Label producer vs. consumer (or both) • Label translation capability • Available label set (constraint) • Multiple domain label assignment and stitching solutions possible: • Fully centralized – single point of failure • Distributed (RSVP) – slow, hard to optimize • Coordinated – for a given connection an entity coordinates the order/sequence in which domains stitch/connect to one another

  20. Example of a path dependency Renci Net RENCI VMs BEN NLR StarLight Duke Net Duke VMs Umass Vise

  21. ORCA redeem dependency tree • Neighbor relationship • Peer relationship • Both are label producers or pre-configured • Provider-customer relationship (NRL-BEN) • Translating at the customer • Master-Slave relationship (Access network - VM sites) • Slaves wait and use the same label from the master • Redeem dependency tree • Determines the order in which controller policy ‘redeems’ resources given by the broker from domains. • Domains pass back relevant information needed by their neighbors to perform the stitching.

  22. Future work • Add expressivity to • NDL-OWL requests • Edge resource descriptions and IP layer • Measurement resources • Topology mapping and multi-point support • Persistent RDF/OWL storage • More advanced reasoning and rule based implementation • Using inference and various logics • Slice manifest NDL

More Related