420 likes | 561 Views
Online spectrum auction system: Bridging the implementation gap. David Johnson UCSB Meraka Institute. Motivation for project. Opportunistic spectrum access through auctioning has been evaluated through: analytical analysis – highly simplified model required
E N D
Online spectrum auction system:Bridging the implementation gap David Johnson UCSB Meraka 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 User 5 Operator 2 Operator 1 Operator 3 User 1
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
Grid: Creating Operators and Users Operator Broker 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 U1 AP1 AP2 AP1 AP2 U2 U1 U2 • 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)
Challenge 2: Sensing problem AP1 AP2 • 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
Challenge 2: Sensing problem – scan options sd Licensed Data channels Operate Scan Operate Scan STAGGERED SCAN Bidding Back channel Bid vid Licensed Data channels Operate Operate Operate DEDICATED SCAN Bidding Back channel Bid Bid Bid Scan radio Scan Scan Scan Licensed Data channels IN-BAND SCAN Bidding Back channel Bid
Challenge 2: Sensing problem – scan interval Min operate time RSSI PTHRESH • 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
Challenge 3: Bidding language – the system Broker (SPS) Operator Request channel Bid generator Scan users Profit check Advertise channels/start price Advertise (channels, bid start price) Bid (num channels. $/chan) Solve conflict graph to optimize profit Neighbors (num neighbors, list) Neighbor Scanner Reject/Accept Bid Setup operator To channel and power level – offer service Channel allocation (channel list, pwr diff)
The click framework (1) Push input Pull input Push output Pull output
The click framework (2) Queue Queue Queue ToDevice ToDevice ToDevice Classifier FromDevice Process A Process B Process C
Bidder (Operator ) click state machine REQ_SERViCE BidGenerate ScanUsers ProfitCheck Queue Queue ToDevice ToDevice ToDevice System starts here BID_REJECT BID_DECLARE Classifier Queue AD_CH CH_ALLOC FromDevice Wait (x sec) RequestService BuildOperator Wait (BidT sec) ScanNeighbors SCAN_RES
Broker click state machine AdvertiseService AD_CH Queue ToDevice ToDevice ToDevice REQ_SERViCE SolveConflict Classifier Queue Queue SCAN_RES BID_REJECT FromDevice BID_DECLARE System starts here CH_ALLOC
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 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
Scan results Message +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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
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 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
Scan Neighbors element 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
Solve conflict graph element SolveConflict [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). • 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
Bid generation element(1) BidGenerate ScanUsers ProfitCheck Broker (SPS) Operator Max bid Smax (bound by min profit) LOW RISK LOWER PROFIT HIGH RISK HIGH PROFIT Actual bid In this range Starting bid Smin (given by SPS) • A and Q are chosen but how do we find the Pi ‘s and M A = Acceptance probability of user Pi = User Price M = Number of channels Q = Minimum Profit N = Number of users
Bid generation element(2) 1 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 A 3 Mbps 2 Mbps 1 Mbps P
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 (Solve Conflict) 0 3 9 18 15 18 3 15 17 9 9 9 9 9 9 9 18 18 18 18 12 12 4
Results (Conflict graph after bids) 87 119 90 95 103
Results (3 channel solution) 2 3 1 2
Picking users(who is in range) Users in range of Node 17 Users in range of Node 14 | 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| |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 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| |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|
Final selection of users 13 12 7 10 Operator 8 9 11 10 11 10 9 User 1 2 5 1 3 9 • 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 3 5 8 4 5 1 6 2 12 4 6 8 7 1 7 14 2 4 3 6 11
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