# Patent

## Title
Remote system administration and seamless service integration of a data communication network management system

## Abstract

A method for providing remote management and maintenance of a node or service within a data communications network that is activated by the data communications network management system's receipt of signals of an abnormal condition at a node or service or failure to receive operational status signals from a node or service. A control adapter running on a node within a Point of Presence is started. The control adapter is capable of starting all service adapters associated with all services running on the node. Operational status signals and abnormal condition signals are transmitted from the control adapter and service adapters on to an information bus. If a network management control host receives abnormal condition signals, notification is sent to a remote system administrator that alerts of an error experienced by a node or service. If a network management control host fails to receive operational status signals, notification is sent to a remote system administrator that no signals are being received from a node or service. The system administrator can take appropriate remote action to rectify the problem. The integration of a manually started node or service into a data communications network management system is achieved by manually implementing, at a Point of Presence within a data communications network, a node or service that has an adapter running on it and is in communication with an information bus. The node or service begins signalling operational status upon implementation. These signals are not recognized by network management control hosts. The network management control host transmits signals asking the newly started node or service for identification. The node or service receives the identity request and transmits signals back to the network management control host.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application is a Continuation of U.S. patent application Ser. No. 09/225,255, entitled “Remote System Administration and Seamless Service Integration of a data communication network management,” filed on Jan. 4, 1999 now U.S. Pat. No. 6,654,801 in the name of the same inventor and assigned to the same assignee.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method and apparatus for managing and maintaining a data communications network. More particularly, the present invention relates to a method and apparatus for distributed data communications network management having the capability to remotely manage the recovery of service components experiencing errors or failures and the capability to incorporate manually started new service components into the data communications network.
2. The Background
The ability to provide data communications networking capabilities to the personal user and the professional community is typically provided by telephone companies (Telcos) or commercial Internet Service Providers (ISPs) who operate network access points along the information superhighway. Network access points which are commonly referred to as Points of Presence or PoPs are located within wide area networks (WAN) and serve to house the network interfaces and service components necessary to provide routing, bridging and other essential networking functions. It is through these network access points that the user is able to connect with public domains, such as the Internet and private domains, such as the user's employer's intranet.
The ISPs and Telcos maintain control of the network interfaces and services components comprising the data communications network at locations commonly referred to as Network Operation Centers (NOCs). It is here, at the NOCs, where the ISPs and Telcos employ service administrators whose task is to maintain and manage a finite sector of the overall data communications network. Managing and maintaining the interfaces and services that encompass the network is complicated. The interfaces and services that a system administrator has responsibility for are not confined to the NOC, but rather remotely dispersed throughout the PoPs. For example, the NOC may be located in San Jose, Calif. and the services and interfaces for which the system administrator has responsibility for may be located at PoPs in San Francisco, Calif., Los Angeles, Calif. and Seattle, Wash. Part of the challenge with system administration is the ability to identify problems and potential problems in a timely manner. With a system distributed world-wide, having an ever-growing number of hosts and servers, it becomes nearly impossible and economically undesirable to have system administrators providing constant surveillance for all the components.
It is the common knowledge of anyone who has used computers in a network environment that problems related to the interfaces and services are the rule and not the exception. The vast majority of these problems are minor in nature and do not require the system administrator to take action. Networks have been configured in the past so that these minor errors are self-rectifying; either the interface or service is capable of correcting its own error or other interfaces or services are capable of performing a rescuing function. In other situations the problems that are encountered within the network are major and require the system administrator to take action; i.e., physically rerouting data traffic by changing interfaces and services.
It is the desire of the service providers to have a maintenance and management system for a data communications network that allows the system administrator to manage and maintain the data communications network remotely. The move is towards hands-off system administration that affords the service providers the capability to manage data communications networks without the need to have system administrators physically located at the NOC's management operation host on a 24 hour basis. This type of remote system administration can only be achieved if the management system has self-rectifying capability and the know-how to remotely notify the system administrator when severe errors or failures occur within the services. When major errors or service component failures occur, the system administrator must be notified in a prompt and efficient manner so that immediate action can be taken. The objective of the network management system should be to provide for a mechanism whereby system administrators can be remotely notified on an around-the-clock basis whenever a specified severe error may occur, has occurred or when a service failure has occurred. Once the system administrator is notified remotely then the system administrator can adjust the data communications network accordingly via remote network management system access, use of a node interactive access application such as Telnet or an equivalent mechanism.
Additionally, a comprehensive data communications network management system will benefit from being able to acknowledge and acquire information at the operation center host from network services and interfaces that are manually added to the network or manually started. Manually, in this sense, refers to services that are started or added at one of the numerous PoPs in the distributed data communications network without a command to do so being issued from the network management operation center. It would be highly beneficial for the service provider to automatically add this service to the management system without having to physically acquire data related to that service and manually input the data into the network management system. When services can be added to the distributed data communications network management system in a seamless manner it furthers the objective of limiting system administrator interface with the network management system. In this manner the service provider is able to maintain and manage the data communications network without the need for having more personnel than necessary to monitor and manipulate the network on an ongoing basis.
BRIEF DESCRIPTION OF THE INVENTION
A method for providing remote management and maintenance of a node or service within a data communications network that is initiated by the data communications network management system's failure to receive operational status signals from a node or service. A control adapter running on a node within a Point of Presence is started. The control adapter is capable of starting all service adapters associated with all services running on the node. Operational status signals are transmitted from the control adapter and service adapters on to an information bus. If a network management control host fails to receive operational status signals, notification is sent to a remote system administrator that no signals are being received from a node or service. The system administrator can take appropriate remote action to rectify the problem.
In another aspect of the invention, remote management and maintenance of a node or service within a data communications network is initiated by the data communications network management system's receipt of abnormal condition signals from a node or service. A control adapter running on a node within a Point of Presence is started. The control adapter is capable of starting all service adapters associated with all services running on the node. Abnormal condition signals are transmitted from the control adapter and service adapters on to an information bus when warnings and errors are encountered. If a network management control host receives abnormal condition signals that dictate remote system administrator notification, then notification is sent to a remote system administrator that abnormal conditions exist at the node or the service. The system administrator can take appropriate remote action to rectify the problem.
In another aspect of the invention, integration of a manually started node or service into a data communications network is achieved. A node or service is manually started at a Point of Presence within a data communications network. The node or service has an adapter running on it and is in communication with an information bus. The node or service begins signalling operational status upon implementation. These signals are received by a network management control host that fails to recognize the identity of the signals. The network management control host transmits signals asking the newly started node or service for identifying information. The node or service receives the identity request and transmits signals back to the network management control host with specific requested identification information. The network management control host stores this information for identification purposes and later performance analysis.
In yet another aspect of the invention, a network management control host comprises a network management application started on the host at a network operation center. The network management application is in communication with a database adapter and a database. The database adapter is in communication with an information bus. A remote system administrator notifier is in communication with the network management application and the database adapter and provides for remote notification of the system administrator if signals are received related to an abnormal condition at a node or a service or if operational status signals from a node or service are not received.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic drawing of a management and maintenance system for a data communications network, in accordance with a presently preferred embodiment in the present invention.
FIG. 2 is a schematic drawing of a Enterprise Application Integration (EAI) system highlighting the relationship between an information broker and adapters, in accordance with a presently preferred embodiment of the present invention.
FIG. 3 is a schematic drawing of a management and maintenance system for a data communications network having remote system administration capability, in accordance with a presently preferred embodiment of the present invention.
FIG. 4 is a schematic drawing of a management and maintenance system for a data communications network having seamless service and device integration, in accordance with a presently preferred embodiment of the present invention.
FIG. 5 is a flow diagram of a method for remote management and maintenance of a node within a data communications network, in accordance with a presently preferred embodiment of the present invention.
FIG. 6 is a flow diagram of a method for seamless integration of services and devices into a management and maintenance system for a data communications network, in accordance with a presently preferred embodiment of the present invention.



