Traffic Grooming on the Path

: In a WDM network, routing a request consists in assigning it a route in the physical network and a wavelength. If each request uses at most 1 =C of the bandwidth of the wavelength, we will say that the grooming factor is C . That means that on a given edge of the network we can groom (group) at most C requests on the same wavelength. With this constraint the objective can be either to minimize the number of wavelengths (related to the transmission cost) or minimize the number of Add Drop Multiplexers (shortly ADM) used in the network (related to the cost of the nodes). We consider here the case where the network is a path on N nodes, P N . Thus the routing is unique. For a given grooming factor C minimizing the number of wavelengths is an easy problem, well known and related to the load problem. But minimizing the number of ADM’s is NP-complete for a general set of requests and no results are known. Here we show how to model the problem as a graph partition problem and using tools of design theory we completely solve the case where C = 2 and where we have a static uniform all-to-all trafﬁc (one request for each pair of vertices).


Introduction
Traffic grooming is the generic term for packing low rate signals into higher speed streams (see the surveys [14,24,26]). By using traffic grooming, one can bypass the electronics in the nodes for which there is no traffic sourced or destinated to it. Typically, in a WDM network, instead of having one SONET Add Drop Multiplexer (shortly ADM) on every wavelength at every node, it may be possible to have ADMs only for the wavelength used at that node, the other wavelengths being optically routed without electronic switching. For example in Figure 1 node 1 has an ADM only for wavelength w 3 , the other wavelengths (w 1 and w 2 ) being optically routed.
In the past many papers on WDM networks had for objective to minimize the transmission cost and in particular the number of wavelengths to be used [1,12,10]; recent research has focused on reducing the total number of ADMs used in the network, trying to minimize it.
Here, we consider the particular case of paths (the routing is unique) with static uniform allto-all traffic (one request for each pair of vertices). To each request {i, j} routed on the path from i to j, we want to assign a wavelength in such a way that at most C requests use the same wavelength on a given edge of the path. Equivalently, each request uses 1/C of the bandwidth of the wavelength. C is called the grooming ratio (or grooming factor). For example, if the request from i to j is one OC-12 and a wavelength can carry an OC-48, the grooming factor is 4. Given the grooming ratio C and the path P N with N vertices, the objective is to minimize the total number of (SONET) ADMs used, denoted A(P N , C), and so reducing the network cost by eliminating as many ADMs as possible from the "no grooming case". Figure 2 shows how to groom requests for a grooming factor C = 2 and a path P N with N = 3, 7, 9 vertices. In the figure each level represents a wavelength (1 for N = 3, 6 for N = 7 and 10 for N = 9), on each wavelength the • indicate the vertices where an ADM is put for this wavelength and the lines represented requests routed on this wavelength. For example for N = 7 we have 5 ADM's on wavelength w 1 in nodes 0,1,2,3,6 and we groom requests For N = 3 we have 3 requests. So, if we give a priori one wavelength to each request (no grooming), we will need 2 ADMs per request and altogether 6 ADMs. However, in the case C = 1 we can use the same wavelength for the two requests {0, 1} and {1, 2}, thus using 3 ADMs for this wavelength (saving 1) and another wavelength for {0, 2} with 2 ADMs, so altogether 5 ADMs. Furthermore, when C = 2 we can use the same wavelength for the 3 requests and so need only 3 ADMs (one in each vertex).
For N = 7 we have 21 requests. So, a priori, if we give one wavelength to each request we need 42 ADMs. Using the same wavelength for disjoint requests (case C = 1), we will see after that 33 ADMs suffice. Indeed two requests may share an ADM if they have a common extremity. For C = 2 we will see that the construction given in Figure 2 is optimal and uses 6 wavelengths and 20 ADMs (note that 4 requests share the same ADM in vertex 2).
To the best of our knowledge, the problem for paths has only been studied in [22], where it has been proved NP-complete for a general set of requests (and for given C ≥ 2) and no other results are known. Other topologies have also been considered and in particular unidirectional rings primarily in the context of variable traffic requirements [8,13,18,27,29]; but the case of fixed traffic requirements has also been widely studied [3,4,6,7,14,16,17,20,21,24,28,30].
In this paper we model the grooming problem on the path as a graph partition problem. We show how a greedy algorithm gives a solution for C = 1 and any set of requests. Then, using tools of design theory, we determine exactly the number of ADMs in the case C = 2 for the all-to-all set of requests.
A preliminary version of this paper has been presented at SIROCCO'05 [2].

