METHOD AND ARRANGEMENT FOR PROCESS BASED MESSAGE HANDLING IN A COMMUNICATION SYSTEM

Abstract: The present invention relates to a message distribution arrangement and to a communication system comprising such message distribution arrangement and to a method for controlling messages respectively. The arrangement comprises a central distributing unit for routing messages and means for forming a variable local data structure for arranging data on nodes able to or allowed to send messages, a database for providing the data structure with information on originating nodes and updating means for updating the data structure. Moreover, means are provided for identification of the origination of the messages and it is checked whether for an incoming message from a given originating node, any process is running for any message originating from the same node in which case the message is routed to that process. Otherwise, a new process is initiated.

Description: Method and arrangement for process based message handling in a cxarniunication system. FIELD OF THE INVENTION The present invention relates to a message distribution arrangement for controlling messages in a communication system. The messages originate from nodes in the communication system and the invention particularly relates to the case when more than one message originate from one and the same node or so called interwor ing messages. The communication system comprises a distributing unit for routing of incoming messages. The invention furthermore relates to a method for distributing messages or management messages in a communication system, particularly so called interworking messages. Still further the invention relates to a communications system comprising a message distribution arrangement for controlling messages or management messages. During communication processing in a tele-, or data- communication system the management of the resources has to be handled. Generally management procedures are started at the reception of management messages sent from a node in a network. An intention with management procedures is to prevent the traffical part of the system to select less good or even faulty resources. In the management part of the system is also dealt with the termination of communication processes if e.g. a resource is dropped off during communication etc. STATE OF THE ART In most cases so called management procedures are quite rare and it is therefor preferred that processes are started to handle an incoming management message and then the process is terminated. It is however a problem that management procedures which originate from the same node in the network often interwork with each other wherein sometimes started procedures must be terminated by other incoming messages and e.g. some messages have to be ignored if e.g. a specific procedure is running etc. In known arrangements a complicated control unit is needed to terminate started procedures or processes or to ignore messages. Such a unit is needed to keep track of started processes which have to be terminated if another message is received etc. and to keep control of which messages have to be ignored etc. under certain circumstances. One way to solve the problem has been to use one or more distribution units or distributors which take care of incoming messages. The distributor(s) then consequently starts a new process to handle the specific messages. Another way to solve the problem has been to join an already started process and route the incoming messages to the selected process. However, in the case of interworking messages or procedures, both of the abovementioned solutions require a large amount of information to be kept in the distributor. The distributor then must have knowledge about the starting point of all procedures to be able to send termination orders to processes holding procedures which are to be terminated if an incoming messages so requires. Both these kinds of solutions work if the messages which are to be handled do not have any relation to each other but they are unsatisfactory when more than one message originate from one and the same node or in the case of so called interworking messages. SUMMARY OF THE INVENTION It is an object of the invention to provide a message distribution arrangement which can handle more than one message from one and the same node in a communication system. It is also an object of the invention to provide an arrangement which can handle interworking messages. Still further it is an object of the invention to provide an arrangement for handling messages coming from one and the same node or interworking messages without the distributing unit having to have knowledge about all procedures, or started procedures that have to be terminated and messages which have to be ignored etc. A further object of the invention is to provide an arrangement which is safe and provides an efficient handling and routing of incoming messages in order to provide for an optimal, efficient and correct selection of resources within the traffical part of the system etc. Furthermore it is a particular object of the invention to provide for handling and routing of so called management messages. Furthermore it is an object of the present invention to provide a method for routing messages fulfilling the abovementioned objects. A particular object is to provide a method for routing management messages, but of course it is also an object of the invention to provide for routing of other kinds of messages as well. It is also an object with the present invention to provide a telecommunication system with an arrangement for distribution of messages, e.g. management messages for routing of the messages particularly when the messages originate from one and the same node or in the case of so called interworking messages fulfilling the abovementioned objects. Still another object is to provide an arrangement/ a communication system and a method wherein only a minimum of information has to be kept in the distributing unit in the case of more than one message from the same originating node or so called interworking messages or procedures. These as well as other objects are achieved through a message handling arrangement for controlling messages originating from nodes in a communication system which comprises a central distributing unit for routing incoming messages wherein the distributing unit comprises means for forming a variable local data structure comprising data on nodes which can/may send messages. The arrangement furthermore comprises a database for providing the data structure with information on originating nodes. Furthermore means are provided through which the data structure is updated more or less continuously. It is also provided for identification of the origination of the messages and monitoring or examining means provides for checking if there is any process running for any message having the same originating node as an incoming message. If such a process is already running, the incoming message is routed to that process. If on the other hand no process is running for any message having the same origine, a new process is initiated. For a communication system the objects are achieved through a communication system with a number of nodes comprising a message distribution arrangement for distribution of messages. The messages originating from nodes of the system are routed by the message distribution arrangement which is provided with information on all nodes within at least a given part of a network and/or on nodes able to or allowed to send messages and the arrangement furthermore comprises means for collecting information about the origination of messages or procedures and means for processing messages as well as means for initiating a process for processing messages if a message is the only message from a given node, i.e. if no process is running for any message having the same origination node as an incoming message and for joining an ongoing process of some other message having the same origination node and for which a process is running. The invention also provides for a method for controlling management messages which fulfills the abovementioned objects. The method comprises the steps of keeping information on all nodes which are able to send management messages, collecting information on the originating node of each incoming message, receiving an incoming message in a distributing unit and checking if the incoming message is the first message from a given node or if one or more messages already originate from that same node and, depending thereon, via a processing arrangement either initiating a process or providing for joining an ongoing process. In an advantageous embodiment the database comprises separate database records for each originating node in a given network or in any desired part of a network or any desired distribution area or for nodes able to or allowed to send message of the kind concerned. Alternatively there are combined database records for a number of nodes etc. The data structure has to be up to date which can be provided for in a number of ways. In a particular embodiment the database has support to send notification messages about changes, creation and/or deletion of a database record. Then the distributing unit can be notified about the change and take the appropriate action to update the data structure, e.g. through adding or removing data objects representing nodes in the database. Furthermore the database is advantageously updated in runtime with information on originating nodes or data objects to make sure that it corresponds to the information about stored database records. Particularly the updating means comprises means for informing the distributing unit on changes in database records. Alternatively the updating means comprises a scanner or similar for scanning of the database to collect information on changes etc. Preferably the scanning is periodical. In an advantageous embodiment the processing means or the processor provides for termination of procedures in case a particular message has been received. In an even more advantageous embodiment the processing means, or the process run thereby, provides for ignoring of messages. Advantageously, when the distributing unit is started up, is established which nodes that are to be "combined" in the data structure, e.g. depending on ability, allowability or network (part) etc. These are then added to the data structure. As referred to above, the structure can be updated in various ways, e.g. via notifications from database or if e.g. an operator eliminates a node, a notification is dispatched. In still an advantageous embodiment the distributing unit is allocated to a Fault Tolerant Processor FTP to minimise the risk of the processor crashing due to hardware failure etc. However, this merely relates to an advantageous embodiment, it can of course also be an ordinary processor etc. Alternatively the distributing unit can be allocated to a number of processors in order to provide for redundancy. In this case however, only one processor is to be active at a time. In an advantageous embodiment, which however merely is an example of how the data structure can be arranged, a number of other alternatives are of course also possible, the data structure comprises three fields per originating node or data object. In this embodiment the first field may comprise information about the originating point code, OPC whereas the second field comprises information about the sequential order of a message from a given node and finally the third field comprises information about which communication link is used for the originating node to the distributing arrangement. Particularly the messages may be so called Signal Connection Control Part-Connection-Less SCCP-CL messages. Preferably the distributing unit comprises information about all nodes which are able to send management messages. In a preferred embodiment, when an incoming message is received, the Originating Point Code OPC, if such is used for identification purposes, is compared with the data objects which are contained in the data structure and if there are no correspondence, i.e. if there is no such node, the message will be ignored. If it is established that when a message is incoming or has been received no process is running for any message originating from the same node which has been given an identity in the data structure, then communication with the processing arrangement is provided for forwarding the message to the processing arrangment which then provides for the initiating of a new process. If on the other hand an incoming message is not the "first" message from the given node, i.e. if a process is already running for a message from the same node of origine, then communication with the processing arrangement is already present, and then the message is forwarded to the processing arrangement to join the existing process for messages from one and the same node. In an advantageous embodiment the processing arrangement comprises a Common Pool Processor CPP. The invention also relates to a communication system comprising a message distribution arrangement for distributing Connection-Less messages, in an advantageous embodiment so called management messages. The communication system comprises a number of nodes and messages can be sent from a number of nodes, i.e. they originate from the nodes. The messages originating from the nodes are received in the message distribution arrangement for routing thereof. The message distribution arrangment is provided with information about all nodes within at least a given part of the network, which can (are able to or allowed to) send messages and means are provided for collecting information about the origination of the messages and means for checking if any process is running for any message originating from the same node as an incoming message. The arrangement also comprises means for processing messages and to, in the case the message is the only message from a given node, create a new process for that message and in the case the message is not the only message from the given node, providing for joining the running process. BRIEF DESCRIPTION OF THE DRAWINGS The invention will in the following be described in a non- limiting way under reference to the accompanying drawings wherein: Fig 1 illustrates the updating of the data structure through notification from a database, - Fig 2 illustrates the initiation of a process upon reception of a message from a given node and no process is running for any other message originating from the same node and - Fig 3 illustrates the joining of an already existing process for messages from one and the same origination node. DETAILED DESCRIPTION OF THE INVENTION As already mentioned above, in a particular embodiment management procedures are initiated upon reception of messages sent from a node in a communication network. The messages can particularly be based on SCCP-CL signalling (Signalling Connection Control Part - connectionless). The management part of the communication system also provides for termination of a communication process if a resource, (e.g. a timeslot in a PCM multiplex) is dropped off during an on-going communication, e.g. a call. Processing of management procedures normally does not occur very often which is one reason that preferably new processes are started for handling an incoming management message and then the process is terminated after processing the message. In the case of interworking messages, started procedures may have to be terminated by other incoming messages and some of the messages may particularly have to be ignored if a particular procedure is running etc. The invention is particularly concerned with interworking messages, more particularly so called SCCP-CL messages. According to an advantageous embodiment of the invention a distribution unit or a central distribution unit takes care of all incoming SCCP-CL messages within the network area or within a given part of a network. The distribution unit routes all messages originating from the same node or so called interworking messages to a specific process if such exists. If however no process is running to handle the incoming message, a new process will be initiated. This will be further explained later on under reference to Figs. 2 and 3. In an advantageous embodiment the arrangement comprises a database which comprises a database record for every originating node in the distribution area able to or allowed to send messages. The distribution unit collects unrelated data about all nodes which can send management messages within the area as referred to in the foregoing. The data is then arranged in a dynamic local data structure (see Fig. 1). The data structure is formed when the distributing process is started to store information about message- sending nodes and data objects representing originating nodes stored in the database are added one by one to the data structure and will not be removed therefrom until the corresponding database record is removed from the database itself. Thus the data structure will contain information about existing or accepted etc. nodes in the given area. The heap related data structure is particularly updated in runtime in order to correspond to the stored database records representing all nodes. In order to update the data structure, various methods can be used. According to one embodiment, the database is periodically scanned by a scanner to see if there are any changes in the data records representing nodes in the area. Another still more advantageous embodiment can be applied if the database has support to send notification messages to processes about particular changes in database records such as creation of database records, deletion of database records etc. Then the updating can be effected through a notification of the distributing unit about changes and by taking the appropriate actions to update the data structure through adding or removing data objects representing nodes in the database. This embodiment is described in Fig. 1. In the embodiment described herein, the data structure comprises three fields per data object. However, the invention is not limited to three fields. This is of course optional. The originating point codes OPC represent the originating nodes of management messages and seq no indicate the number of messages sent to the process handling messages from that node and Interprocessor Communication Connection IPC con indicates the communication link to the process. If the Seq no is equal to zero, it indicates that no process handling messages from that particular node which is indentified by the originating point code OPC is running at the particular time. If however a message is retrieved and no process has been started for messages from that particular node, a new process has to be started and an interprocessor communication connection IPC con has to be established to that process and the message will be forwarded thereto. In Fig 1 1 illustrates the adding of database records to the database DB which contains the database records. 2 indicates the sending of notification about creation whereas 3 indicates the adding of data to the datastructure. In an advantageous embodiment the distributing unit is allocated to a Fault Tolerant Processor FTP in order to minimize the risk of processor crash because of hardware failure etc. However also other processors can be used etc. as well as the distributor may be allocated to a number of processors. In the latter case, however, only one distributor may be "activated" at a time. Upon reception of e.g. SCCP-CL messages in the distributing unit, the Originating Point Code OPC will be retrieved from the message. As already mentioned, the originating point code OPC identify one unique node in the given network area which as already referred to can be the network or any desired part of the network, allowed or enabled nodes etc. The Originating Point Code OPC will be compared to objects present in the datastructure and if there is no matching object, the message will be ignored in a particular embodiment. If however the originating point code OPC is found to be valid, i.e. there exists a matching object in the datastructure, the sequence number will be increased by one to keep track of messages which have been sent to the particular process. By the mere forwarding of the message to a process handling messages which originate from one and the same node, all interactions will be taken care of within that process and the distributing unit thus does not have to have knowledge about started procedures that will be terminated and about messages which have to be ignored etc. Fig. 2 relates to the case when an incoming message is the "first" message coming in from a particular node. In this case there is no process available or running. Thus a new process has to be started up. Consequently, if no process is started and running for an incoming message from the given node, a new process has to be started and a communication link has to be established. When the link has been established, the message can be forwarded to the started process. When an incoming management message, particularly a SCCP-CL message, is received by the distributing unit as indicated by arrow 1, the Originating Point Code OPC will be retreived from the message. The originating point code will then be compared with the content of the datastructure. In the cases illustrated in Fig. 2, an originating point code OPC 2 was carried by the incoming message and will therefore match the second row in the datastructure. However, the second row indicates that no process is started or running handling messages from the node as identified by OPC, i.e. the sequence number is equal to zero. A new process then has to be started as indicated by arrow 2 and the new communication link is established 3. When the communication link, particularly IPC-dialogue, is established, the message will be forwarded to the started process 4. When the message has been sent, the sequence number will be increased by one and the pointer to the connection link will be stored in the datastructure. NIL means the null pointer. Fig. 3 illustrates the case when an incoming management message from a given node is not the "first" message from the particular node, i.e. when a process is already running, for messages from the given node. Thus, the process is running for an incoming message from a particular node and a communication link is already established. The message is therefore forwarded to the processing means which in a particular embodiment is a Common Pool Processor CPP and to the process run thereby. When thus an incoming management message, particularly a SCCP-CL message, is received by the distributing unit 1, the originating point code OPC will be retreived from the message. The originating point code of the message will then be compared to the content of the datastruture and if e.g. OPC 2 is carried by an incoming message, then it will match the second row in the datastructure as in the preceding case described in Fig. 2. The second row indicates that a process is already running handling messages from the particular node as identified by the originating point code OPC and the sequence number is greater than zero. The message will then be forwarded to the running process 2. When the message has been sent, the sequence number will be increased by one as in the preceding case. Upon forwarding through the distributing unit of a message, the sequence number is passed along over the communication link. As already described above, the sequence number is increased for each message which is sent to a started process. The first message carries the sequence number 1 and the second message sequence number 2 etc. The process of the processing means holds information about the latest sequence number sent as well as it holds information about procedures running in the process. When the process finds out that no procedure is running and that no new incoming message is received, a termination request will be sent to the distributing unit through the communication link. The sequence number carried by the termination request is then compared to the sequence number in the datastructure of the distributing unit. If the sequence numbers are equal, the process will be deleted and the communication link will be disconnected. This relates to an advantageous embodiment through which the risk of message collision is eliminated. If the message is sent from the distributing unit at the same time as the termination request is sent from the process of the processing means, the sequence numbers will be different and the process will not be terminated. Upon termination of a process, the sequence number will be set to zero. Finally, by the mere forwarding of a message to a process handling messages originating from the same node all interactions will be taken care of within the process and the central distributing unit will be left out of all knowledge about started procedures which have to be terminated, messages to be ignored etc. Through the invention, a minimum of information has to be kept in the distributing unit in the case of interworking messages or procedures. The processing means or the process may particularly provide for termination of procedures due to the incoming of certain messages etc. In a particular embodiment, the process also provides for the ignoration of messages. The invention can of course be varied in a number of ways and relates to tele-, as well as datacommunication systems and is of course not limited by the described embodiments but merely by the scope of the claims.

