240 likes | 380 Views
“Future Directions” for Wireless Technology. www.winlab.rutgers.edu & www.orbit-lab.org. Some History – Failure of 3G. Reality Bites: and they still don’t get it …. Some History – Success of 802.11. 802.11 Problem: Alphabet soup. 802.11 Standards. And how do you get in?.
E N D
“Future Directions” for Wireless Technology www.winlab.rutgers.edu & www.orbit-lab.org
Some History – Failure of 3G Reality Bites: and they still don’t get it …
And how do you get in? • Create more “standards” • RFID ~ 10-1000 b/sec • ZigBee (802.15.4) ~ 250 Kb/s • Bluetooth ~ 1 Mb/sec • Wi-Max (802.16) • 802.11n • 3G (they are still trying) • 4G? • Big problem: how to verify claims?
Orbit Project Rationale • Wireless testbeds motivated by: • cost & time needed to develop experimental prototypes • need for reproducible protocol evaluations • large-scale system studies (...emergent behavior) • growing importance of cross-layer protocol studies • creation of communities for wireless network research • ORBIT: open-access multi-user facility for experimental wireless networking research primarily in unlicensed bands • ~24/7 service facility with remote access • open interfaces for flexible layer 2,3 & cross-layer protocols • extensive measurements at PHY, MAC and Net layers • support for wide range of radio system scenarios
Orbit • ORBIT consists of radio grid emulator + field trial network • Emulator used for detailed protocol evaluations in reproducible complex radio environments • Field trial network for further real-world evaluation & application trials
Orbit co-PI’s • WINLAB, Rutgers University • Dipankar Raychaudhuri • Max Ott • Ivan Seskar • Wade Trappe • Manish Parashar • Yanyong Zhang • Columbia University • Henning Schulzrinne • Princeton University • Hisashi Kobayashi • IBM Research • Arup Acharya • Lucent Bell Labs • Sanjoy Paul • Thomson • Kumar Ramaswamy
Suburban Urban ORBIT Testbed 300 meters Office Hallway 20 meters 500 meters 30 meters 20 meters Radio Mapping Algorithm
The Grid: Architecture Gigabit backbone Front-end Servers VPN Gateway to Wide-Area Testbed 80 ft ( 20 nodes ) Data switch Application Servers (User applications/ Delay nodes/ Mobility Controllers / Mobile Nodes) 70 ft m ( 20 nodes ) Control switch ISQ IS2 IS1 SAP SA2 SA1 RF/Spectrum Measurements Interference Sources Back-end servers Internet VPN Gateway / Firewall
Atheros miniPCI 802.11 a/b/g Bluetooth USB Atheros miniPCI 802.11 a/b/g 1 Ghz 512 MB RAM CPU VIA C3 1Ghz Gigabit Ethernet (control) 20 GB DISK Gigabit Ethernet (data) 22.1Mhz Serial Console 110 VAC CPU Rabbit Semi RCM3700 10 BaseT Ethernet (CM) pwr/reset Power Supply volt/temp +5v standby RJ11 NodeIdBox The Grid: Hardware
Agilent ESG Agilent ESG Agilent ESG + … … RF Interference grid • Number of transmitter antennas providing spatial distribution of interference sources (BW = 40 MHz, f0=250 KHz – 6 GHz) • Ideally @ each antenna linear combination of 2-8 sources (cost issue) • Variety of interference types (W-CDMA, cdma2000, 1xEV-DO/DV, TD-SCDMA, cdmaOne, GSM/EDGE, GPRS/EGPRS, Bluetooth, GPS, enhanced multitone, NPR, AWGN, or up to 8 sec of arbitrary waveform generation)
ORBIT Field trial (Phase 2) • Requires ruggedized outdoor ready equipment (suggesting of the shelf technologies) • Standard nodes used in dual role of mobile AP/mobile nodes deployed on busses • Where possible connected to wired infrastructure; otherwise use of second radio interface for mesh type networking/wide area access
Experiment Support Architecture Deploy & Configure Control Definition System Experimenter Measure Results
Prototype network (AP, Ad Hoc, etc.) Spatial distribution of terminals Empirical/Analytical path loss model Setting dedicated noise-like sources Setting locations of grid nodes Setting transmission powers of nodes STEP 1 Modeling Link SNR of Real Environments STEP 2 Configuring Grid SINR Fidelity of Grid SINR to Link SNR Formulation of Link SNR Mapping
Experiment Definition # # Configure environment # node("/*/*").net.w0 {|n| n.essid = "HelloWorld" n.mode = "ad-hoc" n.channel = 1 n.xmitPower = 1 ;# What is 1? n.bitrate = "11Mbps" # Force single rate n.ip = "%10.0.%x.%y" } # Start experiment whenReady {|e, n| p.packetSize = 1024 p.rate = 250 e.sleep 5.0 e.done } Experiment.name = "tutorial-1" Experiment.project = "Orbit::Tutorial" Experiment.startMode = Experiment::REBOOT # # Define nodes used in experiment # node([2, 3], :sender) {|n| n.prototype("http://apps.orbit-lab.org/sender", { :if => Node::W0_IF, :packetSize => Experiment.parameter("packetSize"), :rate => Experiment.parameter("rate") }) } node([3, 4]) {|n| n.prototype("http://apps.orbit-lab.org/receiver", {:if => Node::W0_IF}) }
Prototype Definition <prototype id='http://apps.orbit-lab.org/sender'> <name>Sender</name> <url>http://apps.orbit-lab.org/sender</url> <description>Nodes which send a stream of packets</description> <parameters> <parameter name='packetSize' id='packetSize'> <description>Payload length of outgoing packets</description> <default>1000</default> </parameter> … </parameters> <applications> <application refid='http://apps.orbit-lab.org/gennySender#gennySender'> <properties> <property idref='interface_name'><binding idref='if'/></property> … </properties> <measurements> <measurement id='group3'> <properties> <property idref='uri:oml:filter:trigger'> … </properties> <metric refid='offered_load'> <filter idref='uri:oml:filter:mean'/> … p = Prototype.create("http://apps.orbit-lab.org/sender") p.name = "Sender" p.description = "Nodes which send a stream of packets" p.addParameter(:if, "Name of interface to use", Node::W0_IF) p.addParameter(:packetSize, "Payload length of outgoing packets", 1000) p.addParameter(:rate, "Rate to send", 1000) p.addParameter(:channel, "Channel to send on", 1) p.addParameter(:useSocket, "If true use socket, otherwise use libmac for transport", true) genny = p.addApplication(:gennySender, "http://apps.orbit-lab.org/gennySender#gennySender") genny.bindProperty(:interface_name, :if) genny.bindProperty(:rate) genny.bindProperty(:payload_length, :packetSize) genny.bindProperty(:use_socket, :useSocket) genny.addMeasurement(:group3, Filter::SAMPLE, {Filter::SAMPLE_SIZE => 100}, [ ["offered_load", Filter::MEAN] ] )
Analyzing Experiments function nsf(dbServer, dbUser, dbPW, database); % Part where we retrieve data from the database; mysql('open',dbServer, dbUser, dbPW); mysql('use', database); output = struct('time',[],'thr_all',[],'node',[]); [output.time, output.thr_all, output.node] = mysql('select timestamp, throughput, node_id from group2'); [thru1_4, time1_4, thru3_1, time3_1] = sort_mysql(output); % Finally, the plotting part subplot(2,1,1); plot(time1_4, thru1_4, '-*'); title('Throughput On Obstructed Link'); xlabel('Time (sec)'); ylabel('Throuhput (bps)'); grid on; subplot(2,1,2); plot(time3_1, thru3_1, '-*'); title('Throughput On Monitor Node'); xlabel('Time (sec)'); ylabel('Throuhput (bps)'); grid on;
Progress • Installed Production Nodes • Scaled to 64 Nodes • Added Bluetooth • Semi-automated calibration (+/- 10db) • Web site is up • Supporting “Click” • Started with external experimenter (Columbia) • Started exploring mobility & NS-2 integration • V2 of node handler & OML in beta • 5 Papers accepted
Future • Extend Beta testers to industry EWPs • Move into new building (ribbon cutting done) • Explore new radios (already have Zigbee, Mote, GNU radio) • Install to 400 • Interested? Join mailing list www.orbit-lab.org/community/mailingLists