DETAILED DESCRIPTION OF THE PRESENT INVENTION
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and is not intended to be in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons from an examination of the within disclosure.
In accordance with a presently preferred embodiment of the present invention, the components, processes and/or data structures are implemented via devices implementing C++ programs running on an Enterprise 2000TM server running Sun SolarisTM as its operating system. The Enterprise 2000TM server and Sun SolarisTM operating system are products available from Sun Microsystems, Inc of Mountain View, Calif. Additionally, the Network Control Console (NCC) of the presently preferred embodiment of the present invention is implemented using a WindowsTM based operating system. The WindowsTM operating system is a product available from Microsoft Corporation of Redmond, Wash. Different implementations may be used and may include other types of operating systems, computing platforms, computer programs, firmware and/or general purpose machines. In addition, those of ordinary skill in the art will readily recognize that the devices of a less general purpose nature, such as hardwired devices, devices relying on FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit) technology, or the like, may also be used without departing from the scope and spirit of the inventive concepts herein disclosed.
Referring to FIG. 1, shown is a schematic diagram of a data communications network 10 incorporating the network management system of a presently preferred embodiment of the present invention. A network control console (NCC) 12 is physically located on a host 14 within a Network Operation Center (NOC) 16. The NCC 12 is an application program running on the host 14. The NCC 12 monitors and manages the data network management system and serves as the communication interface between the data network management system and a system administrator. A system administrator is an individual employed by a network service provider who maintains a portion of the overall data communications network 10. The NCC 12 is in communication with a database 18 and a database adapter 20.
The database 18 and database adapter 20 can run on the same host 14 as the NCC 12, as depicted in FIG. 1, or the database 18 and the database adapter 20 can be located on other remote devices. The database 18 stores information related to the various components and services comprising the data communications network 10 being managed. The system administrator accesses the information in the database 18, as needed, via the network control console 12 to perform the overall network management task. The database adapter 20 is in communication with both the database 18 and the NCC 12. This adapter, and other adapters in the invention, provide bi-directional mapping of information between the NCC 12 and other services comprising the data communications network 10. Adapters, such as the database adapter 20 subscribe to and publish events. An event is an independent entity that contains an unspecified amount of, generally, non-time critical information. For example, the database adapter 20 receives commands from the NCC 12 to publish an event. The information contained in the event may be found in the NCC's request or the database adapter 20 may communicate with the database 18 to find the required information. A detailed discussion of the specific events pertaining to the presently preferred embodiments of the present invention and the information found in those events is provided later in this disclosure. The event is then published to other services and components within the data network management system across an information bus 22.
The information bus 22 that serves as the transportation medium for a presently preferred embodiment of the present invention can be Common Object Request Broker Architecture (CORBA)-based. The CORBA-based information bus is capable of handling the communication of events to and from objects in a distributed, multi-platform environment. The concept of a CORBA-based information bus is well known to those of ordinary skill in the art. Other acceptable information-bus architectures can be used as are known by those of ordinary skill in the art.
CORBA provides a standard way of executing program modules in a distributed environment. A broker, therefore, may be incorporated into an Object Request Broker (ORB) within a CORBA compliant network. To make a request of an ORB, a client may use a dynamic invocation interface (which is a standard interface which is independent of the target object's interface) or an Object Management Group Interface Definition Language (OMG IDL) stub (the specific stub depending on the interface of the target object). For some functions, the client may also directly interact with the ORB. The object is then invoked. When an invocation occurs, the ORB core arranges so a call is made to the appropriate method of the implementation. A parameter to that method specifies the object being invoked, which the method can use to locate the data for the object. When the method is complete, it returns, causing output parameters or exception results to be transmitted back to the client.
In accordance with a presently preferred embodiment of the present invention an Enterprise Application Integration (EAI) system is used to broker the flow of information between the various services and adapters comprising the data network management system of the present invention. The implementation of EAI systems in networking environments are well known by those of ordinary skill in the art. An example of an EAI system that can be incorporated in the presently preferred invention is the ActiveWorks Integration System, available from Active Software of Santa Clara, Calif. As shown in FIG. 2, such an EAI system 46 uses information broker 24 as the hub of the system. The information broker 24 acts as the central control and storage point for the system. The information broker 24 can reside on a server (not shown in FIG. 2) and serves to mediate requests to and from networked clients; automatically queuing, filtering and routing events while guaranteeing delivery. The information broker 24 is capable of storing subscription information and using such subscription information to determine where published information is to be sent. Referring back to FIG. 1, the information broker 24 is shown as being located at a point along the information bus 22. In most instances the, broker will be located within the same NOC 16 as the host 14 that runs the NCC 12 application. Another key feature to the EAI system 46, shown in FIG. 2 is the use of adapters 47 that allow users of the EAI system 46 to integrate diverse applications and other information when using the integration system. Adapters 47 provide bi-directional mapping of information between the an application's native format and integration system events, enabling all custom and packaged applications, databases, and Internet and extranet applications to exchange information. As shown in FIG. 2 the adapters 47 run on the various services 48 and network nodes 49 from which information is published and subscribed on to information bus 22 that has its hub at the broker 24. As is well known by those of ordinary skill in the art, a node refers to a host computer or server, in this instance, located at a PoP within the data communications network.
Referring back to FIG. 1 information bus 22 serves to handle communication requests and responses originating from Point of Presence (POP) 26, NOC 16 or other PoPs and/or NOCs within the data communications network 10. The PoP 26 is one of many PoPs with which the information bus 22 is in communication. Located within PoP 26 is a host or node 28. The node 28 is in communication with the information bus 22 through control adapter 30 and one or more service adapters 32 that are connected with the various services that are used on the node 28. PoPs, such as the simplified example shown in FIG. 1, are located throughout the distributed data communications network. PoPs will generally comprise more services than are shown in FIG. 1 and may include more than one node handling network management interface capabilities. It is the task of the network management system of this invention to manage all the services and interfaces housed at the numerous PoPs comprising the comprehensive network.
By way of example, node 28 of FIG. 1 is configured with protocol gateway service 34, Authentication, Authorization and Accounting (AAA) service 36, Domain Name System (DNS) service 38, Dynamic Host Configuration Protocol (DHCP) service 40 and cache service 42. Node 28 may have single instances of each service running or may have multiple instances of a service running. Additionally, node 28 is not confined to having only one service component of a specific type associated with it, i.e., node 28 can be configured to have two or more AAA services, DNS services, DHCP services. etc. in communication with node 28. Those of ordinary skill in the art will appreciate that the services shown are not intended to be limiting and that other services and other service configurations can be used without departing from the inventive concepts herein disclosed. Not all services need to be running at each PoP and a PoP may comprise one or more host computers on which one or more of the services may be running.
The protocol gateway service 34 is used to couple the network user to the data communications network. The protocol gateway service 34 functions as an interface that allows access requests received from a user or client computer to be serviced using components that may communicate using different protocols. A typical protocol gateway service may be able to support different user access methodologies, such as dial-up, frame relay, leased lines, ATM (Asynchronous Transfer Mode), ADSL (Asymmetric Digital Subscriber Line) and the like.
Used in conjunction with the protocol gateway service 34, the AAA service 36 performs user authorization and user accounting functions. The AAA service 36 stores user profile information and tracks user usage. The profile information stored in the AAA service 36 is forwarded to the protocol gateway service 34 when a network user desires network access.
The DNS service 38 is used to return Internet Protocol (IP) addresses in response to domain names received from a client, a network access server (NAS) or other services associated with the NAS or client. By way of example, if DNS service 38 receives a domain name from a requesting service, it has the capability to locate the associated IP address from within the memory of the DNS service 38 (or another DNS service) and return this IP address to the requesting service. Alternately, DNS service 38 can be used to return domain names in response to IP addresses received from a client, a NAS or other services associated with the NAS or client. By way of example, if DNS service 38 receives an IP address from a requesting service, it has the capability to locate the associated domain name from within the memory of DNS service 38 or another DNS service) and return this domain name to the requesting service.
The DHCP service 40 is used as a dynamic way of assigning IP addresses to the network users.
The cache, or attribute memory service 42 is a simple cache performing data storage functions.
Each of these services communicates with the information bus 22 utilizing a service adapter 32 interface. The service adapter 32 subscribes to and publishes various events on the information bus 22. The service adapter 32 is configured so that it subscribes to events published by the database adapter 20 of the NCC 12 and the control adapter 30 of the node 28. The service adapter 32 also publishes events to the database adapter 20 of the NCC 12 and the control adapter 30 of node 28.
A control adapter 30 is running on node 28. A control adapter 30 runs on all nodes that have services that require managing by the NCC 12. The control adapter 30 monitors the state and status of the node 28 as well as services running on the node 28 and allows the system administrator to remotely start and stop services on the node 28. Additionally, the control adapter 30 serves to insure that the services within node 28 remain viable. Control adapter 30 polls the services on a prescribed time basis to insure that all specified services remain operational. The system administrator may define the prescribed polling interval. If the results of the polling operation determine that a particular service has failed then the control adapter 30 initiates an automatic restart process. If the restart process fails to revive the service, the control adapter 30 will again initiate the automatic restart process. The system administrator will determine how many unsuccessful automatic restart processes will be undertaken before the NCC 12 determines that a service has died or the control adapter 30 sends an event to the NCC 12 that notifies the system administrator that the attempt to restart a service was unsuccessful. In this instance, the event that is forwarded to the NCC 12 via the information bus 22 is an exception event. A detailed discussion of an exception event and other events published by and subscribed to by the control adapter 30, as they pertain to presently preferred embodiments of the present invention, is provided later in this discussion.
A master daemon 44 is in communication with the control adapter 30. The function of the master daemon is to insure that the control adapter 30 remains viable. The master daemon 44 starts the control adapter 30 initially and restarts the control adapter 30 if a failure occurs. In this sense, the master daemon 44 is defined as a parent process and the control adapter 30 is the child process of the master daemon 44. The master daemon 44 is an application that is kept extremely simple so as to minimize the likelihood that it will ever crash.
FIG. 3 is a schematic drawing of a data communications network management system 50 having remote system administration capability, in accordance with a preferred embodiment of the present invention.
The service adapters 52 that are in communication with the services 54 and the control adapters 56 that are in communication with the nodes 58 publish “heartbeat” events on to the information bus 60 at a prescribed interval. The “heartbeat” events are signals received by subscribing entities that indicate that the service or node is operational or “alive” and to periodically report to the subscribing entities other essential sustaining information. The subscribing entities are, generally, the NCCs, such as NCC 62, which subscribe through communication with the database adapters, such as database adapter 64. NCC 62 subscribes to the heartbeat events to show the system administrator that the nodes 58 on which control adapters 56 are running are operational or that services 54 on which service adapters 52 are running are still operational. These heartbeat events are published periodically and the frequency of the heartbeats is configured by a default file or dynamically by NCC 62 by way of a separate “configure” event. An example of the information contained within a heartbeat event includes the Global Unique Identifier (GUID) of the publisher (to identify this particular heartbeat from other service heartbeats), a time stamp, the number of data packets received and processed, the number of packets in queue, the number of packets timed out and the rate at which packets are being received.
When a control adapter 56 stops publishing heartbeats, NCC 62 recognizes that the associated node 58 has stopped and signals the associated master daemon 66 to restart control adapter 56. If master daemon 66 is successful in restarting control adapter 56, then control adapter 56 will once again begin publishing heartbeat events that will 20 be subscribed to by NCC 62. However, if master daemon 66 is continually unsuccessful in its attempt to restart control adapter 56, NCC 62 recognizes the failure by the lack of receipt of heartbeat events. After having not received heartbeat events from control adapter 56 over a pre-defined period, NCC 62 acknowledges continual unsuccessful restart attempts and remotely notifies the system administrator 68 of loss of control adapter 56 heartbeats.
When a service adapter 52 stops publishing heartbeats, the NCC 62 recognizes that the associated service 54 has stopped and signals the associated control adapter 56 to restart the service 54. If control adapter 56 is successful in restarting service 54, then service adapter 52 will once again begin publishing heartbeat events that will be subscribed to by NCC 62. However, if control adapter 56 is continually unsuccessful in its attempt to restart service 54, NCC 62 recognizes the failure by the lack of receipt of heartbeat events. After having not received heartbeat events from service adapter 52 over a predefined period, NCC 62 acknowledges continual unsuccessful restart attempts and remotely notifies the system administrator 68 of loss of service adapter 52 heartbeats.
The system administrator 68 who may be located at a residence 70 or another remote location may be notified of the sustained loss of a heartbeat through the NCC's use of pageable electronic mail (e-mail). NCC 62 may use Simple Mail Transfer Protocol (SMTP) which is a standard e-mail protocol used on the internet and is well known by those of ordinary skill in the art. Additionally, NCC 62 may use Simple Network Management Protocol (SNMP), a widely-used network monitoring and control protocol, to send out SNMP traps. SNMP traps are defined as reports sent to management stations that notify that a certain event has occurred. The use of SMTP and SNMP traps in data communications network management is well known by those of ordinary skill in the art. Other communication media, such as telephone voice mail, facsimile, or the like, may also be used to remotely notify system administrator 68 and are within the inventive concepts herein disclosed.
NCC 62 is configured so that if a heartbeat is not received from a control adapter 56 or service adapter 54 within a predetermined amount of time the system administrator is remotely notified by triggering an e-mail to be sent automatically to system administrator 68 via a paging system. This notification may be sent to system administrator 68 or to numerous other remotely located system administrators. The system administrator 68 is alerted through a script communicated to their page receiving device 72 that the NCC 62 has stopped receiving heartbeats from a control adapter 56 or service adapter 52 and is not responding to restart commands. The system administrator 62 can then use a remote NCC application 74 or interface with the control adapter through Telnet 76. Telnet is a terminal emulation protocol commonly used on the Internet. Telnet allows the user to log onto and run a program from a remote computer or host. Through the use of the remote NCC application 74 or Telnet 76 the system administrator 62 is able to execute restart commands to the failed control adapter 56 or service adapter 52, re-route network traffic to account for the failed node 58/service 54 or take any other appropriate actions to alleviate the network difficulties. The use of the remote NCC application 74 or Telnet 76 allows the system administrator 68 to manage data communications network 50 remotely. System administrator 68 can start, stop and reconfigure the node 58 or service 54 remotely through communication with control adapter 56 or service adapter 52. In this manner, the system administrator 68 is not required to be physically, and constantly, located at the master NCC 62 within the NOC 78 when managing data communications network 50.
Additional events subscribed to by NCC 62 may also trigger remote system administrator notification. An example of such an event would be an “exception” event. The control adapters 56 and the service adapters 52 publish exception events that report to the subscribing NCC 62 the existence of an abnormal condition within the corresponding node 56 or service 54. Each time that an exception condition exists control adapter 56 or service adapter 52 will publish an exception event. Exception events may be classified as either an error, a warning or information only. When the exception event reports an error the error can have a severity level associated with it. The severity level can include, minor, recoverable, severe, critical and unrecoverable. An example of the information found in an exception event includes the GUID of the publisher, the classification of the exception (error, warning or info), the severity level if the classification is an error and a description of the exception condition.
Generally, an information only exception event will not trigger remote system administrator notification, instead this information is stored within database 80 for historical purposes and to analyze performance trends for a particular node or service. Certain warning and error exception types will be self-rectifying and, thus no need will exist to remotely notify system administrator 68. However, if the error exception condition reaches a severity level that requires system administrator 68 to take action or if a warning exception would benefit from proactive response by system administrator 68, then remote notification of system administrator 68 would be desirable.
The user of the network management system described herein will be able to configure NCC 62 in terms of what classification (error, warning, or information only) and level of error exception events (minor, recoverable, severe, critical or unrecoverable) will trigger remote system administrator notification. By way of example, the NCC 62 may receive an exception event from a DHCP service alerting NCC 62 that the request queue is near full capacity. NCC 62 may be configured so that this exception triggers remote system administrator notification. Upon receiving such notification, system administrator 68 can access remote NCC application 74 to send a reconfiguration event that can increase the queue size for that particular DHCP service or they can re-direct the DHCP requests to another DHCP service within the data communications network. The example of an exception event triggering remote system administrator notification is not intended to be limiting. The master NCC 62 can be configured so that other events that it subscribes to will also trigger remote system administrator notification.
FIG. 4 is a schematic drawing of a data communications network management system 100 having the capability to automatically recognize and acquire information from nodes or that are added to the network management system 100 manually, in accordance with a presently preferred embodiment of the present invention. Manually, in this sense, refers to services or nodes running services that are started or added at one of the numerous PoPs in the distributed data communications network without a command to do so being issued from the network management operation center; i.e., network control console 114. By having a data communications network management system that automatically recognizes and acquires information from manually added services and nodes, the management system is not burdened with having system administrators update the system with manual data inputs related to the newly added services.
Within PoP 102, a service 104 or a node 106 running services may be added to a preexisting data communications network. Service 104 may be a new application running on node 106, or it may be an additional device added to the data communications network. Service 104 can be added to the preexisting data communications network management system 100 through an associated service adapter 108 in communication with information bus 110. Node 106 can be added to the preexisting data communications network management system 100 through an associated control adapter 112 in communication with information bus 110. Upon start-up of service 104 or node 106, the associated adapter begins publishing “heartbeat” events. As described above, heartbeat events act as signals to subscribing entities, letting the subscriber know that a service is functional and providing other essential sustaining information (i.e. the number of data packets received and processed since the last heartbeat, the number of packets currently in queue, the number of packets timed out and the rate at which packets are being received). NCC 114 running on host 116 within NOC 118 will subscribe to all heartbeats published within the distributed data communications network that it serves to manage. The heartbeat will be published by the new service 104 or node 106 with a self-generated GUID. When NCC 114 receives the heartbeat and fails to find the GUID in its database 120 it triggers the publication of a “discover” event from the database adapter 122.
A discover event requests that an unknown service or host provide identity information to NCC 114. An example of information contained within a discover event includes the GUID of the publisher, the self-generated GUID of the intended subscriber and status performance data requests. The control adapter 112 associated with the newly added node 106 or the service adapter 108 associated with the newly added service 104 subscribes to this discover event and upon receiving such, responds by publishing an “identity” event The identity event provides the NCC 114 with detailed information about the service 104 or node 106. An example of information contained within an identity event includes; a time stamp, the GUID of the publisher, pertinent EAI system information, the PoP where the service or node is located, server name, server IP address and memory size. The detailed information found in the identity event can be stored in the database 120 of NCC 114 for future reference. When the discover event includes status performance data requests control adapter 112 or service adapter 108 will respond with a “status” event. The status event provides the NCC 114 with a report of the performance of the node 106 or service 104. An example of information contained within a status event includes; a time stamp, GUID of the publisher, performance data from the source, performance data from the sink, performance data from the protocol handler, and performance data from the facility. The detailed performance information contained within a status event can be stored in the database 120 of NCC 114 for future reference. The information supplied by the status event is used by the system administrator to access the overall performance and reliability of the various nodes and services throughout the data communications network.
FIG. 5 is a flow chart diagram illustrating a method for remote management of a node within a data communications network, in accordance with a presently preferred method of the present invention. At 160, the control adapter that will run on the node is started by a master daemon executing a command to start. At 170, the control adapter starts at least one service that is running on the node by activating the service's associated service adapter. The command for the service start process may be found in the control adapter's database or it may come from a signal over the information bus. Examples of services running on the node may include, a protocol gateway service, a DHCP service, a DNS service, an AAA service and a cache service. At 180, the service adapter and the control adapter begin transmitting operational status signals. These signals are published as heartbeat events on to an information bus. Heartbeat events are published at a prescribed interval to alert subscribing entities that a specific node or service is still functional. If, at 190, a subscribing network management control host (i.e. Network Control Console (NCC)) fails to receive operational status signals from a node or service within its management and maintenance system, then, at 200, notification is sent to a remote system administrator. Generally, this notification takes the form of a pageable SMTP e-mail notification. In this instance, the system administrator is capable of receiving notification of a loss of heartbeat regardless of the physical location of the system administrator and take appropriate action at a remote location.
At 190, if the node or service continues sending operational status signals, then, at 210 if an abnormal condition exists at the node or service it will trigger a signal to be transmitted by the associated control adapter or service adapter. These signals are published as exception events on to an information bus. Exception events are classified as information only, warning and error. Error exception events will have severity levels associated with the exception. Exception events are published to alert the subscribing entities of abnormal occurrences within a node or service. If, at 220, a subscribing network management control host receives an exception event it then, at 230, queries a database to see if the specific exception received warrants remote system administrator notification. If the exception event requires remote notification, then, at 240, such notification is sent to the system administrator. Generally, this notification takes the form of a pageable SMTP e-mail notification. In this instance, the system administrator is capable of receiving notification of an abnormal condition regardless of the physical location of the system administrator and take appropriate action at a remote location. If the exception event does not require notification, then, at 250, the information found in the exception event is stored for future reference in the database associated with the network management control host.
FIG. 6 is a flow chart illustrating a method for seamless integration of a new service or node within a data communications network management system, in accordance with a presently preferred embodiment of the present invention. At 300, a node or service is started manually at a Point of Presence within a data communications network. Manually, in this sense, refers to a service or node that is started or added at one of the numerous PoPs in the distributed data communications network without a command to do so being issued from the network management operation center. The service or node being started has an associated service or control adapter running and is in communication with an information bus. At 310, the newly started node or service begins sending out operational status signals over the information bus. These signals are published as heartbeat events on to an information bus. Heartbeat events are published at a prescribed interval to alert subscribing entities that a specific node or service is still functional.
At 320, these signals are received by an unknowing network management control host. The host has no identity information in its database for this new service or node, therefore, at 330, the network management control host sends out signals requesting identification information. These signals are published as discover events by the database adapter. At 340, these identification request signals are received by the new service or node and the associated control adapter or service adapter sends signals with the requested identification information supplied therein. These events are published as identity events in response to received discover events. At 350, the subscribing network management control host receives the identity information and stores such in its database. The new service or node has now been integrated into the data communications network management system and the identifying information is kept on file for future reference.
Alternative Embodiments
Although illustrative presently preferred embodiments and applications of this invention are shown and described herein, many variations and modifications are possible which remain within the concept, scope and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application. The invention, therefore, is not limited except in spirit of the appended claims.

