Patent Publication Number: US-8989050-B2

Title: Graph-based distributed coordination methods for wireless communication networks

Description:
RELATED APPLICATIONS 
     This application is a Continuation-in-Part of U.S. application Ser. No. 13/308,776 entitled SYSTEMS AND METHOD FOR GRAPH-BASED DISTRIBUTED PARAMETER COORDINATION IN A COMMUNICATION NETWORK, filed Dec. 1, 2011, the disclosure of which is hereby incorporated herein by reference in its entirety. This application also claims the benefit of provisional patent application Ser. No. 61/654,239, filed Jun. 1, 2012, the disclosure of which is hereby incorporated herein by reference in its entirety. 
    
    
     FIELD OF THE DISCLOSURE 
     The present disclosure relates to a communication network and more particularly relates to distributed parameter coordination in a communication network. 
     BACKGROUND 
     In a communication network, such as a cellular communication network, local parameter settings of one communication node oftentimes influence the selection of local parameters of neighboring communication nodes in the communication network. For instance, it is sometimes necessary for each base station in a cellular communication network to select a set of parameters that is uniquely distinguishable from those selected by its neighboring base stations (i.e., base stations that serve neighboring cells in the cellular communication network). Take downlink transmission for example, each base station needs to transmit a locally unique Reference Signal (RS) for User Equipments (UEs) to identify the base station and to synchronize to the downlink transmission from the base station. The set of available reference signals is limited, and each base station needs to select (or be assigned) a reference signal that is different from the reference signals of its neighboring base stations. As another example, each base station may select (or be assigned) one of several frequency bands for transmission. If the same frequency band is only reused by other base stations serving cells that are far away, inter-cell interference can be significantly reduced. This is the classical frequency planning commonly practiced in second generation networks such as Global System for Mobile Communications (GSM) networks. There are also occasions when each base station may need to set a value to a parameter, such as transmit power, in such a way that the setting is compatible with those of the neighboring base stations in order to achieve a certain notion of optimality of the entire cellular communication network. These are just some typical problems encountered in the design of a cellular communication network in which a local parameter setting influences and is influenced by the settings of the neighboring cells. 
     Some of these problems, such as RS and frequency reuse, are typically static in nature and can therefore be solved by advanced planning during the build out of the cellular communication network. Currently, the parameters are set by planning tools that have access to information such as base station locations and radio propagation characteristics. Once a solution that is optimal network-wise is found, it remains unchanged for a long time until the deployment changes. However, other problems, such as transmit power control, are more dynamic in nature and require more frequent updates as the channel conditions vary. Methods that allow base stations to dynamically adjust their choice of parameters are therefore quite desirable. 
     Recently, there have been new applications in which the setting of conventional long-term parameters, such as frequency and RS reuse, also needs to adapt to short term changes and there is no central controller to oversee the update of the parameters. For example, in device-to-device communication, the UE locations change over time. Moreover, arrival and departure of devices also alter the system topology, and thus neighboring relationships, dynamically at a very fast pace. If the same RS selection or frequency reuse setting is to be performed in such a distributed network, a distributed mechanism must be employed. 
     As such, there is a need for systems and methods for distributed parameter coordination in a communication network, such as a cellular communication network. 
     SUMMARY 
     Systems and methods are disclosed for graph-based distributed parameter coordination in a communication network. In general, discrete local parameters to be coordinated among communication nodes in the communication network and their respective performance metrics, or costs, are modeled using a factor graph. Based on the factor graph, a variant of the sum-product algorithm, namely the min-sum algorithm, is applied in order for the communication nodes, through iterative message passing with their neighboring communication nodes, to decide upon optimal values for the local parameters for the communication nodes that collectively optimize a global performance metric across the communication network. In one embodiment, the communication network is a wireless communication network. In one specific embodiment, the wireless communication network is a cellular communication network. 
     In one embodiment, a communication node in a communication network iteratively exchanges messages with neighboring communication nodes of the communication node in the communication network based on a factor graph until a predefined stopping criteria is satisfied. The factor graph models discrete local parameters to be coordinated among communication nodes in the communication network and corresponding performance metrics of the communication nodes. In one embodiment, the messages are exchanged according to a min-sum algorithm. The communication node computes an optimal value for the local parameter of the communication node based on results of iteratively exchanging the messages with the plurality of neighboring communication nodes. The optimal value for the local parameter of the communication node and corresponding optimal values determined for local parameters of other communication nodes in the communication network together optimize a global performance metric for the communication network. 
     Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING FIGURES 
       The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure. 
         FIG. 1  illustrates a cellular communication network where discrete local parameters to be coordinated among communication nodes in the cellular communication network and their respective performance metrics, or costs, are modeled using a factor graph according to one embodiment of the present disclosure; 
         FIG. 2  is a re-organized factor graph for the cellular communication network of  FIG. 1  that illustrates relationships between factor nodes that represent local performance metrics of the communication nodes and variable nodes that represent the local parameters of the communication nodes according to one embodiment of the present disclosure; 
         FIG. 3  is a flow chart illustrating the operation of each of the communication nodes to, based on the factor graph modeling the communication nodes in the cellular communication network, iteratively exchange messages with its neighboring communication nodes to determine an optimal value for its local parameter that together with similarly determined optimal parameters for the other communication nodes in the cellular communication network collectively optimize a global performance metric across the cellular communication network according to one embodiment of the present disclosure; 
         FIG. 4  is a more detailed embodiment of the flow chart of  FIG. 3  according to one embodiment of the present disclosure; 
         FIG. 5  is a more detailed embodiment of the flow chart of  FIG. 3  according to another embodiment of the present disclosure; 
         FIG. 6  is a more detailed embodiment of the flow chart of  FIG. 3  according to another embodiment of the present disclosure; and 
         FIG. 7  is a block diagram of an exemplary communication node. 
     
    
    
     DETAILED DESCRIPTION 
     The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims. 
       FIG. 1  illustrates a cellular communication network  10  incorporating systems and methods for distributed parameter coordination according to one embodiment of the present disclosure. Before proceeding, it should be noted that while this disclosure focuses on the cellular communication network  10 , the concepts described herein are equally applicable to wired communication networks and other types of wireless communication networks (e.g., WiFi networks). As illustrated, the cellular communication network  10  includes a number of communication nodes  12 - 1  through  12 - 7 , which are generally referred to herein as communication nodes  12  or individually as communication node  12 . The communication nodes  12  may be base stations in the cellular communication network  10 , user equipments (UEs), or mobile stations in the cellular communication network  10 , or the like. As used herein, the term “base station” refers to a Node B, enhanced Node B (eNodeB), or other suitable type of base station in a cellular communication network such as the cellular communication network  10 , whereas the term “access node” is a more general term that refers to an access node in any type of wireless communication network (e.g., an access node in a WiFi network or a base station in a cellular communication network). Note that while only seven communication nodes  12  are illustrated for clarity and ease of discussion, it should be appreciated that the cellular communication network  10  may include any number of communication nodes  12 . 
     Considering the cellular communication network  10  with N communication nodes  12 , let p i , for i=1, 2, . . . , N, denote a discrete local parameter of the i-th communication node  12  (referred to as communication node i) whose value is drawn from a finite set   of possible parameter values for the i-th communication node i. Also, let  ≡[p 1 , p 2 , . . . , p N ] T  be a vector collecting the local parameters of all of the communication nodes  12  in the cellular communication network  10 . Each communication node i is associated with a list   of “proper” neighboring communication nodes (i.e., excluding communication node i) whose choices of parameter values can affect the local performance of communication node i. For convenience, also let  ≡ ∪{i} denote the “inclusive” neighbor list of communication node i. Let   denote the vector of those parameters of nodes in  , with its ordering of parameters determined by the sorted indices in  . Associated with each communication node i is a performance metric or cost, denoted by M i ( ), which is a function of those parameters in the inclusive neighbor list    i  of communication node i. Each communication node i is assumed to be capable of communicating with all communication nodes  12  in  . The goal is for each communication node i to find, in a distributed fashion, its own optimal parameter p i *, which is the corresponding component of the optimal global parameter vector  * that minimizes a weighted global performance metric given by: 
                       M   ⁡     (   )       ≡       ∑     i   =   1     N     ⁢       w   i     ⁢       M   i     (   )           ,           (   1   )               
where w i  denotes a weight associated with the local performance metric M i ( ). Note that, equivalently, Equation (1) may be rewritten such that each of the weights w i  is incorporated into the corresponding local performance metric M i ( ). In other words, Equation (1) may equivalently be represented as:
 
               M   ⁡     (   )       ≡       ∑     i   =   1     N     ⁢       M   i     ⁡     (   )               
where each of the local performance metrics M i ( ) incorporates the corresponding weight w i  from Equation (1).
 
     The present disclosure provides systems and methods for solving the problem above by modeling the communication nodes  12  and the associated local performance metrics using a factor graph. A factor graph is a bipartite graph consisting of a set of variable nodes and a set of factor nodes. Each variable node represents a variable and can only be connected to a factor node, but not another variable node. Each factor node represents a function of some of the variables. A factor node is connected to a variable node if and only if the corresponding function represented by the factor node depends on that variable. 
     For the cellular communication network  10 , the local parameters (p) of the communication nodes  12  are represented as variable nodes v(p 1 ) through v(p 7 ), and the local metrics (M) of the communication nodes  12  are represented as factor nodes v(M 1 ) through v(M 7 ). More specifically, each communication node i is modeled by a variable node that represents the local parameter p i  of the communication node i and a factor node that represents the local metric M i ( ) of the communication node i. Accordingly, a variable node corresponding to p i  is labeled as v(p i ), and a factor node corresponding to M i ( ) is labeled as v(M i ). An edge connecting a factor node (M i ) with variable node v(p k ) exists if and only if kε   i . For example,  FIG. 1  shows a hexagonal layout of seven communication nodes  12 - 1  through  12 - 7 , each associated with a factor node representing the local performance metric M i ( ) and a variable node representing the local parameter p i . The factor node associated with the local performance metric M i ( ) of communication node i is connected through edges to the respective variable nodes associated with its own local parameter p i  those parameters   of its neighboring communication nodes  12  upon which the metric M i ( ) depends. 
       FIG. 2  is a re-organized factor graph for the cellular communication network  10  of  FIG. 1 . The re-organized factor graph clearly shows the bipartite property of the factor graph with factor nodes connected only to variable nodes through respective edges. As discussed below, a message passing algorithm is executed based on the factor graph in order to perform distributed coordination of the local parameters (p) of the communication nodes  12  to collectively optimize the global performance metric for the cellular communication network  10 . The message passing algorithm is preferably a min-sum algorithm. Those messages that are passed on edges connecting factor and variable nodes for different communication nodes (e.g., communication nodes  12 - 1  and  12 - 2 ) correspond to information exchanged between two neighboring communication nodes  12 , while those messages that are passed on edges that connect factor and variable nodes for the same communication node (e.g., communication node  12 - 1 ) represent internal communications within those communication nodes  12 . Each message depends only on the variable whose associated variable node is a vertex of the edge over which the message is passed along. More precisely, each message is simply a table of values with each entry corresponding to one of the possible values of the variable, as described in more detail below. 
     The sum-product algorithm can be applied whenever the variables and functions associated with the factor graph are defined on a commutative semiring whose elements satisfy the distributive law. For our problem at hand, a variant of the sum-product algorithm is applied that is based on the min-sum commutative semiring. In this case, the sum-product algorithm is also called the min-sum algorithm. Recall that a semiring is a mathematical structure equivalent to a ring without an additive inverse. A min-sum semiring simply replaces the addition operation with the minimum operation and the multiplication operation with the addition operation. 
     More specifically, let μ M     i     →p     k   (p k ) denote a message, referred to herein as a summary message, to be passed from a factor node v(M i ) to a variable node v(p k ), and let μ p     k     →M     i   (p k ) denote a message, referred to herein as an aggregate message, to be passed from the variable node v(p k ) to the factor node v(M i ). The min-sum algorithm, when applied to our problem at hand, simply iterates between the following two kinds of message computations and exchanges: 
                         μ       M   i     →     p   k         ⁡     (     p   k     )       =       min     ⁢     {         w   i     ⁢       M   i     (   )       +       ∑     j   ∈       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢       μ       p   j     →     M   i         ⁡     (     p   j     )           }         ,           (   2   )                   μ       p   k     →     M   i         ⁡     (     p   k     )       =       ∑     j   ∈       𝒜   k     ⁢   \   ⁢     {   i   }           ⁢         μ       M   j     →     p   k         ⁡     (     p   k     )       .               (   3   )               
Note that both messages computed in Equations (2) and (3) depend only on the value of p k . Since p k ε  and   is assumed to be discrete and finite, each of the messages can be represented by a table of |   k | entries, where |   k | denotes the cardinality of    k . In Equation (2), the summary message μ M     i     →p     k   (p k ) is a table of |   k | values, where each value in the summary message is a minimum value determined from Equation (2) for a corresponding one of the possible values   for p k . In Equation (3), the aggregate message μ p     k     →M     i   (p k ) μ p     k     →M     i   (p k ) is a table of |   k | values, where each value in the aggregate message is a summation of the values from the summary messages μ M     j     →p     k   (p k ) received from communication nodes jε   k \{i} (i.e., the neighboring communication nodes  12  in the inclusive list of neighboring communication nodes for the communication node k other than the communication node i for which the aggregate message is generated).
 
     The min-sum algorithm may begin with each factor node v(M i ) computing an outgoing summary message μ M     i     →p     k   (p k ) to v(p k ) for each kε   i  using Equation (2) with all aggregate messages μ p     k     →M     i   (p k ) from connected variable nodes initialized to certain predetermined values. Upon receipt of the summary message μ M     i     →p     k   (p k ), each variable node v(p k ) then computes a summary message μ p     k     →M     i   (p k ) μ p     k     →M     i   (p k ) to v(M i ) for each iε . The algorithm then iterates until certain stopping criteria, such as a pre-determined maximum number of iterations, is reached, in which case the optimal value for the local parameter for communication node i is determined at its variable node v(p i ) by: 
     
       
         
           
             
               
                 
                   
                     p 
                     i 
                     * 
                   
                   = 
                   
                     
                       
                         arg 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         min 
                       
                       
                         p 
                         i 
                       
                     
                     ⁢ 
                     
                       
                         { 
                         
                           
                             ∑ 
                             
                               j 
                               ∈ 
                               
                                 𝒜 
                                 i 
                               
                             
                           
                           ⁢ 
                           
                             
                               μ 
                               
                                 
                                   M 
                                   j 
                                 
                                 -&gt; 
                                 
                                   p 
                                   i 
                                 
                               
                             
                             ⁡ 
                             
                               ( 
                               
                                 p 
                                 i 
                               
                               ) 
                             
                           
                         
                         } 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     When the factor graph contains no cycle, the message passing algorithm described above will yield the exact optimal solution that minimizes the global performance metric (Equation (1)). However, when the factor graph contains cycle, as it often does in many practical applications such as the problem of interest, Equation (4) yields a good approximation to the true optimal solution. 
       FIG. 3  is a flow chart illustrating the operation of one of the communication nodes  12  according to one embodiment of the present disclosure. Note that  FIG. 3  is equally applicable to the other communication nodes  12  in the cellular communication network  10  such that, based on the factor graph modeling of the communication nodes  12  in the cellular communication network  10 , the communication nodes  12  iteratively exchange messages with their neighboring communication nodes to determine optimal values for their local parameters that collectively optimize the global performance metric across the cellular communication network  10  according to one embodiment of the present disclosure. 
     As illustrated, the communication node  12  iteratively exchanges messages with the neighboring communication nodes  12  based on the factor graph until a predefined stopping criteria is satisfied (step  100 ). In the preferred embodiment, the messages are summary messages and aggregate messages generated according to Equations (2) and (3) above. The stopping criteria may be, for example, a predefined maximum number of iterations. However, other stopping criteria may alternatively be used. For example, the stopping criteria may be that the maximum percentage change in all the summary messages received by a variable node after an iteration is less than a certain predetermined threshold. It should also be noted that the communication node  12  may iteratively exchange the messages with the neighboring communication nodes  12  according to a predefined schedule. The predefined schedule may be defined such that convergence of the min-sum algorithm is improved. For example, the predefined schedule may be such that on average, 90% of the communication nodes  12  are randomly selected to generate and exchange the messages in each iteration of the min-sum algorithm (i.e., only 90% of the communication nodes  12  participate when averaged over many iterations; some iterations may have more while some iterations may have less). Conversely, the predefined schedule may be such that on average, 10% of the communication nodes  12  are randomly selected to not participate in each iteration. The random selection process may be carried out by independently generating a pseudo random number at each communication node  12  and comparing it against a threshold predetermined according to the desired faction of communication nodes  12  that participate in each iteration. Once the predefined stopping criteria is satisfied, the communication node  12  determines or otherwise computes the optimal value for the local parameter of the communication node  12  (step  102 ). In the preferred embodiment, the optimal value is computed according to Equation (4). 
       FIG. 4  is a more detailed embodiment of the flow chart of  FIG. 3  according to one embodiment of the present disclosure. Again, while this process is described with respect to one of the communication nodes  12 , it should be understood that this process is performed by each of the communication nodes  12  in the cellular communication network  10  in order to determine the optimal values for the local parameters of the communication nodes  12  in a distributed, coordinated manner that optimizes the global performance metric of the cellular communication network  10 . 
     First, the communication node  12  (which for the remaining discussion of  FIG. 4  is referred to as communication node i) performs an initialization process (step  200 ). At this point, an iteration index (n) is set to zero (i.e., n=0). During the initialization process, the communication node i initializes an aggregate message of the communication node i (μ p     i     →M     k     (0) (p k )) to an initial value, and sends the aggregate message to the neighboring communication nodes kε   i . For example, the communication node i may set μ p     i     →M     k     (0) (p i )=0 for some value of p i  in   and set μ p     i     →M     k     (0) (p i )=ε for all other values of p i  in    i , for all kε   i , to indicate initial preference of communication node i, where ε denotes a small positive number such as 0.01. Next, the communication node i receives the aggregate messages from all of the neighboring communication nodes kε   i  of the communication node i (step  202 ). Specifically, the aggregate messages are received from the variable nodes v(p k ) of all of the neighboring communication nodes kε  of the communication node i. 
     The communication node i, and specifically the factor node of the communication node i, then computes summary messages for each of the neighboring communication nodes kε  of the communication node i and a summary message for the communication node i itself (step  204 ). More specifically, the summary messages are computed based on Equation (2) above. Specifically, the summary messages are computed based on: 
                       μ       M   i     -&gt;     p   k         (     n   +   1     )       ⁡     (     p   k     )       =         min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }       =       min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       -       μ       p   k     -&gt;     M   i         (   n   )       ⁡     (     p   k     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }                 (   5   )               
for each neighboring communication node kε , by hypothesizing each possible value of p k  in   and finding the best corresponding set of parameters    \{k}  that minimizes the quantity in brackets above.
 
     More specifically, in order to understand Equation (5), one must first understand that M i ( ) is essentially a multi-dimensional table that includes a value for the local performance metric for communication node i for each possible combination of values for vector  , which is a vector of the local performance metrics of the inclusive list of neighboring communication nodes for communication node i. Then, in order to compute the summary message to be sent to communication node k, the communication node i first hypothesizes that p k  is one of the possible values in  . Then, using the hypothesized value for p k , M i ( ) becomes a multi-dimensional table for all possible combinations of values for    A     i    with p k  equal to the hypothesized value for p k . Each value in the multi-dimensional table is then summed with a discrete value that is equal to a summation of the values from the aggregate message μ p     j     →M     i     (n) (p j ) for jε   i \{k} for the hypothesized value for p k . A minimum value from the resulting multi-dimensional table is then determined. A value in the summary message μ M     i     →p     k     (n+1) (p k ) corresponding to the hypothesized value for p k  is then set equal to the minimum value determined for the hypothesized value for p k . This process is repeated for each of the other possible values   for p k . In this manner, the summary messages μ M     i     →p     k     (n+1) (p k ) are computed for all of the communication nodes kε   i . Note that to reduce computational complexity, the minimization operation in step  204  can be computed through a standard alternating-coordinate optimization technique, i.e., starting with an arbitrary choice of    \{k}  and optimizing each parameter in    \{k}  one at a time while holding the other parameters fixed. 
     The communication node i then sends each of the summary messages μ M     i     →p     k     (n+1) (p k ) for kε   i  (i.e., the summary messages for the proper neighboring communication nodes of the communication node i) to the corresponding neighboring communication node k (step  206 ). The communication node i also receives similarly computed summary messages from the proper neighboring communication nodes of the communication node i (step  208 ). 
     The communication node i then generates aggregate messages μ p     i     →M     k     (n+1) (p i ) for kε   i  (i.e., for each of the proper neighboring communication nodes of the communication node i) as well as an aggregate message μ p     i     →M     k     (n+1) (p i ) for k={i} (i.e., for the communication node i itself) (step  210 ). More specifically, the communication node i generates the aggregate messages according to Equation (3) above. More specifically, the communication node i generates the aggregate messages based on: 
                       μ       p   i     -&gt;     M   k         (     n   +   1     )       ⁡     (     p   i     )       =           μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )           =         μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       -       μ       M   k     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )                     (   6   )               
for each neighboring communication node kε  by summing the summary messages {μ M     j     →p     i     (n+1) (p i )} jε       i   .
 
     The communication node i then sends each of the aggregate messages μ p     i     →M     k     (n+1) (p i ) to the corresponding neighboring communication node k (step  212 ). In this embodiment, the communication node i next determines whether the predefined stopping criteria has been satisfied (step  214 ). If not, the iteration index is incremented (step  216 ), and the process returns to step  202  and is repeated. If the predefined stopping criteria has been satisfied, the communication node i computes an optimal value p i * for the local parameter of the communication node i based on the summary messages from the final iteration (i.e., the final summary messages) (step  218 ). More specifically, the optimal value p i * for the local parameter of the communication node i is computed based on: 
                     p   i   *     =         arg   ⁢           ⁢   min       p   i       ⁢       {       ∑     j   ∈     𝒜   i         ⁢       μ       M   j     -&gt;     p   i         (     n   f     )       ⁡     (     p   i     )         }     .               (   7   )               
Equation (7) returns one of the possible values for the local parameter p i  of the communication node i that corresponds to the minimum value in the table resulting from the summation of the final summary messages.
 
       FIG. 5  is a more detailed embodiment of the flow chart of  FIG. 3  according to another embodiment of the present disclosure. Notably,  FIG. 5  is substantially the same as  FIG. 4  but where the stopping criteria is checked after sending and receiving summary messages rather than after generating and sending the aggregate messages as in  FIG. 4 . Again, while this process is described with respect to one of the communication nodes  12 , it should be understood that this process is performed by each of the communication nodes  12  in the cellular communication network  10  in order to determine the optimal values for the local parameters of the communication nodes  12  in a distributed, coordinated manner that optimizes the global performance metric of the cellular communication network  10 . 
     First, the communication node  12  (which for the remaining discussion of  FIG. 4  is referred to as communication node i) performs an initialization process (step  300 ). At this point, an iteration index (n) is set to zero (i.e., n=0). During the initialization process, the communication node i initializes all messages to predetermined values. In particular, the communication node i initializes the summary messages from the communication node i for n=0 (i.e., μ M     i     →p     k     (0) (p k )) for all kε . In order to initialize the summary messages μ M     i     →p     k     (0) (p k ) for the communication node i, the communication node i first initializes the aggregate messages μ p     i     →M     k     (0) (p i ) from the communication node i for all kε   i  to some predetermined initial values (e.g., 0 for some value of p i  and ε=0.01 for all other values of p i ) and then sends the aggregate messages for kε   i  to the corresponding neighboring communication nodes k. Likewise, the communication node i then receives aggregate messages from its neighboring communication nodes k for kε   i . The communication node i then computes the summary messages μ M     i     →p     k     (0) (p k ) for all kε   i  for n=0 using: 
     
       
         
           
             
               
                 
                   
                     
                       μ 
                       
                         
                           M 
                           i 
                         
                         -&gt; 
                         
                           p 
                           k 
                         
                       
                       
                         ( 
                         0 
                         ) 
                       
                     
                     ⁡ 
                     
                       ( 
                       
                         p 
                         k 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         min 
                         
                           p 
                           
                             
                               𝒜 
                               i 
                             
                             ⁢ 
                             \ 
                             ⁢ 
                             
                               { 
                               k 
                               } 
                             
                           
                         
                       
                       ⁢ 
                       
                         { 
                         
                           
                             
                               w 
                               i 
                             
                             ⁢ 
                             
                               
                                 M 
                                 i 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   p 
                                   
                                     𝒜 
                                     i 
                                   
                                 
                                 ) 
                               
                             
                           
                           + 
                           
                             
                               μ 
                               
                                 
                                   p 
                                   i 
                                 
                                 -&gt; 
                                 
                                   M 
                                   i 
                                 
                               
                               
                                 ( 
                                 0 
                                 ) 
                               
                             
                             ⁡ 
                             
                               ( 
                               
                                 p 
                                 i 
                               
                               ) 
                             
                           
                           + 
                           
                             
                               ∑ 
                               
                                 j 
                                 ∈ 
                                 
                                   
                                     𝒩 
                                     i 
                                   
                                   ⁢ 
                                   \ 
                                   ⁢ 
                                   
                                     { 
                                     k 
                                     } 
                                   
                                 
                               
                             
                             ⁢ 
                             
                               
                                 μ 
                                 
                                   
                                     p 
                                     j 
                                   
                                   -&gt; 
                                   
                                     M 
                                     i 
                                   
                                 
                                 
                                   ( 
                                   0 
                                   ) 
                                 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   p 
                                   j 
                                 
                                 ) 
                               
                             
                           
                         
                         } 
                       
                     
                     = 
                     
                       
                         min 
                         
                           p 
                           
                             
                               𝒜 
                               i 
                             
                             / 
                             
                               { 
                               k 
                               } 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           { 
                           
                             
                               
                                 w 
                                 i 
                               
                               ⁢ 
                               
                                 
                                   M 
                                   i 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     p 
                                     
                                       𝒜 
                                       i 
                                     
                                   
                                   ) 
                                 
                               
                             
                             + 
                             
                               
                                 μ 
                                 
                                   
                                     p 
                                     i 
                                   
                                   -&gt; 
                                   
                                     M 
                                     i 
                                   
                                 
                                 
                                   ( 
                                   0 
                                   ) 
                                 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   p 
                                   i 
                                 
                                 ) 
                               
                             
                             - 
                             
                               
                                 μ 
                                 
                                   
                                     p 
                                     k 
                                   
                                   -&gt; 
                                   
                                     M 
                                     i 
                                   
                                 
                                 
                                   ( 
                                   0 
                                   ) 
                                 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   p 
                                   k 
                                 
                                 ) 
                               
                             
                             + 
                             
                               
                                 ∑ 
                                 
                                   j 
                                   ∈ 
                                   
                                     𝒩 
                                     i 
                                   
                                 
                               
                               ⁢ 
                               
                                 
                                   μ 
                                   
                                     
                                       p 
                                       j 
                                     
                                     -&gt; 
                                     
                                       M 
                                       i 
                                     
                                   
                                   
                                     ( 
                                     0 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     p 
                                     j 
                                   
                                   ) 
                                 
                               
                             
                           
                           } 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     The communication node i then generates aggregate messages μ p     i     →M     k     (n+1) (p i ) for kε  (i.e., for each of the proper neighboring communication nodes of the communication node i) as well as an aggregate message μ p     i     →M     k     (n+1) (p i ) for k={i} (i.e., for the communication node i itself) (step  302 ). More specifically, the communication node i generates the aggregate messages according to Equation (3) above. More specifically, the communication node i generates the aggregate messages based on: 
                       μ       p   i     -&gt;     M   k         (     n   +   1     )       ⁡     (     p   i     )       =           μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )           =         μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       -       μ       M   k     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )                     (   9   )               
for each neighboring communication node kε  by summing the summation messages {μ M     j     →p     i     (n+1) (p i )} jε       i   .
 
     The communication node i then sends each of the aggregate messages μ p     i     →M     k     (n+1) (p i ) to the corresponding neighboring communication node k (step  304 ). In this embodiment, next, the communication node i receives the aggregate messages from all of the neighboring communication nodes kε  of the communication node i (step  306 ). Specifically, the aggregate messages are received from the variable nodes v(p k ) of all of the neighboring communication nodes kε  of the communication node i. 
     The communication node i, and specifically the factor node of the communication node i, then computes summary messages for each of the neighboring communication nodes kε  of the communication node i and a summary message for the communication node i itself (step  308 ). More specifically, the summary messages are computed based on Equation (2) above. Specifically, the summary messages are computed based on: 
                       μ       M   i     -&gt;     p   k         (     n   +   1     )       ⁡     (     p   k     )       =         min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }       =       min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       -       μ       p   k     -&gt;     M   i         (   n   )       ⁡     (     p   k     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }                 (   10   )               
for each neighboring communication node kε , by hypothesizing each possible value of p k  in   and finding the best corresponding set of parameters    \{k}  that minimizes the quantity in brackets above, as discussed above with respect to step  204  of  FIG. 4 .
 
     The communication node i then sends each of the summary messages μ M     i     →p     k     (n+1) (p k ) for kε  (i.e., the summary messages for the proper neighboring communication nodes of the communication node i) to the corresponding neighboring communication node k (step  310 ). The communication node i also receives similarly computed summary messages from the proper neighboring communication nodes of the communication node i (step  312 ). 
     Next, in this embodiment, the communication node i determines whether the predefined stopping criteria has been satisfied (step  314 ). If not, the iteration index is incremented (step  316 ), and the process returns to step  302  and is repeated. If the predefined stopping criteria has been satisfied, the communication node i computes an optimal value p i * for the local parameter of the communication node i based on the summary messages from the final iteration (i.e., the final summary messages) (step  318 ). More specifically, the optimal value p i * for the local parameter of the communication node i is computed based on: 
                     p   i   *     =         arg   ⁢           ⁢   min       p   i       ⁢       {       ∑     j   ∈     𝒜   i         ⁢       μ       M   j     -&gt;     p   i         (     n   f     )       ⁡     (     p   i     )         }     .               (   11   )               
Equation (11) returns one of the possible values for the local parameter p i  of the communication node i that corresponds to the minimum value in the table resulting from the summation of the final summary messages.
 
       FIG. 6  is a more detailed embodiment of the flow chart of  FIG. 3  according to another embodiment of the present disclosure. This embodiment is similar to the embodiment of  FIG. 4  but where steps  210  and  212  of  FIG. 4  are performed only if the predetermined stopping criterion, or criteria, is not satisfied. Again, while this process is described with respect to one of the communication nodes  12 , it should be understood that this process is performed by each of the communication nodes  12  in the cellular communication network  10  in order to determine the optimal values for the local parameters of the communication nodes  12  in a distributed, coordinated manner that optimizes the global performance metric of the cellular communication network  10 . 
     First, the communication node  12  (which for the remaining discussion of  FIG. 6  is referred to as communication node i) performs an initialization process (step  400 ). At this point, an iteration index (n) is set to zero (i.e., n=0). During the initialization process, the communication node i initializes an aggregate message of the communication node i (μ p     i     →M     k     (0) (p i )) to an initial value, and sends the aggregate message to the neighboring communication nodes kε . For example, the communication node i may set μ p     i     →M     k     (0) (p i )=0 for some value of p i  in   and set μ p     i     →M     k     (0) (p i )=ε for all other values of p i  in    i , for all kε   i , to indicate an initial preference of the communication node i, where ε denotes a small positive number such as 0.01. Next, the communication node i receives the aggregate messages from all of the neighboring communication nodes kε   i  of the communication node i (step  402 ). Specifically, the aggregate messages are received from the variable nodes v(p k ) of all of the neighboring communication nodes kε   i  of the communication node i. 
     The communication node i, and specifically the factor node of the communication node i, then computes summary messages for each of the neighboring communication nodes kε  of the communication node i and a summary message for the communication node i itself (step  404 ). More specifically, the summary messages are computed based on Equation (2) above. Specifically, the summary messages are computed based on: 
                       μ       M   i     -&gt;     p   k         (     n   +   1     )       ⁡     (     p   k     )       =         min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }       =       min     p       𝒜   i     ⁢   \   ⁢     {   k   }           ⁢     {         w   i     ⁢       M   i     ⁡     (     p     𝒜   i       )         +       μ       p   i     -&gt;     M   i         (   n   )       ⁡     (     p   i     )       -       μ       p   k     -&gt;     M   i         (   n   )       ⁡     (     p   k     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       p   j     -&gt;     M   i         (   n   )       ⁡     (     p   j     )           }                 (   12   )               
for each neighboring communication node kε , by hypothesizing each possible value of p k  in   and finding the best corresponding set of parameters    †{k}  that minimizes the quantity in brackets above.
 
     More specifically, in order to understand Equation (12), one must first understand that M i  ( ) is essentially a multi-dimensional table that includes a value for the local performance metric for the communication node i for each possible combination of values for vector  , which is a vector of the local performance metrics of the inclusive list of neighboring communication nodes for the communication node i. Then, in order to compute the summary message to be sent to communication node k, the communication node i first hypothesizes that p k  is one of the possible values in  . Then, using the hypothesized value for p k , M i ( ) becomes a multi-dimensional table for all possible combinations of values for   with p k  equal to the hypothesized value for p k . Each value in the multi-dimensional table is then summed with a discrete value that is equal to a summation of the values from the aggregate message μ p     j     →M     i     (n) (p j ) for jε †{k} for the hypothesized value for p k . A minimum value from the resulting multi-dimensional table is then determined. A value in the summary message μ M     i     →p     k     (n+1) (p k ) corresponding to the hypothesized value for p k  is then set equal to the minimum value determined for the hypothesized value for p k . This process is repeated for each of the other possible values   for p k . In this manner, the summary messages μ M     i     →p     k     (n+1) (p k ) are computed for all of the communication nodes kε . Note that to reduce computational complexity, the minimization operation in step  404  can be computed through a standard alternating-coordinate optimization technique, i.e., starting with an arbitrary choice of    \{k}  and optimizing each parameter in    \{k}  one at a time while holding the other parameters fixed. 
     The communication node i then sends each of the summary messages μ M     i     →p     k     (n+1) (p k ) for kε   i  (i.e., the summary messages for the proper neighboring communication nodes of the communication node i) to the corresponding neighboring communication node k (step  406 ). The communication node i also receives similarly computed summary messages from the proper neighboring communication nodes of the communication node i (step  408 ). 
     In this embodiment, the communication node i next determines whether the predefined stopping criteria has been satisfied (step  410 ). If not, the communication node i then generates aggregate messages μ p     i     →M     k     (n+1) (p i ) for kε   i  (i.e., for each of the proper neighboring communication nodes of the communication node i) as well as an aggregate message μ p     i     →M     k     (n+1) (p i ) for k={i} (i.e., for the communication node i itself) (step  412 ). More specifically, the communication node i generates the aggregate messages according to Equation (3) above. More specifically, the communication node i generates the aggregate messages based on: 
                       μ       p   i     -&gt;     M   k         (     n   +   1     )       ⁡     (     p   i     )       =           μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈       𝒩   i     ⁢   \   ⁢     {   k   }           ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )           =         μ       M   i     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       -       μ       M   k     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )       +       ∑     j   ∈     𝒩   i         ⁢       μ       M   j     -&gt;     p   i         (     n   +   1     )       ⁡     (     p   i     )                     (   13   )               
for each neighboring communication node kε  by summing the summary messages {μ M     j     →p     i     (n+1)   
 
     The communication node i then sends each of the aggregate messages μ p     i     →M     k     (n+1) (p i ) to the corresponding neighboring communication node k (step  414 ). The iteration index is incremented (step  416 ), and the process returns to step  402  and is repeated. Returning to step  410 , if the predefined stopping criteria has been satisfied, the communication node i computes an optimal value p i * for the local parameter of the communication node i based on the summary messages from the final iteration (i.e., the final summary messages) (step  418 ). More specifically, the optimal value p i * for the local parameter of the communication node i is computed based on: 
                     p   i   *     =         arg   ⁢           ⁢   min       p   i       ⁢       {       ∑     j   ∈     𝒜   i         ⁢       μ       M   j     -&gt;     p   i         (     n   f     )       ⁡     (     p   i     )         }     .               (   14   )               
Equation (14) returns one of the possible values for the local parameter p i  of the communication node i that corresponds to the minimum value in the table resulting from the summation of the final summary messages. Notably, Equation (14) shows that the computation of p i * does not directly depend on the aggregate messages generated in step  412 . Therefore, steps  412  and  414  do not need to be performed for the last iteration.
 
     While numerous applications of the systems and methods described herein will be appreciated by those of ordinary skill in the art, the following is a description of several exemplary applications. As a first example, each local parameter p i  may represent an index to a frequency band out of a set    i  of all possible frequency bands for the communication node i, and the global performance metric is defined to solve the frequency reuse planning problem. More specifically, the global performance metric is defined such that the min-sum algorithm minimizes the number of “collisions” in using the same frequency band in adjacent cells or base stations. In this case, the local performance metric may be chosen as: 
                   M   i     ⁡     (     p     𝒜   i       )       =       ∑     j   ∈     𝒩   i         ⁢     δ   ⁡     (       p   i     ,     p   j       )           ,         
where δ(x, y)=1 if x=y, and otherwise δ(x, y)=0. Another possible choice of the local performance metric that often leads to fast convergence is:
 
                   M   i     ⁡     (     p     𝒜   i       )       =         ∑     j   ∈     𝒩   i         ⁢     δ   ⁡     (       p   i     ,     p   j       )         +       ∑       k   ,     l   ∈     𝒩   i             k   ∈       (       ⋃     m   ∈     𝒩   l         ⁢     𝒩   m       )     ⁢   \   ⁢     𝒜   k           l   ∈       (       ⋃     m   ∈     𝒩   k         ⁢     𝒩   m       )     ⁢   \   ⁢     𝒜   l               ⁢     (     1   -     δ   ⁡     (       p   k     ,     p   l       )         )           ,         
where the second term encourages second-tier neighboring communication nodes to select the same frequency band. Yet another possible choice of the local performance metric is
 
                 M   i     ⁡     (     p     𝒜   i       )       =       1   2     ⁢       ∑       j   ,     k   ∈     𝒜   i           k   ∈     𝒩   j           ⁢     δ   ⁡     (       p   k     ,     p   j       )                 
which counts all “collisions” between neighboring communication nodes within the neighborhood defined by  .
 
     As a second example, each parameter p i  may represent an index to a reference signal (RS) out of a set   of all possible RSs for the communication node i. Here, the communication nodes  12  are access nodes in the cellular communication network  10 , and the goal is to find the best combinations of RSs for all access nodes so that the sum of maximum cross-correlation between RSs in adjacent cells or access nodes is minimized. In this case the local performance metric may be chosen as: 
                   M   i     ⁡     (     p     𝒜   i       )       =       ∑     j   ∈     𝒩   i         ⁢       max          τ        ≤     L   max         ⁢            R       s   ⁡     (     p   i     )       ⁢     s   ⁡     (     p   j     )           ⁡     (   τ   )                  ,         
where s(p i ) denotes the RS indexed by p i , L max  denotes the maximum correlation lag of interest which may be determined by the maximum allowable channel delay spread in the network, and
 
                 R       s   1     ⁢     s   2         ⁡     (   τ   )       ≡       1     N   s       ⁢       ∑   m             ⁢         s   1     ⁡     (   m   )       ⁢       s   2   *     ⁡     (     m   -   τ     )                   
denotes the cross-correlation function among RS s 1  and RS s 2 , where N s  is the length of each RS. Note that if the set   contains a sufficient number of orthogonal RSs, the minimum achievable local performance metric is zero for all access nodes. One example of a choice for s(p i ) is the Zadoff-Chu sequences given by:
 
                 s   n     ⁡     (     p   i     )       =     {           ⅇ       ⅈπ     N   s       ⁢       α   i     ⁡     (     n   +   1   -     β   i       )       ⁢     (     n   -     β   i       )                 N   s     ⁢           ⁢   odd               ⅇ       ⅈπ     N   s       ⁢         α   i     ⁡     (     n   -     β   i       )       2                 N   s     ⁢           ⁢   even                   
where p i =[α i , β i ] T  and s(p i )≡[s 0 (p i ), s i (p i ), . . . , s N     s     −1 (p i )] T . The parameter α i  generates the α i -th root sequence, whereas β i  generates cyclically shifted versions of such a α i -th root sequence. This kind of sequence exhibits the property that cyclically versions of itself (i.e. β≠0) are orthogonal to one another. To maximize the number of possible sequences with low cross-correlation among each other (i.e. α i ≠α 3 ), N s  may be chosen as a prime number, e.g., those slightly less than an integral power of 2, such as 31.
 
     As a third example, each parameter p i  represent an index to power levels out of a set   of all possible power levels for the communication node i. The goal here is to find the best combinations of power levels for all communication nodes  12  (e.g., access nodes) so that the negative sum data throughput is minimized (or equivalently, the sum data throughput is maximized). In this case the local performance metric may be chosen as: 
                   M   i     ⁡     (     p     𝒜   i       )       =       log   2     (     1   +       p   i           ∑     j   ∈     𝒩   i                 ⁢     p   j       +     σ   i   2           )       ,         
where σ i   2  denotes the noise variance observed by the UE served by the i-th access node.
 
     As a fourth example, the communication nodes  12  are base stations in a cellular communication network, where the base stations and/or mobile terminals served by the base stations utilize multiple antennas for transmission and precoding is utilized to provide either antenna selection or beam forming. Note that while a cellular communication network is referenced in this example, this example may also be used to provide precoder selection in other types of wireless communication systems. For antenna selection, precoding is used to select which of the multiple antennas is (are) to be utilized for transmission for each resource block of the transmitted signal. For beam selection, precoding is used to select a direction in which the transmitted signal is to be transmitted. In general, in this example, each local parameter p i  represents a precoding matrix from a set of all possible precoding matrices (i.e., a precoder selection codebook) that is to be used for precoding a particular transmit resource in either a downlink signal from a base station i to a particular mobile terminal served by the base station i or an uplink signal from a particular mobile terminal served by the base station i to the base station i. For this discussion, the cellular communication network is a Long Term Evolution (LTE) cellular communication network, and the transmit resource is a resource block. 
     More specifically, in one embodiment of this example, each local parameter p i  represents a precoding matrix for a particular resource block in a downlink signal from the base station i to a particular mobile terminal served by the base station i. In this embodiment, a value assigned to each local parameter p i  is an index to a precoding matrix in a predetermined set of precoding matrices S i  for the base station i. Notably, the set of precoding matrices S i  may be the same for all base stations, but may alternatively vary among the base stations. The predetermined set of precoding matrices S i  is a predetermined set of all possible precoding matrices for the base station i and may be defined as: 
               S   i     =     {             [             w   ⁡     (   1   )         1   ,   1           …           w   ⁡     (   1   )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (   1   )           N   ANT     ,   1           …           w   ⁡     (   1   )           N   ANT     ,     N   ST               ]     ,   …   ⁢           ,               [             w   ⁡     (     N   PM     )         1   ,   1           …           w   ⁡     (     N   PM     )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (     N   PM     )           N   ANT     ,   1           …           w   ⁡     (     N   PM     )           N   ANT     ,     N   ST               ]           }           
where N ST  is a number of streams transmitted by the base station i in the downlink and is an integer greater than or equal to 1, N ANT  is a number of antennas with which the base station i is equipped and is an integer greater than or equal to 2, and N PM  is a number of precoding matrices in the set of precoding matrices S 1  and is greater than or equal to 2. In each precoding matrix, each row corresponds to a different antenna and each column corresponds to a different stream. Thus, the first precoding matrix (i.e., the precoding matrix indexed by an index of 1) is:
 
               [             w   ⁡     (   1   )         1   ,   1           …           w   ⁡     (   1   )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (   1   )           N   ANT     ,   1           …           w   ⁡     (   1   )           N   ANT     ,     N   ST               ]     ,         
where w(1) 1,1  is a weight assigned to antenna  1  for stream  1  in the first precoding matrix, w(1) N     ANT     ,1  is a weight assigned to antenna N ANT  for stream  1  in the first precoding matrix, w(1) 1,N     ST    is a weight assigned to antenna  1  for stream N ST  in the first precoding matrix, and w(1) N     ANT     ,N     ST    is a weight assigned to antenna N ANT  for stream N ST  in the first precoding matrix. Similarly, the last precoding matrix (i.e., the precoding matrix indexed by an index of N PM ) is:
 
               [             w   ⁡     (     N   PM     )         1   ,   1           …           w   ⁡     (     N   PM     )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (     N   PM     )           N   ANT     ,   1           …           w   ⁡     (     N   PM     )           N   ANT     ,     N   ST               ]     ,         
where w(N PM ) 1,1  is a weight assigned to antenna  1  for stream  1  in the last precoding matrix, w(N PM ) N     ANT     ,1  is a weight assigned to antenna N ANT  for stream  1  in the last precoding matrix, w(N PM ) 1,N     ST    is a weight assigned to antenna  1  for stream N ST  in the last precoding matrix, and w(N PM ) N     ANT     ,N     ST    is a weight assigned to antenna N ANT  for stream N ST  in the last precoding matrix. Notably, for antenna selection, the values of the weights w are either 0 or 1 such that the corresponding antennas are either on or off. Conversely, for beam selection, the values of the weights w are continuous, complex values. More specifically, for each precoding matrix predefined for beam selection, the weights w assigned to the antennas are complex values that result in transmission in a particular direction. For example, for a sector providing coverage over a 120 degree range, each of the precoding matrices may correspond to a different direction within that 120 degree range.
 
     In this embodiment, the local performance metric represents the negative of data throughput of the cell corresponding to the base station i measured by: 
                 M   i     ⁡     (     p     𝒜   i       )       =       -   log     ⁢           ⁢     det   (     I   +         (       R   i     +       ∑     j   ∈     𝒩   i                 ⁢       H   ji     ⁢     P   ⁡     (     p   j     )       ⁢       P   ⁡     (     p   j     )       H     ⁢     H   ji   H           )       -   1       ⁢     H   ii     ⁢     P   ⁡     (     p   i     )       ⁢       P   ⁡     (     p   i     )       H     ⁢     H   ii   H         )             
where I denotes an identity matrix, R i  denotes the covariance matrix of the noise-plus-uncontrolled-interference experienced by the mobile terminal served by the base-station i in the downlink, H ji  denotes a Multiple-Input-Multiple-Output (MIMO) channel response from neighboring base station j to the mobile terminal served by the base-station i in the downlink, P(p j ) denotes the precoding matrix from a set of precoding matrices S j  for the neighboring base station j specified, or indexed, by the parameter p j  for the neighboring base station j, H ii  denotes a MIMO channel response from the base station i to the mobile terminal served by the base station i in the downlink, and P(p i ) denotes the precoding matrix from the set of precoding matrices S i  specified, or indexed, by the parameter p i  of the base station i.
 
     Examples of the set of precoding matrices S i  may be an LTE precoder codebook, a set of Discrete Fourier Transform (DFT) based fixed beamforming weights, and an antenna selection codebook. One example of the set of precoding matrices S i  where the set of precoding matrices S i  is an antenna selection codebook is given by: 
               S   i     =     {         [         1       0           0       1           0       0         ]     ⁡     [         1       0           0       0           0       1         ]       ⁡     [         0       0           1       0           0       1         ]       }           
where each precoding matrix in the set of precoding matrices S i  is a particular precoding matrix P(p i ) indexed by the parameter p i . In this particular example, each precoding matrix selects two antennas out of three. Note that the examples above are non-limiting. The details of the precoding matrices will vary depending on the particular implementation.
 
     In this embodiment, the global performance metric M( ) is simply a negative of the total downlink data throughput in the cellular communication network. Hence, in this embodiment, the graph-based distributed parameter coordination process described above with respect to, for example,  FIGS. 3 through 5  is utilized by the base stations to negotiate their choices of downlink precoding matrices with their respective neighbors so that the total downlink data throughput in the cellular communication network is maximized. 
     In another embodiment of this fourth example, each local parameter p i  represents a precoding matrix for a particular resource block in an uplink signal from a mobile terminal served by the base station i to the base station i. In this embodiment, a value assigned to each local parameter p i  is an index to a precoding matrix in a predetermined set of precoding matrices S i  for the mobile terminal served by the base station i. Notably, the set of precoding matrices S i  may be the same for all mobile terminals served by the base station i, but may alternatively vary among the mobile terminals. Similarly, the set of precoding matrices S i  may be the same for all mobile terminals served by all of the base stations, but may alternatively vary among the mobile terminals served by different base stations. The predetermined set of precoding matrices S i  is a predetermined set of all possible precoding matrices for the uplink to the base station i (i.e., a predetermined set of all possible precoding matrices for precoding at the mobile terminal for the uplink to the base station i) and may be defined as: 
               S   i     =     {             [             w   ⁡     (   1   )         1   ,   1           …           w   ⁡     (   1   )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (   1   )           N   ANT     ,   1           …           w   ⁡     (   1   )           N   ANT     ,     N   ST               ]     ,   …   ⁢           ,               [             w   ⁡     (     N   PM     )         1   ,   1           …           w   ⁡     (     N   PM     )         1   ,     N   ST                 ⋮       ⋱       ⋮               w   ⁡     (     N   PM     )           N   ANT     ,   1           …           w   ⁡     (     N   PM     )           N   ANT     ,     N   ST               ]           }           
where for the uplink N ST  is a number of streams transmitted by the mobile terminal in the uplink to the base station i and is an integer greater than or equal to 1, N ANT  is a number of antennas with which the mobile terminal served by the base station i is equipped which is an integer greater than or equal to 2, and N PM  is a number of precoding matrices in the set of precoding matrices S i  and is greater than or equal to 2. As discussed above, in each precoding matrix, each row corresponds to a different antenna and each column corresponds to a different stream. Examples of the set of precoding matrices S i  may be an LTE precoder codebook, a set of DFT-based fixed beamforming weights, and an antenna selection codebook.
 
     In this embodiment, the local performance metric represents the negative of data throughput of the cell corresponding to the base station i measured by: 
                 M   i     ⁡     (     p     𝒜   i       )       =       -   log     ⁢           ⁢     det   (     I   +         (       R   i     +       ∑     j   ∈     𝒩   i                 ⁢       H   ji     ⁢     P   ⁡     (     p   j     )       ⁢       P   ⁡     (     p   j     )       H     ⁢     H   ji   H           )       -   1       ⁢     H   ii     ⁢     P   ⁡     (     p   i     )       ⁢       P   ⁡     (     p   i     )       H     ⁢     H   ii   H         )             
where, for the uplink embodiment, I denotes an identity matrix, R i  denotes the covariance matrix of the noise-plus-uncontrolled-interference experienced by the base station i in the uplink from the mobile terminal, H ji  denotes a MIMO channel response from a mobile terminal served by the neighboring base station j scheduled to use the same resource block to the base station i in the uplink, P(p j ) denotes the precoding matrix from a set of precoding matrices S j  for the mobile terminal served by the neighboring base station j specified, or indexed, by the parameter p j  for the neighboring base station j, H ii  denotes a MIMO channel response from mobile terminal served by the base station i to the base-station i in the uplink, and P(p i ) denotes the precoding matrix from the set of precoding matrices S i  specified, or indexed, by the parameter p i  of the base station i.
 
     In this embodiment, the global performance metric M(p) is simply a negative of the total uplink data throughput in the cellular communication network. Hence, in this embodiment, the graph-based distributed parameter coordination process described above with respect to, for example,  FIGS. 4 and 5  is utilized by the base stations to negotiate their choices of downlink precoding matrices with their respective neighbors so that the total uplink data throughput in the cellular communication network is maximized. 
     It should be noted that the processes of  FIGS. 3 through 6  are scalable to arbitrarily large networks since their computational complexity and communication overhead increase only with the maximum number of neighboring communication nodes instead of the total number of communication nodes  12  in the cellular communication network  10 . Thus, the processes of  FIGS. 3 through 6  are general, scalable processes for coordinating local parameters throughout the cellular communication network  10  in a distributed manner and have a wide range of potential applications in wireless communications including device-to-device communications and self-organizing networks. 
       FIG. 7  is a block diagram of one of the communication nodes  12  according to one embodiment of the present disclosure. This discussion is equally applicable to all of the communication nodes  12 . The communication node  12  includes one or more transceiver subsystems  14  and a processing subsystem  16 . At least one of the transceiver subsystems  14  generally includes analog and, in some embodiments, digital components for sending and receiving messages (e.g., summary and aggregate messages) to and from the other communication nodes  12 . In particular embodiments, the transceiver subsystems  14  may represent or include radio-frequency (RF) transceivers, or separate RF transmitters and receivers, capable of transmitting such messages and/or other suitable information wirelessly to other components. 
     The processing subsystem  16  generally operates to receive and send messages via the one or more transceiver subsystems  14  and to generate and process messages as described herein. Specifically, the processing subsystem  16  operates to compute summary messages and aggregate messages as described herein. 
     In particular embodiments, the processing subsystem  16  may comprise, for example, one or several general-purpose or special-purpose microprocessors or other microcontrollers programmed with suitable software and/or firmware to carry out some or all of the functionality of the communication node  12  described herein. In addition or alternatively, the processing subsystem  16  may comprise various digital hardware blocks (e.g., one or more Application Specific Integrated Circuits (ASICs), one or more off-the-shelf digital and analog hardware components, or a combination thereof) configured to carry out some or all of the functionality of the communication node  12  described herein. Additionally, in particular embodiments, the above described functionality of the communication node  12  may be implemented, in whole or in part, by the processing subsystem  16  executing software or other instructions stored on a non-transitory computer-readable medium, such as Random Access Memory (RAM), Read Only Memory (ROM), a magnetic storage device, an optical storage device, or any other suitable type of data storage components. 
     The following acronyms are used throughout this disclosure.
         ASIC Application Specific Integrated Circuit   DFT Discrete Fourier Transform   eNodeB Enhanced Node B   GSM Global System for Mobile Communications   LTE Long Term Evolution   MIMO Multiple-Input-Multiple-Output   RAM Random Access Memory   RF Radio Frequency   ROM Read Only Memory   RS Reference Signal   UE User Equipment       

     Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.