A CONTROL SYSTEM FOR MANAGING A DISTRIBUTED NETWORK

Abstract: The present invention concerns a control system for controlling a distributed intelligent network, the system comprising a digital processor, input means for receiving input commands, analysis means for carrying out lexical and syntactical analysis on input commands to generate target code, means for responding to a partial command to generate data signals indicative of a range of options, and means responsive to a chosen option from the indicated range to cause the analysis means to re-analyse the original command together with the chosen option so as to generate a further set of data signals indicative of a set of further options.

Description: A Control System For Managing a Distributed Network The present invention concerns control systems by means of which an operator can control or interrogate a complex system such as part of a telecommunications network. The control or interrogation of such a system will be referred to hereinafter as management of the system. The invention is particularly concerned with an interactive control system which enables its operator to manage a system which exists in a distributed environment . Such a system can comprise a plurality of individual intelligent nodes each having a different interface. In order to control or interrogate the distributed system a user has to supply target code which is both lexically and syntactically correct and the generation of such code involves detailed knowledge of the structure of the system. A concern of the present invention is to provide a control system which enables a user to manage a system which exists in a distributed environment without the user having to deal with each individual node in the distributed environment so that the user is presented with an abstraction of the system. Accordingly, in accordance with a first aspect of the present invention there is provided a control system for controlling a distributed intelligent network, the system comprising a digital processor, input means for receiving input commands, analysis means for carrying out lexical and syntactical analysis on input commands to generate target code, means for responding to a partial command to generate data indicative of a range of options, and means responsive to a chosen option from the indicated range to cause the analysis means to re-analyse the original command together with the chosen option so as to generate a further set of data signals indicative of a set of further options. In accordance with a second aspect of the invention there is provided a method of controlling a distributed intelligent network, the method comprising inputting commands to a digital processor having input means for receiving the input commands, carrying out lexical and syntactical analysis on the input commands to generate target code, and responding to a partial command to generate data signals indicative of a range of options, and responding to a chosen option from the indicated range to cause the analysis means to re-analyse the original command so as to generate a further set of data signals indicative of a set of further options. In a preferred embodiment the digital processor includes storage files representing the nodes of a syntax tree and wherein at least a plurality of the nodes a chosen option can be added to an input command previously received at said input means and retained as a new command to said analysis means. In order that the present invention may be more readily understood, an embodiment thereof will now be described by way of example and with reference to the accompanying drawings, in which: Figure 1 is an overview of a digital telecommunications network ; Figure 2 is a diagram of part of the network of Figure 1 showing an additional intelligence platform; Figure 3 is a diagram illustrating a processor shown in Figure 2; Figure 4 is a diagram showing the inter-relationship between a control system in accordance with the present invention and the intelligence platform shown in Figure 2; Figure 5 is a diagram showing a known syntax tree; Figure 6 shows in accordance with an embodiment of the invention a syntax tree with a feedback loop; Figure 7 is a flow chart showing the operation of the syntax tree shown in Figure 6 ; and Figure 8 is a second flow chart showing operation of the syntax tree of Figure 6 in accordance with the present invention. Referring now to the accompanying drawings , the digital telecommunications network shown in Figure 1 comprises a plurality of digital main switching units (DMSU) interlinked by appropriate telecommunication lines 2. Each DMSU 1 is connected to a plurality of digital local exchanges (DLE) 3 which can in turn can be connected to individual subscribers or local substations via appropriate links, which have not been shown. Associated with the DMSU's 1 are signal relay processing (SPR) nodes 5. Each SPR is connected to the DMSU's 1 by means of links 6. A DMSU 1 can be connected to more than one SPR 5. The network shown in Figure 1 is completed by the addition of network intelligence platforms (NIP) 10 of the kind shown in Figure 2 of the accompanying drawings . Each NIP 10 is, in this embodiment, associated with more than one SPR's. Referring now to Figure 2 , in the present embodiment each NIP 10 comprises a pair of front-end processors 11 and a pair of back-end processors 12 interconnected by an FDDI dual-ring 13. The numbers of front end and back end processors can readily be varied. In Figure 2 the single SPR 5 is shown connected only to a single DMSU 5 in the interest of simplicity. One of the front processors 11 shown in Figure 2 is shown in slightly greater detail in Figure 3 of the accompanying drawings and comprises a digital dual CPU symmetric multi-processor known as the AlphaServer 4100 having 512Mb RAM and a 2.1Gb system disc. Associated with this processor are four terminal cards 14 known as digital El cards, there being one card for each of the SPR's serviced by the network intelligence platform. In current telecommunications systems, such as the PSTN run by British Telecommunications public limited company (hereinafter referred to as BT), there are numerous occasions when the software running the network which is proprietary to BT has to interface at various functional levels with the products of other companies which interface with the PSTN network . An example of this is the Digital DEC SS7 which provides signalling connections to the PSTN for intelligent network nodes and which resides in the NIP's described herein with regard to Figure 2 of the accompanying drawings . The DEC SS7 system complies with ITU-TQ.700 series of recommendations and provides a complete signalling stack for a distributed array of Digital Alphaservers of the kind described with reference to the NIP shown in Figure 2 and the front end processor described with reference to Figure 3. The embodiment of the present invention which is being described provides a control system which enables a user to manage at least some of the functions of an NIP such as an NIP 10 shown in Figure 2. The problem faced by a user is that systems such as the DEC SS7 are insufficiently abstract. Accordingly a user has to know and understand the complete syntax of every command including where every parameter and qualifier has to be placed in order to be able to create a command successfully. Thus the user is given no guidance on the nature of the configuration that he is attempting to manage . The environment in which the control system 15 operates will now be described with reference to Figure 4 of the accompanying drawings in which the control system which embodies the present invention is indicated at 15. The control system 15 incorporates a digital processor 21 in which appropriate software is stored in a suitable manner, i.e. on a hard disc or a computer readable optical medium with which a user can communicate by means of standard devices such as a keyboard or a mouse. In operation the control system 15 is invoked and driven by a user 20 so that the interface can interact and use a master configuration file 22. The master configuration file contains a plurality of individual configuration files 23 and the interface 15 can interrogate and interact with these files via a shell script 24 which uses a temporary work file 25. Temporary results are stored in a temporary results file 26. The output of the interface 15 is connected, in the present embodiment, to a control system 30 controlling operations in the NIP described with respect to Figures 2 and 3 of the drawings . This control system is the already described Digital SS7 system which in turn communicates with SS7 hardware 31. The control system 30 has its own interface 32 which will expect commands with appropriate syntax and configuration, this interface 32 corresponding to a terminal card 14 of the kind described with relation to Figures 2 and 3. An overall supervisor is shown at 32 with the ability to check on the operation of the system. The control system 15 responds to commands input by the user 20 to generate as target code the commands expected by the system 30 and to input these commands to interface 32. Thus control system 15 includes a compiler. Compiler writing tools such as LEX (trademark) and YACC (trademark) are known and allow a user to specify a syntax tree of the kind which is shown in Figure 5. By using a compiler and a syntax tree a user can issue a command and if the command is recognised traverse the syntax tree in a left-recursive manner until a leaf is reached. Once a leaf has been reached the control system 15 may generate and optionally execute target code on behalf of the user appropriate to the system being controlled, in this case system 30, so as to carry out the required management function. However, known compilers when supplied with a partial command are only capable of generating an error condition from which it may or may not be able to recover. Thus, if information is missing the compiler will be unable to supply the information with the result that the partial command/statement will be ignored. The syntax tree shown in Figure 5 comprises a root 50 connected to a plurality of nodes 51. The root 50 is the point at which a user inputs his commands. Each node can be connected to a plurality of further nodes, or a node or nodes 51 and a leaf 52 or to a leaf 52. Each leaf represents the situation where a correct command has been entered, the interface has recognised the command with the final outcome that the user has arrived at a leaf . By means of its arrival at a leaf the control system 15 has sufficient information to generate and to then issue target code to the interface 32 of the system 30 being managed. Results of these commands are made visible to the user on an appropriate display. The flow diagram of Figure 7 shows normal operation of the syntax tree of Figure 5 when a correct command has been received. At SI a user inputs a command. At S2 and S3 this command is analysed both syntactically and lexically and if it is syntactically and lexically correct target code is generated and executed at S3. The sequence is continued until the user is finished. If at step S2 the analysis indicated that the command was either incomplete or incorrect then the only outcome would be the generation of an error message as is shown at E. The control system 15 is interactive in that it enables the user to enter partial commands as well as full commands. Thus the control system 15 is capable of dealing with the following three situations in response to inputs from a user. The first situation is where the user types in, or otherwise suitably enters, no command but just "carriage return". The second case is when the user enters part of a command, and the third case is when the user enters the entire command. It is possible for this entire command to be of the type required by the control system 15. However a function of the control system 15 is to be able to generate a command (appropriate for system 30) at a leaf from a command entered by a user which has a different syntax and grammar from the language expected by the system being managed. It is only the third case which would be expected by a normal interface having a compiler and using writing tools such as LEX (trademark) and YACC (trademark) as already discussed. However, the control system 15 is capable of dealing with both of the first and second options as well as the third option. One possible course of action in dealing with the problem of partial commands would be to ensure that at each node additional code is written to prompt the user for more information, and then to write the code required to take the user from that point to a leaf . This option has the additional problem that it will be necessary to have additional code at every node and that this additional code is sufficient to enable the user to get to a leaf even if only a partial command is supplied initially. These problems are avoided in the embodiment being described by providing the syntax tree shown in Figure 5 with feedback loops 53 from each of the nodes 51. The provision of the feedback loops transforms the syntax tree into a directed graph in which at each iteration a user goes one level deeper into the graph until a leaf is reached or the user returns to a previous level. This is what is shown in Figure 6. How this is achieved will now be described with reference to the flow diagram shown in Figure 8. Referring now to Figure 8, this shows the flow sequence of Figure 7 with the addition of the just mentioned feedback loop. The effect of this feedback loop is as follows. When the partial command reaches a node and can go no further, the user is offered a choice of two actions. This is indicated by the prompt P at S3 with the two actions available indicated at Cl and C2. The first choice is Cl and is whether or not the user wishes to have additional information regarding possible nodes deeper in the syntax tree presented to him/her. Thus if the user elects the Cl route and makes a choice from the information presented. The additional data is appended to the current partial input, which was of course sufficient to reach the node, so as to generate a further command. This further command will consist of the original input, the user choice and any relevant external information. This further command is returned to the input and the interface is made to forget the original input by rewinding the file description pointer. The lexical and syntactical analysis stages 2 and 3 are carried out again and the result will be that the command will inevitably proceed to a deeper level in the syntax tree. By this process the user will always end at a leaf so that target code can be generated . On the other hand if the user chooses C2 the user is presented with the choice of returning further up the syntax tree of Figure 6. In most cases the user will be returned to the node which precedes the node at which the partial command halted. Thus if C2 is selected the user is then shown the range of possibilities at the preceding node. In effect data has been removed from the partial command (the data which was insufficient for further progress) and the user is presented with a fresh range of choices from which to make a selection. A simple example can now be given of the two possible paths in operation. If, for example, the partial command "show linkset" has been entered the control system will be unable to generate the relevant code. The command is incomplete as it does not specify which linkset. As described in relation to Cl , as the command has reached the node beyond which it cannot progress, the user will in this case be given a list of all know linksets so that a choice can be made. If linkset 6 is selected from the list the original command "show linkset" becomes "show linkset 6" and in this way the next node is reached. If on the other hand C2 is chosen the data "linkset" is deleted and the user moves backwards to the previous node "show". At this node the user is offered the entities which can be selected. These can include, for example, data-link, link, linkset, fep, bep etc. It is of course possible to go backwards repeatedly in this manner . The embodiment just described provides a number of advantages over the arrangement in which at each node additional code is provided to enable a user to be taken directly from that node to a leaf . Firstly the amount of code involved is less. Code does not have to be written which explicitly goes from each node down through all remaining levels to a leaf and then generate target code. Thus target code is only generated at a leaf. This makes it easier to debug the code. The management interface as described provides an abstraction of a management system such as the Digital SS7. It enables a user to manage a system in a distributed environment without having to deal with each interface which is generally in the form of a network card. Thus the user is presented with an abstraction and is given a command syntax which allows the user to: express a requirement in an abstract syntax, constrain that requirement, get feedback on whether that requirement was successfully executed or not by an underlying collection of interface cards spread across a collection of machines . With regard to the question of error handling when, for example, a user file from which a user has been offered a choice does not exist or is empty, or does not have any records which match the selection criteria, reference should be made to corresponding UK patent application 9706490.1 filed on the same day as the application from which the present application claims priority. What follows in this specification is an appendix A showing how a user utilises the management interface to access a link. Appendix A An example of the interaction between a user and the control system just described is as follows: Select COMMAND: 1) Activate 2) Close 3) DeActivate 4) Inhibit 5) LinkTest 6) LoopBack 7) Send SSA 8 : Send_SSP 9) Show 10) Show_Characteristic 11) Show_Counters 12 1 Show_Status 13 Unlnhibit 14 Quiese 15 Restart 16 Block_Event 17 ι UnBlock Event 18 i Show GT Rule Ids 19 i Show GT Rule 20 1 Test_GTT 21 I Create 22 1 Delete 23 ) Show and reset counters 24 ) Create a GTT rule 25 ) Delete a GTT rule 26 ) Re-read configuration data 27 ) QUIT Enter your choice>>>9 Select ENTITY TYPE: 1) FEP 2) MTP2 3) Data Link 4) MTP3 5) LINKSET 6) LINK 7) DESTINATION 8] ROUTE 9 1 SCCP 10 APPLICATION 11 BEP 12 ) TCAP BEP 13 ι TCAP_FEP 14 i Data_Links 15 i Links 16 l LinkSets 17 ) GO_BACK Entej c your choice>>>6 Select ] LINKSET: 1 )1 2 )2 3 )GO_BACK Ente:r your choice>>>l Select ] LINK: 1 )LINK 1 2 )LINK 2 3 )LINK 3 4 )LINK 4 5 )LINK 5 6 )LINK 6 7)GO_BACK Enter your choice>>>! The control system 15 now issues the appropriate command to the system 30 via interface 32 to show the required link.

