EP4104056A1 - Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé - Google Patents

Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé

Info

Publication number
EP4104056A1
EP4104056A1 EP21703941.1A EP21703941A EP4104056A1 EP 4104056 A1 EP4104056 A1 EP 4104056A1 EP 21703941 A EP21703941 A EP 21703941A EP 4104056 A1 EP4104056 A1 EP 4104056A1
Authority
EP
European Patent Office
Prior art keywords
application
execution
clone
result
computer
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.)
Pending
Application number
EP21703941.1A
Other languages
German (de)
English (en)
Inventor
Cedric Balihaut
Alexandre Fine
Sebastien Dotte
Philippe Besnier
Lionel LEROUX
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
Publication of EP4104056A1 publication Critical patent/EP4104056A1/fr
Pending legal-status Critical Current

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components

Definitions

  • TITLE Electronic calculator, electronic system, method of monitoring the execution of an application and associated computer program
  • the present invention relates to an electronic computer comprising at least one memory space and one data processing chain, the chain comprising at least one input / output processing entity of the computer, at least one processor configured for execute at least one software program called an application, and an operating system interacting with the input / output processing entity and said at least one processor.
  • the present invention also relates to an avionics system comprising such an electronic computer.
  • the present invention also relates to a method for monitoring the execution of an application on such an electronic computer, the method being implemented by such an electronic computer.
  • the present invention also relates to a computer program comprising software instructions which, when executed by a computer, implement such a method for monitoring the execution of an application on such an electronic computer.
  • the present invention relates to electronic computers for critical systems, in particular computers dedicated to graphics applications, meeting criteria of operational integrity and also of size, weight, and flexibility of implementation as used for transport.
  • constraints are implemented at the level of the application to be executed by the computer and / or at the level of the system definition of this application, or even on the definition of the computer itself. implementing such an application by imposing a multiplication of its internal resources for comparison purposes for integrity validation.
  • constraints are in no way necessary for the final function of the application and only make it possible to alleviate a lack of integrity of the electronic computer as such.
  • the aim of the invention is therefore to provide an electronic computer and a method for monitoring the execution of an application on such an electronic computer which makes it possible to increase the integrity of the electronic computer without imposing any constraint on the level of the computer. application and its design, neither at the level of the computer nor in terms of size, weight and power (from the English SWaP for Size, Weig ht and Power).
  • the invention relates to an electronic computer comprising at least a memory space and a data processing chain (s), the chain comprising at least:
  • At least one processor configured to execute at least one software program called an application
  • an operating system in interaction with the input / output processing entity and said at least one processor, the electronic computer, in the presence of an external request, intended for said at least one processor, of execution of a source application, the executable of which has been loaded beforehand in a first dedicated area of the memory space of said computer, being at least specific to:
  • the electronic computer according to the present invention is then able to provide a tailor-made increase in integrity by instantiating at least one clone application of the application for which the increase in execution integrity is desired.
  • the source application and its clone are then run independently as two separate applications would be on the computer's computation chain, which at the same time does not require the addition of a hardware resource, and is transparent for the design of the computer. application (s).
  • the electronic computer comprises one or more of the following characteristics, taken individually or in any technically possible combination:
  • the single output corresponds to a sanction command of said at least one processor, or
  • the single output corresponds to the result of the execution of the source application or to the result executing said at least one clone application;
  • the computer comprises a comparator independent of said at least one processor, the comparator being dedicated to:
  • said comparator being configured to apply said sanction command in the event of inconsistency between the result of the execution of the source application and the result of the execution of said at least one cloned application;
  • the comparator is integrated within the input (s) / output (s) processing entity separate from said processor.
  • the subject of the invention is also an electronic system comprising at least one electronic computer according to the present invention, and an installation device.
  • application configured to make the source application clonable within the computer, the cloning character of the source application being activatable / deactivatable according to the desired level of integrity of the source application and / or according to the availability of said at least one processor of the computer.
  • the electronic computer comprises one or more of the following characteristics, taken individually or in any technically possible combination:
  • the installation device is configured to make the source application clonable by loading the executable of the source application in a first dedicated area of the memory space of the computer, and by configuring the operating system of the computer to allocate , to each source application and clone (s):
  • said comparison indicator is used to detect the result of the execution of the source application, and the result of the execution of said at least one clone application, to be compared;
  • the electronic system is an avionics system.
  • the subject of the invention is also a method for monitoring the execution of an application on an electronic computer comprising at least one memory space and one data processing chain (s), the chain comprising at least:
  • At least one processor configured to execute at least one software program called an application
  • the subject of the invention is also a computer program comprising software instructions which, when they are executed by a computer, implement a method for monitoring the execution of an application on an electronic computer as defined herein. -above.
  • Figure 1 is a schematic view of the hardware elements of an electronic system according to the present invention.
  • Figure 2 is a flowchart of a monitoring method according to the invention, the method being implemented by the electronic computer of the electronic system of Figure 1.
  • the electronic system S comprises an electronic computer C and a device for installing DIA application (s). Moreover, optionally, in particular when the computer is dedicated to graphics applications, the system S further comprises a DRG graphics rendering device.
  • DIA application s
  • the system S further comprises a DRG graphics rendering device.
  • such an electronic system S is an avionics system, in particular used in avionics architectures IMA (Integrated Modular Avionics).
  • the electronic computer C corresponds for example to a generic hardware and software platform (from English hardware and software) comprising one or more processor (s) 12 CPU (from English Central Processing Unit) , a module 14 for providing outputs, and one or more hardware entity (s) 16 for processing input (s) / outputs (I / O for English Input / output) of the computer C, the module 14 for supplying of outputs being both connected to the processor (s) and to the input / output processing hardware entity (ies) 16.
  • the computer C further comprises an operating system, not shown, in interaction with the processor (s) 12 and one or more hardware entity (s) 16 for input processing. outputs (I / O for English Input / output) of the computer C.
  • the device for installing DIA application is configured to make a source application clonable within the electronic computer C, the cloning character of the source application being activatable / deactivatable depending on the level of desired integrity of the source application and / or depending on the availability of one or more processor (s) 12 CPU (Central Processing Unit) processor of the electronic computer C.
  • processor s
  • CPU Central Processing Unit
  • the DIA application installation device is configured to make the source application clonable by loading the executable of the source application into a first dedicated area of the memory space of the electronic computer C, and by configuring the operating system of the electronic computer C to allocate, to each source application and clone (s):
  • the DIA application installation device is both responsible for installing the applications, in particular clonable according to the present invention, in the electronic computer C, and for setting the operating system of the electronic computer. C to make them operate within the electronic computer C, automatically and transparently.
  • the source application and its clone are in fact then, according to the present invention, executed by the electronic computer C independently as two separate applications would be on the calculation chain of the electronic computer C which, at the same time, does not require no addition of hardware resource, and is transparent to the design of application (s).
  • the DIA application installation device (s) is able to configure the management of the various inputs / outputs by the operating system to allocate inputs / outputs (read as well as write) for each source instance and clone of the same application, and this as if it had instantiated two different applications, except that the application installation device (s) DIA indicates in the configuration of the application made clonable that its inputs / outputs are application inputs / outputs identical, namely source and clone, so that the electronic computer C detects that the application is made clonable and implements a suitable processing described below.
  • the device for installing DIA application (s) is suitable for verifying that the constraints specific to the management of clonable application (s) are indeed respected, which amounts to verifying a set of rules in order to to guarantee the execution environment of the clonable application (s), and to avoid possible side effects.
  • the DIA installation device is separate from the electronic computer C, that is to say outside the housing of the electronic computer C (i.e. "off-board").
  • the DIA installation device is on-board, or even integrated complement, within the electronic computer C.
  • the electronic system S comprises for example two entities, namely on the one hand the on-board electronic computer C. the DIA installation device, and on the other hand the DRG graphic rendering device.
  • the architecture of the electronic computer C according to the present invention is advantageously an architecture of the simplex type, that is to say with a single direct chain without loopback or duplication of physical resource, and in particular an architecture IMA simplex suitable for guaranteeing the non-interference of a given application with another distinct application.
  • the electronic computer C in the presence of an external request, intended for the processor 12, for executing a source application whose executable has been loaded beforehand within a first dedicated zone of the memory space, not shown, of said electronic computer C, is at least specific to:
  • intrinsic synchronization points such as, for example, disclosed within the patent application FR 2 742 015 A1 , are used in the implementation of the electronic calculator C.
  • the electronic computer C comprises an input port 18 connected to a module 20 for managing the input (s) of the processor (s) 12.
  • a module 20 for managing the input (s) of the processor (s) 12 corresponds to an IO server (known in English under the name of Input / Output server) of an electronic computer of an avionics system presenting an IMA architecture whose role is classically quite different, namely to factorize the task of acquiring the data, while offering an abstraction of the physical layer, then making them available to applications consuming said data.
  • the module 20 for managing the input (s) of the processor (s) ( s) 12 in interaction with the operating system not shown is suitable for detecting that the source application has been made clonable and consequently allocates two separate inputs 22A and 22B as input to an entity 24 of processor core (s) 12.
  • the input 22A is the input allocated to the source application and is associated with a first comparison indicator of the source application making it possible to indicate to the processor 12 that this input 22A must be used to run the application.
  • the entry 22B is the entry allocated to the clone application of the source application and is associated with a second comparison indicator of the source application making it possible to indicate to the processor 12 that this entry 22B must be used for run the clone application of the source application.
  • the first comparison indicator and the second comparison indicator are identical and only make it possible to identify that the execution results of the applications associated with these indicators via their input (respectively output) must be compared.
  • the first comparison indicator and the second comparison indicator are distinct, for example via a double indexing, and then make it possible both to identify that the execution results of the applications associated with these indicators via their input (respectively output) must be compared, and the traceability of the path of these results throughout the functional chain of the electronic computer C.
  • first comparison indicator and the second comparison indicator are distinct or identical, they are subsequently used to detect the result of the execution of the source application, and the result of the execution of said at least one application. clone, to compare.
  • the computer C is a multi-core processor machine comprising a first core 26 allocated according to the present invention to the execution of the source application 28 and a second core 30 allocated to the execution of the application clone 32.
  • Such an entity 24 of processor core (s) 12 makes it possible to execute the source application 28 and said at least one clone application 32 independently of each other by using said processor 12 and this simultaneously in parallel.
  • the input management module 20, corresponding in particular to an IO server, previously configured via the application installation device (s) DIA allows two applications, namely the source application 28 and the clone application 32 to use the same input port 18, whereas by nature this is not conventionally possible / provided for certain input / output types.
  • a common memory area accessible to run each source 28 and clone 32 application is implemented according to a degraded embodiment because in some cases having side effects potentially harmful to the integrity requirements required.
  • the module 20 input management (s), corresponding in particular to an IO server, is configured to completely double the management logic of this type of input, which includes implementing a consumption logic for such a complex input, independent for each source application 28 and clone 32, and therefore a double memory area associated with such a double consumption logic (a consumption logic associated with the source application 28 and a consumption logic associated with the clone application).
  • the input management module 20, corresponding in particular to an IO server is configured to, on the one hand, implement for the. source application 28, a first logic for managing and consuming a sequence of values of this “queued or protocol” entry received from the outside world, via the input port 18, in order to guarantee that each message is indeed received , and this in the correct order, by the consuming source application 28, and on the other hand, implementing for the clone application 32 a second logic for managing and consuming a sequence of values of this same entry "in queue d 'waiting or protocol' received from the outside world, via the input port 18, in order to guarantee that each message is received, and in the correct order, by the consuming clone 32 application.
  • the input management module 20 corresponding in particular to an IO server, allows, from a single input received via the input port 18, an automatic and transparent adaptation of the data / inputs consumed respectively by the source application 28 and by the clone application 32.
  • the input management module 20, corresponding in particular to an IO server is only dedicated to the management of the inputs associated with each source application 28 and clone 32, and n ' does not intervene for the management of the result 34A of the execution of the source application 28 and of the result 34B of the execution of the clone application 32.
  • the processor 12 is single-core, and the execution of the source application and of the clone application are serialized and executed independently of each other using separate execution periods.
  • the electronic computer C comprises a plurality of separate processors and completely independent of each other, and the execution of the source application and of the clone application are implemented in parallel on each of them. these separate processors and independently of one another as two separate applications would be on the computer chain.
  • the processor 12 of the electronic computer C corresponds to a software infrastructure based on at least two virtual machine (s) with capacities for the independence of these virtual machines, two distinct virtual machines. and independent then hosting according to the invention the execution of the source application on a first virtual machine and the execution of the application.
  • the hardware resources are not multiplied / increased for integrity needs because the invention consists, on the contrary, in optimizing their use to run a clone application of a source application like two separate applications would normally be executed, the cloning character of the source application being advantageously activatable / deactivatable according to the present invention according to the desired level of integrity of the source application and / or according to the availability of the computing resources.
  • the result 34A of the execution of the source application 28 and the result 34B of the execution of the 'clone application 32 are then transmitted by the entity 24 of the processor core (s) 12 to the module 14 for providing outputs which succeeds the processor 12 in the functional chain of execution of the electronic computer C.
  • IMA Integrated Modular Avionics
  • the result 34A of the execution of the source application 28 is the output allocated to the source application and is associated with a first comparison indicator of the application source making it possible to indicate to the following elements the processor 12 in the calculation chain of the electronic computer C that this result 34A must be associated with the source application.
  • the result 34B of the execution of the clone application 32 is the output allocated to the clone application of the source application and is associated with a second comparison indicator of the source application making it possible to indicate the following elements the processor 12 in the chain for calculating the electronic computer C that this result 34B must be associated with the clone application.
  • first comparison indicator and the second comparison indicator are separate or identical, they are used subsequently to detect the result 34A of the execution of the source application, and the result 34B of the execution. of said at least one clone application, to be compared, in particular after a prior formatting processing by the module 14 for providing outputs.
  • the result 34A of the execution of the source application 28 and the result 34B of the execution of the clone application 32 are transmitted to the input of the input / output driver 36 of the module 14 for providing outputs, which transmits them, optionally accompanied by other various and predetermined data, within a transmission channel 38 to an input / output interface and management tool 40 which is itself configured, in particular according to an architecture IMA avionics, to provide two sets of data 42B and 42A distinct and independent, of form adapted to the needs of the input / output processing entity 16 and not dependent on constraint (s) linked to the execution of the 'source application 28 or with the execution of the clone application 32, and respectively associated with the result 34A of the execution of the source application 28 and with the result 34B of the execution of the clone application 32 B, as input of a comparator 44 independent of the processor 12 (by independent here is meant that the comparator 44 is physically distinct from the processor (ie outside the processor) but, as illustrated in FIG. 1, can be integrated within the same
  • the comparator 44 is integrated within the input (s) / output (s) processing entity 16 distinct from said processor 12, and corresponds to a modified comparator, with respect to to the comparator already present within the existing input (s) / output (s) processing entity 16, for the purposes of the invention, so as to be specifically configured to compare the result of two applications resulting from an application cloning.
  • the modification of such a comparator does not modify the existing architecture of the electronic computer C, nor that of the existing input (s) / output (s) processing entity 16.
  • the hardware implementation according to the invention of comparing the result 34A of running the source application 28 and the result 34B of running the clone application 32 does not involve additional resources.
  • the comparator 44 autonomously implements a comparison without knowledge of the applications and their function and by using resources different from those used by the applications, the comparison indicator only making it possible to detect that the result of two distinct applications are to be compared but does not allow the independent comparator 44 to identify that these two results were obtained from a source application and its clone.
  • the comparison indicator indicates that two applications are to be compared, but does not allow the comparator 44 to identify the nature of the application.
  • the comparator 44 independent of the processor 12, implements such a comparison as if it were comparing the execution result of two distinct applications X and Y (ie the applications X and Y are “non-cloned” one of the.
  • the source application made clonable has no “awareness” of the fact that it has been made clonable by the installation device DIA, nor knowledge of the comparison of its execution result with that of its clone.
  • a comparator 44 corresponds to an output validation cell allowing the generation of a single output to the world outside the electronic computer C, such an output associated with the execution of the source application made clonable being advantageously according to the present invention. more honest.
  • the single output corresponds to a sanction command from said to less one processor 12.
  • the single output corresponds to the result of the execution of the source application or the result of the execution of said at least one clone application (i.e. the result of the execution of the source application and the result of the execution of said at least one clone application are merged into a single output).
  • the comparator 44 is dedicated to the comparison of the result 34A of the execution of the source application 28 with the result 34B of the execution of said at least one clone application 32, said comparison delivering an integrity result, and on generating said single output as a function of the integrity result, said comparator 44 being configured to apply said sanction command in the event of an inconsistency between the result of the execution of the source application and the result of the execution of said at least one clone application.
  • the comparator 44 comprises, for example as illustrated in FIG. 1, at least two signature processors 46 and 48.
  • the signature processor 46 is, according to the example of FIG. 1, dedicated to the signature. of the data set 42A associated with the result 34A of the execution of the source application 28, while the signature processor 48 is dedicated to the signature of the data set 42B associated with the result 34B of the execution of the application clone 32.
  • the signatures generated by each of the signature processors 46 and 48, respectively associated with the source application 28 and with the clone application 32, are supplied to a signature comparator 50 delivering the integrity result mentioned above, namely corresponding to an inconsistency between the two signatures or a consistency between these two signatures.
  • a sanction filter 52 suitable for detecting the nature of the integrity result, namely consistent or inconsistent.
  • Such a sanction filter 52 of the comparator 44 is configured to transmit to the interface and management tool 40 of the module 14 for providing outputs the status 54 of the filtering carried out.
  • the interface and management tool 40 of the module 14 for providing outputs generates the single output 56 corresponding to: a sanction command in the event of inconsistency between the result 34A of the execution of the source application 28 and the result 34B of the execution of said at least one clone application 32, or the result of the execution of the source application or the result of the execution of said at least one clone application in case consistency between the result 34A of the execution of the source application 28 and the result 34B of the execution of said at least one clone application 32.
  • the comparator 44 is integrated within the input (s) / output (s) processing entity 16 distinct from said processor 12, and corresponds to a comparator already present within the processing entity of existing input (s) / output (s) 16, the sanction management (ie the error management mechanism within the functional chain of the electronic computer C) according to the present invention therefore does not require additional resources and makes it possible to conserve a simplex architecture.
  • This single output 56 is provided by the interface and management tool 40 to the “outside world” via an output processing line 58, and in particular when the source application 28 is a graphics application to the rendering device. DRG chart.
  • FIG. 2 illustrating a flowchart of the method P for monitoring the execution of an application implemented. works automatically by the electronic computer C.
  • the electronic computer C receives an external request, intended for said at least processor 12, to execute a source application whose executable has been loaded beforehand, in particular by the installation device DIA, within a first dedicated area of the memory space of said electronic computer C.
  • the electronic computer C instantiates at least one clone application of the source application by duplicating the executable of the source application to create the executable of said at least one clone application, and by storing the executable of said at least one application cloned in a second zone of the memory space distinct from the first memory zone dedicated to the source application, and by generating a request, internal to the electronic computer C and intended for said at least one processor 12, d execution of said at least one clone application.
  • the electronic computer C executes the source application 28 and said at least one clone application 32 independently of each other by using for example as illustrated in FIG. 1 respectively the first core 26 and the second core 28 of processor 12.
  • the electronic computer C According to a last step GO, the electronic computer C generates a single output as a function of an integrity result obtained by comparison, in particular via the comparator 44 of FIG. 1, of the result of the execution of the source application 28 with the result of the execution of said at least one clone 32 application.
  • the electronic computer C like the electronic system S comprising it as well as the application installation device (s) DIA and the method according to the invention, increase the execution integrity of an application, and by its structure is suitable for integrating transient events such as singular events SEE (standing for Single event effect associated with the radiative environment of the material components of the electronic computer C (neutrons, radiations)).
  • the present invention cleverly uses, as indicated above, properties, in particular IMA, guaranteeing spatial and / or temporal segregation and total independence of the multiple applications suitable for being hosted on the electronic computer C.
  • the infrastructure of the electronic computer C as configured by the installation device DIA guarantees full and complete independence of execution of the source application and of its clone.
  • the electronic computer C configured by means of the installation device DIA, is suitable on the one hand to multi-execute autonomously (ie automatically without human intervention) the same application made spatially clonable on two resources and / or temporally different and this by limiting as much as possible the identical use of common resources, then on the other hand to check, by means of a comparator 44 independent of the processor 12, the consistency of this multiple execution of the same application, and in the event of inconsistency in sanctioning the activity of processor 12, in order to avoid any propagation of the result of execution of the application made clonable.
  • Such a multiple execution and such a control are transparent for the application made clonable, because seen from the outside (ie from the “outside world”) of the electronic computer C, a single input is provided and a single output is strictly delivered.
  • the unique output associated with the application made clonable is more complete.
  • the present invention provides a robust integrity mechanism solution to cover, locate and identify permanent or transient failures occurring only during application execution. According to the present invention, to create an undetected error during the execution of an application made clonable (ie when the application has a high need for integrity) two to three distinct failures are now necessary against sometimes only one with a classic C electronic calculator.
  • the non-detection of an error implies an error within two distinct physical entities of the electronic computer C according to the present invention, namely the processor 12 and the input (s) / output (s) processing entity. 16 comprising the comparator 44, and not an erroneous one or several within the same physical entity of a conventional electronic computer C.
  • the increase in integrity of an application is configurable and modular, which allows high reusability, for example from one carrier to another in an avionics context.
  • the cloning character of an application can easily be activated / deactivated by the DIA application installation device capable of optimizing, depending on this activation, the resources available for the applications (100% of the resources physically present can be used). , in complete transparency and without evolution, for the applications).
  • the resources that can be allocated to a clone are free and can be used for other applications.
  • the simplex architecture of the electronic computer C according to the present invention is retained in order to limit its size, weight and power (SWaP for Size, Weight and Power) and the solution according to the present invention. is suitable for being integrated with a low impact on a simplex architecture conforming to an existing architecture, or even existing, by the configuration implemented by the DIA installation device.