## Claims

1. A method for remote management of a node in a data communications network, the method comprising:
starting, via a control adapter, a separate service adapter for each of services running on the node, the each separate service adapter publishing first heartbeat events onto an information bus, the first heartbeat events indicating that the services are operational, the information bus coupling a network operation center (NOC) and the control adapter included in the node;
monitoring, by the control adapter, state and status of the node and restarting, by the control adapter, the services if the services has been failed, the control adapter publishing second heartbeat events onto the information bus, the second heartbeat events indicating that the node is operational, wherein the node includes a master process associated with the control adapter, the master process starts the control adapter initially and restarts the control adapter when the control adapter stops the publishing second heartbeat events, and a network control console at the NOC recognizes that the node stopped and signals the master process.

2. The method of claim 1, further comprising:
subscribing, at the service adapter, to the second heartbeat events and events published by a database adapter of the network operation center.

3. The method of claim 1, further comprising:
subscribing, at the control adapter, to the first heartbeat events and events published by a database adapter of the network operation center.

4. The method of claim 1, further comprising:
periodically polling, by the control adapter, the services; and
automatically restarting a service if the service has been failed.

5. The method of claim 4, further comprising:
publishing, at the control adapter, an exception event onto the information bus after performing the automatically restarting a predetermined number of times.

