Brevet FR2857116A1 — publié le 20050107

La présente invention concerne des systèmes informatiques comportant des modules remplaçables sur place (FRU). Chaque ordinateur contient à la fois des circuits et des logiciels. Les circuits d'un ordinateur comportent des composants électromécaniques, tels que des microprocesseurs, des bus, des contrôleurs d'entrée/sortie (E/S), une mémoire et des dispositifs de mémoire de masse (tels que des unités de disque dur). Il peut être difficile d'entretenir et de réparer ces composants, en particulier parce qu'ils deviennent de plus en plus complexes et miniaturisés. Il est de moins en moins possible de tenter d'effectuer une réparation électrique ou mécanique sur un composant tel qu'un bus ou un contrôleur d'E/S. En remplacement, souvent le mieux que puisse faire un technicien confronté à un ordinateur en panne est d'identifier le composant qui est la source du problème et de remplacer physiquement le composant identifié par un composant neuf. Un tel processus de réparation peut être pénible, consommer du temps et être coûteux, car il nécessite un technicien humain pour diagnostiquer la raison du dysfonctionnement, ouvrir le boîtier de l'ordinateur, enlever physiquement (et probablement jeter) le composant en panne, et installer physiquement le composant neuf. Bien que le processus de diagnostic des dysfonctionnements d'un ordinateur devienne de plus en plus automatique, le processus de remplacement de composant doit toujours être effectué manuellement. Dans les systèmes informatiques antérieurs, il est souvent difficile ou impossible de remplacer certains composants matériels, tels que l'unité centrale de traitement (CPU), la mémoire, et les contrôleurs d'E/S, après fabrication de l'ordinateur. Ces composants peuvent, par exemple, être câblés ensemble, auquel cas, une tentative pour enlever l'un quelconque de ces composants peut endommager l'ordinateur de manière irréversible. Dans certains cas, il peut être possible d'enlever ces composants en rompant et en rétablissant des connexions physiques par soudage ou en utilisant un autre processus pénible et consommant du temps, nécessitant un technicien expérimenté pour être exécuté. Les concepteurs de circuits informatiques conçoivent de plus en plus des systèmes informatiques de façon que les composants (tels que le CPU, la mémoire, et les contrôleurs d'E/S) puissent être facilement remplacés sur place (c'est-à-dire, là où se trouve l'utilisateur). Un composant pouvant être facilement enlevé d'un ordinateur et remplacé sur place par un composant neuf est appelé "module remplaçable sur place" (encore appelé "FRU", de l'acronyme anglo-saxon "Field-Replaceable Unit"). Les ordinateurs modernes comportent de plus en plus des interfaces matérielles modulaires permettant à un technicien relativement inexpérimenté d'enlever facilement des FRU. Le retrait d'un FRU, par exemple, peut nécessiter uniquement le retrait de quelques vis et l'extraction du FRU de l'ordinateur. Le même technicien peut ensuite installer un FRU de remplacement avec la même facilité. Bien que l'utilisation des FRU diminue la difficulté, le coût et le temps requis pour remplacer un composant matériel, le remplacement sur place des FRU nécessite toujours un technicien humain pour enlever et remplacer le FRU défectueux. Par opposition, un logiciel est réalisé sous la forme de signaux électromagnétiques enregistrés dans un dispositif de mémoire de masse (par exemple, une unité de disque dur) ou une autre forme de mémoire électronique. En conséquence, il est possible de manière classique de remplacer ou de mettre à jour un logiciel défectueux ou périmé, simplement en effaçant l'ancien logiciel et en le remplaçant par le nouveau logiciel fourni sur un support de stockage tangible, tel qu'une disquette ou un CD-ROM. En conséquence, la mise à jour ou le remplacement d'un logiciel, est de façon classique sensiblement plus facile et moins coûteux à effectuer que le remplacement de circuits. L'utilisation largement répandue des réseaux informatiques et de l'Internet a encore simplifié le processus de mise à jour des logiciels en rendant possible le téléchargement d'un logiciel sur un réseau et en l'installant, dans certains cas, sans aucune intervention humaine, sans qu'il soit nécessaire de distribuer le logiciel sur un support physique tel qu'une disquette. Il existe désormais, dans la conception des circuits informatiques, une tendance à mettre en oeuvre divers composants matériels d'une façon permettant aux circuits d'être mis à jour et remplacés efficacement d'une manière similaire à la manière dont il est possible de façon classique de mettre à jour et de remplacer un logiciel. Le terme "module programmable sur place" (encore appelé "FPU" de l'acronyme anglo- saxon "Field-Programmable Unit") se réfère à un composant matériel dont la fonctionnalité peut être modifiée en le programmant électroniquement. Des exemples de FPU comportent un microprogramme système (par exemple, BIOS), un boîtier contenant un microprogramme et des réseaux de portes programmables sur place (FPGA). Chacun de ces types de FPU est capable d'enregistrer des signaux électriques représentant un code qui régit, en totalité ou en partie, les fonctions exécutées par le FPU. En conséquence, la fonctionnalité d'un FPU peut être modifiée simplement en modifiant le code (sous la forme de signaux électriques) enregistré dans le FPU. Il peut être nécessaire ou souhaitable de reprogrammer un FPU dans un cas quelconque parmi une diversité de cas. Par exemple, le code enregistré dans un FPU peut être périmé, auquel cas il peut être souhaitable de mettre à jour le code dans le FPU, pour lui permettre d'exécuter de nouvelles fonctions. Comme autre exemple, le code enregistré dans un FPU nouvellement installée peut être incompatible avec d'autres circuits du système, auquel cas, il peut être nécessaire de mettre à jour le code du FPU par un code qui soit compatible avec les autres circuits du système. Le code dans un FPU peut également se trouver corrompu, auquel cas il peut être nécessaire de recharger un nouveau code dans le FPU pour le ramener dans un état fonctionnel. Dans tous ces cas, le principal avantage du FPU par rapport aux autres formes classiques de circuits est que le FPU peut être réparé ou remplacé efficacement, en enregistrant simplement un nouveau code dans le FPU. Le nouveau code peut être enregistré dans un FPU en utilisant un processus qui est similaire au processus par lequel un logiciel est mis à jour. Par exemple, un technicien humain peut fournir le code à l'ordinateur en utilisant une disquette ou en téléchargeant le code sur ûn réseau. Le technicien peut ensuite demander à l'ordinateur d'enregistrer le nouveau code dans le FPU, processus pouvant être typiquement exécuté rapidement et sans nécessiter au technicien d'ouvrir le boîtier de l'ordinateur ou d'exécuter de quelconques modifications physiques à l'ordinateur. La réparation d'un FPU peut, en conséquence, être sensiblement moins pénible, consommer moins de temps et être moins coûteuse que la réparation d'un composant matériel classique. Bien qu'il ne soit pas nécessaire qu'un FRU (module remplaçable sur place) soit programmable sur place, un FRU peut comporter un ou plusieurs FPU (modules programmables sur place). En conséquence, un FRU peut être aussi bien programmable sur place que remplaçable sur place. Dans un système informatique particulier, il est possible que le code du FPU enregistré dans un FRU soit incompatible avec un autre code de FPU dans le système ou avec des composants matériels du système. Ces incompatibilités peuvent provoquer un dysfonctionnement du système. Il est souhaitable d'éviter ces incompatibilités pour conserver un bon fonctionnement du système. Des techniques selon l'invention sont destinées à s'assurer qu'un code dans un module remplaçable sur place (FRU) installé dans un système informatique est compatible avec les autres composants du système informatique. Le système informatique peut comporter une pluralité de FRU, chacun d'entre eux pouvant avoir un numéro de révision particulier. Chacun des FRU peut comporter un ou plusieurs modules programmables sur place, dont chacun peut comporter son propre code ayant son propre numéro de révision. Une matrice de compatibilité de révisions spécifie des combinaisons mutuellement compatibles de révisions de FRU et de révisions de codes de FPU. Lorsqu'un nouveau FRU est installé dans le système, la matrice de compatibilité de révisions est utilisée pour déterminer si le code dans le nouveau FRU est compatible avec les autres FRU du système. Si le code dans le nouveau FRU n'est pas compatible, le système peut identifier un code compatible convenable pour être utilisé dans le nouveau FRU, et installer ce code dans le nouveau FRU. Bien que certains modes de réalisation de la 35 présente invention soient maintenant décrits en termes d'étapes de procédés, ces étapes peuvent être mises en oeuvre par des instructions d'un programme informatique incorporé de façon tangible dans un support lisible par un ordinateur. Dans un mode de réalisation de la présente invention, par exemple, un procédé mis en oeuvre par ordinateur est fourni, destiné à être utilisé dans un système informatique, comportant un premier module programmable sur place incluant un premier code de module programmable sur place (FPU). Le procédé comporte les étapes consistant à : (A) déterminer si le premier code de FPU est compatible avec le système informatique; et (B) si on a déterminé que le premier code de FPU est incompatible avec le système informatique, avertir un utilisateur du système informatique de l'incompatibilité. Le premier module programmable sur place peut être remplaçable sur place. Le système informatique peut comporter, en outre, une pluralité de modules programmables sur place comportant une pluralité correspondante de codes de FPU, et l'étape (A) peut comporter une étape consistant à : (A) (1) déterminer si le premier code de FPU est compatible avec la pluralité de codes de FPU. Le système informatique peut comporter, en outre, une pluralité de modules remplaçables sur place, et l'étape (A) peut comporter, en outre, une étape consistant à : (A) (2) déterminer si le premier code de FPU est compatible avec la pluralité de modules remplaçables sur place. Le système informatique peut comporter, en outre, un descripteur de compatibilité de révision identifiant une pluralité de combinaisons compatibles de modules remplaçables sur place et de codes de modules remplaçables sur place, et l'étape (A) peut comporter une étape consistant à déterminer que le premier code de FPU est compatible avec le système informatique, si une combinaison du premier code de FPU, de la pluralité de codes de FPU, et de la pluralité de modules remplaçables sur place appartient à la pluralité de combinaisons compatibles de codes de modules remplaçables sur place et/ou de modules remplaçables sur place, identifiés par le descripteur de compatibilité de révision. L'étape (B) peut comporter une étape consistant à : (B) (1) doter l'utilisateur d'informations descriptives d'un deuxième code de FPU qui est convenable pour le stockage dans le premier module programmable sur place et qui est compatible avec le système informatique. L'étape (A) peut être exécutée en réponse au remplacement d'un second module programmable sur place par le premier module programmable sur place, et le second module programmable sur place peut comporter le deuxième code de FPU. Dans un autre mode de réalisation de la présente invention, un procédé mis en oeuvre par ordinateur est fourni pour être utilisé dans un système informatique comportant un premier module programmable sur place incluant un premier code de FPU et un second module programmable sur place comportant un deuxième code de FPU. Le procédé comporte les étapes consistant à : (A) après remplacement du second module programmable sur place par le premier module programmable sur place, déterminer si le premier code de FPU est différent du deuxième code de FPU; et (B) avertir un utilisateur du système informatique que le premier module programmable sur place est incompatible avec le système informatique, si on a déterminé que le premier code de FPU était différent du deuxième code de FPU. L'étape (B) peut comporter une étape consistant à doter l'utilisateur d'informations descriptives d'un troisième code de FPU qui est convenable pour stockage dans le premier module programmable sur place et qui est compatible avec le système informatique. Le troisième code de FPU peut, par exemple, être le deuxième code de FPU. Dans encore un autre mode de réalisation de la présente invention, un procédé mis en oeuvre par ordinateur est fourni pour être utilisé dans un système informatique comportant un premier module programmable sur place incluant un premier code de FPU. Le procédé comporte les étapes consistant à : (A) déterminer si le premier code de FPU est compatible avec le système informatique; (B) si on détermine que le premier code de FPU n'est pas compatible avec le système informatique, identifier un deuxième code de FPU qui est compatible avec le système informatique et convenable pour être installé dans le premier module programmable sur place; et (C) installer le deuxième code de FPU dans le premier module programmable sur place. Comme décrit plus en détail ci-dessous, les procédés illustrés sur les dessins par des organigrammes peuvent être mis en oeuvre par des programmes informatiques. La figure 1 est un organigramme d'un procédé utilisé dans un mode de réalisation de la présente invention pour s'assurer qu'un code dans un FRU est compatible avec le système informatique dans lequel il a été installé ; La figure 2 est un organigramme d'un procédé pour déterminer si un code dans un FRU nouvellement installé est compatible avec le système informatique dans lequel il est installé ; La figure 3A est un organigramme d'un procédé pour identifier un code installé dans un FRU qui a été enlevé d'un système informatique selon un mode de réalisation de la présente invention; La figure 3B est un organigramme d'un procédé pour identifier un code installé dans un FRU qui a été enlevé d'un système informatique selon un autre mode de réalisation de la présente invention; La figure 3C est un organigramme d'un procédé pour identifier un code convenable pour installation dans un FRU qui a été installé dans un système informatique selon un mode de réalisation de la présente invention; La figure 4 est un organigramme d'un procédé utilisé dans un autre mode de réalisation de la présente invention pour s'assurer qu'un code dans un FRU est compatible avec le système informatique dans lequel il a été installé ; La figure 5 est un schéma d'une matrice de compatibilité de révisions selon un mode de réalisation de la présente invention; La figure 6A est un schéma fonctionnel par blocs d'un système informatique avant installation d'un nouveau FRU selon un mode de réalisation de la présente invention; et La figure 6B est un schéma fonctionnel par blocs du système informatique de la figure 6A, après installation d'un nouveau FRU selon un mode de réalisation de la présente invention. DESCRIPTION DÉTAILLÉE Des techniques sont décrites pour s'assurer qu'un code dans un module remplaçable sur place (FRU) installé dans un système informatique est compatible avec les autres composants du système informatique. Le système informatique peut comporter une pluralité de FRU, chacun d'entre pouvant avoir un numéro de révision particulier. Chacun des FRU peut comporter un ou plusieurs modules programmables sur place, chacun desquels peut inclure son propre code ayant son propre numéro de révision. Une matrice de compatibilité de révisions spécifie les combinaisons mutuellement compatibles des révisions de FRU et des révisions de codes de FPU. Lorsqu'un nouveau FRU est installé dans le système, la matrice de compatibilité de révisions est utilisée pour déterminer si le code dans le nouveau FRU est compatible avec les autres FRU situés dans le système. Si le code dans le nouveau FRU n'est pas compatible, le système peut identifier un code compatible convenable pour être utilisé dans le nouveau FRU et installer ce code dans le nouveau FRU. En se référant à la figure 1, est représenté un organigramme d'un procédé 100 utilisé dans un mode de réalisation de la présente invention, destiné à s'assurer que le code dans un FRU nouvellement installé est compatible avec le système informatique dans lequel il a été installé. En se référant à la figure 6A, est représenté un schéma fonctionnel par blocs d'un système informatique 600a dans lequel le procédé 100 peut être utilisé. Le système informatique 600a peut, par exemple, être un ordinateur de bureau, un ordinateur portable, une station de travail, un ordinateur central, ou un quelconque autre type de système informatique. Bien que le système informatique 600a comporte au moins un processeur, une mémoire principale, un bus système, et les autres composants couramment inclus dans un système informatique, ces composants ne sont pas représentés sur la figure 6A pour faciliter l'explication. En remplacement, seuls les éléments qui sont appropriés à l'explication du procédé 100 sont représentés sur la figure 6A. En particulier, le système informatique 600a 35 comporte quatre modules remplaçables sur place (FRU), 608a à d. Les FRU 608a à d peuvent, par exemple, être mis en oeuvre sous la forme d'ensembles à circuits imprimés (PCA). Les FRU 608a à d possèdent respectivement des numéros de révision 624a à d. Dans le mode de réalisation illustré sur la figure 6A, chacun des numéros de révision 624a à d représente un numéro de révision matérielle du FRU correspondant. Les numéros de révision 624a à d peuvent être, par exemple, enregistrés dans des EEPROM série sur les PCA qui mettent en oeuvre les FRU 608a à d. Les FRU 608a à d sont respectivement installés dans des emplacements de FRU 616a à d. Il n'est pas nécessaire que les emplacements de FRU 616a à d soient des "emplacements", mais en remplacement ils peuvent plus généralement inclure un type quelconque de circuit de connexion ou d'autres composants pour connecter respectivement les FRU 608a à d au système 600a. Les FRU 608a à d comportent respectivement des modules programmables sur place (FPU) 602a à d. Les modules programmables sur place 602a à d contiennent respectivement un code programmable sur place 604a à d. Le code 604a à d comporte respectivement des numéros de révision 622a à d. Comme décrit plus en détail ci-dessous, chacun des numéros de révision 622a à d représente un numéro de révision du code correspondant 604a à d. Les FPU 602a à d peuvent être des types quelconques de FPU, par exemple un microprogramme système, un boîtier contenant un microprogramme, ou des FPGA. Les FPU 602a à d sont installés respectivement dans des emplacements de FPU 606a à d. Comme les emplacements de FRU 616a à d, les emplacements de FPU 606a à d peuvent comporter un type quelconque de circuit de connexion ou d'autres composants pour connecter respectivement les FPU 602a à d aux FRU 608a à d. Dans le mode de réalisation illustré sur les figures 6A et 6B, chacun des emplacements 606a à d est conçu pour recevoir un FPU d'un type particulier. Par exemple, l'emplacement 606a peut être conçu pour recevoir un microprogramme mettant en oeuvre le BIOS système, tandis que l'emplacement 606b peut être conçu pour recevoir un FPGA mettant en oeuvre un contrôleur particulier d'E/S. Bien que quatre FRU 608a à d, quatre FPU 602a à d, et les emplacements correspondants 616a à d et 606a à d soient représentés sur la figure 6A, à titre d'exemple, le système 600a peut inclure un nombre quelconque et un type quelconque de FRU et de FPU selon des combinaisons quelconques. En particulier, un FRU peut comporter zéro, un ou plusieurs FPU. Considérons un exemple dans lequel le FRU 608a est remplacé (figure 1, étape 102). En se référant par exemple à la figure 6B, est représenté un système informatique 600b, qui est le même que le système informatique 600a, à l'exception du fait que le FRU 608a a été remplacé par un FRU 608e, ayant un numéro de révision 624e, et qui comporte un FPU 602e contenant un code 604e ayant un numéro de révision 622e. Le numéro de référence 600 est ici utilisé pour se référer de façon générique aux systèmes informatiques 600a et b, lorsque les différences entre les deux ne sont pas pertinentes. Comme il va être décrit plus en détail ci-dessous, le numéro de révision 624e du FRU de remplacement 608e peut alors être le même que le, ou différer du, numéro de révision 624a du FRU d'origine 608a, et le code 604e du FPU de remplacement 602e peut être le même que le, ou différer du, code 604a du FPU d'origine 602a. Le remplacement du FRU 608a par le FRU 608e est typiquement effectué par un opérateur humain en réponse à l'identification d'un dysfonctionnement ou d'un autre problème avec le FRU d'origine 608a. Le procédé 100 identifie le nouveau FRU 608e (étape 104). Le système 600 peut, par exemple, comporter un vérificateur de compatibilité 610 qui accède aux FRU 608b à e et qui peut exécuter l'étape 104. Le procédé 100 peut identifier le nouveau FRU 608e d'une manière quelconque parmi une diversité de manières. Par exemple, le procédé 100 peut identifier le nouveau FRU 608e en extrayant son numéro de révision 624e et les numéros de révision de code dans tous les FPU dans le nouveau FRU 608e. Dans le présent exemple, ceci entraîne l'extraction du numéro de révision du FRU 624e et du numéro de révision de code du FPU 622e. Il est courant que la première révision (appelée également "version") d'un code de FRU ou de FPU ait un numéro de révision de 1 (ou 1.0), et pour les révisions suivantes, qu'elles aient des numéros de révision supérieurs (par exemple, 1.1 pour une version mineure et 2.0 pour une version majeure). Différentes révisions de code pour le même FPU peuvent, par exemple, comporter un code qui corrige des bogues de révisions précédentes ou qui ajoutent de nouvelles caractéristiques au FPU. Le terme "code de module programmable sur place" (encore appelé "code de FPU") se réfère à un ensemble de codes destinés à être utilisés dans un module programmable sur place. Par exemple, les codes 604a à e sont tous des codes de modules programmables sur place. Une combinaison particulière de FRU et de codes de modules programmables sur place pouvant être installés dans un système informatique est ici appelée "recette". Par exemple, la combinaison particulière des FRU 608a à d et des codes de FPU 604a à d installés dans le système 600a (figure 6A), est un exemple d'une recette, comme la combinaison particulière des FRU 608b à e et des codes de FPU 604b à e installés dans le système 600b (figure 6B). Une recette particulière peut, par exemple, être représentée sous la forme d'une liste de numéros de révisions de FRU et de numéros de révisions de code de FPU. Le terme "révision" est ici utilisé pour se référer de façon générale à la fois à des révisions de FRU et à des révisions de code de FPU. La combinaison des révisions de FRU et des révisions de code de FPU représentée par une recette particulière peut ou non être compatible. Une recette peut, par exemple, spécifier une combinaison de codes, qui, si elle est installée dans les FPU aux emplacements 606a à d, provoque un dysfonctionnement du système informatique 600a. Une combinaison de codes de FPU qui, si elle est installée dans les FPU aux emplacements 606a à d, ne gêne pas le fonctionnement des autres est ici appelée "codes mutuellement compatibles". Il est souhaitable que seules les recettes comportant des codes de FPU mutuellement compatibles soient installées dans un système informatique. De façon plus générale, une combinaison de révisions de FRU et de révisions de codes de FPU qui, si elle est installée dans un système informatique, ne gêne pas le fonctionnement des autres, est ici appelée "révisions mutuellement compatibles". Une recette qui spécifie une combinaison de révisions mutuellement compatibles est ici appelée "recette compatible". Dans un mode de réalisation de la présente invention, une matrice de compatibilité de révisions 500 spécifie des recettes compatibles convenables pour être utilisées dans le système informatique 600. La matrice de compatibilité de révisions 500 peut, par exemple, être produite en installant et en testant diverses combinaisons de révisions de FRU et de révisions de codes de FPU dans le système informatiques 600, en identifiant des combinaisons de révisions qui sont mutuellement compatibles, et en enregistrant les combinaisons identifiées de révisions mutuellement compatibles dans la matrice de compatibilité de révisions 500. En se référant à la figure 5, un exemple de la matrice de compatibilité de révisions 500 est représenté selon un mode de réalisation de la présente invention. La matrice de compatibilité de révisions 500 représentée sur la figure 5 comporte huit rangées (enregistrements) 502a à h, dont chacun spécifie une recette compatible particulière convenable pour être utilisée dans le système informatique. La matrice de compatibilité de révisions 500 comporte: (1) des colonnes 504a à d, correspondant respectivement aux emplacements de FPU 606a à d, (comme indiqué par les numéros de référence entre parenthèses au-dessous des colonnes 504a à d) ; (2) des colonnes 504e à h, correspondant respectivement aux emplacements de FRU 616a à d (comme indiqué par les numéros de référence entre parenthèses au- dessous des colonnes 504e à h) ; et (3) une colonne 504i, qui indique la recette la plus récemment reconnue installée dans le système 600. On se réfère à chacun des emplacements de FPU 606a à d par un identifiant de FPU particulier (ID de FPU), représenté en haut des colonnes 504a à d. En particulier, on se réfère respectivement aux emplacements de FPU 606 a à d par les ID de FPU A, B, C, et D sur la figure 5. De façon similaire, on se réfère à chacun des emplacements de FRU 616a à d par un identifiant de FRU particulier (ID de FRU) représenté en haut des colonnes 504e à h. Chaque rangée de la matrice de compatibilité de révisions 500 spécifie une recette compatible particulière sous la forme d'un ensemble de numéros de révisions de codes de FPU et de numéros de révisions de FRU. Par exemple, la rangée 502h spécifie une recette dans laquelle: (1) la révision de code 2 est enregistrée dans le FPU à l'emplacement 606a; (2) la révision de code 0 est enregistrée dans le FPU à l'emplacement 606b; (3) la révision de code 3 est enregistrée dans le FPU à l'emplacement 606c; (4) la révision de code 2 est enregistrée dans le FPU à l'emplacement 606d; (5) un FRU de révision 0 est installé à l'emplacement de FRU 616a; (6) un FRU de révision 0 est installé à l'emplacement de FRU 616b; (7) un FRU de révision 3 est installé à l'emplacement de FRU 616c; et (8) un FRU de révision 3 est installé à l'emplacement de FRU 616d. On notera que dans le présent mode de réalisation, un ensemble particulier de codes de FPU peut être identifié par une combinaison de l'ID de FPU et du numéro de révision. Par exemple, la combinaison de l'ID de FPU "A" et du numéro de révision "2" identifie un code de FPU destiné à être utilisé à l'emplacement de FPU 606a et ayant le numéro de révision 2. Cet aménagement particulier pour identifier le code de FPU est toutefoisprésenté simplement à titre d'exemple et ne constitue pas une limitation de la présente invention. D'autres aménagements d'identification peuvent être utilisés à titre de variante, pour identifier un code de FPU particulier dans la matrice de compatibilité de révisions 500. Il en est de même pour le numéro de révision de FRU. En revenant à la figure 1, le procédé 100 permet d'obtenir la matrice de compatibilité de révisions 500 (étape 106). Par exemple, comme représenté sur la figure 6B, la matrice de compatibilité de révisions 500 peut être fournie comme entrée au vérificateur de compatibilité 610. Le procédé 100 permet d'obtenir la matrice de compatibilité de révisions 500 selon l'une quelconque parmi une diversité de manières. Par exemple, le procédé 100 peut télécharger la matrice de compatibilité de révisions 500 sur un réseau à partir d'un emplacement distant connu en utilisant des techniques qui sont bien connues par les hommes de l'art. Toutefois, il n'est pas nécessaire que la matrice de compatibilité de révisions 500 soit mémorisée à distance. La matrice de compatibilité de révisions 500 peut, par exemple, être enregistrée dans le système 600, auquel cas, le procédé 100 peut exécuter l'étape 106 en obtenant, par exemple, un pointeur sur la matrice 500. En d'autres termes, l'étape 106 ne nécessite pas l'exigence de transmettre la matrice 500 sur une connexion de réseau ou de copier la matrice 500. Le procédé 100 détermine si le nouveau FRU (dans cet exemple, le FRU 608e) est compatible avec le système informatique 600b (étape 108). Si le procédé 100 détermine que le nouveau FRU 608e est compatible avec le système informatique 600b, le procédé 100 se termine (étape 120). Si le procédé 100 détermine que le nouveau FRU 608e n'est pas compatible avec le système informatique 600b, le procédé 100 avertit un utilisateur 616 du système 600b de l'incompatibilité (étape 110). Par exemple, le vérificateur de compatibilité 610 peut fournir à l'utilisateur 616 un avertissement d'incompatibilité 612, par exemple en affichant un message sur l'écran avertissant l'utilisateur 616 de l'incompatibilité. Si l'incompatibilité identifiée à l'étape 108 est une incompatibilité de code de FRU, le procédé 100 identifie un code convenable pour installation dans le nouveau FRU 608e, et qui est compatible avec le système informatique 600b (étape 112). Ce code est ici appelé "code compatible". Par exemple, en se référant à la figure 6B, on suppose que le procédé 100 identifie un code compatible 620 convenable pour installation dans le nouveau FPU 602e. On notera que si plus d'une révision de codes de FPU incompatibles sont identifiées à l'étape 108, plus d'un ensemble de codes compatibles peuvent être identifiés à l'étape 112. Le procédé 100 fournit à l'utilisateur 616 des informations descriptives du code compatible 620 identifié à l'étape 112 (étape 114). Par exemple, le vérificateur de compatibilité 610 peut fournir à l'utilisateur 616 un message d'information de révision de compatibilité 614 décrivant le code compatible 620 identifié à l'étape 112. Le message 614 peut, par exemple, comporter un "Uniform Resource Locator" (URL) ou un autre descripteur d'un emplacement à partir duquel le code 620 peut être téléchargé. Dans un mode de réalisation de la présente invention, l'utilisateur 616 peut utiliser les informations situées dans le message 614 pour obtenir et installer le code compatible 620 dans le nouveau FPU 602e. Toutefois, dans le mode de réalisation illustré sur la figure 1, le procédé 100 obtient automatiquement le code compatible 620 identifié à l'étape 112 (étape 116). Le système 600b peut, par exemple, comporter un installateur de code 618 qui télécharge sur un réseau depuis un emplacement distant le code 620 identifié à l'étape 112. L'emplacement du code 620 peut être déterminé en se basant sur l'emplacement de FPU auquel est associé le code 620 et le numéro de révision du code 620. À titre de variante au téléchargement du code 620 sur un réseau, le système 600b peut comporter toutes les révisions de codes dont la liste est donnée dans la matrice de compatibilité de révisions 500, et l'installateur de code 618 peut obtenir le code 620 depuis le système 600, en se basant sur l'emplacement de FPU auquel est associé le code 620, et sur le numéro de révision du code 620. Le procédé 100 peut également avertir l'utilisateur 616 que le code 620 est sur le point d'être installé dans le nouveau FPU 602e et fournir à l'utilisateur 616 l'option d'interrompre l'installation, si cela est désiré. Lorsque le code 620 est obtenu, le procédé 100 installe le code 620 dans le FPU 602e installé à l'emplacement de FPU 606a (étape 118). L'étape 118 peut, par exemple, être exécutée par l'installateur de code 618. À la fin de l'étape 118, le procédé 100 se termine (étape 120). À la fin du procédé 100, le nouveau FPU 602e doit être capable de fonctionner d'une manière compatible avec les FPU restants 602b à d et avec les autres composants du système informatique 600. Ayant décrit en général le fonctionnement du procédé 100, divers modes de réalisation de la présente invention vont maintenant être décrits plus en détail. On se rappellera que le procédé 100 peut déterminer si le nouveau FRU 608e est compatible avec le système informatique 600b (figure 1, étape 108). En se référant à la figure 2, un organigramme est présenté, illustrant des techniques particulières pouvant être utilisées pour déterminer si le nouveau FRU 608e est compatible avec le système informatique 600b. En se référant à la figure 2, le procédé 108 identifie les révisions dans le nouveau FRU 608e (étape 202). L'étape 202 peut inclure, par exemple, l'identification du numéro de révision 624e du FRU 608e lui-même, les numéros de révision du code de FPU installé dans de quelconques FPU dans le FRU 608e (par exemple, le numéro de révision 622e), ou les deux. Le procédé 108 identifie les révisions de (code de FRU et/ou FPU) dans les autres FRU 608b à d du système 600b (étape 204). Le procédé 108 peut identifier ces révisions de la même façon qu'il identifie les révisions dans le nouveau FRU 608e ou d'une quelconque autre manière. Dans un mode de réalisation de la présente invention, le résultat de l'exécution des étapes 202 et 204 est une liste de numéros de révisions de FRU et de numéros de révisions de codes de FPU, représentant les révisions de FRU et les révisions de codes de FPU actuellement installées dans le système 600. Par exemple, le résultat des étapes 202 et 204 peut être une liste des numéros de révisions de FRU 624b à e et des numéros de révisions de codes de FPU 622b à e. Le procédé 108 recherche dans la matrice de compatibilité de révisions 500 une recette spécifiant la combinaison de révision identifiée lors des étapes 202 et 204 (étape 206). Par exemple, si les numéros de révisions de codes des FPU 602e, 602b, 602c, et 602d sont respectivement 1, 1, 3 et 2, et que les numéros de révisions des FRU 608e 608b, 608c, et 608d sont respectivement 2, 1, 0 et 2, alors le procédé 108 recherche à l'étape 206 une recette spécifiant la combinaison 11322102. Le procédé 108 trouve une telle recette dans la rangée 502f de la matrice 500. Le procédé 108 détermine si une recette spécifiant la combinaison des révisions identifiées lors des étapes 202 et 204 a été trouvée à l'étape 206 (étape 208). Si une telle recette a été trouvée, le procédé 108 passe à l'étape 120 du procédé 100 (figure 1, auquel cas, le procédé 100 se termine. Si aucune de ces recettes n'a été trouvée, le procédé 108 passe à l'étape 110 du procédé 100 (figure 1). Il a été énoncé de façon générale ci-dessus que le procédé 100 pouvait identifier un code compatible avec le système informatique 600b, et convenable pour installation dans un ou plusieurs FPU dans le nouveau FRU 608e (étape 112), et que le procédé 100 pouvait fournir à l'utilisateur 616 des informations concernant le code identifié (étape 114). En se référant à la figure 3A, un organigramme est présenté d'un procédé qui est utilisé dans un mode de réalisation de la présente invention pour exécuter les étapes 112 et 114. Les figures 3A à 3C vont être décrites en ce qui concerne un exemple particulier dans lequel on a trouvé que le code 622e dans le nouveau FPU 602e était incompatible, à l'étape 108. Toutefois, les procédés représentés sur les figures 3A à 3C peuvent s'appliquer plus généralement à l'identification d'un code compatible convenable pour installation dans un ou plusieurs FPU dans un FRU. Le procédé représenté sur la figure 3A identifie un code convenable pour installation dans le nouveau FRU 608e en identifiant un code qui a été installé dans le FRU 608a précédemment installé (étape 302). Par exemple, si on a déterminé que le code 622e dans le nouveau FPU 602e est incompatible avec le système 600b, à l'étape 108, le procédé représenté sur la figure 3A peut identifier le code 604a qui était installé dans le FPU 602a précédemment installé. Le procédé représenté sur la figure 3A avertit l'utilisateur 616 du code compatible pour le nouveau FRU 608e en avertissant l'utilisateur 616 du code précédemment installé (par exemple, le code 604a) (étape 304), par exemple en fournissant le numéro de révision 622a du code 604a à l'utilisateur 616. Le procédé 100 peut identifier le code 604a installé dans le FRU précédemment installé 608a (étape 302) selon une quelconque parmi une diversité de manières. Le système informatique 600b peut, par exemple, comporter un enregistrement identifiant le code 604a installé dans le FPU 604a. Par exemple, en se référant de nouveau à la figure 5, la colonne de recette courante 504i peut spécifier la recette installée dans le système 600 avant installation du nouveau FRU 608e. Cette recette est ici appelée "recette courante", même si elle peut ne pas représenter la recette réelle du système lorsque le nouveau FRU 608e a été installé. Dans l'exemple représenté sur la figure 5, la rangée de matrice représentant la recette courante est indiquée par une valeur particulière, telle que ("Y", "vrai" ou 1) dans la colonne de recette courante 504i. Par exemple, comme représenté sur la figure 5, la valeur de la colonne de recette courante 504i de l'enregistrement 502c est égale à "Y", indiquant que la recette représentée par l'enregistrement 502c est la recette courante. La valeur "N" est enregistrée dans la colonne de recette courante 504i des enregistrements restants 502a et b et 502d à h, indiquant qu'ils ne représentent pas la recette courante. En se référant à la figure 3B, est présenté un organigramme d'un procédé pouvant être utilisé pour identifier le code de FPU 604a installé dans le FRU précédent 608a (figure 3A, étape 302) selon un mode de réalisation de. la présente invention. En particulier, le procédé présenté sur la figure 3B peut identifier le code 604a installé dans le FPU précédent 602a en identifiant la recette du système qui existait avant installation du nouveau FRU 608e (étape 310). Le procédé 100 peut identifier la recette précédente du système, par exemple, en identifiant l'enregistrement dans la matrice de compatibilité de révisions 500 ayant une valeur de "Y" dans sa colonne de recette courante 504i. Le procédé représenté sur la figure 3B peut identifier la révision de code que spécifie la recette courante pour l'emplacement de FPU où est installé le nouveau FPU 602e (étape 312). Le procédé peut identifier cette révision de code en identifiant le numéro de révision enregistré dans la colonne correspondant au FPU précédent 602a (par exemple, la colonne 504a). Dans l'exemple représenté sur la figure 5, ce numéro de révision est zéro (c'est-à-dire, la valeur enregistrée dans la rangée 502c, colonne 504a). On comprendra que l'utilisation de la colonne de recette courante 502i, et des techniques qui viennent d'être décrites pour utiliser la colonne de recette courante 502i, sont fournies simplement à titre d'exemple et ne constituent pas des limitations de la présente invention. D'autres techniques peuvent être utilisées pour identifier le code qui a été installé dans un FPU précédemment installé. Par exemple, le système 600b peut comporter une liste distincte indiquant la recette courante et une ou plusieurs recettes antérieures. Une telle liste peut être utilisée pour identifier un code précédemment installé dans un emplacement de FPU particulier. En se référant à la figure 3C, est présenté un organigramme d'un procédé utilisé dans un autre mode de réalisation de la présente invention, destiné à identifier un code compatible convenable pour installation dans un ou plusieurs FPU dans le nouveau FRU 608e, sans utiliser la colonne de recette courante 504i. Le procédé représenté sur la figure 3C identifie une recette dans la matrice de compatibilité de révisions 500, qui est cohérente avec les révisions de FRU de tous les FRU installés dans le système 600 et avec les révisions de codes installées dans les anciens FPU (par exemple, les FPU 606b à d) (étape 320). Supposons par exemple, que les FRU 608e, 608b, 608c et 608d, ont respectivement les numéros de révisions 2, 1, 0 et 2, et que les FPU 602b à d comportent un code ayant respectivement les numéros de révisions 1, 3 et 2. Dans ce cas, le procédé représenté sur la figure 3C peut identifier la rangée 502f à l'étape 320 comme représentant une recette cohérente avec les FRU installés 608b à e et avec les révisions de codes installées dans les FPU 602b à d. La rangée 502f peut être identifiée en utilisant une quelconque parmi une diversité de techniques de correspondance de motifs mises en oeuvre par ordinateur, qui sont bien connues par les hommes de l'art. Le procédé représenté sur la figure 3C peut identifier, dans la rangée identifiée à l'étape 320, le ou les numéros de révisions de codes pour le ou les FPU installés dans le nouveau FRU 608e (étape 322). Dans le présent exemple, le nouveau FPU 602e est installé à l'emplacement 606a, correspondant à la colonne 504a de la matrice 500. Le procédé peut en conséquence identifier le numéro de révision de code enregistré dans la colonne 504a de la rangée 502f à l'étape 322. Ce numéro de révision de code identifie une révision de code convenable pour installation dans le nouveau FPU 602e, et compatible avec les révisions de code installées dans les autres FPU 602b à d et avec les révisions des FRU 608b à e. Si la matrice de compatibilité de révisions 500 comporte des enregistrements multiples qui sont cohérents avec les révisions de FRU et les révisions de codes de FPU actuellement installées dans le système 600, le procédé peut (à l'étape 320) identifier ces enregistrements multiples et identifier (à l'étape 322) des numéros de révision de codes multiples correspondant à l'emplacement de FPU dans lequel le nouveau FPU 602e est installé. Le procédé 100 peut, dans ce cas, avertir l'utilisateur 616 des révisions de codes multiples identifiées, fournissant ainsi à l'utilisateur 616 un choix de révisions de codes à installer dans le nouveau FPU 602e. Le procédé 100 peut, par exemple, fournir à l'utilisateur 616 des informations supplémentaires pour faciliter la sélection d'une révision de code appropriée à installer dans le nouveau FPU 602e. Par exemple, le procédé 100 peut donner la liste de toutes les révisions de codes compatibles dans l'ordre décroissant des numéros de révision, de façon que la révision la plus récente soit listée en premier. Bien que dans le cas typique, la révision la plus récente soit la révision la plus souhaitable à installer, dans certains cas, l'utilisateur 616 peut choisir d'installer une révision antérieure en se basant sur des considérations telles que la stabilité ou un ensemble de caractéristiques. En se référant à la figure 4, est présenté un organigramme d'un procédé 400 utilisé dans un autre mode de réalisation de la présente invention, destiné à s'assurer que le code de FPU dans le FRU nouvellement installé 608e est compatible avec le système informatique 600b dans lequel il a été installé. Le FRU d'origine 608a est enlevé de l'emplacement de FRU 616a et remplacé par le nouveau FRU 608e (étape 402). Comme décrit ci-dessus en ce qui concerne la figure 1, cette étape peut être exécutée par un technicien humain. Le procédé 400 identifie le nouveau FRU 608e (étape 404) et obtient la matrice de compatibilité de révisions 500 (étape 406). Les étapes 404 et 406 peuvent être exécutés de la même manière que les étapes 104 et 106 du procédé 100 (figure 1). Le procédé 400 détermine si le code de FPU installé dans le nouveau FPU 602e (par exemple, le code de FPU 604e), est différent du code (par exemple, le code 604a) installé dans l'ancien FRU 608a (étape 408). Le procédé 400 peut effectuer cette détermination selon une quelconque parmi une diversité de manières. Par exemple, le procédé 400 peut identifier les numéros de révisions de codes de l'ancien code 604a et du nouveau code 604e, en utilisant l'une quelconque des techniques décrites ci-dessus en ce qui concerne les figures 3A à 3C, puis comparer entre eux les numéros de révisions de codes, pour déterminer si ce sont les mêmes. Si l'ancien code 604e et le nouveau code 604a sont les mêmes, le procédé 400 se termine (étape 416). Sinon, le procédé 400 avertit l'utilisateur 616 du code de FPU 604a dans l'ancien FRU 608a (étape 410). L'ancien code de FPU 604a est un exemple de code compatible pouvant être installé dans le nouveau FPU 602e pour le rendre compatible avec les FRU 608b à e et les FPU restants 602b à d. Le procédé 400 peut avertir l'utilisateur 616 de l'ancien code de FPU 604a selon une quelconque parmi une diversité de manières, par exemple en fournissant à l'utilisateur 616 le numéro de révision de code de l'ancien code de FPU 604a. Le procédé 400 obtient le code compatible identifié à l'étape 410 (étape 412) et installe le code compatible dans le nouveau FRU 608e (étape 414). Dans le présent exemple, l'étape 414 peut être mise en oeuvre en installant l'ancien code de FPU 604a dans le nouveau FPU 602e. Les étapes 412 et 414 peuvent, par exemple, être exécutées de la même manière que les étapes 116 et 118 dans le procédé 100 (figure 1). Lors de l'installation du code compatible dans le nouveau FRU 608e, le nouveau FRU 608e doit être capable de fonctionner d'une manière compatible avec les FRU restants 608b à d. Un avantage des techniques ici décrites est qu'elles facilitent le processus consistant à s'assurer que le code de FPU dans un FRU nouvellement installé est compatible avec les autres FRU dans un système informatique et avec le code de FPU installé dans ceux-ci. En particulier, les techniques ici décrites peuvent être utilisées pour vérifier automatiquement si le code 604e dans le nouveau FPU 602e est compatible avec le code 604b à d situé dans les FPU restants 602b à d. Comme décrit ci-dessus, dans les systèmes classiques, lors de l'installation d'un nouveau FRU dans un système informatique, l'utilisateur doit déterminer manuelle-ment si le nouveau FRU et le code installé dans celui-ci sont compatibles avec les FRU restants et le code installé dans ceux-ci. Ceci nécessite typiquement que l'utilisateur se réfère à une table qui indique la compatibilité du FRU et de ses codes avec les autres FRU et leur code. Ceci peut être pénible, consommer du temps et être sujet à des erreurs. En permettant au processus de vérification de compatibilité d'être exécuté automatiquement par des opérations informa-tiques, les techniques ici décrites peuvent permettre l'exécution d'un contrôle de compatibilité plus rapidement, facilement et de manière fiable, que ce qui est possible manuellement. De plus, en permettant l'installation automatique d'un code compatible dans le nouveau FRU 608e, les techniques ici décrites simplifient davantage le processus consistant à s'assurer que le code 604e dans le FRU nouvellement installé 608e est compatible avec le code 604b à d dans les FRU restants 608b à d. En particulier, l'installation automatique peut à la fois diminuer la quantité de temps totale requise pour installer un code compatible dans le nouveau FRU 608e et éliminer la possibilité pour qu'un code incorrect soit installé dans le FRU 608e. On comprendra que bien que l'invention ait été décrite ci-dessus en termes de modes de réalisation particuliers, les modes de réalisation précédents sont fournis comme étant explicatifs seulement, et ne limitent pas ou ne définissent pas la portée de l'invention. Divers autres modes de réalisation, comportant, mais sans y être limité, ce qui suit, appartiennent également à la portée des revendications. Les éléments et les composants ici décrits peuvent en outre être subdivisés en composants supplémentaires ou rassemblés de manière à former un plus petit nombre de composants pour exécuter les mêmes fonctions. Bien que la matrice de compatibilité de révisions 500 soit illustrée sur la figure 5 comme une matrice bidimensionnelle, ceci ne constitue pas une limitation de la présente invention. En remplacement, la matrice de compatibilité de révisions 500 peut être mise en oeuvre sous la forme d'une structure de données appropriée quelconque et peut en conséquence, être considérée plus généralement comme un "descripteur de compatibilité de révisions" qui décrit la compatibilité des divers codes de FRU entre eux. Par exemple, bien que la matrice de compatibilité de révisions particulière 500 représentée sur la figure 5 donne la liste des ensembles complets de FRU et de codes de FPU mutuellement compatibles, la matrice de compatibilité de révisions 500 peut, par exemple, indiquer des paires, des triplets, ou d'autres combinaisons de FRU et de codes de FPU mutuellement compatibles qui ne spécifient pas une recette complète. Bien que le mode de réalisation particulier de la matrice de compatibilité de révisions 500 représentée sur la figure 5 utilise des numéros de révisions entiers pour identifier des FRU et codes de FPU, ceci ne constitue pas une limitation de la présente invention. En remplacement, un type quelconque d'information d'identification peut être utilisé pour spécifier des FRU et des codes de FPU particuliers et pour déterminer si deux instances particulières de FRU ou de codes de FPU sont les mêmes ou diffèrent entre elles. Par exemple, les bits dans les ensembles de codes de FPU peuvent être directement comparés entre eux pour déterminer s'ils sont les mêmes, de façon à éliminer la nécessité d'utiliser des numéros de révisions différents ou d'autres informations d'identification. La matrice de compatibilité de révisions 500 peut ou non être enregistrée de façon permanente dans le système informatique 600. Par exemple, la matrice de compatibilité de révisions 500 peut être téléchargeable depuis un emplacement distant dans le système informatique 600 au moment ou aux environs du moment où le FRU d'origine 608a est remplacé par le nouveau FRU 608e. La matrice 500 peut être utilisée pour exécuter les fonctions ici décrites et être ensuite supprimée. Les systèmes informatiques convenables pour être utilisés dans des modes de réalisation de la présente invention peuvent inclure un nombre quelconque de FPU et/ou FRU selon une combinaison quelconque. Un FRU peut comporter zéro FPU ou plus. De plus, bien que les FPU 602a à e illustrés sur les figures 6A et 6B soient respectivement représentés comme des composants secondaires distincts des FRU 608a à e, ceci ne constitue pas une exigence de la présente invention. En remplacement, un FRU peut être lui-même un FPU qui contient son propre code. Les étapes, techniques et éléments du procédé (par 35 exemple, le vérificateur de compatibilité 610, l'installateur de code 618 et la matrice de compatibilité de révisions 500) décrits ci-dessus peuvent être mis en oeuvre, par exemple, par des circuits, un logiciel, un microprogramme ou une quelconque combinaison de ceux-ci. Les techniques décrites ci-dessus peuvent être mises en oeuvre dans un ou plusieurs programmes informatiques s'exécutant sur un ordinateur programmable comportant un processeur, un support de stockage lisible par le processeur (comportant, par exemple, une mémoire volatile et non volatile et/ou des éléments de stockage), au moins un dispositif d'entrée et au moins un dispositif de sortie. Le code de programme peut être appliqué à une entrée introduite en utilisant le dispositif d'entrée pour exécuter les fonctions décrites et pour produire une sortie. La sortie peut être fournie à un ou plusieurs dispositifs de sortie. Chaque programme informatique appartenant à la portée des revendications ci-dessous peut être mis en oeuvre selon un langage de programmation quelconque, tel qu'un langage d'assemblage, un langage machine, un langage de programmation procédural de haut niveau, ou un langage de programmation orienté objet. Le langage de programmation peut, par exemple, être un langage de programmation compilé ou interprété. Chacun de ces programmes informatiques peut être mis en oeuvre dans un produit de programme informatique incorporé de manière tangible dans un dispositif de stockage lisible par une machine pour être exécuté par un processeur d'ordinateur. Les étapes des procédés de l'invention peuvent être exécutées par un processeur d'ordinateur exécutant un programme réalisé de façon tangible sur un support lisible par un ordinateur pour exécuter les fonctions de l'invention en opérant sur une entrée et en produisant une sortie. Les processeurs convenables comportent, par exemple, à la fois des microprocesseurs généraux et à usage spécial. Généralement, le processeur reçoit des instructions et des données depuis une mémoire à lecture seule et/ou une mémoire à accès aléatoire. Des dispositifs de stockage convenables pour réaliser de façon tangible des instructions de programmes informatiques comportent, par exemple, toutes les formes de mémoires non volatiles, telles que des dispositifs mémoire à semiconducteur, comportant des EPROM, EEPROM et des dispositifs mémoire flash; des disques magnétiques tels que des disques durs interne et des disques amovibles; des disques magnéto-optiques et des CD-ROM. L'un quelconque parmi ce qui précède peut être complété par ou incorporé dans des ASIC (circuits intégrés spécifiques à une application) conçus de façon spécifique. Un ordinateur peut généralement également recevoir des programmes et des données depuis un support de stockage tel qu'un disque interne (non représenté) ou un disque amovible. Ces éléments se trouvent également dans un ordinateur classique de bureau ou une station de travail ainsi que d'autres ordinateurs convenables pour exécuter des programmes informatiques mettant en oeuvre les procédés ici décrits, pouvant être utilisés conjointement avec un quelconque moteur d'impression numérique ou moteur de marquage, moniteur d'affichage, ou autre dispositif de sortie tramée capable de produire des pixels en couleurs ou en échelle de gris sur du papier, un film, un écran d'affichage ou un autre support de sortie. 32. TRADUCTION DES DESSINS FIGURE 1 Début 102 Remplacement du FRU 104 Identification du nouveau FRU 106 Obtention de la matrice de compatibilité de révisions 108 Le nouveau FRU est-il compatible ? OUI NON Avertissement à l'utilisateur de l'incompatibilité 112 Identification d'un code compatible pour le nouveau FRU 114 Avertissement à l'utilisateur du code compatible pour le nouveau FRU 116 Obtention du code 118 Installation du code dans le nouveau FRU 120 Terminé FIGURE 2 Début 202 Identification de révision(s) dans le nouveau FRU 204 Identification de révision(s) dans les autres FRU 206 Recherche dans la matrice de compatibilité de révisions d'une recette spécifiant une combinaison de révisions identifiées 208 Recette trouvée ? OUI NON Figure 1, étape 110 Figure 1, étape 120 FIGURE 3A Début 302 Identification du code installé sur le FRU remplacé 5 304 Avertissement à l'utilisateur du code identifié Fin FIGURE 3B Début 310 Identification de la recette précédente 312 Identification du code pour le FRU spécifié dans la recette précédente Fin FIGURE 3C Début 320 Identification dans la matrice de compatibilité de révisions d'une recette cohérente avec toutes les révisions de FRU installées et avec les anciennes révisions de codes de FRU 322 Identification de la ou des révisions de code(s) pour le nouveau FRU par référence à la recette 25 identifiée Fi n FIGURE 4 Début 402 Remplacement du FRU 404 Identification du nouveau FRU 406 Obtention de la matrice de compatibilité de 35 révisions 2857116 34 408 Le nouveau code de FRU est-il différent de l'ancien code de FRU ? OUI NON 410 Avertissement à l'utilisateur de l'ancien code de FRU 412 Obtention du code 414 Installation du code dans le nouveau FRU 416 Terminé FIGURE 5 N de recette Recette courante ? FIGURE 6A 618 Installateur de code 610 Vérificateur de compatibilité 500 Matrice de compatibilité de révisions FIGURE 6B 618 Installateur de code 610 Vérificateur de compatibilité 500 Matrice de compatibilité de révisions 612 Avertissement d'incompatibilité 614 Information de révision de compatibilité 620 Code compatible 616 Utilisateur 3 S - R E V E N D I C A T I O N S 1. Procédé mis en oeuvre par ordinateur (100), dans un système informatique (600b) comportant un premier module programmable sur place (602e) incluant un premier code de module programmable sur place (encore appellé "code de FPU") (604e), comprenant les étapes suivantes: (A) déterminer (108) si le premier code de FPU (604e) est compatible avec le système informatique 10 (600b) ; et (B) si le premier code de FPU (604e) est déterminé comme n'étant pas compatible avec le système informatique (600b), avertir {110) un utilisateur (616) du système informatique (600b) de l'incompatibilité. 2. Procédé selon la revendication 1, dans lequel le système informatique (600b) comprend, en outre, une pluralité de modules programmables sur place (602b à d) incluant une pluralité correspondante de codes de FPU (604b à d), et dans lequel l'étape (A) comprend une étape consistant à : (A) (1) déterminer (208) si le premier code de FPU (604e) est compatible avec la pluralité de codes de FPU (604b à d). 3. Procédé selon la revendication 1, dans lequel le 25 premier module programmable sur place (602e) comprend un module remplaçable sur place. 4. Dispositif d'un système informatique (600b) comportant un premier module programmable sur place (602e) incluant un premier code de module programmable sur place (encore appelé "code de FPU") (604e), le dispositif comprenant: un moyen de détermination (610) pour déterminer si le premier code de FPU (604e) est compatible avec le système informatique (600b) ; et 2857116 36 un moyen d'avertissement (610) pour avertir un utilisateur (616) du système informatique (600b) que le premier code de FPU (604e) n'est pas compatible avec le système informatique (600b), dans le cas où le moyen de détermination (610) a déterminé que le premier code de FPU (604e) n'est pas compatible avec le système informatique (600b). 5. Procédé mis en oeuvre par ordinateur (100), dans un système informatique.(600b) comportant un premier module programmable sur place (602e) incluant un premier code de module programmable sur place (encore appelé "code FPU" (604e) et un second module programmable sur place (602a) comportant un deuxième code de FPU (604a), comprenant les étapes suivantes: (A) après remplacement du second module programmable sur place (602a) par le premier module programmable sur place (604a), déterminer (108) si le premier code de FPU (604e) est différent du deuxième code de FPU (604a) ; et (B) avertir (110) un utilisateur (616) du système informatique (600b) que le premier module programmable sur place (602a) est incompatible avec le système informatique (600b), s'il a été déterminé que le premier code de FPU (604e) était différent du deuxième code de FPU (604a). 6. Dispositif, dans un système informatique (600b) comportant un premier module programmable sur place (602e) incluant un premier code de module programmable sur place (encore appelé "code de FPU" (604e) et un second module programmable sur place (602a) incluant un deuxième code de FPU (604a), le dispositif comprenant: un moyen de détermination (610) pour déterminer, après remplacement du second module programmable sur place (602a) par le premier module programmable sur 3i place (602a), si le premier code de FPU (604e) est différent du deuxième code de FPU (604a) ; et un moyen d'avertissement (610) pour avertir un utilisateur (616) du système informatique (600b) que le premier module programmable sur place (602e) est incompatible avec le système informatique (600b), s'il a été déterminé que le premier code de FPU (604e) était différent du deuxième code de FPU (604a). 7. Système informatique (600b), comprenant: 10 un premier module programmable sur place (encore appelé "FPU") (602e) comprenant un premier code de FPU (604e) ; un deuxième FPU (602a) comprenant un deuxième code de FPU (604a) ; et un vérificateur de compatibilité (610) couplé au premier FPU (602e), le vérificateur de compatibilité (610) étant apte à déterminer si le premier code de FPU (604e) est différent du deuxième code de FPU (604a), et, dans le cas où le premier code de FPU (604e) a été déterminé comme étant différent du deuxième code de FPU (604a), pour avertir un utilisateur (616) du système informatique (600b) que le premier code de FPU (604e) est incompatible avec le système informatique (600b). 8. Système informatique (600b) selon la revendication 7, dans lequel le premier FPU (602e) comprend un module remplaçable sur place. 9. Procédé mis en oeuvre par ordinateur (100) dans un système informatique (600b) comportant un premier module programmable sur place (602e) incluant un premier code de module programmable sur place (encore appelé T'code de FPU'T (604e), comprenant les étapes suivantes: (A) déterminer (108) si le premier code de FPU (604e) est compatible avec le système informatique 35 (600b) ; (B) si le premier code de FPU (604e) est déterminé comme n'étant pas compatible avec le système informatique (600b), identifier (112) un deuxième code de FPU (620) qui est compatible avec le système informatique (600b) et convenable pour être installé dans le premier module programmable sur place (602e) ; et (C) installer (118) le deuxième code de FPU (620) dans le premier module programmable sur place (604e). 10. Dispositif, dans un système informatique (600b) comportant un premier module programmable sur place (602e) incluant un premier code de FPU (604e), le dispositif comprenant: un moyen de détermination (610) pour déterminer si 15 le premier code de FPU (604e) est compatible avec le système informatique (600b) ; un moyen d'identification (618) pour identifier (112) un deuxième code de FPU {620) qui est compatible avec le système informatique (600b) et convenable pour être installé dans le premier module programmable sur place (602e), dans le cas où le premier code de FPU (604e) a été déterminé comme n'étant pas compatible avec le système informatique (600b), et un moyen d'installation (618) pour installer le 25 deuxième code de FPU (620) dans le premier module programmable sur place (602e).