ORBIT Project Overview www.orbit-lab.org ORBIT Overview: Project - - PowerPoint PPT Presentation

orbit project overview
SMART_READER_LITE
LIVE PREVIEW

ORBIT Project Overview www.orbit-lab.org ORBIT Overview: Project - - PowerPoint PPT Presentation

ORBIT Project Overview www.orbit-lab.org ORBIT Overview: Project Rationale Wireless testbeds motivated by: cost & time needed to develop experimental prototypes need for reproducible protocol evaluations large-scale system


slide-1
SLIDE 1

ORBIT Project Overview

www.orbit-lab.org

slide-2
SLIDE 2

ORBIT Overview: 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

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Urban 300 meters 500 meters Suburban 20 meters ORBIT Testbed

20 meters

Hallway Office

30 meters

Radio Mapping Algorithm

slide-5
SLIDE 5

Formulation of Link SNR Mapping

STEP 1 Modeling Link SNR

  • f Real Environments

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

Fidelity of Grid SINR to Link SNR

STEP 2 Configuring Grid SINR

slide-6
SLIDE 6

The Grid: Architecture

80 ft ( 20 nodes ) 70 ft m ( 20 nodes ) Control switch Data switch Application Servers (User applications/ Delay nodes/ Mobility Controllers / Mobile Nodes) Internet VPN Gateway / Firewall Back-end servers Front-end Servers Gigabit backbone VPN Gateway to Wide-Area Testbed SA1 SA2 SAP IS1 IS2 ISQ

RF/Spectrum Measurements Interference Sources

slide-7
SLIDE 7

The Grid: Hardware

512 MB RAM

Gigabit Ethernet

(control)

Gigabit

Ethernet

(data)

Atheros miniPCI 802.11 a/b/g

22.1Mhz 1 Ghz pwr/reset volt/temp

20 GB DISK

Serial Console 110 VAC

RJ11 NodeIdBox +5v standby

Power Supply

CPU VIA C3 1Ghz Atheros miniPCI 802.11 a/b/g Bluetooth USB

CPU Rabbit Semi RCM3700 10 BaseT

Ethernet

(CM)

slide-8
SLIDE 8

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)

Agilent ESG

… …

Agilent ESG Agilent ESG

+

slide-9
SLIDE 9

Experiment Support Architecture

System

Control Measure

Deploy & Configure

Experimenter Results Definition

slide-10
SLIDE 10

Defining an Experiment

Experiment

Static

  • Mapping

nodes to prototype

  • Binding

free properties Dynamic P1 Pi

Topology Application

Properties Measurements Test code

Prototype

App 1 Sys

Mapping Strategy

slide-11
SLIDE 11

OML: Measurement Framework

slide-12
SLIDE 12

Experiment Definition

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}) } # # 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 }

slide-13
SLIDE 13

Prototype Definition

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

<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'/> …

slide-14
SLIDE 14

Analyzing Experiments

function nsf(dbServer, dbUser, dbPW, database); % Part where we retrieve data from the database; mysql('open',dbServer, dbUser, dbPW); mysql('use', database);

  • utput = 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;

slide-15
SLIDE 15

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
slide-16
SLIDE 16

Future

  • Delivery of 450 nodes in December
  • Extend Beta testers to industry EWPs
  • Move into new building (???)
  • Explore new radios (Zigbee, Mote, GNU radio)
  • Scale to 400
  • Interested? Join mailing list

www.orbit-lab.org/community/mailingLists

slide-17
SLIDE 17

www.orbit-lab.org

slide-18
SLIDE 18

Testbed System

  • 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