An online spectrum auction system, bridging the implementation gap

David Johnson
UCSB
Meraka Institute

Opportunistic spectrum access through
auctioning has been evaluated through:
◦ analytical analysis – highly simplified model required
◦ Simulation – physical model limitation


Little implementation work due to lack of
suitable hardware
Previous work prone to unrealistic assumptions
◦ For example Interference patterns are dynamic
◦ Assumed that interfering neighbors and hence
resulting conflict graph is an arbitrary problem

Part of a larger Google 1 year project to develop a
prototype of an operational online spectrum
auction system
◦ General challenge: What sort of wireless test bed could be
used to test an online spectrum bidding
◦ Challenge 1: Conflict graphs are dynamic due to signals
suffering from unpredictable fading
◦ Challenge 2: Defining a information rich bidding language
◦ Challenge 3: Accountability – can this be done with a
distributed auction model – how should the spectrum be
partitioned
◦ Challenge 4: Enforcement: How do you ensure winning
bidder receives service they paid for

This work builds on the following spectrum
auction research
◦ General framework for wireless Spectrum Auctions
(Ghandi et al): Expressive bidding language Piecewise linear price-quantity (PLPQ), linearizing the
interference constraints
◦ Collaboration and fairness in opportunistic spectrum
access (Zheng et al) : sequential heuristic for good
graph colouring
◦ Dynamic Property Rights Spectrum Access (Ileri et al)
: User acceptance models

Test beds
◦ ORBIT (20x20) grid test bed at Rutgers University
◦ Kansei (15x14) grid test bed at Ohio state University
◦ CSIR Massive mesh lab (7x7) grid test bed in South Africa

Cognitive radio platforms
◦ Berkeley Emulation Engine 2 (BEE2): generic, multipurpose, FPGA based, emulation platform
◦ GNU Radios: Reconfigurable software-defined radio
systems , Universal Software Radio Peripheral v2 (USRP2)
available
◦ Atheros 802.11 hardware with openHAL and Click
platform also allow you to break out of 802.11
specification
Spectrum broker
W = [W1 … Wm]T
User 5
Operator 2
Operator 1
Operator 3
User 1




Operators will sell bandwidth on a time basis
(e.g. 1Mbps for 1 hour for $x )
Bidding system is being tested in 2.4 GHz ISM
band but it is mimicking a licensed frequency
band system with some interference.
3 non-overlapping channels available but
with clock rate modification 11 nonoverlapping channels could be auctioned
Assumes out of band communication
between operators and broker
 Propose CSIR wireless grid as a





good solution for spectrum
bidding experiments
7x7 grid of 49 wireless nodes
using 802.11 a/b/g radios
Each node network boots off a
central server
Makes use of 30dB attenuators on
radios to achieve limited range
down to 1 or 2 hops in small space
Can nominate nodes as operators
or users
Complete remote control of
experiments possible
Operator
User
Broker


Planned network involves engineered solutions to
minimize interference between radio transmitters
Unplanned network relies on some peer sensing
to understand interference conditions.
◦ If GPS position and power was known – problem
becomes more trivial – assume position is not known
◦ Even if position was known, radio propagation is still not
easily predicted


Propose that all bidders/operators repeatedly
sense existing/new neighbors and send this
periodically to broker
Model is one of cooperation between equals
(primary users are the operators)


Broker relies on neighbors sensing each other to
build a conflict graph.
Can only create an approximate solution
◦ If AP1 and AP2 don’t hear each other they may still
interfere (hidden terminal)
AP1
U1
U2
AP2
AP1
AP2
U1
U2


Conservative approach: Operators drop their power
level by 3dB (1/2 distance) if they didn’t see each other
Users TX can still interfere but CSMA takes care of this
◦ Best solution is cellular like coordinated approach – but this is
best we can do with random access MAC
◦ Interference is minimized for typical asymmetric Internet
traffic
AP1
AP2
STAGGERED
SCAN
DEDICATED
SCAN
IN-BAND
SCAN
Licensed
Data channels
Operate
sd
Bidding Back
channel
Licensed
Data channels
Bidding Back
channel
Scan radio
Operate
Scan
Bid
Operate
Bid
Scan
Licensed
Data channels
Bidding Back
channel
Scan
Bid
vid
Operate
Bid
Scan
Operate
Bid
Scan




For dedicated and staggered scan, scan as often as
possible
Use maximum power possible for sending beacons
For in-band scan, should be as conservative as possible
to minimize interruption to data channel
But can’t just take 1 sample – this might be in a fading
dip
Proportional approach
◦ Pick weakest signal - if signal is strong only scan twice in
operating interval, If signal is weak increase scan rate
Min operate time
RSSI