6. The method of claim 1, further comprising:
publishing, at the service adapter, exception events indicating an abnormal condition in the corresponding service.

7. The method of claim 6 wherein each of the exception events includes a classification and a level thereof.

8. The method of claim 1, further comprising:
publishing, at the control adapter, exception events indicating an abnormal condition in the node.

9. The method of claim 8 wherein each of the exception events includes a classification and a level thereof.

10. A node for remote management in a data communications network, the node comprising:
a memory;
service adapters embedded in the memory, each of the service adapters associated with a separate service running on the node and configured to publish first heartbeat events onto an information bus, the first heartbeat events indicating that the services are operational, the information bus coupling a network operation center (NOC) and a control adapter included in the node, and a the control adapter configured to monitor state and status of the node and being capable of restarting the services, the control adapter configured to publish second heartbeat events onto the information bus, the second heartbeat events indicating that the node is operational, wherein the node includes a master process associated with the control adapter, the master process starts the control adapter initially and restarts the control adapter when the control adapter stops the publishing second heartbeat events, and a network control console at the NOC recognizes that the node stopped and signals the master process.

11. The node of claim 10, wherein the one or more service adapters subscribes to the second heartbeat events and events published by a database adapter of the network operation center.

12. The node of claim 10, wherein the control adapter subscribes to the first heartbeat events and events published by a database adapter of the network operation center.

