Presentation is loading. Please wait.

Presentation is loading. Please wait.

Declarative Path Finding in Simulated Multi-Layer Multi- Domain Networks Li Xu with help of: Freek Dijkstra, Arie Taal, Paola Grosso, Jeroen van der Ham,

Similar presentations


Presentation on theme: "Declarative Path Finding in Simulated Multi-Layer Multi- Domain Networks Li Xu with help of: Freek Dijkstra, Arie Taal, Paola Grosso, Jeroen van der Ham,"— Presentation transcript:

1 Declarative Path Finding in Simulated Multi-Layer Multi- Domain Networks Li Xu with help of: Freek Dijkstra, Arie Taal, Paola Grosso, Jeroen van der Ham, Cees de Laat System Network Engineering group Universiteit van Amsterdam 10-06-2009

2 Research question CAN the difficult path finding problem in multi- layer multi-domain networks be solved by using a declarative approach? GLIF (Global Lambda Integrated Facility) 2008

3 Introduction Domain: a group of computers and devices on a network that are administered as a unit with common properties. Multi-layer networks: Computer networks where the configuration of the network can be changed dynamically at multiple layers.

4 Introduction (2) Multi-layer network description: – Network Description Language –Based on ITU-T recommendations G.805 function elements and the label concept in GMPLS –RDF/XML syntax –Technology independent model See Ref: [1, 2], URL: http://www.science.uva.nl/research/sne/ndl/

5 Path Finding (PF) in Multi-layer networks Differs from single-layer networks, link- constrained algorithms ( e.g. Ford-Fulkerson for BGP, Dijkstra for OSPF ) can not solve the problem. A shortest path in multi-layer networks may be looped or not be a shortest one in itself. [3]

6 Example of PF in multi-layer networks A new approach is needed!

7 Example of lightpath allocation Request 1: {VU-UvA, VU-MN} Request 2: {VU-MN, VU-UvA} The same result is required, regardless the order of request ? StarPlane network, URL: http://www.starplane.org/

8 Declarative Approach Background –Declarative programming: a programming paradigm that expresses the logic of a computation without describing its control flow. –Logic programming Constraint programming (e.g. Prolog) Dataflow programming (e.g. SAL, LabVIEW) Domain specific languages (e.g. regex, CSS) –Prolog: The program logic is expressed in terms of relations (rules), and execution is triggered by running queries over these relations.

9 Declarative Approach (2) Why (swi-)Prolog [4]? –NDL/RDF as a representation of multi-layer networks, just like storing network information in a database. –‘Query-like language’ explores the database in a declarative syntax. –Libraries for RDF management and semantic manipulation. They can load a RDF database stored in the triplet format: Subject - predicate - Object –Logical constrains in NDL can be implemented naturally in Prolog.

10 Declarative Approach (3) Reason all alternatives Capable of handling complex queries Less complexity for development and more flexibility for various of queries e.g.

11 Examples Sample queries NDL statements are transformed to Prolog rules

12 Declarative PF Algorithm Implement both hop-by-hop and layer- by-layer algorithms in Prolog hop-by-hop vs. layer-by-layer The result of the algorithms is a list of cross connects that need to be used to create the requested path (if exists). Handle multiple/complex path requests

13 Workflow Prolog reasoning system Auto load Path Finding Algorithm MLMD Network description Queries Results! ?

14 Multi-layer Multi-domain (MLMD) Generator Why we need a MLMD generator? –Few real-world scenarios –Scalable simulation platform for experiments Goal: –generate graphs that simulate real-life multi-layer networks with multiple technologies –transform them to dedicated network description model (NDL) for both graphical network behavior analysis and MLMD path finding study. Tools we choose: –Pynt toolkit + Python Networkx + JUNG Original graph generation algorithm: Barabasi- Albert [5]

15 How to generate MLMD networks

16 Mapping into NDL A D E B Layer0 B1 B2 B3 C4C5 D1 D2 D3 E2 A2 A C E F Layer1 C1 C2 C3 E1 F1 A1 Device A with adaptation between 2 layers Device D SwitchMatrix on Layer0 Device C SwitchMatrix on Layer0 & Layer1

