1. Field of the Invention
The present invention relates to a method and system for information synchronization between two communication nodes.
2. Description of the Related Art
A large telecommunication management network includes various types of Network Resources (NRs). NRs may include communications nodes that insure the service provision to network subscribers, such as for example in the case of a cellular telecommunications network. Such a network may include nodes like Mobile Switching Centers (MSCs), Base Station Controllers (BSCs), Base Stations (BSs), Packet Data Service Nodes (PDSNs), Home Location Registers (HLRs), Home Agents (HAs) and the like, which are viewed as NRs from the perspective of the telecommunication management network. The later exercises supervision, monitoring, and control on its NRs. Within the management network, the NRs are represented by a set of software objects called Management Objects (MOs), which are maintained using various network management applications.
The use of software objects (MO instances) to represent the NRs for large networks management is a key characteristics of modern network management paradigms such as those advanced by the Telecommunication management network (TMN) of the International Telecommunication Union-Telecommunication Standardization Sector (ITU-T) and by the 3rd Generation Partnership Project (3GPP) Integration Reference Point framework for 3G wireless networks.
In a large telecommunication management network, there is a distinction between one type of applications called Manager and another type of applications called Agent. In general, the Agent manages the NRs on behalf of Managers, i.e. the Managers do not directly interact with the NRs. Rather, the Managers control the NRs by sending instructions to Agents, that in turns control the NRs. In such a context, the Agent typically has a Management Information Base (MIB), called Agent-MIB, which is a collection of MOs (including their attributes) representing all NRs under management of that Agent. Each Manager also has a MIB, called Manager-MIB that holds this particular Manager's perspective or knowledge about the NRs under its management in the form of MOs as well.
In an ideal situation, the various Manager-MIBs and the Agent-MIBs should be identical at all times. As the NRs can be added or deleted from the network, or their attributes updated, event notifications representative of these changes are issued by the NRs and sent to the appropriate Agent, which stores them in its MIB. Ideally, all these event notifications should also be relayed to the appropriate Manager so that its MIB is continuously synchronised with the one of the Agent.
However, because of various problems, such as communication problems between NRs and the Agent and/or due to communication problems between Agents and Managers and/or due to specific behaviours of Managers, the Manager-MIB and the Agent-MIB may not hold identical information regarding a given set of managed MOs. For example, some event notifications (also called herein events or notifications) may be received by the Agent but not received properly by the Manager.
In a large telecommunication network, oftentimes the number of MOs exceeds hundreds of thousands in number. Although the overall network topology is dynamic in nature, i.e., the individual MO states change, it is not uncommon that many types of MO state information are static or changed very infrequently. Examples of static MO information are the operational state of a given NR (e.g., most of time, the state of a given NR is “in service” and not changed to “out-of-service”), the inventory information such as the hardware serial number or software application version, the relations such as the peer communication partner of the node, etc.
Existing network management solutions do not take advantage of this common network behaviour. When the Manager decides to synchronize its Manager-MIB with the Agent-MIB, the existing solutions require the transfer of all Agent-MIB information, including the static information, i.e. the one that has not been changed since the last synchronization process between the Manager and the Agent. This results in the transfer of large amounts of information that is not required by the Manager. Such mode of transfer wastes both communication bandwidth and Manager and Agent's processing resources.
Another state-of-the-art solution involves an Agent that maintains a MIB that contains all MO with their current state, wherein each attribute of each MO is associated with a “modified time information”. Such solution requires large storage space for housing the MIB and long search time, since all attributes of all MOs must be individually searched to determine if the attributes have been changed after a certain time. Furthermore, this state-of-art solution does not take into consideration the case when a NR is removed from the network and the corresponding MO deleted from the Agent-MIB, i.e. the Agent-MIB no longer has information related to the deleted MO. On the other hand, adding deleted-MO information in the MIB requires large storage space and a longer search time since reconfiguration of a network, especially for newly deployed networks or when a network is migrating to newer technology, requires large amount of deletion and creation of MOs. If deleted-MO information is not added to the Agent-MIB, then the Manager has to compare the retrieved Agent-MIB information with its own Manager-MIB to decide if any MO has been removed. But such comparison again requires significant Manager's processing resources.
Yet another state-of-art solution uses event logs to capture network events that indicate MOs creations, MOs deletions and MOs attribute changes. In such scenarios, NRs emit network events that are captured by the event log. The Manager can retrieve all logs containing event notifications whose event time is later (grater) than a given time T1, where T1 is the last time the Manager-MIB was synchronized with the Agent-MIB. This solution requires the transfer of a set of logs which event times are later (greater) than T1. However, this set of logs can also contain redundant and obsolete information. For example, a series of MO attribute changes performed on the same attribute of a given MO may have redundant information since only the last item of the series is of significance for the purpose of synchronization. The transfer of redundant information again requires large bandwidth of transmission between the Agent and the Manager and wastes Manager processing resources.
Although there is no prior art solution as the one proposed hereinafter for solving the above-mentioned deficiencies, the U.S. Pat. No. 5,943,676 bears some relation with the field of the present invention. In the U.S. Pat. No. 5,943,676, a data synchronisation method involves storing a recurrent event, such that a database, in which the recurrent event is stored as a single recurring record, can be synchronised with a database in which the same recurring event is stored as a series of records. The individual records are processed to form a synthetic recurring record representing the set of records, and synchronisation decisions are taken based on a comparison of the synthetic record with the recurring record of the other database. The U.S. Pat. No. 5,943,676 is limited to a method for synchronising a plurality of records with another single record from a different database.
The co-owned U.S. patent application Ser. No. 10/849142 also bears some relation with the field of the present invention. This patent application teaches a method and system that takes advantage of the common network behavior associated with the fact that although the overall network topology is dynamic in nature, i.e., the individual MO states change, it is not uncommon that many kinds of MO state information are static or changed very infrequently. In this U.S. patent application, a method and associated agent are disclosed in a management system of a network, wherein the management system comprises at least one manager and the agent comprises at least one old Management Information Table (MIT) containing Management Information (Ml) from a plurality of network resources. The agent comprises a Management Information Module capable of gathering Management Information (Ml) from the network resources into a current MIT. The agent also comprises a Database Handling Module capable of, following an event, associating one manager to the event, verifying if the associated manager is associated with one old MIT, building a Management Information Notification (MIN) from at least the current MIT, associating the associated manager with the current MIT, freezing the current MIT into a further old MIT and creating a further current MIT. The agent further comprises a Communication Module capable of sending the built MIN to the associated manager. The disclosure of this patent application is limited to a method and system for using multiple time stamped databases within the agent for synchronization with the manager.
The U.S. Pat. No. 5,924,096 also bears some relation with the field of the present invention. In this patent, methods and systems are provided for synchronising local copies of a distributed database. Each data item is associated with a timestamp or other type of tag. The index tag associated with the data items in the database can be used to quickly determine the events which occurred after an event corresponding to a given tag value. The time of an event is used to determine whether it applies to the next database updated. The disclosure of the U.S. Pat. No. 5,924,096 is silent about the direction of the database parsing.
Accordingly, it should be readily appreciated that in order to overcome the deficiencies and shortcomings of the existing solutions, it would be advantageous to have a fast and efficient method and a corresponding system for effectively synchronizing two databases of two telecommunications nodes, such as for example a Manager MIB with an Agent MIB. The present invention provides such a method and system.
In one aspect, the present invention is a method for synchronisation between a first and a second telecommunications nodes, the method comprising the steps of:
a. responsive to a trigger of a synchronisation between the first and second telecommunications nodes, parsing at the second node an information database from the most recent data item to the oldest data item, and for each parsed item:
a.3. if the item is updated and no other occurrence of the data item was encountered before, insuring that the item attributes are included in the result list for return to the first node.
In another aspect, the present invention is a telecommunications node comprising:
an information database comprising data items;
a processing unit that is configured to act, responsive to a trigger of a synchronisation between the telecommunications node and another telecommunications node to parse the information database from the most recent data item to the oldest data item, and for each parsed item:
For a more detailed understanding of the invention, for further objects and advantages thereof, reference can now be made to the following description, taken in conjunction with the accompanying drawings, in which:
The innovative teachings of the present invention will be described with particular reference to various exemplary embodiments. However, it should be understood that this class of embodiments provides only a few examples of the many advantageous uses of the innovative teachings of the invention. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed aspects of the present invention. Moreover, some statements may apply to some inventive features but not to others. In the drawings, like or similar elements are designated with identical reference numerals throughout the several views.
The present invention provides a method and system to synchronize the content of a first node database such as for example of a Manager MIB with another node's database, such as for example an Agent MIB. Accordingly, for example, the first node, e.g. the Manager sends a synchronization request to the second node, e.g. to the Agent, indicating the time when the first node, e.g. the Manager, was last updated. The 2nd node, e.g. the Agent scans through a list of changes dating from its own last update until the first node's last update, said scan being performed in a last-in-first-out (LIFO) fashion. If an item was found to be deleted, there is no point in scanning further ahead for creation or changes on this item. If an item was created at a given time, there is no point in scanning further ahead for this item. If an item was changed (i.e. one of its attribute was modified), the scanning continues in order to sum all changes on this item. The 2nd node then sends the sum of creations/changes/deletions to the 1st node, which in turns stores the information along with the time when the 2nd node was last updated. The invention reduces the amount of update information required to be sent from a database to another (e.g. from the Agent to the Manager).
Reference is now made to
If in action 112 it is rather determined that the first node 102 already comprises a populated information database 106, or alternatively, if at a later point in time the first node 102 decided to again synchronize its information database 106 with the information database 108 of the second node 102 in order to get information about newly received items 135 (e.g. event notifications) at the second node 104, the first node 102 initiates another synchronization process, also called herein a synchronization update, in action 140.
For this purpose, the first node 102 sends out a synchronization update request 140 that may have the form of a “getMOUpdate” request message comprising a parameter “managerMIBLastUpdateTime” 103 indicating the last time the information database 106 of the first node 102 (e.g. the manager) was synchronized with the information database 108 of the second node 104, the indication of the results expected out of the second node in the form of “out MOInfoResult” 144, which indicates that the first node would expect as a result MO Information, and “out AgentMIBLastUpdateTime” 146 indicative of the expected synchronization time of the second node, i.e. of the Agent 104. Responsive to the receipt of the synchronization update request 140, the second node 104 starts the process of building a synchronization update result to be returned to the first node 102. In action 148, it starts preparing its internal variables to be used for this purpose, i.e. it possibly creates, or empties if already existing and required a result storage 137 (e.g. a memory or other data repository) that is to store the synchronization update result to be returned to the first node 102, it further possibly creates, or empties if already existing and required an item list 139 that is to store each item from the database 108 that is processed, and it further sets the second node last synchronization time to the current time, since a synchronization process is under way. For example, the second node 104 may set again the timer 412 to the current time. In action 150, the second node 104 parses the information database 108, and retrieves one by one data items (e.g. MO records) from the information database 108 (e.g. MIB) in a last-in-first-out order, i.e. from the latest (newest) item to the older item. If the retrieval is a success as detected in action 152, i.e. for example the retrieved item is not the last item of the database, the second node then verifies if the item time is subsequent to the received “ManagerMIBLastUpdateTime” 103.
Reference is now made additionally to
Referring back to
When the process reaches the last item to be processed from the local database 108 and the action 152 shows an unsuccessful result in retrieving the next item, or when the next data item time is anterior to the last synchronization time 103 of the first node 102 and the action 154 outputs a positive response, the process exists the loop 169, and the Result List 137 that has been populated with synchronization information is returned to the first node 102 using a synchronization return result message 170 comprising the Result List 137 in the form of, for example, MO Info 172, and the last synchronization time of the second node 1040in the form of, for example, “AgentLastUpdateTime” 174. In action 176, the first node 102 acts to store in its information database 106 the synchronization update results, and in action 178 acts to update its last synchronization time 103 with the time received from the second node 104 in order to kept track of its last synchronization time.
Reference is now made to
Reference is now made to
Therefore, with the present invention it becomes possible to efficiently synchronise a first and second node, such as for example a management network's Manager and Agent.
Based upon the foregoing, it should now be apparent to those of ordinary skills in the art that the present invention provides an advantageous solution, which offers a simple and efficient method, system and node for synchronizing data items of two information databases. Although the system and method of the present invention have been described in particular reference to certain terminology (e.g. first and second nodes, Agent and Manager, information databases), it should be realized upon reference hereto that the innovative teachings contained herein are not necessarily limited thereto and may be implemented advantageously in various domains, including but being not limited to synchronization of information databases, synchronization of MIBs between two nodes such as an Agent and a Manager, or any other type of synchronization between any types of information repository, including memories, databases, lists and the like, all of which are herein designated under the appellation of information databases. While the method and system shown and described have been characterized as being preferred, it will be readily apparent that various changes and modifications could be made therein without departing from the scope of the invention as defined by the claims set forth hereinbelow.
Although several preferred embodiments of the method and system of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.