FR2910656A1 - Dispositif et procede de gestion de defaillance de tache de processus - Google Patents

Dispositif et procede de gestion de defaillance de tache de processus Download PDF

Info

Publication number
FR2910656A1
FR2910656A1 FR0611087A FR0611087A FR2910656A1 FR 2910656 A1 FR2910656 A1 FR 2910656A1 FR 0611087 A FR0611087 A FR 0611087A FR 0611087 A FR0611087 A FR 0611087A FR 2910656 A1 FR2910656 A1 FR 2910656A1
Authority
FR
France
Prior art keywords
task
failure
act
execution
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0611087A
Other languages
English (en)
Other versions
FR2910656B1 (fr
Inventor
Olivier Soussiel
Christophe Caillaud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR0611087A priority Critical patent/FR2910656B1/fr
Priority to US11/962,048 priority patent/US20080155544A1/en
Publication of FR2910656A1 publication Critical patent/FR2910656A1/fr
Application granted granted Critical
Publication of FR2910656B1 publication Critical patent/FR2910656B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Le domaine de l'invention est celui de la gestion de défaillance de tâche d'un processus. L'invention concerne un procédé de gestion de défaillance d'exécution de tâches APi d'un processus, le processus comportant un nombre de tâches égal à N, i désignant un indice identifiant les tâches et étant un nombre entier compris entre 1 et N, une exécution de la tâche APi étant démarrée suivant un mode de démarrage MDDi.Selon l'invention, le mode de démarrage des tâches APi du processus suite à une défaillance affectant une tâche APID dépend d'un historique de défaillances qui a affecté chacune des tâches individuellement.

Description

1 Dispositif et procédé de gestion de défaillance de tâche de processus Le
domaine de l'invention est celui de la gestion de défaillance de tâche d'un processus. L'invention concerne plus spécifiquement des processus complexes ayant une fonction critique comme par exemple un système de gestion de vol (connu aussi sous l'appellation anglaise Flight Management System ou l'acronyme FMS), embarqué à bord d'un aéronef. En général, un processus ou une application logicielle complexe peut se décomposer en plusieurs tâches. Ces tâches s'exécutent indépendamment les unes des autres et disposent chacune d'un jeu de données locales propres à la tâche et d'un jeu de données communes partagées entre les tâches. Les tâches agissent sur ces différentes données, et possèdent en général plusieurs modes de fonctionnement qui correspondent à des algorithmes plus ou moins complexes, appelés respectivement mode nominal et modes dégradés.
Lorsqu'un processus assure une fonction critique, une défaillance d'une des tâches composant le processus peut entraîner une perte temporaire ou permanente de la totalité de la fonction du processus. Par exemple, pour un système de gestion de vol, FMS embarqué sur un aéronef, une exception logicielle ou une divergence de convergence affectant un algorithme de tracé de trajectoire est susceptible d'avoir des conséquences très graves sur la conduite de l'aéronef. Le processus est en général conçu de façon à minimiser les conséquences des défaillances des tâches qui le composent. Cette minimisation peut être obtenue, d'une part en évitant que les défaillances surviennent, d'autre part, en prévoyant des mécanismes pour qu'après une détection d'une défaillance, la tâche défaillante et le processus soient replacés rapidement dans un état stable. On évite que des défaillances affectent des tâches du processus en prenant des précautions particulièrement draconiennes lors de la conception des tâches du processus pour identifier des situations pouvant induire des défaillances. On prévoit des mécanismes pour qu'une défaillance ne place pas le processus dans un état instable récurrent, pour ce faire, le mécanisme 2910656 2 consiste, par exemple, en une interruption de l'exécution de la tâche que l'on a détectée défaillante et un re-démarrage de l'exécution de cette tâche soit en mode dégradé soit en modifiant le jeu de données qu'elle utilise. En raison de la quantité élevée d'information qu'un processus 5 reçoit pendant son exécution, il est économiquement impossible d'envisager de manière exhaustive toutes les combinaisons de données présentées au processus lors des phases de conception, de codage et de test du processus. Par exemple, un FMS embarqué sur un aéronef concentre des données issues de senseurs pour la navigation (IRS acronyme de io l'expression anglaise de Inertial Reference System , GPS acronyme de l'expression anglaise Global Positionning System , etc..), de données issues de bases de données de navigation pour élaborer le plan de vol électronique et sa trajectoire latérale de référence, de données issues de bases de données de performance pour élaborer les prédictions le long du 15 plan de vol et enfin de données issues d'entrées manuelles venant de la part de l'équipage, en général pour initialiser les calculs, ou d'entrées automatiques par une liaison de donnée numérique sol/bord connue sous l'appellation anglaise Datalink , venant de la compagnie aérienne qui exploite l'aéronef ou de centres de contrôles, on parle dans ce cas de Air 20 Traffic Control ou on emploie l'acronyme anglais ATC . A cette combinaison de données il convient d'ajouter la combinaison des modes de fonctionnement des différentes tâches : soit au total une combinatoire si étendue qu'elle est impossible à envisager au cours de tests exhaustifs. Pour sortir rapidement le processus d'un état instable dans lequel 25 une défaillance d'une de ses tâches l'a placé, il est habituel de recourir à un dispositif de gestion des défaillance des tâches qui est intégré au système exécutant le processus. La mission principale qui est dévolue à un tel dispositif de gestion de défaillance de tâche est d'éviter une perte totale, temporaire ou 30 permanente, de la fonction du processus ou des données dont le processus est responsable. En effet, ce sont ces pertes totales qui entraînent les conséquences les plus graves : dans le cas du FMS, une perte temporaire ou une interruption de l'exécution de l'acquisition de la position GPS de l'aéronef par le FMS peut être tolérée, mais l'interruption simultanée de 2910656 3 toutes les tâches composant le FMS est très pénalisante pour un pilote d'aéronef. II est connu, dans l'art antérieur, des dispositifs de gestion de défaillance de tâche qui, lorsqu'une défaillance de la tâche est détectée 5 interrompent sélectivement une ou plusieurs tâches du processus et démarrent une nouvelle exécution de ces tâches. Le démarrage de la nouvelle exécution de la tache est réalisé dans un mode de fonctionnement différent du mode de fonctionnement antérieur et/ou en employant un jeu de donné prédéfini différent de celui employé antérieurement. La détermination 10 du mode de fonctionnement ou du jeu de donné employés suit une certaine logique. La logique employée par les dispositifs de l'art antérieur est fondée le plus souvent sur un comptage d'un nombre de défaillances des tâches du processus. A la suite d'une détection de défaillance, une action 15 correctrice est prise. Plus on a détecté un nombre important de défaillances du processus qui paraissent liées entre elles et plus sévère est l'effet de la mesure correctrice sur le fonctionnement du processus. Pour décrire les actions correctrices on définit habituellement différents types de démarrage d'exécution de tâche d'un processus qui succèdent à une interruption 20 d'exécution : - Un premier type de démarrage consiste à démarrer l'exécution de la tâche défaillante ou de l'ensemble des tâches du processus en employant un mode de fonctionnement nominal et un jeu de données identique à celui employé par la tâche lorsque la précédente exécution de la 25 tâche a été interrompue ; - Un deuxième type de démarrage consiste à démarrer l'exécution de l'ensemble des tâche du processus en employant un ou des jeux de données réinitialisés, le mode de fonctionnement des tâches du processus est le mode nominal ; 30 - Un troisième type de démarrage consiste à démarrer l'exécution de l'ensemble des tâche du processus en employant un mode de fonctionnement dit dégradé et un ou des jeux de données réinitialisés. Un mode dégradé correspond à un mode de fonctionnement moins performant que le mode nominal, par exemple mettant en oeuvre un 2910656 4 algorithme de complexité moins élevée que l'algorithme mis en oeuvre dans le mode de fonctionnement nominal. Le deuxième type de démarrage est en général considéré comme plaçant la tâche défaillante dans un état plus stable que celui auquel conduit 5 un démarrage du premier type, mais il présente l'inconvénient d'occasionner une perte de données ; Le troisième type de démarrage est en général considéré comme plaçant la tâche défaillante dans un état plus stable que celui auquel conduit un démarrage du deuxième type, mais il présente l'inconvénient 10 d'occasionner une perte de données et de réduire les fonctions du processus. Les dispositifs de l'art antérieur ont fortement réduit les occurrences de perte totale de la fonction des processus. Toutefois les dispositifs de gestion de défaillance de tâche d'un processus de l'art 15 antérieur souffrent d'un certain nombre d'inconvénients. Un premier inconvénient des procédés selon l'art antérieur réside dans le caractère global du comptage des défaillances affectant les tâches du processus qu'ils mettent en oeuvre. Le caractère global du comptage ne 20 permet pas de distinguer une situation dans laquelle toutes les tâches sont affectées plus ou moins aléatoirement d'une défaillance d'une situation dans laquelle une tâche particulière est affectée de défaillances répétées. Un deuxième inconvénient, lié au premier inconvénient, vient de ce qu'en empêchant une identification d'une tâche particulière plus fragile 25 que les autres, c'est à dire une identification d'une tâche plus fréquemment affectée d'une défaillance que les autres, les procédés de l'art antérieur interdisent également, de fait, de mener une analyse visant à déterminer l'origine des défaillances affectant cette tâche particulière. En effet, une fois qu'une tâche particulièrement défaillante est identifiée, il est possible 30 d'investiguer pour déterminer si la défaillance est liée à son jeu de données ou à une instabilité de son mode de fonctionnement. Cette investigation consiste par exemple à successivement interrompre l'exécution de la tâche défaillante puis à redémarrer cette exécution dans un mode de démarrage définissant un mode de 2910656 5 fonctionnement qui est dégradé par rapport à la précédente exécution, et/ou un jeu de donnée qui est réduit par rapport à la précédente exécution. Par exemple, suite à une détection d'une défaillance affectant une tâche AP on a procédé à première interruption et un premier redémarrage de 5 l'exécution de la tâche AP. Si on détecte une deuxième défaillance affectant cette tâche AP, et que la deuxième défaillance parait liée avec la première, on interrompt à nouveau puis on redémarre l'exécution de la tâche AP, mais cette fois avec un jeu de données différent. Si par la suite, aucune défaillance n'affecte plus la tâche AP, on 10 peut conclure que le jeu de donné était à l'origine de la défaillance, sinon, il est possible de continuer l'investigation en modifiant par la suite à nouveau le jeu de données ou encore le mode de fonctionnement. Enfin, pour certains processus, les conséquences d'une perte d'un jeu de données, même momentanée, sont si graves que l'on cherche 15 toujours à améliorer les performances des dispositifs de gestion de défaillance de tâche. En particulier, on cherche à éviter de perdre un jeu de données d'une tâche non défaillante en retardant l'application d'une action correctrice ultime qui consiste à réinitialiser les jeux de données de toutes les tâches du processus avant un ultime démarrage des tâches du processus. 20 Dans le cas du FMS, on considère en effet que les données liées au plan de vol sont si sensibles qu'il est souhaitable de les conserver le plus longtemps possible. L'objet de la présente invention est de pallier les inconvénients des dispositifs de gestion des défaillance de tâches de l'art antérieur pour 25 augmenter la disponibilité d'un nombre maximum de tâches d'un processus lorsque des défaillances récurrentes touchent les tâches du processus. Plus précisément l'invention a pour objet un procédé de gestion de défaillance d'exécution de tâches AP; d'un processus, le processus comportant un nombre de tâches égal à N, i désignant un indice identifiant 30 les tâches et étant un nombre entier compris entre 1 et N, une exécution de la tâche AP; étant démarrée suivant un mode de démarrage MDD; caractérisé en ce que le mode de démarrage des tâches AP; du processus suite à une défaillance affectant une tâche APID dépend d'un historique de défaillances qui a affecté chacune des tâches individuellement. 2910656 6 Un premier avantage du procédé selon l'invention tient en ce qu'il a la faculté de prend en compte une information de défaillance à l'échelle d'une tâche individuelle et non plus à l'échelle du processus. C'est à dire qu'une action correctrice appliquée par un procédé selon l'invention, suite à 5 une détection de défaillance courante d'une tâche APID a un effet sur les tâches AP; qui peut être fonction de ce que : - la défaillance courante affecte la tâche APID ; - la tâche APID a, par le passé, été affectée par un nombre de défaillance égal à CPTip ; 10 - un précédent mode de démarrage de la tâche AP;, dernier mode de démarrage en date, est le mode MDD;. Cette faculté permet de graduer l'effet des mesures correctrices : Considérons par exemple, une mesure correctrice prise suite à une détection d'une défaillance courante affectant la tâche APID d'un processus. Cette 15 mesure correctrice définit un mode de démarrage d'une tâche AP; du processus qui est d'autant plus restrictif par rapport au mode de démarrage précédent de la tâche AP; que : la tâche APID est critique pour le processus, le nombre de défaillance ayant affectée la tâche APID par le 20 passé est élevé, et le nombre de démarrage effectué par la tâche AP; est élevé. Un deuxième avantage du procédé selon l'invention tient en ce qu'un jeu de données D; d'une tâche AP; qui est abandonné à la suite de l'application d'une action correctrice peut être réemployé lors d'une 25 application d'une action correctrice ultérieure. En effet, les jeux de données des tâches AP; sont stockés avant toute interruption d'une tâche en application d'une mesure correctrice. Il est avantageux de démarrer une exécution de tâche avec un jeu de données qui a été éprouvé lors d'une exécution antérieure. 30 L'invention concerne aussi un dispositif de gestion de défaillance de tâches AP; d'un processus, ledit dispositif mettant en oeuvre un procédé selon l'invention, ledit dispositif détectant une défaillance courante d'exécution affectant une tâche APID du processus, la détection 35 de la défaillance courante succédant à une détection antérieure 2910656 7 d'une défaillance, dite défaillance antérieure, ayant affecté une des tâches AP;, caractérisé en ce qu'il comporte : - une liste LIS_INT qui contient des indices de tâches AP; dont une exécution peut être interrompue et démarrée individuellement sans perturber 5 une exécution ou un démarrage d'une autre tâche du processus ; - une table TAB qui contient des modes de démarrage de principe MD;, ID, k à employer pour démarrer la tâche AP;, à la suite d'une défaillance courante affectant la tâche d'indice ID pour la k-ième fois. ~o L'invention concerne enfin, un système exécutant un processus comportant un nombre de tâches AP; égal à N, i désignant un indice identifiant les tâches du processus et étant un nombre entier compris entre 1 et N, ledit système comportant au moins N unités de calcul UC; exécutant chacune la tâche AP; et un dispositif de gestion de défaillance de tâche AP; 15 d'un processus selon l'invention, caractérisé en ce que lorsqu'une tâche APID est affectée par une défaillance courante, une date NDAT de détection de défaillance ainsi qu'un indice ID de tache défaillante sont délivrés au dispositif de gestion de défaillance et en ce que lorsque le système détecte qu'une défaillance courante d'exécution affecte une tâche APID, elle produit 20 une date NDAT de détection de défaillance et un indice ID de tâche défaillante à destination dudit dispositif. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit, faite à titre d'exemple non 25 limitatif et en référence aux dessins annexés dans lesquels : - la figure 1 représente schématiquement un système comportant trois unités de calcul UC1, UC2, UC3, et un dispositif de gestion de défaillance de tâche ; - la figure 2 représente schématiquement une architecture d'un 30 dispositif de gestion de défaillance de tâche selon l'art antérieur ; - la figure 3 représente un exemple d'organigramme d'un procédé de gestion de défaillance de tâche selon l'art antérieur ; - la figure 4 représente schématiquement un dispositif de gestion de défaillance de tâche selon l'invention ; 2910656 8 - la figure 5 représente un exemple d'organigramme d'un procédé de gestion de défaillance de tâche selon l'invention. D'une figure à l'autre, les mêmes éléments sont repérés par les mêmes références. 5 La figure 1 représente schématiquement un système PRO, 1, par exemple un FMS, exécutant un processus. Le système PRO, 1 comporte trois unités de calcul UC1, 10, UC2, 20, UC3, 30 exécutant chacune, par exemple en parallèle, une tâche AP1, AP2, AP3, et un dispositif de gestion de 1 o défaillance de tâche EH, 100 exécutant un procédé de gestion de défaillance de tâche selon l'art antérieur. Le dispositif de gestion de défaillance de tâche peut aussi être dénommé par l'appellation anglaise Error Handler . Chaque tâche AP1, AP2, AP3 est exécutée suivant un mode de fonctionnement qui lui est particulier et dispose d'un jeu de données qui lui 15 est propre. Le jeu de données comporte des données locales qui sont stockées dans une mémoire volatile de l'unité de calcul UC1, UC2, UC3 et des données communes qui sont utilisées par plusieurs tâches du système PRO 1, les données communes sont stockées dans une mémoire volatile du système PRO 1. 20 Dans un jeu de données, on distingue deux types de données : - des données critiques, qui sont par exemple, pour un FMS embarqué sur un aéronef, des données de plan de vol communiquées par un pilote de l'aéronef ; - des données non critiques, comme par exemple des paramètres 25 de réglage des radionavigations. Un mode de fonctionnement décrit par exemple un algorithme mis en oeuvre par une tâche pendant son exécution. La tâche possède au moins un mode de fonctionnement : un premier mode de fonctionnement, appelé mode de fonctionnement nominal, qui constitue l'algorithme optimal de la 30 tâche et réalise toutes les fonctions assurées par la tâche. D'autres modes de fonctionnement de la tâche, appelés modes dégradés , caractérisent des algorithmes qui comportent une ou des limitations par rapport au mode de fonctionnement nominal. 2910656 9 La figure 2 représente schématiquement un dispositif de gestion de défaillance de tâche EH, 100 selon l'art antérieur. Cette représentation permet d'expliquer comment fonctionne le dispositif de gestion de défaillance de tâche EH. 5 Le dispositif de gestion de défaillance de tâche EH, 100 est alerté lorsqu'une tâche AP1, AP2, AP3 est défaillante. L'alerte de défaillance prend la forme d'une transmission d'un indice ID de tâche défaillante ainsi que d'une date de détection de défaillance NDAT. Une tâche AP1, AP2, AP3 peut détecter par ses propres moyens, 10 qu'elle est défaillante, le système PRO, 1 peut également émettre une alerte de défaillance après avoir détecté une défaillance d'une des tâches. Dans les deux cas le dispositif de gestion de défaillance de tâche EH reçoit une alerte de défaillance comportant l'indice ID de tâche défaillante ainsi qu'une date de détection de défaillance courante NDAT. 15 Le dispositif de gestion de défaillance de tâche EH comporte un compteur de défaillance de tâches répertoriées CPT, 101 et un module de corrélation temporelle de défaillance TIM, 103. Le compteur de défaillance de tâches répertoriées CPT comporte un nombre de défaillances d'exécution des tâches AP; corrélées avec les 20 défaillances précédentes ayant affecté des tâches du processus. Le module de corrélation temporelle, TIM comporte notamment une date DAT de détection antérieure d'une défaillance d'une tâches AP1, AP2, AP3. Le compteur CPT et le dispositif de corrélation temporelle TIM 25 sont initialisés au moment du démarrage du processus : une fois initialisés, le compteur CPT contient une valeur égale à 0 et la date DAT comporte une date de démarrage du processus t;,,;t. La figure 3 représente un exemple d'organigramme d'un procédé 30 de gestion de défaillance de tâche EH, 100 selon l'art antérieur. Tout débute par une initialisation du compteur CPT et une initialisation du dispositif de corrélation temporelle TIM. Par la suite, lorsqu'une détection courante d'une défaillance affectant une des tâches AP1, AP2, AP3, a lieu à une date NDAT et que la 35 détection courante succède à une détection antérieure qui a eu lieu à la date 2910656 10 DAT, on incrémente la valeur contenue dans le compteur CPT si et seulement si on détermine qu'une corrélation temporelle existe entre la défaillance courante et la défaillance antérieure, c'est à dire si et seulement si une durée séparant la date de détection courante NDAT et la date DAT de 5 la détection antérieure est inférieure à un seuil de corrélation Sc prédéfini. Lorsqu'on détermine une absence de corrélation entre la défaillance courante et la défaillance antérieure, on substitue au contenu du compteur CPT une valeur égale à 1. De cette façon, le procédé selon l'art antérieur distingue deux 10 types de défaillances affectant des tâches du processus : une défaillance corrélée temporellement avec une défaillance antérieure ayant affecté des tâches du processus et une défaillance inopinée. Une défaillance corrélée affecte une tâche du processus en lien avec une défaillance antérieure ayant également affecté une tâche du 15 processus. Une défaillance courante est corrélée dans la mesure où la détection courante est espacée d'une date de détection d'une défaillance antérieure affectant une tâche du processus d'une durée inférieure à Sc. Une défaillance inopinée affecte une tâche du processus de façon inopinée, c'est à dire sans rapport avec une défaillance antérieure affectant 20 une tâche du processus. Par exemple le seuil de corrélation Sc est égal à 1 minute. Lorsqu'une défaillance courante AP; est détectée plus d'une minute après la détection antérieure, la défaillance courante est considérée comme non corrélée avec la défaillance antérieure. 25 Les actions correctrices AA_ACT_1, AA_ACT_2, AA_ACT_3, AA_ACT_4, AA_ACT_5, AA_ACT_6, ont un effet graduel sur le mode de fonctionnement des tâches. Par exemple, lorsque une détection de défaillance affectant la tâche APID est détectée, et que la valeur du compteur CPT vaut 1 ou 2, 30 l'action correctrice AA_ACT_1 appliquée par le procédé selon l'art antérieur consiste à : - interrompre l'exécution de la tâche APID, puis à, - démarrer l'exécution de la tâche APID, suivant le mode de fonctionnement nominal, en conservant le jeu de donnée en cours au 35 moment de l'interruption. 2910656 11 Lorsque une détection de défaillance affectant la tâche APID est détectée, et que la valeur du compteur CPT vaut 3 ou 4, l'action correctrice AA_ACT_2 appliquée par le procédé selon l'art antérieur consiste à : - interrompre l'exécution de toutes les tâches AP; du processus, 5 puis à, - démarrer l'exécution de toutes les tâches AP; suivant le mode de fonctionnement nominal, en conservant le jeu de donnée en cours au moment de l'interruption. Lorsque une détection de défaillance affectant la tâche APID est 10 détectée, et que la valeur du compteur CPT vaut 5, l'action correctrice AA_ACT_3 appliquée par le procédé selon l'art antérieur consiste à : - interrompre l'exécution de toutes les tâches AP; du processus, puis à, - démarrer l'exécution de toutes les tâches AP; suivant le mode de 15 fonctionnement nominal, en conservant une partie du jeu de donnée en cours au moment de l'interruption. Lorsque une détection de défaillance affectant la tâche APID est détectée, et que la valeur du compteur CPT vaut 6, l'action correctrice AA_ACT_4 appliquée par le procédé selon l'art antérieur consiste à : 20 - interrompre l'exécution de toutes les tâches AP; du processus, puis à, - démarrer l'exécution de toutes les tâches AP; suivant le mode de fonctionnement nominal, en initialisant tous les jeux de donnée en cours au moment de l'interruption. 25 Enfin, lorsque une détection de défaillance affectant la tâche APID est détectée, et que la valeur du compteur CPT est strictement supérieure à 6, l'action correctrice AA_ACT_5 appliquée par le procédé selon l'art antérieur consiste à interrompre l'exécution de toutes les tâches AP; du processus. 30 La figure 4 représente schématiquement un dispositif de gestion de défaillance de tâche EH, 200 selon l'invention. Cette représentation permet d'expliquer comment fonctionne le dispositif de gestion de défaillance de tâche EH, 200 selon l'invention. 2910656 12 Le dispositif de gestion de défaillance de tâche EH, 200 détecte une défaillance courante d'exécution affectant une tâche APID du processus. La détection de la défaillance courante succède à une détection antérieure d'une défaillance, dite défaillance antérieure, qui a affecté une des tâches 5 APi du processus. Avantageusement, le dispositif EH, comporte : - une liste LIS_INT qui contient des indices de tâches AP; dont une exécution peut être interrompue individuellement sans perturber une exécution d'une autre tâche du processus ; t o - une table TAB qui contient des modes de démarrage de principe MD;, ID, k à employer pour démarrer la tâche APi, à la suite d'une défaillance courante affectant la tâche d'indice ID pour la k-ième fois. Avantageusement, le dispositif EH, 200 comporte, en outre, une base de défaillances répertoriées, qui est mise à jour à chaque détection 15 d'une défaillance courante affectant une tâche APi, ladite base de défaillances répertoriées comprend : - des compteurs individuels CPT; de défaillances de tâches APi, lesdits compteurs individuels CPT; contenant un nombre de défaillances d'exécution des tâches AR; corrélées avec les défaillances précédentes ; 20 - la date DAT de la détection antérieure ; - un mode de démarrage MDD; d'un précédent démarrage de la tâche APi, le précédent démarrage est le dernier démarrage en date de la tâche APi. Avantageusement, le dispositif applique des actions correctrices 25 ACT_1, ACT_2, ACT_3, ACT_4 ayant un effet graduel qui est fonction d'un contenu de la base de défaillances répertoriées mise à jour qui vise à interrompre puis à démarrer une exécution de tâches APi du processus suivant un mode de démarrage NMD;. L'invention concerne également un système PRO, 1 exécutant un 30 processus comportant un nombre de tâches AP; égal à N. Le système PRO comporte au moins N unités de calcul UC; exécutant chacune une tâche APi et un dispositif de gestion de défaillance de tâche EH, 200 selon l'invention. i désigne un indice identifiant les tâches du processus et est un nombre entier compris entre 1 et N. 2910656 13 Selon l'invention, les unités de calcul UC; peuvent commander une sauvegarde totale ou partielle d'un jeu de données d'une unité de calcul UC; distincte d'elles mêmes, dans certaines situations, à une fin de réutilisation ultérieure. 5 Par exemple lorsqu'une unité de calcul UC1 reçoit une partie d'un jeu de données d'une unité de calcul UC2 et que l'unité UC1 a pu vérifier l'intégrité de ces données, l'unité de calcul UC1 peut commander une sauvegarde de la partie du jeu de données que lui a transmis l'unité de calcul UC2. La partie du jeu de données qui sauvegardée concerne en général des 10 données critiques de l'unité de calcul UC2, mais il est possible que la sauvegarde contienne également des données non-critiques. Cette sauvegarde est particulièrement utile car elle permet de conserver des jeux de données, en totalité ou en partie, dont une unité de calcul a éprouvé la validité. Ces jeux de données sont présumés stables et 15 peuvent être utilisés au cours de démarrages ultérieurs de la tâche. Avantageusement, lorsqu'une première unité de calcul UC; d'un système PRO selon l'invention transmet une partie du contenu du jeu de données D; de la tâche AP; qu'il exécute, à une deuxième unité de calcul UCi du système PRO selon l'invention, où j est un indice différent de i, la 20 deuxième unité UCi est capable de commander une sauvegarde de la partie du contenu du jeu de données D; qui lui a été transmis. La figure 5 représente un exemple d'organigramme d'un procédé de gestion de défaillance de tâche selon l'invention. 25 Considérons unprocessus comportant un nombre de tâches égal à N, i désignant un indice identifiant les tâches et étant un nombre entier compris entre 1 et N. Avantageusement, le mode de démarrage MDD; définissant de façon unique un mode de fonctionnement de la tâche AP; ainsi qu'un contenu 30 d'un jeu de données D; à employer au démarrage de l'exécution de la tâche AP;, une détection d'une défaillance courante d'exécution affectant une tâche APip produisant une date NDAT de détection de défaillance et un indice ID de tâche défaillante, la détection de la défaillance courante succédant à une détection antérieure d'une défaillance, dite défaillance antérieure, ayant 2910656 14 affecté une des tâches APi, ladite détection antérieure étant réalisée à une date DAT, caractérisé en ce qu'il comporte les étapes suivantes : - Initialiser une base de défaillances répertoriées qui comporte : - des compteurs individuels CPT; de défaillances de tâches 5 APi, lesdits compteurs individuels CPT; contenant un nombre de défaillances d'exécution des tâches AP; corrélées avec les défaillances précédentes ; - la date DAT de la détection antérieure ; - un mode de démarrage MDD; d'un précédent démarrage de 10 la tâche APi, le précédent démarrage est le dernier démarrage en date de la tâche APi;- un cumul S égale à une somme des valeurs des compteurs individuels de défaillance de tâches CPT;, pour tous les indices i. - Lire un contenu de la liste LIS_INT ; 15 - Lorsque la défaillance d'exécution de la tâche APID est détectée, mettre à jour la base de défaillances répertoriées ; - Appliquer une action correctrice (ACT_1, ACT_2, ACT_3, ACT_4) qui a un effet sur l'exécution des tâches APi, l'action correctrice appliquée (ACT_1, ACT_2, ACT_3, ACT_4) est fonction d'un contenu de la 20 base de défaillances répertoriées mise à jour ; - Lorsque l'effet de l'action correctrice appliquée (ACT_1, ACT_2, ACT_3, ACT_4) a conduit à interrompre puis à démarrer une tâche APi suivant un mode de démarrage assigné NMD;, substituer le mode de démarrage assigné NMD; au mode de démarrage MDD;, pour tous les 25 indices i. La liste LIS_INT contient des indices de tâches AP; dont une exécution peut être interrompue individuellement sans perturber une exécution d'une autre tâche du processus. L'exécution de la tâche APi est démarrée suivant un mode de 30 démarrage MDD;, le mode de démarrage MDD; définissant de façon unique un mode de fonctionnement de la tâche APi ainsi qu'un contenu d'un jeu de données D; à employer au démarrage de l'exécution de la tâche APi. Une détection d'une défaillance courante d'exécution affectant une tâche APID caractérisé par une date NDAT de détection de défaillance et un 35 indice ID de tâche défaillante. 2910656 15 La détection de la défaillance courante succède à une détection antérieure d'une défaillance, dite défaillance antérieure, qui a affecté une des tâches APi, ladite détection antérieure est réalisée à une date DAT, 5 Une première étape du procédé selon l'invention consiste à initialiser la base de défaillances répertoriées. Avantageusement, l'initialisation de la base de défaillances répertoriées comporte les étapes suivantes : - Initialiser les compteurs individuels CPT;, une fois initialisés les 10 compteurs individuels CPT; contiennent une valeur égale à 0, pour tous les indices i ; - Initialiser la date DAT de la détection antérieure, une fois initialisée, la date DAT comporte une date de démarrage du processus t;nit ; - Initialiser les mode de démarrage MDD;, pour tous les indices i, 15 une fois initialisées, les mode de démarrage MDD; comportent un mode de démarrage nominal NOM qui correspond à un mode de fonctionnement optimal de la tâche AP; ; - Initialiser le cumul S : une fois initialisé le cumul S contient une valeur égale à 0 ; 20 Une deuxième étape du procédé selon l'invention consiste en une lecture d'un contenu de la liste LIS_INT, pour que le dispositif prenne connaissance des tâches dont l'exécution est susceptible d'être interrompue et démarrée individuellement, sans perturber une exécution d'une autre 25 tâche du processus Une troisième étape du procédé selon l'invention consiste en une mise à jour de la base de défaillances répertoriées. Avantageusement, cette mise à jour d'une base de défaillances 30 répertoriées comporte les étapes suivantes : - Déterminer une valeur maximale M des compteurs individuels CPT; pour tous les indices i; - Déterminer une existence de corrélation entre la défaillance courante et la défaillance antérieure ; 2910656 16 - Lorsqu'on détermine l'existence d'une corrélation entre la défaillance courante et la défaillance antérieure, incrémenter la valeur contenue dans le compteur individuel CPTID ; - Lorsqu'on détermine une absence de corrélation entre la défaillance 5 courante et la défaillance antérieure, lorsque la valeur maximale M est inférieure ou égale à un premier seuil S1, et lorsque le cumul S est strictement supérieur à un deuxième seuil S2, substituer à un contenu du compteur individuel CPTID une valeur égale à 1, et initialiser les compteurs individuels CPT;, pour tous les indices i différents de ID ; 10 - Substituer la date de détection courante NDAT à la date DAT de la détection antérieure - Déterminer un mode de démarrage de principe MDI, ID, k pour la tâche AP;, pour tous les indices i, en fonction de l'indice ID de la tâche affectée par la défaillance courante et d'une valeur k, où k est égal à une valeur contenue 15 dans le compteur individuel CPTID ; - Déterminer un cumul S égale à une somme des valeurs des compteurs individuels de défaillance de tâches CPT;, pour tous les indices i ; - Déterminer l'action correctrice à appliquer (ACT_1, ACT_2, ACT_3, ACT_4) en fonction d'une comparaison du cumul S avec le deuxième seuil 20 S2, de k et d'une appartenance de l'indice ID à la liste LIS_INT ; - Déterminer le mode de démarrage assigné NMD; à la tâche AR; par l'action correctrice à appliquer (ACT__1, ACT_2, ACT_3, ACT_4), pour tous les indices i. 25 Avantageusement, la détermination d'une existence de corrélation entre la défaillance courante et la défaillance antérieure est fondée sur une comparaison entre une durée séparant la date de détection courante NDAT et la date DAT de la détection antérieure et un seuil de corrélation Sc. Avantageusement, la détermination d'un mode de démarrage de 30 principe MD;,ID, k pour la tâche AP;, à la suite d'une défaillance affectant la tâche d'indice ID pour la k-ième fois, consiste à lire une information contenue dans la table prédéfinie TAB. Une quatrième étape du procédé selon l'invention consiste en une 35 application d'une action correctrice (ACT_1, ACT_2, ACT_3, ACT_4) qui a 2910656 17 un effet sur l'exécution des tâches APi. L'effet de l'action correctrice appliquée est fonction d'un contenu de la base de défaillances répertoriées mise à jour. Avantageusement, une action correctrice appliquée (ACT_1, 5 ACT_2, ACT_3, ACT_4) comporte une première étape de sauvegarde des jeux de données D; des tâches APi, pour tous les indices i. Avantageusement, lorsque le cumul S est supérieur ou égal au deuxième seuil S2, une action correctrice ACT_4 est appliquée qui comporte, en outre, les étapes suivantes, pour tous les indices i : 10 -Interrompre l'exécution de la tâche APi ; - Démarrer l'exécution de la tâche APi , suivant un mode de démarrage NMD; déterminé en fonction de la valeur du cumul S. Avantageusement, lorsque la valeur du cumul S est supérieure ou égale à S2+2, le mode de démarrage NMD; correspond à une interruption 15 permanente d'exécution des tâches APi. La liste LIS_INT contient des indices de tâches APi dont une exécution peut être interrompue et démarrée individuellement sans perturber l'exécution d'une autre tâche du processus. Avantageusement, lorsque le cumul S est strictement inférieur à 20 S2, k est égal à 1 et l'indice ID fait partie de la liste LIS_INT, une action correctrice ACT_1 est appliquée qui comporte, en outre, les étapes suivantes: - Interrompre l'exécution de la tache APID ; - Démarrer l'exécution de la tache APID suivant un mode de 25 démarrage NMDID identique au mode de démarrage MDDID du précédent démarrage de la tache APID. Avantageusement, lorsque le cumul S est strictement inférieur au deuxième seuil S2 et lorsque k est différent de 1 ou l'indice ID ne fait pas partie de la liste LIS_INT, et lorsque k est strictement inférieur à 3, une action 30 correctrice ACT_2 est appliquée qui comporte, en outre, les étapes suivantes, pour tous les indices i : -Interrompre l'exécution de la tâche APi ; - Démarrer l'exécution de la tâche APi suivant un mode de démarrage NMD; qui est identique au mode de démarrage MDD; du 35 précédent démarrage de la tâche APi. 2910656 18 Avantageusement, lorsque le cumul S est strictement inférieur au deuxième seuil S2 et lorsque k est différent de 1 ou l'indice ID ne fait pas partie de la liste LIS_INT et lorsque k est supérieur ou égal à 3, une action correctrice ACT_3 est appliquée qui comporte, en outre, les étapes 5 suivantes, pour tous les indices i : - Interrompre l'exécution de la tâche APi ; - Démarrer l'exécution de la tâche AP; , suivant un mode de démarrage NMD, déterminé à partir d'une comparaison entre le mode de démarrage MDD; du précédent démarrage de la tâche AP; et le mode de 10 démarrage de principe MD,, ID, k. Avantageusement, un mode de démarrage NMD; d'une tâche AP; est un nombre entier et en ce que plus une valeur du mode de démarrage NMD; est élevée et plus une différence de fonction entre une exécution de la tâche APi démarrée suivant le mode de démarrage NMD; et une exécution 15 de la tâche APi démarrée suivant le mode de démarrage nominal est grande. Avantageusement, le mode de démarrage nominal NOM vaut 0, et en ce que la détermination du mode de démarrage NMD; consiste à affecter au mode de démarrage NMD; une valeur égale au maximum entre la valeur du mode de démarrage MDD; et la valeur du mode de démarrage de principe 20 MD,, ID, k. Avantageusement, un mode de démarrage de principe MD;, ID, k définit un contenu de jeu de données D; à employer au démarrage de l'exécution de la tâche APi qui correspond à un jeu de données sauvegardé. 25 Une cinquième étape du procédé selon l'invention consiste en une substitution du mode de démarrage assigné NMD; au mode de démarrage MDD,, pour tous les indices i, lorsque l'effet de l'action correctrice appliquée a conduit à interrompre puis à démarrer une tâche AP; suivant un mode de démarrage assigné NMD;. 30 Par ailleurs, un système PRO, 1 qui exécute un processus comportant un nombre de tâches APi égal à N et qui comporte au moins N unités de calcul UC; exécutant chacune la tâche APi et un dispositif de gestion de défaillance de tâche APi du processus selon l'invention, a un 2910656 19 fonctionnement qui peut interférer avec l'organigramme présenté sur la figure 5. Des événements extérieurs à un système PRO, 1 exécutant un processus, sont susceptibles de produire une modification substantielle du 5 jeu de données de certaines tâches composant le processus. Pour certains évènements bien identifiés, cette modification substantielle de jeu de données est telle qu'elle modifie fondamentalement l'état des tâches et même affecte l'état du processus dans son ensemble. Il est des situations où les modifications substantielles ont un effet positif sur la i o stabilité des taches concernées, c'est à dire que ces modifications placent la tâche concernée dans un état plus stable que celui dans lequel elle était. Pour prendre en compte les effets de ces modifications substantielles de jeux de données particulières, le système PRO associe à une détection de certains évènements extérieurs au système une mise à jour 15 de la base de défaillances répertoriées de son dispositif de gestion de défaillance de tâche. Avantageusement, le système PRO selon l'invention comporte des moyens pour détecter des événements extérieurs au système EV, et une mise à jour de la base de défaillances répertoriées du dispositif de gestion de 20 défaillance de tâche est déclenchée par une détection d'un événement extérieur au système EV. Pour processus tel qu'un système de gestion de vol FMS équipant un aéronef, un mouvement de l'aéronef est un exemple d'événement extérieur. 25 Considérons en effet, une tâche AP0 du FMS réalisant un tracé du plan de vol à partir de WAY_POINT entrés par un pilote de l'aéronef. Un jeu de données de la tache AP0 comportant des WAY__POINT utiles pour tracer le plan de vol est modifié par le déplacement de l'aéronef lorsque l'aéronef a dépassé un des WAY_POINT. Si la tâche APo était affectée par une série de 30 défaillances successives, il est possible que la modification du jeu de données induite par le déplacement de l'aéronef est suffisante pour placer la tâche APo hors d'un contexte produisant la série de défaillances. La mise à jour de la base de données de défaillances répertoriées du dispositif de gestion de défaillance est effectuée pour refléter ce changement d'état. 2910656 20 La mise à jour est prédéfinie par un concepteur du système PRO. Selon l'événement extérieur EV détecté, la mise à jour affecte des valeurs contenues dans des compteurs individuels CPT; de certaines tâches prédéfinies. 5 Avantageusement, la mise à jour de la base de défaillances répertoriées comporte une étape d'initialisation des compteurs individuels CPT; pour des tâches dont les indices sont rangés dans une liste LI qui
est fonction de l'événement extérieur au système EV détecté par le système. Selon l'événement extérieur EV détecté, la mise à jour affecte les 10 valeurs des mode de démarrage MDD; d'un précédent démarrage de certaines tâches prédéfinies. Avantageusement, la mise à jour de la base de défaillances répertoriées comporte une étape d'initialisation des mode de démarrage MDD; d'un précédent démarrage pour des tâches dont les indices sont 15 rangés dans une liste L2 qui est fonction de l'événement extérieur au système EV détecté par le système.

Claims (22)

REVENDICATIONS
1. Procédé de gestion de défaillance d'exécution de tâches AR; d'un processus, le processus comportant un nombre de tâches égal à N, i désignant un indice identifiant les tâches et étant un nombre entier compris entre 1 et N, une exécution de la tâche APi étant démarrée suivant un mode de démarrage MDD;, caractérisé en ce que le mode de démarrage MDD; des tâches AP; du processus suite à une défaillance affectant une tâche APID dépend d'un historique des défaillances qui ont affecté chacune des tâches individuellement.
2. Procédé selon la revendication 1, le mode de démarrage MDD; définissant de façon unique un mode de fonctionnement de la tâche AR; ainsi qu'un contenu d'un jeu de données D; à employer au démarrage de l'exécution de la tâche APi, une détection d'une défaillance courante d'exécution affectant une tâche APID produisant une date NDAT de détection de défaillance et un indice ID de tâche défaillante, la détection de la défaillance courante succédant à une détection antérieure d'une défaillance, dite défaillance antérieure, ayant affecté une des tâches APi, ladite détection antérieure étant réalisée à une date DAT, caractérisé en ce qu'il comporte les étapes suivantes : - Initialiser une base de défaillances répertoriées qui comporte : - des compteurs individuels CPT; de défaillances de tâches APi, lesdits compteurs individuels CPT; contenant un nombre de défaillances d'exécution des tâches APi corrélées avec les 25 défaillances précédentes ; - la date DAT de la détection antérieure ;- un mode de démarrage MDD; d'un précédent démarrage de la tâche APi, le précédent démarrage est le dernier démarrage en date de la tâche AP; ;- un cumul S égale à une somme des valeurs 30 des compteurs individuels de défaillance de tâches CPT;, pour tous les indices i. - Lire un contenu d'une liste LIS_INT ; - Lorsque la défaillance d'exécution de la tâche APID est détectée, mettre à jour la base de défaillances répertoriées ; 2910656 22 - Appliquer une action correctrice (ACT_1, ACT_2, ACT_3, ACT_4) qui a un effet sur l'exécution des tâches AP;, l'action correctrice appliquée (ACT_1, ACT_2, ACT_3, ACT_4) est fonction d'un contenu de la base de défaillances répertoriées mise à jour ; 5 - Lorsque l'effet de l'action correctrice appliquée (ACT_1, ACT_2, ACT_3, ACT_4) a conduit à interrompre puis à démarrer une tâche AP; suivant un mode de démarrage assigné NMD;, substituer le mode de démarrage assigné NMD; au mode de démarrage MDD;, pour tous les indices i. 10
3. Procédé selon la revendication 2 caractérisé en ce que l'initialisation de la base de défaillances répertoriées comporte les étapes suivantes : -Initialiser les compteurs individuels CPT;, une fois initialisés les 15 compteurs individuels CPT; contiennent une valeur égale à 0, pour tous les indices i ; - Initialiser la date DAT de la détection antérieure, une fois initialisée, la date DAT comporte une date de démarrage du processus t;n;t; - Initialiser les mode de démarrage MDD;, pour tous les indices i, une 20 fois initialisées, les mode de démarrage MDD; comportent un mode de démarrage nominal NOM qui correspond à un mode de fonctionnement optimal de la tâche AP; ; - Initialiser le cumul S : une fois initialisé le cumul S contient une valeur égale à 0 ;
4. Procédé selon l'une des revendications 2 ou 3, caractérisé en ce que la mise à jour d'une base de défaillances répertoriées comporte les étapes suivantes : - Déterminer une valeur maximale M des compteurs individuels CPT; 30 pour tous les indices i; - Déterminer une existence de corrélation entre la défaillance courante et la défaillance antérieure ; - Lorsqu'on détermine l'existence d'une corrélation entre la défaillance courante et la défaillance antérieure, incrémenter la valeur contenue dans le 35 compteur individuel CPT;p ; 2910656 23 - Lorsqu'on détermine une absence de corrélation entre la défaillance courante et la défaillance antérieure, lorsque la valeur maximale M est inférieure ou égale à un premier seuil S1, et lorsque le cumul S est strictement supérieur à un deuxième seuil S2, substituer à un contenu du 5 compteur individuel CPTID une valeur égale à 1, et initialiser les compteurs individuels CPT,, pour tous les indices i différents de ID ; - Substituer la date de détection courante NDAT à la date DAT de la détection antérieure ; - Déterminer un mode de démarrage de principe MD;, ID, k pour la tâche 10 AP,, pour tous les indices i, en fonction de l'indice ID de la tâche affectée par la défaillance courante et d'une valeur k, où k est égal à une valeur contenue dans le compteur individuel CPT,p ; - Déterminer un cumul S égale à une somme des valeurs des compteurs individuels de défaillance de tâches CPT;, pour tous les indices i ; 15 - Déterminer l'action correctrice à appliquer (ACT_1, ACT_2, ACT_3, ACT_4) en fonction d'une comparaison du cumul S avec le deuxième seuil S2, de k et d'une appartenance de l'indice ID à la liste LIS_INT ; - Déterminer le mode de démarrage assigné NMD; à la tâche AP; par l'action correctrice à appliquer (ACT__1, ACT_2, ACT_3, ACT_4), pour tous 20 les indices i.
5. Procédé selon la revendication 4, caractérisé en ce que la détermination d'une existence de corrélation entre la défaillance courante et la défaillance antérieure est fondée sur une comparaison entre une durée 25 séparant la date de détection courante NDAT et la date DAT de la détection antérieure et un seuil de corrélation Sc.
6. Procédé selon la revendication 4, caractérisé en ce que la détermination d'un mode de démarrage de principe MD,,,D, k pour la tâche AP,, à la suite d'une défaillance affectant la tâche d'indice ID pour la k-ième fois, consiste à lire une information contenue dans une table prédéfinie TAB.
7. Procédé selon l'une des revendications 4 à 6 caractérisé en ce qu'une action correctrice appliquée (ACT_1, ACT_2, ACT_3, ACT_4) comporte une 2910656 24 première étape de sauvegarde des jeux de données D; des tâches AP;, pour tous les indices i.
8. Procédé selon la revendication 7, la liste LIS_INT contenant des 5 indices de tâches AP; dont une exécution peut être interrompue et démarrée individuellement sans perturber l'exécution d'une autre tâche du processus, caractérisé en ce que, lorsque le cumul S est strictement inférieur au deuxième seuil S2, k est égal à 1 et l'indice ID fait partie de la liste LIS_INT, une action correctrice ACT_1 est appliquée qui comporte, en outre, les 1 o étapes suivantes : - Interrompre l'exécution de la tache APID ; - Démarrer l'exécution de la tache APID suivant un mode de démarrage NMDID identique au mode de démarrage MDDID du précédent démarrage de la tache APID. 15
9. Procédé selon la revendication 7, caractérisé en ce que, lorsque le cumul S est strictement inférieur au deuxième seuil S2 et lorsque k est différent de 1 ou l'indice ID ne fait pas partie de la liste LIS_INT, et lorsque k est strictement inférieur à 3, une action correctrice ACT_2 est appliquée qui 20 comporte, en outre, les étapes suivantes, pour tous les indices i : - Interrompre l'exécution de la tâche AP; ; - Démarrer l'exécution de la tâche AP; suivant un mode de démarrage NMD; qui est identique au mode de démarrage MDD; du précédent démarrage de la tâche APi. 25
10. Procédé selon la revendication 7, caractérisé en ce que, lorsque le cumul S est strictement inférieur au deuxième seuil S2 et lorsque k est différent de 1 ou l'indice ID ne fait pas partie de la liste LIS_INT et lorsque k est supérieur ou égal à 3, une action correctrice ACT_3 est appliquée qui 30 comporte, en outre, les étapes suivantes, pour tous les indices i : - Interrompre l'exécution de la tâche AP; ; - Démarrer l'exécution de la tâche AP; , suivant un mode de démarrage NMD; déterminé à partir d'une comparaison entre le mode de démarrage MDD; du précédent démarrage de la tâche AR; et le mode de démarrage de principe MD;, ID, k. 2910656 25
11. Procédé selon la revendication 10, caractérisé en ce qu'un mode de démarrage NMD; d'une tâche AP; est un nombre entier et en ce que plus une valeur du mode de démarrage NMD; est élevée et plus une différence de 5 fonction entre une exécution de la tâche AP; démarrée suivant le mode de démarrage NMD; et une exécution de la tâche AP; démarrée suivant le mode de démarrage nominal est grande.
12. Procédé selon la revendication 11, caractérisé en ce le mode de 10 démarrage nominal NOM vaut 0, et en ce que la détermination du mode de démarrage NMD; consiste à affecter au mode de démarrage NMD; une valeur égale au maximum entre la valeur du mode de démarrage MDD; et la valeur du mode de démarrage de principe MD;, ID, k. 15
13. Procédé selon la revendication 7 caractérisé en ce que, lorsque le cumul S est supérieur ou égal au deuxième seuil S2, une action correctrice ACT_4 est appliquée qui comporte, en outre, les étapes suivantes, pour tous les indices i : - Interrompre l'exécution de la tâche AP; ; 20 -Démarrer l'exécution de la tâche APi , suivant un mode de démarrage NMD; déterminé en fonction de la valeur du cumul S.
14. Procédé selon la revendication 13, caractérisé en ce que, lorsque la valeur du cumul S est supérieure ou égale à S2+2, le mode de démarrage 25 NMD; correspond à une interruption permanente d'exécution des tâches APi.
15. Procédé selon l'une des revendications 7 à 14, caractérisé en ce qu'un mode de démarrage de principe MD;, ,p, k définit un contenu de jeu de données D; à employer au démarrage de l'exécution de la tâche AP; qui 30 correspond à un jeu de données sauvegardé.
16. Dispositif de gestion de défaillance de tâches AP; d'un processus, ledit dispositif mettant en oeuvre un procédé selon l'une des revendications précédentes, ledit dispositif détectant une défaillance courante d'exécution 35 affectant une tâche APID du processus, la détection de la défaillance 2910656 26 courante succédant à une détection antérieure d'une défaillance, dite défaillance antérieure, ayant affecté une des tâches APi, caractérisé en ce qu'il comporte : - une liste LIS_INT qui contient des indices de tâches AP; dont une 5 exécution peut être interrompue individuellement sans perturber une exécution d'une autre tâche du processus ; - une table TAB qui contient des modes de démarrage de principe MD;, ID, k à employer pour démarrer la tâche APi, à la suite d'une défaillance courante affectant la tâche d'indice ID pour la k-ième fois. 10
17. Dispositif selon la revendication précédente caractérisé en ce qu'il comporte, en outre, une base de défaillances répertoriées, qui est mise à jour à chaque détection d'une défaillance courante affectant une tâche APi, ladite base de défaillances répertoriées comprend : 15 - des compteurs individuels CPT; de défaillances de tâches APi, lesdits compteurs individuels CPT; contenant un nombre de défaillances d'exécution des tâches AR; corrélées avec les défaillances précédentes ; - la date DAT de la détection antérieure ; - un mode de démarrage MDD; d'un précédent démarrage de la tâche 20 APi, le précédent démarrage est le dernier démarrage en date de la tâche APi. et en ce que ledit dispositif applique des actions correctrices (ACT_1, ACT_2, ACT_3, ACT_4) ayant un effet graduel qui est fonction d'un contenu de la base de défaillances répertoriées mise à jour, l'effet graduel vise à 25 interrompre puis à démarrer une exécution de tâches APi du processus, suivant un mode de démarrage NMD;..
18. Système exécutant un processus comportant un nombre de tâches AP; égal à N, i désignant un indice identifiant les tâches du processus 30 et étant un nombre entier compris entre 1 et N, ledit système comportant au moins N unités de calcul UC; exécutant chacune la tâche APi et un dispositif de gestion de défaillance de tâche APi d'un processus selon l'une des revendications 16 à 17, caractérisé en ce en ce que, lorsqu'une tâche APID est affectée par une 35 défaillance courante, une date NDAT de détection de défaillance ainsi qu'un 2910656 27 indice ID de tache défaillante sont délivrés au dispositif de gestion de défaillance et en ce que lorsque le système détecte qu'une défaillance courante d'exécution affecte une tâche APID, elle produit une date NDAT de détection de défaillance et un indice ID de tâche défaillante à destination 5 dudit dispositif.
19. Système selon la revendication 18, caractérisé en ce que lorsqu'une première unité de calcul UC; du système transmet une partie du contenu du jeu de données D; de la tâche AP; qu'il exécute, à une deuxième 10 unité de calcul UCi du système, où j est un indice différent de i, la deuxième unité UC1 est capable de commander une sauvegarde de la partie du contenu du jeu de données D; qui lui a été transmis.
20. Système selon l'une des revendications 18 à 19, caractérisé en ce 15 qu'il comporte des moyens pour détecter des événements extérieurs au système EV, et en ce qu'une mise à jour de la base de défaillances répertoriées du dispositif de gestion de défaillance de tâche est déclenchée par une détection d'un événement extérieur au système EV. 20
21. Système selon la revendication 20, caractérisé en ce que la mise à jour de la base de défaillances répertoriées comporte une étape d'initialisation des compteurs individuels CPT, pour des tâches dont les indices sont rangés dans une liste L1 qui est fonction de l'événement extérieur au système EV détecté par le système. 25
22. Système selon la revendication 20, caractérisé en ce que la mise à jour de la base de défaillances répertoriées comporte une étape d'initialisation des mode de démarrage MDD; d'un précédent démarrage pour des tâches dont les indices sont rangés dans une liste L2 qui est fonction de 30 l'événement extérieur au système EV détecté par le système.
FR0611087A 2006-12-20 2006-12-20 Dispositif et procede de gestion de defaillance de tache de processus Expired - Fee Related FR2910656B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0611087A FR2910656B1 (fr) 2006-12-20 2006-12-20 Dispositif et procede de gestion de defaillance de tache de processus
US11/962,048 US20080155544A1 (en) 2006-12-20 2007-12-20 Device and method for managing process task failures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0611087A FR2910656B1 (fr) 2006-12-20 2006-12-20 Dispositif et procede de gestion de defaillance de tache de processus

Publications (2)

Publication Number Publication Date
FR2910656A1 true FR2910656A1 (fr) 2008-06-27
FR2910656B1 FR2910656B1 (fr) 2009-03-06

Family

ID=38249274

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0611087A Expired - Fee Related FR2910656B1 (fr) 2006-12-20 2006-12-20 Dispositif et procede de gestion de defaillance de tache de processus

Country Status (2)

Country Link
US (1) US20080155544A1 (fr)
FR (1) FR2910656B1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2938939B1 (fr) * 2008-11-25 2015-10-02 Thales Sa Procede d'aide a la gestion du vol d'un aeronef en vue de tenir une contrainte de temps
US9158610B2 (en) * 2011-08-04 2015-10-13 Microsoft Technology Licensing, Llc. Fault tolerance for tasks using stages to manage dependencies
WO2014188502A1 (fr) * 2013-05-21 2014-11-27 株式会社日立製作所 Système, programme et procédé de gestion
US11360694B2 (en) 2019-05-08 2022-06-14 Distech Controls Inc. Method providing resilient execution of a service on a computing device
US11379249B2 (en) * 2019-05-08 2022-07-05 Distech Controls Inc. Computing device providing fail-safe execution of a service
US11269717B2 (en) * 2019-09-24 2022-03-08 Sap Se Issue-resolution automation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305455A (en) * 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
US20030226056A1 (en) * 2002-05-28 2003-12-04 Michael Yip Method and system for a process manager
US20040215997A1 (en) * 2003-04-24 2004-10-28 International Business Machines Corporation Apparatus and method for process recovery in an embedded processor system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178146B1 (en) * 2002-03-26 2007-02-13 Emc Corporation Pizza scheduler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5305455A (en) * 1990-12-21 1994-04-19 International Business Machines Corp. Per thread exception management for multitasking multithreaded operating system
US6453430B1 (en) * 1999-05-06 2002-09-17 Cisco Technology, Inc. Apparatus and methods for controlling restart conditions of a faulted process
US20030226056A1 (en) * 2002-05-28 2003-12-04 Michael Yip Method and system for a process manager
US20040215997A1 (en) * 2003-04-24 2004-10-28 International Business Machines Corporation Apparatus and method for process recovery in an embedded processor system

Also Published As

Publication number Publication date
US20080155544A1 (en) 2008-06-26
FR2910656B1 (fr) 2009-03-06

Similar Documents

Publication Publication Date Title
Dumitraş et al. Why do upgrades fail and what can we do about it? Toward dependable, online upgrades in enterprise system
US9164854B2 (en) Thread sparing between cores in a multi-threaded processor
FR2910656A1 (fr) Dispositif et procede de gestion de defaillance de tache de processus
EP2411832B1 (fr) Procédé et dispositif de détection et d'exclusion de pannes satellite dans un système hybride ins/gnss
US8677189B2 (en) Recovering from stack corruption faults in embedded software systems
US9146705B2 (en) Split brain protection in computer clusters
EP2274577B1 (fr) Dispositif d'aide à la navigation et au guidage d'un aéronef, et système comportant un tel dispositif
US9256489B2 (en) Synchronized debug information generation
US8984335B2 (en) Core diagnostics and repair
US11221927B2 (en) Method for the implementation of a high performance, high resiliency and high availability dual controller storage system
EP1914561A1 (fr) Procédé de localisation d'un véhicule par satellites et garantie d'intégrité avec sélection d'un sous-groupe de satellites
US20060004839A1 (en) Method and system for data processing with data replication for the same
FR2968784A1 (fr) Procede et dispositif de surveillance automatique d'ordres de guidage lateraux d'un aeronef.
FR3088909A1 (fr) Procédé et système de sécurisation d’un aéronef contre les cyberattaques
CN111290885B (zh) 一种火星探测用多计算机双级数据备份及分级恢复方法
EP2836913B1 (fr) Dispositif pour générer une signature à l'exécution d'une tâche de programme et méthode de comparaison de flots d'exécution
JP2008003691A (ja) 計算機のプロセス回復方法、チェックポイントリスタートシステム
FR2976559A1 (fr) Procede de maintenance, systeme et aeronef
US7770074B2 (en) Method and device for the fault-tolerance management of a software component
EP3598305B1 (fr) Procede de gestion d'un systeme de pilotage automatique equipant un aeronef
EP3502949A1 (fr) Procédé et système de contrôle d'ordonnancement de tâches logicielles
EP3374872B1 (fr) Procédé de contrôle de l'état de fonctionnement d'un système par redondance
US8943363B2 (en) Method of fast reinitialization for instrument panel viewing device
CN109062175B (zh) 基于累计判别时序的综合电子系统故障隔离方法及系统
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 14

ST Notification of lapse

Effective date: 20210806