<Desc/Clms Page number 1>
"Transmission de données et contrôle d'accès à celles-ci" L'invention concerne la transmission des données et le contrôle de l'accès à celles-ci pour les situations où une banque centrale de données stockées est reliée à un ordinateur central qui est à son tour relié à un grand nombre de terminaux par un réseau public commuté par paquets. L'ordinateur central peut être, par exemple, être destiné à une société de manutention de cargaisons et les terminaux, à des clients souhaitant s'enquérir du statut des divers travaux de manutention et donner des instructions à la société pour un travail.
La description European Patent Specification nO 1 47, 702B1 (IBM) expose une méthode et un dispositif pour relier entré eux ou à un système de stockage cloisonné des terminaux intelligents. La méthode établit des voies de communication point-à-point entre les terminaux et les modules de stockage partagé en utilisant un contrôleur synchrone de communications. Ce système est indubitablement adapté à beaucoup de situations, mais dans les cas où une grande partie des données stockées est confidentielle et réservée à des utilisateurs qui y accèdent par terminaux, le besoin se fait sentir d'une approche technique différente du contrôle de l'accès aux données.
Une des ces situations est celle où il faut empêcher l'accès partagé aux données en raison d'accords de confidentialité conclus entre une société de travaux de manutention et ses clients. La description European Patent Spécification n 139, 759 Bl (Fanuc Limited) expose une méthode
<Desc/Clms Page number 2>
pour relier un équipement extérieur à un appareil principal doté d'un processeur et d'une mémoire. Le processeur forme une information de liaison qui est ensuite stockée en mémoire et extraite en continu à mesure que le requiert le déroulement du fonctionnement normal pour l'utilisation en échange de données.
Cette description ne mentionne pas la manière dont un contrôle strict doit être appliqué à l'accès aux données dans un contrôleur de communications.
L'invention vise à fournir un contrôleur de transmission des données et d'accès à celles-ci qui permette d'accéder à partir de terminaux à différentes parties des données stockées dans un système informatique central et garantisse la confidentialité des données. Un autre objectif est que le contrôleur fournisse une transmission des données efficace et exempte d'erreurs.
La présente invention fournit un contrôleur de transmission des données de l'accès à celles-ci pour un ordinateur central relié par des ports entrée/sortie à des voies de communication par un réseau public commuté par paquets pour communiquer avec plusieurs terminaux déportés, le contrôleur comprenant :- un circuit de contrôle ; un fichier stocké d'adresses d'appareils de stockage pour modules de données ; un fichier d'accès stocké et doté d'enregistrements d'accès, dont chacun possède un ou plusieurs codes d'autorisation avec des renvois à des modules de données ; un système de test des messages entrants reçus aux ports d'entrée pour les erreurs de transmission qui répondent à ce système de test pour générer un indicateur d'erreurs ;
un système de test des messages entrants qui sont dépourvus d'erreurs de transmission pour les erreurs de message, ainsi qu'un système répondant au dit système de test pour l'analyse
<Desc/Clms Page number 3>
des erreurs et la génération de messages pour transmission au terminal émetteur de l'erreur ; un système dans le circuit de contrôle pour l'extraction d'un enregistrement d'accès pour un message reçu : et un système dans le circuit de contrôle pour lire les codes d'autorisation dans l'enregistrement d'accès et contrer les instructions de lecture venant du terminal pour des modules de données autres que ceux indiqués aux codes d'autorisation.
De préférence, le contrôleur comporte un contrôleur de session relié hiérarchiquement à un contrôleur de transport pour générer des instructions de session et de transport et tester des signaux entrants selon des critères de session et de transport.
Dans une autre réalisation, le contrôleur comporte un contrôleur de message relié aux processeurs de l'ordinateur central et comprenant un système pour la génération d'instructions de messages à un niveau élevé et l'exécution d'un test selon les critères de messages.
On comprendra plus clairement la présente invention à partir de la description suivante de certaines de ses réalisations préférentielles, qui n'est fournie qu'à titre d'exemple et en référence aux dessins qui l'accompagnent et dans lesquels :- la fig. 1 est une représentation schématique d'un système de traitement de données qui incorpore un contrôleur de transmission des données et d'accès à celles-ci selon la présente invention ; la fig. 2 est une représentation schématique du contrôleur ; et la fig. 3 est un organigramme illustrant le fonctionnement du contrôleur.
La fig. 1 montre un système de traitement de données 1 doté de plusieurs terminaux 2. Ces derniers peuvent être des terminaux
<Desc/Clms Page number 4>
intelligents, comme des micro-ordinateurs, ou des terminaux muets. Les terminaux 2 sont susceptibles d'être reliés à un réseau public 3 commuté par paquet X25 par l'intermédiaire de modems ou
EMI4.1
de lignes commutées.
ZD Un commutateur 4 de données X25 est également relié au réseau 3, par l'intermédiaire d'un modem 5 à 9.600 bauds. En outre, le commutateur 4 est relié au réseau 3 par un circuit 6 de
EMI4.2
communications Vil pour communiquer avec le réseau 3 sur une largeur de bande de 64K. Le circuit de communications Vil est relié au commutateur 4 par l'intermédiaire d'un circuit d'interface 7, dont le côté commutateur fonctionne sur un protocole V24.
Le commutateur 4 contrôle l'accès des terminaux 2 à diverses destinations à l'intérieur d'un système informatique central. Celuici comprend un ordinateur central 8, un ordinateur déporté 9 et un ordinateur local 10, le premier étant accessible par des réseaux supplémentaires, non montrés sur le dessin. Le commutateur 4 est relié à un commutateur de données multi-protocole 11, qui est également relié à l'ordinateur central 8 ainsi qu'à beaucoup d'autres appareils non montrés sur le dessin. Le commutateur de données multi-protocole 11 comprend un processeur 80186 fonctionnant à 16 MHz avec une mémoire vive de 1,0 MByte et relié à un disque dur de 20 MBytes. Il stocke un nombre considérable d'instructions de commutation.
Le commutateur de données 11 fournit des options supplémentaires pour communiquer avec d'autres appareils. La présence des processeurs sur carte dans le commutateur 11 confère de la souplesse au mode de sélection des instructions d'acheminement. L'ordinateur central 8 est également relié aux lignes louées 12 pour les communications déportées.
Si l'on se reporte à présent à la fig. 2, on y trouvera l'illustration d'un contrôleur de transmission de données et d'accès à celles-ci 20 intégré dans un ordinateur central 8. Le contrôleur 20 est relié à des ports de communications 21, à des appareils de stockage magnétique 22 et à des processeurs 23 situés dans l'ordinateur central 8. Le contrôleur de communications 20 comporte lui-même
<Desc/Clms Page number 5>
un circuit de contrôle 24 qui est directement relié à chacune des parties susmentionnées de l'ordinateur central et est raccordé de manière interne à un contrôleur de messages 25, à un contrôleur de sessions 26 et à un contrôleur de transport 27.
Le circuit de contrôle 24 est un circuit matériel relié aux ports 21 pour le contrôle des communications mais peut également extraire, des appareils de stockage 22 les programmes destinés à diverses opérations. Les contrôleurs 25,26 et 27 sont des modules de programme qui sont eux aussi extraits des appareils de stockage 22. Il est toutefois possible d'envisager que ces contrôleurs soient des circuits matériels, selon les exigences du choix de la configuration.
On trouvera une meilleure description de la structure des divers circuits et contrôleurs si l'on se rapporte à l'organigramme de la fig. 3, qui expose leur mode de fonctionnement. Avant de détailler ce dernier, on peut dire que les opérations techniques effectuées par le contrôleur 20 consistent à établir des liaisons de communications avec les terminaux 2 et à contrôler la transmission des données dans les deux sens, ainsi que, plus particulièrement, à contrôler l'accès des terminaux 2 pour seulement certains blocs de données, afin de garantir la confidentialité des données. Il importe que ces opérations techniques soient exécutées avec une puissance de traitement relativement réduite et relativement peu d'interférences avec les processeurs 23 de l'ordinateur central.
Si l'on se reporte à la fig. 3, on y trouvera l'illustration d'une procédure de communication exécutée par le contrôleur 20 et désignée d'une manière générale par le chiffre de référence 30. A l'étape 31, le circuit de contrôle 24 montre dans les appareils de stockage 22 un fichier de communication doté d'adresses physiques dans les appareils de stockage pour des blocs ou modules de données. Dans la présente réalisation, chaque module est associé à un client particulier d'une société de manutention de cargaisons. La méthode 30 implique également de commencer par générer un
<Desc/Clms Page number 6>
fichier d'accès pour le stockage des enregistrements d'accès à l'étape 23, chaque terminal 2 (c'est-à-dire, en l'occurrence, chaque client) disposant d'un enregistrement d'accès.
Ces enregistrements d'accès générés à l'étape 33 ont une taille de 500-1.000 Bytes et comprennent une série de codes d'autorisation ainsi que des données associées au client. Les codes d'autorisation sont liés aux modules de données de telle manière qu'un code puisse être, par exemple, relié à un seul module, tandis qu'un autre l'est à plusieurs.
Dans le présent exemple, plus la valeur numérique du code d'autorisation (qui est numérique) est basse, moins sont nombreux les modules qui y sont reliés.
Dans la procédure 30, les étapes 38 à 48 concernent la réception des données et leur mode de contrôle, tandis que les étapes 34 à 37 touchent à la transmission des données. On commencera par expliquer en détail la transmission des données.
A l'étape 34, un message de données est généré par le contrôleur de messages 25. Ce message possède le format d'une zone de données avec un en-tête et un label de fin. Une zone de message est générée par l'un des processeurs 23 et la globalité du message est généré par le contrôleur de messages 25 en lien avec les processeurs 23. L'en-tête et le label de fin font office de données de contrôle pour l'acheminement et les besoins d'administration à l'intérieur de l'ordinateur central 8.
A l'étape 35, les instructions de session destinées au message sont générées par le contrôleur de sessions 26. Le contrôleur de sessions 26 fonctionne hiérarchiquement en lien avec le contrôleur de messages 25, sur une base prévoyant l'établissement de deux sessions pour chaque échange de messages : une de ces sessions est déclenchée par la source, pour le transfert du message de la source à sa destination, tandis que la seconde est déclenchée par la destination et est utilisée pour faire parvenir de la destination à la source des données liées aux messages.
Les instructions générées par le contrôleur de sessions 26 comprennent un message de mot de passe doté d'une première zone avec un identificateur de session,
<Desc/Clms Page number 7>
une deuxième zone avec un identificateur d'utilisateur et une troisième zone avec un mot de passe d'utilisateur. Par la suite, les messages générés comprennent la zone d'identificateur de session suivie de la zone de données.
A l'étape 36, des instructions de transport ou de transmission sont générées par le contrôleur de transfert 27. Ici aussi, le contrôleur de transport fonctionne hiérarchiquement en lien avec le contrôleur de sessions 26. Les instructions générées à l'étape 37 comprennent un message doté d'une première zone avec un indicateur de longueur, une seconde zone avec un identificateur de transmission, une troisième zone avec une référence de destination, une quatrième zone avec une référence de source, une cinquième zone avec une option de classe et une sixième zone avec une indication de la longueur du message. La longueur du message doit être comprise entre 128 Bytes et une valeur supérieure à spécifier.
Parmi les autres instructions pouvant être générées par le contrôleur de transfert 27 figure une instruction de déconnexion, qui possède une première zone avec un indicateur de longueur, une deuxième zone avec un identificateur de type de message, une troisième zone avec une référence de destination, une quatrième zone avec une référence de source et une cinquième zone avec un motif de déconnexion.
A l'étape 37, les données sont communiquées physiquement sur le réseau X25 par l'intermédiaire du commutateur de données 4 et selon le protocole X25.
Il s'est avéré que si la génération des messages et l'établissement de la connexion s'effectuent avec un terminal 2 utilisant les étapes 34 à 37 de manière hiérarchique, le message est généré de manière efficace et le nombre d'erreurs qui se produisent est relativement modeste.
Pour la réception des messages et le contrôle de l'accès aux données, l'étape 38 représente les opérations d'interrogation en continu des ports d'entrée 21. Cette étape est exécutée par le
<Desc/Clms Page number 8>
circuit de contrôle 24. Un message est reçu à l'étape 39 et transmis à l'étape 40 au contrôleur de transport 27 pour le contrôle des erreurs. Dans la présente réalisation, trois tests principaux sont effectués par le contrôleur de transport 27 :-
1. Vérifications d'erreurs de transport. Une de ces vérifications consiste à contrôler que le premier message reçu est bien compris dans la plage qui va de 128 Bytes à la valeur initialement proposée.
Le contrôleur 27 ne procède à aucune correction d'erreur en réponse aux erreurs repérées et, à l'étape
42, un indicateur est généré pour informer l'utilisateur de l'ordinateur central 8 de l'occurrence d'une erreur.
2. Test d'erreurs de réseaux. Si une indication de remise à zéro est transmise par le réseau X25, un indicateur signalant ce fait doit être généré à l'étape 42.
3. Erreurs de protocole. Ce point comprend, par exemple, un message initial invalide provenant du terminal ou toute incompatibilité avec les protocoles de transmission X25.
Si le contrôleur de transport 27 ne repère pas d'erreurs, le contrôleur de sessions, à l'étape 43, contrôle-également de manière hiérarchisée-les messages entrants. Dans ce cas, les principaux critères sont les suivants :-
1. Erreurs de session. Si, par exemple, le message reçu constitue
EMI8.1
une réponse à un message sortant pour un terminal 2, une erreur e p de session indiquera le fait que le répondant (en l'occurrence, le terminal 2) est occupé et qu'il a franchi un seuil pour les messages à l'arrivée. Ici aussi, il n'y a pas de correction des erreurs et un indicateur est généré à l'étape 45.
2. Erreurs de transport. Ces erreurs sont semblables à celles vérifiées par le contrôleur de transport 27.
3. Erreurs de protocole. Des tests d'erreurs de protocole plus étendus sont exécutés par le contrôleur de session 26.
<Desc/Clms Page number 9>
Enfin, à l'étape 46, le contrôleur de messages 25 procède de manière hiérarchisée à des tests supplémentaires pour repérer des erreurs qui se seraient produites. Ces tests comprennent des tests sur les erreurs de transmission et de protocole et sont semblables à ceux exécutés antérieurement, sauf qu'il est procédé à un test sur les erreurs d'application, en l'occurrence l'information intelligente contenue dans les messages. Ces tests sont équivalents à ceux que généreraient les processeurs 23. Les erreurs de ce type peuvent comprendre, par exemple, un spécificateur de destination invalide.
Si, comme l'indique l'étape de décision 47, des erreurs sont repérées, elles sont analysées par le contrôleur de messages 25 en lien avec les processeurs 23 et sont utilisées pour générer à l'étape 34 un message indiquant à la source d'erreur qu'une erreur est survenue. S'il n'y a pas d'erreurs, le contrôleur de messages 23 vérifie à l'étape 49 dans le fichier d'accès les modules de données auquel l'accès est autorisé selon les codes d'autorisation stockés.
L'accès à ces modules de données est alors libéré par le circuit de contrôle 24, qui contre également les instructions de lecture pour tout autre module de données.
On notera que ce mode de contrôle de l'accès à des données permet d'exécuter des tests étendus pour s'assurer que des erreurs ne sont pas survenues. Ce point est extrêmement important : en effet, quelles que soient les mesures techniques prises pour garantir une restriction de l'accès à certains modules de données, ces contrôles d'acheminement peuvent être"court-circuités"si des tests étendus ne sont pas exécutés au préalable. Ainsi, la présente invention garantit la préservation de la confidentialité des données stockées et le traitement efficace et complet des communications. Ce point est très important pour les situations où la confidentialité des données doit être préservée, comme dans le cas d'une société de manutention de cargaisons et de ses clients.
La présente invention ne se limite pas aux réalisations décrites ci- dessus mais peut être modifiée dans sa structure et dans ses détails.