## 5 Multi-Sided Ascending-Price Auction Mechanism
The vertical contraction algorithm defined in Algorithm 1 and the horizontal contraction algorithm defined in Algorithm 2 are both leveraged in the trade scheme determination, but with a randomized order of input participants, instead of the value-decreasing order, to maintain truthfulness. When the bandwidth sum requested by the users is larger than the bandwidth resource provided by service providers, some users are removed from the market as a binary decision of admission rejection, instead of being partially served, until the remaining users can be fully served. An example is used to demonstrate the multi-sided ascending-price auction mechanism as shown in Table 5, following the values and bandwidths from Figure 2b, when \(\Delta\) is set to 1. In the initialization step, the prices for the users, satellite network service providers, RAN service providers, and WAN service providers are set to \(-V\), \(-2V\), \(-V\), and \(-V\), respectively. The initial price sums for recipes \((1,1,0,0)\) and \((1,0,1,1)\) are both \(-3V\), i.e., \(-V-2V=-V-V-V=-3V\). In the first round of price ascending, the bandwidth sum of the users is less than the bandwidth sum of the satellite network service providers and RAN service providers, i.e., \(13<7+6\). The bandwidth sum of the RAN service providers is less than the WAN service providers, i.e., \(6<8\). Thus, the subset \(G^{*}\) is chosen as \(\{2,4\}\), i.e., satellite network service providers and the WAN service providers. The prices are increased until the WAN provider with value of -6 exits the market. Afterwards, the price vector becomes \((-V,-V-6,-V,-6)\) and the price sum for a recipe becomes \(-2V-6\). A similar process continues until the last line of Table 5, when the price sum for a recipe crosses zero as \((10,-10,-5,-5)\), and the auction terminates. An example of the procurement sets generated by the ascending-price auction mechanism is shown in Table 6. Note that the served users are chosen at random instead of their values. The same rule applies for the service providers. Different users or network service providers in the same domain use the same price, making it indifferent for a user to choose between different routes or service providers, as long as the bandwidth requirement can be satisfied. One may easily validate the gain from trade for the trade scheme in Table 6 (which is \((17-4)\times 2+(17-5)\times 3+(15-3-4)\times 2+(13-1-1)\times 1=89\)) is less than that of the optimal trade scheme in Table 4 (which is \((17-1-1)\times 1+(17-4)\times 2+(17-3-1)\times 2+(15-5)\times 2+(14-5)\times 1+(14-8) \times 1+(13-5-4)\times 1=106\)). To conclude this section, some theoretical analysis is given through Theorem 3, which demonstrates that the proposed multi-sided ascending-price auction mechanism satisfies the desirable properties. Theorem 3: _The multi-sided ascending-price auction mechanism of Algorithm 4 is strongly budget-balanced, individually rational, and obviously truthful._  
Proof of Theorem 3: Since the proposed multi-sided ascending-price auction mechanism is a randomized mechanism, it is sufficient to prove that any deterministic variant with a pre-specified order of the participants satisfies these properties, i.e., all the random ordering operations in Algorithm 6 are conducted with a pre-specified order. A strong budget balance is guaranteed by two properties of Algorithm 4. The first property is that the price sum of all the recipes is the same as the price ascending operation. The second property is that the auction is terminated with an exact zero price sum, guaranteed by the price reset step. Individual rationality is guaranteed by the property of Algorithm 4 that only those participants with values greater than or equal to the prices would remain in the market. Otherwise, they should leave the market after the price increase to avoid negative utility. To prove the obvious truthfulness, consider the behavior of a specific participant \(i\) from category \(g\) during the process of price ascending when asked whether \(v_{i}>p_{g}\).