Claims: CLAIMS 1. A control system for controlling a distributed intelligent network, the system comprising a digital processor, input means for receiving input commands, analysis means for carrying out lexical and syntactical analysis on input commands to generate target code, means for responding to a partial command to generate data signals indicative of a range of options , and means responsive to a chosen option from the indicated range to cause the analysis means to re-analyse the original command so as to generate a further set of data signals indicative of a set of further options . 2. A control system as claimed in claim 1 , wherein the digital processor includes storage files storing data representing the nodes of a syntax tree and wherein at at least a plurality of the nodes a chosen option can be added to an input command previously received at said input means and returned as a new command to said analysis means wherein the user is forced down a level of the syntax tree. 3. A control system according to claim 1 or claim 2, wherein one option which can be selected is an option of deleting data relevant to the node reached by the partial command so that the command is returned up a level of the syntax tree to the preceding node, and of displaying a range of options available for selection at said preceding node, the control system being adapted to generate a further command in response to the option selected at said preceding node. 4. A method of controlling a distributed intelligent network, the method comprising inputting commands to a digital processor having input means for receiving the input commands, carrying out lexical and syntactical analysis on the input commands to generate target code, and responding to a partial command to generate data signals indicative of a range of options, and responding to a chosen option from the indicated range to cause the analysis means to re-analyse the original command so as to generate a further set of data signals indicative of a set of further options . 5. A method as claimed in claim 4, wherein the digital processor includes storage files storing data representing the nodes of a syntax tree and including adding a chosen option to an input command previously received at said input means and returning as a new command to said analysis means the command with the added option so as to force the user down a level of the syntax tree . 6. A method according to claim 4 or claim 5, wherein one option which can be selected is an option of deleting data relevant to the node reached by the partial command so that the command is returned up a level of the syntax tree to the preceding node, and of displaying a range of options available for selection at said preceding node, the control system being adapted to generate a further command in response to the option selected at said preceding node .

Inventors: HILL ANDREW, JOHNSTON MICHAEL, HILL, ANDREW, JOHNSTON, MICHAEL
Applicants: BRITISH TELECOMM, HILL ANDREW, JOHNSTON MICHAEL, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, HILL, ANDREW, JOHNSTON, MICHAEL
Application year: 1998
Main classification: H04L12
IPC codes: H04L12, H04L29, H04Q3