OLPC Mesh network improving
OLPC Mesh network improving
Arina Rudakova
(Saint-Petersburg Elelectrotechnical University LETI)
3rd FRUCT seminar
Saint-Petersburg
23 May 2008
1. This is a research project2. Project has next parts:1) Research/investigation2) Modelling/analysis3) Implementation
Agenda
Introduction
Problem definition
Domain analysis
Solution
Project timeline
I. Introduction
One Laptop Per Child
Home: http://laptop.org
The mission of the One Laptop per Child association is to develop a low-cost laptopthe "XO Laptop" to revolutionize how we educate the world's children. Goal is to provide children around the world with new opportunities to explore, experiment, and express themselves.
XO laptops hardware
Dimensions: 242mm 228mm 32mm
CPU x86-compatible processor AMD Geode LX-700 433 Mhz, 64KB each L1 I and D cache; at least 128KB L2 cache
DRAM memory: 256 MiB dynamic RAM
BIOS: 1024KiB SPI-interface flash ROM
Mass storage: 1024 MiB SLC NAND flash, high-speed flash controller
Display: Liquid-crystal display: 7.5 dual-mode TFT display
Keyboard: 80+ keys, 1.0mm stroke; sealed rubber-membrane key-switch assembly
Gamepad: Two sets of four-direction cursor-control keys
Touchpad: Dual capacitance/resistive touchpad; supports written-input mode
Audio: AC97 compatible audio subsystem
Integrated color video camera: 640 x 480 resolution at 30 FPS
Wireless Networking: Integrated 802.11b/g (2.4GHz) interface; 802.11s (Mesh) networking supported; dual adjustable, rotating antennas support diversity reception; capable of mesh operation when CPU is powered down;
XO laptops software
Operating system: Linux Kernel: Linux 2.6.22; Fedora 7 base environment.
User environment: Sugar GUI, written in Python, on top of the X Window and the Matchbox WM
Programming environments (main):
Python (Version 2.5);
JavaScript;
Csound, music programming language;
Etoys, an implementation of Squeak using Smalltalk, an object-based programming language;
Turtle Art, a graphical programming environment;
Adobe's Flash Player, Java, Gnash
Libraries
Mozilla Gecko/Xulrunner (the Firefox web engine);
GUI toolkit (GTK+) (Gnome);
Matchbox window manager;
X Window System X.org Foundation;
Multimedia framework: GStreamer and RealNetworks;
Gettext, the GNU internationalization library
Neighborhood:
Collaboration interface
The Neighbourhood view displays all the connected XO laptops within a childs community, and what activities they are sharing.
Each child is represented by a different colour
If there is a shared document or activity being collaborated on by a number of children, it will show up within this view.
XO Mesh goals
Ability to act as a mesh point when laptop's main CPU is off.
Support for asymmetric links/paths.
Incremental releasesmesh networking is available immediately on XO; Upgrades will continue to improve functionality and adherence with standards.
Simultaneously acts as a mesh point and an infrastructure node.
Standards Compliance: follow 802.11s draft when possible.
II. Problem definition
Mesh network types
Infrastructure wireless mesh networks: Mesh routers form an infrastructure for clients.
Client wireless mesh networks: Client nodes constitute the actual network to perform routing and configuration functionalities.
Hybrid wireless mesh networks: Mesh clients can perform mesh functions with other mesh clients as well as accessing the network
Distinguishing features
dynamics
structure
Routing mechanism in mesh
Redundante links usage
Fault tolerance
Load sharing
Traffic analysis
Network diversity
Route aggregation
Only dynamic routing can allow and make use of redundante links. A router is able to make decisions about which link to use based on a set of configurable measures.Once the redundant links exist, if a link goes down, an alternative path around the failed node will be automatically found and used. Even if links do not actually go down, the routers can distribute the traffic load across the available paths in proportion to the bandwidth available on each path.Routers' reports about what they are doing make it easy to produce good statistics about network utilisation which would allow us to hilight areas of heavy traffic, for example, and plan acordingly.Using routers at a backbone level would allow people running Access Point to run pretty much networking software and formats.Routers can aggregate routes to subnets that are part of the same larger network into a single route to advertise to the rest of the world.
Routing overhead reasons
Nodes number influence on the amount of control traffic
Network changes dynamics influence on the amount of control traffic
Route length influence on the amount of control traffic
http://www.cse.unsw.edu.au/~nrl/researchprojects.htm#jqadirOn Reducing Routing Overhead in MANETPh.D Candidate: Quan Jun (Jerry) ChenDescription:Reducing Routing overhead is one of the most important tasks in wireless network. Particularly, in Mobile Adhoc Network (MANET), where topology changes frequently, routing protocols may generate considerable routing overhead when conquering the uncertainty of mobile nodes. Excessive routing overhead consumes valuable resources, such as bandwidth and power, and causes frequent packet collisions, which finally degrade network throughput and end-to-end delay.In our work, we decompose routing protocols into two fundamental building blocks: 1) beacon broadcasting (route maintenance) and 2) flooding rebroadcasting (route discovery), and we propose two frameworks respectively to reduce routing overhead occurred. For the first one, we propose the framework of Adaptive Beacon Broadcasting (ABB), which adapts beacon broadcasting to nodes mobility and traffic load. For the second one, by exploiting the relationship between flooding distance and the number of hops, we propose Distance-based Flooding Restriction (DFR). Both frameworks are evaluated by theoretical model and simulation. The results show ABB and DFR can significantly reduce routing overhead without compromising other performance metrics.
Project Goals
Reducing Routing overhead
OLPC implementation
III. Domain analysis
Ad-hoc Routing types
Pro-active or Table-driven
Reactive Routing or On-demand
Flow Oriented
Adaptive Routing or Situation-Aware
Hybrid (Pro-Active and Reactive)
Pro-activeThis type of protocols maintains fresh lists of destinations and their routes by periodically distributing routing tables throughout the network. The main disadvantages of such algorithms are - 1. Respective amount of data for maintenance. 2. Slow reaction on restructuring and failures.
ReactiveThis type of protocols finds a route on demand by flooding the network with Route Request packets. The main disadvantages of such algorithms are - 1. High latency time in route finding. 2. Excessive flooding can lead to network clogging.
Flow-OrientedThis type of protocols finds a route on demand by following present flows. One option is to unicast consecutively when forwarding data while promoting a new link The main disadvantages of such algorithms are - 1. Takes long time when exploring new routes without a priori knowledge. 2. May refer to entitative existing traffic to compensate for missing knowledge on routes.
AdaptiveThis type of protocols combines the advantages of proactive and of reactive routing. The routing is initially established with some proactively prospected routes and then serves the demand from additionally activated nodes through reactive flooding. Some metrics must support the choice of reaction. The main disadvantages of such algorithms are -1. Advantage depends on amount of nodes activated.2. Reaction to traffic demand depends on gradient of traffic volume.
HybridThis type of protocols combines the advantages of proactive and of reactive routing. The routing is initially established with some proactively prospected routes and then serves the demand from additionally activated nodes through reactive flooding. The choice for one or the other method requires predetermination for typical cases. The main disadvantages of such algorithms are -1. Advantage depends on amount of nodes activated.2. Reaction to traffic demand depends on gradient of traffic volume.
Industrial and open source implementations
AWDS (Ad-hoc Wireless Distribution Service) http://awds.berlios.de/
DSDV (Highly Dynamic Destination-Sequenced Distance Vector routing protocol) based on Bellman-Ford Routing Protocol
AODV (Ad-hoc On-demand Distance Vector)
Mobile Ad-hoc On-Demand Data Delivery Protocol
MPRDV (Multipoint Relay Distance Vector protocol)
SSR (Signal Stability Routing protocol)
PLBR (Preferred link based routing)
TORA (Temporally-Ordered Routing Algorithm routing protocol)
HRPLS (Hybrid Routing Protocol for Large Scale Mobile Ad-Hoc Networks with Mobile Backbones)
HSLS (Hazy Sighted Link State routing protocol)
ZRP (Zone Routing Protocol)
IV. Solution
Solution components
Routing area restriction
Dynamic selection of optimization radius
External definition of routing overhead
Restrict routing area. Efficient routing area definition. Optimal routing inside the effective routing area. Not guaranteed outside.Change optimization radius to control network services' QoS.Limit routing overhead externally in order to provide this requirement.Trade-off between traffic overhead and routes quality.
Routing overhead chart
m tree arity
n nodes number
R dynamics
,
Possible reasons of
routing overhead increase
Number of nodes increase
Network dynamics increase
Network radius increase
Using aggressive updating strategy
: (node ) ,
Routing area restriction
For effective routing area definition we should introduce some definitions.
G(t)=, where V set of nodes, E arches
G(t) describes network topology
d(vi,vj) distance between vi and vj
vi: Ri>0,
Choose Ri with regard to time needed for collection of information about G(vi,Ri)
G(vi,Ri) - effective routing area for vi,
d(vi,vj) distance between vi and vj - min hop count
With right Ri number nodes will have all necessary information for optimal route definition.
Calculation expenses for effective route search algorithms are low.
External and internal
routing records
External routing records (only in edge nodes)
Internal routing records (always true)
Routing optimization area
Local optimization
Global optimization
Optimization in restricted area
Local sample
Information collection 1 hop
Route defining 1 hop
Trust zone 1 hop
Control traffic is minimum
Global sample
Information collection whole net
Route defining whole net
Trust zone whole net
Control traffic is maximum
Restricted sample
Information collection is restricted with R
Route defining within R radius
Trust zone within R radius
Control traffic is restricted
Failure detection
At first only one router knows about a route failure
After the message to sender about the impossibility of passing, the whole effective routing area is informed
The sender gets informed when its timer is over
Routing overhead analysis
V. Project timeline
Global plan
The past
2007 Autumn, generic task definition, domain investigation
2008 Winter, getting XO devices, experience XO system programming
The future
2008 Summer, public presentation our of solution ideas (conference proceedings or paper)
2008 Autumn, implement modules for NS2 and simulations
2008 Winter, contribute some code for XO laptops
2009 Spring, defence of the master thesises at LETI
Thank you.
Any questions?