Claims: CLAIMS 1. Message handling arrangement for controlling messages originating from nodes in a communication system comprising a central distributing unit for routing incoming connection¬ less messages c h a r a c t e r i z e d i n t h a t , it comprises a variable local data structure provided with information on originating nodes which can or are allowed to send messages, a database (DB) providing the data structure with information on said orginating nodes, means for updating the data structure, identification means for identification of the origination of an incoming message, a message processing arrangement, examination means for examining if, when a message is incoming from a particular node, any process is running processing any message originating from the same node in which case the message is routed to the running process for processing, and if there is no process running for any message from the same originating node, a new process is started up for processing the message. 2. Message handling arrangement according to claim 1 c h a r a c t e r i z e d i n t h a t, the messages are so called management messages. 3. Arrangement according to claim 1 or 2 c h a r a c t e r i z e d i n t h a t , the database (DB) comprises a separate database record for every originating node in a given network or distribution area. 4. Arrangement according to anyone of claims 1-3 c h a r a c t e r i z e d i n t h a t , the updating means comprises means for informing the distributing unit on changes in database records. 5. Arrangement according to claim 4 c h a r a c t e r i z e d i n t h a t , the database is updated in runtime with information on originating nodes in order to e.g. update the data structure. 6. Arrangement according to claim 4 or 5 c h a r a c t e r i z e d i n t h a t , the database has support to send notification messages to the distribution unit, particularly the processing arrangement, about changes in particular database records. 7. Arrangement according to anyone of claims 1 to 4 c h a r a c t e r i z e d i n t h a t , the updating means comprises a scanning means for preferably periodical scanning of the database. 8. Arrangement according to anyone of the preceding claims c h a r a c t e r i z e d i n t h a t , the distributing unit is allocated to one or more processing arrangement(s) in such a way that only one distributing unit is active at a time. 9. Arrangement according to anyone of the preceding claims c h a r a c t e r i z e d i n t h a t , the distributing unit is allocated to a Fault Tolerant Processor (FTP). 10. Arrangement according to anyone of the preceding claims c h a r a c t e r i z e d i n t h a t , the data structure comprises three fields per originating node or data object. 11. Arrangement according to claim 10 c h a r a c t e r i z e d i n t h a t , a first field comprises Originating Point Code (OPC) information providing for identification of originating node. 12. Arrangement according to claim 10 or 11 c h a r a c t e r i z e d i n t h a t , the second field comprises information on the sequential order of messages from a given node (SEQ NR) for which a process is running. 13. Arrangement according to anyone of claims 10 to 12 c h a r a c t e r i z e d i n t h a t , the third field comprises information on which communication link (IPC con) that is used for the originating node to the message handling arrangement or the distributing arrangement. 14. Arrangement according to anyone of the preceding claims c h a r a c t e r i z e d i n t h a t , the messages are so called Signalling Connection Control Part-Connection-Less messages (SCCP-CL). 15. Arrangement according to anyone of claims 2 to 14 c h a r a c t e r i z e d i n t h a t , upon reception of an incoming message, the Originating Point Code (OPC) thereof is compared to data objects in the data structure and if no corresponding data object is found therein, the message will be ignored. 16. Arrangement according to claim 1 c h a r a c t e r i z e d i n t h a t , the distributing unit comprises information on all nodes having the ability to send management messages. 17. Arrangement according to anyone of the preceding claims c h a r a c t e r i z e d i n t h a t , the processing arrangement comprises a Common Pool Processor ( CPP ) . 18. Communication system with a number of nodes comprising a message handling arrangement for distributing messages wherein messages originating from nodes are received in a central message distribution unit for routing of the messages, c h a r a c t e r i z e d i n t h a t , the message distribution arrangement is provided with information on nodes of at least a given part or category or similar of the network, in that means are provided for collecting information about the origination of the messages, and in that it comprises means for processing messages providing for initiating a process for processing messages if there is no process running processing any message from the same origination node as an incoming message and for joining an ongoing process processing messages from that node if the message is not the only message from the same originating node. 19. Communication system according to claim 18 c h a r a c t e r i z e d i n t h a t, the messages are so called management messages. 20. Method for controlling messages in a communication system comprising a number of nodes from which messages are sent the method comprising the steps of: - keeping information on all nodes able to or allowed to send messages, - collecting information on the origination node of each incoming message, - receiving an incoming message in a central distributing unit, - checking if the origination of an incoming message is the same as for any other message for which a process is running and if not, providing communication with a message processing arrangement, said processing arrangement initiating a new process, and - if a process is running for any message having the same origination, providing communication with the already existing or ongoing process processing messages of the same origination node without the distributing unit taking part in the processing of the message. 21. Method according to claim 20 c h a r a c t e r i z e d i n t h a t , the messages are so called management messages.

Inventors: FAHLAM DAVID, JAKOBSSON MATS, SLAETTMAN STEFAN, FAHLAM, DAVID, JAKOBSSON, MATS, SLAETTMAN, STEFAN
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON
Application year: 1995
Main classification: H04L12
IPC codes: H04L12