Brevet FR2662278A1 — publié le 19911122

STRUCTURE D'AUTOMATE DE TRAITEMENT DE DONNEES La présente invention concerne une structure d'automate de traitement de données. Un automate de traitement de données est un dispositif possédant plusieurs états et prévu pour traiter des événements d'entrée; dans chacun de ces états, il répond à tout événement d'entrée en accomplissant une séquence d'opérations de traitement de données prédéterminées, laquelle peut comprendre l'initialisation d'événements de sortie, dont certains peuvent entraîner le passage de l'automate dans un autre état. Plus concrètement, un tel automate peut être constitué par un ordinateur doté, entre autre, d'un programme d'automate, lequel comprend une indication d'état pouvant prendre autant de valeurs qu'il y a d'états Les événements d'entrée sont des signaux d'origine externe saisis par les moyens d'entrée/sortie de l'ordinateur, ou d'origine interne, créés par programme Ils se combinent avec l'indication d'état pour engendrer, par l'exécution d'un programme correspondant à chaque combinaison, les événements de sortie qui sont des signaux transmis à l'extérieurs de l'ordinateur, par ses moyens d'entrée/sortie, ou traités par d'autres programmes de l'ordinateur, certains d'entre eux pouvant causer un changement d'état de l'automate. Si l'automate doit, par exemple, assurer les fonctions d'analyse et de décision dans une installation téléphonique, l'automate aura autant d'états que le traitement téléphonique le demande (ligne libre, ligne en appel, envoi de la tonalité de numérotation, réception du premier chiffre, etc) Dans chaque état, les événements attendus seront non seulement ceux que l'on doit prévoir dans la progression normale de l'établissement d'une communication (envoi des chiffres, disponibilité ou occupation de lignes ou circuits, raccrochage du demandeur ou du demandé), mais aussi tous les événements anormaux ou rares (défaillance d'un organe quelconque, matériel ou logiciel, manque de ressources, rupture intempestive d'un dialogue en cours, etc) On conçoit que l'on peut arriver à un grands nombre d'états et, dans chacun d'eux, un non moins grand nombre d'événements L'automate est alors volumineux, donc coûteux à concevoir et développer, tester, maintenir, etc. Pour améliorer cette situation on a déjà pensé à utiliser non pas un automate, mais plusieurs sous-automates, chacun d'eux comportant certains des états de l'ensemble de l'automate, de sorte que le nombre global d'états soit réduit, par exemple en affectant à un seul automate une série d'états apparaissant de façon itérative, parce qu'ils correspondent à une fonction accomplie plusieurs fois au cours du traitement de données Le nombre d'événements à traiter dans chaque état reste inchangé De plus, il y a lieu de prévoir des fonctions additionnelles permettant le dialogue entre les automates individuels, ainsi qu'une fonction additionnelle d'aiguillage des événement d'entrée vers l'un ou les automates appropriés Ces dispositions additionnelles sont coûteuses, en particulier en temps de traitement. La présente invention vise donc à proposer une structure d'automate de traitement de données qui permette de réduire tant le nombre global des états que le nombre des événements à traiter dans chaque état. L'automate de traitement de données de la présente invention est caractérisé en ce qu'il comprend des automates élémentaires agencés selon plusieurs niveaux, un dispositif de présentation d'événement répondant à la survenance d'un événement en identifiant un niveau d'automate actif le plus bas et un automate élémentaire actif dans ce niveau d'automate actif le plus bas, pour en conséquence présenter l'événement à cet automate élémentaire actif, un automate élémentaire actif de tout niveau d'automate intermédiaire, comprenant des moyens d'activation de niveau inférieur lesquels permettent, en réponse à certains évènements, de rendre actif le niveau d'automate immédiatement inférieur et, dans ce niveau d'automate inférieur, de rendre actif un automate élémentaire inférieur, des moyens de renvoi au niveau supérieur lesquels permettent, en réponse à certains autres évènements, qui ne sont pas traités par ledit automate élémentaire actif, de transférer l'évènement à un automate élémentaire supérieur actif du niveau d'automate immédiatement supérieur au niveau d'automate auquel appartient ledit automate élémentaire actif, ledit automate élémentaire actif comprenant en outre des moyens de désactivation lesquels permettent, en réponse à un évènement particulier, de désactiver l'automate élémentaire considéré et, dans le même temps, de désactiver tout automate élémentaire de niveau d'automate inférieur qui aurait été antérieurement activé par l'intermédiaire de l'automate élémentaire actif considéré. Les dispositions qui précèdent ajoutent à la réduction du nombre total d'états procurée par l'emploi d'un automate composé de plusieurs automates élémentaires, chaque automate élémentaire étant prévu pour exécuter une sous- fonction, chaque fois que cela est utile, à la demande de l'un quelconque des automates élémentaires activés aux différents niveaux, la possibilité de limiter le nombre d'évènements traités par chacun ou la plupart des automates élémentaires en permettant de prévoir au moins un automate élémentaire spécialisé dans le traitement d'évènements communs, susceptibles de se présenter à tout moment, ou tout au moins souvent, dans le cours du traitement accompli par l'automate, événements communs dont le traitement devrait sans cela être prévu dans tous ou presque tous les états des automates élémentaires de niveau(x) inférieur(s) La réduction globale du volume de l'automate obtenue grâce à des mises en facteur réalisées à la fois par la création d'automates élémentaires de type sous-programme et par la centralisation dans les niveaux supérieurs des traitements relatifs aux événements communs permet une simplification de la conception et une réduction des coûts de développement, de validation et de maintenance. Par ailleurs, ledit automate élémentaire actif, au niveau d'automate actif le plus bas, est celui qui correspond à la sous-fonction en cours d'exécution Le plus souvent, un événement survenant appartiendra à cette sous- fonction et devra être traité par cet automate élémentaire actif L'invention permet, sans aiguillage des événements entre différents sousautomates, de traiter le plus grand nombre d'entre eux directement par l'automate élémentaire approprié, tandis que les événements relativement rares n'appartenant pas à la sous-fonction en cours seront traités par des automates élémentaires de niveau(x) supérieur(s). Cela procure une amélioration dans les performances d'exécution du traitement des données. Selon une autre caractéristique de l'invention, lesdits moyens d'activation permettent de rendre actif, dans ledit niveau d'automate inférieur, un parmi plusieurs automates élémentaires inférieurs, en fonction de l'événement présenté et/ou de l'état dudit automate élémentaire actif. Les différents objets et caractéristiques de l'invention seront maintenant exposés de façon plus détaillée dans la description qui va suivre d'un mode de mise en oeuvre de l'invention, qui sera faite en se référant aux figures annexées qui représentent: la figure 1, la structure d'un automate de traitement de données conforme à la présente invention, dans le cas du traitement des appels dans un réseau de radiotéléphonie, la figure 2, un diagramme illustrant l'enchaînement des sous-fonctions et la présentation des évènements aux automates élémentaires, dans le cas de l'automate de la figure 1, par exemple. L'automate dont la structure est représenté à la figure 1 est destiné à traiter les appels dans un réseau de radiotéléphonie et, en particulier la partie de ces appels relative aux terminaux mobiles Cet automate comprend quatre niveaux nivl, niv 2, niv 3 et niv 4. Le niveau nivl comprend un seul automate élémentaire SUPMS qui est chargé de la supervision du terminal mobile, dans le traitement d'un appel intéressant ce terminal Plus précisément, l'automate élémentaire SUPMS traite tous les évènements relatifs à l'état du terminal et/ou de son correspondant conduisant à la libération de l'appel et ce à n'importe quel moment dans le déroulement de l'appel tels que: raccrochage du terminal mobile, raccrochage du correspondant, erreur de protocole de communication entre le terminal mobile et le réseau, faute logicielle ou matérielle o que ce soit, rupture du dialogue entre le terminal mobile et la station de base avec laquelle il communiquait, défaillance du canal radio, etc. Cet automate élémentaire SUPMS traite aussi les requêtes de transfert de communication, d'une station de base à une autre station de base, suite au déplacement du terminal mobile, qui peuvent bien entendu se présenter à n'importe quel moment au cours de l'appel Un tel transfert de communication demande la mise en place de nouvelles ressources terrestres et radio, les anciennes étant alors libérées. Le niveau niv 2 comprend trois automates élémentaires, DEP, ARR, PAG Comme l'indiquent les flèches pointant de l'automate élémentaire SUPMS vers les automates élémentaires DEP, ARR et PAG, l'un des ces derniers automates élémentaires est sélectivement activé par l'automate élémentaire SUPMS. L'automate élémentaire DEP a pour fonction la supervision de l'établissement d'un appel départ, c'est-à- dire d'un appel provenant d'un terminal mobile desservi par l'automate de la figure 1 Dans ce cadre, il veille à l'authentification du terminal mobile, c'est-à-dire son identification par des moyens de sécurité sur lesquels on reviendra plus loin dans ce texte, il reçoit et analyse la numérotation, détermine l'acheminement de l'appel et met en place les ressources terrestres et radioélectriques, jusqu'à ce que le correspondant demandé passe en phase sonnerie, après quoi il se désactive. L'automate élémentaire ARR a pour fonction la supervision de l'établissement d'un appel arrivée, c'est-à- dire d'un appel destiné à un terminal mobile desservi par l'automate de la figure 1 Dans ce cadre, il veille à la détermination de la cellule dans laquelle est localisé le terminal mobile, par des moyens qui seront détaillés plus loin, puis à l'authentification du terminal mobile, comme indiqué plus haut, et finalement met en place les ressources terrestres et radioélectriques jusqu'à ce que le terminal mobile demandé passe en phase sonnerie, après quoi il se désactive. L'automate élémentaire PAG a pour fonction la localisation d'un terminal mobile dans une des cellules d'une zone de localisation Il est activé par l'automate élémentaire SUPMS dans le cas d'une demande de localisation du mobile provenant d'une commande opérateur Il se désactive, après avoir rempli sa fonction. Le niveau niv 3 comprend également trois automates élémentaires, dont l'automate PAG déjà rencontré au niveau niv 2, ainsi qu'un automate élémentaire SEC qui apparaît deux fois Cependant, on remarquera qu'ici, l'automate élémentaire PAG est appelé dans le cas d'un besoin de localisation du mobile pour le compte de l'établissement d'un appel arrivée. Cet automate élémentaire SEC est chargé l'authentification du terminal mobile du terminal mobile identifié par son numéro d'identification international d'abonné mobile IMSI (initiales de "International Mobile Subscriber Identification"), supposé connu, puis le chiffrage du canal radio est mis en place, un numéro d'identification temporaire d'abonné mobile TMSI (initiales de "Temporary Mobile Subscriber Identification") est attribué, après quoi l'automate élémentaire SEC se désactive Si l'authentification échoue, l'automate élémentaire SEC met en oeuvre l'automate élémentaire IDENT lequel, comme on le verra par la suite, obtient le numéro d'indentification international IMSI à partir du terminal mobile lui-même, après quoi il procède à nouveau à la séquence d'authentification, pour effectuer ensuite le traitement décrit plus haut. Le niveau niv 4 comprend l'automate IDENT déjà mentionné, utilisable plusieurs fois par l'automate SEC du niveau niv 3, tel qu'indiqué plus haut Sa fonction est de demander le numéro d'identification international IMSI de l'abonné mobile, soit au centre dont dépendait antérieurement le terminal mobile et qu'il a quitté au cours de son déplacement, soit au terminal mobile lui-même, si l'identification ne peut être obtenue du centre précédent Il se désactive après avoir rempli sa fonction. Les fonctions que l'on vient de décrire sont bien connues dans la technique radiotéléphonique et l'on renverra au très nombreux documents publiés à ce sujet On se bornera à illustrer l'utilisation des automates élémentaires dans le cas d'un appel départ et d'un appel arrivée. Dans le cas d'un appel départ d'un abonné d'un terminal mobile traité par l'automate de la figure 1, l'automate, à la prise en charge de l'appel, notée pca, active le niveau d'automate nivl et, dans ce niveau nivi, l'automate élémentaire SUPMS L'automate élémentaire SUPMS supervise l'état de la liaison avec le terminal mobile, constatant qu'il s'agit d'un appel départ, active le niveau d'automate niv 2 et, dans ce niveau niv 2, l'automate élémentaire DEP Ce dernier doit d'abord procéder à une authentification de sécurité du terminal mobile Pour ce faire, il active le niveau d'automate niv 3 et, dans celui-ci, l'automate élémentaire SEC Si nécessaire, pour procéder à l'identification proprement dite, l'automate élémentaire SEC active le niveau d'automate niv 4 et, dans celui-ci, l'automate élémentaire IDENT Lorsque l'identification a eu lieu, l'automate élémentaire IDENT se désactive et le niveau d'automate niv 4 est également désactivé; l'automate élémentaire SEC, au niveau d'automate niv 3, reprend le contrôle, met en place le chiffrage du canal radio et, si nécessaire,ré-attribue un numéro d'identification temporaire au terminal mobile Ensuite, il se désactive lui-même et le niveau d'automate niv 3 est également désactivé, de sorte que l'automate élémentaire DEP se charge de recevoir le numéro du correspondant demandé, de l'analyser, de déterminer en conséquence l'acheminement, et de le superviser, jusqu'à ce que ce correspondant, supposé libre, soit mis en sonnerie. Alors, la phase d'établissement d'un appel départ étant terminé, l'automate DEP se désactive et le niveau d'automate niv 2 est également désactivé, tandis que la communication n'est plus contrôlée que par l'automate élémentaire SUPMS au niveau nivl, seul actif maintenant. Dans le cas d'un appel arrivée, l'appel est d'abord supervisé par l'automate élémentaire SUPMS, au niveau nivl seul actif, puis le niveau niv 2 est activé, ainsi que l'automate ARR, afin de superviser la phase d'établissement de l'appel arrivée Il est d'abord nécessaire de déterminer dans quelle cellule se trouve ce terminal mobile destinataire, ce qui est obtenu par l'activation du niveau 3 et, dans celui-ci de l'automate élémentaire PAG La localisation effectuée, l'automate PAG se désactive et le niveau niv 3 est lui-même désactivé, pour être réactivé immédiatement par l'automate élémentaire ARR qui active alors l'automate élémentaire SEC On a déjà exposé le rôle de l'automate élémentaire SEC et comment il utilise l'automate élémentaire IDENT, au niveau niv 4, pour l'identification du terminal mobile concerné Ensuite, tout comme déjà décrit, les automates élémentaires IDENT, SEC, ARR, se désactivent l'un après l'autre, de même que les niveaux niv 4, niv 3, niv 2, l'appel arrivée établi étant finalement supervisé par le seul automate élémentaire SUPMS au niveau nivl. Il reste à mentionner qu'un éventuel transfert de communication demandé par la station radio est un événement reçu et piloté directement par l'automate élémentaire SUPMS, quel que soit l'état des automates élémentaires éventuellement actifs aux niveaux inférieurs. On remarquera qu'un même automate élémentaire, SEC par exemple, peut être activé par plusieurs automates élémentaires distincts du niveau supérieur En d'autres termes, la fonction que remplit cet automate élémentaire se retrouve dans plusieurs phases de traitement de données de l'automate entier et le fait de l'avoir confié à un seul automate élémentaire utilisé dans ces différentes phases apporte une réduction du nombre total d'états de l'automate. On peut en dire autant en ce qui concerne les automates élémentaires IDENT et PAG. On remarquera aussi qu'un automate élémentaire d'un niveau quelconque peut sélectivement activer plusieurs automates élémentaires du niveau inférieur au sien, pour demander l'exécution de fonctions successives Cela permet plus facilement le découpage des fonctions et la détermination d'automates élémentaires qui puissent intervenir dans des phases de traitement de données différentes. Mais la réduction du nombre d'évènements généralement traités par chaque automate élémentaire provient du mode d'affectation de ces événements aux automates élémentaires activés, comme il apparaîtra dans la description qui va suivre, faite en se reportant à la figure 2. La figure 2 représente les flux de circulation des événements entre les différents automates élémentaires. Un dispositif de présentation d'événement PTA dit de pré- traitement d'automate reçoit les événements de l'extérieur, détermine le niveau d'automate le plus bas dans lequel un automate élémentaire est actif et présente l'évènement reçu à cet automate élémentaire Les liaisons en traits interrompus représentent les fonctions d'activation, tandis que les liaisons en traits pleins représentent les fonctions de transfert d'événements. On a exposé plus haut comment étaient activés les différents automates élémentaires Lorsque l'automate prend en charge un appel, le prétraitement d'automate active le niveau d'automate nivl par défaut, aucun autre niveau d'automate étant encore activé, et active l'automate SUPMS qui est le seul défini à ce niveau Un événement quelconque EV, soumis au pré-traitement d'automate PTA est alors affecté au niveau d'automate actif nivl et transmis à l'automate élémentaire actif de ce niveau nivi qui est l'automate élémentaire SUPMS, ce qui est illustré par la liaison evi. L'automate SUPMS doit être capable de traiter l'événement en question Au cours du traitement, l'automate élémentaire engendre éventuellement des événements de sortie et change éventuellement d'état Sur réception d'un événement particulier signifiant le début d'un appel, l'automate élémentaire SUPMS active l'automate élémentaire approprié, l'automate élémentaire DEP par exemple, ce qui est illustré par la liaison acl 2 l Les données de contexte d'automate dca sont modifiées pour mémoriser que le niveau niv 2 est maintenant actif. Si le niveau d'automate niv 2 est également actif, il le pré-traitement d'automate PTA recevant un événement EV sélectionne ce niveau niv 2, de préférence au niveau nivi, et transmet l'événement reçu à celui des automates élémentaires de ce niveau niv 2 qui est actif, soit à l'automate élémentaire DEP, par exemple, ce qui est illustré par la liaison ev 2 l Trois cas peuvent alors se présenter: si l'événement doit être traité par l'automate élémentaire DEP, le traitement correspondant est accompli, des évènements de sortie éventuels sont engendrés, l'automate DEP change éventuellement d'état; si l'événement demande l'intervention d'un autre automate élémentaire, de l'automate élémentaire SEC, en l'occurence, celui-ci est activé et, le cas échéant, l'événement dont il s'agit lui est transmis, ce qui est illustré par la liaison ac 23, tandis que les données du contexte d'automate dca sont mises à jour pour mémoriser que le niveau niv 3 est maintenant actif; si l'événement ne fait pas partie de ceux que l'automate élémentaire DEP traite comme on vient de le voir dans les deux cas précédents, il est renvoyé vers l'automate élémentaire (SUPMS) qui a activé l'automate élémentaire considéré (DEP), ce qui est illustré par la liaison rvl 2 l. De la sorte, l'automate élémentaire considéré DEP est prévu pour répondre à une liste limitée d'événements ayant trait à la fonction qu'il est en charge de remplir Le traitement de certains événements spécifiques annonçant le déclenchement d'une sous-fonction est exécuté en activant l'automate élémentaire chargé d'exécuter cette sous-fonction, SEC en l'occurrence, au niveau inférieur niv 3, tandis que les événements autres sont renvoyés vers le niveau d'automate supérieur (nivi) et, dans celuici, vers l'automate élémentaire actif (SUPMS), qui est celui qui a activé l'automate élémentaire considéré (DEP) Le traitement effectué par l'automate élémentaire actif du niveau d'automate supérieur peut comprendre la désactivation de l'automate ayant initialement reçu cet évènement. Ce qui précède s'applique de la même façon dans le cas o l'automate élémentaire actif du niveau d'automate niv 2 est l'automate élémentaire ARR La seule différence est que cet automate élémentaire ARR peut activer sélectivement un parmi plusieurs automates élémentaires (SEC, PAG) du niveau d'automate inférieur Cela s'applique encore si l'automate élémentaire actif du niveau d'automate niv 2 est l'automate PAG, lequel toutefois n'active aucun automate élémentaire d'un niveau inférieur. Il en va de même lorsque le niveau d'automate niv 3 est actif, après les niveaux nivl et niv 2, mais alors que le niveau d'automate niv 4 n'est pas actif Un évènement se présentant alors est transmis, selon l'automate élémentaire actif de ce niveau, soit à l'automate élémentaire SEC (liaison ev 3 l), soit à l'automate élémentaire PAG (liaison ev 32). En supposant qu'un évènement ait ainsi été transmis à l'automate élémentaire SEC, celui-ci répond tout comme les automates du niveau supérieur On remarquera que, si l'évènement doit être renvoyé vers un automate du niveau d'automate supérieur, niv 2, il suffit de le renvoyer vers l'automate élémentaire actif de ce niveau d'automate supérieur pour que ce soit bien celui qui a activé l'automate élémentaire considéré SEC qui reçoive l'évènement en renvoi. Il en va de même en ce qui concerne l'automate élémentaire PAG, mais plus simplement, car le renvoi vers le niveau d'automate supérieur niv 2 ne conduit alors que vers l'automate élémentaire ARR. On peut en dire autant en ce qui concerne le niveau d'automate niv 4 et l'automate IDENT. Il se peut enfin que l'automate élémentaire d'un niveau intermédiaire ne soit pas lui-même en mesure de traiter un évènement qui lui est renvoyé par un automate élémentaire d'un niveau inférieur au sien Bien entendu, dans un tel cas, il renvoie à son tour cet évènement vers l'automate élémentaire actif du niveau supérieur au sien. De la sorte, d'une manière générale, chaque automate élémentaire ne traite que les évènement normalement attendus dans le déroulement de la partie du traitement de données qui lui est attribuée Cela réduit pratiquement au minimum le nombre d'évènements que chaque automate élémentaire doit traiter Les avantages que cela procure ont déjà été énoncés Par ailleurs, ces évènements normalement attendus sont les plus probables et les cas d'évènements devant faire l'objet d'un renvoi sont relativement peu fréquents, de sorte que le mécanisme de renvoi exposé n'est pas coûteux en temps de traitement. REVENDICATIONS 1 Automate de traitement de données caractérisé en ce qu'il comprend des automates élémentaires (SUPMS, DEP, ARR) agencés selon plusieurs niveaux (nivi, niv 2), un dispositif de présentation d'événement PTA répondant à la survenance d'un événement en identifiant un niveau d'automate actif le plus bas et un automate élémentaire actif dans ce niveau d'automate actif le plus bas, pour en conséquence présenter l'événement à cet automate élémentaire actif, un automate élémentaire actif de tout niveau d'automate intermédiaire, comprenant des moyens d'activation de niveau inférieur lesquels permettent, en réponse à certains événements, de rendre actif le niveau d'automate immédiatement inférieur et, dans ce niveau d'automate inférieur, de rendre actif un automate élémentaire inférieur, des moyens de renvoi au niveau supérieur lesquels permettent, en réponse à certains autres événements, qui ne sont pas traités par ledit automate élémentaire actif, de transférer l'événement à un automate élémentaire supérieur actif du niveau d'automate immédiatement supérieur au niveau d'automate auquel appartient ledit automate élémentaire actif, ledit automate élémentaire actif comprenant en outre des moyens de désactivation lesquels permettent, en réponse à un événement particulier, de désactiver l'automate élémentaire considéré et, dans le même temps, de désactiver tout automate élémentaire de niveau d'automate inférieur qui aurait été antérieurement activé par l'intermédiaire de l'automate élémentaire actif considéré. 2 Automate de traitement de données conforme à la revendication 1 caractérisé en ce que lesdits moyens d'activation permettent de rendre actif, dans ledit niveau d'automate inférieur, un parmi plusieurs automates élémentaires inférieurs, en fonction de l'événement présenté et/ou de l'état dudit automate élémentaire actif.