PTHRESH
Broker (SPS)
Operator
Request channel
Advertise
channels/start
price
Advertise (channels, bid start price)
Bid (num channels. $/chan)
Solve conflict
graph to
optimize profit
Neighbors (num neighbors, list)
Reject/Accept Bid
Channel allocation (channel list, pwr diff)
Bid generator
Scan users
Profit check
Neighbor Scanner
Setup operator
To channel and
power level – offer
service
Push input
Pull input
Push output
Pull output
FromDevice
Process A
Queue
ToDevice
Process B
Queue
ToDevice
Process C
Queue
ToDevice
Classifier
REQ_SERViCE
RequestService
Queue
System starts here
FromDevice
Classifier
ToDevice
BID_REJECT
Wait (x sec)
AD_CH
BidGenerate
ScanUsers
ProfitCheck
BID_DECLARE
Queue
CH_ALLOC
BuildOperator
ScanNeighbors
SCAN_RES
Queue
Wait (BidT sec)
ToDevice
ToDevice
AdvertiseService
AD_CH
Queue
ToDevice
Queue
ToDevice
Queue
ToDevice
REQ_SERViCE
FromDevice
Classifier
SCAN_RES
BID_REJECT
BID_DECLARE
SolveConflict
CH_ALLOC
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Packet Length
|
BID Version
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Originator ID
| Packet Sequence Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Type |# Messsages
|
Message Size
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
:
MESSAGE 1
:
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
:
MESSAGE 2
:
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Number of channels
|
Reserved
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Starting bid price
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Bid allocation time
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: Single message, Direction: Operator->Broker (Unicast)
Number of channels= Number of channels broker has available
Starting bid price = Starting bid price per channel per unit of time.
Bid allocation time = minimum period for channel allocation
Size with header: 24 bytes
Rate: 1 bid message per bid allocation time
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor ID
|
Signal level
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: multi message, Direction: Operator ->Broker (unicast)
Neighbor ID = Unique ID of neighbor visible from this node
Signal level = Level of measured signal for neighbor in RSSI
Size with header: 12 bytes + Number of neighbors * 4
Rate: 1 scan results message per bid allocation time
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Operator ID
|
Channel
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Allocation time
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Winning Price
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Power adjustment
|
Reserved
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: Multiple message, Direction: Broker->Operator (broadcast)
Operator ID= Unique ID of operator being allocated channel
Channel= Channel allocated to operator
Allocation time = Period of time operator can use this channel (seconds)
Winning price =Price to pay for this channel allocation
Power adjustment = Amount by which current power should be decreased (dBm)
Size with header: 12 + 16 * (number of allocated channels) bytes
Rate: 1 channel advertise message per bid allocation time
ScanNeighbors





All neighbors have same prefix and with unique ID for
SSID
Scanning in WiFi is built in functionality
◦ Looks for broadcast beacons containing SSID (Service Set
Identifier)
◦ Also Reports signal strength of nodes
◦ In the future the beacon generating algorithm can be
overridden
A staggered scan is implemented and scanning only
happens during the scanning period using a one
second scan interval
History is recorded and averaged
Simplification – only report primary user nodes with
pre-defined SSID prefix – ignoring interference from
secondary users
SolveConflict



Takes neighbor signal strength measurements
and operator bids as inputs
All signals below a threshold (PTHRESH) are ignored
Solves the conflict graph for PTHRESH using
sequential heuristic [1] which is a form of greedy
algorithm
◦ When signal strengths are asymmetrical on a link – the
largest of the two is used to solve the conflict graph

Single channel allocation for now – multi channel
allocation later
[1] Z HENG , H., AND P ENG , C. Collaboration and fairness in opportunistic spectrum access. In Proc.
40th annual IEEE International Conference on Communications (June 2005).
BidGenerate
ScanUsers
ProfitCheck
Operator
Starting bid Smin (given by
SPS)
N
S max 
A Pi  Q
i 1



M


LOW RISK
LOWER PROFIT
Max bid Smax (bound by min
profit)
Actual bid
In this range
HIGH RISK
HIGH PROFIT
Broker (SPS)
A = Acceptance probability of user
Pi = User Price
M = Number of channels
Q = Minimum Profit
N = Number of users
 A and Q are chosen but how do we find the Pi ‘s and M
1
80% acceptance
A
 Model user acceptance as a


P
Users
#
chan
R (Mbps)
1
1
5
2
1
5
10
1
2.5
25
1
1
26
2
1.92
50
2
1


