This section describes the subsystems responsible for ONOS's distributed functionalities. This includes information distribution and synchronization, cluster management, and device mastership management. 

Overview

A multi-instance ONOS deployment is a cluster of one or more ONOS instances, or nodes, each with an unique NodeId. Each node in a cluster is capable of using local information gathered from its own services to generate events. These events are shared with all of the nodes in a cluster via distributed mechanisms implemented in various services' Stores.

 

Depending on the requirements of a service, the contents of a store may be either strongly or eventually consistent; this is made possible by having each service's store implement the appropriate distribution mechanism. Currently, Hazelcast's IMaps are used for strong consistency, and a gossip protocol implementation on Netty is used for eventual consistency.