An Hierarchical An Hierarchical Policy Policy-
- Based
Based Architecture Architecture for for Integrated Integrated Management Management of Grids and Networks
- f Grids and Networks
An Hierarchical Policy Policy- -Based Based An Hierarchical - - PowerPoint PPT Presentation
An Hierarchical Policy Policy- -Based Based An Hierarchical Architecture for for Integrated Integrated Architecture Management of Grids and Networks of Grids and Networks Management Ricardo Neisse Ricardo Neisse Evandro Della Della
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 2 2 of 15
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 3 3 of 15
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 4 4 of 15
Grid Management I nfrastrucutre (Toolkit) Grid Management I nfrastrucutre (Toolkit)
Grid node (users and resources) Grid node (users and resources) Grid Administrator Grid Administrator Administrative domain Administrative domain
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 5 5 of 15
Services Resource (Cluster)
Network infrastructure
Grid administrator Grid administrator Web Services (SOAP/ HTTP) Web Services (SOAP/ HTTP) Local network administrator Local network administrator
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 6 6 of 15
Grid management policies Configuration actions into devices Network management policies
Mapping defined by the network administrator Policy deployment via PDPs
High abstraction level
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 7 7 of 15
if (user == " if (user == "neisse neisse" and " and startTime startTime >= "11/25/2003 00:00:00" and >= "11/25/2003 00:00:00" and endTime endTime <= "11/25/2003 23:59:59") <= "11/25/2003 23:59:59") { { if (resource == " if (resource == "LabTec LabTec Cluster") { Cluster") { allowAccess allowAccess = true; = true; login = login = griduser griduser; ; maxProcessing maxProcessing = 50%; = 50%; networkQoS networkQoS = = remoteProccessControl remoteProccessControl; ; } } if (proxy == " if (proxy == "LabTec LabTec Cluster" and Cluster" and resource == "UFRGS Data Server") resource == "UFRGS Data Server") { { allowAccess allowAccess = true; = true; maxAllowedStorage maxAllowedStorage = 40GB; = 40GB; networkQoS networkQoS = = highThroughputDataIntensive highThroughputDataIntensive; ; } } } }
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 8 8 of 15
Network policy repository Grid policy repository Rule repository
Network Network administrator administrator Mapping Engine Mapping Engine Grid policy editor Grid policy editor Grid Grid administrator administrator HTTP/HTTPS HTTP/HTTPS Mapping rule editor Mapping rule editor Grid Grid policies policies Mapping Mapping rules rules Network Network policies policies Grid Toolkit Grid Toolkit
Network Network domain
domain
Grid Grid domain
domain
PDP PEP PEP PEP PDP IETF PBNM IETF PBNM architecture architecture
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 9 9 of 15
if (srcResource.address/24 == 143.54.47.0/24 and if (srcResource.address/24 == 143.54.47.0/24 and dstResource.address/24 != 143.54.47.0/24 and dstResource.address/24 != 143.54.47.0/24 and dstResource.port dstResource.port == 80 and == 80 and dstResource.protocol dstResource.protocol == TCP) == TCP) { { p1 = new p1 = new NetworkPolicy NetworkPolicy(); (); p1.addCondition(startTime,">=", p1.addCondition(startTime,">=",schedule.startTime schedule.startTime); ); p1.addCondition(endTime,"<=", p1.addCondition(endTime,"<=",schedule.endTime schedule.endTime); ); p1.addCondition(srcAddress,"==", p1.addCondition(srcAddress,"==",srcResource.address srcResource.address); ); p1.addCondition(dstAddress,"==", p1.addCondition(dstAddress,"==",dstResource.address dstResource.address); ); p1.addCondition(dstPort,"==", p1.addCondition(dstPort,"==",dstResource.port dstResource.port); ); p1.addCondition(dstProtocol,"=="," p1.addCondition(dstProtocol,"==","tcp tcp"); "); p1.addAction(DSCP,2); p1.addAction(DSCP,2); p2 = new p2 = new NetworkPolicy NetworkPolicy(); (); p2.addCondition(startTime,">=", p2.addCondition(startTime,">=",schedule.startTime schedule.startTime); ); p2.addCondition(endTime,"<=", p2.addCondition(endTime,"<=",schedule.endTime schedule.endTime); ); p2.addCondition(DSCP,2); p2.addCondition(DSCP,2); p2.addAction(bandwith,requiredQoS.requiredBandwidth); p2.addAction(bandwith,requiredQoS.requiredBandwidth); } }
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 10 10 of 15
if (srcResource.address/24 == 143.54.47.0/24 and if (srcResource.address/24 == 143.54.47.0/24 and dstResource.address/24 != 143.54.47.0/24 and dstResource.address/24 != 143.54.47.0/24 and dstResource.port dstResource.port == 80 and == 80 and dstResource.protocol dstResource.protocol == TCP) == TCP) { { p1 = new p1 = new NetworkPolicy NetworkPolicy(); (); ... ... inPEPs inPEPs = select pep = select pep . .within[srcResource.address within[srcResource.address, 143.54.47.1] , 143.54.47.1] . .direction["in direction["in"] "] from from device.type["DiffServDevice device.type["DiffServDevice"]; "]; inPEPs[0].deployPolicy(p1); inPEPs[0].deployPolicy(p1); p2 = new p2 = new NetworkPolicy NetworkPolicy(); (); ... ...
= select pep . .within[srcResource.address within[srcResource.address, 143.54.47.1] , 143.54.47.1] . .direction["out direction["out"] "] from from device.type["DiffServDevice device.type["DiffServDevice"]; "];
} }
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 11 11 of 15
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 12 12 of 15
Ricardo Neisse Ricardo Neisse -
Policy 2004
FreeBSD ALTQ Routers Network domain Grid domain Network administrator Grid administrator HTTP/HTTPS Globus GT3 MDS (Web Service/XML) QAME PBNM System (PHP) PDP (Java) Grid policy editor Mapping rule editor Mapping Engine (PHP) QAME QAME QAME Network policy repository (LDAP) System files Grid policy repository (LDAP)
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 14 14 of 15
Ricardo Neisse Ricardo Neisse -
Policy 2004
Slide Slide 15 15 of 15