Modeling
Here we are given a physical graph and a set of requests I. The physical graph will be the path P N with vertex set V = {0, 1, 2, . . . , N − 1} and where the edges are the pairs {i, i + 1}, 0 ≤ i ≤ N − 2.
The set of requests I is a set of pairs {u, v} that we model by a graph I where each edge e = {u, v} is associated to the request {u, v}. Each request is routed along the unique subpath in P N from u to v and we associate to it a wavelength w.
For a subgraph B of requests of I, we define the load of an edge e = {i, i + 1} of P N , L(B, e), as the number of requests which are routed through e, that is the number of edges {u, v} of B such that u ≤ i < v. Now let B w = (V w , E w ) be the subgraph of I containing all requests carried by wavelength w. The fact that the grooming ratio is C can be expressed as L(B w , e) ≤ C for each edge e of P N . The number of ADMs used for the wavelength w is nothing else than |V w |.
So the problem corresponds to partition the edges of I (set of requests) into subgraphs B w (set of requests with wavelength w) such that L(B w , e) ≤ C.
It is straightforward to see that minimizing the number W of wavelengths needed to route all requests is equivalent to minimizing the number of subgraphs in the partition. Furthermore this is an easy problem since the load L(G, e) is easy to compute. For example if I is the complete graph K N , L(K N , {i, i + 1}) = (i + 1)(N − i − 1). If L max (G) is the maximum load over all the edges, L max (G) = max e∈P N L(G, e), then we need at least L max (G) C wavelengths and we can assign them in a greedy way. For the complete graph, the number of wavelengths is therefore: For the all-to-all set of requests on the path P N and grooming ratio C, the minimum number of wavelengths needed is N 2 −ε 4C , where ε = 1 when N is odd and 0 otherwise.
where ε = 1 when N is odd and 0 otherwise.
Here our objective is to minimize the number of ADMs, that is the sum of the number of vertices in the B w . Thus the problem can be formalized as follows:

Problem 2.2 (Grooming problem on the path)
Inputs : a path P N , a grooming ratio C and a set of requests I modeled by the graph I. Output : a partition of the edges of I into subgraphs B w = (V w , E w ), w = 1, . . . , W , such that load(B w , e) ≤ C for each edge e of P N . Objective :minimize 1≤w≤W |V w |.
We will denote the minimum of 1≤w≤W |V w | by A(P N , I, C). As we will mainly consider in this paper I = K N , following [6], we will shortly denote A(P N , K N , C) by A(P N , C), that is the optimal number of ADMs for a grooming ratio C and the all-to-all set of requests on the path.
We have formalized the problem in its undirected version, but for paths it is the same for directed or symmetric directed versions. Indeed, if we consider a dipath − → P N where the arcs are from i to i + 1, and if the requests are the couples (u, v), with u < v, the problem is exactly the same. If we consider a symmetric dipath P * N with arcs (i, i + 1) and (i + 1, i) and the requests are the couples (u, v), we can split the problem into 2 disjoint subproblems, one with the dipath − → P N oriented from 0 to N − 1 with all requests (u, v) with u < v, and the second on the dipath ← − P N oriented from N − 1 to 0 with requests (u, v) with v < u.
To the best of our knowledge, this problem has only been studied in [22] where it has been proved NP-complete, and no other results are known. However, the grooming problem for rings has been extensively studied. For example in [6] we have shown that the grooming problem on the unidirectional ring can be formalized as follows:

Problem 2.3 (Grooming problem on the cycle)
Inputs : a cycle C N and a grooming ratio C.
Output : a partition of the edges of Note that in Problem 2.3, for the ring, it is supposed that the two requests (u, v) and (v, u) are assigned to the same wavelength (using thus 1/C of the capacity of the wavelength). Clearly, a bound on the number of ADMs for unidirectional ring gives a bound for our problem, but there might be very different (for example for C = 2 and for the cycle C 3 we need 5 ADMS, but A(P 3 , 2) = 3) due to capacity constraints.
In fact, the problem for unidirectional rings corresponds to the problem of path "without erasure" [22]. In this model a request (u, v) uses 1/C of the bandwidth on the whole path and not only on the subpath between u and v. The "load condition" becomes: there are at most C requests in any subgraph B w which is exactly the constraint of Problem 2.3.
We will show in the next section that the grooming problem on the path with erasure for C = 1 and general instances can be solved polynomially, which is not the case on the ring (in the erasure model) [25,27,15].
3 Grooming ratio C = 1 When the grooming ratio is equal to 1, the grooming problem on the path can be solved optimally for any set of requests in polynomial time. We prove this in Proposition 3.1 and give the exact number of ADMs in the all-to-all case in Corollary 3.2. Let d − I (i) (resp. d + I (i) denote the indegree (resp. outdegree) of node i in I, that is the number of requests {u, i} with u < i (resp. {i, u} with i < u).
Proof: The lower bound is simple since in each node i of the path P N we can not do better than sharing an ADM between a request ending in this node, that is a request {u, i} with u < i, and a request starting from it, that is . Now, note that it is always possible to put a request ending in node i and a request starting from i in a same subgraph. Thus we can form the subgraphs using a greedy process: scan the nodes of the path from 0 to N − 2 and add to each subgraph containing a request ending in i a request starting from i (if any left), and then create a new subgraph for each remaining request that start from i (if any). Therefore, in each node i, we will use max d − I (i), d + I (i) ADMs and so the lower bound is attained.
Finally, one may remark that this process will create more subgraphs than necessary, but we can merge two subgraphs if they contain disjoint requests. Doing so we will use the optimal number of subgraphs.
, where ε = 1 when N is odd and 0 otherwise .
The corollary follows from the fact that d − I (i) = i and d + Another simple construction is the following. We have A(P 2 , 1) = 2 and A(P 3 , 1) = 5. Now let the vertices of P N be 0, 1, . . . , N − 1; arrange them in this order, and suppose that A(P N , 1) = (3N 2 − 2N − ε)/4, where ε = 1 when N is odd and 0 otherwise. Let now the vertices of P N +2 be x, 0, 1, . . . , N − 1, y and arrange them in this order. The subgraphs of the partition of K N +2 will be: the N subgraphs When the grooming ratio is C ≥ 2, the problem is NP-complete and difficult to approximate for general instance. In particular, when the grooming ratio is equal to C = 2, this problem is similar to partition the edges of I into the maximum number of K 3 s (see [11,19]), although such partition only provides an upper bound of the total number of ADMs (two K 3 may share an ADM). However, for I = K N we will give in the next sections the exact number of ADMs for C = 2.

Lower bounds
Consider a valid construction for the Problem 2.2 and let a p denote the number of subgraphs of the partition with exactly p nodes, A the number of ADMs, and W the number of subgraphs of the partition. We have the following equalities: To obtain accurate lower bounds we need to bound the value of |E w | for a graph with |V w | = p vertices, satisfying the load constraint. Let γ(C, p) be this maximum number of edges. The determination of γ(C, p) is a challenging problem. In a first version of this paper we conjectured that we have to take the edges of smallest length (distance on the path); that corresponds to the intuition that, in order to satisfy the maximum number of requests, one has to choose the smallest ones. This conjecture is true for C = 1, as γ(1, p) = p − 1. We will see that it is true also for C = 2, where γ(2, p) = 3p−3 2 . It is also true for C = 3, where γ(3, p) = p − 1 + p − 2 = 2p − 3 obtained by taking all the edges of length 1 and 2. However, this conjecture is not true in general and has been disproved in [5], were is given a closed formula for γ(C, p). For example when C = s(s+1) For example when C = 3 and using the value γ(3, p) = 2p − 3 we obtain In what follows we will restrict ourselves to the case C = 2, which is already non immediate and for which we have been able to obtain exact values. To obtain the right lower bounds when 6 N is even, we need to determine γ(2, p, 2h) which is the maximum number of edges of a graph B with p vertices with at least 2h vertices of odd degree and such that L(B, e) ≤ 2 for each edge of P N . Note that γ(2, p) = γ(2, p, 0).
Proof: We prove the lemma by induction. It is true for p = 2 as a graph with two vertices has at most one edge. In that case h = 1 and we have equality. For p = 3 the maximum number of edges is 3, obtained with a K 3 , and there is equality for h = 0. With h = 1, the graph has at most 2 edges and the equality is attained with a P 3 . Similarly for p = 4, the graph has at most 4 edges. Let the vertices be {a, b, c, d} with a < b < c < d. So in all cases the bound is proved.
Remark: a careful analysis indicates when the bound is attained. An optimal (p, 2h) graph can be obtained either by adding an edge joined to a vertex of even degree of a (p − 1, 2h − 2) optimal graph (case 1); or by adding two edges {a, b} and {a, c} with a < b < c, c being a vertex of even degree of an optimal (p − 2, 2h − 2) graph with p + h even (case 2.a); or by adding a K 3 joined to a vertex of an optimal (p − 2, 2h) graph (case 2.b.i); or by adding a C 4 joined to a vertex of an optimal (p − 3, 2h) graph (careful analysis of case 2.b.iii).
In particular when p is odd and h = 0, the optimal graph is unique and consists of a sequence of 3p−3 6 K 3 's sharing two by two a vertex (K 3 + K 3 + · · · + K 3 ) where G + H denote the graph obtained by merging the right most node of G with the left most node of H.
For any h, equality is attained with the graph consisting of 3p−3−3h 6 K 3 s and h edges merged in the following way e + K 3 + e + K 3 + · · · + K 3 + e + K 3 + K 3 + · · · + K 3 (with p ≥ h, and p odd when h even and p even when h odd).
when N is even.
Proof: By Lemma 4.1 we know that |E w | ≤ γ(2, p w , 2h w ) ≤ 3pw−3−hw 2 for a B w with p w vertices and 2h w vertices with odd degree. So If N is odd, W w=1 h w can be equal to 0, but when N is even all vertices of K N being of odd degree, W w=1 2h w ≥ N . So Equation 1 and Inequalities 4 and 5 become Equation 9 and Inequalities 10 and 11, where ε = 1 if N is odd and ε = 0 otherwise.

24
, and when N is even, we have ε = 0 and so A(P N , 2) ≥ N (N −1) 5 Constructions for C = 2

3-GDD
Let v 1 , v 2 , . . . , v l be non negative integers; the complete multipartite graph with group sizes v 1 , v 2 , . . . , v l is defined to be the graph with vertex set V 1 ∪ V 2 ∪ · · · ∪ V l where |V i | = v i , and two vertices u ∈ V i and v ∈ V j are adjacent if i = j. Using terminology of Design Theory, the graph of type p α 1 1 p α 2 2 . . . p α l l will be the complete multipartite graph with α i groups of size p i . The existence of a partition of this multipartite graph into K k is equivalent to the existence of a k-GDD (Group Divisible Design) of type p α 1 1 p α 2 2 . . . p α l l . Here we are interested in the existence of 3-GDD's, that is partitions into K 3 's.
Theorem 5.1 (Existence of a 3-GDD (see [9])) There exists a 3-GDD of type p α 1 1 p α 2 2 . . . p α l l if and only if (i) each node of the complete multipartite graph has even degree, and (ii) the number of edges is a multiple of 3.

Constructions for small values of N
We have reported in Table 1 the number A(P N , 2) of ADMs and the number W of subgraphs of optimal constructions for some small cases. Direct constructions for the value that cannot be obtained in the following constructions are given in Appendix A.

Constructions for odd values
In this section we show that the lower bound is always attained for odd N . To prove that, we use the 3-GDD described in Theorem 5.2 from which we deduce a generic construction in Corollary 5.3. Finally, we show in Theorem 5.4 that the bound is reached for all odd values.  The examples of Figure 2 for N = 7 (resp. N = 9) are obtained with this construction using u = 3 and v = 1 (resp. v = 3).

9
The 3-GDD of type u 1 v 1 1 u has 3u 2 −u+4uv 6 K 3 , and we say that the K 3 s are of type ABC or ACC or CCC depending of their number of nodes in A, B and C. There are uv K 3 of type ABC, u(u−v) 2 K 3 of type ACC and u(v−1) 6 K 3 of type CCC. Each node of A is the left most node of v + u−v 2 = u+v 2 K 3 of type ABC or ACC. Since each node of A is the right most node of at most u−1 2 subgraphs of the decomposition of K u , we can merge each of the u 2 −1 8 subgraphs with one K 3 and so we save u 2 −1 8

ADMs.
Each node of C is the right most node of v K 3 of type ABC. It is also involved in u − v K 3 of type ACC and in u−1−(u−v) Thus we can merge each K 3 of type CCC with a K 3 of type ABC and so we save u(v−1) 6 more ADMs. Note that since each node of B is the middle node of a K 3 of type ABC, we can not merge the subgraphs of the partition of K v .
Thus, the number of ADMs used in this construction is Since for w = u or v, we have A(P w , 2) = 11w 2 −8w−3
Note that, as expected, the number of subgraphs in the partition is We can now prove that the bound is attained for all odd values.
Proof: For N = 3, 5, 13, 17 we give direct constructions in Lemmas A.1, A.3, A.6 and A.8. For other values we will use Corollary 5.3 using induction on u.

Construction for even values
In view of the lower bound, an optimal partition will have exactly N 2 8 subgraphs and each vertex will appear once with odd degree and otherwise the value 3p−3 2 is attained. So we will have mainly K 3 's, plus N 2 graphs K 3 + e (except for some congruence classes where one edge is isolated) some of these K 3 's or K 3 + e being merged together.
Proof: To deduce the lemma from Theorem 5.1, one has to check that all nodes have even degree (which is true) and that the total number of edges 4u 2 +4uv +4uv +4 u(u−1) Now suppose that the result is true for 2u and 2v, that is for w = u or v, where ε w = 1 2 when 2w ≡ 2 or 6 (mod 12), ε w = 1 3 when 2w ≡ 4 (mod 12), ε w = 5 6 when 2w ≡ 10 (mod 12), and 0 otherwise. Furthermore, the number of subgraph is 4w 2

8
. Let now N = 4u + 2v, where u and v are such that there exists a 3-GDD of type (2u) 1 (2v) 1 2 u . Let also the nodes be A ∪ B ∪ C 1 ∪ C 2 ∪ · · · ∪ C u with |A| = 2u, |B| = 2v and |C i | = 2, 1 ≤ i ≤ u, and let C = ∪ u i=1 C i . To simplify the notation, we say that an edge is of type CC if it has one node in C i and another in C j with i = j.
The 3-GDD of type (2u) 1 (2v) 1 2 u has 6u 2 −2u+8uv 3 K 3 : 4uv of type ABC, 2u(2u−2v) 2 = 2u(u − v) of type ACC and 2u(v−1) with a K 3 of type ABC and so save 2u(v−1) 3 ADMs. Furthermore, we can merge each edge c 1 i , c 2 i such that c 1 i , c 2 i ∈ C i , 1 ≤ i ≤ u, with a K 3 of type ABC or ACC and so save u more ADMs. Each node of A is the left most node of 2v + u − v = u + v K 3 of type ABC or ACC and is the right most node of at most 2u−2 2 + 1 = u subgraphs of the optimal construction for 2u. Thus we can merge each subgraph and save 4u 2 8 more ADMs.

By hypothesis we have
where α u = 1 3 when u ≡ 2 (mod 3) and 0 otherwise. Altogether the construction has the following number of ADMs.
Now we have to check that α u + ε v = ε N in all cases. For that, observe that the conditions of Lemma 5.5 are satisfied when v = 1 and when v = 4, assuming that u ≥ v ≥ 1. So we have reported in the following table all cases that satisfies the above construction. 12t + 12 t ≥ 1 3t + 1 4 0 0 0 Furthermore, the number of subgraphs in our construction for N = 4u + 2v is equal to the number of K 3 of type ABC, plus the number of K 3 of type ACC, plus the number of subgraphs in the construction for 2v, that is 4uv In conclusion, Theorem 5.6 is true for all even N .
Lemma A.7 A(P 16 , 2) = 115 Proof: Let the vertices of P 16 be A ∪ B ∪ C, where A = {a 0 , a 1 , a 2 , a 3 , a 4 , a 5 }, B = {b 0 , b 1 , b 2 , b 3 } and C = {c 0 , c 1 , c 2 , c 3 , c 4 , c 5 }. Our construction is based on the existence of a 3-GDD of type 6 1 4 1 2 3 , which consist on 24 K 3 of type ABC, 6 K 3 of type ACC and 2 K 3 of type CCC, and by merging the 5 subgraphs of the decomposition of K 6 with K 3 s of type ABC, the 2 K 3 of type CCC and the 3 edges {c i , c i+1 }, i = 0, 1, 2, with K 3 s of type ABC. Altogether this construction uses 115 ADMs and the subgraphs of the decomposition are: Proof: The decomposition is based on the existence of a 3-GDD of type 3 2 5 1 3 2 (which was kindly given to us by C.J. Colbourn) and the subgraphs are: