A method, computer program product, and data processing system for
distributed control of network elements is disclosed. The present
invention divides the control plane functions of a network element into
subsystems, which are implemented as processes or threads. A bus-like
messaging framework allows the subsystems to communicate with each other.
Under the messaging framework, subsystems can communicate with each other
without regard for whether the subsystems reside on separate (possibly
heterogeneous) hardware platforms or on the same processor. This
architecture allows individual components of the control plane functions
of a single network element to be placed on different processors or on
the same processor, depending on the desired degree of parallel
processing or level of integration with low-level network-element
hardware.