13. The node of claim 10, wherein the control adapter periodically polls the services and automatically restarts a service if the service has been failed.

14. The node of claim 13, wherein the control adapter publishes an exception event onto the information bus after a predetermined number of unsuccessful restart operations for the failed service.

15. The node of claim 10, wherein the one or more service adapters further publishes exception events indicating an abnormal condition in the corresponding service.

16. The node of claim 15, wherein each of the exception events includes a classification and a level thereof.

17. The node of claim 10, wherein the control adapter further publishes exception events indicating an abnormal condition in the node.

18. The node of claim 17, wherein each of the exception events includes a classification and a level thereof.

19. An apparatus for remote management of a node in a data communications network, the apparatus comprising:
first means, each of the first means associated with a separate service running on the node, for publishing first heartbeat events onto an information bus, the first heartbeat events indicating that the services are operational, the information bus coupling a network operation center and the first means included in the node; and
second means for monitoring state and status of the node, and publishing second heartbeat events onto the information bus, the second heartbeat events indicating that the node is operational; and
third means for starting the second means initial and restarting the second means when the second means stop the publishing second heartbeat events, and a network control console at the NOC recognizes that the node stopped and signals the third means, wherein the second and third means are included in the node and comprise a processor to execute instructions stored in a memory.

20. The apparatus of claim 19, wherein each of the one or more first means comprises:
means for subscribing to the second heartbeat events.

