FR 2558321 A1 19850719 FR 8400504 A 19840113 E'DISPOSI'IF PROGRAMMABLE DE FILTRAGE DETERMINISTE DE MESSAGES" La présente invention concerne un dispositif élec- tronique de filtrage déterministe, pour filtrer chaque trame transmise à travers un réseau de communication comportant plusieurs stations, chaque station comportant notamment une couche de contrôle d'accès, chaque trame transmise comportant notamment des bits permettant l'identification de la (ou des) destination(s) de la dite trame. Les réseaux de communication sont aujourd'hui bien connus et aussi en plein développement compte-tenu des progrès réalisés dans la technologie de l'électronique. Une des tendances de développement conduit à un partage et à la distribution des ressources comme, par exemple, dans les réseaux locaux (LAN), les réseaux commutés (télé- phone) et les transmissions par paquet (TRANSPAC) qu'ils soient publics ou privés, les réseaux de télécommunication par satellite, etc... De tels réseaux sont décrits plus en détail par exemple dans les demandes de brevet français: 79 27 410, 79 31 468, 81 07 558, 82 00 285. La dénomination générale de 'réseau à diffusion' (broadcast network) est souvent utilisée, elle signifie que tous les messages, émis sur le support de transmission du réseau par n'importe quel système connecté, seront reçus par tous les systèmes connectés; ce mode de fonctionnement non seulement évite les complications du routage physique des messages (communications directes), mais aussi facilite, d'une part l'implémentation de systèmes de communication entre des entités logiques, d'autre part l'implémentation d'une gestion efficace du réseau en permettant une surveillance du trafic à partir de n'importe quel point de ce réseau. La souplesse apportée par les réseaux à diffusion ne va pas sans inconvénients; en effet la capacité de mémoire et de traitement de chaque station est vite surchargée par la multiplicité des messages reçus car, les messages non destinés à la station, doivent quand même être analysés pour pouvoir n'être ignorés qu'à bon escient. A cet effet, il existe actuellement deux types de dispositif de filtrage correspondant l'un au mode d'adressage physique, l'autre au mode d'adressage logique. Chaque station connaît sa propre adresse physique et peut donc filtrer avec certitude, type déterministe, les messages qui lui sont adressés physiquement; mais actuellement les filtres implémentés au niveau de la couche de contrôle d'accès ne savent reconnaître qu'une seule adresse physique, or il serait avantageux qu'ils sachent en reconnaître plusieurs. D'autre part l'adressage logique concerne, par exemple, les abonnés à un service, ou les participants à une télé- conférence, etc...; tous les messages émis par chaque entité concernée comportent le même numéro logique, appelé adresse logique du service ou de la téléconférence..., et chaque station connectée à ce même numéro logique doit filtrer tous les messages qui lui sont ainsi adressés en mode diffusé; chaque station doit pouvoir reconnaître simultanément plu- sieurs numéros logiques; malheureusement les filtres actuel- lement implémentés au niveau de la couche de contrôle d'accès n'effectuent qu'un filtrage probabiliste au moyen de composants standards du type modulo (hash-coding) et le filtrage ainsi effectué n'est donc pas parfait d'o une surcharge inutile de la station pouvant déboucher sur la perte du message, ou d'information, si cette méthode d'adressage logique est intensivement utilisée. La présente invention a pour but d'éviter ces incon- vénients. A cet effet un dispositif électronique de filtrage déterministe selon l'invention est particulièrement remar- quable en ce qu'il comporte des premiers moyens de sélection pour sélectionner les dits bits permettant d'identifier la destination de la trame et les transmettre à des deuxièmes moyens de comparaison pour les comparer avec une multiplicité de valeurs prédéterminées, et des troisièmes moyens de dé- cision pour décider d'accepter ou de refuser la dite trame en fonction du résultat de la dite comparaison, et en ce que les dits moyens sont imp'. ment6s au niveau de la dite couche de contrôle d'accès. Ainsi il est possible pour chaque station d'effectuer une sélection déterministe des messages qu'elle souhaite recevoir; ce filtrage s'effectue au niveau de la couche d'accès ce qui évite une surcharge inutile des autres couches; de plus le même dispositif de filtrage filtre aussi bien sur la base des adresses logiques que des adresses physiques. Un autre avantage de l'invention est que, il est prévu que les moyens de comparaison soient de différents types: plus grand que, plus petit que, égalité,... et que les moyens de décision puissent combiner entre eux les résultats de ces comparaisons. Cette disposition permet notamment une gestion ef- ficace du réseau en ne filtrant par exemple que les messages émis par des stations dont les adresses sont comprises dans un intervalle de valeurs données. Un autre avantage de l'invention est que il est prévu que les critères de filtrage utilisés par les moyens reven- diqués soient programmables sur ordre des couches supérieures de la station; ce mode d'implémentation préféré permet en effet de multiples applications comme, par exemple, l'implé- mentation des boîtes aux lettres électroniques distribuées permettant à tout utilisateur déclaré de recevoir des lettres (messages),avec interrogation à distance de la botte par l'uti- lisateurqui se déplace n'importe o dans le réseau,sans avoir à se préoccuper du routage dans le réseau. Les avantages procurés par un dispositif électronique de filtrage déterministe conforme à l'invention seront mieux perçus avec la description d'un exemple, non limitatif, d'une implémentation s'appuyant sur les dessins annexes: La figure 1 représente l'architecture générale d'une station connectée à un réseau. La figure 2 représente un dispositif de filtrage selon l'invention. La figure 3 représente un dispositif de filtrage programmable. Sur la figure 1, un réseau (R) est connecté à une station (S) par l'intermédiaire d'un module d'émission (ME) et d'un module de réception (MR); ces deux modules sont connec- tés à un interface (IC), aussi appelé bus de communication, pour dialoguer avec l'équipement de traitement de données (ETD); l'équipement de traitement de données (ETD) comporte généralement un processeur de communication (PC), une unité centrale (CPU), une mémoire (MEM),..., reliés par un bus o10 interne (BI). Le module de réception (MR) est chargé de la récep- tion des messages; il comporte un dispositif de contrôle d'erreur (CRC-CK) , un dispositif de découpage de la trame (FD), un dispositif de filtrage de la trame (FF), un tampon d'entrée du genre FIFO (FE) et un interface d'entrée (IE); tous ces éléments sont bien connus de l'homme du métier: chaque trame reçue est contrôlée par le dispositif de contrôle d'erreur (CRC-CK), si le contrôle est satisfaisant le dispositif de filtrage (FF) déterministe ou probabiliste selon les filtres connus comme susdit filtre sur la base des données fournies par le dispositif de découpage (FD) et la trame acceptée, après contrôle et filtrage, eststockée dans le tampon d'entrée (FE); à la demande de l'équipement de traitement de données (ETD) , les tramesstockées sont délivrées l'une après l'autre, genre FIFO, par l'interface d'entrée (IE). Si un filtrage du type probabiliste connu (FF) est implémenté, le tampon d'entrée peut être vite saturé et des trames sont alors perdues. Le dispositif de filtrage selon l'invention, main- tenant décrit avec la figure 2 a pour but d'effectuer un filtrage déterministe pour éviter la saturation du tampon d'entrée. Les informations d'horloge (CLK) et de données (DAT) arrivent du réseau avec chaque trame à filtrer; un dispositif de localisation (LOC) du type compteur de bits reçoit d'une part l'information d'horloge (CLK) et d'autre pa:t les données (DAT); lorsqu'une certaine valeur de comptage de bits prédéterminée est atteinte, les bits d'identification de la destination sont alors localisés et un signal de départ (TOP 1) est envoyé à un registre à décalage (REG) pour recevoir les bits d'identification et les transmettre à un/des comparateur(s), par exemple un comparateur d'égalité (EQ), plus grand que (PG), plus petit que (PP), pour y être comparés à des valeurs prédéterminées; le registre (REG) est, par exemple, un registre à 48 bits ce qui correspond au nombre de bits d'identification de la destination d'une trame; le nombre et la nature des comparateurs n'est pas limité à l'exem- ple choisi sur la figure 2, et il est prévu aussi d'implémen- ter plusieurs dispositifs de localisation -non représentés- avec d'autres registres à décalage et d'autres comparateurs pour effectuer un filtrage basé sur d'autres bits de la trame que les bits d'identification de la destination. Dans tous les cas, le/ lessignaux issus du/des comparateur(s) sont transmis à un dispositif combinatoire (DC) qui combine logiquement les signaux pour prendre la décision d'acceptation ou de refus de la trame; la décision d'accepta- tion (OK) est transmise à l'interface d'entrée (IE) pour va- lider le stockage de la trame après filtrage. La prise de décision s'effectue lorsque tous les bits de données (DAT) nécessaires ont été reçus ce qui se produit lorsque le compteur (LOC) a décompté un nombre de bits prédéterminé après le signal de départ (TOP 1); à ce moment il envoie le signal d'arrivée (TOP 2) pour que la prise de décision s'effectue dans le dispositif combinatoire (DC). Dans la description qui précède, il était implicite- ment admis que les divers critères de filtrage étaient figés, par exemple dans des mémoires mortes; c'est un avantage non négligeable de l'invention que de pouvoir modifier, par exemple sur ordre (SET) de la couche supérieure de la station (ETD), les divers critères de filtrage qui sont alors stokés dans des mémoires programmables ou vives implémentées dans les éléments du dispositif de filtrage. Selon l'invention un dispositif de filtrage program- mable avec comparaison d'égalité selon la figure 3 est par- ticulièrement intéressant. Dans la figure 3, seule la partie comparateur d'égalité (EQ) de la figure 2 est représentée avec ses organes de contrôle. Dans la figure 3 le comparateur d'égalité est une mémoire adressable par son contenu (CAM-EQ); les données (DAT) d'une trame sont entrées comme susdit via le registre (REG), et si une des valeurs contenues dans la mémoire adressable (CAM-EQ) est égale aux bits d'identification de la trame le signal d'acceptation (OKC) est émis. Nous allons maintenant décrire les circuits et le fonctionnement de l'initialisation et de la mise à jour, insertion et suppression, des valeurs contenues dans la me- moire (CAM-EQ). Comme susdit, c'est un objet de l'invention d'effectuer un filtrage déterministe des trames sur la base des bits d'identification de la/les destination(s) de chaque trame, nous appellerons gabarit (=pattern) chaque configuration de bits valide pour une station; chaque station au niveau de son équipement de traitement de données (ETD figure 1), connait d'une part le gabarit à insérer dans chaque trame qu'elle émet et d'autre part les gabarits des trames qu'elle doit reconnaître; la mémoire (CAM-EQ) contient à cet effet une pluralité de lignes pour mémoriser les gabarits à reconnaître; la dimension courante d'un gabarit est de 48 bits, et un nombre de lignes de 256, par exemple, est une valeur nor- male pour une station active dans un réseau. En -conséquence, la mémoire (CAM-EQ) comporte, par exemple, 256 lignes de 48 bits chacune ce qui lui donne une capacité de mémoriser 256 gabarits; dans les réseaux, il est souvent convenu que le gabarit 'III...III', tous les bits à '1', correspond à des trames destinées à toutes les stations (general broad cast) c'est pourquoi cette valeur a été choisie comme valeur initiale pour toutes les lignes de gabarit de la mémoire programmable adressable par son contenu (CAM-EQ). Le dispositif d'initialisation comporte un automate de contrôle microprogrammé (CTR) pour contrôler notamment un décodeur (DECOD) via une première ligne de contr8le (LC1), un tampon de numéro de ligne du genre fifo (FNL) via une deuxième ligne de contrôle (LC2) et un compteur (INC) via une troisiè- me ligne de contrôle (LC3); le compteur (INC) fournit un nu- méro de ligne à un bus de numéro de ligne (BNL) auquel sont connectés d'une part le tampon (FNL) et d'autre part le dé- codeur (DECOD); le décodeur (DECOD) active la ligne de la mémoire (CAM-EQ) correspondante au numéro de ligne qu'il reçoit soit du bus de numéro de ligne (BNL), soit du tampon (FNL). A l'initialisation, la valeur par défaut du gabarit, tous les bits à '1' comme susdit, est introduit dans les colonnes de la mémoire (CAM-EQ) par la connexion (PAT-IN), le compteur (INC) fournit la valeur 'O' au décodeur (DECOD) et l'automate microprogrammé (CTR) active la premiere ligne de contrôle (LC1) pour commander l'écriture du gabarit 'tout à 1' sur la ligne 'O' de la mémoire (CAM-EQ); ensuite le compteur (INC) est successivement incrémenté de '1' en '1' jusqu'à la valeur 255 pour initialiser entièrement à '1' les 256 lignes de la mémoire (CAM-EQ). Simultanément le tampon (FNL) a aussi été initialisé de la manière suivante; le tam- pon (FNL) est utilisé pour mémoriser les numéros des lignes libres de la mémoire (CAM-EQ); ce tampon a une capacité de 255 numéros de lignes car il est apparu particulièrement intéressant de ne pouvoir ultérieurement modifier que 255 lignes de la mémoire (CAM-EQ) de telle sorte qu'au moins une ligne conserve toujours le gabarit 'tout à 1'; ainsi chaque numéro de ligne écrite pendant l'initialisation est succes- sivement validé dans le tampon des numéros de ligne (FNL) du genre fifo de telle sorte que, à la fin de l'initialisation, tous les numéros de ligne de 1 à 255 sont mémorisés dans le tampon (FNL) le numéro 1 étant le premier entré, suivi du numéro 2,... jusqu'au dernier, le numéro 255; selon le principe du tampon fifo (FNL) le premier numéro à sortir sera donc le 1, puis le 2,etc... Apres l'initialisation, le dispositif de filtrage est prêt à enregistrer indifféramment des insertions ou des suppressions de gabarits à filtrer; dans les deux cas, le gabarit concerné est fourni par l'équipement de traitement de données (ETD- figure 1) par la connexion (PAT-IN) ainsi que la nature de la requête (REQ) qui est transmise à l'automate microprogrammé (CTR). Dans le cas d'une suppression de gabarit, le principe de l'opération consiste à mettre des '1' à la place du gabarit à supprimer si celui-ci est effectivement présent; pour ce faire, le gabarit à supprimer, fourni via la connexion (PAT-IN) comme susdit, est analysé par la mémoire (CAMEQ) qui fournit la réponse (OKC) si le gabarit est effectivement présent. Bien entendu cette réponse (OKC) n'est pas prise en compte par le dispositif combinatoire (DC) qui est inhibé pendant les requêtes (REQ). Si le gabarit à supprimer n'est pas présent (OKC) l'opération de suppression ne peut s'effectuer. Si le gabarit à supprimer est effectivement présent (OKC) dans la mémoire (CAM-EQ), le codeur (COD) détermine quel est le nu- méro de ligne concerné et le transmet au bus de numéro de ligne (BNL) auquel il est connecté comme susdit. A ce moment l'automate microprogrammé (CTR) donne un ordre pour écrire des '1', comme lors de l'initialisation, sur la ligne dont le numéro est présent sur le bus (BNL) ; simultanément, le numéro de ligne concerné, qui est donc devenu libre pour un nouveau gabarit, est stocké dans le tampon (FNL) exactement comme lors de l'initialisation comme susdit; la suppression de gabarit est alors terminée et un compte-rendu peut être transmis à la couche supérieure à travers l'interface d'entrée (IE figure 1). Dans le cas d'une insertion de gabarit, le principe de l'opération consiste à écrire ce gabarit dans la mémoire (CAM-EQ), si d'une part ce gabarit n'y est pas déjà présent et si d'autre part il y a une place vide pour ce nouveau ga- barit. Comme susdit la non-présence du gabarit à insérer est vérifiée par la réponse (UKC) de la mémoire (CAM-EQ). Par ailleurs, la présence d'une place libre est véri- fiée par le fait que le tampon du numéro de ligne (FNL) n'est pas vide c'est à dire qu'un numéro de ligne est délivré au décodeur (DECOD). On peut rappeler qu'une ligne libre est une ligne 'tout 1' autre que la ligne numéro O. A ce moment l'automate mi- croprogrammé (CTR) donne un ordre pour écrire le gabarit à insérer sur la ligne dont le numéro est fourni par le tampon (FNL); simultanément le numéro de ligne qui vient d'être utilisé est supprimé dans le tampon (FNL). En résumé, le dispositif programmable de filtrage dé- terministe ci-dessus décrit et conforme à l'invention, est conçu pour filtrer les trames transmises à travers le réseau sur la base des gabarits présents dans une mémoire adressable par son contenu (CAM-EQ), lequel contenu est en permanence modifiable par l'équipement de traitement de données (ETD) de la station. Les possibilités d'utilisation du dispositif selon l'invention sont nombreuses grâce à la souplesse apportée notamment aux réseaux à diffusion; dans un tel réseau, une entité, par exemple un utilisateur, peut se déclarer dans une station 'i' quelconque ce qui va se traduire par le fait que le gabarit de l'entité est mémorisé dans une ligne de la mémoire (CAM-EQ) de la station 'i'; tous les messages adressés a cette entité vont alors être acceptés par le filtre conforme à l'invention et mémorisés par la station 'i'; si l'entité se déplace dans l'organisation, et se déclare à nouveau dans une autre station 'n', cette station 'n' va mémoriser le ga- barit de l'entité dans sa propre mémoire (CAM-EQ) et va inter- roger, en mode diffusé par exemple, les autres stations pour leur demander de lui transmettre les messages destinés à l'en- tité déclarée; la station 'i' va reconnaître le message d'inter- rogation, y répondre et supprimer le gabarit de l'entité dans sa propre mémoire (CAM4Q); ceci est une application typique de boite aux lettres électronique. Une autre possibilité est l'observation du trafic dans le réseau dans le but de mieux gérer le réseau; pour ce faire il est souvent nécessaire d'effectuer un zoom sur une région particulière du réseau, ceci correspond à un fil- trage sélectif des messages émis et/ou reçus par certaines stations dont les gabarits sont connus; ces gabarits connus peuvent être mémorisés dans la mémoire (CAM-EQ) de la station d'observation du réseau qui ainsi recevra tous les messages concernant la région 'zoomée'; dans le même but il est aussi possible d'observer le trafic concernant tous les gabarits compris entre deux valeurs 'K' et 'm' en utilisant les com- parateurs 'plus grand que' et 'plus petit que' susdits; 'K' et 'm' peuvent être soit des gabarits de stations physiques, soit des gabarits logiques d'entités connues dans le réseau; par la mise en oeuvre du dispositif programmable de découpage de la trame (FD), comme susdit, 'K' et 'm' peuvent être à volonté soit le gabarit de l'émetteur soit le gabarit du destinataire puisque les deux gabarits sont présents dans chaque trame. Ces exemples donnent un aperçu non limitatif de toutes les possibilités d'application apportées par l'in- vention. REVENDICATIONS: 1. Dispositif électronique de filtrage déterministe pour filtrer chaque trame transmise à travers un réseau de communication comportant plusieurs stations chaque station comportant notamment une couche de contrôle d'accès chaque trame transmise comportant notamment des bits permettant l'identification de la (ou des) destination(s) de la dite trame, caractérisé en ce que, il comporte des premiers moyens de sélection pour sélectionner les dits bits d'identification de la (ou des) destination(s) de la trame et les transmettre 1 à des deuxièmes moyens de comparaison pour les comparer avec une multiplicité de valeurs prédétexminées, et des troisièmes moyens de décision pour décider d'accepter ou de refuser la dite trame en fonction du résultat de la dite comparaison, et en ce que les dits moyens sont implémentés au niveau de la dite couche de contrile d'accès. 2. Dispositif électronique de filtrage déterministe selon la revendication 1, caractérisé en ce que les dits moyens de comparaison sont: un comparateur 'plus grand quel, et/ou un comparateur 'plus petit que' et/ou un comparateur 'd'égalité' à valeurs multiples, et en ce que les dits moyens de décision sont une combinaison de portes logiques dont les entrées sont connectées aux sorties des dits moyens de com- paraison. 3. Dispositif électronique de filtrage déterministe selon la revendication 2 caractérisé en ce que le comparateur d'égalité à valeurs multiples est une mémoire morte adressable par son contenu. 4. Dispositif électronique de filtrage déterministe selon la revendication 2 caractérisé en ce que le comparateur d'égalité à valeurs multiples est une mémoire vive adressable par son contenu, et en ce que il comporte en outre un automa- te de contrôle pour contrôler l'initialisation, l'insertion et la suppression des valeurs contenues dans la dite mémoire vive. 5. Dispositif électronique de filtrage déterministe selon la revendication 4 caractérisé en ce que il comporte en outre des moyens pour gérer les numéros de ligne dispo- nibles dans la mémoire vive adressable par son contenu, notamment un codeur, un décodeur, et un tampon de mémorisation du genre premier entré premier sorti (fifo). 6. Dispositif électronique de filtrage déterministe selon l'une quelconque des revendications précédentes carac- térisé en ce que le gabarit 'tout à 1' est toujours mémorisé en tant que gabarit valide.