The present invention relates to an apparatus and method for dynamically
loading and managing software services on a network device. A service
environment ported to the network device includes a service environment
kernel and a virtual machine. The service environment kernel continually
operates on the network device and manages the downloading of services
from a remote location onto the network device. In accordance with a
request from a remote client such as a network manager, the service
environment kernel causes instructions corresponding to the downloaded
service to be provided to the virtual machine for execution on the
network device. Associated with the service are service relationships.
The service environment kernel manages these relationships by maintaining
a registry of services and their dependencies on other services. The
service environment kernel also controls the execution of services in
accordance with the service relationships.