US 7127526 Method and apparatus for dynamically loading and managing software services on a network device

ABSTRACT – 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.

FIELD OF THE INVENTION

The present invention relates to network device configuration and monitoring, and more particularly, to a method and apparatus for dynamically loading and managing software services on an embedded device.

BACKGROUND OF THE INVENTION

Computer networks continue to proliferate. As they do so, they become increasingly complex and difficult to manage. This problem is exacerbated when a variety of network devices, computers, and software are combined together to integrate large intranets with the Internet.

As shown in FIG. 1, a conventional network 100 includes one or more network devices 102 such as switches, routers, hubs, multiplexers and similar devices capable of processing fixed-length or variable-length packets in a network. Network devices 102 may further communicate with hosts 104 via a local area network, for example. Network manager 106 also communicates with network devices 102 via the network 100.

To manage the network 100, network manager 106 generally polls network devices 102 using protocols such as SNMP to access information in the device’s management information base (MIB). The manager 106 thus needs to know all the MIBs supported by each device, which is especially problematic if the network includes devices of various different types or from various different manufacturers. Further, polling requires that the network manager send many messages of the same type to each device and continually over a period of time. This floods the network and can downgrade the network’s performance, as well as burdening the network manager 106 with highly repetitive and duplicative tasks.

Moreover, the forwarding and control capabilities of conventional network device 102 are also statically constrained by the routing software and control software pre-loaded on the device 102. Although many conventional devices include means for effecting software updates (for example, by downloading software via FTP), such updates must be carefully performed and monitored for each device in the network, usually manually by the network manager 106. Such updates require much manager intervention, are risky to perform, require de-commissioning the device during updating, and require a period of verification after updating, thus making network management and performance even more problematic. Further, although some updates may only affect certain individual modules, generally the whole code has to be swapped out to install the updated modules, rather than just the updated modules themselves.

SUMMARY OF THE INVENTION

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 so as to guarantee the modular and effective alteration of the behavior of the network device.

In accordance with one aspect of the invention, a method for performing a service on a network device, comprising the steps of installing the service on the network device from another location, the service having a corresponding set of service relationships, checking the service relationships of the loaded service against a stored registry of relationships, and causing the service to be executed on the network device if the service relationships can be resolved.

In accordance with another aspect of the invention, a network device for locally performing a service, comprises means for installing the service on the network device from another location, the service having a corresponding set of service relationships, means for checking the service relationships of the loaded service against a stored registry of relationships, and means for causing the service to be executed on the network device if the service relationships can be resolved.

In accordance with another aspect of the invention, a network device for locally performing a service, comprises a network interface adapted to install the service on the network device from another location, the service having a corresponding set of service relationships, a registry of service relationships, a service manager coupled to the network interface and the registry that is adapted to check the service relationships of the loaded service against the registry, and a service launcher coupled to the service manager that is adapted to cause the service to be executed on the network device if the service relationships can be resolved.

View PDF Document

View on Google Patents

View on USPTO

Related Posts