Optimal Routing for Dynamic Multipoint Connection - Semantic Scholar

2 downloads 9997 Views 129KB Size Report
teleconferencing, distributed data base, mass mailing and video-on-demand services [1, 2]. One of the important op- timization criterion for these services is the ...
Communication Networks

Optimal Routing for Dynamic Multipoint Connection D EBASISH C HAKRABORTY Shiratori Lab. RIEC. Tohoku University. Katahira 2-1-1. Sendai. Japan 980-8577 [email protected]

G OUTAM C HAKRABORTY Iwate Prefectural University. Dept of Software and Information Science. Iwate Ken. Takizawa mura Azasugo 152-52. Japan 020-1073. [email protected]

C HOTIPAT P ORNAVALAI Faculty of Information Technology King Mongkut’s Institute of Technology Ladkrabang Ladkrabang, Bangkok 10520 Thailand [email protected]

N ORIO S HIRATORI Shiratori Lab. RIEC. Tohoku University. Katahira 2-1-1. Sendai. Japan 980-8577. [email protected]

Abstract. Multimedia applications are becoming increasingly important as networks are now capable to carry continuous media traffic, such as voice and video, to the end user. Most of the multimedia applications need multicast support too. In dynamic multicasting, destination nodes can join and leave the group during the communication period. Total or partial rerouting can optimize the tree cost to some extent. But rerouting for optimization is complex as cellordering at ATM switches has to be preserved. Optimum Steiner tree is NP-complete and therefore the present problem too. We propose a heuristic centralized routing algorithm, which optimize the total cost of the Steiner tree over the whole session period, where information about the joining and leaving of participants are available, at the time s/he actually joins. With this algorithm, the average hop-length from source to destination has also reduced considerably. The efficiency of our algorithm and comparison with other proposed algorithms is shown by various simulation results.

1

I NTRODUCTION

With the recent advancement in computer, high speed transmission and switching technology, it is now feasible to provide multimedia, multi-party communication services. Multicast can be defined loosely as the ability to logically connect a subset of hosts in a network. A packet switched network is said to provide a multicast service if it can deliver copies of a packet to a set of destinations simultaneously. Some frequently cited examples include video or teleconferencing, distributed data base, mass mailing and video-on-demand services [1, 2]. One of the important optimization criterion for these services is the minimization of the hop-length which in turn ensures minimizing the use of network resources and ensures low end-to-end delay important for successful transmission of continuous media. The optimization criterion for a multicast routing algorithm can be classified into two general categories [4, 6]. One is the shortest path tree (SPT), which minimizes the cost from source to each destination. Another optimization Submission

goal is to minimize the overall cost of the multicast tree. The second problem is known to be NP-complete in most general case. Hwang [5] provides a survey of both exact and heuristic solutions. Steiner tree heuristics, though providing near optimal solutions are too difficult to implement in practical protocol or computationally too intensive [7]. Most of the proposed heuristics for the Steiner tree require global network information and can be quite complex relative to SPT schemes [8]. Dynamic multicast groups promise to be a powerful tool that can help ease the design and implementation of many distributed algorithms, which enable hosts to join and leave a group at any time during the lifetime of the session. Joining a session can be two types. One, where advance information about the whole session and participation time for individual is available and the other, where no such information is available. Optimal or near optimal tree can be produced by total re-routing [10]. Kadirire [3] proposed a partial re-routing procedure. But both will need re-ordering and thus cause synchronization problem. This problem can 1

