7127526 Dynamically loading and managing software services on network

ABSTRACT

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. Following 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 dependencies on other services. The service environment kernel also controls the execution of services following the service relationships.

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

Dynamically loading and managing software services on a network device

FIELD OF THE INVENTION

Network device configuration and monitoring, particularly a method and apparatus for dynamically loading and managing software services on an embedded device.

BACKGROUND OF THE INVENTION

Computer networks continue to increase. As they do so, they become increasingly complex and challenging to manage.

This problem is exacerbated when various network devices, computers, and software are combined 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 network 100.

To manage 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). Manager 106 thus needs to know all the MIBs supported by each device, which is especially problematic if the network includes devices of different types or from other manufacturers. Further, polling requires that the network manager send many messages of the same type to each device and continually over some time. This floods the network and can downgrade the network’s performance and burden 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 device 102. Although many traditional 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 specific 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

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. Following 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 dependencies on other services. The service environment kernel also controls the execution of services according to the service relationships to guarantee the modular and effective alteration of the network device’s behavior.

Steps of installing the service on the network device from another location

Following 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 associations, and causing the service to be executed on the network device if the service relationships can be resolved.

Installing the service on the network device from another location

Following 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 has a corresponding set of service relationships, means for checking the service relationships of the loaded service against a stored registry of associations, and means for causing the service to be executed on the network device if the service relationships can be resolved.

a network device for locally performing a service

Following 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.

Share This Story, Choose Your Platform!
Share on facebook
Share on twitter
Share on reddit
Share on linkedin
Share on pinterest
Share on vk