Computing the Blocking Probability in Tactical Communications Networks1 Victor T.-S Shi, William Perrizo Computer Science Dept., North Dakota State University Fargo, ND 58105 Abstract — Tactical communications networks are multi-hop wireless networks in which switches and endpoints are mobile nodes. In a tactical environment, fast algorithms for performance analysis are desirable for optimizing the network in a timely fashion. Also, preemptive priorities are commonly used to achieve low blocking probabilities for high priority calls when the loss of equipment in the battlefield is not trivial. This paper presents analytical algorithms for computing the end-to-end blocking probability in a tactical communications network where a preemption service discipline is employed and traffic is divided into multiple classes to provide multiple grades of service. Each class of traffic has its distinct characteristics, such as average call arrival rate, average call holding time, and service priority. Experiments show that the preemption does provide significantly better performance for higher priority traffic. The algorithms presented in this paper may also be useful in the optimization of other rapidly deployable networks, where mobility, communication efficiency and computational complexity for adapting the network to unpredictable environments are of significant concern. Index terms: Communication networks, call blocking probabilities, algorithms 1 Partially supported by grants, National Science Foundation No. OSR-9553368 and Defense Advanced Projects Agency No. DAAH04-96-1-0329. -1- 1 Introduction Tactical communications networks use wireless technology to achieve high degree of mobility while providing multiple services to users. Unlike cellular networks where base stations are static, tactical communications networks can not rely on static infrastructure for three reasons [1]: 1) fixed nodes are more vulnerable to enemy attacks; 2) highly mobile military forces need networks that are equally mobile; 3) the need for military networks to continue “in operation” even when some nodes are destroyed and/or some links are jammed. Thus special techniques need to be used in a tactical network to efficiently utilize the limited network resources, and to quickly adjust network topologies to tolerate frequent node/link failures in battlefield environments. Ad hoc networking [2] is one of the network architectures that have been suggested for future mobile military networks [3]. Ad hoc networks presume a homogeneous environment – all nodes have similar capabilities with respect to energy supply, processing power, memory capacity, etc. While Ad hoc networks may be appropriate for a Navy network in which every node is a ship, it may not be good for army battalion forces. In a tactical network for army battalion forces, some communication nodes are foot soldiers. It is nearly impossible to require foot soldiers carrying heavy equipment in a battlefield where mobility is paramount. In this paper we focus on analyzing a two-tier multi-hop network [1]. This two-tier network consists of two types of mobile nodes – base stations and endpoints. The base stations are more powerful than mobile endpoints and together form a backbone network. The mobile endpoints may be much lighter, so that they can be carried by foot soldiers. In contrast to the single-hop -2- cellular network model, the performance of such a two-tier tactical network needs to be frequently evaluated so that its dynamic topological structure can be optimized to tolerate node and link failures. In general, it is not feasible to use simulation for the purpose of topological optimization because of the limited time constraint. We hence seek analytic algorithms for fast network performance analysis. A typical two-tier tactical network [1] is shown in Figure 1. Mobile base station Mobile endpoint Backbone wireless link Last hop wireless link Figure 1 A typical two-tier mobile network in a battlefield Another feature of tactical networks is preemption. Preemption is the best way to utilize the limited resources in a battlefield and to compensate for loss of equipment. In this paper we divide the traffic flowing through the network into multiple classes according users’ grade of service (GoS) requirements [4, 5]. Multiple grades of service are achieved by the use of multiple preemptive priorities. Call blocking probability is used as the performance metric at the call level. -3- The paper is organized as follows. In section 2 we discuss a model for the two-tier network to which k preemptive priority classes of calls arrive. Section 3 presents mathematical algorithms for computing end-to-end blocking probabilities of calls of any preemptive priority. Section 4 demonstrates how to apply the algorithms in section 3 to the performance analysis of a network with 6 backbone nodes and traffic of 3-preemptive priorities. Section 5 discusses related work. We end with conclusions in Section 6. 2 The Model and Notations Figure 1 shows a two-tier network model we use for the discussion of a multi-hop tactical network. In the model, the nodes are classified into two types – switches (base stations) and endpoints (in general we can also view the switches as clusters and endpoints as sub-clusters with aggregated traffic at that sub-cluster, if the considered network is a network of three or more levels of hierarchy [6, 15]). Switches form a backbone network. Endpoints are attached to a switch. Traffic traverses shortest-path routes. All the switches in the network are non-blocking and the call setup time is negligible compared to the average call holding time. Calls (corresponding to customers in a random service system) are categorized into k classes according to their priorities. The call service discipline is preemptive priority, i.e., a newly arriving call of higher priority can preempt a channel that is servicing a call of the lowest priority in the link when all the channels in the network are busy. The preempted call is lost and cleared for simplicity. The considered link system is an Erlang loss system. This means that a newly arriving call is lost when it cannot find a free channel and no lower priority calls are in service. -4- Let M denote the number of nodes and S the number of links in the network. The i th link has Ni channels. We use the following notations for the convenience of formula development. kl , plk : denote, respectively, average arrival rate and blocking probability of a k -th priority call on the l -th link, k 1,2,..., K , l 1, 2,..., S . We assume Poisson distribution for call arrival processes at the session level. qik : qik 1 pik , denotes the acceptance probability of a k -th priority call on the l -th link, k 1,2,..., K , l 1, 2,..., S . 1 / k : denotes average holding time of a k -th priority call, k 1,2,..., K . We assume negative exponential distribution for call holding times at the session level. alk : alk kl , denotes the offered load of a k -th priority call on the l -th link, k 1,2,..., K , k l 1, 2,..., S . Lkij : denotes the offered load of a k -th priority call between node i and node j . M 1 M 1 Lk : Lk i 0 K L: L t 1 j 0 Lkij , denotes the total offered load of the k -th priority calls on the network. M 1 M 1 i 0 j 0 Lkij , denotes the total offered load on the network. rij : denotes the shortest-path between the i -th node and the j -th node. CPijk : denotes the carried load of k -th priority calls on the path between the i -th node and the j -th node. M 1 M 1 CT k : CT k i 0 CP j 0 k ij , denotes the total carried k -th priority load on the network. -5- CLkl : denote the carried load of the k -th priority calls on the l -th link. CBPijk : denote the blocking probability of k -th priority calls between nodes i and j . 3 Algorithms for computing the blocking probabilities From the above model and definitions, the carried load of priority k on the path from node i to node j is: CPijk (1 CBPijk ) Lkij (1) The carried load of priority k flowing on link l is CLkl CPijk . Since the offered load i, j l rij equals the carried load plus load loss, (i.e., alk CLkl alk plk ), it follows that CLkl alk (1 plk ) alk qlk . Thus, we have alk CLkl / qlk CPijk / qlk (2) i, j l rij In a network of K classes of traffic, the blocking probability plk depends on the traffic volumes of ali for all i 1,2,..., K . When given an end-to-end traffic pattern { Lkij : i, j 1,2,..., M 1 and k 1,2,..., K }, ali depends on the routing policy and the service discipline and is also affected by other classes of traffic. As we mentioned in [7], preemptive service discipline separates the effects of lower priority traffic from higher priority traffic. In other words, the behavior of higher priority traffic is not affected by the behavior of lower priority traffic. This allows us to produce algorithms in which blocking probability of each class can be calculated separately and reduces the computational complexity (this complexity reduction at the link level has been demonstrated in [7]). In particular, for calculating CBPij1 and -6- al1 , we only need to consider traffic of class 1, because such traffic has the highest priority and other traffic does not affect its performance when the preemptive service discipline is applied. We can use the Erlang formula and the methods in [8] for computing the blocking probability CBPij1 of class 1 ( k 1). For computing CBPijk ( 1 k K ), the traffic we need to consider is calls from higher priority classes and the class that the call is pertaining to, i.e., classes of priorities 1, 2, …, k . As such, we can apply induction techniques to compute CBPijk as follows. Assuming we have reached a stable solution of CBPijk 1 and alk 1 by induction, we initialize a value to alk , and then solve equations: k (ali jli ) i p ( jl1 , jl2 ,..., jlk ) i 1 (3.1) k [a p ( j , j ,..., j 1,..., j ) ( j 1) p ( j , j ,..., j 1,..., j )] i l i 1 1 l 2 l i l k l i l 1 l 2 l i l k l i k ( jli < N l ) i 1 with the boundary conditions k i 1 k jli i p( jl1 , jl2 ,..., jlk ) al1 1 p( jl1 1, jl2 ,..., jli 1,..., jlk ) (3.2) i 1 k ( i 1 jli = N l and jlt 0 when 1 t k ) for t0 2, 3,..., k 1, t0 1 k i 1 i 1 ( ali i j i i ) p( jl1 , jl2 ,..., jlk ) t0 t0 i 1 s 1 ali i p( jl1 ,..., jli 1,..., jlk ) (3.3) k t t0 1 t0 als s p( jl1 ,..., jls 1, jls 1 ,..., jlt 1 , N 1 jlr 1 ,0,...,0) r 1 -7- k ( i 1 k 1 k i 1 i 1 jli = N l and jlt 0 when t0 t k ) ( ali li jli i ) p ( jl1 , jl2 ,..., jlk ) (3.4) k 1 k k a p ( j ,..., j 1,..., j ) i 1 i l i l 1 l i l k l s 1 t s 1 a p ( j ,..., j 1, j s l s l 1 l s l s 1 l i 1 ,..., j , N 1 j ,0,...,0) t 1 l r 1 r l k ( jli = N l and jlk 0 ). i 1 then the link blocking probability is plk p( jl1, jl2 ,..., jlk ) (3.5) j l1 jl2 ... j lk N l and the call blocking probability is CBPijk 1 qlk 1 (1 plk ) for a shortest-path lrij lrij routing network (see [9] for a mathematical proof). Compare the alk computed from (2) with the old assumed value. Adopt the new value if their difference is not within a predefined threshold. Compute alk iteratively by using equations (1), (2) and (3.1-3.5) until the difference of two values are within the threshold, then we have reached a stable solution for alk and CBPijk . The convergence will behave in the same manner as the mathematical algorithms demonstrated by Akinpelu in [8], since for k , the unknown variables are alk and plk . All ali and pli for 1 i k have been computed in previous steps. Thus, we need only to deal with the same single-type traffic problem each time (to determine the traffic flows of k service priority, see the example in section 4). Based on the above discussion we formally present the algorithms as follows. We initialize CBPijk 0 for i 0,1,..., M 1, j 0,1,..., M 1, and k 1,2,..., K . This yields faster -8- convergence than initializing alk , because we can easily guess that CBPijk is very close to 0 for a practical network (see the computational example in section 4). In fact, a technique we can use for fast convergence is to initialize CBPijk CBPijk 1 , since CBPijk is always at least CBPijk 1 , due to the properties of the preemptive service discipline. We use plk B k ( N l ; al1 , al2 ,..., alk ; l1 , l2 ,..., lk ) in the algorithms to denote the result obtained from equations (3.1-3.5) for presentation simplicity. Algorithm 1: For computing the blocking probabilities of 1-st priority calls. Step 1: Initialization. Let pl1 0 for l 1, 2,..., S ; Let CBPij1 0 for i 0,1,..., M 1 and j 0,1,..., M 1; Step 2: compute the offered load al1 for l 1, 2,..., S al1 (1 CBPij1 ) / ql1 i, j l rij Step 3: compute the blocking probability pl1 for l 1, 2,..., S p B ( Nl ; a ; ) 1 l 1 1 l 1 l ( al1 ) Nl / Nl ! Nl ( al1 ) s / s ! s0 Step 4: compute CBP for i 0,1,..., M 1 and j 0,1,..., M 1 1 ij CBPij1 1 ql1 1 (1 pl1 ) l rij l rij Step 5: compare this CBPij1 with the former CBPij1 . If the relative difference is less than a given value (for example 0.0001), go to Step 6; otherwise go to Step 2. Step 6: end. For l 1, 2,..., S and i 0,1,..., M 1 and j 0,1,..., M 1, assume that we have al1 , pl1 , CBPij1 , al2 , pl2 , CBPij2 , …, alk 1 , plk 1 , CBPijk 1 , then we can use the following algorithms, 2 and 3, to get the end-to-end blocking probabilities of k -th priority calls in the network. -9- Algorithm 2: Step 1: Initialization. Let plk 0 for l 1, 2,..., S ; Let CBPijk 0 for i 0,1,..., M 1 and j 0,1,..., M 1; 1 k K . Step 2: compute the offered load alk for l 1, 2,..., S alk (1 CBPijk ) / qlk i, j lrij Step 3: compute the blocking probability plk for l 1, 2,..., S plk B k ( N l ; al1 , al2 ,..., alk ; 1 , 2 ,..., k ) Step 4: compute CBPijk for i 0,1,..., M 1 and j 0,1,..., M 1 CBPijk 1 qlk 1 (1 plk ) lrij lrij Step 5: compare this CBPijk with the former CBPijk . If the relative difference is less than a given value (for example 0.0001), go to Step 6; otherwise go to Step 2. Step 6: end. Algorithm 3: Repeat algorithm 2 until k K , giving all CBPijk for i 0,1,..., M 1, j 0,1,..., M 1, and k 1,2,..., K . Compute CBPij1, al1 using Algorithm 1 for i 0,1,..., M 1, j 0,1,..., M 1, and l 1, 2,..., S . Let k 2 If k K 1 No Stop k ij k l Compute CBP , a using Algorithm 2, for i 0,1,..., M 1, j 0,1,..., M 1, and l 1, 2,..., S . Let k k 1 -10- Figure 2. A flowchart of the algorithms for calculating call blocking probabilities Figure 2 is a flowchart of the algorithms for calculating the call blocking probabilities of a network with the shortest-path routing policy and K -priority traffic. 4 Results of an example Consider a communication network as shown in Figure 3. The traffic from each node in the graph is the aggregated traffic from all the endpoints it represents. We say a node represents an endpoint if the endpoint is attached to that node, or is within the cluster that the node represents. Assume each link has 15 channels. The offered loads have 3-preemptive priorities ( K 3 ) and have the following traffic pattern: for i, j 0,1,..., 5 and i j , L1ij 0. 3 , 1ij 0. 02 when k 1 ; L2ij 0. 4 , ij2 0. 02 when k 2 ; L3ij 0. 8 , 3ij 0. 02 when k 3 ; 1 3 0 5 2 4 Figure 3. An example network of 6 nodes with 3-priority traffic ( K 3 ) -11- Then we can derive the following algorithms from formulas in the preceding section for computing the blocking probability of each node-pair in the graph. For k =1, the Erlang formula 1 p( j ) 1 l ( al1 ) jl / jl1! N i 0 , ( jl1 0,..., N l ) (5) ( al1 )i / i! The corresponding algorithms are the same as Algorithm 1 in section 3 for computing CBPij1 . For k =2, pl2 p( jl1 , jl2 ) (6) j l1 j l2 N l p ( jl1 , jl2 ) can be calculated by solving the equations (6.1-6.3), which are deduced from the general equations (3.1-3.5) when k =2 (al1 1 al2 2 jl1l1 jl2 l2 ) p( jl1 , jl2 ) al1 1 p( jl1 1, jl2 ) al2 2 p( jl1 , jl2 1) ( jl1 1) 1 p( jl1 1, jl2 ) ( jl2 1) 2 p( jl1 , jl2 1) (6.1) ( jl1 jl2 N l ) with the boundary conditions ( jl1 1 jl2 2 ) p( jl1 , jl2 ) al1 1 p( jl1 1, jl2 ) al1 1 p( j1 1, jl2 1) (6.2) ( jl1 jl2 N l ; jl2 0 ) (al1 1 jl1 1 jl2 2 ) p( j1 , j2 ) al1 1 p( jl1 1, jl2 ) al2 2 p( jl1 , jl2 1) al1 1 p( jl1 1, jl2 1) (6.3) ( jl1 jl2 N l ; jl2 0 ) -12- The corresponding algorithms for computing CBPij2 are algorithm 2 in section 3, where k 2 . That is: Algorithm for k 2 : Step 1: Initialization. Let pl2 0 for l 1, 2,..., S ; Let CBPij2 0 for i 0,1,..., M 1 and j 0,1,..., M 1; Step 2: compute the offered load al2 for l 1, 2,..., S al2 (1 CBPij2 ) / ql2 i, j l rij Step 3: compute the blocking probability pl2 for l 1, 2,..., S : pl2 B 2 ( N l ; al1 , al2 ; 1 , 2 ) , which can be calculated from the above equations (6, 6.1-6.3) Step 4: compute CBPij2 for i 0,1,..., M 1 and j 0,1,..., M 1 CBPij2 1 ql2 1 (1 pl2 ) lrij lrij Step 5: compare this CBPij2 with the former CBPij2 . If the relative difference is less than a given value (for example 0.0001), go to Step 6; otherwise go to Step 2. Step 6: end. For k =3, pl3 p( jl1 , jl2 , jl3 ) (7) j l1 j l2 j l3 N l -13- p( jl1 , jl2 , jl3 ) may be calculated by solving the equations (7.1-7.4), which are deduced from the general equations (3.1-3.5) when k =3 (al1 1 al2 2 al3 3 jl1 1 jl2 2 jl3 l3 ) p( jl1 , jl2 , jl3 ) (7.1) al1 1 p ( jl1 1, jl2 , jl3 ) al2 2 p( jl1 , jl2 1, jl3 ) al3 3 p( jl1 , jl2 , jl3 1) ( jl1 1) 1 p ( jl1 1, jl2 , jl3 ) ( jl2 1) 2 p( jl1 , jl2 1, jl3 ) ( jl3 1) l3 p ( jl1 , jl2 , jl3 1) ( jl1 jl2 jl3 N l ) with the boundary conditions jl1 1 p( jl1 , jl2 , jl3 ) al1 1 p( jl1 1, jl2 , jl3 ) al1 1 p( jl1 1, jl2 1,0) al1 1 p( jl1 1, jl2 , jl3 1) (7.2) ( jl1 jl2 jl3 N l ; jl2 jl3 0 ) (al1 1 jl1 1 jl2 2 jl3 l3 ) p ( jl1 , jl2 , jl3 ) al1 1 p ( jl1 1, jl2 , jl3 ) al2 2 p ( jl1 , jl2 1, jl3 ) al1 1 p ( jl1 1, jl2 1,0) (7.3) al1 1 p ( jl1 1, jl2 , jl3 1) al2 2 p ( jl1 , jl2 1, jl3 1) ( jl1 jl2 jl3 N l ; jl2 0 , jl3 0 ) (al1 1 al2 2 jl1 1 jl2 2 jl3 l3 ) p ( jl1 , jl2 , jl3 ) al1 1 p ( jl1 1, jl2 , jl3 ) al2 2 p ( jl1 , jl2 1, jl3 ) al3 3 p ( jl1 , jl2 , jl3 1) (7.4) al1 1 p ( jl1 1, N jl1 1,0) al1 1 p ( jl1 1, jl2 , jl3 1) al2 2 p ( jl1 , jl2 1, jl3 1) ( jl1 jl2 jl3 N l ; jl3 0 ) The corresponding algorithms for computing CBPij3 are algorithm 2 in section 3, where k 3 . That is: Algorithm for k 3 : Step 1: Initialization. Let pl3 0 for l 1, 2,..., S ; Let CBPij3 0 for i 0,1,..., M 1 and -14- j 0,1,..., M 1; Step 2: compute the offered load al3 for l 1, 2,..., S al3 (1 CBPij3 ) / ql3 i, j l rij Step 3: compute the blocking probability pl3 for l 1, 2,..., S : pl3 B 3 ( N l ; al1 , al2 , al3 ; 1 , 2 , 3 ) , which can be calculated from the above equations (7, 7.1-7.4) Step 4: compute CBPij3 for i 0,1,..., M 1 and j 0,1,..., M 1 CBPij3 1 ql3 1 (1 pl3 ) lrij lrij Step 5: compare this CBPij3 with the former CBPij3 . If the relative difference is less than a given value (for example 0.0001), go to Step 6; otherwise go to Step 2. Step 6: end. Using the above formulas and algorithms, we get Table 1, listing the corresponding computational results of the end-to-end blocking probabilities of the network. From table 1 we can see following features of this particular network: The longer the route, the higher the call blocking probabilities. The longest path in the table is between node 0 and node 5, which consists of 4 hops. The corresponding call blocking 1 1 2 2 3 3 probabilities are CBP05 = CBP50 =0, CBP05 = CBP05 =0.003370, CBP05 = CBP05 =0.197913. There are 8 paths consisting of only 1 hop and having much lower values of CBPijk ( k 1,2,3 ). -15- Routing policies can greatly affect network performance. For example, in this network, of the eight 1-hop paths, the path with the lowest call blocking probability is the path between 1 1 2 2 node 3 and node 4. The corresponding values are CBP34 = CBP43 =0, CBP34 = CBP43 =0, 3 3 CBP34 = CBP43 =0.000001. The 1-hop path with highest call blocking probability is between node 1 and node 3. The corresponding values are 1 1 = CBP31 =0, CBP13 2 3 =0.003319, CBP133 = CBP31 =0.176876. The large difference is caused by the CBP132 = CBP31 routing policy. There are 4 routes over link (1-3) (with routes: 0-1-3, 0-1-3-5, 1-2-3, 1-3), while only one route over link (3-4) (route 3-4). Calls with different service priority have different grades of service. As a matter of fact, the table shows CBPij1 CBPij2 CBPij3 for i, j 0,1,...5 . CBPij1< CBPij2 < CBPij3 when the traffic on the route is heavy. Table 1 End-to-end blocking probabilities of the network Pairs of nodes 01 02 03 04 05 10 12 13 14 15 20 21 23 24 End-to-end blocking probabilities k 1 k 2 k 3 0.000000 0.000025 0.012861 0.000000 0.000000 0.000724 0.000000 0.003345 0.187463 0.000000 0.000473 0.085646 0.000000 0.003370 0.197913 0.000000 0.000025 0.012861 0.000000 0.000025 0.014641 0.000000 0.003319 0.176876 0.000000 0.000498 0.098380 0.000000 0.003345 0.187463 0.000000 0.000000 0.000724 0.000000 0.000025 0.014641 0.000000 0.003345 0.188928 0.000000 0.000473 0.084984 the Route (shortest-path) (0-1) (0-2) (0-1-3) (0-2-4) (0-1-3-5) (1-0) (1-2) (1-3) (1-2-4) (1-3-5) (2-0) (2-1) (2-1-3) (2-4) -16- 25 30 31 32 34 35 40 41 42 43 45 50 51 52 53 54 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000473 0.003345 0.003319 0.003345 0.000000 0.000025 0.000473 0.000498 0.000473 0.000000 0.000000 0.003370 0.003345 0.000473 0.000025 0.000000 M 1 M 1 The measure, R k k CT Lk i 0 0.085646 0.187463 0.176876 0.188928 0.000001 0.012861 0.085646 0.098380 0.084984 0.000001 0.000724 0.197913 0.187463 0.085646 0.012861 0.000724 (2-4-5) (3-1-0) (3-1) (3-1-2) (3-4) (3-5) (4-2-0) (4-2-1) (4-2) (4-3) (4-5) (5-3-1-0) (5-3-1) (5-4-2) (5-3) (5-4) (1 CBPijk ) Lkij j 0 M 1 M 1 i 0 , k 1,2,3 , is the ratio of the carried load to k ij L j 0 the offered load of k -th priority. This measure shows the relative throughput of the network for each priority and demonstrates clearer the benefits of the preemptive priority service discipline. The results in Table 2 show that the calls of higher priority get better service: Calls of the highest service priority ( k 1) are all accepted (100%), while only 91.1% of calls of the lowest service priority ( k 3 ) are accepted by the network. Table 2 The throughput of the network k 1 k Offered load ( L ) Carried load ( CT k ) 9 9 k 2 12 11.985026 k 3 24 21.863825 -17- Rk 5 100% 99.8% 91.1% Related work In this paper we described a two-tier model for tactical communications networks and presented analytical algorithms for computing the end-to-end call blocking probabilities. In the literature, various algorithms have been proposed for calculating call blocking probability for networks with multiple classes of traffic. Wang and Saadawi [10] discuss the applicability of trunk reservation techniques to nonhierarchical circuit-switched networks, in which two classes of traffic with unequal arrival rates and holding times are present. They introduced two control schemes, restricted access and preemption, to improve the overall performance. In their paper, the steady-state equations for two preemptive priority classes of calls were given and solved using a method called Successive Over-Relaxation (SOR) [11]. Their algorithms are limited to symmetric, fully connected networks. In reference [8] Akinpelu proposed mathematical algorithms for computing the blocking probabilities of non-symmetric networks with homogeneous (single class) traffic loads. They used direct and disjoint two-hop paths and assumed that the mixed traffic on a link is Poissonian and independent of other links in the network. Their computational results showed the analytical algorithms converge much faster than simulations with approximate numerical results. In [7] we developed algorithms and methods for performance analysis of multi-priority traffic on a single link. The next important question concerns performance analysis of multi-priority traffic through an entire network. This paper studied the algorithms and methods that deal with the case of a network with any topology, multi-priority traffic and shortest-path routing policy. With the shortest path routing, the resource consumption per connection is minimal. It also can -18- reduce computational complexity and can be used to find the minimum cost network topology [12]. When the link costs do not vary with traffic load (which is the case in [12] and in our example), shortest-path routing becomes fixed-path routing and thus the blocking probabilities of links are independent of each other [9]. The link independence assumption has been implicitly built in to alternate routing algorithms without mathematical proof [8, 13, 14]. Reference [8] verified it with simulation in a fully connected network environment. Further, in the fixed-path routing case, reference [9] mathematically proves the validity of link independence using the Erlang fixed-point approximation method. This paper assumed shortest path routing, which is a fixed-path routing, thus the link independence can be used to simplify the algorithms for calculating blocking probabilities of communication network with any topology. 6 Conclusions In this paper we proposed analytical algorithms for the performance evaluation of tactical networks where preemptive service discipline is adopted. Unlike traditional cellular networks where the last hop (the wireless hop between the network infrastructure and the mobile user) plays a predominant role, performance evaluation in tactical networks involves all links. We incorporate the effects of all links on a route when computing the end-to-end blocking probability. In traditional cellular networks, infrastructure nodes either remain stationary or move in a predictable fashion (e.g., in low-earth-orbit), and can be assumed to have sufficient capacity to satisfy virtually all traffic demands for network resources. The performance of the last-hop wireless link in traditional cellular networks thus is considered to be decisive [6]. In tactical networks, there is no fixed, wired infrastructure. All nodes, including switches as well as endpoints (possessing no switching capabilities), communicate via wireless links and move along -19- trajectories that are not necessarily planned in advance. The unpredictable movement of switches implies that node interconnectivity and link properties (e.g., capacity, error rate) cannot be predetermined. Therefore, in tactical networks, performance issues cannot be confined to the last hop but instead pervade the entire network. In the proposed algorithms, we classified traffic into multiple priority classes based on the preemptive service discipline. In previous performance analyses of wireless networks, calls are divided into new calls (NC) and handoff calls (HC) and wireless links usually reserves a certain number of channels for handoff calls. When a mobile node station travels across a cell boundary, the channel in the old cell is released, and an idle channel is required in the new cell. Such a simple classification does not reflect the preemptive service discipline commonly used in tactical environments. Also channel reservation for handoff calls is not as efficient as preemption, since it is a waste of precious resources when reserved channels are idle and new calls are blocked because of lack of resources. Handoff call channel reservation does not guarantee satisfactory service when the handoff call needs to be maintained due to its communication importance. With the preemptive service discipline, such handoff calls can be treated as calls of higher priority, thus the connection can be maintained by preempting resources used by calls of lower priority. We expect our analytical algorithms will also find application in fields other than tactical networks. Tactical networks share many common features with many other multi-hop wireless networks – those in which providing low-cost, rapidly-deployable and self-organizing networks in situations where no infrastructure yet exists or where the existing infrastructure has been -20- severely damaged are of extreme importance. This type of network is used in emergency relief communications in areas afflicted by a natural disasters, and for field studies conducted by teams of scientists in remote locations. In many of these situations, timely and accurate receipt of multiple types of information transmitted across the network can mean the difference between life and death. Reference [1] R. Sanchez, J. Evans and G. Minden, “Networking on the battlefield: Challenges in Highly Dynamic Multi-hop Wireless Networks”, in Proceedings of IEEE MILCOM ’99, Atlantic City, New Jersey, 1999. [2] M. Corson, S. Batsell, and J. Macker, “Architectural Considerations for Mobile Mesh Networking”, in Proceedings of IEEE MILCOM ’96, Mclean, Virginia, 1998. [3] Z. Haas and S. Tabrizi, “On some Challenges and Design Choices in Ad-Hoc Communications”, in Proceedings of IEEE MILCOM ’98, Bedford, Massachusetts, 1998. [4] D. Medhi, S. Guptan, “Network dimensioning and performance of multi-service, multi-rate loss networks with dynamic routing”, IEEE/ACM Transactions on networking, Vol. 5, No. 6, 1997, pp.944-957. [5] G. L. Choudhury, K. K. Leung and W. Whitt, “Efficiently providing multiple grades of service with protection against overloads in shared resources”, AT&T Technical Journal, July-August, 1995, pp.50-63. [6] R. Ramanathan and M. Steenstrup, “Hierarchically-Organized, Multi-hop Mobile Wireless Networks for Quality of Service Support”, in ACM/Baltzer Mobile Networks Journal, Vol. 3, No. 1, 1997. -21- [7] Victor T.-S Shi, Wang Chu and William Perrizo, “The performance of a link with multipriority traffic”, IEEE Transactions on Communications, Vol.46, No.6, 1998, pp.743-746. [8] J. M. Akinpelu, “The overload performance of engineered networks with nonhierarchical and hierarchical routing”, AT&T Technical Journal, No. 7, Vol. 63, 1984, pp.1261-1280. [9] J. Dshalalow, Frontiers in queuing: models and applications in science and engineering, CRC Press, 1997. [10] W. Wang, T. N. Saadawi, “Trunk congestion control in heterogeneous circuit switched networks”, IEEE Trans. Comm., No.7, Vol. 40, 1992, pp.1156-1161. [11] R. Cooper, Introduction to Queuing Theory, 2nd ed., New York, Macmillan, 1981. [12] Gersht, et al, “Joint optimization of data network design and facility selection”, IEEE JSAC, Vol.8, No.9, 1990, pp.1667-1681. [13] L. Kleinrock, Queueing systems, Wiley Intersciences, Volume 1 and 2, 1976. [14] M. Shwartz, Telecommunication networks, Addison-Wesley, 1986. [15] J. Sucec and I. Marsic, “Clustering Overhead for Hierarchical Routing in Mobile Ad hoc Networks”, in Proceedings of IEEE INFOCOM ’02, New York, 2002. -22-