D.Chakraborty, G.Chakraborty, C.Pornavalai, N.Shiratori be solved when advance information about the joining and leaving of participants are available, or at least the duration at the time of joining. As the duration involves cost, the participants are expected to be more careful about requesting for exact duration. In this paper, we try to minimize the spanning tree cost for the whole duration of a session, instead of individual tree cost for every time instant. We assume that the duration of participation is known at the time of joining. We also succeeded to reduce the average hop-length from source to each individual destination. As hop-length is synonymous to delay, we can say that the delay per destination is also reduced, which is an important criteria for real-time communication. Here, we consider the time span, mentioned by the user while joining the session, as a parameter to recalculate the link cost of the tree. We will consider only nodes, with departure time more than the newly arrived node, as a virtual source. Thus it is a greedy strategy with Dijkstra’s shortest path [16] with consideration of individual participants’ duration of participation time in the session. The rest of the paper is organized as follows. In Section 2, we define the dynamic multicast routing problem. In Section 3, we present our algorithm, a modification of the greedy algorithm to minimize the total Steiner tree cost for the whole duration of a session, as well as the average number of hops from source to each destination. In Section 4, simulation results are shown comparing with Greedy and Naive multicast. Concluding remarks and scope of further works are in Section 5.

est path. Whereas in Naive algorithm, every new node joins the source node with the shortest path, without considering anything about the existing multicast tree. It clearly shows that for Greedy algorithm [11], the number of nodes staying in the connection as Steiner nodes (shown with light circles) are higher than that of Naive algorithm approach [14]. But if we consider the duration of connection of each individual node along with the total session time, cumulative tree cost for the whole duration will differ depending on those duration time. So, the necessity of individual participants connection time has been considered to construct multicast tree to minimize the total tree cost for dynamic multicast, when it is available. c

c d

1

2

a

2

b source

d

1

2

a

2

b

1

1 e

e g

c

c a

d

1

2

1

f

1

2

b

d

1

a 2

1

2

b

1 e

e g

g

1

f

1

1

f

1

Greedy Muliticast c a

c d

1

2

b source

2

1

2

b 2

e

2

g c d

1

2 b

1 e

f

c a

d

1

2

a

1

2

a

2

b 2

2 g

g

Naive Mulitcast

2

DYNAMIC M ULTICASTING 

  





where In a directed graph          !  is the set of vertices in , &%  #"  $"  and is the set of edges in G and ('*) w: is a weight function which maps E into the set R of non-negative real numbers, where weight can be con, sidered as cost per unit time of link. + is a subset  of vertices of . The Steiner tree problem is to find a tree of G that spans + with minimal total distance of its edges. In computer networks the vertices are considered as nodes and the edges as transmission links. In the dynamic version of the multipoint problem, we start with a network and consider a sequence of requests  $"    ./ -  where each - is a pair , where , node to be . added, is the duration of time for which connection is requested. The problem is to find a sequence of routes, which yields a minimum cost sequence satisfying the bandwidth constraint [4], for the duration of total time span of a session. In Fig. 1, we have shown an example of multicast tree at four instants of time of Greedy and Naive multicast routing. In Greedy algorithm, all the existing multicast nodes are considered as a virtual source node. So, the new node will join the nearest existing multicast node with the short2

Figure 1: Greedy and Naive multicast with sequence +(a, c, d, e), +(f, g), -(e, f), -d.

The ability to reserve real-time connections in advance is essential in all multi-party applications, to guarantee required resources. Advance resource reservation is gaining popularity due to its various advantages [12]. On the other hand network service provider, can estimate more accurately the demand for network resources, and thereby design a scheme that will scale well for large conference and yet provide very fast set-up. Thus the quality of network routing can significantly improve. In such a situation, at the client level also proper resource planning and blocking of resources could be done to extend better quality of service to the user at lower cost.

3 3.1

A LGORITHM D ESCRIPTION A SSUMPTIONS 0

We have considered a directed graph, instead of undirected one as it was considered in Waxman’s alETT

Optimal Routing For Dynamic Multipoint Connection

0

0

3. between two nodes, forming a link of running multi5  9J!UQ5=K cast tree, but : considered as zero.

Every node has multicast capability with unlimited degree.

Once route is found, all intermediate links with less termi5  9OJ 5  9J nation time stamps than would be updated to . As the bottleneck bandwidth of a path should satisfy the required bandwidth for an application, the links that does not satisfy the bandwidth constraint will be neglected while searching a route to add a new participant.

