truthful and non-monetary mechanism for direct data exchange i-hong hou, yu-pin hsu, and alex...
TRANSCRIPT
Truthful and Non-Monetary Mechanism for Direct Data Exchange
I-Hong Hou, Yu-Pin Hsu, and Alex Sprintson
Direct Data Exchange in Wireless D2D Communications
• Exchange data locally instead of getting all packets from the base station
A BA,B
A,B
Direct Data Exchange in Wireless D2D Communications
• Exchange data locally instead of getting all packets from the base station
A BA,B
A,BA B
Direct Data Exchange in Wireless D2D Communications
• Exchange data locally instead of getting all packets from the base station
A BA,B
A,BA B
A B
Direct Data Exchange in Wireless D2D Communications
• Exchange data locally instead of getting all packets from the base station
A BA
B
A B
Direct Data Exchange in Wireless D2D Communications
• Exchange data locally instead of getting all packets from the base station
A BA
B
A
B
Benefits of Wireless P2P
• Exchange data locally requires less power• Reduce power consumption• Reduce interference• Increase spatial reuse and hence total
system capacity
• Challenge: How to provide incentives for clients to cooperate?
Network Model
• Each client has all but one unique file, which it needs
• The size of a file = Z bits• All clients can communicate with each other
A B
Need: D
C A B
Need: C
D A D
Need: B
C D B
Need: A
C
Incentive Model
• Each client has a secret valuation vi ≤1 for its needed file
• Each client pays some transmission cost for the amount of upload data
A B
v1 = 0.7
C A B
v2 = 0.6
D A D
v3 = 0.5
C D B
v4 = 0.1
C
Incentive Model
• The goal of a client: Maximize net utility
vi1(receive file) - (amount of upload)/Z
A B
v1 = 0.7
C A B
v2 = 0.6
D A D
v3 = 0.5
C D B
v4 = 0.1
C
Bidding Model
• Each client submits a bid bi to a broker
• The broker determines how much data a client uploads, and what packets it should uploads
A B
v1 = 0.7
C A B
v2 = 0.6
D A D
v3 = 0.5
C D B
v4 = 0.1
C
An Example
A B
b1 = 0.8
C A B
b2 = 0.2
D A D
b3 = 0.9
C D B
b4 = 0.4
C
Upload 0.6Z (A+B)
Upload nothing
Upload 0.6Z (A+D)
Upload 0.4Z (B+D)
An Example
A B
b1 = 0.8
C
Upload 0.6Z (A+B)
Upload nothing
Upload 0.6Z (A+D)
Upload 0.4Z (B+D)
• D = (A+D)-A = (B+D)-B• Can obtain all bits of D
An Example
A B
b1 = 0.8
C A B
b2 = 0.2
D A D
b3 = 0.9
C D B
b4 = 0.4
C
Upload 0.6Z (A+B)
Upload nothing
Upload 0.6Z (A+D)
Upload 0.4Z (B+D)
D B A
An Example
Net utility 0.7-0.6=0.1
0 0.5-0.6= -0.1
0.1-0.4= -0.3
v1 = 0.7 v2 = 0.6 v3 = 0.5 v4 = 0.1
Upload 0.6Z
Upload nothing
Upload 0.6Z
Upload 0.4Z
D B A
Goal of this Work
• Design a “truthful” broker policy• Truthful: Every client maximizes its utility by
choosing bi = vi
• The policy should also achieve high total net utility
Why not simply apply VCG auction?
Auction Wireless P2PEach client submits a bid
Each client submits a bid
Auctioneer determines who wins the auction, and how much each winner pays
Broker determines how much a client uploads, and who can download its file
Comparable by treating uploads as payments, clients that download files as winners
Auction Wireless P2PEach client submits a bid
Each client submits a bid
Auctioneer determines who wins the auction, and how much each winner pays
Broker determines how much a client uploads, and hence who can download its file
Decisions on selecting winners and payments are independent
Decision on upload rates limits who can download its file
Proposed Protocol
• Every client submits a bid bi
• Find the largest set S such that, for all i in S, bi≥ 1/(|S|-1)
• S = {1,2,3}, b1, b2, b3≥ 1/2
• S = {1,2,3,4}, b4< 1/3
• Largest set is {1,2,3}
b1=0.7 b2=0.6 b3=0.6 b4=0.2
Proposed Protocol
• Every client submits a bid bi
• Find the largest set S such that, for all i in S, bi≥ 1/(|S|-1)
• Every client in S uploads Z/(|S|-1) bits containing a linear combination of all files that other clients in S needs
• Each client in S receive Z bits, and hence can obtain the file it needs
• Clients not in S do not obtain needed files
Theorem:
This protocol is truthful
Note: The broker is only conceptual. The policy can be implemented in a distributed fashion by letting each client run the broker policy.
Performance Analysis
• Sort clients such that b1≥b2≥b3≥…
• The set S must be the form of {1,2,…,n}• Client i does not obtain its file only if bi<1/(i-1)
Theorem:
In terms of total net utility, the difference between this protocol and one maximizing total net utility is at most 1+1+1/2+1/3+…+1/(N-1), where N is the number of clients
Numerical Results
• Assign vi to each client uniformly at random from [0,1]
• Compare the difference in total net utility between our proposed protocol and a protocol that maximizes total net utility
Extension: Dependency Graph
• Some clients may not be able to exchange file– A client may miss some files that it does not need– Some clients may be too far away to communicate
• Define a “dependency graph”• Each client is a node in the graph• Two nodes have an edge between them if the
two clients can exchange needed files
Solutions for Dependency Graph
1. Find the largest clique such that every node in the clique has bi≥ 1/(size of clique-1)
2. Each node in the clique uploads Z/(size of clique-1) bits
3. Repeat Step 1
Theorem:
This protocol is truthful
Extension: Some Clients Need the Same File
Need: A
bi =0.5
Need: A
bi =0.3
Need: A
bi =0.2
• Some clients need the same file• Each client has all but one files• Merge them into one, whose bid is (number of
merged clients)x(minimum bid)• If they are selected in S, they divide the
amount of upload evenly
Extension: Some Clients Need the Same File
Need: A
bi =0.5
Need: A
bi =0.3
Need: A
bi =0.2
• Some clients need the same file• Each client has all but one files• Merge them into one, whose bid is (number of
merged clients)x(minimum bid)• If they are selected in S, they divide the
amount of upload evenly
Extension: Some Clients Need the Same File
• Some clients need the same file• Each client has all but one files• Merge them into one, whose bid is (number of
merged clients)x(minimum bid)• If they are selected in S, they divide the
amount of upload evenly
Need: A
bi =0.6