FR 2655168 A1 19910531 FR 9013032 A 19901022 Cette invention se rapporte aux notifications de panne dans un réseau d'ordinateurs dans lequel plusieurs parties d'un programme d'application exploitées simultanément passent chacune sur un noeud différent du réseau d'ordinateurs. Dans le traitement moderne de données par ordinateur, une efficacité améliorée dans l'exécution d'un programme d'application est souvent réalisée en séparant le programme en plusieurs parties exploitées simultanément et en passant chaque partie sur une unité centrale de traitement (UC) différente à l'intérieur d'un réseau d'ordinateurs Les diverses parties du programme d'application passent chacune en tant que processus séparé sur une UC spécifique Les diverses parties peuvent être actives une à une avec les autres parties inactives en mode "attente", ou elles peuvent être toutes actives en même temps en tant que parties exploitées simultanément du traitement total des données. Pour une exécution fiable du programme d'application tout entier, chaque UC passant une des parties du programme doit fonctionner correctement pendant tout le traitement de cette partie Si une partie du programme d'application tombe en panne à cause d'une avaried'une UC, il est impératif qu'une notification de la panne soit faite pour permettre à un gestionnaire de réseau de mettre en oeuvre des actions correctives appropriées Par exemple, le gestionnaire de réseau peut transférer la partie défaillante du programme d'application à une autre UC sur le réseau pour exécution. La surveillance de l'exploitation correcte du réseau est une fonction qui consomme du temps et cependant importante, effectuée typiquement par les gestionnaires et opérateurs de réseaux Lors d'une avarie d'une UC, le gestionnaire de réseau doit établir si l'UC exécutait une partie d'un programme d'application exploitée simultanément, identifier le programme d'application et la partie passant sur l'UC défaillante et ensuite prendre des mesures appropriées pour relancer le programme d'application En conséquence, il existe un besoin pour un mécanisme automatique fiable pour détecter une panne parmi des composants de réseau passant des parties d'un programme d'application exploitées simultanément et pour fournir une notification informative efficace de la panne. La présente invention fournit un mécanisme automatique de notification de panne qui est quasi totalement transparent aux développeurs d'application et qui est facilement mis en oeuvre en insérant une instruction d'appel de sous-programme dans chaque partie d'un programme d'application Le mécanisme comprend un ensemble de sous-programmes liés, appelés par chaque partie du programme d'application et opérant grâce à l'utilisation d'un gestionnaire de blocage distribué, pour lier et lier en inverse les diverses parties du programme d'application distribué Le mécanisme de notification de panne se sert des liaisons et des liaisons inverses pour initialiser une communication de panne lors de l'avarie d'une UC exécutant une partie du programme d'application La communication de panne contient des informations qui sont suffisantes pour lancer une récupération automatique à partir de la panne, sans besoin d'intervention manuelle par un opérateur ou un gestionnaire de réseau. Un gestionnaire de blocage distribué, comme par exemple le gestionnaire de blocage distribué VMS (système à mémoire virtuelle) commercialisé par Digital Equipment Corporation, est un mécanisme pour coordonner un large accès sur le réseau à des fichiers et à leurs enregistrements individuels et pour synchroniser des évènements interprocessus à travers le réseau tout entier Généralement, le mécanisme de blocage autorise un programmeur à nommer chaque ressource sur le réseau, soit physique soit logique, et à exiger qu'un programme d'application passant sur une UC (c'est-à-dire un processus) demande un blocage pour cette ressource, préalablement à l'accès à la ressource nommée Par exemple, une base de données ou un sousensemble de celle-ci peut être une ressource et un blocage peut être l'un parmi plusieurs modes de blocage reconnus par le gestionnaire de blocage Les modes de blocage peuvent comporter plusieurs privilèges d'accès lecture et écriture partagés ou exclusifs à cette ressource, pour partager l'accès avec d'autres processus ou prévenir l'accès par d'autres processus. Le gestionnaire de blocage maintient aussi des files accordées et des files d'attente pour les demandes de blocage pour chaque ressource nommée et prend en charge les demandes en attente selon la méthode premier arrivé, premier servi Une demande de blocage est placée dans une file accordée lorsque la demande est accordée et est placée dans une file d'attente lorsque la demande de blocage est incompatible avec une demande de blocage déjà accordée Chaque processus passant dans un réseau peut, à partir d'une file de demandes de blocage, mettre dans la file et enlever de la file des demandes de blocage et, de plus, peut spécifier un branchement système asynchrone dans la demande de blocage. Un branchement système asynchrone est une routine qui interrompt un processsus qui passe, lors de l'occurrence d'un évènement, et ensuite passe à l'exécution Dans le mécanisme de blocage, les évènements peuvent comporter l'accord d'une demande de blocage ou la formation d'une demande de blocage qui est incompatible avec une demande de blocage déjà accordée Lorsqu'un branchement système asynchrone est appelé par l'accord d'une demande de blocage, il est désigné sous le nom de AST final Lorsqu'un branchement système asynchrone est appelé par la formation d'une demande de blocage qui est incompatible avec une demande de blocage déjà accordée, il est désigné sous le nom de BSA de blocage Un processus qui spécifie un AST avec sa demande de blocage sera interrompu par la routine se rapportant au BSA spécifié lorsque la demande de blocage est accordée, dans le cas d'un BSA final, ou lorsqu'un autre processus fait une demande pour un mode blocage qui est incompatible avec le mode de blocage accordé au processus, dans le cas d'un AST de blocage. En addition, un gestionnaire de blocage peut comporter un moyen de communication qui peut comprendre un bloc de valeurs de blocage associé avec les files de blocage pour le nom de ressource Un bloc de valeurs de blocage peut contenir, par exemple, 16 multiplets d'informations qui peuvent être entrés et/ou lus par un processus par l'intermédiaire de la mise dans une file et de l'enlèvement d'une file de demandes de blocage Les informations peuvent comprendre des messages interprocessus. La présente invention fournit un mécanisme de notification de panne en nommant certaines ressources logiques se rapportant à des processus qui constituent les parties d'un programme d'application distribué et en exigeant un certain ensemble de demandes ordonnées de blocage compatibles et incompatibles pour ces ressources, pour lier et lier en inverse les processus par l'intermédiaire des files de demandes de blocage La présente invention spécifie aussi des branchements système asynchrones finaux et de blocage dans les demandes de blocage, pour faire paraître des demandes de blocage à liaisons inverses et fournir une notification de panne lors de l'avarie d'une UC passant une des parties du programme d'application. Les ressources logiques comportent une ressource "SPECIAL", une ressource "EMISSION", une ressource "PERMISSIONPOURPARLER", et une ressource nommée univoquement pour chacune des parties du pro- gramme d'application La ressource SPECIAL est le pro- cessus choisi pour recevoir une notification de panne chaque fois qu'une des autres parties du programme tombe en panne et pour entreprendre une action correc- tive La ressource EMISSION se sert du moyen de communi- cation du gestionnaire de blocage pour aviser la res- source SPECIAL lorsqu'une partie du programme d'applica- tion est introduite ou quitte le réseau La ressource PERMISSIONPOUR_PARLER opère conjointement avec la ressource EMISSION pour assurer la transmission de messages entre les processus Finalement, chaque proces- sus exécutant une portion du programme d'application nomme une ressource qui identifie univoquement la par- tie, par exemple, le nom de la ressource peut être basé sur le nom du noeud o le processus est situé à l'intérieur du réseau. Le mécanisme de panne est activé par une simple instruction d'appel de sous-programme, qui est insérée dans chaque partie d'un programme d'application par un programmeur L'instruction d'appel de sous-programme appelle une routine INSTALLATION La routine INSTALLATION fait toutes les demandes de blocage et les appels de branchements système asynchrones asso- ciés nécessaires pour installer le mécanisme de panne. L'utilisation de la routine INSTALLATION, qui est rési- dente dans le réseau et disponible pour tous les pro- grammes d'application, rend le mécanisme de panne trans- parent au développeur d'application La routine INSTAL- LATION fait trois demandes de blocage au nom du processus qui l'a appelée, comme suit: 1 Demande pour un blocage sur la ressource EMISSION, dans un mode de blocage LECTURE SIMULTANEE (la routine INSTALLATION attendra l'accord de cette demande de blocage); 2 Demande pour un blocage sur la ressource nommée d'après la partie spécifique du programme d'application, appelée ci-inclus une ressource SERVEUR_XXX (dans laquelle X identifie univoquement la partie du programme d'applica- tion établissant le processus d'appel), dans un mode de blocage ECRITURE PROTEGEE (la routine INSTALLATION attendra l'accord de cette demande de blocage); et 3 Demande pour un blocage sur la ressource SPECIAL, dans un mode de blocage EXCLUSIF; La demande de blocage pour la ressource SPECIAL en mode EXCLUSIF spécifie un BSA final appelé SPECIAL BSA. Puisque la demande concerne un mode de blocage EXCLUSIF, la demande de blocage sera accordée à un seul des processus du programme d'application, habituellement le premier à faire la demande Les autres processus du programme d'application auront leur demande de blocage respective placée dans une file ATTENTE DE DEMANDE DE BLOCAGE POUR SPECIAL EN MODE EXCLUSIF Le processus dont la demande en mode EXCLUSIF est accordée est ensuite interrompu par la routine finale SPECIAL BSA qui fait que ce processus assume la responsabilité de la réception et de l'action lors d'une notification de panne (le processus dont le blocage EXCLUSIF est accordé est désigné sous le nom de serveur spécial). Plus spécifiquement, SPECIAL BSA se sert du gestion- naire de blocage pour obtenir une liste de tous les proces- sus dans la file ATTENTE DE DEMANDE DE BLOCAGE POUR SPECIAL EN MODE EXCLUSIF Il faut bien comprendre que la liste issue de la file ATTENTE POUR DEMANDE DE BLOCAGE POUR SPECIAL EN MODE EXCLUSIF correspond à tous les autres processus du programme d'application Donc, la liste fournit une liaison directe entre le processus auquel est affectée la responsabilité de la réception de la notification de panne et les autres processus du programme d'application, par l'intermédiaire de la file ATTENTE DE DEMANDE DE BLOCAGE POUR SPECIAL EN MODE EXCLUSIF. SPECIAL BSA sort ensuite une demande de blocage en mode EXCLUSIF pour chacune des ressources SERVEUR XXX correspondant aux processus dans la liste de La file d'attente Puisque la demande de blocage en mode EXCLUSIF est incompatible avec les blocages ECRITURE PROTEGEE accor- dés aux processus listés correspondant aux ressources SERVEUR_XXX, chacune des demandes de blocage faites par SPECIAL_BSA au nom du serveur spécial sera placée dans une file respective ATTENTE DE DEMANDE DE BLOCAGE POUR SERVEUR_XXX EN MODE EXCLUSIF, une pour chaque processus dans la liste La demande de blocage en mode EXCLUSIF pour chaque SERVEUR_XXX spécifiera aussi un BSA final appelé ECHEC_BSA. Donc, les demandes de blocage exclusives faites au nom du serveur spécial par SPECIAL BSA fournissent des liaisons inverses entre le serveur spécial et toutes les autres parties du programme d'application par l'intermé- diaire des files d'attente des ressources SERVEUR XXX. Chaque fois qu'une UC particulière tombe en panne, le blocage accordé pour le SERVEURXXX du processus passant sur cette UC sera enlevé de la file ayant l'accord par le gestionnaire de blocage et la demande de blocage EXCLU- SIF faite par le serveur spécial sera ensuite accordée. En conséquence, la routine finale ECHECBSA interrompra le passage du processus sur le serveur spécial ECHEC_BSA fait passer une routine pour identifier quel processus est tombé en panne par l'intermédiaire de l'utilisation du nom univoque de la ressource SERVEUR XXX pour laquelle le serveur spécial a eu Le blocage EXCLUSIF accordé, et peut, par exemple, soit envoyer un message à une boite aux lettes spécifiée, soit appeler une routine préparée par le programmeur d'application pour prendre automatique- ment en charge une panne d'une partie du programme. L'utilisation de liaisons directes et inverses par l'intermédiaire de files d'attente du gestionnaire de blocage avec les routines finales SPECIAL BSA et ECHEC_BSA fournit un mécanisme automatique de notification de panne, qui est réalisé de manière pratique par l'insertion d'une simple instruction d'appel de sous- programme dans chacune des diverses parties du programme d'application. La figure 1 est un schéma fonctionnel d'un réseau d'ordinateurs. La figure 2 est un schéma fonctionnel du réseau d'ordinateurs de la figure 1 comportant l'illustration d'un programme passant sur plusieurs composants du réseau d'ordinateurs. La figure 3 est le détail d'un enregistrement de travaux stocké dans le fichier disque du réseau d'ordinateurs illustré dans la figure 2. La figure 4 est un organigramme d'une routine INSTAL- LATION selon la présente invention. La figure 5 est un organigramme d'une routine SPECIAL BSA selon la présente invention. La figure 6 est un schéma fonctionnel logique de plusieurs parties d'un programme d'application, liées et liées en inverse l'une à l'autre par l'intermédiaire de files du gestionnaire de blocage selon la présente invention. La figure 7 est un organigramme d'une routine ECHEC_ BSA selon la présente invention. La figure 8 illustre des organigrammes l'un à côté de l'autre pour les routines GROUPER_EMISSION et MSGBSA selon la présente invention. En se reportant maintenant à la figure 1, un réseau d'ordinateurs est illustré, comportant plusieurs unités centrales de traitement (UC) 10, 11, 12, 13, uneinterface utilisateur 14 et une base de données du fichier disque, 15 Les UC 10, 11, 12, 13, l'interface utilisateur 14 et le fichier disque 15 sont tous couplés les uns aux autres par un bus commun 16 Chacune des UC 10, 11, 12 et 13 comprend une unité de traitement de données autonome avec sa propre mémoire principale et peut communiquer avec les autres composants du réseau par le bus commun 16 La base de données du fichier disque, 15, est une ressource partagée qui est accessible à toutes les UC 10, 11, 12, 13 et à L'interface utilisateur 14. En se reportant aux figures 2 et 3, la base de données du fichier disque, 15, contient un enregistrement des travaux, 16, pour chaque programme d'application sur le réseau Comme illustré dans la figure 3, l'enregistrement des travaux, 16, est une zone de données contenant des informations qui identifient le programme et indiquent des attributs pertinents au programme tels que, par exemple, une instruction de passage de programme, une demande pour passer le programme, une zone UC pour identifier les UC 10, 11, 12, 13 o le programme doit passer, une liste de distribution pour identifier quelles parties du programme doivent passer séparément sur les diverses UC 10, 11, 12, 13, l'action à entreprendre lors de l'avarie de l'une quelconque des UC, un emplacement de fichierde sortie de données, un emplacement de boite aux lettres pour recevoir des messages et toute autre information exigée pour passer le programme sur le réseau. Pour passer un programme, un opérateur de réseau se servira de l'interface utilisateur 14 pour accéder à l'enregistrement des travaux, 16, pour le programme, dans la base de données du fichier disque, 15, et pour insérer une demande pour passer Le programme, dans la zone de demande de passage de programme de l'enregistrement des travaux, 16 L'opérateur de réseau ordonnera ensuite à un exécuteur de programme, 17, sur l'UC 10 par exemple, de consulter l'enregistrement des travaux, 16, du programme d'application. L'exécuteur de programme 17 va lire les données dans l'enregistrement des travaux, 16, y compris La demande pour passer le programme insérée par L'opérateur de réseau, et réaliser l'exécution du programme d'application en accord avec les informations contenues dans l'enregistrement des travaux, 16 Par exemple, le programme peut comprendre un programme de traitement de données par lots qui spécifie, dans sa zone de distribution, que trois parties différentes 18, 19, 20 du programme doivent passer simultanément, une partie sur chacune des UC 11, 12, 13. Conformément à une caractéristique de l'invention, un gestionnaire de blocage distribué 21 et une bibliothèque objet 22 sont tous deux situés sur chaque UC , 11, 12, 13 La bibliothèque objet 22 contient une série de sous-programmes qui peuvent être appelés par chaque partie 18, 19, 20 du programme d'application Les sous-programmes opèrent par l'intermédiaire de l'utilisation du gestionnaire de blocage 21 pour affecter la responsabilité des notifications à une des parties 18, 19, 20 (désignée ci-après sous Le nom de serveur spécial) et former des liaisons et des liaisons inverses entre le serveur spécial et les autres parties 18, 19, 20 du programme d'application. Le gestionnaire de blocage distribué 21 peut comprendre un gestionnaire de blocage distribué VMS (système à mémoire virtuelle) qui autorise un processus à nommer une ressource et demande un "blocage" spécifié sur le nom de la ressource La ressource peut être une ressource quelconque logique ou physique dans le réseau d'ordinateurs et le blocage représente un privilège d'accès écriture et lecture à la ressource Le type de blocage spécifique est désigné sous le nom de mode de blocage Les divers modes de blocage disponibles sur le gestionnaire de blocage distribué VMS sont comme suit 1 1 Mode de blocage Nom du mode Description du blocage _________________________________________________________ MODE NUL (NL) LCK$K NLMODE LECTURE SIMULTANEE (LS) ECRITURE SIMULTANEE (ES) LECTURE PROTEGEE (LP) LCK$K CRMODE LCK$K CWMODE LCK$K PRMODE Ce mode place un signe d'attente dans l'espace nom et indique un intérêt futur dans la ressource. Plus tard, le blocage peut être converti en un mode de blocage supérieur plus vite que si le blocage était initialisé dans ce mode. Ce mode permet à un processus de lire des données à partir d'une ressource de manière non protégée pendant que d'autres processus peuvent modifier les données Ce mode est utilisé de manière typique lorsque des processus de partage lisent des données uniquement. Ce mode permet à un processus d'écrire des données de manière non protégée pendant que d'autres processus peuvent écrire simultanément des données sur la même ressource. Ce mode permet à des processus de partager l'accès lecture à une ressource, mais pas d'écrire sur La ressource en même temps. ECRITURE LCK$K PWMODE Ce mode permet à un PROTEGEE (EP) processus d'avoir L'accès écriture à la ressource, et permet à d'autres processus de Lire à partir de mais pas d'écrire sur La ressource en même temps Les autres processus doivent avoir L'accès Lecture en paral Lèle. EXCLUSIF LCK$K EXMODE Ce mode permet L'accès (EX) écriture à la ressource et prévient que d'autres processus ne lisent à partir de ou n'écrivent sur la ressource Ce b Locage prévient que tout autre processus exp Loité simultanément ne devienne maître jusqu ' ce que Le processus ayant l'accord pour Le mode de b Locage EXCLUSIF libère La ressource. Les modes de blocage fournissent un moyen pour -coordonner L'accès à une ressource parmi divers processus passant dans un réseau d'ordinateurs Par exemp Le, Le mode de b Locage EXCLUSIF fait d'un processus le maltre d'une ressource nommée, puisqu'aucun autre processus ne peut ni lire à partir de, ni écrire sur la ressource pendant qu'elle est dans Le mode de blocage EXCLUSIF D'autre part, un mode de blocage ECRITUR E PROTEGEE est moins restrictif parce que, alors qu'un seul processus peut écrire sur la ressource nommée, d'autres processus sont libres de lire à partir de la ressource nommée Les autres modes de blocage sont moins restrictifs pour fournir des degrés variables de privilèges d'accès lecture et écriture en parallèle et exclusifs à une ressource nommée. Le gestionnaire de blocage 21 ne met pas activement en vigueur le procédé de blocage, de sorte qu'il est important que chaque processus fasse une demande de blocage appropriée avant de tenter d'accéder à une ressource, pour un fonctionnement correct du procédé de blocage La mise en vigueur du procédé de blocage est réalisée en mettant en vigueur une convention, par exemple, en faisant toujours qu'un processus fasse la demande de blocage appropriée pour une ressource nommée et en autorisant le processus à continuer uniquement si la demande de blocage est accordée. Par exemple, si un processus veut lire à partir d'une base de données qui est une ressource nommée, le processus demandera un blocage LECTURE SIMULTANEE sur la base de données Si cette base de données est déjà soumise à un mode de blocage EXCLUSIF accordé, l'accord de la-demande pour LECTURE SIMULTANEE ne sera pas compatible avec le mode de blocage EXCLUSIF déjà accordé pour la ressource Donc, le gestionnaire de blocage 21 n'accordera pas la demande pour LECTURE SIMULTANEE. Le tableau suivant illustre la compatibilité entre les divers modes de blocage du gestionnaire de blocage 21: Compatibilité des modes de blocage _________________________________________________________ Mode NL CR CW PR PW EX _________________________________________________________ NL oui oui oui oui oui oui CR oui oui oui oui oui non CW oui oui oui non non non PR oui oui non oui non non PW oui oui non non non non EX oui non non non non non Le gestionnaire de blocage 21 exerce une influence mutuelle avec les processus passant sur les diverses UC du réseau d'ordinateurs, par l'intermédiaire de certains services du système mis à la disposition des processus, comme suit: Services du gestionnaire de blocage _________________________________________________________ Nom service Sens sémantique Fonction _________________________________________________________ $ENQ Met demande de blocage dans une file $ENQW $GETLKI $GETLKIW Met demande de blocage dans une file et attend Obtient information de blocage Obtient information de blocage et Demande un blocage sur une resource ou conver- tit un mode de blocage d'une ressource. Demande un blocage ou une conversion de mode de blocage sur une ressource et attend que le blocage soit accordé ou converti. Demande information sur la base de données de blocage 4 GETLKI n'attend pas le renvoi de l'information. Demande information sur la base de données de attend blocage 4 GETLKIW attend le renvoi de l'information. IDEQ Libère demande de Effectue une des blocage (enlever fonctions suivantes: d'une file) * Débloque blocages accordés * Annule, dans une file, une demande de blocage qui n'a pas été accordée. Le gestionnaire de blocage 21 met à jour une base de données de blocage, qui comprend une pluralité de files contenant des informations pour les demandes de blocage Chaque ressource nommée aura une série de files pour chaque mode de blocage comportant, pour chaque mode de blocage, une file accordée qui liste les processus ayant l'accord pour le mode de blocage, une file d'attente qui liste des demandes importantes faites par des processus, qui n'ont pas été accordées parce que le mode de blocage demandé est incompatible avec une autre demande de blocage déjà accordée et une file de conversion qui liste des demandes de blocage accordées dans un mode et attendant la conversion en un autre mode de blocage. Le gestionnaire de blocage 21 traitera chaque demande de blocage en se référant à la base de données de blocage pour vérifier la compatibilité avec les demandes déjà accordées et continuer ensuite pour soit accorder la demande de blocage, soit placer la demande dans une file d'attente Lorsqu'un processus libère un mode de blocage accordé, le gestionnaire de blocage 21 consulte la file d'attente pour ce mode de blocage et accorde ensuite le mode de blocage, sur une base premier arrivé, premier servi, à la demande de blocage suivante dans la file d'attente - Le gestionnaire de blocage 21 met aussi à jour un bloc d'état de blocage pour chaque blocage, pour un nom de ressource, pour indiquer dans quelle file sont placées les demandes de blocage pour ce blocage Un bloc à valve de blocage est lié à chaque bloc d'état de blocage Le bloc à valve de blocage peut comprendre, par exemple, 16 multiplets d'informations, qui peuvent être soit lus soit écrits par les processus ayant la demande de blocage accordée pour ce blocage Le bloc à valve de blocage sera disponible pour un processus ultérieur lorsque la demande de blocage est accordée pour le mode de blocage de la ressource nommée Donc, le bloc à valve de blocage peut servir de moyen de communication pour passer des messages de 16 multiplets entre les processus. En outre, chaque demande de blocage peut spécifier un BSA final ou un BSA de blocage, pour synchroniser l'accès aux ressources parmi les processus passant sur le réseau d'ordinateurs Comme expliqué ci-dessus, un BSA final interrompra un processus lorsqu'une demande de blocage faite par le processus est accordée et un BSA de blocage interrompra le processus lorsqu'un autre processus fait une demande de blocage qui est incompatible avec la demande de blocage déjà accordée au processus. En accord avec une caractéristique de l'invention, la bibliothèque objet 22 résidant dans chacune des UC 11, 12, 13 contient un ensemble de sous- programmes liés qui peuvent être appelés directement ou indirectement par les parties respectives des parties exploitées simultanément 18, 19, 20, du programme d'application passant sur les UC 11, 12, 13 respectivement Les sous-programmes sont INS- TALLATION, GROUPER-EMISSION, MSG_ BSA,SPECIAL BSA, ECHEC-BSA, LISTER-SERVEUR, MONTRER-SERVEUR et MISE-A-JOUR-INFO les sous- programmes se servent du gestionnaire de blocage 21 pour lier et lier en inverse les parties de l'application exploitées simultanément, 18, 19, 20, en nommant des ressources logiques se rapportant aux parties 18, 19, 20 de l'application et en faisant une série de demandes de blocage compatibles et incompatibles sur la ressource nommée, pour lier les parties 18, 19, 20, par l'intermédiaire des files de blocage mises à jour par le gestionnaire de blocage 21 Comme expliqué ci-dessus, les ressources comportent SPECIAL, EMISSION, PERMISSION_ POUR_PARLER, et une ressource SERVEUR X_VERSION correspondant à chaque partie 18, 19, 20 du programme d'application. Le développeur du programme d'application peut se servir du mécanisme depanne de la présente invention en insérant une simple instruction d'appel de sous-programme dans chaque partie 18, 19, 20 du programme d'application, pour appeler la routine INSTALLATION en provenance de la bibliothèque objet 22 dans l'UC 11, 12, 13 o la partie passe L'instruction d'appel de sous-programme spécifiera la routine INSTALLATION et fournira un argument pour identifier univoquement le programme d'application auquel appartient la partie appelant le sous-programme L'appel de sous- programme peut aussi fournir un argument identifiant un canal de boite aux lettres existant dans le réseau, pour recevoir des messages en provenance du mécanisme de panne L'indication d'un zéro en provenance du canal de boite aux lettres dira à la routine INSTALLATION d'ouvrir un canal de boite aux lettres pour le programme d'application Sinon, l'argument peut spécifier un branchement système asynchrone écrit par le programmeur, qui sert à interrompre le programme d'application et passe lors d'une notification de panne Le branchement système asynchrone peut spécifier des actions correctives. Tous les sous-programmes passant sur une UC particulière 11, 12, 13 dans le réseau sont exploités simultanément pour fournir un espace mémoire commun dans la mémoire principale de l'UC respective 11, 12, 13, pour stocker des informations se rapportant au mécanisme de panne instal Lé pour le programme d'application spécifique. L'espace mémoire commun est installé automatiquement par la routine INSTALLATION et est accessible à toutes les routines dans la bibilothèque objet 22 Tous les noms des ressources pour un programme d'application spécifique contiendront un préfixe correspondant au programme d'appli- cation spécifique, c'est-à-dire le préfixe passé comme argument dans l'appel à la routine INSTALLATION L'espace mémoire commun stocke des informations se rapportant à la partie 18, 19, 20 passant sur l'UC spécifique 11, 12, 13 Les informations indiquent que la partie 18, 19, a appelé INSTALLATION et est dans le mécanisme de panne et, de plus, si la partie est ou non le serveur spécial. En se reportant à la figure 4, un organigramme de la routine INSTALLATION est illustré L'instruction d'appel d'INSTALLATION, en 100, comme indiqué, est dans chaque partie 18, 19, 20 du programme d'application, de sorte que la routine passera séparément pour chaque partie 18, 19, 20 La routine INSTALLATION commence par faire une demande pour la ressource EMISSION dans un mode de blocage LECTURE SIMULTANEE, en 101, au nom de la partie qui a appelé la routine INSTALLATION en se servant du service SENQW du gestionnaire de blocage 21 La routine INSTALLA- TION attend ensuite que le mode de blocage soit accordé, en 102 Le service SENQW attend automatiquement l'accord du blocage La boucle illustrée dans l'organigramme sert à des fins illustratives, pour indiquer que la routine ne continue pas tant que le blocage n'est pas accordé. Le blocage sera accordé puisque toutes les routines INSTAL- LATION demandent des blocages LECTURE SIMULTANEE qui sont compatibles l'un avec l'autre La demande pour la ressource EMISSION spécifiera aussi la routine MSG BSA qui est un BSA de blocage, comme décrit plus en détail ci-dessous. Après l'accord de la demande pour la ressource EMISSION, la routine INSTALLATION fait ensuite une demande, en 103, pour une ressource qu'elle nomme dans la demande, par exemple, d'après le noeud (c'est-à-dire l'UC 11, 12, 13 o passe la partie 18, 19, 20), par exemple, SERVEUR_UC 11, dans un mode de blocage ECRITURE PROTEGEE Le système de mémoire virtuelle VMS utilisé dans la mise en applica- tion représentative de la présente invention fournit un service appelé SGETSYI qui peut être appelé par un proces- sus quelconque, pour identifier le noeud du réseau o passe le processus Sinon, la ressource SERVEUR_XXX peut être nommée directement d'après la partie 18, 19, 20 qui a appelé la routine INSTALLATION Tout cela est exigé afin que le nom de la ressource soit unique à la partie spécifique 18, 19, 20 du programme d'application La rou- tine INSTALLATION utilisera de nouveau le service SENQW du gestionnaire de blocage 21 La routine INSTALLATION attend ensuite en 104 que la demande pour SERVEUR_XXX soit accordée Cette demande sera aussi accordée, puisque chaque routine INSTALLATION demande un mode de blocage ECRITURE PROTEGEE sur une ressource spécifique nommée d'après son noeud correspondant qui est différent des noms de ressource pour lesquels un blocage est demandé par les autres routines INSTALLATION. La routine INSTALLATION fera ensuite une demande, par l'intermédiaire du service SENQ, pour la ressource SPECIAL dans un mode de blocage EXCLUSIF, en 105 La demande pour la ressource SPECIAL spécifie la routine SPECIAL_BSA qui est un BSA final Puisque toutes les routines INSTALLATION font une demande en EXCLUSIF, seule- ment une des routines INSTALLATION, habituellement la première dans le temps à en faire la demande, aura l'accord pour le mode de blocage EXCLUSIF Les autres demandes faites par les autres routines INSTALLATION passant sur le réseau seront toutes incompatibles avec le mode de blocage EXCLUSIF accordé Ces demandes seront ensuite placées dans une file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF par le gestionnaire de blocage distribué 21 Comme indiqué, la partie 18, 19, 20 ayant l'accord pour le mode de blocage EXCLUSIF est désignée sous le nom de serveur spécial et la routine INSTALLATION pour cette partie 18, 19, 20 met à " 1 " un bit dans l'espace mémoire commun respectif, pour indiquer l'état de serveur spécial. Après avoir fait la demande pour la ressource SPECIAL dans un mode de blocage EXCLUSIF, la routine INSTALLATION vérifie la mémoire commune pour voir si la partie corres- pondante 18, 19, 20 est le serveur spécial, en 106 Si la partie correspondante 18, 19, 20 est le serveur spécial, la routine INSTALLATION renvoie la commande à la partie 18, 19, 20, en 107 Si la partie correspondante 18, 19, n'est pas le serveur spécial, la routine INSTALLATION continue pour appeler la routine GROUPEREMISSION, en 108, ce qui sera expliqué plus en détail ci-dessous, con- jointement avec la routine de blocage MSG_BSA s'y rappor- tant et la ressource EMISSION. Puisque chaque routine INSTALLATION spécifie la rou- tine finale SPECIAL_BSA dans la demande pour la ressource SPECIAL, cette partie 18, 19, 20 qui a l'accord pour la ressource SPECIAL dans un mode de blocage EXCLUSIF par l'intermédiaire de la routine INSTALLATION appe Lée sera interrompue par la routine SPECIAL_BSA. En se reportant maintenant à la figure 5, un organi- gramme de la routine finale SPECIAL_BSA est illustré. La routine SPECIAL_BSA se sert initialement du service SGETLKIW du gestionnaire de blocage 21, en 201, pour obte- nir une liste de tous les processus actuellement dans la file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF. SPECIAL_BSA fait ensuite, en 202, une demande pour un mode de blocage EXCLUSIF, par l'intermédiaire du service SENQW du gestionnaire de blocage 21, pour chacune des ressources SERVEUR_XXX correspondant aux processus dans la liste obtenue à partir du service SGETLKIW SPECIAL_BSA peut soit renvoyer à l'enregistrement des travaux, 16, soit utiliser le service SGETSYI pour faire correspondre la partie 18, 19, 20 au nom du noeud o la partie passe. Donc, SPECIALBSA peut formuler les noms SERVEUR_XXX des ressources pour lesquelles il fait les demandes pour un blocage EXCLUSIF. Chaque demande pour SERVEUR_XXX spécifiera la routine de blocage ECHEC_BSA Il faut bien comprendre que chaque demande pour les ressources SERVEUR_XXX faite par SPECIAL_BSA sera incompatible avec le mode de blocage ECRITURE PROTEGEE déjà accordé à chaque processus sur la liste (voir 103, 104, fig 4) Donc, chaque demande faite par SPECIALBSA au nom du serveur spécial sera placée dans une file respective ATTENTE EXCLUSIVE DE DEMANDE POUR SERVEUR_XXX par le gestionnaire de blocage 21 Après avoir fait toutes les demandes en 202, SPECIAL_BSA renverra la commande à la partie 18, 19, 20 devenue serveur spécial, en 203. En se reportant maintenant à la figure 6, il y est illustré un schéma fonctionnel logique des parties 18, 19, 20 du programme d'application, liées et liées en inverse par le passage des routines INSTALLATION et SPECIALBSA Comme noté précédemment, chacune des diverses routines INSTALLATION appelées par les parties 18, 19, stocke des informations concernant la partie correspon- dante 18, 19, 20 dans un espace mémoire commun dans l'UC respective 11, 12, 13 La routine SPECIAL_BSA pour la partie 18, 19, 20 ayant l'accord pour le mode de blocage EXCLUSIF pour la ressource SPECIAL met à " 1 " un bit dans la zone de l'espace mémoire commun associée avec les infor- mations sur les parties correspondantes 18, 19, 20, pour indiquer l'état de serveur spécial. En supposant que la partie 18 a eu l'accord pour le mode de blocage EXCLUSIF pour la ressource SPECIAL, la demande de blocage correspondante faite par la partie 18 par l'intermédiaire de la routine INSTALLATION dans la bibliothèque objet 22 résidente dans l'UC 11, o passe la partie 18, sera dans la file accordée 51 pour le mode de blocage EXCLUSIF de la ressource SPECIAL, mise à jour par le gestionnaire de blocage distribué 21 La liste de la file 51 et le bit d'état du serveur spécial lient, par 50, La partie 18 au gestionnaire de blocage 21. Une Liaison directe, entre Le serveur spécial et les autres parties 19, 20 n'ayant pas L'accord pour le mode de blocage EXCLUSIF sur SPECIAL, est fournie par La file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF, 53, qui est accessible par 54 au serveur spécial, par l'intermédiaire du service SGETLKI du gestionnaire de blocage 21 (voir fig 5). Une liaison inverse 55 entre le serveur spécial et chaque autre partie 19, 20 du programme d'application est fournie par Les files ATTENTE EXCLUSIVE DE DEMANDE POUR SERVEURXXX, 56, installées par Le gestionnaire de blocage 21 lors de la formation des demandes EXCLUSIF au nom du serveur spécial (partie 18) par SPECIAL BSA, en 202 (fig 5) Naturellement, chaque ressource SERVEUR_XXX aura une file accordée 57 correspondante pour Le mode ECRITURE PROTEGEE, qui contient la demande faite par les routines INSTALLATION au nom de La partie corres- pondante 18, 19, 20 Les files accordées 57 complètent la Liaison inverse 55, par l'intermédiaire de la liaison 58, entre chaque partie 19, 20 et la file accordée 57 correspondante. L'indication en trait pointillé d'une quatrième partie de l'application représente une partie additionnelle qui peut être introduite dans le réseau après le passage de SPECIAL_BSA L'installation de la liaison inverse entre le serveur spécial et la nouvelle partie sera exp Liquée plus loin à propos de la ressource EMISSION. Les routines LISTER_SERVEUR MISE_A_JOUR_INFO et MONTRER_SERVEUR dans la bibliothèque objet 22 sont toutes fournies comme des services à un développeur d'application quelconque, de sorte qu'un développeur d'application peut appeler n'importe que L Le routine pour se servir des services du gestionnaire de blocage 21 en ce qui concerne les ressources nommées par Le mécanisme de panne. Par exemple, chaque partie 18, 19, 20 peut appeler la routine MISEA_ JOURINFO pour écrire des informations concernant la partie telles que, par exemple, numéro d'identification de logiciel, numéro de version, étape exécutée actuellement, etc, dans le bloc de valeurs de blocage associé au blocage pour la ressource SERVEURXXX correspondante La routine MISE A JOUR INFO autorise un développeur d'application à se servir de cette caractéristique de bloc de valeurs de blocage du gestionnaire de blocage VMS 21. La routine MONTRERSERVEUR permet à un processus quelconque passant dans le réseau d'obtenir et de lire le bloc de valeurs de blocage du SERVEUR_XXX dúne partie quelconque 18, 19, 20, pour obtenir les informations dans le bloc de valeurs de blocage De plus, la routine LISTER SERVEUR permet à un processus quelconque passant dans le réseau de lister les demandes dans les files du gestionnaire de blocage, pour obtenir par ce moyen des informations concernant les parties d'un programme d'application spécifique et pour savoir o elles passent. Une caractéristique du gestionnaire de blocage distribué VMS comporte une fonction de surveillance du fonctionnement des composants à l'intérieur du réseau. Lorsqu'une des UC 11, 12, 13, par exemple, tombe en panne, le gestionnaire de blocage distribué 21 invalide les demandes de blocage faites à partir de processus sur l'UC en panne et reforme les files en conséquence. Donc, la file accordée pour le SERVEUR XXX de la partie 19, 20 passant sur l'UC en panne sera vidée et le gestionnaire de blocage 21 consultera et accordera la demande en attente pour EXCLUSIF sur le SERVEURXXX, faite par SPECIALBSA au nom du serveur spécial La routine finale ECHEC BSA spécifiée par la demande EXCLUSIF (voir fig 5) interrompra ensuite le passage de la partie 18 et passera à l'exécution. En se reportant maintenant à la figure 7, un organigramme de la routine finale ECHEC BSA est illustré. ECHEC_BSA appelle d'abord un caractère de remplacement $GETLKIW, en 300, pour obtenir des informations sur la demande spécifique EXCLUSIF qui a été accordée au serveur spécial Un caractère de remplacement 4 GETLKIW renvoie des informations sur toutes les demandes de blocage d'un processus et renverra par conséquent des informations sur toutes les files de la ressource SERVEUR_XXX à la partie qui est le serveur spécial Celle dans laquelle le serveur spécial détient le mode de blocage EXCLUSIF correspond à la partie 19, 20 passant sur l'UC 12, 13 qui est tombée en panne Le nom de la ressource permet à ECHEC_BSA d'identifier la partie 19, 20 qui est tombée en panne à cause d'une défaillance d'UC. Par exemple, dans la mise en application représentative exposée ici, ECHEC BSA peut consulter l'enregistrement des travaux 16 pour le programme d'application et faire correspondre le nom du noeud utilisé pour nommer SERVEUR_XXX à la partie 18, 19, 20 passant sur te noeud. ECHECBSA avertira ensuite, en 301, le serveur spécial soit en écrivant un message de panne identifiant la partie en panne dans la boite aux lettres spécifiée dans l'argument de l'instruction d'appel de sous- programmme inséré dans la partie, soit en appelant un branchement système asynchrone spécifié par le développeur d'application De l'une ou l'autre façon, des informations sur la panne de cette partie du programme d'application sont fournies automatiquement au programme d'application de telle manière qu'une action corrective peut être entreprise Par exemple, le branchement système asynchrone spécifié dans l'appel àINSTALLATION peut lire la zone de l'enregistrement des travaux 16 contenant l'action à entreprendre dès l'information d'une avarie. En se reportant maintenant à la figure 8, des organi- grammes l'un à côté de l'autre pour les routines GROUPE_EMISSION et MSG BSA de la bibliothèque objet 22 sont illustrés Les routines GROUPER_EMISSION et MSGBSA passent conjointement avec le procédé de blocage pour les ressources EMISSION et PERMISSION_POUR_PARLER, pour fournir un moyen de communication entre les parties 18, 19, 20 du programme d'application Comme illustré dans la figure 4, la routine INSTALLATION appelle GROUPER_EMISSION, en 106, immédiatement après avoir fait une demande pour le blocage EXCLUSIF sur SPECIAL en 105, si la partie correspondante 18, 19, 20 n'est pas le serveur spécial. Dans le cas o une partie qui n'est pas le serveur spécial (voir, par exemple, le trait pointillé dans la fig 6) commence à passer après que SPECIAL_BSA soit fini, le serveur spécial n'aura pas inclu de demande pour la ressource SERVEUR_XXX correspondant à la nouvelle partie. Ceci parce que la routine INSTALLATION appelée par la nouvelle partie n'aura pas fait de demande pour la ressource SPECIAL en EXCLUSIF tant que SPECIALBSA n'est pas passé et donc, la demande faite par la nouvelle partie ne sera pas dans La file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF. La routine GROUPER_EMISSION sert à envoyer deux types de messages Un type est un message prédéfini que la rou- tine MSGBSA reconnaîtra et elle effectuera certaines actions en réponse à ce message Des exemples de messages prédéfinis sont un message envoyé par la routine INSTALLA- TION lors de l'introduction d'une nouvelle partie dans le réseau, et un message envoyé par SPECIAL_BSA lorsqu'une nouvelle partie devient serveur spécial L'autre type de message peut être retransmis directement au programme d'application, par exemple retransmis à la boite aux lettres spécifiée dans l'argument d'appel de sous-programme. La routine GROUPER_EMISSIOIN fait initialement une demande pour la ressource PERMISSION_POUR_PARLER dans le mode de blocage EXCLUSIF, en 400 La routine GROUPER_EMISSION attend en 401 jusqu'à ce que la demande soit accordée et ensuite cherche à voir s'il y a déjà un blocage sur la ressource EMISSION, en 402 Ceci peut être accompli en consultant la mémoire commune installée par la routine INSTALLATION, pour voir si le processus appelant GROUPEREMISSION a appelé précédemment la routine INSTALLATION. Si la partie qui a appelé la routine GROUPER_EMISSION a bien un blocage sur la ressource EMISSION, c'est-à-dire le blocage LECTURE SIMULTANEE obtenu par la routine INSTAL- LATION, la routine GROUPER_EMISSION continuera en demandant une conversion du mode de blocage LECTURE SIMULTANEE en mode de blocage EXCLUSIF pour EMISSION, en 403. Si la partie qui a appelé GROUPER_EMISSION n'a pas de blocage sur EMISSION, la routine GROUPER_EMISSION fera une nouvelle demande pour la ressource EMISSION dans le mode de blocage EXCLUSIF, en 404 Cet aspect de la routine GROUPER_EMISSION rend Le moyen de communication disponible à un processus quelconque passant sur le réseau, qu'il soit une partie du programme d'application ou non Donc, un processus quelconque peut envoyer un message au programme d'application, même s'il ne fait pas partie du programme. Une fois que, soit la demande de conversion, soit la nouvelle demande pour la ressource EMISSION est faite, la routine de blocage MSG_BSA spécifiée par chaque partie 18, 19, 20 du programme d'application (voir 101, fig. 4) interrompra la partie respective 18, 19, 20 et passe, en 500 La routine de blocage passera à ce moment-là, puisque la demande EXCLUSIF faite par la nouvelle partie est incompatible avec le mode de blocage LECTURE SIMULTANEE accordé précédemment à chaque partie (voir 102, fig 5). La routine MSG_BSA fait initialement une demande pour convertir le blocage LECTURE SIMULTANEE sur la ressource EMISSION en mode NUL, qui est compatible avec le mode * de blocage EXCLUSIF recherché par la nouvelle partie. Après que la demande pour la conversion soit faite, la routine MSG_BSA se sert du service SGETLKI du gestionnaire de blocage 21, en 502, pour obtenir des infor- mations sur la file de blocage EXCLUSIF accordé, de la routine EMISSION, pour voir en 503 si la nouvelle partie a eu l'accord pour le mode de blocage EXCLUSIF Si le mode de blocage n'a pas été accordé, la routine est bouclée en arrière, en 504, par exemple toutes Les 100 millise- condes, vers 502, jusqu'à ce que le mode de blocage EXCLU- SIF ait été accordé Une fois que le mode de blocage EXCLUSIF a été accordé, la routine MSG_BSA fait une demande pour reconvertir Le mode NUL pour EMISSION en mode LECTURE SIMULTANEE, en 505. Pendant ce temps, GROUPER_EMISSION attend en 405 que le mode de blocage EXCLUSIF soit accordé Une fois qu'il est accordé, la routine GROUPER_EMISSION écrit un message, en 407, dans le bloc de valeurs de blocage associé avec le blocage d' EMISSION Si le processus qui a appelé la routine GROUPER_EMISSION est une nouvelle partie, le message s'adresse au serveur spécial et identifie la nou- velle partie du programme d'application. Après la fin de l'écriture du message, la routine GROUPER_EMISSION cherche à voir, en 408, si le processus d'appel avait un message sur EMISSION avant l'appel de la routine GROUPER_EMISSION, c'est-à-dire si le processus est une partie du programme d'application et a fait une demande pour un blocage LECTURE SIMULTANEE sur EMISSION par l'intermédiaire de la routine INSTALLATION, ou s'il est un processus sans relation envoyant un message au programme d'application Si initialement le processus n'avait pas de blocage sur EMISSION, la routine GROUPER_EMISSION en Lève la demande EXCLUSIF de la file, en 409 Si le processus avait bien un blocage LECTURE SIMULTANEE, la routine GROUPER_EMISSION fait une demande pour reconvertir le mode de blocage EXCLUSIF en LECTURE SIMULTANEE, en 410. La routine MSG_BSA, ayant fait en 505 une demande pour convertir le mode de blocage de NUL en LECTURE SIMUL- TANEE, attend ensuite en 506 pour la conversion, qui sera accordée après que la demande de LECTURE SIMULTANEE pour enlever de La file ou convertir EXCLUSIF, en 409 ou 410, soit accordée, en 507 Ensuite la routine MSG_BSA obtiendra et lira le bloc de valeurs de blocage, en 508. Une convention peut être utilisée dans le bloc de valeurs de blocage, pour adresser un message Par exemple, une zone d'adresse contenue dans le bloc de valeurs de blocage peut indiquer un nom nodal pour spécifier un message à une partie particulière du programme d'applica- tion, un astérisque dans la zone d'adresse peut indiquer que le message s'adresse à toutes les parties 18, 19, et un blanc dans la zone d'adresse peut indiquer que le message est pour le serveur spécial Si, en 509, le message n'est pas pour la partie 18, 19, 20, qui a été interrompue par la routine MSG_BSA, MSG_BSA renverra, en 510, la commande à la partie correspondante 18, 19, 20. Si le message est pour le serveur spécial, c'est-a-dire un blanc dans la zone d'adresse du bloc de valeurs de blocage, MSG_BSA consultera le bit d'état du serveur spécial dans la mémoire commune et, lorsqu'il voit qu'il est mis à " 1 ", continue en lisant le message, en 510 Le message sera le message prédéfini envoyé par INSTALLATION, qui indique qu'une nouvelle partie a été introduite dans le réseau MSG_BSA répond au message prédé- fini en faisant une demande pour un mode de blocage EXCLU- SIF pour la ressource SERVEUR_XXX correspondant à la nou- velle partie, en 511 Avant de faire la demande, cepen- dant, MSG_BSA peut se servir du service SGETLKI du gestion- naire de blocage 21, pour vérifier si une demande de mode de blocage EXCLUSIF pour le SERVEUR_XXX a déjà été faite par Le serveur spécial Ceci se produira si la nouvelle partie a été en fait introduite dans le réseau peu après le serveur spécial, par exemple, avec les parties 19, , et si la demande correspondante pour SPECIAL en EXCLU- SIF était dans La file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF pendant que SPECIAL_BSA passait Apres la vérification et la formation de La demande pour EXCLUSIF sur la ressource SERVEUR_XXX correspondant à la nouvelle partie, MSG_BSA renvoie la commande au serveur spécial (partie 18), en 512. Pendant ce temps, la routine GROUPER_EMISSION finit en appelant SGETLKI pour le mode NUL sur EMISSION, en 411 La routine GROUPER_EMISSIION vérifie ensuite, en 412, si l'un quelconque des autres processus est toujours dans Le mode NUL, c'est-à-dire si la demande de conversion n'a pas encore été accordée ( 505, 506), en 413 Si l'une quelconque des demandes n'a pas encore été accordée, la routine GROUPER_EMISSION est bouclée en arrière en 414, vers l'instruction SGETLKI en 411, par exemple toutes les 100 millisecondes, jusqu'à ce qu'il n'y ait plus de partie attendant toujours La conversion du mode NUL en mode LECTURE SIMULTANEE A ce moment-là, en 415, la routine LECTURE SIMULTANEE enlève de La file le mode de blocage EXCLUSIF de PERMISSION_POUR_PARLER, en 416, et renvoie la commande à La nouvelle partie, en 417. Donc, la routine GROUPER_EMISSION, par l'intermédiaire du blocage EXCLUSIF sur la ressource PERMISSION_POUR_PARLER, en 400, et des boucles d'attente 414, 504, assure que le message écrit dans le bloc de valeurs de blocage est reçu par la partie voulue du pro- gramme d'application, par exemple, par le serveur special. La ressource PERMISSION_POUR_PARLER ordonne aussi des messages, puisqu'un seul processus à la fois peut envoyer un message, à cause du blocage EXCLUSIF exige pour la ressource PERMISSION_POUR_PARLER Tous les autres processus qui veulent envoyer un message en même temps seront places dans une file d'attente pour le blocage EXCLUSIF sur la ressource PERMISSION_POUR_PARLER Les demandes seront accordées ultérieurement, une à la fois, sur une base premier arrive, premier servi, jusqu'à ce que chacun des messages soit envoyé. En outre, la routine GROUPER_EMISSION peut être uti Li- sée pour notifier au serveur special qu'une partie doit quitter Le réseau avant le reste des parties du programme d'application Pour accomplir une diffusion de congé du réseau, le développeur d'application devra insérer une instruction d'appel de GROUPEREMISSION dans la partie qui va quitter Le réseau, pour envoyer un message au ser- veur spécial pour, par exemple, enlever de la file la demande EXCLUSIF pour Le serveur XXX correspondant à la partie qui part. La routine GROUPER_EMISSION peut aussi être utilisée par SPECIAL_BSA pour écrire un message aux autres parties 19, 20 du programme d'application pour indiquer qu'elle est le serveur spécial Ceci sera un autre message prédé- fini utilisant L'astérisque (message pour toutes les parties) qui fait que chaque MSG_BSA écrit L'identification du serveur spécial dans les espaces mémoire communs respec- tifs. Dans Le cas o l'UC, o passe Le serveur spécial, (partie 18 dans notre exemple) tomberait en panne, Le gestionnaire de blocage 21 enlèverait le blocage EXCLUSIF sur SPECIAL, détenu par le serveur spécia L, et accorderait Le blocage EXCLUSIF à La première partie 19, 20 dans La file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF. La routine finale SPECIAL_BSA interromprait ensuite la partie 19, 20 ayant l'accord pour le blocage EXCLUSIF et passerait, comme décrit ci- dessus, pour former les liaisons inverses entre le nouveau serveur spécial et les parties restantes du programme d'application SPECIAL_BSA peut aussi appeler GROUPER_EMISSION pour envoyer un message à chacune des parties restantes indiquant qui est maintenant le serveur spécial, pour la mise à jour de l'espace mémoire commun respectif En addition, SPECIAL BSA peut consulter l'espace mémoire commun au sujet de la partie correspondante qui est maintenant le serveur spécial, pour voir s'il contient des informations sur un précédent serveur spécial, c'est-à-dire un message en provenance d'un précédent serveur spécial, comme expliqué ci-dessus Si l'espace mémoire commun pour le nouveau serveur spécial a bien des informations sur un serveur spécial, ceci indique à SPECIAL BSA qu'il y avait un précédent serveur spécial et donc indique une panne. SPECIAL B$SA appellera ensuite une routine pour répondre aux informations de panne, comme le fait ECHEC_BSA. Un développeur d'application peut aussi spécifier qu'une partieparticulière 18, 19, 20 doit être le serveur spécial, par l'intermédiaire d'un autre message prédéfini Le développeur d'application enverra le message prédéfini à chaque partie ( 18, 19, 20) du programme d'application en appelant GROUPER-EMISSION Le message prédéfini spécifie quelle partie doit être le serveur spécial et les sous-programmes MSG BSA répondent en mettant en application le serveur spécial spécifié, comme suit. Si la partie 18, 19, 20 passant sur l'UC 11, 12, 13 o MSG B S-A est situé est le serveur spécial, ou bien n'est pas le serveur spécial mais devrait être le serveur spécial, les sous-programmes MSG BSA rendront simplement la commande à la partie. Si la partie est le serveur spécial et ne devrait pas être le serveur spécial, MSG BSA enlèvera de la file le blocage EXCLUSIF sur la ressource SPECIAL et enlèvera de la file tous les blocages pour les ressources SERVEUR_XXX Ensuite MSG BSA demandera une fois de plus un blocage en EXCLUSIF -pour la ressource SPECIAL et sortira ensuite. Si la partie n'est pas le serveur spécial et n'est pas non plus la partie désignée par le développeur d'application pour être le serveur spécial, MSG BSA enlèvera de la file la demande pour SPECIAL en EXCLUSIF et ensuite mettra de nouveau la demande dans la file pour SPECIAL en EXCLUSIF, avant de rendre la commande à cette partie. La libération de la demande de blocage pour SPECIAL par chacune des parties 18, 19, 20 qui ne doivent pas être le serveur spécial laissera cette partie désignée par le développeur d'application soit détenant déjà le blocage EXCLUSIF pour la ressource SPECIAL, soit seule dans la file d'attente sans aucune demande dans la file accordée Dans ce dernier cas, le gestionnaire de blocage 21 accordera ensuite le blocage EXCLUSIF à la partie 18, 19, 20 désignée par le développeur d'application La formation de la demande pour SPECIAL en EXCLUSIF par les autres parties 18, 19, 20, après libération de toutes les demandes de blocage pour SPECIAL, aura lieu après que la partie 18, 19, 20 désignée par le développeur d'application ait obtenu le blocage EXCLUSIF pour SPECIAL Donc, les autres parties seront placées dans la file ATTENTE DE DEMANDE POUR SPECIAL EN MODE EXCLUSIF. Eg, E ry 1 Dîc A 4-rio "Y 5 1 Procédé pour fournir une notification de panne dans un réseau d'ordinateurs ( 10 à 15) ayant une pluralité de noeuds ( 11, 12, 13), dans lequel chaque noeud d'un nombre prédéterminé de ces noeuds traite une partie ( 18, 19, 20) d'un programme d'application, procédé qui comprend les étapes suivantes: Pour chaque partie du programme d'application, faire une première demande pour un privilège d'accès exclusif à un nom de ressource présélectionné; Pour chaque partie du programme d'application, faire une deuxième demande pour un privilège d'accès présélectionné à un nom de ressource correspondant ayant un nom basé sur la partie respective; Accorder la première demande pour un privilège d'accès exclusif à une seule et unique partie du programme d'application; Accorder la deuxième demande à chaque partie du programme d'application; Faire une troisième demande, au nom de cette seule et unique partie du programme d'application, pour chaque nom de ressource ayant un nom basé sur une partie respective du programme d'application autre que cette seule et unique partie; cette troisième demande étant pour un privilège d'accès qui est incompatible avec chaque deuxième demande; Exploiter le réseau d'ordinateurs pour: (i) Stocker des informations sur chaque troisième demande pour un nom de ressource ayant un nom basé sur une partie respective du programme d'application autre que cette seule et unique partie, et (ii) Lors d'une panne d'un noeud du nombre prédéterminé de noeuds traitant une partie du programme d'application, invalider automatiquement la deuxième demande d'une partie respective qui est SR 5806 US/BM traitée sur Le noeud en panne et accorder automatiquement la troisième demande, faite au nom de cette seule et unique partie du programme d'application pour le nom de ressource ayant un nom basé sur la partie respective qui est traitée sur Le noeud en panne; et Se servir de l'accord de la troisième demande pour le nom de ressource ayant un nom basé sur La partie respective qui est traitée sur le noeud en panne, pour causer la génération d'un message pour identifier la partie respective qui est traitée sur le noeud en panne. 2 Procédé selon la revendication 1, comprenant une étape supplémentaire d'utilisation du message pour appe Ler une routine de reprise après une panne. 3 Procédé selon la revendication 1, comprenant une étape supplémentaire suivante: Pour La partie de l'application ayant la première demande accordée, diffuser un message à chaque autre partie de l'application pour identifier la partie de L'application qui a eu la première demande accordée. 4 Procédé selon la revendication 3, comprenant des étapes supplémentaires suivantes: Pour chaque partie de L'application qui n'a pas eu la première demande accordée, envoyer un message à La partie de l'application qui a eu la première demande accordée pour identifier chaque partie respective de l'application, et Pour la partie de l'application ayant la première demande accordée, Lire chaque message de l'étape précédente et vérifier qu'une troisième demande a été faite au nom de la partie de l'application ayant la première demande accordée par rapport à chaque partie de l'application qui a envoyé un message. Dans un réseau d'ordinateurs ( 10 à 15) comportant une pluralité de noeuds ( 11, 12, 13), dans lequel au moins certains noeuds de la pluralité de noeuds SR 5806 US/BM ont une unité centrale de traitement (UC) et dans lequel chaque UC d'un nombre prédéterminé d'UC traite une partie d'un programme d'application, système de notification de panne qui comprend: un gestionnaire de blocage ( 21), pour recevoir et traiter des demandes pour des privilèges d'accès à des noms de ressource et pour fournir des informations sur les demandes en réponse à une interrogation; et une bibliothèque objet ( 22), couplée à chacune des UC traitant une partie du programme d'application, La bibliothèque objet comprenant un ensemble lié de sous-programmes comportant: (i) un sous-programme INSTALLATION, qui peut être appelé par une partie de l'application qui est traitée sur une UC couplée à la bibliothèque objet, le sous- programme INSTALLATION comprenant une séquence d'instructions pour émettre une première demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application pour un privilège d'accès exclusif à un nom de ressource présélectionné, et pour émettre une deuxième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application pour un privilège d'accès présélectionné à un nom de ressource basé sur la partie d'appel de l'application; (ii)un sous- programme SPECIAL BSA, qui est un branchement système asynchrone appelé lors de l'accord de la première demande à la partie d'appel de l'application, le sous-programme SPECIAL BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir une liste de toutes les parties de l'application du programme d'application qui ont fait une première demande par l'intermédiaire d'un sous-programme INSTALLATION et qui n'ont pas eu la première demande accordée, et pour émettre une troisième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application SR 5806 US/BM qui a eu la première demande accordée pour un privilège d'accès à chaque nom de ressource basé sur une partie de l'application qui n'a pas eu la première demande accordée, chaque troisième demande étant pour un privilège d'accès qui n'est pas compatible avec le privilège d'accès prédéterminé d'une deuxième demande; et (iii) un sous-programme ECHEC BSA, qui est un branchement système asynchrone appelé lors de l'accord d'une troisième demande quelconque à la partie d'appel de l'application qui a eu la première demande accordée, le sous-programme ECHEC BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir des informations sur le nom de la ressource basé sur la partie de l'application pour laquelle la troisième demande a été accordée. 6 Système de notification de panne selon la revendication 5, dans lequel la bibliothèque objet comprend une pluralité de copies de la bibliothèque objet, chaque copie étant couplée à une UC respective. 7 Système de notification de panne selon la revendication 5, dans lequel la bibliothèque objet com Dorte de plus un sous-programme GROUPER EMISSION appelé par une autre routine et comprenant une séquence d'instructions pour émettre une quatrième demande vers le gestionnaire de blocage au nom de la routine d'appel pour un privilège d'accès exclusif à une ressource EMISSION et, lors de l'accord de la quatrième demande, pour écrire un message au nom de la routine d'appel vers le gestionnaire de blocage pour le stocker. 8 Système de notification de panne selon la revendication 7, dans lequel le sous-programme INSTALLATION de la bibliothèque objet comporte de plus des instructions pour émettre une cinquième demande vers le gestionnaire de blocage au nom de la partie d'appel de SR 5806 US/BM l'application pour un privilège d'accès présélectionné à la ressource EMISSION, le privilège d'accès présélectionné étant compatible avec des cinquièmes demandes multiples faites au nom d'autres parties de l'application. 9 Système de notification de panne selon la revendication 8, dans lequel la bibliothèque objet comporte de plus un sous-programme MSG BSA qui est un branchement système asynchrone appelé lors de la formation d'une quatrième demande au nom d'une routine d'appel, la quatrième demande pour un privilège d'accès exclusif étant incompatible avec le privilège d'accès présélectionné de la cinquième demande, le sousprogramme MSG BSA comprenant une séquence d'instructions pour émettre une sixième demande vers le gestionnaire de blocage au nom d'une partie de l'application qui est traitée sur une UC couplée à la bibliothèque objet, lorsque la partie respective de l'application doit recevoir un message, la sixième demande étant pour une conversion du privilège d'accès présélectionné à la ressource EMISSION en un privilège d'accès NUL, de sorte que la quatrième demande de la routine d'appel est accordée. Système de notification de panne selon la revendication 9, dans lequel le sous-programme MSG BSA comporte de plus des instructions pour lire le message stocké par le gestionnaire de blocage au nom de la routine d'appel. 11 Système de notification de panne selon la revendication 10, dans lequel la routine d'appel est le sous-programme INSTALLATION. 12 Système de notification de panne selon la revendication 11, dans lequel le sous-programme INSTALLATION appelle le sous-programme GROUPER EMISSION pour envoyer un message au nom d'une partie d'appel respective de l'application à une partie de SR 5806 US/BM l'application ayant la première demande accordée, le message indiquant que La partie d'appel respective de l'application est traitée sur une UC. 13 Système de notification de panne selon la revendication 12, dans lequel le sous-programme MSG BSA comporte des instructions pour vérifier, lors de la lecture d'un message indiquant qu'une partie d'appel respective de l'application est traitée, que sa partie respective de l'application a eu une première demande accordée et quand son application respective a eu une première demande accordée, pour vérifier qu'une troisième demande a été faite par rapport à la partie d'appel de l'application. 14 Système de notification de panne selon la revendication 10, dans lequel la routine d'appel est le sous-programme SPECIAL BSA. Système de notification de panne selon la revendication 14, dans lequel le sous-programme SPECIAL BSA appelle le sous-programme GROUPER EMISSION lors de l'accord d'une première demande au nom d'une partie respective de l'application, pour envoyer un message au nom de la partie respective de l'application toutes les autres parties de l'application, le message indiquant que la partie respective de l'application a eu une première demande accordée. 16 Système de notification de panne selon la revendication 15, comprenant un espace mémoire associé avec chaque UC traitant une partie de l'application, pour le stockage d'informations sur une partie de l'application qui a envoyé un message indiquant qu'elle a eu l'accord d'une première demande. 17 Système de notification de panne selon la revendication 10, comprenant: une première routine bouclée, dans le sous-programme MSG BSA, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage pour SR 5806 US/BM avoir des informations sur l'accord d'une quatrième demande faite au nom d'une routine d'appel par le sous- programme GROUPER EMISSION, jusqu'à ce que les informations indiquent que la quatrième demande a été accordée; un sous-programme MSG BSA, comportant des instructions supplémentaires ultérieures a la première routine bouclée pour émettre une septième demande vers le gestionnaire de blocage, quand la première routine bouclée reçoit des informations sur l'accord de la quatrième demande, pour reconvertir le privilège d'accès NUL en privilège d'accès présélectionné à la ressource EMISSION. 18 Système de notification de panne selon la revendication 17, dans lequel: Le sous-programme GROUPER EMISSION comporte des instructions supplémentaires pour émettre une huitième demande vers le gestionnaire de blocage afin de libérer le privilège d'accès exclusif sur la ressource EMISSION après que le sous-programme GROUPER EMISSION a écrit un message, et comprenant de plus: une deuxième routine bouclée, dans le sousprogramme GROUPER EMISSION, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage, après la libération du privilège d'accès exclusif sur la ressource EMISSION, pour avoir des informations sur tous les privilèges d'accès NUL à la ressource EMISSION; un sous-programme GROUPER EMISSION, rendant la commande à la routine d'appel lorsque les informations sur tous les privilèges d'accès NUL existants indiquent qu'il n'y a pas de privilège d'accès NUL pour la ressource EMISSION; De sorte que les première et deuxième routines bouclées synchronisent et coordonnent le passage du sous- programme GROUPER EMISSION et du sous-programme MSG BSA, SR 5806 US/BM pour transmettre des messages,en provenance d'une routine d'appel,à des parties de l'application. 19 Système de notification de panne selon la revendication 16, dans lequel le sous-programme SPECIAL BSA comporte des instructions pour accéder à l'espace mémoire associé avec l'UC traitant la partie d'appel de l'application, pour lire les informations sur une partie de l'application ayant une première demande accordée, pour vérifier que la partie d'appel de l'application est une première partie de l'application ayant une première demande accordée. Système de notification de panne selon la revendication 19, dans lequel le sous-programme SPECIAL BSA comporte de plus des instructions causant la génération d'un message, lorsque la partie d'appel de l'application n'était pas la première partie de l'application identifiée dans les informations stockées dans l'espace mémoire; le message indiquant que le noeud traitant la première partie de l'application est tombé en panne. 21 Système de notification de panne selon la revendication 7, dans lequel le sous-programme GROUPER EMISSION émet la quatrième demande pour un privilège d'accès exclusif à la ressource EMISSION en faisant une demande au gestionnaire de blocage pour un privilège d'accès exclusif à une ressource PERMISSION POUR PARLER et, lors de l'accord du privilège d'accès exclusif à la ressource PERMISSION POUR PARLER, en émettant la quatrième demande. 22 Système de notification de panne selon la revendication 5, dans lequel le sous-programme ECHEC BSA comporte des instructions pour causer la génération d'un message qui doit être généré pour identifier le nom de la ressource basé sur la partie de l'application pour laquelle la troisième demande a été accordée. SR 5806 US/BM 23 Système de notification de panne selon la revendication 5, dans lequel le sous-programme ECHEC BSA comporte de plus des instructions pour appeler une routine de reprise après une panne et pour fournir les informations à la routine de reprise après une panne. 24 Bibliothèque objet ( 22), à utiliser dans une UC adaptée pour être couplée à un réseau d'ordinateurs ( 10 à ), le réseau d'ordinateurs comportant un gestionnaire de blocage ( 21) pour recevoir et traiter des demandes pour des privilèges d'accès à des noms de ressources et pour fournir des informations sur les demandes en réponse à une interrogation et dans lequel l'UC est adaptée pour traiter une partie ( 18, 19, 20) d'un programme d'application, qui comprend: un ensemble lié de sous-programmes comportant: (i) un sous-programme INSTALLATION, qui peut être appelé par la partie de l'application traitée sur l'UC, le sous-programme INSTALLATION comprenant une séquence d'instructions pour émettre une première demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application pour un privilège d'accès exclusif à un nom de ressource présélectionné, et pour émettre une deuxième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application pour un privilège d'accès présélectionné à un nom de ressource basé sur la partie d'appel de l'application; (ii) un sous-programme SPECIAL BSA, qui est un branchement système asynchrone appelé lorsque la première demande a été accordée à la partie d'appel de l'application, le sous-programme SPECIAL BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir une liste de toutes les parties de l'application du programme d'application qui ont fait une première demande par l'intermédiaire d'un sous-programme INSTALLATION et SR 5806 US/BM qui n'ont pas eu la première demande accordée, et pour émettre une troisième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application qui a eu la première demande accordée pour un privilège d'accès à chaque nom de ressource basé sur une partie de l'application qui n'a pas eu la première demande accordée, chaque troisième demande étant pour un privilège d'accès qui n'est pas compatible avec le privilège d'accès prédéterminé d'une deuxième demande; et (iii) un sous-programme ECHEC BSA, qui est un branchement système asynchrone appelé lors de l'accord d'une troisième demande quelconque à la partie d'appel de l'application lorsque la partie de l'application a eu la première demande accordée et après le passage de SPECIAL BSA, le sous-programme ECHEC BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir des informations sur le nom de la ressource basé sur la partie de l'application pour laquelle la troisième demande a été accordée. Bibliothèque objet selon la revendication 24, dans laquelle la bibliothèque objet comporte un sous- programme GROUPER EMISSION appelé par une autre routine qui est traitée sur l'UC, le sous-programme GROUPER EMISSION comprenant une séquence d'instructions pour émettre une quatrième demande vers le gestionnaire de blocage au nom de la routine d'appel pour un privilège d'accès exclusif à une ressource EMISSION et, lors de l'accord de la quatrième demande, pour écrire un message au nom de la routine d'appel vers le gestionnaire de blocage pour le stocker. 26 Bibliothèque objet selon la revendication 25, dans laquelle le sousprogramme INSTALLATION de la bibliothèque objet comporte de plus des instructions pour émettre une cinquième demande vers le gestionnaire de SR 5806 US/BM blocage au nom de la partie d'appel de l'application, pour un privilège d'accès présélectionné à la ressource EMISSION, le privilège d'accès présélectionné étant compatible avec des cinquièmes demandes multiples faites au nom d'autres parties de l'application. 27 Bibliothèque objet selon la revendication 26, dans laquelle la bibliothèque objet comporte de plus un sous-programme MSG BSA qui est un branchement système asynchrone appelé lors de la formation d'une quatrième demande au nom d'une routine d'appel, la quatrième demande pour un privilège d'accès exclusif étant incompatible avec le privilège d'accès présélectionné de la cinquième demande, le sous-programme MSG BSA comprenant une séquence d'instructions pour émettre une sixième demande vers le gestionnaire de blocage au nom d'une partie de l'application qui est traitée sur une UC couplée à la bibliothèque objet, lorsque la partie respective de l'application doit recevoir un message, la sixième demande étant pour une conversion du privilège d'accès présélectionné à la ressource EMISSION en un privilège d'accès NUL, de sorte que la quatrième demande de la routine d'appel est accordée. 28 Bibliothèque objet selon la revendication 27, dans laquelle le sousprogramme MSG BSA comporte des instructions pour lire le message stocké par le gestionnaire de blocage au nom de la routine d'appel. 29 Bibliothèque objet selon la revendication 28, dans laquelle la routine d'appel est le sous-programme INSTALLATION. 30 Bibliothèque objet selon la revendication 29, dans laquelle le sousprogramme INSTALLATION appelle le sous-programme GROUPER EMISSION pour envoyer un message au nom d'une partie d'appel respective de l'application à une partie de l'application ayant la première demande accordée, le message indiquant que la partie d'appel respective de l'application est traitée sur une UC. SR 5806 US/BM 31 Bibliothèque objet selon la revendication 30, dans laquelle le sousprogramme MSG BSA comporte de plus des instructions pour vérifier, lors de la lecture d'un message indiquant qu'une partie d'appel respective de l'application est traitée, que sa partie respective de l'application a eu une première demande accordée et,quand son application respective a eu une première demande accordée, pour vérifier qu'une troisième demande a été faite par rapport à la partie d'appel de l'application. 32 Bibliothèque objet selon la revendication 28, dans laquelle la routine d'appel est le sous-programme SPECIAL BSA. 33 Bibliothèque objet selon la revendication 32, dans laquelle le sousprogramme SPECIAL BSA appelle le sous-programme GROUPER EMISSION lors de l'accord d'une première demande au nom d'une partie respective de l'application, pour envoyer un message au nom de la partie respective de l'application à toutes les autres parties de l'application, le message indiquant que la partie respective de l'application a eu une première demande accordée. 34 Bibliothèque objet selon la revendication 33, comprenant de plus un espace mémoire associé avec chaque UC traitant une partie de l'application, pour le stockage d'informations sur une partie de l'application qui a envoyé un message indiquant qu'elle a eu l'accord d'une première demande. Bibliothèque objet selon la revendication 28, comprenant: une première routine bouclée, dans le sous-programme MSG BSA, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage pour avoir des informations sur l'accord d'une quatrième demande faite au nom d'une routine d'appel par le sous- programme GROUPER EMISSION, jusqu'à ce que les informations indiquent que la quatrième demande a été SR 5806 US/BM accordée; un sous-programme MSG BSA, comportant des instructions supplémentaires ultérieures a la première routine bouclée pour émettre une septième demande vers le gestionnaire de blocage, quand la première routine bouclée reçoit des informations sur l'accord de la quatrième demande, pour reconvertir le privilège d'accès NUL en privilège d'accès présélectionné à la ressource EMISSION. 36 Bibliothèque objet selon la revendication 35, dans laquelle: Le sousprogramme GROUPER EMISSION comporte des instructions supplémentaires pour émettre une huitième demande vers le gestionnaire de blocage, pour libérer le privilège d'accès exclusif sur la ressource EMISSION après que le sous-programme GROUPER EMISSION a écrit un message, et comprenant: une deuxième routine bouclée, dans le sous-programme GROUPER EMISSION, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage, après la libération du privilège d'accès exclusif sur la ressource EMISSION, pour avoir des informations sur tous les privilèges d'accès NUL existants à la ressource EMISSION; un sousprogramme GROUPER EMISSION, rendant la commande à la routine d'appel lorsque les informations sur tous les privilèges d'accès NUL existants indiquent qu'il n'y a pas de privilège d'accès NUL pour la ressource EMISSION; De sorte que les première et deuxième routines bouclées synchronisent et coordonnent le passage du sous- programme GROUPER EMISSION et du sous-programme MSG BSA, pour transmettre des messages en provenance d'une routine d'appel à des parties de l'application. 37 Bibliothèque objet selon la revendication 34, dans laquelle le sousprogramme SPECIAL BSA comporte de SR 5806 US/BM plus des instructions pour accéder à l'espace mémoire associé avec l'UC traitant la partie d'appel de l'application, pour lire les informations sur une partie de l'application ayant une première demande accordée, pour vérifier que la partie d'appel de l'application est une première partie de l'application ayant une première demande accordée. 38 Bibliothèque objet selon la revendication 37, dans laquelle le sousprogramme SPECIAL BSA comporte de plus des instructions causant la génération d'un message, lorsque la partie d'appel de l'application n'était pas la première partie de l'application identifiée dans les informations stockées dans l'espace mémoire; le message indiquant que le noeud traitant la première partie de l'application est tombé en panne. 39 Bibliothèque objet selon la revendication 25, dans laquelle le sousprogramme GROUPER EMISSION émet la quatrième demande pour un privilège d'accès exclusif à la ressource EMISSION en faisant une demande au gestionnaire de blocage pour un privilège d'accès exclusif à une ressource PERMISSION POUR PARLER et, lors de l'accord du privilège d'accès exclusif à la ressource PERMISSION POUR PARLER, en émettant la quatrième demande. Bibliothèque objet selon la revendication 24, dans laquelle le sousprogramme ECHEC BSA comporte de plus des instructions pour causer la génération d'un message qui doit être généré pour identifier le nom de la ressource basé sur la partie de l'application pour laquelle la troisième demande a été accordée. 41 Bibliothèque objet selon la revendication 24, dans laquelle le sousprogramme ECHEC BSA comporte de plus des instructions pour appeler une routine de reprise après une panne et pour fournir les informations à la routine de reprise après une panne. 42 Bibliothèque objet selon la revendication 24, dans laquelle le gestionnaire de blocage maintient un SR 5806 US/BM bloc de données pour chaque nom de ressource; et comprenant: un sousprogramme MISE A JOUR INFO, comprenant une séquence d'instructions pouraccéder à un bloc de données d'un nom de ressource présélectionné, pour introduire et stocker des informations dans le bloc de données. 43 Bibliothèque objet selon la revendication 42, comprenant de plus: un sous-programme MONTRER SERVEUR, comprenant une séquence d'instructions pour lire des informations stockées dans le bloc de données d'un nom de ressource présélectionné. 44 Bibliothèque objet selon la revendication 24, comprenant: un sous-programme LISTER SERVEUR, comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir des informations sur des demandes pour des privilèges d'accès à des noms de ressources. Réseau d'ordinateurs ( 10 à 15), comprenant: une pluralité de noeuds ( 11, 12, 13), dans lequel au moins certains noeuds de la pluralité de noeuds ont une UC et dans lequel chaque UC d'un nombre prédéterminé des UC traite une partie ( 18, 19, 20) d'un programme d'application; un gestionnaire de blocage ( 21), pour recevoir et traiter des demandes pour des privilèges d'accès à des noms de ressources et pour fournir des informations sur les demandes en réponse à une interrogation et un système de notification de panne, comprenant une bibliothèque objet ( 21) couplée à chacune des UC traitant une partie du programme d'application, chaque bibliothèque objet comprenant un ensemble lié de sous- programmes comportant: (i) un sous-programme INSTALLATION, qui peut être appelé par une partie de l'application qui est traitée sur une UC respective couplée à la bibliothèque objet, SR 5806 US/BM le sous-programme INSTALLATION comprenant une séquence d'instructions pour émettre une première demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application, pour un privilège d'accès exclusif à un nom de ressource présélectionné, et pour émettre une deuxième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application, pour un privilège d'accès présélectionné à un nom de ressource basé sur la partie d'appel de l'application; (ii) un sous- programme SPECIAL BSA, qui est un branchement système asynchrone appelé lors de l'accord de la première demande à la partie d'appel de l'application, le sous-programme SPECIAL BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir une liste de toutes les parties de l'application du programme d'application qui ont fait une première demande par l'intermédiaire d'un sous-programme INSTALLATION et qui n'ont pas eu la première demande accordée, et pour émettre une troisième demande vers le gestionnaire de blocage au nom de la partie d'appel de l'application qui a eu la première demande accordée pour un privilège d'accès à chaque nom de ressource basé sur une partie de l'application qui n'a pas eu la première demande accordée, chaque troisième demande étant pour un privilège d'accès qui n'est pas compatible avec le privilège d'accès prédéterminé d'une deuxième demande; et (iii) un sous-programme ECHEC BSA, qui est un branchement système asynchrone appelé lors de l'accord d'une troisième demande quelconque à la partie d'appel de l'application qui a eu la première demande accordée, le sous-programme ECHEC BSA comprenant une séquence d'instructions pour interroger le gestionnaire de blocage pour avoir des informations sur le nom de la ressource basé sur la partie de SR 5806 US/BM l'application pour laquelle la troisième demande a été accordée. 46 Procédé pour fournir une notification de panne dans un réseau d'ordinateurs ( 10 à 15) ayant une pluralité de noeuds ( 11, 12, 13), dans lequel chaque noeud d'un nombre prédéterminé des noeuds traite une partie ( 18, 19, 20) d'un programme d'application, procédé- qui comprend les étapes suivantes: Fournir un gestionnaire de blocage ( 21) pour recevoir et traiter des demandes pour des privilèges d'accès à des noms de ressources et pour fournir des informations sur les demandes en réponse à une interrogation; Exécuter une première routine par rapport à chaque partie du programme d'application, pour émettre une première demande vers le gestionnaire de blocage au nom de chaque partie de l'application, pour un privilège d'accès exclusif à un nom de ressource présélectionné, et pour émettre une deuxième demande vers le gestionnaire de blocage au nom de chaque partie de l'application, pour un privilège d'accès présélectionné à un nom de ressource basé sur une partie respective de l'application; Exploiter le gestionnaire de blocage pour accorder la première demande pour un privilège d'accès exclusif une et une seule des parties de l'application et pour accorder la deuxième demande à chaque partie respective de l'application; Exécuter une deuxième routine par rapport à la partie de l'application ayant la première demande accordée, lors de l'accord de la première demande, pour interroger le gestionnaire de blocage pour avoir une liste de toutes les parties de l'application du programme d'application qui ont fait une première demande par l'intermédiaire d'une première routine et qui n'ont pas eu la première demande accordée, et pour émettre une troisième demande vers le gestionnaire de blocage au nom SR 5806 US/BM de la partie de L'application qui a eu La première demande accordée pour un privilège d'accès à chaque nom de ressource basé sur une partie de L'application qui n'a pas eu la première demande accordée, chaque troisième demande étant pour un privilège d'accès qui n'est pas compatible avec le privilège d'accès prédéterminé d'une deuxième demande; Exploiter le gestionnaire de blocage pour stocker des informations sur chaque troisième demande qui n'est pas compatible avec une deuxième demande accordée de chaque partie respective de L'app Lication qui n'a pas eu La première demande accordée; Exp Loiter Le gestionnaire de blocage pour invalider une deuxième demande Lorsque le noeud traitant La partie respective de L'application tombe en panne et pour accorder automatiquement La troisième demande faite par La deuxième routine par rapport au nom de ressource basé sur cette partie respective de L'app Lication; et Lors de L'accord d'une troisième demande par Le gestionnaire de blocage, exécuter une troisième routine par rapport à La partie de l'application ayant La première demande accordée, pour interroger Le gestionnaire de blocage pour avoir des informations sur le nom de la ressource basé sur la partie respective de l'application pour laquelle la troisième demande a été accordée. 47 Procédé selon La revendication 46, comprenant de p Lus une étape d'exploitation du gestionnaire de blocage pour invalider La première demande accordée Lorsque le noeud traitant la partie de L'app Lication qui a eu La première demande accordée tombe en panne et pour accorder La première demande à une autre partie du programme d'application qui a fait précédemment une première demande par L'intermédiaire de L'exécution d'une première routine. 48 Procédé se Lon La revendication 47, dans lequel, SR 5806 US/BM t 4 lors de l'accord de la première demande à cette autre partie de l'application, la deuxième routine est exécutée par rapport à cette autre partie de l'application. 49 Procédé selon la revendication 46, comprenant une étape supplémentaire d'exécution de la troisième routine pour causer la génération d'un message, le message contenant les informations fournies par le gestionnaire de blocage en réponse à l'interrogation. Procédé selon la revendication 46, comprenant une étape supplémentaire d'exécution de la troisième routine pour appeler une routine de reprise après une panne et pour fournir les informations à la routine de reprise après une panne. 51 Procédé selon la revendication 46, comprenant une étape supplémentaire, lors de l'accord d'une première demande par rapport à une partie de l'application, de diffusion d'un message à chaque autre partie de l'application pour identifier la partie de l'application qui a eu La première demande accordée. 52 Procédé selon la revendication 51, comprenant une étape supplémentaire de stockage du message dans un espace mémoire fourni pour chaque partie de l'application. 53 Procédé selon la revendication 46, comprenant les étapes supplémentaires suivantes: Pour chaque partie de l'application qui n'a pas eu la première demande accordée, envoyer un message à la partie de l'application qui a eu la première demande accordée pour identifier chaque application respective, et Pour la partie de l'application qui a eu la première demande accordée, lire chaque message de l'étape précédente et vérifier qu'une troisième demande a été faite par rapport à chaque partie de l'application qui a envoyé un message. 54 Dans un réseau d'ordinateurs ( 10 à 15) SR 5806 US/BM comportant une pluralité de noeuds ( 11, 12, 13), dans lequel chaque noeud d'un nombre prédéterminé des noeuds traite une partie ( 18, 19, 20) d'un programme d'application, un-système de communications pour envoyer des messages aux différentes parties et recevoir des messages en provenance des différentes parties du programme d'application, ce système de communications comprenant: un gestionnaire de blocage ( 21), pour recevoir et traiter des demandes pour des privilèges d'accès à des noms de ressources; et une bibliothèque objet ( 22), couplée à chaque noeud traitant une partie du programme d'application et comprenant un ensemble de sous-programmes comportant: (i) un sous-programme INSTALLATION, appelé par une partie de l'application et comprenant une séquence d'instructions pour émettre une première demande vers le gestionnaire de blocage au nom de la partie d'appel respective de l'application pour un privilège d'accès présélectionné à une ressource EMISSION, le privilège d'accès présélectionné étant compatible avec des premières demandes multiples faites au nom d'autres parties de l'application; (ii) un sous-programme GROUPER EMISSION, appelé par une autre routine et comprenant une séquence d'instructions pour émettre une deuxième demande vers le gestionnaire de blocage au nom de la routine d'appel pour un privilège d'accès exclusif à la ressource EMISSION et, lors de l'accord de la quatrième demande, pour écrire un message au nom de la routine d'appel vers le gestionnaire de blocage pour le stocker; et (iii) un sous-programme MSG BSA, qui est un branchement système asynchrone appelé lors de la formation d'une deuxième demande au nom d'une routine d'appel, la deuxième demande pour un privilège d'accès exclusif étant incompatible avec le privilège d'accès SR 5806 US/BM présélectionné de la première demande, Le sous- programme MSG BSA comprenant une séquence d'instructions pour émettre une troisième demande vers Le gestionnaire de blocage au nom d'une partie respective de l'application, la troisième demande étant pour une conversion du privilège d'accès présélectionné à la ressource EMISSION en un privilège d'accès NUL de sorte que la deuxième demande de la routine d'appel est accordée et, par la suite, pour lire le message stocké par le gestionnaire de blocage au nom de la routine d'appel. Système de communications selon la revendication 54, dans lequel le sousprogramme GROUPER EMISSION émet la deuxième demande pour un privilège d'accès exclusif à la ressource EMISSION en faisant une demande au gestionnaire de blocage pour un privilège d'accès exclusif à une ressource PERMISSION POUR PARLER et, lors de l'accord du privilège d'accès exclusif à la ressource PERMISSION POUR PARLER, en émettant la deuxième demande. 56 Système de communications selon la revendication 54, comprenant: une première routine bouclée, dans le sous-programme MSG BSA, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage pour avoir des informations sur l'accord d'une deuxième demande faite au nom d'une routine d'appel par le sous- programme GROUPER EMISSION, jusqu'à ce que les informations indiquent que la deuxième demande a été accordée; un sous-programme MSG BSA, comportant des instructions supplémentaires ultérieures a la première routine bouclée pour émettre une quatrième demande vers le gestionnaire de blocage, quand la première routine bouclée reçoit des informations sur l'accord de la deuxième demande, pour reconvertir le privilège d'accès NUL en privilège d'accès SR 5806 US/BM a 4 - présélectionné à la ressource EMISSION. 57 Système de communications selon la revendication 56, dans lequel: Le sous-programme GROUPER EMISSION comporte des instructions supplémentaires pour émettre une cinquième demande vers le gestionnaire de blocage, pour libérer le privilège d'accès exclusif sur la ressource EMISSION après que le sous-programme GROUPER EMISSION a écrit un message, et comprenant: une deuxième routine bouclée, dans le sous-programme GROUPER EMISSION, comportant une boucle d'instruction pour interroger périodiquement le gestionnaire de blocage, après la libération du privilège d'accès exclusif sur la ressource EMISSION, pour avoir des informations sur tous les privilèges d'accès NUL existants à la ressource EMISSION; un sousprogramme GROUPER EMISSION, rendant la commande à la routine d'appel lorsque les informations sur tous les privilèges d'accès NUL existants indiquent qu'il n'y a pas de privilège d'accès NUL pour la ressource EMISSION; De sorte que les première et deuxième routines bouclées synchronisent et coordonnent le passage du sous- programme GROUPER EMISSION et du sous-programme MSG BSA, pour transmettre des messages en provenance d'une routine d'appel à des parties de l'application. SR 5806 US/BM