Network topology and link properties are known apriori and fixed. 0

A participation request is always accompanied with the duration of connection. It is reasonable in situations where cost is involved with the duration of participation. 0

We consider only one group among more than one possible groups in the whole network. 0

We also assume that, except the single source node others are only receiver or destination nodes. 0

The routing algorithm is considered source based. 0

3.2

gorithm [11]. This is because actual network consists of directed links.

Clock is considered as globally synchronized. A DDITION OF N EW N ODES

The session will begin only with the source node. Connection request from destination node 1 comes to source )#234 6587:9;6< 5=7:9; node + in the form 1 , where is the termination time. The earliest arrived node will be the first to join the source node, by the shortest path (Dijkstra) to form the initial multicast tree. With every link we associate a pair 4> ?./@BAC<

, where is the weight and tag is a time stamp. This tag represents till what time the link will have to be connected to the multicast tree. The departure time of the joining node will be the tag for all the links from source to the newly joined node. This ./@BA represent the remaining time of the links forming path from source to the requested node. The tag for links not in the multicast tree are set to zero (line D in Appendix). When the next new node sends connection request to the source node, the different link costs of the network, both in the existing multicast tree and outside of it, will be calculated according to the new node’s remaining time ./@BAFE with respect to the existing links’ . Weight will be calculated for every link. The weight of the link is a variable, that changes according to the termination time of the new node. 2 Link-cost Calculation: Suppose link with actual cost  GH9 5  9J connects node I and . If is the new node’s termi58K nation time and is the termination tag of the link between    , the link-cost: I 

1. between two nodes I and , forming a link, which is G 9ML N5  9J outside the running multicast tree: . 2. between two nodes, forming a link of running multi5  9OJ!PQ5=K GH9 L R5  9OJ$ST58K: cast tree, with : . Submission

3.3

D ELETION

OF

N ODES

When the remaining time of a node in the tag-table become zero, or in other word, when the departure time of a node will be equal to the current global time, that node is supposed to leave the group. The deletion is initiated by deletion request from the receiving node. As the tag-table has been updating after each modification, it will be easier to mark the branches which will be deleted, when a multicast node will leave the session. After the node will be deleted from the spanning tree, the corresponding time-tags for those links will also be erased from the tag-table and will get its initial value, i.e. zero (see DELETION in Appendix). 3.4

A LGORITHM D ISCUSSION

We proposed a centralized algorithm. Complete network topology information must be available at the source node running the centralized algorithm. In our algorithm, departure time of the participating nodes are required. A distributed algorithm may reduce the overhead but would require messages to be exchanged between the nodes. The complexity of information about the state of the network that must be stored at each node is another factor affecting the practicality of a distributed algorithm for dynamic multicast routing. As we are trying to optimize the tree cost for a dynamic multicast routing, we refer to the algorithm as optimum dynamic multicast tree (ODMT) routing. We have used Dijkstra’s shortest path algorithm to find the route from source to destination. This algorithm has been already in use in Internet routing protocol, such as OSPF [17]. Without re-routing or when all the information about the future participants’ connection and disconnection timings is not available a-priori, it is not possible to create an optimum multicast tree in a dynamic situation. So, with our algorithm, we may not always produce a perfect optimum tree, but it certainly produces less costly tree than Greedy or Naive on average and it decrease the number of hops per destination compared to Greedy algorithm. As we have considered only those nodes existing in the tree that has higher departure time than the new node as a virtual source, the chance of staying in the multicast tree as Steiner node even after actual disconnection from the session, is less. So the probability of producing higher number 3

D.Chakraborty, G.Chakraborty, C.Pornavalai, N.Shiratori of leaf nodes, specially during the later part of the session is high. Thus, the cost of the tree will be less as higher number of links can be deleted per deletion request, compared to Greedy multicast routing. It also helps to minimize the number of hops. The reason here is that, in Greedy algorithm the existing tree cost is considered as zero. So a new node will always try to connect to the nearest node in the existing multicas tree, though that may be far from the source node. This is true specially for those nodes joining the multicast session latter in the stage.

3.5

C OMPUTATIONAL C OMPLEXITY

Every time a shortest route for new destination node is searched if it is not already included in the existing multicast tree. In worst case we( have to calculate the linkSWV  times, and could be at most. is the cost L  number of links, which is X . Here, X is the degree of the network, and is Y in our simulations and is the number of nodes in the network. We are using Dijkstra \[ so the total running  to find shortest path, time per call reO ? H O [  time quest will be Z . So, the running Z :? O ? [  in worst case [  be Z  Z of  our algorithm will ] O ^  _ O Z X Z Z Z , i.e Z . Pseducode of the algorithm is available in Appendix.

4 4.1

R ANDOM G RAPHS

Random graphs were constructed with their connectivity characteristics approximated to those observed in real networks. The network model to be considered are as in [11], where graphs are constructed by distributing ` nodes across a Cartesian coordinate grid. Edges  were added to   the graph by considering all possible pairs I of nodes and using the probability function I

  _cb L

2degf

S h X_i#j

h8

 

to create an edge. Here I is the Euclidean distance between the nodes’ locations, i is the maximum possible b X and distance between two nodes and are parameters mb V l in the range kTlWX . A large value of X increases the number of connections to nodes further away from it, b whilst a large value of increases the number of edges from each node. The weight of an edge was defined sim ?   plistically as I , the distance between its nodes. Each graph was tested to ensure that every node is connected i.e. a spanning tree exists covering all the nodes in . 4

R ANDOM A RRIVAL AND D EPARTURE T IME

Random numbers are generated using uniformly distributed random function. The range is within the total duration of session time, as a node can’t stay after the session ends. Thus different destination nodes get independent random numbers as their arrival and departure time. By using different set of random arrival and departure time we can assume that the performance of the algorithm is unbiased. After the graph had been constructed, one node was randomly chosen as the source node. Two types of cases may occur, depending on the type of user arrival and departure pattern. case I The option of joining the group more than once, i.e. after leaving the session a node can join the multicast group later again, was considered. One can join and leave any time during the session. case II After leaving the session once, that participants will not join the session again. The duration of staying time is more or less same for all the participants. It is considered having a Gaussian distribution, over the average with small variance. It is to simulate situation when an individual participant is interested in a particular lecture of a conference. No node would be joining at the fag end of the session. As it is obvious, the source node is connected from the beginning to the end of the session for all occasions. The number of destinations is a proper subset of the total number of nodes.

S IMULATION R ESULTS

a 9 

4.2

4.3

R ESULTS

Simulation programs were written in C and run on a SUN SPARC workstation under SOLARIS operating system. Multiple simulations were performed and the results are shown in Fig. 2 to Fig. 7. In a session, if the nodes leave immediately after they join or stay from the beginning to the end, our algorithm will not work much better than the Greedy algorithm. But that is not what happens in practical situations. Participants may not stay till the end of the session and can leave in between the session and may even join later again after some time. We imitate this user behavior in our simulation with different case study. The performance of the algorithms, i.e. the cost of the entire tree, depends upon the arrival and departure time of the nodes and how long they are attached to the group. It has been found that ODMT is on an average better than Greedy and always produce less costlier tree than Naive multicast routing. Fig. 2 (case I) where participants are allowed to join and re-join any time during the session, shows that the tree cost, ETT

Optimal Routing For Dynamic Multipoint Connection 700

35000 Naive Greedy ODMT

Greedy Naive ODMT

30000 600

25000 500

Total cost

Total cost

20000 400

15000

300 10000

200 5000

100

0 0

5

10

15

20

25

30

35

40

45

50

0

5

10

15

Time (minutes)

20

25

30

35

40

45

50

Time (minutes)

Figure 2: case I: average cost for 50 nodes network, for a session of duration 50 time-units. Maximum number destination nodes at any time is 20

Figure 5: case II: average cumulative tree cost during the whole session

110000 Greedy cost Naive cost ODMC cost

30000 Greedy Naive ODMT

105000

25000

20000

Total cost

n 15000

avg. tree cost for the session

100000

10000

95000

90000

85000

80000

75000 5000

70000 10

15

20

25

30

number of destination nodes

0 0

5

10

15

20

25

30

35

40

45

50

Time (minutes)

Figure 3: case I: average cumulative tree cost during the whole session

Figure 6: Average tree cost for the whole session with different numbers of destination nodes

6 NGreedy Greedy Naive

1200 Naive Greedy ODMT

5.5

average hop from source to destination

1000

Total cost

800

o

600

400

5

4.5

4

3.5 200

3 10

0 0

5

10

15

20

25

30

35

40

45

50

11

12

13

14

15

number of destination nodes

Time (minutes)

Figure 4: case II: average tree cost for 50 nodes network, for a session of duration 50 time-units. Maximum number of destination nodes at any time is 20

after increasing gradually in the beginning, remain almost same after reaching a certain stage. In Fig. 4 (case II), as the participants are not allowed to rejoin the session, tree cost gradually decreases after reaching its peak. Here the rate of decrease of tree cost is higher than that of case I (Fig. 2), as Submission

Figure 7: Average number of hop lengths from source to destination, with different numbers of destination nodes

expected. A sudden fall at the end of the session is due to the fact that participants are not allowed to stay connected after the end of the session. The cumulative cost for case I (Fig. 3) has increased almost linearly. Whereas it gradually appears to saturate in Fig. 5, around the end of the session. Fig. 6 shows average tree cost for the whole duration 5

D.Chakraborty, G.Chakraborty, C.Pornavalai, N.Shiratori with fixed number of total nodes and network topology, but with different numbers of destination nodes. This average result was obtained by running the simulation 100 times, every time with different set of random arrival and departure time, for same number of destination nodes. The simulation has been done with a 50 nodes network, with a total session time of 50 time units, with destination nodes ranging from 10 to 30. The Naive multicast always produces much costlier tree than the other two algorithms. Fig. 7 shows the average hop distance from source to destination for every dynamically joining nodes for the whole duration of the session. We took the average of different sets of arrival and departure time. The result shows that our algorithm performs much better than the Greedy algorithm. If we consider a uniform delay for each hop, we can say that the average delay per destination will be much lower in our algorithm than Greedy algorithm. The Naive out perform our algorithm in this respect. That is obvious as in Naive algorithm nodes join the source without considering about the existing multicast tree. On the other hand, the total tree cost is considerably higher compared to the other two dynamic algorithms discussed here.

5

C ONCLUSION

In this paper we presented an efficient algorithm for dynamic multicast routing that biases toward existing routes with higher departure time. The actual thought behind our algorithm is to increase the probability of creating leaf node in the multicast tree, so that when a node’s departure time will arrive, it may leave instead of staying in the multicast tree as Steiner node. Our aim here is to minimize the overall cost of the tree and minimize the number of hops from source to destination to benefit applications such as video conferencing, where the primary concern is to keep costs down over the entire transmission session and a shorter hop-length is always desirable for any real-time application. Experiencing with different batch of arrival and departure time as well as network with varying number of total destination nodes, it has been seen that our algorithm produce less costlier Steiner tree considering the whole duration of session time. We have also shown that source to destination hop length is less in our algorithm compared to Greedy algorithm. We have considered a globally synchronized clock for the timing issue in our algorithm. The amount of outof-synchronization time can be neglected, as it is much smaller compared to the whole session time or the time duration for which a particular user is connected. Additional goals for future work include, experimenting the performance of our algorithm while applying in actual multicast application and develop a distributed algorithm for dynamic multicasting. Considering other QoS 6

constraints in dynamic multicast while minimizing cost is the area where we are interested to extend this work. While every joining and leaving information are available a-priori, a better multicast tree is possible. We are also working to find a practical algorithm for that.

Manuscript received on . . .

R EFERENCES [1] P.C.Huang, and Y.Tanaka. Multicast Routing Based on Predicted Traffic Statistics”, In IEICE Trans. Communication, Vol. E77-B, No.10, October, 1994 [2] B.Rajagopalan. Reliability and scaling issues in mulitcast communication. In Proc. ACM SIGCOMM, Baltimore. pages 55-89.Oct. 1992. [3] J.Kadirire. Minimizing Packet Copies in Multicast Routing by Exploiting Geographic Spread. ACM SIGCOMM CCR. Vol 24, No.3, July, 1994. [4] K.Bharath-Kumar and J.M.Jaffe. Routing to Multiple Destination in Computer Network. IEEE Transactions on communications Vol. COM-31, No.3, page 343-353, 1983. [5] F.K.Hwang and D.S. Richards. Steiner Tree Problems. Networks. Vol. 22, No.1, pages 55-89. Jan. 1992. [6] Q.Zhu, M.Parsa and J.J.Garcia-Luna-Aceves. A sourcebased algorithm for delay-constrained minimum-cost mulitcasting. In Proc. IEEE INFOCOM, Boston, MA. pages 377385, April. 1995. [7] C.Huitema. Routing in the Internet. In Prentice Hall, Englewood Cliffs, NJ 1995. [8] V.P.Kompella, J.C.Pasquale, and G.C. Plyzos. Multicast routing for mulitmedia communication. In IEEE/ACM Trans,. Netwroking Vol.1, No.3, pages 286-292, June. 1993. [9] K.C. Almeroth, and M.H.Ammar. Multicast Group Behavior in the Internet’s Multicast Backbone(MBone). Technical Report, Networking and Telecommunication Group. Dec.1996. [10] L.Kou, G.Markowsky, and L.Berman. A Fast Algorithm for Steiner Trees. Acta Informatica. Vol. 15. No.11. 1981. [11] B.M.Waxman. Routing of Multiple Connections. IEEE Journal on selected areas in Communications Vol.6. No.9. 1988. [12] A.Gupta. Improved Performance for multi-party Communication through Advance Resource Reservaion. Prceedings of Sixth International Workshop on Network and Operating System Support for Distributed Audio and Video. April, 1996. [13] G.Chakraborty, C.Pornavalai, D.Charkraborty and N.Shiratori. Routing In Multimedia Communication. Prceedings of International Conference on Computers and Devices for Communication (CODEC-98). Jan, 1998. ETT

Optimal Routing For Dynamic Multipoint Connection [14] M.Doar and I.Leslie. How Bad is Naive Multicast Routing? Prceedings of IEEE INFOCOM, San Francisco, CA. April, 1993, pages 82-89.

RELAX x†{‡€ˆ~

[15] H.F.Salama, D.S.Reeves and Y.Viniotis. Evaluation of Multicast Roouting Algorithms for Real-Time Communicastion on High-Speed Network. IEEE Journal on Selected Areas In Communications. Vol.15, No. 3, pages 332-345. April 1997.

9

[16] A.V.Aho, J.E.Hopcroft, J.D.Ullman. Data Structures And Algorithms. Pub. Addision-Wesley, April 1987. [17] R.Guerin, A.Orda and D.Williams. QoS Routing Mechanism and OSPF Extensions. In Internet Draft. November, 1996.

7 if §« €…¬³š¹§º« †¬B»¼}œx†{‡€ˆ~¥#½¾x•—–˜O™±¿ƒŽ:¡…¢Cx†{N€ˆ~‡~ 8 then §« €…¬³²µ§« †¬º»¼}¾x†{:€~À¥¦½œx• –˜O™ ¿?Ž:¡…¢Cx†{:€ˆ~‡~ ­ « €¬³²·†

where, ½¾xÁC~8wÂÁ for Á#à ¶ EXTRACT MIN x ® 10 for all ÁM‚

pgqsrut

P SEUDO - CODE

= 0 otherwise ~

find Á for which §« Á¬ is minimum

11 ®

®

²

12

¿ƒÄÁCÅ

13 return Á



ODMT xNv¾{ ‰ {:“{O}¾{‡Ž:¡¢{ „m‘~ 14 INITIALIZE xNvœ{ ‰ ~ /* delete links not satisfying BW constraint */ ®

²µz« v±¬ /* connection request ’ “{ƕ–˜O™_š arrive at source */ ® EXTRACT MIN x ~‡~:~ /* until destination “ is

15

A PPENDIX :

®

16 while x“Ç:wÈx†¼² reached */

Input: A directed weighted graph vgwyxNz8{N|H{:}_~O€#‚ƒz represents a node in the network, and „…x†{‡€ˆ~‚M| represents the direct link „ , from node † to € . ‰ : source node. Š_‹mŒCŒ ‹mŒƒ „6‡ŽN „m‘#’”“{O•—–˜O™Mš : Request from node “ for connection • –˜O™ . until › ‰ ‹mŒŒ ‹mŒ#   „6‡ŽR „6‘œ’ “š : Disconnection request from node “ .  }$ž | Ÿ : Link weight.  : Link time-tag. Ž:¡…¢Hž |gŸ Thus associated with every link there is a pair ’£}œ{:Ž:¡…¢Hš .  ‹6Œ ‹ª ‹mŒCŒ ‹mŒ ¤ž |gŸ  „m‡ŽN ~ . : Link cost w&} ¥¦xN§†¨ ¡©ŽN ‰ §« €…¬ : The shortest-path cost estimate from to € . ­ « €¬ : Predecessor node of € in the path. ® : A priority Queue of nodes keyed by their § values. Output: ¯ ‰ x {:“ ~ : Series of nodes describing path from ‰ to “ .  Ž:¡…¢Hž |gŸ : Updated time-tag for links. INITIALIZE xNvœ{ ‰ ~ 1 for each vertex €°‚]z« v±¬ 2 do §« €¬³²µ´ ­ « €…¬=² NIL 3 4 for each link „_‚#|H« v±¬ 5 do Ž:¡…¢C« „‡¬²·¶ 6 §« ‰ ¬—²¸¶

for each vertex €H‚MɧËʈ« †¬

17

18 do RELAX x†{‡€~ linked with † */

/* to get path from predecessor */ /* where, ɧËʈ« †¬ are nodes directly

/* Path is described as a string of nodes like ‰8Ì

¡ Ì

6m Ì

“ */

19 €°²µ“ ¯

x ‰ {‡“…~¤²·“ 21 while ( ­ « €¬ÇËw NIL ~ /* until ‰ is reached */ 22 †#² ­ « €¬ ¯ ¯ 23 ²·† Ì

20

/* time tag of links on the path to “ are updated if necessary */ if Ž:¡…¢Cx†{‡€ˆ~8’•–˜O™

24

25 Ž:¡…¢Cx†{N€ˆ~±²·•—–˜O™ DELETION /* disconnection initiated by node ’ “Hš to source node Í */ ¯

w&ÎÏ Ì ÎºÏÑÐ8Ò Ì ÎºÏÓÐFÔ Ì ¯ Ç wgÕ#Ö ×8×=~

27 while x

26

>>>> “

28 if xŽ:¡¢xÓκÏR{κÏÑÐ8Ò/~8Ø&• – ˜O™ ~ 29 release the link „xÑκχ{κÏÑÐ8Ò/~ /* delete the top element from the list and reset the time tag to zero of that link */ /* Here P is the list of all nodes forming the path */ /* Î ÏÓÐ8Ò is the first entry, Î ÏÑÐÔ the second entry etc */ 30

Submission

¯

²QÎ ÏÑÐ8Ò Ì

Î ÏÓÐÔ Ì

>> Ì

“

7

D.Chakraborty, G.Chakraborty, C.Pornavalai, N.Shiratori

8

ETT

Suggest Documents