Landscapes

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

Abstract

L'invention concerne un calculateur (C) comprenant une mémoire et une chaine de traitement comprenant une entité (16) de traitement d'entrée(s)/sorties, un processeur (12), un système d'exploitation en interaction avec l'entité de traitement et le processeur, le calculateur, en présence d'une requête externe, d'exécution d'une application source (28) dont l'exécutable a été préalablement chargé dans une zone de la mémoire, étant propre à: - instancier une application clone (32) de l'application source (28) en: - dupliquant l'exécutable de l'application source (28) pour créer celui de l'application clone (32), et en le stockant dans une zone mémoire distincte de celle de l'application source, - générant une requête interne audit processeur, d'exécution de ladite application clone (32), - exécuter indépendamment les applications source (28) et clone (32), - générer une sortie unique (56) en fonction de la comparaison du résultat d'exécution de l'application source (28) avec celui de l'application clone (32).

Description

TITRE : Calculateur électronique, système électronique, procédé de surveillance de l’exécution d’une application et programme d’ordinateur associé
La présente invention concerne un calculateur électronique comprenant au moins un espace mémoire et une chaîne de traitement de donnée(s), la chaîne comprenant au moins une entité de traitement d’entrée(s)/sorties du calculateur, au moins un processeur configuré pour exécuter au moins un programme logiciel appelé application, et un système d’exploitation en interaction avec l’entité de traitement d’entrée(s)/sorties et ledit au moins un processeur.
La présente invention concerne également un système avionique comprenant un tel calculateur électronique.
La présente invention concerne également un procédé de surveillance de l’exécution d’une application sur un tel calculateur électronique, le procédé étant mis en œuvre par un tel calculateur électronique.
La présente invention concerne aussi un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un tel procédé de surveillance de l’exécution d’une application sur un tel calculateur électronique.
La présente invention concerne les calculateurs électroniques de systèmes critiques, notamment des calculateurs dédiés à des applications graphiques, répondant à des critères d’intégrité de fonctionnement et également d’encombrement, poids, et de flexibilité d’implémentation tel qu’utilisés pour le transport aéronautique, terrestre, ferroviaire, spatial, maritime, sous-maritime ou encore dans le domaine de l’énergie (contrôle de centrale électrique en production ou distribution, contrôle de procédé(s) industriel(s)) ou de la robotique, fixes dans des infrastructures immobiles (e.g. pour le contrôle aérien, l’instrumentation aérienne, la gestion de voie ferrées et aiguillage) ou embarqués au sein d’un véhicule/élément mobile entre deux points géographiques distincts.
Actuellement pour répondre à des critères d’intégrité de fonctionnement, des contraintes sont mises en œuvre au niveau de l’application à exécuter par le calculateur et/ou au niveau de la définition système de cette application, ou encore sur la définition même du calculateur mettant en œuvre une telle application en imposant une multiplication de ses ressources internes à des fins de comparaison pour validation d’intégrité . Cependant de telles contraintes ne sont en rien nécessaires à la fonction finale de l’application et permettent uniquement de pallier un manque d’intégrité du calculateur électronique en tant que tel.
De plus, pour répondre à des critères d’intégrité de fonctionnement, un ajout de ressources matérielles contribuant uniquement à renforcer l’intégrité de la chaîne fonctionnelle du calculateur est généralement mis en œuvre, ce qui est source d’augmentation de l’encombrement et du poids du calculateur électronique, parfois complexe à mettre en œuvre, voire constitutif d’une charge inutile lorsque le besoin d’intégrité n’est pas requis en permanence pour l’exécution de la chaîne fonctionnelle en tant que telle. Autrement dit, actuellement une chaîne fonctionnelle voit son coût d’implémentation augmenter par l’intégrité alors que le besoin d’intégrité associé à la chaîne fonctionnelle n’est pas toujours requis.
Le but de l’invention est alors de proposer un calculateur électronique et un procédé de surveillance de l’exécution d’une application sur un tel calculateur électronique qui permette d’augmenter l’intégrité du calculateur électronique sans imposer de contrainte au niveau de l’application et de sa conception, ni au niveau du calculateur ni en terme d’encombrement, poids et puissance (de l’anglais SWaP pour Size, Weig ht and Power).
A cet effet l’invention a pour objet un calculateur électronique comprenant au moins un espace mémoire et une chaîne de traitement de donnée(s), la chaîne comprenant au moins :
- une entité de traitement d’entrée(s)/sorties du calculateur,
- au moins un processeur configuré pour exécuter au moins un programme logiciel appelé application,
- un système d’exploitation en interaction avec l’entité de traitement d’entrée(s)/sorties et ledit au moins un processeur, le calculateur électronique, en présence d’une requête externe, destinée audit au moins un processeur, d’exécution d’une application source dont l’exécutable a été préalablement chargé au sein d’une première zone dédiée de l’espace mémoire dudit calculateur, étant au moins propre à :
- instancierau moins une application clone de l’application source en :
- dupliquant l’exécutable de l’application source pour créer l’exécutable de ladite au moins une application clone,
- stockant l’exécutable de ladite au moins une application clone dans une deuxième zone de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source, et en - générant une requête, interne au calculateur et destinée audit au moins un processeur, d’exécution de ladite au moins une application clone,
- exécuter l’application source et ladite au moins une application clone indépendamment l’une de l’autre en utilisant ledit au moins un processeur,
- générer une sortie unique en fonction d’un résultat d’intégrité obtenu par comparaison du résultat de l’exécution de l’application source avec le résultat de l’exécution de ladite au moins une application clone.
Le calculateur électronique selon la présente invention est alors propre à fournir une augmentation de l’intégrité sur mesure en instanciant au moins une application clone de l’application dont l’augmentation d’intégrité d’exécution est souhaitée. L’application source et son clone sont ensuite exécutées de manière indépendante comme deux applications distinctes le seraient sur la chaîne de calcul du calculateur ce qui, à la fois, ne nécessite pas d’ajout de ressource matérielle, et est transparent pour la conception d’application(s).
Suivant d’autres aspects avantageux de l’invention, le calculateur électronique comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- en cas d’incohérence entre le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone, la sortie unique correspond à une commande de sanction dudit au moins un processeur, ou,
- en cas de cohérence entre le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone, la sortie unique correspond au résultat de l’exécution de l’application source ou au résultat de l’exécution de ladite au moins une application clone ;
- le calculateur comprend un comparateur indépendant dudit au moins un processeur, le comparateur étant dédié à :
- ladite comparaison du résultat de l’exécution de l’application source avec le résultat de l’exécution de ladite au moins une application clone délivrant ledit résultat d’intégrité, et
- la génération de ladite sortie unique en fonction dudit résultat d’intégrité, ledit comparateur étant configuré pour appliquer ladite commande de sanction en cas d’incohérence entre le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone ;
- le comparateur est intégré au sein de l’entité de traitement d’entrée(s)/sortie(s) distincte dudit processeur.
L’invention a également pour objet un système électronique comprenant au moins un calculateur électronique selon la présente invention, et un dispositif d’installation d’application(s) configuré pour rendre clonable l’application source au sein du calculateur, le caractère clonable de l’application source étant activable/désactivable en fonction du niveau d’intégrité souhaité de l’application source et/ou en fonction de la disponibilité dudit au moins un processeur du calculateur.
Suivant d’autres aspects avantageux de l’invention, le calculateur électronique comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- le dispositif d’installation est configuré pour rendre clonable l’application source en chargeant l’exécutable de l’application source dans une première zone dédiée de l’espace mémoire du calculateur, et en configurant le système d’exploitation du calculateur pour allouer, à chaque application source et clone(s) :
- une période d’exécution et/ou une ressource dudit au moins un processeur distincte(s), et
- au moins une entrée distincte associée à un indicateur de comparaison,
- au moins une sortie distincte associée audit indicateur de comparaison ;
- ledit indicateur de comparaison est utilisé pour détecter le résultat de l’exécution de l’application source, et le résultat de l’exécution de ladite au moins une application clone, à comparer ;
- le système électronique est un système avionique.
L’invention a également pour objet un procédé de surveillance de l’exécution d’une application sur un calculateur électronique comprenant au moins un espace mémoire et une chaîne de traitement de donnée(s), la chaîne comprenant au moins :
- une entité de traitement d’entrée(s)/sorties du calculateur,
- au moins un processeur configuré pour exécuter au moins un programme logiciel appelé application,
- un système d’exploitation en interaction avec l’entité de traitement d’entrée(s)/sorties et ledit au moins un processeur, le procédé étant mis en œuvre par le calculateur électronique et comprenant les étapes suivantes :
- réception d’une requête externe, destinée audit au moins processeur, d’exécution d’une application source dont l’exécutable a été préalablement chargé au sein d’une première zone dédiée de l’espace mémoire dudit calculateur,
- instanciation d’au moins une application clone de l’application source en :
- dupliquant l’exécutable de l’application source pour créer l’exécutable de ladite au moins une application clone, - stockant l’exécutable de ladite au moins une application clone dans une deuxième zone de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source, et en
- générant une requête, interne au calculateur et destinée audit au moins un processeur, d’exécution de ladite au moins une application clone,
- exécution de l’application source et de ladite au moins une application clone indépendamment l’une de l’autre en utilisant ledit au moins un processeur,
- génération d’une sortie unique en fonction d’un résultat d’intégrité obtenu par comparaison du résultat de l’exécution de l’application source avec le résultat de l’exécution de ladite au moins une application clone.
L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé de surveillance de l’exécution d’une application sur un calculateur électronique tel que défini ci-dessus.
Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :
- [Fig 1] la figure 1 est une vue schématique des éléments matériels d’un système électronique selon la présente invention ;
- [Fig 2] la figure 2 est un organigramme d’un procédé de surveillance selon l’invention, le procédé étant mis en œuvre par le calculateur électronique du système électronique de la figure 1 .
Sur l’exemple de la figure 1 , le système électronique S selon la présente invention comprend un calculateur électronique C et un dispositif d’installation d’application(s) DIA. Par ailleurs, de manière optionnelle, notamment lorsque le calculateur est dédié à des applications graphiques, le système S comprend en outre un dispositif de restitution graphique DRG. En particulier, un tel système électronique S est un système avionique, notamment utilisé dans les architectures avioniques IMA (Integrated Modular Avionics).
D’un point de vue matériel, le calculateur électronique C correspond par exemple à une plateforme générique matérielle et logicielle (de l’anglais hardware et software) comprenant un ou plusieurs processeur(s) 12 CPU (de l’anglais Central Processing Unit), un module 14 de fourniture de sorties, et une ou plusieurs entité(s) 16 matérielles de traitement d’entrée(s)/sorties (I/O de l’anglais Input/output) du calculateur C, le module 14 de fourniture de sorties étant à la fois connecté au(x) processeur(s) et à la ou les entité(s) 16 matérielles de traitement d’entrée(s)/sorties. D’un point de vue logiciel, le calculateur C comprend en outre un système d’exploitation, non représenté, en interaction avec le ou les processeurs 12 et une ou plusieurs entité(s) 16 matérielles de traitement d’entrée(s)/sorties (I/O de l’anglais Input/output) du calculateur C.
Selon la présente invention, le dispositif d’installation d’application(s) DIA est configuré pour rendre clonable une application source au sein du calculateur électronique C, le caractère clonable de l’application source étant activable/désactivable en fonction du niveau d’intégrité souhaité de l’application source et/ou en fonction de la disponibilité d’un ou plusieurs processeur(s) 12 CPU (de l’anglais Central Processing Unit) processeur du calculateur électronique C.
Plus précisément, le dispositif d’installation d’application(s) DIA est configuré pour rendre clonable l’application source en chargeant l’exécutable de l’application source dans une première zone dédiée de l’espace mémoire du calculateur électronique C, et en configurant le système d’exploitation du calculateur électronique C pour allouer, à chaque application source et clone(s) :
- une période d’exécution et/ou une ressource du ou des processeur(s) 12 distincte(s), et
- au moins une entrée distincte associée à un indicateur de comparaison,
- au moins une sortie distincte associée à l’indicateur de comparaison.
Une telle allocation est transparente pour l’application source qui n’a aucune connaissance de cette allocation et de la comparaison ultérieure entre les résultats d’exécution de l’application source et de son clone.
Autrement dit, le dispositif d’installation d’application(s) DIA est à la fois responsable d’installer les applications, notamment clonables selon la présente invention, dans le calculateur électronique C, et de paramétrer le système d’exploitation du calculateur électronique C pour les faire fonctionner au sein du calculateur électronique C, et ce automatiquement et de manière transparente. L’application source et son clone sont en effet ensuite, selon la présente invention, exécutées par le calculateur électronique C de manière indépendante comme deux applications distinctes le seraient sur la chaîne de calcul du calculateur électronique C ce qui, à la fois, ne nécessite pas d’ajout de ressource matérielle, et est transparent pour la conception d’application(s).
En particulier, le dispositif d’installation d’application(s) DIA est propre à paramétrer la gestion des diverses entrées/sorties par le système d’exploitation pour allouer des entrées/sorties (en lecture comme en écriture) pour chaque instance source et clone d’une même application, et ce comme si il avait instancié deux applications différentes, à ceci près que le dispositif d’installation d’application(s) DIA indique dans la configuration de l’application rendue clonable que ses entrées/sorties sont des entrées/sorties d’applications identiques à savoir source et clone, afin que le calculateur électronique C détecte que l’application est rendue clonable et mette en œuvre un traitement adapté décrit ci -après.
Par ailleurs, le dispositif d’installation d’application(s) DIA est propre à vérifier que les contraintes spécifiques à la gestion d’application(s) clonable(s) sont bien respectées, ce qui revient à vérifier un ensemble de règles afin de garantir l’environnement d’exécution des application(s) clonable(s), et éviter d’éventuels effets de bord.
Selon l’illustration de la figure 1 , le dispositif d’installation DIA est distinct du calculateur électronique C c’est-à-dire en dehors du boîtier du calculateur électronique C (i.e. « désembarqué »).
Selon une variante non représentée, le dispositif d’installation DIA est embarqué, voire complément intégré, au sein du calculateur électronique C. Dans ce cas, le système électronique S comprend par exemple deux entités à savoir d’une part le calculateur électronique C embarquant le dispositif d’installation DIA, et d’autre part le dispositif de restitution graphique DRG.
Comme illustré par la figure 1, l’architecture du calculateur électronique C selon la présente invention est avantageusement une architecture de type simplex, c’est-à-dire à simple chaîne directe sans rebouclage ni duplication de ressource physique, et en particulier une architecture simplex IMA propre à garantir la non interférence d’une application donnée avec une autre application distincte.
Selon la présente invention, le calculateur électronique C, en présence d’une requête externe, destinée au processeur 12, d’exécution d’une application source dont l’exécutable a été préalablement chargé au sein d’une première zone dédiée de l’espace mémoire, non représenté, dudit calculateur électronique C, est au moins propre à :
- instancierau moins une application clone de l’application source en :
- dupliquant l’exécutable de l’application source pour créer l’exécutable de ladite au moins une application clone,
- stockant l’exécutable de ladite au moins une application clone dans une deuxième zone, non représentée, de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source, et en
- générant une requête, interne au calculateur et destinée au processeur, d’exécution de ladite au moins une application clone,
- exécuter l’application source et ladite au moins une application clone indépendamment l’une de l’autre en utilisant ledit processeur,
- générer une sortie unique en fonction d’un résultat d’intégrité obtenu par comparaison du résultat de l’exécution de l’application source avec le résultat de l’exécution de ladite au moins une application clone. Une telle duplication de l’application source lors de son exécution est transparente du point de vue de l’application source en tant que telle.
Selon un aspect particulier optionnel, afin de limiter les contraintes de niveau système du dispositif d’installation DIA comme du système électronique S, des points intrinsèques de synchronisation tels que, par exemple, divulgués au sein de la demande de brevet FR 2 742 015 A1 , sont utilisés dans l’implémentation du calculateur électronique C.
Pour ce faire, tel qu’illustré par la figure 1, le calculateur électronique C comprend un port d’entrée 18 connecté à un module 20 de gestion d’entrée (s) du ou des processeur(s) 12. Selon un aspect particulier, un tel module 20 de gestion d’entrée(s) du ou des processeur(s) 12 correspond à un serveur IO (connu en anglais sous le nom d’Input/Output server) d’un calculateur électronique d’un système avionique présentant une architecture IMA dont le rôle est classiquement tout autre, à savoir de factoriser la tâche d’acquisition des données, tout en en offrant une abstraction de la couche physique, puis de les mettre à disposition des applications consommatrices desdites données.
En présence d’une requête externe d’exécution d’une application source rendue clonable par le dispositif d’installation d’application(s) DIA et dont l’exécutable a été préalablement chargé (tel que représenté par la flèche), par le dispositif d’installation d’application(s) DIA, au sein d’une première zone dédiée de l’espace mémoire, non représentée, du calculateur électronique C, le module 20 de gestion d’entrée(s) du ou des processeur(s) 12 en interaction avec le système d’exploitation non représenté est propre à détecter que l’application source a été rendue clonable et en conséquence alloue deux entrées distinctes 22A et 22B en entrée d’une entité 24 de cœur(s) de processeur 12.
Plus précisément, l’entrée 22A est l’entrée allouée à l’application source et est associée à un premier indicateur de comparaison de l’application source permettant d’indiquer au processeur 12 que cette entrée 22A doit être utilisée pour exécuter l’application source. Similairement, l’entrée 22B est l’entrée allouée à l’application clone de l’application source et est associée à un deuxième indicateur de comparaison de l’application source permettant d’indiquer au processeur 12 que cette entrée 22B doit être utilisée pour exécuter l’application clone de l’application source.
Selon un aspect particulier le premier indicateur de comparaison et le deuxième indicateur de comparaison sont identiques et permettent uniquement d’identifier que les résultats d’exécution des applications associées à ces indicateurs via leur entrée (respectivement sortie) doivent être obligatoirement comparés.
En variante, le premier indicateur de comparaison et le deuxième indicateur de comparaison sont distincts, par exemple via un double indiçage, et permettent alors à la fois d’identifier que les résultats d’exécution des applications associées à ces indicateurs via leur entrée (respectivement sortie) doivent être obligatoirement comparés, et la traçabilité du chemin de ces résultats tout au long de la chaîne fonctionnelle du calculateur électronique C.
Que le premier indicateur de comparaison et le deuxième indicateur de comparaison soient distincts ou identiques, ils sont utilisés par la suite pour détecter le résultat de l’exécution de l’application source, et le résultat de l’exécution de ladite au moins une application clone, à comparer.
Selon l’exemple de la figure 1 , le calculateur C est une machine processeur multi- cœur comprenant un premier cœur 26 alloué selon la présente invention à l’exécution de l’application source 28 et un deuxième cœur 30 alloué à l’exécution de l’application clone 32.
Une telle entité 24 de cœur(s) de processeur 12 permet d’exécuter l’application source 28 et ladite au moins une application clone 32 indépendamment l’une de l’autre en utilisant ledit processeur 12 et, ce simultanément en parallèle.
Autrement dit, le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO, préalablement configuré via le dispositif d’installation d’application(s) DIA permet à deux applications, à savoir l’application source 28 et l’application clone 32 d’utiliser un même port d’entrée 18, alors que par nature, cela n’est classiquement pas possible/prévu pour certaines typologies d’entrée/sortie.
En particulier, l’entrée reçue au niveau du port d’entrée 18, par exemple, dite « échantillonnée » (dite « sampling » en anglais), où chaque nouvelle valeur d’entrée, plus récente, écrase la précédente sans que cela n’ait d’importance, et pouvant également être lue plusieurs fois, et/ou par plusieurs consommateurs, sans effet fonctionnel, le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO, est configuré pour préférentiellement dupliquer une telle entrée échantillonnée dans deux zones mémoires distinctes non représentées, une pour chaque application source 28 et clone 32.
En variante, une zone mémoire commune accessible pour exécuter chaque application source 28 et clone 32 est mise en œuvre selon un mode de réalisation dégradé car présentant dans certains cas des effets de bord potentiellement nuisible aux besoins d’intégrité requis.
Selon un autre exemple, pour une entrée, par exemple, dite « en file d’attente ou protocolaire » (dite « queuing » en anglais), où chaque nouvelle valeur d’entrée vient compléter la valeur d’entrée reçue précédemment, le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO, est configuré pour doubler complètement la logique de gestion de ce type d’entrée, ce qui inclut d’implémenter une logique de consommation d’une telle entrée complexe, indépendante pour chaque application source 28 et clone 32, et donc une double zone mémoire associée à une telle double logique de consommation (une logique de consommation associée à l’application source 28 et une logique de consommation associée à l’application clone).
Autrement dit, pour cette exemple d’entrée « en file d’attente ou protocolaire », le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO, est configuré pour, d’une part implémenter pour l’application source 28, une première logique de gestion et de consommation de séquence de valeurs de cette entrée « en file d’attente ou protocolaire » reçue du monde extérieur, via le port d’entrée 18, afin de garantir que chaque message est bien reçu, et ce dans le bon ordre, par l’application source 28 consommatrice, et pour d’autre part, implémenter pour l’application clone 32 une deuxième logique de gestion et de consommation de séquence de valeurs de cette même entrée « en file d’attente ou protocolaire » reçue du monde extérieur, via le port d’entrée 18, afin de garantir que chaque message est bien reçu, et ce dans le bon ordre, par l’application clone 32 consommatrice.
Ainsi, le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO permet, à partir d’une unique entrée reçue via le port d’entrée 18, une adaptation automatique et transparente des données/entrées consommées respectivement par l’application source 28 et par l’application clone 32.
Il est à noter que selon la présente invention, le module 20 de gestion d’entrée(s), correspondant notamment à un serveur IO, est uniquement dédié à la gestion des entrées associées à chaque application source 28 et clone 32, et n’intervient pas pour la gestion du résultat 34A de l’exécution de l’application source 28 et du résultat 34B de l’exécution de l’application clone 32.
Selon une première alternative, non représentée, le processeur 12 est monocoeur, et l’exécution de l’application source et de l’application clone sont sérialisées et exécutées indépendamment l’une de l’autre en utilisant des périodes d’exécution distinctes.
Selon une deuxième alternative, non représentée, le calculateur électronique C comprend une pluralité de processeurs distincts et complètement indépendants les uns des autres, et l’exécution de l’application source et de l’application clone sont mises en œuvre en parallèle sur chacun de ces processeurs distincts et indépendamment l’une de l’autre comme deux applications distinctes le seraient sur la chaîne de calcul du calculateur.
Selon une troisième alternative, non représentée, le processeur 12 du calculateur électronique C correspond à une infrastructure logicielle à base d’au moins deux machine(s) virtuelle(s) avec des capacités d’indépendance de ces machines virtuelles, deux machines virtuelles distinctes et indépendante hébergeant alors selon l’invention l’exécution de l’application source sur une première machine virtuelle et l’exécution de l’application.
Quelle que soit l’alternative, il est à noter que selon la présente invention, les ressources matérielles ne sont pas multipliées/augmentées pour des besoins d’intégrité car l’invention consiste au contraire à optimiser leur utilisation pour exécuter une application clone d’une application source comme deux applications distinctes seraient normalement exécutées, le caractère clonable de l’application source étant avantageusement activable/désactivable selon la présente invention en fonction du niveau d’intégrité souhaité de l’application source et/ou en fonction de la disponibilité des ressources de calcul.
Selon l’exemple de la figure 1 , notamment basé pour implémentation au sein d’une architecture avionique IMA (Integrated Modular Avionics), le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de l’application clone 32 sont ensuite transmis par l’entité 24 de cœur(s) de processeur 12 au module 14 de fourniture de sorties qui succède au processeur 12 dans la chaîne fonctionnelle d’exécution du calculateur électronique C.
Selon la présente invention, comme configuré par le dispositif d’installation DIA, le résultat 34A de l’exécution de l’application source 28 est la sortie allouée à l’application source et est associée à un premier indicateur de comparaison de l’application source permettant d’indiquer aux éléments suivants le processeur 12 dans la chaîne de calcul du calculateur électronique C que ce résultat 34A doit être associé à l’application source. Similairement, le résultat 34B de l’exécution de l’application clone 32 est la sortie allouée à l’application clone de l’application source et est associée à un deuxième indicateur de comparaison de l’application source permettant d’indiquer aux éléments suivants le processeur 12 dans la chaîne de calcul du calculateur électronique C que ce résultat 34B doit être associé à l’application clone.
Comme indiqué précédemment, que le premier indicateur de comparaison et le deuxième indicateur de comparaison soient distincts ou identiques, ils sont utilisés par la suite pour détecter le résultat 34A de l’exécution de l’application source, et le résultat 34B de l’exécution de ladite au moins une application clone, à comparer, notamment après un traitement préalable de mise en forme par le module 14 de fourniture de sorties.
En particulier, le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de l’application clone 32 sont transmis en entrée du pilote 36 d’entrée/sortie du module 14 de fourniture de sorties, qui les transmet, optionnellement accompagnées d’autres données diverses et prédéterminées, au sein d’un canal de transmission 38 à destination d’un outil d’interface et de gestion 40 d’entrée/sortie lui-même configuré, notamment selon une architecture avionique IMA, pour fournir deux ensembles de données 42B et 42A distincts et indépendant, de forme adaptée au besoin de l’entité de traitement d’entrée(s)/sortie(s) 16 et non dépendante de contrainte(s) liée(s) à l’exécution de l’application source 28 ou à l’exécution de l’application clone 32, et respectivement associés au résultat 34A de l’exécution de l’application source 28 et au résultat 34B de l’exécution de l’application clone 32 B, en entrée d’un comparateur 44 indépendant du processeur 12 (par indépendant ici on entend que le comparateur 44 est physiquement distinct du processeur (i.e. en dehors du processeur) mais, comme illustré dans la figure 1 , intégrable au sein du même produit à savoir le calculateur électronique C, voire sur la même carte électronique que celle où est localisée le processeur 12.
Préférentiellement, tel qu’illustré par la figure 1, le comparateur 44 est intégré au sein de l’entité de traitement d’entrée(s)/sortie(s) 16 distincte dudit processeur 12, et correspond à un comparateur modifié, par rapport au comparateur déjà présent au sein de l’entité de traitement d’entrée(s)/sortie(s) 16 existante, pour les besoins de l’invention, de sorte à être spécifiquement configuré pour comparer le résultat de deux applications résultant d’un clonage d’application. Il est à noter que la modification d’un tel comparateur ne modifie pas l’architecture existante du calculateur électronique C, ni celle de l’entité de traitement d’entrée(s)/sortie(s) 16 existante. Ainsi, l’implémentation matérielle selon l’invention de la comparaison du résultat 34A de l’exécution de l’application source 28 et du résultat 34B de l’exécution de l’application clone 32 n’implique pas de ressources supplémentaires.
Autrement dit, selon la présente invention le comparateur 44 met en œuvre de manière autonome une comparaison sans connaissance des applications et de leur fonction et en utilisant des ressources différentes de celles utilisées par les applications, l’indicateur de comparaison permettant uniquement de détecter que le résultat de deux applications distinctes sont à comparer mais ne permettant pas au comparateur 44 indépendant d’identifier que ces deux résultats ont été obtenus à partir d’une application source et de son clone. Autrement dit, l’indicateur de comparaison indique que deux applications sont à comparer, mais ne permet pas au comparateur 44 d’identifier la nature de l’application. Le comparateur 44, indépendant du processeur 12, met en œuvre une telle comparaison comme s’il comparait le résultat d’exécution de deux applications distinctes X et Y (i.e. les applications X et Y sont « non clones » l’une de l’autre), c’est-à-dire sans connaissance des applications, de leur fonction, ni selon la présente invention de leur caractère clonable. L’application source rendue clonable n’a parallèlement aucune « conscience » du fait qu’elle est rendue clonable par le dispositif d’installation DIA, ni connaissance de la comparaison de son résultat d’exécution avec celui de son clone. Un tel comparateur 44 correspond à une cellule de validation de sortie permettant la génération d’une sortie unique vers le monde extérieur au calculateur électronique C, une telle sortie associée à l’exécution de l’application source rendue clonable étant avantageusement selon la présente invention plus intègre.
En effet, en cas d’incohérence entre le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de ladite au moins une application clone 32, la sortie unique correspond à une commande de sanction dudit au moins un processeur 12. De plus, en cas de cohérence entre le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de ladite au moins une application clone 32, la sortie unique correspond au résultat de l’exécution de l’application source ou au résultat de l’exécution de ladite au moins une application clone (i.e. le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone sont fusionnés en une sortie unique).
Autrement dit, le comparateur 44 est dédié à la comparaison du résultat 34A de l’exécution de l’application source 28 avec le résultat 34B de l’exécution de ladite au moins une application clone 32, ladite comparaison délivrant un résultat d’intégrité, et à la génération de ladite sortie unique en fonction du résultat d’intégrité, ledit comparateur 44 étant configuré pour appliquer ladite commande de sanction en cas d’incohérence entre le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone.
Pour ce faire, le comparateur 44 comprend, par exemple tel qu’illustré sur la figure 1 , au moins deux processeurs de signature 46 et 48. Le processeur de signature 46 est, selon l’exemple de la figure 1, dédié à la signature de l’ensemble de donnée 42A associé au résultat 34A de l’exécution de l’application source 28, tandis que le processeur de signature 48 est dédié à la signature de l’ensemble de donnée 42B associé au résultat 34B de l’exécution de l’application clone 32.
Les signatures générées par chacun des processeurs de signature 46 et 48, respectivement associés à l’application source 28 et à l’application clone 32, sont fournies à un comparateur de signature 50 délivrant le résultat d’intégrité précédemment mentionné, à savoir correspondant à une incohérence entre les deux signatures ou une cohérence entre ces deux signatures. Un tel résultat d’intégrité est ensuite traité par un filtre de sanction 52 propre à détecter la nature du résultat d’intégrité à savoir cohérent ou incohérent.
Un tel filtre de sanction 52 du comparateur 44 est configuré pour transmettre à l’outil d’interface et de gestion 40 du module 14 de fourniture de sorties le statut 54 du filtrage opéré. En fonction de ce statut 54, l’outil d’interface et de gestion 40 du module 14 de fourniture de sorties génère la sortie unique 56 correspondant à : une commande de sanction en cas d’incohérence entre le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de ladite au moins une application clone 32, ou au résultat de l’exécution de l’application source ou au résultat de l’exécution de ladite au moins une application clone en cas de cohérence entre le résultat 34A de l’exécution de l’application source 28 et le résultat 34B de l’exécution de ladite au moins une application clone 32.
Comme indiqué précédemment, le comparateur 44 est intégré au sein de l’entité de traitement d’entrée(s)/sortie(s) 16 distincte dudit processeur 12, et correspond à un comparateur déjà présent au sein d’entité de traitement d’entrée(s)/sortie(s) 16 existante, la gestion de sanction (i.e. le mécanisme de gestion des erreurs au sein de la chaîne fonctionnelle du calculateur électronique C) selon la présente invention ne requiert donc pas de ressources supplémentaires et permet de conserver une architecture simplex.
Cette sortie unique 56 est fournie par l’outil d’interface et de gestion 40 au « monde extérieur » via une conduite 58 de traitement de sortie(s), et notamment lorsque l’application source 28 est une application graphique au dispositif de restitution graphique DRG.
On comprend donc au vu de la description précédente, qu’une application rendue clonable ne porte aucune contrainte imposée par le système électronique S comprenant le dispositif d’installation d’application DIA et le calculateur électronique C selon l’invention.
Le fonctionnement du calculateur électronique C, selon un exemple de mode de réalisation de l’invention, va être à présent décrit à l’aide de la figure 2 illustrant un organigramme du procédé P de surveillance de l’exécution d’une application mis en œuvre automatiquement par le calculateur électronique C.
Selon une première étape R, le calculateur électronique C réceptionne une requête externe, destinée audit au moins processeur 12, d’exécution d’une application source dont l’exécutable a été préalablement chargé, notamment par le dispositif d’installation DIA, au sein d’une première zone dédiée de l’espace mémoire dudit calculateur électronique C.
Selon une deuxième étape G-C, le calculateur électronique C instancie au moins une application clone de l’application source en dupliquant l’exécutable de l’application source pour créer l’exécutable de ladite au moins une application clone, et en stockant l’exécutable de ladite au moins une application clone dans une deuxième zone de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source, et en générant une requête, interne au calculateur électronique C et destinée audit au moins un processeur 12, d’exécution de ladite au moins une application clone. Selon une troisième étape E, le calculateur électronique C, exécute l’application source 28 et ladite au moins une application clone 32 indépendamment l’une de l’autre en utilisant par exemple tel qu’illustré sur la figure 1 respectivement le premier cœur 26 et le deuxième cœur 28 du processeur 12.
Selon une dernière étape G-O, le calculateur électronique C génère une sortie unique en fonction d’un résultat d’intégrité obtenu par comparaison, notamment via le comparateur 44 de la figure 1 , du résultat de l’exécution de l’application source 28 avec le résultat de l’exécution de ladite au moins une application clone 32.
On conçoit ainsi que le calculateur électronique C, comme le système électronique S le comprenant ainsi que le dispositif d’installation d’application(s) DIA et le procédé selon l’invention, augmentent l’intégrité d’exécution d’une application, et par sa structure est propre à intégrer les évènements transitoires tel que les évènements singuliers SEE (de l’anglais Single event effect associé à l’environnement radiatif des composants matériels du calculateur électronique C (neutrons, radiations)). Pour ce faire, la présente invention utilise astucieusement, comme indiqué précédemment, des propriétés, notamment IMA, de garantie d’une ségrégation spatiale et/ou temporelle et d’indépendance totale des multiples applications propres à être hébergées sur le calculateur électronique C. Autrement dit, l’infrastructure du calculateur électronique C telle que configurée par le dispositif d’installation DIA garantit la pleine et entière indépendance d’exécution de l’application source et de son clone.
Pour ce faire, le calculateur électronique C, configuré au moyen du dispositif d’installation DIA, est propre d’une part à multi-exécuter de manière autonome (i.e. automatiquement sans intervention humaine) une même application rendue clonable sur deux ressources spatialement et/ou temporellement différentes et ce en limitant au maximum l’usage identique de ressources communes, puis d’autre part à contrôler, au moyen d’un comparateur 44 indépendant du processeur 12, la cohérence de cette exécution multiple d’une même application, et en cas d’incohérence à sanctionner l’activité du processeur 12, afin d’éviter toute propagation du résultat d’exécution de l’application rendue clonable.
Une telle exécution multiple et un tel contrôle sont transparents pour l’application rendue clonable, car vu de l’extérieur (i.e. du « monde extérieur ») du calculateur électronique C, une seule entrée est fournie et une seule sortie est délivrée de manière strictement identique à ce qui est obtenu pour une exécution simplex actuelle d’application, mais avantageusement selon la présente invention la sortie unique associée à l’application rendu clonable est plus intègre. En outre, la présente invention offre une solution robuste du mécanisme d’intégrité pour couvrir, localiser et identifier des pannes permanentes ou transitoires ne se produisant que lors de l’exécution d’application. Selon la présente invention, pour créer un erroné non détecté lors de l’exécution d’une application rendue clonable (i.e. lorsque l’application est à haut besoin d’intégrité) deux à trois pannes distinctes sont désormais nécessaires contre parfois une seule avec un calculateur électronique C classique. En effet, la possibilité d’une panne en mode commun entre l’exécution de l’application source et l’exécution de l’application clone est rendue négligeable voire supprimée grâce à l’architecture spécifique précitée mise en œuvre selon la présente invention pour rendre indépendante ces deux exécutions. En outre, la non détection d’un erroné implique un erroné au sein de deux entités physiques distinctes du calculateur électronique C selon la présente invention à savoir le processeur 12 et l’entité de traitement d’entrée(s)/sortie(s) 16 comprenant le comparateur 44, et non un erroné ou plusieurs au sein d’une même entité physique d’un calculateur électronique C classique. Selon la présente invention l’augmentation d’intégrité d’une application est configurable et modulable, ce qui permet une réutilisabilité élevée, par exemple d’un porteur à l’autre dans un contexte avionique. En effet, le caractère clonable d’une application est aisément activable/désactivable par le dispositif d’installation d’application DIA propre à optimiser, en fonction de cette activation, les ressources disponibles pour les applications (100% des ressources physiquement présentes sont utilisables, en toute transparence et sans évolution, pour les applications). Ainsi, il n’y a pas de ressources complètement dédiées à l’augmentation d’intégrité puisque lorsque le caractère clonable d’une application n’est pas activé (i.e. lorsqu’un haut besoin d’intégrité n’est pas nécessaire pour cette application) les ressources allouables à un clone sont libres et utilisables pour d’autres applications.
Comme indiqué précédemment, l’architecture simplex du calculateur électronique C selon la présente invention est conservée afin d’en limiter l’encombrement, poids et puissance (de l’anglais SWaP pour Size, Weight and Power) et la solution selon la présente invention est propre à être intégrée avec un faible impact sur une architecture simplex conforme à une architecture existante, voire existante, par la configuration mise en œuvre par le dispositif d’installation DIA.

Claims

REVENDICATIONS
1. Calculateur (C) électronique comprenant au moins un espace mémoire et une chaîne de traitement de donnée(s), la chaîne comprenant au moins :
- une entité (16) de traitement d’entrée(s)/sorties du calculateur,
- au moins un processeur (12) configuré pour exécuter au moins un programme logiciel appelé application,
- un système d’exploitation en interaction avec l’entité de traitement d’entrée(s)/sorties et ledit au moins un processeur, caractérisé en ce que le calculateur électronique (C), en présence d’une requête externe, destinée audit au moins un processeur (12), d’exécution d’une application source (28) dont l’exécutable a été préalablement chargé au sein d’une première zone dédiée de l’espace mémoire dudit calculateur (C), est au moins propre à :
- instancierau moins une application clone (32) de l’application source (28) en :
- dupliquant l’exécutable de l’application source (28) pour créer l’exécutable de ladite au moins une application clone (32),
- stockant l’exécutable de ladite au moins une application clone (32) dans une deuxième zone de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source (28), et en
- générant une requête, interne au calculateur (C) et destinée audit au moins un processeur (12), d’exécution de ladite au moins une application clone (32),
- exécuter l’application source (28) et ladite au moins une application clone (32) indépendamment l’une de l’autre en utilisant ledit au moins un processeur (12),
- générer une sortie unique (56) en fonction d’un résultat d’intégrité obtenu par comparaison du résultat de l’exécution de l’application source (28) avec le résultat de l’exécution de ladite au moins une application clone (32).
2. Calculateur (C) électronique selon la revendication 1 , dans lequel :
- en cas d’incohérence entre le résultat de l’exécution de l’application source (28) et le résultat de l’exécution de ladite au moins une application clone (32), la sortie unique (56) correspond à une commande de sanction dudit au moins un processeur (12), ou,
- en cas de cohérence entre le résultat de l’exécution de l’application source (28) et le résultat de l’exécution de ladite au moins une application clone (32), la sortie unique (56) correspond au résultat de l’exécution de l’application source (28) ou au résultat de l’exécution de ladite au moins une application clone (32).
3. Calculateur (C) électronique selon la revendication 2, dans lequel le calculateur (C) comprend un comparateur (44) indépendant dudit au moins un processeur (12), le comparateur (44) étant dédié à :
- ladite comparaison du résultat de l’exécution de l’application source (28) avec le résultat de l’exécution de ladite au moins une application clone (32) délivrant ledit résultat d’intégrité, et
- la génération de ladite sortie unique (56) en fonction dudit résultat d’intégrité, ledit comparateur (56) étant configuré pour appliquer ladite commande de sanction en cas d’incohérence entre le résultat de l’exécution de l’application source et le résultat de l’exécution de ladite au moins une application clone (32).
4. Calculateur (C) électronique selon la revendication 3, dans lequel le comparateur (44) est intégré au sein de l’entité (16) de traitement d’entrée(s)/sortie(s) distincte dudit processeur.
5. Système électronique (S) comprenant au moins un calculateur (C) électronique selon l’une quelconque des revendications précédentes, et un dispositif (DIA) d’installation d’application(s) configuré pour rendre clonable l’application source (28) au sein du calculateur (C), le caractère clonable de l’application source (28) étant activable/désactivable en fonction du niveau d’intégrité souhaité de l’application source (28) et/ou en fonction de la disponibilité dudit au moins un processeur (12) du calculateur (C).
6. Système électronique (S) selon la revendication 5, dans lequel le dispositif d’installation (DIA) est configuré pour rendre clonable l’application source (28) en chargeant l’exécutable de l’application source (28) dans une première zone dédiée de l’espace mémoire du calculateur, et en configurant le système d’exploitation du calculateur (C) pour allouer, à chaque application source (28) et clone(s) (32) :
- une période d’exécution et/ou une ressource dudit au moins un processeur (12) distincte(s), et
- au moins une entrée distincte (22A, 22B) associée à un indicateur de comparaison,
- au moins une sortie distincte (34A, 34B) associée audit indicateur de comparaison.
7. Système électronique (S) selon la revendication 6, dans lequel ledit indicateur de comparaison est utilisé pour détecter le résultat de l’exécution de l’application source (28), et le résultat de l’exécution de ladite au moins une application clone (32), à comparer.
8. Système électronique (S) selon l’une quelconque des revendications 5 à 7 dans le lequel le système électronique (S) est un système avionique.
9. Procédé (P) de surveillance de l’exécution d’une application sur un calculateur (C) électronique comprenant au moins un espace mémoire et une chaîne de traitement de donnée(s), la chaîne comprenant au moins :
- une entité (16) de traitement d’entrée(s)/sorties du calculateur (C),
- au moins un processeur (12) configuré pour exécuter au moins un programme logiciel appelé application,
- un système d’exploitation en interaction avec l’entité (16) de traitement d’entrée(s)/sorties et ledit au moins un processeur, le procédé (P) étant mis en œuvre par le calculateur électronique (C) et comprenant les étapes suivantes :
- réception (R) d’une requête externe, destinée audit au moins processeur, d’exécution d’une application source dont l’exécutable a été préalablement chargé au sein d’une première zone dédiée de l’espace mémoire dudit calculateur,
- instanciation (G-C) d’au moins une application clone de l’application source en :
- dupliquant l’exécutable de l’application source pour créer l’exécutable de ladite au moins une application clone,
- stockant l’exécutable de ladite au moins une application clone dans une deuxième zone de l’espace mémoire distincte de la première zone mémoire dédiée à l’application source, et en
- générant une requête, interne au calculateur et destinée audit au moins un processeur, d’exécution de ladite au moins une application clone,
- exécution (E) de l’application source et de ladite au moins une application clone indépendamment l’une de l’autre en utilisant ledit au moins un processeur,
- génération (G-O) d’une sortie unique en fonction d’un résultat d’intégrité obtenu par comparaison du résultat de l’exécution de l’application source avec le résultat de l’exécution de ladite au moins une application clone.
10. Programme d’ordinateur comportant des instructions logicielles qui lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé de surveillance de l’exécution d’une application sur un calculateur électronique (C) selon la revendication 9.
EP21703941.1A 2020-02-14 2021-02-12 Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé Pending EP4104056A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2001472A FR3107369B1 (fr) 2020-02-14 2020-02-14 Calculateur electronique, systeme electronique, procede de surveillance de l'execution d'une application et programme d'ordinateur associe
PCT/EP2021/053422 WO2021160783A1 (fr) 2020-02-14 2021-02-12 Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé

Publications (1)

Publication Number Publication Date
EP4104056A1 true EP4104056A1 (fr) 2022-12-21

Family

ID=72088194

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21703941.1A Pending EP4104056A1 (fr) 2020-02-14 2021-02-12 Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé

Country Status (4)

Country Link
US (1) US12007858B2 (fr)
EP (1) EP4104056A1 (fr)
FR (1) FR3107369B1 (fr)
WO (1) WO2021160783A1 (fr)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2742015B1 (fr) 1995-12-01 1998-01-09 Sextant Avionique Procede de securisation d'une action et dispositif de mise en oeuvre
US6854051B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Cycle count replication in a simultaneous and redundantly threaded processor
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7933966B2 (en) * 2005-04-26 2011-04-26 Hewlett-Packard Development Company, L.P. Method and system of copying a memory area between processor elements for lock-step execution
US7941698B1 (en) * 2008-04-30 2011-05-10 Hewlett-Packard Development Company, L.P. Selective availability in processor systems
US10331529B2 (en) * 2017-03-15 2019-06-25 International Business Machines Corporation Maintaining system reliability in a CPU with co-processors

Also Published As

Publication number Publication date
FR3107369A1 (fr) 2021-08-20
US20230153212A1 (en) 2023-05-18
WO2021160783A1 (fr) 2021-08-19
US12007858B2 (en) 2024-06-11
FR3107369B1 (fr) 2022-02-25

Similar Documents

Publication Publication Date Title
US10831933B2 (en) Container update system
FR2936068A1 (fr) Procede et dispositif d'encapsulation d'applications dans un systeme informatique pour aeronef.
EP2962242B1 (fr) Procede de detection d'attaques de machines virtuelles
WO2015189519A1 (fr) Procédé de supervision de la sécurité d'une machine virtuelle dans une architecture d'informatique dans le nuage
EP3399720B1 (fr) Procédé et dispositif électronique de surveillance d'une application logicielle avionique, programme d'ordinateur et système avionique associés
FR2982386A1 (fr) Procede, programme d'ordinateur et dispositif d'allocation de ressources informatiques d'un cluster pour l'execution d'un travail soumis audit cluster
EP2460071A2 (fr) Traitement automatisé de données multi-usages, mettant en oeuvre des fonctions ayant besoin de différents niveaux de sûreté ou limites de responsabilité
WO2017106718A1 (fr) Procédé et appareil pour une exécution de processus de flux de travail distribués
FR2946769A1 (fr) Procede et dispositif de reconfiguration d'avionique.
FR2972821A1 (fr) Procede et dispositif d'installation/desinstallation de modules logiciels, avec resolution centralisee de contraintes, dans des equipements d'aeronef
EP3494475B1 (fr) Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
EP3204867B1 (fr) Système embarqué sur puce à haute sûreté de fonctionnement
FR2963121A1 (fr) Procede et dispositif de protection de commandes logicielles dans un cockpit d'aeronef
EP3819767B1 (fr) Procédé et dispositif électronique de surveillance d'une application logicielle avionique via des compteurs d'appel(s) système, programme d'ordinateur et système avionique associés
US11675602B2 (en) Methods and systems for creating root-of-trust for computing system components
EP4104056A1 (fr) Calculateur électronique, système électronique, procédé de surveillance de l'exécution d'une application et programme d'ordinateur associé
WO2012110445A1 (fr) Dispositif pour accélérer l'exécution d'une simulation system c
US11789512B2 (en) Increased data storage throttling during power failure
WO2016034447A1 (fr) Système embarqué mettant en oeuvre des fonctions avioniques critiques
FR2973131A1 (fr) Procede et dispositif de detection d'incompatibilites d'interfaces logiques d'equipements de systemes embarques
EP3729273B1 (fr) Systeme et procede d'elaboration et d'execution de tests fonctionnels pour grappe de serveurs
EP3392768B1 (fr) Procédé et dispositif électronique de vérification d'une configuration de partitionnement, programme d'ordinateur associé
EP3502949A1 (fr) Procédé et système de contrôle d'ordonnancement de tâches logicielles
CA2778576C (fr) Procede et dispositif de traitement de taches optimise pour un fws
FR2806498A1 (fr) Systeme informatique de calcul et procede de calcul mis en oeuvre au moyen d'un tel systeme

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220811

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230425