22
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 [email protected] Presentation title goes here 1

Resource Representations in GENI

  • Upload
    jontae

  • View
    42

  • Download
    2

Embed Size (px)

DESCRIPTION

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 [email protected]. Semantic Resource Descriptions in ORCA (Part 2). - PowerPoint PPT Presentation

Citation preview

Page 1: Resource Representations in GENI

Presentation title goes here 1

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• [email protected]

Page 2: Resource Representations in GENI

Semantic Resource Descriptions in ORCA (Part 2)

Yufeng Xin and Ilia Baldine

Page 3: Resource Representations in GENI

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

Page 4: Resource Representations in GENI

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

Page 5: Resource Representations in GENI

5

Why NDL(-OWL)?

Application layer

Network/routing layer

Optical/physical layer

Cross-Layer Information

Exchange

Page 6: Resource Representations in GENI

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

Page 7: Resource Representations in GENI

Presentation title goes here 7

XML vs. RDF

Page 8: Resource Representations in GENI

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

Page 9: Resource Representations in GENI

Retrieve all connected resources• Retrieve all edges in the topology

SELECT DISTINCT ?src ?dst ?connection ?bw WHERE {{?src ndl: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.?src ndl:hasInterface ?intf1. ?dst ndl: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!

Page 10: Resource Representations in GENI

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

Page 11: Resource Representations in GENI

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:type ndl:Interface.?c rdf:type ndl:Interface.}

• Return: a list of intermediate links/connections between two connected resources in the RDF graph.

• Not necessarily in-order!

Page 12: Resource Representations in GENI

Presentation title goes here 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, … }

Page 13: Resource Representations in GENI

13

ORCA inter-actor NDL passing

Page 14: Resource Representations in GENI

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

Page 15: Resource Representations in GENI

Abstraction Domain NDL<rdf:Description rdf:about="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain">

<domain:hasService rdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain/NetworkService/1"/><rdfs:label xml:lang="en">http://geni-orca.renci.org/owl/nlr.rdf</rdfs:label><ndl:hasSwitchMatrix rdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Domain/SwitchingMatrix"/><ndl:hasInterface rdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/StarLight/Cisco/6509/TenGigabitEthernet/1/3/fiber"/><rdf:type rdf:resource="http://geni-orca.renci.org/owl/topology.owl#Device"/><rdf:type rdf:resource="http://geni-orca.renci.org/owl/topology.owl#NetworkDomain"/><layer:isLabelProducer rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</layer:isLabelProducer><ndl:hasInterface rdf:resource="http://geni-orca.renci.org/owl/nlr.rdf#NLR/Renci/Cisco/6509/TenGigabitEthernet/1/2/fiber"/>

</rdf:Description>

Page 16: Resource Representations in GENI

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

Page 17: Resource Representations in GENI

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.

Page 18: Resource Representations in GENI

19

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

Page 19: Resource Representations in GENI

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

Page 20: Resource Representations in GENI

Example of a path dependency

NLR

BEN

RenciNet RENCI

VMs

DukeVMs

DukeNet

UmassVise

StarLight

Page 21: Resource Representations in GENI

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.

Page 22: Resource Representations in GENI

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