Methods and devices for grouping cells

Information

  • Patent Application
  • 20050059404
  • Publication Number
    20050059404
  • Date Filed
    September 15, 2003
    20 years ago
  • Date Published
    March 17, 2005
    19 years ago
Abstract
Rounded solutions of a linear program are used to partition or group cells, such as cells in a wireless network, in order to provide efficient approximations of network updating and paging costs.
Description
BACKGROUND OF THE INVENTION

As the name implies, cellular networks are made up of many separate cells. Commonly, cells are grouped into mobile switching center (MSC) domains in order to route calls between individual cells and the remainder of a wireless network (e.g., cellular, Personal Communications System (PCS), etc.). When a user of a wireless device (e.g., cell phone, pager or PDA) moves from one location to another, the network must track her location, or more precisely, the location of her mobile device. Typically, there are thousands of such movements each second in a modern wireless network. A wireless network tracks the number of such movements and associates a network cost to them. This cost is referred to as an updating cost.


While updating costs are associated with tracking the movement of users, other costs, referred to as paging costs, are associated with finding users. For example, when one user sends a call from one wireless network to a user within another wireless network, the receiving network must identify and locate the intended recipient of the call within its many cells. Typically, existing wireless networks send a page to each cell within an MSC where the recipient might be located. For example, if there are 100 cells within an MSC, a typical wireless network will send a page to all 100 cells even though the recipient is located in only one of the cells. The network tracks these pages and assigns a paging cost to each page.


Owners, operators and others involved in wireless networks desire to minimize or reduce the updating and paging costs associated with their networks. To do so, it is desirable to devise techniques which partition or group cells in such a way that both updating and paging costs are minimized. This has been a daunting challenge for it has been thought that even the mathematical statements (i.e., equations), which represent the problem have, heretofore, only been hypothetically solvable using exhaustive searches/iterations (none have actually been completed).


Finding a way to partition cells is a “balancing act” of sorts. Ideally, updating costs could be minimized by limiting the number of so-called “location area boundaries” that a user traverses when she moves from place to place. One way of doing this is to include every cell in one large “location area” (LA). As one might surmise, while this minimizes updating costs, it greatly increases paging costs because the larger the number of cells, the larger the number of pages that must be sent. The reverse is also true (i.e., creating new location areas by removing cells from an original location area may decrease paging costs but increase updating costs).


To date, though some have been able to formulate mathematical equations representing the parameters involved in partitioning cells, none have been able to guarantee that their solutions are efficient.


SUMMARY OF THE INVENTION

The present invention uses a linear program which, after its solutions are rounded, provides an efficient means of partitioning or grouping cells in order to approximate an optimum sum of both updating and paging costs for a wireless network or the like.




BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 depicts a simplified view of cells within a wireless network.



FIG. 2 depicts a simplified view of cells grouped into location areas.




DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, there is shown a wireless network 1 which comprises cells a-j (where “j” is the last cell in the network). The task at hand is to partition the cells a-j such that the updating and paging costs associated with the operation of wireless network 1 are minimized.



FIG. 1 also shows a second wireless network 200 comprising cell aa. Greatly simplified, the present invention seeks to minimize the sum of the paging costs (which occur, for example, when a user within cell aa attempts to contact a user within wireless network 1) and updating costs (which occur, for example, when a user within network 1 moves from one cell (e.g., cell a) to another cell (e.g., cell b) within network 1).


In one embodiment of the present invention, cells a-j are grouped, clustered or partitioned by: generating a linear program representing a sum of a contribution of each cell a-j to a total paging cost and a total updating cost taking into account some constraints; and assigning each cell to a group (e.g., location area) in accordance with solutions of the linear program.


Having just provided an overview of the present invention, a more detailed explanation will now be presented.


Wireless network 1 may be represented by a graph G(V, E), where V is the set of [V]ertices or nodes of the graph and E is the set of [E]dges. Each vertex represents a cell in the network, and there is an edge or boundary between vertices in the graph if the cells in the network are adjacent. The number of vertices (represented by |V|) equals n and the number of edges |E| equals m. Each vertex has a unique identification number i∈[1 . . . n] and a weighted value, wi, associated with each cell that reflects each cell's user population (e.g., the number of users which are operating within a given cell during a given period of time, such as rush hour). Every edge, denoted (i, j)∈E, has a weighted value, rij, associated with each edge between adjacent cells and which specifies the amount of user traffic between endpoints of each edge in both directions over a given period of time. For completeness sake, rij is set equal to 0 for every pair of nodes (i, j)∈V(i j)∉E.


It follows that the weighted value, wi, is representative of the paging cost associated with a cell because any time a call comes in to a user in that cell, some paging must be carried out. Similarly, the weighted value, rij, represents update costs if cells i and j are in different location areas.



FIG. 2 depicts a greatly simplified illustration of how weighted values wi and rij are used. Cells are shown in FIG. 2 grouped into location areas A and B. Location area A is given a weight wA equal to 8. Again, greatly simplified, this indicates that there are 8 cells within location area A. Location area B is given a weight wB equal to 4. Suppose further that the number of times a user traverses the boundary or edge between location area A and adjacent location area B is equal to 5 for a given time period, then rAB=5.


One way of understanding the values shown in FIG. 2, is to associate each wi with the number of cells within a location area which may have to be paged. Because there is a greater number of cells within location area A, intuitively it may occur to the reader that the paging costs associated with location area A is higher than location area B; that is correct.


On the other hand, user traffic weight rij represents the number of times a user passes from one adjacent location area into another. For example, if a user passes from location area A into location area B that amounts to one unit of traffic. Five units of traffic between location area A and location area B indicates that in average five users traverse the edge over a given time period. Perhaps more commonly, when rAB=5 this represents five separate traversals of the same edge by five separate users. It should be understood that a user may traverse an edge in either direction, e.g., three users travel from A to B and two users travel from B to A, the total adding up to five units of traffic between the endpoints of the edge represented by the “⇄” in FIG. 2.


The first step in arriving at a solution which has some degree of reliability is to first formulate an expression of the problem which is solvable without the need to resort to exhaustive searches. To that we now turn.


Generally, the paging cost can be defined as:
Page_Cost(L)=λ·Cp·SLS·iSwi(1)

where L is equal to {S1, . . . , Sk}, λ denotes a user incoming call rate, and Cp indicates the cost of paging a single cell.


In Equation (1), the paging cost of a single location area having |S| cells is the product of the incoming call rate λ·Σi∈s wi times the cost of paging all of the cells within every location area, Cp·|S|.


Similarly, an updating cost can be defined by:
Update_Cost(L)=12·Cu·iVjLa(i)rij.(2)

where Cu is the cost of a single update operation and Cu times rij is the update cost caused by traffic between cells i and j.


In Equation (2), the total updating cost within a wireless network, such as network 1, is the amount of traffic between location areas times Cu.


To minimize the overall costs of a wireless network, the sum of the paging costs, represented by Equation (1) and updating costs represented by Equation (2), must be minimized. This can be represented by:

Cost(LOPT)=minL{Update_Cost(L)+Page_Cost(L)}  (3)

As will be understood by those skilled in the art, Equation (1) is a non-linear equation because it contains the product of two variables. The two variables being the size of the location area |S| and the cell weight wi. Consequently, Equation (3) is also non-linear since it contains Equation (1). To formulate a solvable expression it is necessary to convert the non-linear program given by Equation (3) into a linear program.


In one embodiment of the present invention, a linear program is generated from the non-linear program given by Equation (3) in order to provide approximations for the sum of the paging and updating costs. The details of how the present inventors generated a linear program from a non-linear one will be presented in more detail below. Before continuing, however, some additional comments are noteworthy.


In actual wireless networks, geographical considerations and network infrastructure may impose certain size (i.e., size of a location area) and connectivity constraints on the network. These considerations must be taken into account in order to generate a meaningful formulation. For example, because all the cells of a location area are connected to a single MSC (such as MSC 2A, 2B . . . 2N shown in FIG. 1), neither the size nor total population of a location area should exceed the capacity of an MSC.


These size constraints are taken into consideration by introducing two bounds, Kmax and Wmax, on the maximal cell number and maximal population size of a location area, respectively. For every S∈L, it is required that |S|≦Kmax and Σi∈s wi≦Wmax. In another embodiment of the present invention, more general constraints bound, for each vertex i∈V, the size and weight of a location area containing i, i.e., |LA(i)|≦Ki and Σj∈LA(i) wj≦Wi.


