I Introduction
Most of today’s networks consist of a large number of heterogenous agents who have privacy constraints and may act strategically. From the viewpoint of the designer/operator of such networks, solving a resource allocation problem that maximizes the social welfare of the whole network is a difficult task since agents may not be willing to share some of their private information related to their utilities. Appropriate incentives have to be put in place to induce agents to reveal their private information relevant to the welfare optimization problem. An appropriate mathematical framework for this setting is mechanism design that has been widely utilized in such areas of research as market allocations [2, 3, 4], rate and resource allocations [5, 6, 7, 8], data security [9], etc.
In the standard Mechanism Design framework (HurwiczReiter [1]) it is required that agents transmit their messages to a central authority, which in turn, determines allocation and tax/subsidy for them. Equivalently, it is assumed that agents broadcast their messages to each other and the central authority and everyone can evaluate allocation and taxes for everyone else. The motivation for this work is the realistic scenario where such message transmission to a central authority (or equivalently, broadcasting of messages) cannot take place due to network communication constraints. Indeed, in a large network, this may result in a significant communication overhead even for small messages spaces. To investigate this problem, we consider a setting in which agents only transmit their messages to their neighboring agents, where neighborhoods are defined through an underlying message graph. Consequently, allocation and tax of each agent must only depend on her neighbors’ messages. In other words, each agent can determine her allocation and tax based on the messages she hears and therefore, there is no need for a central authority. This implies that, unlike standard mechanisms, the designed allocation and tax functions cannot have the whole message space as their domain; instead the allocation and tax function for each agent should only depend on the neighborhood messages. This additional restriction gives rise to a new research direction that we call “Distributed Mechanism Design” (DMD). A complementary view of DMD stems from the literature of distributed optimization (e.g., [10, 11]). In distributed optimization agents do exchange local messages in order to solve a centralized allocation problem. It is assumed however, that agents are not strategic–infact they are automata–and execute a predefined message exchange algorithm. DMD can be thought of as the generalization of distributed optimization to account for strategic agents, i.e. for settings where we can no longer assume that agents will execute a distributed message passing algorithm unless the designer puts in place appropriate incentives for them to do so. Note that DMD is not to be confused with the literature of distributed optimization that attempts to resolve “privacy” issues by means of dithering (i.e. adding noise to) the exchanged messages as in [12]. In that area of research agents are given some privacy guarantees, but are still considered nonstrategic automata.
In this paper, we propose a distributed mechanism for rate allocation in a multicast transmission network. A nondistributed mechanism for efficient allocation in multicast networks has been proposed in [8, 6] and our model closely follows these works. The current work builds on a distributed mechanism for Walrasian and Lindahl allocation in private and public goods, respectively, that was proposed in [13][14, Ch. 4], as well as the distributed mechanism for unicast networks proposed in [15]. The contributions of this paper are as follows. The proposed mechanism is (a) distributed, it (b) fully implements the optimal allocation in Nash equilibria (NE) (i.e. there are no extraneous equilibria), and (c) its message space dimension is linear with respect to the number of agents in the network. Furthermore, the mechanism is (d) individually rational and (e) weak budget balanced at the NE. We have utilized an idea similar to the radial allocation [4, 5, 6] to achieve feasibility at NE. Unlike the mechanism in [13] that defines messages with dimensionality per user growing linearly with the number of users, in this work, the message dimensionality of each agent is linear with respect to the size of her neighborhood and this is a result of utilizing “summary” messages (see [14, Ch. 4],[15]).
The rest of the paper is structured as follows. In Section II, the model and problem formulation are discussed. Section III presents the proposed distributed mechanism by stating all of the properties of message communication network and defining allocation and tax functions. In Section IV, the properties of the designed mechanism are explained and the main results are presented. In Section V, an alternative mechanism is discussed for relaxing an assumption on the message network. We conclude in Section VI with some comments on message dimensions and a discussion of the results. The proofs of the intermediate lemmas can be found in the extended version of this paper [16].
Ii Model
We are following closely the model developed in [6]. We consider a multicast network consisting of multiple sources and strategic receivers (which are called agents)
in which data is transmitted from each source to multiple agents. Hence, the agents are classified into
groups denoted by based on their data source. The set of agents in group (agents having the same source ) are denoted by and is the number of them. The group of agent is denoted by . Since agents in each group receive data from the same source, one common data stream can be transmitted in each link shared by some of the agents of the same group and the rate of the common data stream is the maximum of the demanded rates by those agents. In other words, every source transmits the common data of agents of its group in each link by the best quality demanded and each agent can regenerate her own data by sampling from the received data stream to get her desirable quality. This scenario is as if agents inside a group share the bandwidth with each other but they have competition for it with other groups which is referred to as intergroup competition and intragroup sharing in [6]. One example of multicast transmission is illustrated in Fig. 1.The network links are denoted by , each of which has capacity . Agent ’s data stream is transmitted via links with . For each link , agents using it are denoted by with and we denote by . Further, is the subset of groups that are using link and its cardinality is denoted by . We assume that is at least two groups use each link and this is for having competition in using each link.
The data rate of agent is denoted by
and the vector of allocated rates is
. Agent has a valuation over her data rate that is modeled by the function . The following assumptions are imposed on the valuation functions. We know that for every , , where is the set of strictly concave, monotonically increasing, twice differentiable and functions with continuous second derivatives.The designer’s goal is to maximize the social welfare, which is the summation of the agents’ valuations, by determining the efficient that is consistent with the capacity constraints of network and the multicast aspect. Therefore, we formulate the following optimization problem,
(1a)  
s.t.  (1b)  
and  (1c) 
Generally, problem (1) can also model unicast transmission and a number of other scenarios of network utility maximization with linear inequality constraints.
Iia Necessary and Sufficient Optimality Conditions
We utilize KKT conditions to characterize the solution of problem (1), but first we need to rewrite it in another form to change it to a convex optimization problem. We introduce the variable for each and that represents the maximum demand of agents in group that use link . It is straightforward to show that problem (1) and the one below are equivalent,
(2a)  
s.t.  (2b)  
and  (2c)  
and  (2d) 
In this problem, the valuation functions are concave and all of the constraints are affine. Therefore, problem (2) is a convex optimization problem and hence, KKT conditions are necessary and sufficient for its solution. We use dual variables and as follows. , each of which corresponds to one of the constraints in (2c) and , each of which corresponds to one constraint in (2d). We can write KKT conditions at optimal point as

Dual Feasibility: and .

Complimentary Slackness:
(3a) (3b) 
Stationarity:
(3c) (3d) (3e)
Iii Distributed Mechanism
The designed mechanism consists of a message space for every agent and allocation and tax functions that are denoted by and , respectively. These functions depend only on neighboring agents’ messages and this is why this mechanism is “distributed”. We can characterize the mechanism completely by specifying the tuple where . This mechanism induces a game , where the utility functions are . The set of all Nash equilibria of the game is denoted by .
Iiia Message Network
As mentioned earlier, the mechanism is distributed in the sense that message transmission is done locally. This is modeled by a message transmission network that is an undirected graph in which agents are denoted by nodes and an edge between two agents indicates that these two agents hear each others’ messages. Otherwise, they do not have access to each others’ messages due to communication (or complexity) constraints. This network is called “message network”. Notice that the message network is different from the data transmission network related to problem (1). The message network enables the decentralized solution of that problem and is relevant even for the more general scenarios that can be modeled by problem (1). In Fig. 2, the two networks are illustrated.
We consider an arbitrary spanning tree on the graph of the message network and assume message transmission is done via this tree which will be referred to as the “message graph” and denoted by . For all , is the set of neighbors of agent in and . Further, is agent ’s neighbor which is on the shortest path from to . Also, denotes the set of agents in using link and . For each agent , the function arbitrarily chooses one agent and we define the set . The role of this function will become evident in the rest of this section where we describe the allocation and tax functions.
The following assumption is imposed on the message graph for simplicity of exposition.
Assumption 1
For each link , the subgraph consisting of agents is a connected graph. Also, for each link and group , there is at least one node that is connected to all other nodes and is denoted by .
For each agent , set is defined as the set of links for which .
In Section V, a relaxed assumption is imposed on the message graph and an alternative mechanism is proposed.
IiiB Message Components
The message is quoted by agent in this mechanism. The reason for such a complex message structure stems form the fact that (a) all agents within a group need access to the maximum demanded rate in that group and (b) this information needs to be disseminated to all agents in the network while satisfying the communication constraints. In the following, we give intuitive explanations for the meaning of each of the eight message components. The first message, , is the agent’s demanded rate. The second message is defined as , where, each of the messages is capturing whether the specific agent belongs in the group of agents that demand the maximum rate within the group . We call these messages as proxies of the “group demand”. Specifically, at NE, this message will become zero if the agent is not in the max group, and otherwise, it will be equal to the maximum demanded rate of group divided by the number of users in the max group. The third message, , consists of components , each of which is a proxy for the sum of group demands of the agents with . These messages are referred to as “summary” messages. The fourth message, , consists of elements , each of which is a proxy for agent ’s demand. The fifth message consists of two components, . The first component is defined as , where each message is the price that agent is willing to pay for using link . This is essentially a proxy for the dual variable that appears in the KKT conditions (3). The second component is defined as , where each variable is the price that agent thinks agent should pay for using link . The sixth message, , consists of components , each of which is a proxy for the price that group is willing to pay for link . These messages have to converge at NE to the dual variable in the KKT conditions (3) for all users . The seventh message is defined as . The first component consists of elements , each of which is a proxy for maximum value of demands of agents in . Further, consists of elements , each of which is a proxy for the number of agents that have maximum demand in . Finally, the eighth message, , consists of two components. The first component, , is a vector of messages that have technical roles and will be useful in having efficient NE. The second component, , consists of the elements , each of which is a proxy for the message .
For each agent and every link , we define as the extension of to every link ,
(4) 
For each agent and , and are defined as
(5a)  
(5b) 
where 1 is the indicator function ( is equal to only if ). We have defined so that each agent gets aware of the maximum demand of agents at NE, and it is calculated by her as a function of her neighbors’ messages. Similarly, at NE, is the number of agents with maximum demand among all of the agents .
IiiC Allocation Functions
We utilize an idea similar to the radial allocation [6] to have feasible allocation at NE. With this goal in mind, the allocation function is defined as
(6a)  
where is agent ’s radial allocation factor, , and for , is defined as  
(6b)  
and for , is defined as  
(6c) 
Since agents don’t have access to all of the messages, for each agent , we should define a proxy, , for the sum of group demands of agents on link to enable feasible allocation at NE. Note that the quantity does not depend on agent ’s messages.
IiiD Tax Functions
The tax functions are , where
(7a)  
and for each component we have three cases. 
For , it is defined as
(7b)  
For , we have
(7c)  
where for each link and agent , is defined as
(7d) 
Further, is defined as
(7e) 
Finally, for , tax is
(7f) 
Intuitively, the tax functions provide some penalties to incentivize agents for quoting messages in a desirable manner. With this goal in mind, taxes contain three types of terms. The first type is a rate times price component (e.g., the first term in (7b)). The second type consists of quadratic terms that at NE will become zero and thus can be thought of as incentivizing agents to come to a consensus (e.g., all terms in (7b) other than the first, the fourth and the sixth). This enables the mechanism to provide proxies for the missing information of agents at NE, in addition to the requirements of having efficient allocation at NE. The third type relates to the complimentary slackness conditions in (3) (e.g., the fourth and the sixth term in (7b)). The reason of defining different tax functions is that different incentives are required for different agents. For instance, for each link and , agent should announce the proper messages that convey information about other agents in so that all of them can have consensus on their group demands on link at NE. Furthermore, each agent has to pay a tax even for links , which is required for consensus about the “summary” messages. The intuition about each tax term will become more evident from the results of Section IV.
Iv Mechanism Properties
Fact 1
The mechanism is distributed.
This can be observed from the definition of allocation and tax functions that are only generated based on each agent’s own messages and her neighboring agents’ messages.
Theorem 1
(Full Implementation, Individual Rationality and Weak Budget Balance) At each Nash equilibrium of the game , the allocation vector is efficient; i.e. it is equal to the solution, , of problem (1). In addition, for each agent, individual rationality is satisfied at all NE. Further, the game is weak budget balanced at all NE.
Since is unique and according to Theorem 1, for all , the allocation vector is unique.
Before proving Theorem 1, some lemmas are presented that are necessary for its proof.
Lemma 2
(Concavity) The function is strictly concave w.r.t. .
The strict concavity of w.r.t. helps us calculate the best response functions by setting the gradient of w.r.t. to be equal to zero. Yet, it is not always possible for all of the elements of the gradient vector to be set to zero. In this case, those elements are either always positive or always negative. If any of the elements were always positive, then as message spaces are unbounded from above, there is no best response. Otherwise, if any of the elements of the gradient vector were always negative, the best response would be zero for that element.
Lemma 3
At any , the following equations hold for any .
(8a)  
(8b)  
(8c)  
(8d)  
(8e)  
(8f)  
(8g)  
(8h) 
This lemma makes precise the comment made earlier about quadratic terms in the tax functions. At NE, agents force these quadratic terms to zero thus achieving consensus. Also, this lemma explains how summary messages are able to sum up the group demands of all agents using link at NE.
Lemma 4
(Primal Feasibility) At any of the game , the allocation vector is feasible.
Lemma 5
At any of the game , the following constraints hold for all and ,
(9a)  
(9b)  
(9c) 
Similarly, this Lemma shows how different groups form a consensus on the price of using each link . Further, it provides the two complimentary slackness terms of the KKT conditions (3). In the proof of Theorem 1 we will see precisely how these expressions are utilized.
Lemma 6
The following constraints hold at any of the game ,
(10a)  
(10b) 
We will see how this lemma will be related to the stationarity term of the KKT conditions (3) in the proof of Theorem 1.
Lemma 7
(Individual Rationality and Weak Budget Balance) At any of the game , individual rationality is satisfied, . Also, the mechanism is weak budget balanced, .
Lemma 8
There exists a NE, , for the game .
We are now ready to state the proof of Theorem 1.
Proof 1 (Proof of Theorem 1)
In the proof of Lemma 8, we show that the message associated to the solution of problem (2) is a NE of the game . Now, we want to prove that all of the NE of the game generate allocation and prices that are efficient for problem (2). Consider any , due to Lemmas 3, 4, 5 and 6, the allocation vector, , as , as (any could work too) and the variables and (or any for ) as and , respectively, satisfy the KKT conditions (3). Therefore, for any and hence, the allocation of all NE is unique and efficient. Also, due to Lemma 8, we know at least one NE exists and therefore, the mechanism fully implements problem (2) or equivalently problem (1) at its Nash equilibria. Furthermore, Lemma 7 proves individual rationality and weak budget balance properties.
V Relaxing The Assumptions on Message Network
The primary reason of imposing Assumption 1 is that there should be a consensus on the prices of different groups using link at NE and this is not implementable by the proposed mechanism if the subgraph of agents using link is not connected. In this section, we propose an alternative extended mechanism that relaxes Assumption 1. The relaxed version of Assumption 1, that is used in this section, is as follows.
Assumption 2
For each link and group , there is at least one node that is connected to all other nodes and is denoted by .
In the alternative mechanism, we extend the agents that quote message from the agents using link to a bigger group of agents as follows. For every link , consider a connected subgraph consisting of all agents in addition to the minimum number of other agents that do not use link and are required to make the subgraph connected. This connected subgraph is called link ’s subgraph and we know that it exists due to the connectivity of the message graph. For each agent , the set of links which are denoted by with . The extended definition of message is and subsequently, the definition of is modified as
(11) 
The tax functions are also modified. For ,
(12)  
Since subgraph of agents using each link may not be connected, we need other agents to quote messages and help the agents in forming a consensus on the group prices of using link . This is why two terms have been added to the tax function above that impose required conditions for the message . The tax function does not change for . For , the tax function is the same as the case for the original mechanism. It is straightforward to prove almost the same results for this mechanism. Therefore, this mechanism also fully Nash implements problem (1), has individual rationality property at NE and is weak budget balanced at NE.
Vi Conclusion
We proposed a distributed mechanism for the multicast transmission network that is applicable to a number of other scenarios with linear constraints and proved that it fully Nash implements the solution of problem (1). The main feature of this work is that message transmission is done locally via an underlying message network, in contrary to the standard mechanism design framework that allows message transmission throughout the whole network. The dimensionality of agent ’s message in the main mechanism (with Assumption 1) is . Since the function chooses one agent , the average size of the set is . Also, we know that for each link and group , there is one agent denoted by and hence, the average size of is . Consequently, if we denote and by and respectively, the average size of the whole network’s message is
(13) 
which obviously grows linearly with the number of agents in the network, .
For the alternative mechanism, an extra term will be added to the message dimensionality of the whole network and that is . This is due to the extra messages quoted by agents to preserve the connectivity of message passing.
Message dimensionality in our mechanism is more efficient than the message dimensionality of the distributed mechanism proposed in [13] which grows with and it may be a consequence of learning guarantees that the proposed mechanism has.
References
 [1] L. Hurwicz and S. Reiter, Designing economic mechanisms. Cambridge University Press, 2006.
 [2] L. Hurwicz, “Outcome functions yielding Walrasian and Lindahl allocations at Nash equilibrium points,” The Review of Economic Studies, vol. 46, no. 2, pp. 217–225, 1979.
 [3] T. Groves and J. Ledyard, “Optimal allocation of public goods: A solution to the “free rider” problem,” Econometrica: Journal of the Econometric Society, pp. 783–809, 1977.
 [4] S. Yang and B. Hajek, “Revenue and stability of a mechanism for efficient allocation of a divisible good,” preprint, 2005.
 [5] R. T. Maheswaran and T. Basar, “Social welfare of selfish agents: motivating efficiency for divisible resources,” in Decision and Control, 2004. CDC. 43rd IEEE Conference on, vol. 2. IEEE, 2004, pp. 1550–1555.
 [6] A. Sinha and A. Anastasopoulos, “Mechanism design for resource allocation in networks with intergroup competition and intragroup sharing,” IEEE Transactions on Control of Network Systems, 2017.
 [7] R. Jain and J. Walrand, “An efficient Nashimplementation mechanism for network resource allocation,” Automatica, vol. 46, no. 8, pp. 1276–1283, 2010.
 [8] A. Kakhbod and D. Teneketzis, “Correction to “an efficient game form for multirate multicast service provisioning”,” IEEE Journal on Selected Areas in Communications, vol. 31, no. 7, pp. 1355–1356, 2013.
 [9] Khalili, Mohammad Mahdi, Parinaz Naghizadeh, and Mingyan Liu. ”Designing cyber insurance policies: The role of prescreening and security interdependence.” IEEE Transactions on Information Forensics and Security 13, no. 9 pp. 2226–2239, 2018.
 [10] A. Nedic and A. Ozdaglar, “Distributed subgradient methods for multiagent optimization,” IEEE Transactions on Automatic Control, vol. 54, no. 1, pp. 48–61, 2009.

[11]
S. Boyd, N. Parikh, E. Chu, B. Peleato, J. Eckstein, et al.,
“Distributed optimization and statistical learning via the alternating
direction method of multipliers,”
Foundations and Trends® in Machine Learning
, vol. 3, no. 1, pp. 1–122, 2011.  [12] Z. Huang, S. Mitra, and N. Vaidya, “Differentially private distributed optimization,” in Proceedings of the 2015 International Conference on Distributed Computing and Networking, ser. ICDCN ’15. New York, NY, USA: ACM, 2015, pp. 4:1–4:10. [Online]. Available: http://doi.acm.org/10.1145/2684464.2684480
 [13] A. Sinha and A. Anastasopoulos, “Distributed mechanism design with learning guarantees,” IEEE 56th Annual Conference on Decision and Control (CDC), 2017.
 [14] A. Sinha, “Mechanism design with allocative, informational and learning constraints,” Ph.D. dissertation, University of Michigan, 2017.
 [15] N. Heydaribeni and A. Anastasopoulos, “Distributed mechanism design for unicast transmission,” in Information Theory and Applications, San Diego, CA, feb 2018.
 [16] ——, “Distributed mechanism design for multicast transmission,” arXiv preprint, 2018.
Vii Appendix
Proof 2 (Proof of Lemma 2)
In order to show the strict concavity of , we can show that its Hessian matrix, , w.r.t. is negative definite and this is doable because the function is twice differentiable w.r.t . It is obvious that cross derivatives of w.r.t. different components of are zero which are the nondiagonal elements of . Hence, we consider the diagonal elements and show that they are all negative.
It is straightforward to show that the second partial derivative of w.r.t. all elements of messages , , , , , and is equal to . The only message element left is and the second partial derivative w.r.t. it is . Since is strictly concave w.r.t. , . Note that doesn’t consist of any of agent ’s messages and so it is assumed as a constant.
Therefore, since all of the diagonal elements of
are negative and nondiagonal elements are zero, matrix
is negative definite. We conclude that is strictly concave w.r.t. .Proof 3 (Proof of Lemma 3)
At NE, every agent is best responding to other agents’ messages and in order to find the relation between these messages, one can calculate the best response functions. Each of the results in this lemma corresponds to one of agent ’s messages and its relation with the messages of other agents. Therefore, all of the results can be directly derived by setting each of their corresponding element of gradient to zero. For all agents , we have
As mentioned in the description of message components, can be used as a proxy for at NE and yet, agent can not change it.