david johnson ucsb meraka institute. opportunistic spectrum access through auctioning has been...

42
Online spectrum auction system: Bridging the implementation gap David Johnson UCSB Meraka Institute

Post on 21-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Online spectrum auction system:

Bridging the implementation gap

David Johnson

UCSBMeraka Institute

Motivation for project

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

Proposal 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

Previous work 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

Previous work 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, multi-

purpose, 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

Outline of the system

Spectrum broker

W = [W1 … Wm]T

Operator 1

Operator 2

Operator 3

User 1

User 5

Background 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 non-overlapping channels could be auctioned

Assumes out of band communication between operators and broker

Challenge 1: Building a test bed for online spectrum auctions

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

Wireless grid RF environment

Wireless grid RF environment

Grid: Creating Operators and Users

BrokerOperator

User

Challenge 2: Building a conflict graph with neighbor sensing

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)

Challenge 2: Sensing problem

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

AP2U1

U2

AP1

AP2

U1U2

Challenge 2: Sensing problem

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

sd

Challenge 2: Sensing problem – scan options

Operate Scan

Bid

Operate Scan

vid

Operate

Bid

Scan

Bid

LicensedData channels

Bidding Back channel

Scan radio

OperateOperate

Bid

Scan

Bid

Scan

Bidding Back channel

LicensedData channels

Bidding Back channel

LicensedData channels

STA

GG

ER

ED

SC

AN

DED

ICATED

SC

AN

IN-B

AN

DS

CA

N

Challenge 2: Sensing problem – scan interval

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

RSS

I

Min operate time

PTHRESH

Challenge 3: Bidding language – the system

Broker (SPS) Operator

Solve conflict graph to optimize profit

Request channel

Advertise (channels, bid start price) Bid generatorScan usersProfit check

Bid (num channels. $/chan)

Neighbor ScannerNeighbors (num neighbors, list)

Reject/Accept Bid

Channel allocation (channel list, pwr diff)Setup operatorTo channel and

power level – offer service

Advertise channels/start price

The click framework (1)

Push input Pull input

Push output Pull output

The click framework (2)

ToDeviceQueue

FromDevice Classifier

Process A

Process B

Process C

Queue

Queue

ToDevice

ToDevice

Bidder (Operator ) click state machine

RequestService ToDeviceQueue

ScanNeighbors

ClassifierFromDevice

BuildOperator

BidGenerateScanUsersProfitCheck

Wait (x sec)

Wait (BidT sec)

ToDeviceQueue

ToDeviceQueue

System starts here BID_REJECT

AD_CH

CH_ALLOC

SCAN_RES

BID_DECLARE

REQ_SERViCE

Broker click state machine

ToDeviceQueue

ClassifierFromDevice

ToDeviceQueue

BID_REJECT

AD_CH

CH_ALLOC

SCAN_RES

BID_DECLARE

ToDeviceQueue

SolveConflict

REQ_SERViCE

AdvertiseService

Challenge 3: Bidding language – the packets bid system Packet header

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Packet Length | BID Version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator ID | Packet Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message Type |# Messsages | Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : MESSAGE 1 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : MESSAGE 2 : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Channel advertise Message

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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 availableStarting bid price = Starting bid price per channel per unit of time.Bid allocation time = minimum period for channel allocation

Size with header: 24 bytesRate: 1 bid message per bid allocation time

Scan results Message

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Neighbor ID | Signal level |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type: multi message, Direction: Operator ->Broker (unicast)

Neighbor ID = Unique ID of neighbor visible from this nodeSignal level = Level of measured signal for neighbor in RSSI

Size with header: 12 bytes + Number of neighbors * 4Rate: 1 scan results message per bid allocation time

Channel allocate Message+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 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 channelChannel= Channel allocated to operatorAllocation 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) bytesRate: 1 channel advertise message per bid allocation time

Scan Neighbors element 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

ScanNeighbors

[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).

Solve conflict graph element 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

SolveConflict

Bid generation element(1)

A = Acceptance probability of user Pi = User Price M = Number of channels Q = Minimum Profit N = Number of users

Broker (SPS) Operator

Starting bid Smin (given by SPS)

Max bid Smax (bound by min profit)

HIG

H R

ISK

HIG

H P

RO

FIT

LOW

RIS

KLO

WER

PR

OFIT

Actual bidIn this range

M

QPAS

N

ii

1

max

A and Q are chosen but how do we find the Pi ‘s and M

BidGenerateScanUsersProfitCheck

Bid generation element(2)

1

A

P

3 Mbps

2 Mbps

1 Mbps

80% acceptance Model user acceptance as a 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

N

MBrR

..

Users #chan

R (Mbps)

1 1 5

2 1 5

10 1 2.5

25 1 1

26 2 1.92

50 2 1

Bid generation element(3)

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

Results 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)

Results (scan element)

1 9 17 25 33 41 49 57 65 73 81 8902468

101214161820

Node 14Node 17Node 44Node 74

Tme (s)

RSSI

1 9 17 25 33 41 49 57 65 73 81 8902468

101214161820

Node 12Node 17Node 44Node 74

Time (s)

RSSI

1 10 19 28 37 46 55 64 73 82 910

5

10

15

20

Node 12Node 14Node 17Node 74

Time (s)

RSSI

1 11 21 31 41 51 61 71 81 9102468

101214

Node 12Node 14Node 17Node 44

Time (s)

RSSI

Results (Solve Conflict)

9

4

18

17

18

12

9 915

18

3

9

0

9

9

18

9

3

12

18

9

1518

Results (Pthres = 4 Conflict graph)

Results (Conflict graph after bids)

90

103

95

119

87

Results (2 channel solution)

1 2

2

Results (3 channel solution)

1 2

2

3

Picking users(who is in range)

| 0| 7| 0| 4| 3| 1| 0|| 5| 4| 3| 2| 2| 3| 2|| 0| 5| 0| 6| 6| 1| 5||13|12| 7| 0| 6| 6| 0|| 0| 0|10|14| 7| 5| 9||19|19| 6| 2| 4| 6| 0|| X|19| 0|11| 0| 3| 0|

Users in range of Node 17

|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 14

|10|18|11| 9|11| 5| 0|| X|20| 0|10|10|10| 0|| 0|18| 0| 6| 8| 9| 6||18| 7|14|15|14| 9| 0|| 0|10|14| 8|13| 6| 9|| 0|10| 5| 0| 0| 8| 7|| 9| 0| 0| 0| 0| 5| 0|

Users in range of Node 12

| 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|

Users in range of Node 44

Final selection of users

1 2

3

4 5

6

7

8

9

10

11

1

2

3

4

1

6

7

59

10

11

12

13

14

1

2

3

4

5

6

78

8 9 10

11

12

Operator

User

Assume user selects strongest signal

Random selection of user per operator from operator’s user list

TCP traffic source and sink started between user and operator

Test for 30 seconds and repeat test 1000 times with new random user trio each time

Final throughput results

Node 14 Node 17 Node 44 Node 74 Average0

1000

2000

3000

4000

5000

6000

1 ch 3 op pwr 192 ch 3 op pwr 192 ch 3 op pwr 153 ch 4 op pwr 193 ch 4 op pwr 15

Kbit

s/s

Conclusions 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%

Future 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