140 likes | 159 Views
DieselNet is a DTN testbed on public transportation buses in Amherst. Nodes autonomously transfer data using the Openbrick platform. The software components ensure maximal failure tolerance and autonomous operations. Future work includes deploying different DTN routing protocols and expanding the network.
E N D
UMass DieselNet:A Disruption-Tolerant Network Testbed John Burgess Department of Computer Science UMass Amherst
DieselNet Vehicular DTN deployed in Amherst and surrounding county Now includes 40 buses Each bus: Linux “brick” computer; USB 802.11b adapter; 802.11b AP; GPS receiver, 40GB hard drive Buses transfer data as they pass by each other and via available hot spots.
The Openbrick • Small form factor • Plentiful I/O • Binary availability for x86 • 60w peak power draw • Low heat dissipation
DieselNet Software Considerations • Autonomous operation and “shutdown” • Maximal failure tolerance • No remote administrator login or local terminal • Physical inaccessibility during operation (6am - 1am) • Nodes versus support staff • Handle network interface configurations • Support IP programs • Handle bundle routing • Support DTN programs
Init and Restore • Linux and initial software stored on 1st partition • All DTN software, logs, bundles, cached web content, etc. stored on 2nd partition • Restore checks for the presence of critical files • If any critical files are inaccessible • Clear extended partition • Restore initial software package from system disk • Otherwise, Init starts system software 1GB hdc1 39GB hdc5
Autoupdate • Install new software • Check for new gzip files on prisms web site • Verify prisms signature • Install update atomically • Sync system clock with server • Report current location • Report log entries • Connection events • Program error messages • Upload files • Bzip file, MIME encode it, and upload via HTTP request header
LiveIP • Manage network interfaces • 802.11b • Scan for ssid broadcasts on all channels • Connect to other buses • Hash foreign bus MAC address to determine subnet • Connect to access points • DHCP • Ping foreign device to decide when to resume scanning • Reload 802.11 driver to clear malfunctions • Additional interfaces to be managed • 900mhz long-range radio (1km) • CDMA modem
GPSupdate • Receive NMEA formatted information via RS232 • Compute speed, direction, etc. • Periodically log location • Provide location information to onboard programs
DTNdaemon • Accept data and send bundles • via local TCP socket • Route bundles according to configured protocol • MaxProp • Deliver data to appropriate onboard programs • Programs connect via TCP socket • Programs register as appropriate destination application • Platform and IP network interface independent • Java implementation with no external dependencies • DTN2 2004 bundle format compatibility
Software Components • Init and Restore • Perl and Python • Auto update • Python • Live IP • Java 1.4 • GPS update • Python • DTN daemon • Java 1.4 and linux-only Java 1.3
Connection Events • Red dots indicate bus-to-bus transfers (1 month) • Measurement of real TCP throughput • Traces collected everyday
Measurements Buses log their status via available access points (and update software). Transfer duration Inter-transfer opportunity time Bytes transferred
Future Work • Deploy different DTN routing protocols • Develop useful disruption tolerant applications • Expand network to include other types of nodes
Summary • DieselNet is a DTN Testbed deployed on public transportation busses • Network inaccessibility often corresponds to physical inaccessibility, making DTN administration difficult • DTN system administration must be accomplished in a disruption-tolerant manner • Current above-IP DTN solutions must handle configuration of IP, Link, and physical network • Future solutions running above the link layer will still need to configure the link and physical layer