Deprecated: Non-static method Debugger::invoke() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/debugger.php on line 574

Deprecated: Non-static method Debugger::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/debugger.php on line 574

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/core.php on line 226

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 99

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 386

Deprecated: Non-static method Configure::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 324

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 145

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 657

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 677

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 678

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 684

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 685

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 690

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 489

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 287

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 515

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 523

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 230

Deprecated: Non-static method Configure::corePaths() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1128

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 924

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 861

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 360

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 685

Deprecated: Non-static method Router::getNamedExpressions() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 303

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 187

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 174

Deprecated: Non-static method Router::connect() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/routes.php on line 34

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 202

Deprecated: Non-static method Router::connect() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/routes.php on line 39

Deprecated: Non-static method Router::parse() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 305

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 401

Deprecated: Non-static method Configure::listObjects() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 593

Deprecated: Non-static method Configure::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 160

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 163

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 494

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 498

Deprecated: Non-static method App::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 828

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1140

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 308

Deprecated: Non-static method Inflector::classify() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 310

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 465

Deprecated: Non-static method Inflector::singularize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 465

Deprecated: Non-static method Inflector::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 370

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 353

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 354

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 355

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 311

Deprecated: Non-static method Router::prefixes() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 150

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 388

Deprecated: Non-static method Router::setRequestInfo() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 161

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 628

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 335

Deprecated: Non-static method Set::merge() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 373

Deprecated: Non-static method Set::normalize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/component.php on line 186

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/component.php on line 202

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/components/session.php on line 67

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 128

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 132

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 134

Deprecated: Non-static method Security::inactiveMins() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 156

Deprecated: Non-static method Security::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/security.php on line 65

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/security.php on line 66

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 156

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 157

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 438

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 485

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 746

Deprecated: Non-static method ClassRegistry::addObject() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 276

Deprecated: Non-static method ClassRegistry::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/class_registry.php on line 176

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/class_registry.php on line 177

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 789

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 893

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 726

Deprecated: Non-static method Overloadable::overload() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1029

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/session.php on line 59

Deprecated: Non-static method Inflector::variable() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 650

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 477

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 477
M-Channel - OMOLSR
Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 354

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 358

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 661

OMOLSR

What is OMOLSR?

OMOLSR (Overlay Multicast over OLSR) is a new application level multicast routing protocol, designed to work on top of jOLSR. OMOLSR computes locally minimum spanning trees by benefiting from the topology information gathered by jOLSR. The main characteristic of OMOLSR is that it does not need to send additional control packets to perform multicast delivery. The unicast routing protocol already provides all necessary information.

Besides, this application level multicast protocol is designed for group communications because it benefits from its close interaction with the undelying unicast protocol (jOLSR) to provide a lightweight membership protocol.

What OMOLSR does?

The basic operations of OMOLSR are the dynamic computation of the Minimum Spanning Tree and the routing of multicast packets. In first place, OMOLSR computes a virtual mesh that connects all members of the multicast group. This mesh is a contraction of the network graph that jOLSR generates from the Neighbor Table and the Topology Table. By using this contracted graph, which contains only the members of the group, the local node can easily know which members are located at one hop in the membership. These nodes located at one logical hop are also known as virtual neighbors of the local node. The procedure of computing the contraction of the graph is performed for each multicast group the local node is member of. Then, once the graph is ready, we compute a minimum spanning tree with the local node as the source of the tree, as depicted in the figure below. The tree will now be used for routing the packet to all the members of the group.


Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 438

Multicast routing: in order to route multicast packets, OMOLSR uses an explicit multi-unicast scheme. When the application generates a new multicast packet, OMOLSR routes the message based on the tree computed for that multicast group. A copy of the packet is sent to each virtual neighbor, which is responsible for delivering the message to a certain subset of nodes. This subset is defined in each node by using the source-created tree and consists of all the nodes that are in the subtree of each virtual neighbor. This information is then attached to the header of the data packet. When the virtual neighbor receives the message, it computes a tree with the subset of nodes contained in the header. Again, it sends a copy of the data message to its virtual neighbors with new header content. The process is repeated until the subset which must receive the message is empty.

Reliability and integration: in order to ease and clarify the development of both jOLSR and OMOLSR, we have extended an existing toolkit for reliable communication: JGroups. The key feature of JGroups is its flexible protocol stack, which can be configured and extended depending on the communication needs. Each protocol in the stack provides different functionalities: ordering, reliability, membership, state transfer, etc. In our case, we have implemented both routing protocols (jOLSR and OMOLSR) as JGroups protocols so we can benefit from unicast reliability and ordering by adding the UNICAST protocol to our stack. This unicast reliability layer uses an acknowledgement scheme to provide lossless transmission of unicast messages. Therefore, multicast reliability is also ensured by adding this layer between both protocols: OMOLSR splits each multicast packet in several unicast packets that will be sent under the acknowledgement scheme.

The flexibility of the stack is also useful for validation purposes. For instance, we have also changed the lowest JGroups protocol that creates UDP sockets for another one that virtualizes communication so we could easily create an emulation layer.

OMOLSR

Valid CSS 2.1

Valid XHTML 1.0 Transitional


Deprecated: Non-static method Configure::corePaths() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1184

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1186

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1187