“…In each round, we depict the network graph as G = (U, E), where U is the set of nodes corresponding to users that are participating in the given round, and E is the set of D2D links between participating users that are feasible to establish with some minimum level of performance (e.g., signal strength, actual physical distance, etc., depending on the application). Our model reasonably assumes a time-scale separation between the time for users to change location and the time to perform a round of the algorithm (that typically should be in the order of a few seconds), in order to establish stable D2D communication for resource sharing [2][3][4][5][6][7][8][9][10][11][12][13][14][15][16]. This might not hold in the case of fast-moving cars but it is the case when users typically hang around in crowded urban areas with low mobility, e.g., walking streets, airports, stadiums, city parks, cafes, malls, etc.. For each user u i ∈ U = {u 1 , u 2 , .…”