A method for dynamic installation and activation of software packages in a
distributed networking device. A master node provides a software package
database that contains software packages for all nodes. It notifies a
node that a software update is being requested, which examines the
package identifiers and the dependencies and determines the running
processes that will be affected by the update. The processes evaluate the
effect that the update will have on their operation. If any of the
processes determine that the update will degrade or have a negative
impact on the operation of the node, the process will veto the update. If
the master node receives no vetoes, it updates the node which installs
and activates without interrupting the normal operation of the node.