Method and apparatus for re-synchronizing a network manager to its network agents

Abstract: A method and apparatus for resynchronizing a network manager (2,4) to its agents (6). Each object instance of an agent in an object-oriented management scheme is assigned two special attributes, namely, DATASYNCH and UNIQUEID. UNIQUEID is a unique number assigned to each object instance. DATASYNCH essentially is a counter which is incremented each time a change occurs to an object instance. When resynchronization is necessary, the manager requests the UNIQUEID and DATASYNCH attributes from its agents and compares those values with the corresponding values stored in its database. With respect to any object instance which does not match in both its UNIQUEID and DATASYNCH attributes to the manager's database, the manager uploads those object instances from the agent's database and/or revises its database accordingly.

Description: FIELD OF THE INVENTION The invention pertains to network communication systems. More particularly, the invention pertains to a method and apparatus for re-synchronizing a network manager to its agents. BACKGROUND OF THE INVENTION Communications networks with a significant number of communication nodes typically employ a manager/agent scheme to control communications between the network communication nodes. In such schemes, the communication nodes are termed "agents", while the nodes which manage communications on the network are termed "managers". Figure 1 illustrates one common type of communications network 10 and control scheme therefor, including a plurality of managers 4 which each manage a plurality of agents 6. The plurality of managers 4 may be connected to each other in any one of a number of configurations, including tree (as shown) and star configurations. The various managers 4 may communicate with each other through a higher level node, termed a network manager 2 N (as illustrated), which communicates with all of the managers and the overall network. In other schemes, the managers 4 may communicate directly with each other (not shown). Each node 2, 4, 6 on the network typically will include some type of data processing unit, 2a, 4a, and 6a and memory. As an exemplary illustration in Figure 1, each node 2, 4, 6 has both ROM 2b, 4b and 6b as well as RAM 2c, 4c and 6c. Each node also should include a separate database memory, 2d, 4d, and 6d, for at least network operational data. In an object-oriented management scheme, each agent 6 maintains a Management Information dataBase (MIB) in database memories 6d that contains the condition of all of the attributes (commonly termed object instances) of all of the objects of that agent. The managers 4 usually also maintain in database memories 4d a putative copy of the MIB of each agent under its management control. The copy stored at the manager is deemed putative since it may not be identical to the data stored at the agent. The agent's MIB data is assumed to be the most correct copy of the MIB. As long as the copy of the MIB for an agent stored at the manager is identical to the MIB stored by the agent, the manager and the agent are synchronized. However, various events can occur which would cause the manager to either lose synchronization with one or more of its agents or, at least, not know whether it is synchronized to one or more of its agents. For instance, the manager may simply become disabled for a period of time during which object instances of its agents may be changed, added or deleted. Also, it is possible for a communication link (or association) between a manager and an agent to go down for a period of time. In either event, the manager, when it re-establishes an association with the agent, will not know if its putative copy of the agent's object instances is current, and will need to confirm and/or update its database in accordance with any changes that occurred during the period of non-communication with the agent. In one prior art resynchronization scheme, each agent maintains an event log in which each and every creation, deletion or change in state of an object instance is recorded. Whenever an event occurs, it is stored in the event log. Also, an M event report is sent from the agent to the manager informing it of the event. There usually is no confirmation of M event reports by the manager. The manager will update its relevant copy of the object instances for the agent accordingly. However, if the communication association between the manager and the agent is down, the manager will not receive the Event Report and, therefore, will no longer be synchronized with the agent. The object instances in the event log are tagged with, for instance, a time-stamp. The event log is maintained in a circular buffer. After communication between a manager and an agent is re-established, the manager can check the event log and read out every entry in the event log having a tag indicating that the event occurred after the time that the association was lost. This type of resynchronization scheme can be extremely time consuming if the number of events which occurred during the loss of association is significant. In fact, the loss of an association between a manager and an agent is frequently caused by, or at least associated with, a problem in the system that will lead to a significant number of other network events, including changes in the object instances of the agents. Accordingly, a significant number of changes in object instances of the agents frequently occurs precisely when a communication association is lost between a manager and an agent. As an example, the MIB in present network systems typically may have between 500 and 10,000 object instances per agent. Smaller object instances may have on the order of 200 to 400 bytes each. However, larger ones can have 5,000 to 8,000 bytes of information. Future network systems are projected to have substantially increased numbers and sizes of object instances. Accordingly, resynchronization can be rather time consuming. If the number of events occurring during a loss of association between a manager and an agent exceeds the length of the log, the log can no longer be used for resynchronization, since the earliest events are lost. In such a case, resynchronization can be achieved only by reading the entire MIB database out of the agent into the manager. EP-A-0 348 331 discloses a method carried out in a communications network, by which each network node can maintain its own list of network resources in a topology database. When the state of a resource "owned" by a particular node changes, that node broadcasts a topology database update (TDU) message to adjacent nodes. Each adjacent node updates its own topology database and rebroadcasts the message. To minimize the amount of information that must be included in TDU messages when two nodes are reconnected after an outage, each node assigns flow reduction sequence numbers (FRSNs) to TDU messages and keeps a record of the FRSN for the last TDU message sent to an adjacent node. The node also records, for each resource in its database, the FRSN of the last TDU message including that resource. When two nodes are reconnected, the sending node includes in the TDU message only those resources having a FRSN greater than the FRSN assigned to the last TDU sent to the adjacent node to which the TDU message is directed. EP-A-0 621 706 discloses a system and method which allow a Manager in a Simple Network Management Protocol (SNMP) environment to gather updates (TDU from its Agents. The system and method comprise the provision of an index (FRSN) which is used in each of the Agent's tables for indicating the various revisions thereof. The index lexicographically increases with each revision to the table. The Manager maintains a record of the index of the data which it has received from its Agents, requesting only that data having a lexicographically larger indexing. Further, the index is used in related tables so that the tables will be kept in "sync" in that the Manager will know whether it has the latest updates so that an accurate picture may be portrayed. Accordingly, it is an object of the present invention to provide an improved resynchronization scheme for a network. It is another object of the present invention to provide a resynchronization scheme for a network in which the amount of data which must be exchanged to achieve resynchronization is substantially reduced. SUMMARY OF THE INVENTION A method and apparatus according to the invention are as set out in the independent claims. Preferred forms are set out in the dependent claims. In the present invention, each object instance stored in the MIB of an agent contains two additional attributes, termed "UNIQUEID" and "DATASYNCH". UNIQUEID is a unique number assigned to each object instance when it is created. Preferably, the UNIQUEID attribute is of sufficient bit length to assure that, in any practical situation, there are more unique ID's available than possible object instances for the agent. DATASYNCH is a number assigned to each object instance upon creation. Typically, the number assigned upon creation will be 0 or 1. Each time that object instance is updated, DATASYNCH is incremented by 1. As with UNIQUEID, the bit length of the DATASYNCH attribute preferably is enough to handle any practical number of changes that might occur to an object instance during a loss of association. When resynchronization is necessary, the manager will poll the agent requesting a copy of the UNIQUEID and DATASYNCH attributes for each object instance in the agent's MIB. While the agent is generating this report and communicating it to the manager, the manager is likewise preparing a similar report of each UNIQUEID and DATASYNCH attribute stored in its database. The manager then compares the UNIQUEID and DATASYNCH attribute values received from the agent to its putative copy of the UNIQUEID and DATASYNCH values for the object instance for that agent. For each UNIQUEID which the manager has in its database that does not have a corresponding UNIQUEID at the agent, the manager will delete that object instance from its database. For each object instance detected at the agent for which the manager does not have a corresponding UNIQUEID or that has a DATASYNCH attribute value different from the DATASYNCH attribute value stored at the manager, the manager reads the entire object instance from the agent and updates its corresponding object instance accordingly, including updating the UNIQUEID and DATASYNCH values. No action is taken with respect to object instances for which both the UNIQUEID and DATASYNCH attributes match. The manager is resynchronized to the fault status of the agent by requesting each active fault status from the agent and updating its database accordingly. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of an exemplary communications network. Figure 2 is a message flow diagram of the resynchronization interaction. Figure 3 is a message flow diagram of the manager resynchronization scheme with respect to an existing object instance. Figure 4 is a message flow diagram of the manager resynchronization scheme with respect to an object instance that was created during a loss of association between the agent and the manager. Figure 5 is a message flow diagram illustrating resynchronization of fault status. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION The description herein of exemplary embodiments of the invention specifically pertains to networks in accordance with the ITU-T international standards, which are incorporated herein by reference, and assumes a familiarity with those standards, particularly sections x217 and x.700 et seq. It should be understood, however, that the invention is not limited to networks in accordance with the aforementioned standard or to the specific embodiments described herein, which are merely exemplary and not limiting. As mentioned above, there are many circumstances in which the communication link (or association) between a manager 4 and an agent 6 is lost; justifying a resynchronization operation. For instance, resynchronization may be necessary after any break in the communication link between the manager 4 and its agent 6, such as may be caused by a break or failure in either the manager 6, the agent or the communication medium 8 therebetween. Also, resynchronization may be necessary after a lengthy upload, during which time changes may have occurred at the agent which could not be communicated to the manager due to the use of the communication channels for the upload. Also, a system user may manually request a resynchronization operation and/or the agent may automatically request resynchronization under various circumstances. As noted above, the present invention is adapted for use in an object-oriented management scheme. In an object-oriented method, each agent is described as a collection of objects inside a container. The agent (or network element) stores in its memory 6c its condition (i.e., the information needed by itself and other network elements for it to operate and communicate on the network) in a series of stored object instances. For example, if a particular agent is a personal computer (PC) connected to the network, exemplary object instances might be the identity and configuration of each card or peripheral device installed on the PC. An object instance may have further object instances of its own. For example, if the exemplary PC (which is an object instance itself) has a CD-ROM player, one object instance contained by the PC object instance would be the CD-ROM object instance. The information contained therein would disclose the configuration and attributes of the CD-ROM player, such as its speed and its drive letter. The agent stores this information in a MIB (Management Information Base) database in database memory 6d. In order to properly manage its agents 6, a manager 4 maintains a putative copy of the MIB database in database memory 4d. Changes to an object instance can occur in one of two ways. The manager 4 may cause a change to an object instance by sending an M Set instruction, which basically informs the agent 6 to set a certain object instance to a particular condition. Alternately, the manager 4 can send an M Action instruction to an agent 6 instructing the agent to perform some function. That function might cause the agent 6 to change an object instance. In either event, each time an object instance is created, deleted or altered, the agent 6 updates its MIB database accordingly and also sends an M Event Report to its manager 4 notifying it of the change. The manager 4 then updates its copy of the MIB database for that particular agent accordingly. In any circumstance in which M Event Reports issued by an agent 6 are not received by the manager 4, resynchronization should be performed. For instance, while communication between a manager and its agent is down, it is possible that a peer manager on the network may assume control of the agent during this down time. In fact, our Application No. GB 9717030.2 , entitled GEOGRAPHIC REDUNDANCY PROTECTION METHOD AND APPARATUS FOR A COMMUNICATIONS NETWORK and filed on even date herewith, describes a scheme under which this may occur, incorporated herein by reference. When the original manager re-establishes association with the agent, it will need to resynchronize with it. In accordance with the present invention, each object instance stored in the MIB of an agent 6 is assigned two additional attributes, termed "UNIQUEID" and "DATASYNCH". UNIQUEID is a unique number assigned to each object instance when it is created. Preferably, the UNIQUEID attribute is of sufficient bit length to assure that, in any practical situation, there are more unique ID's available than possible object instances for the agent. In the presently preferred embodiment, UNIQUEID is 15 bits in length and, therefore, can accommodate over 32,000 object instances per agent. As an added precaution against two object instances being assigned the same UNIQUEID, if more than 32,000 object instances are created in an agentdomain, the software at the agent will look for holes in the UNIQUEIDs (object instances that were created and then deleted) and fill in those holes in order to continue to assure that UNIQUEID remains unique for each existing object instance in the MIB database. UNIQUEID is a GETonly attribute. In particular, this means that it is an attribute that cannot be changed by the manager. It can only be retrieved by the manager. This further assures uniqueness. DATASYNCH is a number assigned to each object instance upon creation. Typically, the number assigned upon creation will be 0 or 1. Each time that object instance is updated, DATASYNCH is incremented by one. As with UNIQUEID, the bit length of the DATASYNCH attribute preferably is sufficient to handle any practical number of changes that might occur to an object instance during a down time. In a preferred embodiment, DATASYNCH also is 15 bits long. The following discussion pertains to one manager resynchronizing with one agent. However, it should be understood that, in the preferred embodiment, all managers 4 have the discussed capabilities and that each manager 4 can perform resynchronization with any one or more of its agents 6. When resynchronization is necessary, the manager 4 will poll the agent 6 requesting a copy of the UNIQUEID and DATASYNCH attribute for each object instance in the agent's MIB database 6d. While the agent is generating this report and communicating it to the manager, the manager is likewise preparing a similar report of each UNIQUEID and DATASYNCH attribute stored in its database 4d. After both reports have been generated and the agent 6 has sent its report to the manager 4, the manager 4 compares its report with the report received from the agent 6. For each UNIQUEID that the manager 4 has in its database that does not have a corresponding UNIQUEID at the agent 6, the manager 4 will delete that object instance from its database. For each object instance detected at the agent 6 for which the manager 4 does not have a corresponding UNIQUEID, the manager 4 will read the entire object instance from the agent 6 and update its corresponding object instance accordingly, including updating the UNIQUEID and DATASYNCH values. For each object instance for which the manager 4 and agent 6 have a matching UNIQUE ID value, but non-matching DATASYNCH values, the manager 4 will read the entire object instance from the agent 6 and update its corresponding object instance accordingly, including updating the UNIQUEID and DATASYNCH values. For each object instance for which both the UNIQUEID and DATASYNCH attributes match, no action is taken. If the number of times that an object instance at an agent has been revised during a loss of association with its manager is exactly equal to the maximum possible value of the DATASYNCH attribute (i.e., 2 15 = 32,768 in the described embodiment in which DATASYNCH is 15 bits in length), then the DATASYNCH attribute stored by the manager will match with the DATASYNCH value stored by the agent, even though the corresponding object instance actually has been revised at the agent. Schemes may be used in order to detect such a problem. However, since the likelihood of exactly 32,768 revisions occurring during a loss of association between an agent and its manager are diminishingly small, in the preferred embodiment of the invention, no protection is provided for this almost non-existent error source. Figures 1-5 illustrate a preferred implementation of the present invention. In one embodiment of the invention, each agent has three attributes that are relevant to the present invention, namely, management state, MIBstate and MIBlock. The management state attribute has several possible states of which only a few are relevant to the present invention. The management state basically conveys the state of the agent in terms of the general operation which is currently being undertaken. For instance, when the agent is operating in its normal operating condition and is available for communication, the management state is NORMAL. The management state also could be RESYNCHING, indicating that a resynchronization operation of object instances in accordance with the present invention is currently being performed, or REEVALUATINGFAULTSTATUS, indicating that the agent is updating its manager to the current active fault conditions of the agent. Other possible exemplary management states that are possible include UPLOADING and DOWNLOADING. The management state generally informs the other nodes on the network that might attempt to communicate with the agent of its present state. The MIBlock attribute may have two conditions, namely, LOCKED and UNLOCKED. LOCKED means that the MIB database is presently inaccessible and that no changes may be made thereto at this time. UNLOCKED means that the MIB database can be updated. The MIBstate denotes the agent's view of the state of its MIB database. MIBfilled indicates that the MIB database is full and can be resynchronized with the manager. MIBempty indicates that the agent's MIB database is empty. MIBempty means that the manager and agent cannot resynchronize to each other using the method and apparatus of the present invention. Rather, the manager must download its putative copy of the MIB database for that agent to the agent. Figure 2 is a message flow diagram generally illustrating the overall resynchronization process. Under normal conditions, the management state and MIBstate of the agent are NORMAL and MIBFILLED, respectively, as shown at 15. In the first step 16, the manager 12 sends a MIBRESYNC(confirmed) M-Action to agentdomain in the agent. Assuming that the agentdomain's managementstate is NORMAL and its MIBstate is MIBFILLED, it sends a confirmation 14 back to the manager. If either of these conditions is not met, it rejects the MIBRESYNC M-ACTION (not shown). Assuming that agentdomain responds with a MIBRESYNC confirmation 18, the agent also changes its managementstate to RESYNCHING and its MIBstate to LOCKED, as shown at 19. A managementstate of RESYNCHING informs any other object attempting to communicate with the agent that it is resynching. The LOCKED condition of MIBlock will prevent the MIBstate from changing during resynchronization. Next, the agent sends an M event report 20 to the manager indicating that it has changed its managementstate and MIBstate as indicated. Then, the agent compiles the UNIQUEID and DATASYNCH data for transmission to the manager, as indicated at 22. The Agentdomain object instance then sends the UNIQUEID and DATASYNCH values to the manager by sending one or more MIBSYNCHDATA notification packets 24. MIBSYNCHDATA packets 24 may be M-EVENT-REPORTS in accordance with ITU-T standard sections x.710 et seq. Each packet also contains information as to whether it is an intermediate packet 24a or the last packet 24b. After the final packet 24b, the agent 14 sets its managementstate and MIBstate attributes back to NORMAL and UNLOCKED, respectively, as shown at 25 and sends an M Event Report 27 to the manager 12 informing it of the changes. As disclosed more fully below in connection with Figures 3-4, the manager then compares the UNIQUEID and DATASYNCH information received from the agent with its own UNIQUEID and DATASYNCH information. For existing object instances with matching UNIQUEIDs and DATASYNCH values, no action is performed (no figure provided). For object instances that exist in the manager's MIBstate database, but for which no corresponding MIBsynchdata notification is received, the manager deletes its image of the object instance (no figure provided). Figure 3 is a message flow diagram illustrating operation when the manager detects an existing object instance with a non-matching DATASYNCH value, as shown at 26 in Figure 3. The manager 12 first sends an M-GET request 28 for all attributes of that object instance. The agent 14 responds to the request by generating the requested data for transmission, as shown at 30. When ready, the agent 14 responds to the manager 12 with an M-GET confirmation 32 transmitting the requested data. The manager then replaces the object instance data in its database with the new information, as shown at 33. The operation is repeated for each such object instance for which the corresponding DATASYNCH values do not match. Figure 4 illustrates operation for object instances that are received in a MIBsynchdata notification from the agent, but for which there is no corresponding object instance in the manager's MIBstate database i.e., for which there is no matching UNIQUIED. Specifically, the manager 12 determines that the agent has sent a UNIQUEID for which it does not have a corresponding UNIQUEID, as shown at 34. It then sends a SCOPEDGet M-ACTION 36 for the corresponding object instance. The agent responds with a confirmation 38 followed by the requested data, which is sent in an M Event Report 40. The SCOPEDGet action filters for the given UNIQUEID to obtain the full details of the object instance. If the association between the manager and the agent is dropped during the resynchronization operation, the agent will return its managementstate to NORMAL. The resynchronization can then be performed again when the association is re-established with no adverse affects to the resynchronization operation. When a manager must resynch with more than one of its agents, the resynchronization process will be performed sequentially for all of the agents, with the order based on the value of the agentdomain, starting at agentdomainID = 1. In the event of an association failure when performing a resynchronization on multiple agents, the manager will re-do the entire process of resynchronization with all agents starting with agentdomainID = 1 again. For all node types, if the resynchronization process fails, the current association will be aborted and the manager will attempt reassociation. In a preferred embodiment of the invention, whenever resychronization occurs, the manager also resynchronizes with respect to faults which may have occurred during the loss of association. Referring to Figure 5, the manager will request a faultstatus resynchronization by sending a REEVALUATEFAULTSTATUS M-ACTION 42 to eventcontrol in the agent. The request is confirmed by the agent 44. The agent will then change its managementstate of the affected agentdomain to REEVALUATINGFAULTSTATUS and change its MIBstate to LOCKED. It will then notify the manager of this action with an M Event Report 46. Next, the agent collects and compiles the requested information, as shown at 48. Each object instance in the agent that has one or more active faults sends a CURRENTFAULTSTATUS notification 50 for each active fault. After all the CURRENTFAULTSTATUS notifications 50 have been sent, the agent sends a RE-EVALUATEFAULTSTATUS-COMPLETE notification 52 for that agentdomain to indicate the end of the operation. CURRENTFAULTSTATUS notification 50 and RE-EVALUATEFAULTSTATUS-COMPLETE notification 52 may be M_EVENT REPORTs under the ITU-T standard (see sections x.710 and x.711). The agent will then set its management state back to NORMAL and its MIBstate back to UNLOCKED (of the affected agentdomain) and notify the manager of these actions with an M Event Report 54. In the most typical situations where resynchronization is required, resynchronization by the method and apparatus of the present invention requires the transmission of orders of magnitude less data than in the prior art system in which the event log of the agent is read out by the manager. In a worst case scenario, it is projected that the method and operation of the present invention may transmit approximately the same amount of data as the prior art event log method. However in a more typical situation, the amount of data transferred to perform a resynchronization will be orders of magnitude less than in the prior art event log type scheme. With respect to the updating of the fault status of an agent, the method and apparatus disclosing the invention will show improved reduction in data transfer relative to the prior art fault event log method as the duration of the loss of association increases.

Claims: A method of resynchronizing a network manager to a network agent in a data communication network in which managers maintain a putative copy of data describing said agent, said method including: (1) storing at said agent, for each individual unit of data describing said agent, a first value corresponding to each unit of data, said first value being unique for every said unit of data; CHARACTERIZED BY the further steps of: (2) storing at said agent, for each of said units of data, a second value that indicates the number of times that the corresponding unit of data has been changed; (3) storing at said manager a putative copy of said first and second values; (4) comparing said first and second values stored at said agent with said corresponding first and second values, respectively, stored at said manager; and (5) for every unit of data for which said first and second values stored at the manager do not match the first and second values, respectively, stored at the agent, revising the unit of data stored at the manager. A method as set forth in claim 1 wherein step (5) comprises the steps of; (5.1) replacing the corresponding unit of data stored at the manager with a copy of the corresponding unit of data stored at the agent, if the corresponding first values match and the corresponding second values do not match; (5.2) deleting the corresponding unit of data stored at the manager, if the manager has a first value and the agent does not have a matching first value; and (5.3) adding at the manager a copy at the manager of the corresponding unit of data from the agent, if the agent has a first value for which the manager does not have a matching first value. A method as claimed in claim 1 or claim 2 wherein said network is an object oriented data communication network and said units of data are object instances. An apparatus for resynchronizing a network manager to a network agent in an object oriented data communication network, comprising: a first memory in said agent for storing a plurality of object instances describing said agent, each said object instance including a UNIQUEID attribute that is unique for each object instance and characterized in that said each object instance includes a DATASYNCH attribute adapted to indicate the number of times that the corresponding object instance has been changed; and wherein the apparatus for resynchronizing is further characterized by a second memory in said manager for storing a putative copy of said plurality of object instances, including said UNIQUEID and DATASYNCH attributes; and a processing unit at said manager for comparing said UNIQUEID and DATASYNCH attributes stored at said agent with said corresponding UNIQUEID and DATASYNCH attributes stored at said manager, respectively, upon resynchronization and for every object instance for which the corresponding UNIQUEID and DATASYNCH attributes stored at the manager do not match the UNIQUEID and DATASYNCH attributes, respectively, stored at the agent, revising the object instance stored at the manager. An apparatus as set forth in claim 4 wherein said processing unit of said manager further comprises; means for replacing the corresponding object instance stored at the manager with a copy of the corresponding object instance stored at the agent, if the corresponding UNIQUEID attributes match and the corresponding DATASYNCH attributes do not match; means for deleting the corresponding object instance, if the manager has a UNIQUEID attribute for which the agent does not have a matching UNIQUEID attribute; and means for adding a copy of the corresponding object instance of the agent, if the agent has a UNIQUEID attribute for which the manager does not have a matching UNIQUEID attribute.

Inventors: DAVIES GRAHAM JOHN, PENNINGTON NIGEL P, STARTUP ROY, DAVIES, GRAHAM JOHN, PENNINGTON, NIGEL P., STARTUP, ROY
Applicants: LUCENT TECHNOLOGIES INC, LUCENT TECHNOLOGIES INC.
Application year: 1998
Main classification: H04L12
IPC codes: H04L12