21. The apparatus of claim 20, wherein the first means further comprises:
means for subscribing to events published by a database adapter of the network operation center.

22. The apparatus of claim 19, wherein the second means comprises:
means for subscribing to the first heartbeat events.

23. The apparatus of claim 22, wherein the second means further comprises:
means for subscribing to events published by a database adapter of the network operation center.

24. The apparatus of claim 19, wherein the second means comprises:
means for periodically polling the services; and
means for automatically restarting a service if the service has been failed.

25. The apparatus of claim 24, wherein the second means further comprises:
means for publishing an exception event onto the information bus after performing the automatically restarting a predetermined number of times.

26. The apparatus of claim 19, wherein the first means comprises:
means for publishing exception events indicating an abnormal condition in the corresponding service.

27. The apparatus of claim 19, wherein the second means further comprises:
means for publishing exception events indicating an abnormal condition in the node.

28. A program storage device readable by a machine, tangibly embodying a program of instructions readable by the machine to perform a method for remote management of a node of a data communications network, the method comprising:
starting, via a control adapter, a separate service adapter for each of one or more services running on the node, each service adapter publishing first heartbeat events onto an information bus, the first heartbeat events indicating that the service is operational, the information bus coupling a network operation center and the control adapter included in the node, and

the control adapter monitoring state and status of the node and being capable of restarting the services, the control adapter publishing second heartbeat events onto the information bus, the second heartbeat events indicating that the node is operational, wherein the node includes a master process associated with the control adapter, the master process capable of starting and restarting the control adapter.

29. The program storage device of claim 28, wherein the method further comprises:
subscribing, at the service adapter, to the second heartbeat events and events published by a database adapter of the network operation center.

30. The program storage device of claim 28, wherein the method further comprises:
subscribing, at the control adapter, to the first heartbeat events and events published by a database adapter of the network operation center.

31. The program storage device of claim 28, wherein the method further comprises:
periodically polling, by the control adapter, the services; and
automatically restarting a service if the service has been failed.

32. The program storage device of claim 31, wherein the method further comprises:
publishing, at the control adapter, an exception event onto the information bus after performing the automatically restarting a predetermined number of times.

33. The program storage device of claim 28, wherein the method further comprises:
publishing, at the service adapter, exception events indicating an abnormal condition in the corresponding service.

34. The program storage device of claim 28, wherein the method further comprises:
publishing, at the control adapter, exception events indicating an abnormal condition in the node.