Topological considerations also place constraints on how cells are grouped or clustered into location areas. For example, it may be that certain cells must reside in the same location area or other cells must reside in separate location areas. These constraints are defined by constants, bij, for every pair of cells i, j∈V, namely:
bij={1IfiandjmustbeindifferentLAs;-1IfiandjmustbeinthesameLAs;and0Otherwise.


The constants bij can be represented by a matrix B={bij}. Any location area plan (LAP), denoted by the symbol L, that satisfies both size and connectivity constraints is called a feasible location area plan.


In more detail, a feasible LAP can be generated as follows. Given a graph G(V,E), weights wi and rij for every node i∈V, edge i, j∈V, bounds Kmax, Wmax, and connectivity matrix B, an L can be generated such that,
Cost(L)=min{12·iVjLA(i)rij+λ·Cp·SL(S·iswi)}subjectto:(4a)S1,S2L:S1S2=0(4b)iV:1LA(i)Kmax(4c)iV:jLA(i)wjWmax(4d)i,jV,bij=1:LA(i)LA(j)(4e)i,jV,bij=-1:LA(i)=LA(j)(4f)


In sum, Equations (4a)-(4f) represent a non-linear program which takes into consideration the constraints discussed immediately above. It is Equations (4a-4f) which must be converted into a linear program. Before continuing, it should be noted that the term “linear program” is a term of art known by those skilled in the art of partitioning cells. Though a software program may eventually be written to carry out the linear program described herein, the two are not synonymous. The present invention seeks to minimize the sum of updating and paging costs using a linear program. The techniques set forth herein to minimize these costs are fundamentally different from existing techniques.


In one embodiment of the present invention, the next step in generating a linear program begins with defining a pair (V, d), where V is a set and d is a non-negative function d:VR×V→custom character (called a semi-metric) if and only if d satisfies the following three conditions: (i) dij=dji for all i, j∈V (symmetry); (ii) dii=0 for all i∈V; and (iii) di≦dik+djk for all i, j, k∉V (triangle inequality).


As provided by the present invention, the function d: VR×V→custom character is used to partition a graph representing multiple nodes into location areas. For every pair of nodes, i, j∈V , a variable dij∈{0, 1} is defined, such that,
dij={afirstvalue,e.g.,1,ifiandjbelongtodifferentLAs;orasecondvalue,e.g.,0,ifiandjbelongtothesameLAs.


Those skilled in the art will recognize that conditions (i) and (ii) from above are met. Condition (iii), which requires triangle inequality, is also met as follows. Consider an assignment to the variables dij that induces a semi-metric. This assignment defines a partition of the graph into location areas in a natural way. For every node i∈V, the location area containing it, LA(i), is defined by, LA(i)={j|j∈VΛdij=0}, i.e., all nodes that are zero distance from node i. Edges (i, j)∈E for which dij=1 are referred to as cut edges and L denotes the partitioning of LAs induced by variables dij.


Recall the matrix B defined above. It introduces constraints to ensure that a program generates meaningful results (i.e., practical groupings of location areas). In a further embodiment of the present invention, for every pair i, j∈V the constraints bij≦dij+1 are applied. If nodes i, j should be in the same location area then bij=−1, and the non-negativity constraint on dij yields dij=bij+1=0. Similarly, if nodes i, j are required to be in different location areas then bij=1. Because dij<1, it follows that dij=bij=1. If nodes i, j are not constrained then bij=0, and dij∈{0, 1}.


In one embodiment of the present invention, the paging cost of a wireless network in terms of the variable dij can be defined as follows:
Page_Cost(L)=λ·Cp·i,jV(1-dij)·wj(5)

where it will be recognized by those skilled in the art that node i is paged whenever there is an incoming call to a user within the location area the node is assigned to, LA(i). Therefore, the network involved performs
λ·i,jV(1-dij)·wj

paging operations over a given time interval.


The updating cost can also be represented in terms of the variable dij as follows:
Update_Cost(L)=12·Cu·i,jVdij·rij(6)

where the updating cost(s) shown in Equation (6) is simply the cost of the partitioned edges multiplied by the cost of a single updating operation.


Combining Equations (5) and (6) we arrive at a linear program substitute for the non-linear program given by Equation (3), which represents the total cost we are trying to minimize or optimize, namely,
min{λ·Cp·i,jV(1-dij)wj+12·Cu·i,jVdijrij}(7)


In further embodiments of the present invention, before a final linear program can be formulated, size and connectivity constraints must be applied to Equation (7). Recall the bounds Kmax and Wmax defined above. In this instance, for each node i∈V,
LA(i)={jjVdij=0};LA(i)=jV(1-dij)(numberofnodesinLA(i)).

and
w(LA(i))=jV(1-dij)·wj(weightofnodesinLA(i)),

we can enforce the size constraints on each location area by adding for each node i∈V the constraints, |LA(i)Å≦Kmax and w(LA(i))≦Wmax. Equation (7) can be rewritten as follows:
min{λ·Cp·i,jV(1-dij)wj+12·Cu·i,jVdijrij}subjectto:(8a)i,j,kV:dij+djkdik(8b)i,jV:bijdijbij+1(8c)iV:jV(1-dij)Kmax(8d)iV:jV(1-dij)wiWmax(8e)i,jV:dij{0,1}(8f)


In a further embodiment of the present invention, Equations (8a)-(8f) represent a linear program which can eventually be used to generate (i.e., partition) cell clusters or groups that can be used to derive efficient approximations of the sum of paging and updating costs. More specifically, given the restriction placed on dij by Equation (8f) (i.e., that it must be a 1 or 0), Equations (8a-8f) can be said to represent a linear, integer program.


Before continuing, it should be noted that the linear, integer program given by Equations (8a)-(8f) may be used in applications other than wireless communications. Any application which requires the partitioning of a graph (as that term is known by those in the art) using at least two parameters (e.g., cell edges/boundaries and cell size/properties) may make use of Equations (8a)-(8f).


Though the formulation of a linear, integer program is a novel accomplishment all by itself, more is needed before solutions can be generated and cells partitioned/grouped. Equations (8a)-(8f) are still considered very difficult to solve (so-called “NP hard”). More specifically, they would still require exhaustive searches or iterations to solve. In a further embodiment of the present invention, the restrictions placed on the linear integer program by Equation (8f) may be relaxed to allow approximate solutions to be generated in polynomial time (i.e., without exhaustive searches).


In a further embodiment of the present invention, the restrictions placed on the linear program by Equation (8f) may be relaxed to allow for fractional solutions, i.e., we only require that for all i, j∈V, dij∈[0,1]. The linear program generated by the present invention contains only O(n2) variables and O(n3) constraints. As will be recognized by one skilled in the art, the value of an fractional solution is a lower bound on the value of an optimal integral solution.


Though the generation of fractional solutions allows the linear program represented by Equations (8a)-(8f) to be solved without the need for an exhaustive search, once the fractional values are generated they must be used to partition cells or more specifically, to assign a cell to one or more location areas.


In yet a further embodiment of the present invention, the fractional values are rounded into integer values (e.g., 1 or 0) in order to so partition or assign each cell.


In one embodiment of the present invention, one of many techniques which may be used to round fractional values into integers is referred to as a region growing (sometimes called “ball growing”) technique.


Some notation useful in understanding such a technique is as follows. A ball b(i, r) of radius r, i.e., a subgraph induced by these nodes, and a function (r−dij)/djk having edges (i, k) with only one endpoint j∈b(i, r) (note that dij is defined for all nodes (i, j)). A cut, δ(S), of a set of nodes S is the set of edges with precisely one endpoint in S. A weight of δ(S), cut(S), is defined to be
(i,j)S=1Tij.

The cut of a ball is the cut induced by the set of vertices included in the ball. The volume, vol(S), of a set of nodes S is the weighted distance of the edges with both endpoints in S, i.e.
(i,j)STijdij.

Finally, the volume of a ball is the volume of b(i, r) including the fractional weighted distance of edges leaving b(i, r). In other words, if (j, k) is a cut edge of ball b(i, r) with j∈b(i, r), then (j, k) contributes rjkx (r−dij) weight to the volume of ball b(i, r). For reasons known to one skilled in the art, an initial volume (seed) I is also included to the volume of every ball (i.e. ball b(i, 0) has volume I).


In one embodiment of the present invention, rounding is carried out by first generating a graph G(V, E), |V|=n, having fractional assignment to the variables dij obtained from the linear program. Next, suppose the volume of the entire graph is
F=12i,jVdijrij,

where the updating cost of the fractional solution is represented by CuF. If the initial volume of the balls is F/n, balls are iteratively grown around arbitrary nodes of the graph until the cost of the cut is at most c1n(n+1) times the cost of the volume. A location area is then generated, consisting of the nodes in this ball. The nodes are then removed from the graph, and the process is repeated.


Table 1 summarizes the steps used to round fractional values generated by the linear program into integer values.

TABLE 1Round (G(V,E), {dij}):// Variable Initialization.H → GL custom character 0// Main loopwhile ∃ a node i ε H S custom character 0 r custom character 0 // Grow ball repeat  S custom character S ∪ b(i, r)  r custom character r + Δ until cut weight (b(i, r)) ≦ cln(n + 1) · vol(b(i, r)) L custom character L ∪ Send


It should be noted that the order in which the nodes are considered is indeed arbitrary. That said, the present invention can also be applied to a heuristic that chooses an order in a particular manner, as follows.


In a further embodiment of the present invention, suppose c is some constant which will be determined later, and δ=min{(dij−r): j∉b(i, r), (dij−r)>0} is the remaining distance to the nearest vertex (among those with distance greater than zero) outside the current ball, then the process will terminate in polynomial time with a solution L that satisfies a set of constraints, and have a cost which is not much more than the fractional volume F.


It should be noted that the termination condition on region-growing guarantees an O(log n) approximation to the updating component.


Let α=cln(n+1), then
Update_Cost(L)=12Cuballsbcut(b)12Cuαballsbvol(b)12Cuα(12i,jVdijrij+ballsbFn)12Cuα(2F)CuαF

where the second line follows from the fact that balls found by the algorithm are disjoint. Note also that CuF is precisely the updating cost of the fractional solution.


It can also be seen that the balls have radius at most 1/c. This fact follows from the following known lemma.


Lemma: For any vertex i and family of balls b(i, r), the condition cut (b(i, r))≦c1n(n+1)×vol(b(i, r)) is achieved for some r≦1/c.


Proof: We proceed by contradiction. We first set α=c1n(n+1). Next, the ball is grown continuously from r=0 to r=1/c, and suppose throughout this process, cut(b(i, r))>α×vol(b(i, r)). The incremental change in the volume becomes:
d(vol(b(i,r)))=d(j,kbrjkdjk+jb,kbrjk(r-dij))=jb,kb(rjk(r-dij))=jb,kbrjkr=cut(b(I,r))dr=αvol(b(i,r))dr

by assumption. The initial volume of a ball is, by definition, F/n, and the final volume is at most F+F/n if the ball covers the entire graph. Therefore,
F/nF+F/n1vol(b(i,r))(vol(b(i,r)))>01/cαrandsoln(n+1)>1cα=ln(n+1).


In an additional embodiment of the present invention, the rounded paging cost is bounded by:
Page_Cost(L)=λCpballsbi,jbwj=cc-2·λCpballsbi,jb(1-2/c)wj

where
λCpbi,jb(1-2/c)wj

is a lower bound on the paging cost of a fractional because the radius of the balls is at most 1/c and, therefore, by the triangle inequity 1−dij≧1-2/c for any nodes i and j that belong to the same ball. In an additional embodiment of the present invention, this implies that our solution applies a
cc-2

approximation to the paging cost.


In yet a further embodiment of the present invention, a final approximation factor is the maximum approximation factor of the two components, namely:
max(cln(n+1),cc-2)=O(logn)(9)


It can be shown that Equation (9) satisfies size constraints as well. More specifically, Equation (9) represents a pseudo-approximation. A pseudo-approximation gives an approximate solution to a problem with slightly different parameters. In this case, the size bound parameters, Kmax and Wmax, are perturbed slightly. Specifically, a set of location areas are generated such that each location area has size at most
cc-2Kmax

and weight at most
cc-2Wmax.


Proof of the first of these statements is as follows. (Proof of the second is similar.) Because we know that ∀i∈V:Σj∈V(1−dij)≦Kmax·Fix i, therefore,
cc-2Kmaxcc-2jV(1-dij)cc-2jLA(i)(1-dij)cc-2jLA(i)(1-2c)=jLA(i)1


The last term is the size of LA(i). Note that c is an arbitrary constant. The larger c is, the closer the solutions are to true size bounds. However, if the approximation factor grows like cln(n+1), overall costs may increase. The tradeoff is between being close to the size constraint on the one hand and having a better overall cost on the other. It should also be noted that if the bounds Kmax and Wmax are not specified (i.e. can be arbitrarily large), then the techniques presented above can be viewed as exact approximations.


In still further embodiments of the present invention, rounding can be carried out with more general size and weight constraints. For example, constraints for each vertex i∈V on the size and weight of a location area containing i, i.e., |LA(i)|≦Ki and
jLA(i)wjWi

may be applied. This requires adding many constraints exponentially to a linear program for each node i which force subsets containing i that exceed Ki and Wi bounds to have some large dij. The rounding techniques set forth above guarantee that no location area has a large diameter. Therefore, it can be assumed that large subsets will be subdivided.


Though the above discussion has focused on a few rounding techniques, it should be understood that others may be used without departing from the spirit or scope of the present invention.


The above discussion has also assumed that cells to be grouped, partitioned or clustered do not form a special cluster referred to as a “line” graph.


If, however, cells can be formed into a line cluster, then the present invention is also capable of generating optimal or minimum costs associated with these special types of cell clusters.


For example, many times wireless networks are constructed along interstate highways or the like. It turns out that many of the cells form a line cluster. Economically, it is sometimes better to treat such clusters separately. In an alternative embodiment of the present invention, the network costs associated with a line cluster can be given by:
Cost(i)=minq=1i{λ·Cp·i-q+1·j=qiwj+Cu·rq-1,q+Cost(q-1)}(10)


The generation of costs using Equation (10) is based on the following assumptions and explanation.


A line is formally defined as a graph where exactly two nodes have “degree 1”, where the degree of a node is the number of edges that have an end-point at that node, and the remaining nodes have degree 2. Consider a line G(V, E), connectivity matrix B and size bounds Kmax and Wmax. Assume further that line nodes are indexed adjacently in increasing order from 1 to n, i.e., for every i, j, rij>0 and bij≠0 only if |i−j|=1. The cost of the optimal LAP on the line graph Gi induced by the first i nodes, [1 . . . i]∈V is denoted by Cost(i), where Cost(0)=0 is the cost of an empty line.


Cost(i) (and the actual LAP itself) can be computed recursively. For example, suppose the optimal LAP in a graph Gi is {S1, . . . ,Sk} for some k. Let q be the index of the left border node in Sk (i.e., the node with the lowest index in Sk). Then the optimal LAP for Gq−1 must have the same cost as {S1, . . . , Sk} or else {S1, . . . , Sk} would not be optimal for Gi. Thus, Cost(i) is the sum of Cost(q−1) and the cost incurred by Sk is that given by Equation (9).


In yet another embodiment of the present invention, cells in a line may be grouped using a dynamic program representing a sum of weighted values associated with each cell and each edge between adjacent cells, and grouping constraints. Cells are then assigned to a group based on solutions of the dynamic program. Dynamic programming techniques are known by those skilled in the art.


The dynamic program provided by the present invention provides an optimal LAP for a line graph in time O(n2), where n is the number of nodes in the line. First, the Cost(i) for i from 1 to n is calculated and the result of each iteration is stored in a table so it may be used in the next iteration. In addition, the sum of weights is also stored to avoid an extra factor of n in run time.


As before, connectivity and size constraints must be taken into consideration. Connectivity constraints bij=1 split the line graph into multiple line graphs. Connectivity constraints bij=−1 simply forces nodes to be in same location area.


Size constraints are easily accommodated as well. As an example, consider the maximal LA size constraint Kmax (the weight constraint Wmax is analogous). When α=max{1,i−Kmax+1}, the size constraint forces the border node q to be amongst nodes α, . . . , i, and so the minimization in Equation (10) is just taken over this range.


Table 2. summarizes the steps involved in generating location area groups for a line ignoring connectivity constraints.

      //Variable Initialization.  C[0] = 0  L[0] = 0  f0,1 = 0      //Main loop from 1 to n. for i = 1 to n do   C[i] = ∞     //Updating the max weight of LA LA(i).   α = max {1, i − Kmax + 1}   WLA = Σj=αi wj      //Loop for checking all border nodes.   for q = α to i do      //Checking if q can be a border node.    if bq−1,q = 0 then     tmp = λ · Cp · (i − q + 1) · WLA +         + Cu · fq−1,q + C[q − 1]     if tmp <C[i] then       //A less expensive LAP was found.      C[i] = tmp      L[i] = L[i] = L[q−1] ∪ {{q..ii}}    end-if   end if   WLA = WLA − wq  end-for end for return C[n], L[n]end


where L and C are two arrays that store the optimal LAP and its cost for the segment [1 . . . i], respectively and where the variable WLA records the total weight of the nodes q, . . . , i initialized by
WLA=j=αiwj,

and decreased by wq before increasing a border node index, q.


Given a line G(V, E), connectivity matrix B and maximal LA size Kmax, an optimal LAP of G(V, E) and its cost can be determined for a line.


For an empty line without nodes there are no paging or updating costs and its total cost is Cost[0]=0. In an additional embodiment of the invention, the cost of different solutions is calculated when each one of the feasible border nodes q of LA(i) (the last max {1, I−Kmax1} nodes of the line), is checked using the equation,

λ·Cp·(i−q+1)·WLA+Cu·rq−1,q+C[q−1]  (11)


By inductive assumption, C[q], q<i, can be shown to be the cost of the optimal LAP for the line graph induced by nodes [1 . . . q]. Therefore, the cost of the optimal LAP can be generated when a given node q is forced to be a border node of LA(i). Because the minimum of these values is used over all feasible border nodes q, both the optimal LAP and its cost can be generated.


The above discussion has presented some examples of the present invention. Further examples may be envisioned by those skilled in the art. For example, one or more of the functions, steps or processes discussed above may be carried out by one or more programmed devices (e.g., computer, microprocessor, etc. and/or associated memory devices, hard drives, floppy discs, etc. using software, firmware, etc.). The scope of the present invention is, however, defined by the claims which follow.

Claims
  • 1. A method for grouping cells comprising: generating a linear program representing a sum of weighted values associated with each cell and each edge between adjacent cells and grouping constraints; and assigning a cell to a group based on solutions of the linear program.
  • 2. The method as in claim 1 wherein the solutions comprise fractional values.
  • 3. The method of claim 1 wherein each cell comprises a wireless cell.
  • 4. The method of claim 1 wherein the weighted values associated with each cell represent a paging cost and the weighted values associated with each edge between adjacent cells represent an updating cost.
  • 5. The method of claim 2 further comprising rounding the fractional values into integer values.
  • 6. The method as in claim 5 further comprising rounding the fractional values using region growing.
  • 7. The method as in claim 1 wherein the linear program comprises a variable, where the variable equals: a first value, if elements i and j belong to different groups, or a second value, if i and j belong to the same group.
  • 8. The method as in claim 7 wherein the first value equals 1 and the second value equals 0.
  • 9. The method as in claim 1 wherein the group comprises a location area associated with one or more wireless networks.
  • 10. The method as in claim 5 further comprising approximating costs associated with updating and paging operations of one or more wireless networks from the rounded values.
  • 11. A method for grouping cells in a line comprising: generating a dynamic program representing a sum of weighted values associated with each cell and each edge between adjacent cells and grouping constraints; and assigning a cell to a group based on solutions of the dynamic program.
  • 12. A programmed device for grouping cells operable to: generate a linear program representing a sum of weighted values associated with each cell and each edge between adjacent cells and grouping constraints; and assign a cell to a group based on solutions of the linear program.
  • 13. The programmed device as in claim 12 wherein the solution comprises fractional values.
  • 14. The programmed device of claim 12 wherein each cell comprises a wireless cell.
  • 15. The programmed device of claim 12 wherein the weighted values associated with each cell represent a paging cost and the weighted values associated with each edge between adjacent cells represent an updating cost.
  • 16. The programmed device of claim 13 further operable to round the fractional values into integer values.
  • 17. The programmed device as in claim 16 further operable to round the fractional values using region growing.
  • 18. The programmed device as in claim 12 wherein the linear program comprises a variable, where the variable equals: a first value, if elements i and j belong to different groups, or a second value, if i and j belong to the same group.
  • 19. The programmed device as in claim 14 wherein the first value equals 1 and the second value equals 0.
  • 20. The programmed device as in claim 12 wherein the group comprises a location area associated with one or more wireless networks.
  • 21. The programmed device as in claim 12 further operable to approximate costs associated with updating and paging operations of one or more wireless networks from the rounded values.
  • 22. A programmed device for grouping cells in a line operable to: generate a dynamic program representing a sum of weighted values associated with each cell and each edge between adjacent cells and grouping constraints; and assign a cell to a group based on solutions of the dynamic program.