simple linear response to rate
and price
How do we know what rate to
choose?
Assume 1 channel will give you a
fixed base rate B (e.g. 5 Mbps)
Assume operators oversell their
bandwidth at a certain ratio r
(e.g. 5:1) and never sell less than
rate b (e.g. 1 Mbps)
Share this among N users using
M channels
r.B.M
R
N

Bid price depends on:
Number of users
Minimum profit prepared to make
Risk aversion of operator
Choice of higher or lower acceptance probability of
user
◦ Oversell ratio of operator
◦
◦
◦
◦

If Smax bid price is negative then can’t make
minimum profit -> don’t bid


Setup 5 nodes as
operators in the grid
Configured with
◦ Fixed data rate
11Mbps
◦ Starting power at max
(19dBm)
◦ Beacons sent on
channel 14 (clean
channel)
20
20
15
Node 17
RSSI
Node 14
10
Node 17
Node 44
5
Node 74
Node 74
0
0
1
Node 12
10
Node 44
5
1
11 21 31 41 51 61 71 81 91
11 21 31 41 51 61 71 81 91
Time (s)
Tme (s)
20
15
Node 12
10
Node 14
5
10
RSSI
15
RSSI
RSSI
15
Node 12
Node 14
5
Node 17
0
1 11 21 31 41 51 61 71 81 91
Time (s)
Node 74
Node 17
0
1 11 21 31 41 51 61 71 81 91
Time (s)
Node 44
0
9
3
18
15
18
17
9
9
9
18
18
18
12
4
9
12
15
18
3
9
9
9
87
119
90
95
103
1
2
2
3
2
1
2
Users in range of Node 17
| 0| 7| 0| 4|
| 5| 4| 3| 2|
| 0| 5| 0| 6|
|13|12| 7| 0|
| 0| 0|10|14|
|19|19| 6| 2|
| X|19| 0|11|
3|
2|
6|
6|
7|
4|
0|
1|
3|
1|
6|
5|
6|
3|
0|
2|
5|
0|
9|
0|
0|
Users in range of Node 12
|10|18|11| 9|11| 5|
| X|20| 0|10|10|10|
| 0|18| 0| 6| 8| 9|
|18| 7|14|15|14| 9|
| 0|10|14| 8|13| 6|
| 0|10| 5| 0| 0| 8|
| 9| 0| 0| 0| 0| 5|
0|
0|
6|
0|
9|
7|
0|
Users in range of Node 14
|11|18| 8|12| 6| 0| 0|
|17|16| 0| 6|11| 8| 9|
| 0|20| 9| 7|14| 9| 7|
| X|22|17| 0| 9|14| 0|
| 0|20|14|13| 3|13|11|
|12| 0| 0| 7|11| 8| 9|
|17|16| 0|13|10|10|12|
Users in range of Node 44
| 0| 0| 0| 9|10|12| 0|
|15| 0|14|17|12|15| 7|
| 0|16| 0|18|21| 4| 6|
| 0|18| 0|X |20|17| 0|
| 0|10|20|24|18| 7|14|
| 0|12|18| 7| 0|18| 0|
| 0| 0| 0| 0| 0|13|19|
7
9
4
1
1
0
1
3
1
2
1
1
1
1
8
9
1
0
9
1
5
2
3
5
8
3
5
1
2
4
1
6
6
2
7
1
4
8
7
6
1
1
3
Operator
1
0
1
User
 Assume user selects
strongest signal
 Random selection of
user per operator from
2
operator’s user list
 TCP traffic source and
sink started between
user and operator
 Test for 30 seconds
4
and repeat test 1000
times with new random
user trio each time
6000
5000
Kbits/s
4000
1 ch 3 op pwr 19
2 ch 3 op pwr 19
3000
2 ch 3 op pwr 15
3 ch 4 op pwr 19
2000
3 ch 4 op pwr 15
1000
0
Node 14
Node 17
Node 44
Node 74
Average



A grid based test bed is a viable platform for
testing online spectrum auction systems
The click framework greatly simplifies the
construction of the bidding state machine and
components
Scanning should be done as often as possible but
◦ Aggregate at the operator to save bandwidth
◦ If inband, scan rate should be proportional to signal
strength

The broker should instruct operators that can’t
see each other to reduce their transmit power by
3 dB, throughput increased by 20%








Finish coding bid generator based on Piecewise
linear price-quantity (PLPQ)
Solve Graph multi colouring (GMC) problem for
allocating multiple channels
Include multiple brokers
Add ability to bid for more time slots
Make use of channel width modification using
clock rate to connect real users
Decentralized System could use 802.11 mesh as a
fallback data channel and back channel
Make use of users for sensing
Bidding can also involve multiple bid slots and TX
power dependent pricing