17 Experiments & Results Generate variable size of 2-layer multi- domain networks, range from (5 nodes/layer/domain x 5 domains) to (1000 nodes/layer/domain x 50 domains) Randomly select 100 pairs of src/dst devices and execute the PF algorithm Evaluate: average time of loading NDL and find a path.

18 Experiments & Results (2) MacBook pro: 1.83GHz Intel Core Duo, 2GB DDR2 memory Table1: the number of triplets in NDL #Nodes #Domains Figure1: average time to load NDL

19 Experiments & Results (3) Figure2: average time to find the 1st possible path

20 Future work Introduce “labels” in PF Compare the efficiency and scalability with other algorithms (e.g. Imperative Python) Dynamically load/off-load RDF database for local/global PF Reasoning about graphs Declarative lightpath allocation in Grid –Complex queries –Sequence of requests –Optimized network resource leftover

21 Conclusions Path finding in multi-layer networks is a complex problem; Propose a declarative solution for MLMD path finding using semantic network descriptions (NDL) and a logical reasoning system (Prolog); MLMD graph generator is used to generate simulated multi-layer network scenarios.

22 References [1]: Freek Dijkstra, Bert Andree, Karst Koyman, Jeroen van der Ham and Cees de Laat. A Multi-Layer Network Model Based on ITU-T G.805 Computer Networks, Vol. 52, Issue 10, pp. 1927-1937, July 2008 [2]: Jeroen van der Ham, Paola Grosso, Ronald van der Pol, Andree Toonk and Cees de Laat. Using the Network Description Language in Optical Networks. In: Tenth IFIP/IEEE Symposium on Integrated Network Management, May 2007 [3]: Freek Dijkstra, Jeroen van der Ham, Paola Grosso, Cees de Laat, A Path Finding Implementation for Multi-layer Networks, Future Generation Computer Systems, Vol. 25, Issue 2, pp. 142-146, February 2009 [4]: J. Wielemaker, An overview of the SWI-Prolog programming environment,in Proceedings of the 13th International Workshop on Logic Programming Environments, F. Mesnard and A. Serebenik, Eds. Heverlee, Belgium: Katholieke Universiteit Leuven, december 2003, pp. 1-16, cW 371. [5]: Barabasi, A. and Albert, R., Emergence of scaling in random networks, Science 286, 509-512, 1999 [6]: Fernando Kuipers, Freek Dijkstra, Path Selection in Multi-Layer Networks, Elsevier Computer Communications, Vol. 32, (Issue and publication date yet unknown), 2009, pp. 78-85

23 Thank you for your attention! Questions? Contact: l.xu_at_uva.nl or via google->images->people :-)

24 Below not used

25 Sample Code device(Dev):- rdf_db:rdf(Dev, rdf:'type', ndl:'Device'). interface(Intf):- rdf_db:rdf(Intf, rdf:'type', ndl:'Interface'). layer(Layer):- rdf_db:rdf(Layer, rdf:'type', ndl:'layer').... hasinterface(Dev, Intf):- rdf_db:rdf(Dev, ndl:'hasInterface', Intf).... %------ define layer ------% ethlayer(X):- rdf_db:rdf(X, ndl:'layer', ethernet:'EthernetNetworkElement'). %------ define different types of connection ------% canswitchto(X, Y):- hasinterface(S, X), switchmatrix(S), hasinterface(S, Y), X \= Y. % X different from Y... %-----------path finding----------------------% simple_path(X, Y, Visited, Path ):- % ---- direct link ---- % connection(X, Y), not( member(Y, Visited)), Path = [Y] ; % ---- cross the SwitchMatrix ---- % % -------- direct switchto the dst---- % canswitchto(X, Y), not( member(Y, Visited)), Path = [Y] ;... % ---- direct link followed by another path --- % simple_path(X, Y, Visited, Path ):- connection(X, Z), not( member(Z, Visited) ), simple_path(Z, Y, [Z|Visited], NPath ), %format('---1---'), Path = [Z | NPath].... Define rules PF Algorithm


Download ppt "Declarative Path Finding in Simulated Multi-Layer Multi- Domain Networks Li Xu with help of: Freek Dijkstra, Arie Taal, Paola Grosso, Jeroen van der Ham,"

Similar presentations


Ads by Google