FR2962619A1 - Dispositif d'acces a des donnees a bord d'un aeronef - Google Patents

Dispositif d'acces a des donnees a bord d'un aeronef Download PDF

Info

Publication number
FR2962619A1
FR2962619A1 FR1002893A FR1002893A FR2962619A1 FR 2962619 A1 FR2962619 A1 FR 2962619A1 FR 1002893 A FR1002893 A FR 1002893A FR 1002893 A FR1002893 A FR 1002893A FR 2962619 A1 FR2962619 A1 FR 2962619A1
Authority
FR
France
Prior art keywords
data
server
facade
facades
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1002893A
Other languages
English (en)
Other versions
FR2962619B1 (fr
Inventor
Jean Arnaud Causse
Pierre Gamet
Sylvain Yan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR1002893A priority Critical patent/FR2962619B1/fr
Priority to US13/178,260 priority patent/US8392534B2/en
Priority to GB1111770.2A priority patent/GB2481920B/en
Priority to RU2011128448/12A priority patent/RU2566939C2/ru
Publication of FR2962619A1 publication Critical patent/FR2962619A1/fr
Application granted granted Critical
Publication of FR2962619B1 publication Critical patent/FR2962619B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un dispositif (100) d'accès à des données par des clients (101) à bord d'un aéronef, chacun des clients (101) étant associé une application avionique (102). Chacun des clients (101) comporte une façade (103) permettant l'accès aux données stockées sur le serveur aux applications avioniques (102) La façade (103) comprend : - des moyens pour la souscription d'une application avionique (102) à un abonnement à une modification d'une donnée, - des moyens pour filtrer les notifications émises par le serveur de données en fonction des abonnements de l'application avionique (102), et pour avertir l'application avionique (102) d'une modification d'une donnée à laquelle elle est abonnée.

Description

Dispositif d'accès à des données à bord d'un aéronef L'invention concerne l'accès à des bases de données à bord d'un aéronef. Selon l'art connu, le stockage de données à bord d'un aéronef est réalisé sur différentes bases de données embarquées. Chaque système avionique est responsable des données qu'il exploite. Cette répartition des données simplifie la conception de chaque système, mais a pour inconvénients : la multiplication des bases de données, la duplication des données entre différents systèmes avec des risques d'incohérences, une consommation importante de l'espace de stockage sans possibilité de factorisation et une complexification des opérations de mise à jour de ces bases de données. On connaît déjà des dispositifs de type DDS (pour Data Distribution Service) permettant de communaliser les bases de données pour les mettre en partage (gain en cohérence, facilité de maintenance et de développement des applications, optimisation dans l'utilisation des bases de données, etc.). Ces dispositifs permettent une indépendance des applications clientes vis-à-vis de la fourniture des données et de leur localisation. Cependant, de tels dispositifs sont mis en application uniquement au sol, car ils ne répondent pas aux contraintes spécifiques du domaine avionique. En effet les réseaux avioniques, par exemple de type AFDX (pour Avionics Full DupleX), ne sont pas conçus pour du transactionnel, mais plutôt adaptés au « broadcast » c'est-à-dire à la diffusion d'informations depuis un émetteur vers plusieurs récepteurs. Ceci pose problème en particulier pour la gestion des accès à des données semi- statiques, c'est-à-dire des données pouvant être modifiées. L'utilisation directe d'un dispositif de type DDS au domaine avionique n'est donc pas envisageable. L'invention vise à pallier les problèmes cités précédemment en proposant un dispositif d'accès à des données, en particulier des données semi-statiques, à bord d'un aéronef par des applications avioniques indépendamment de la localisation du stockage des données et avec des qualités de service étendues telles que la tolérance aux pannes ou la répartition de la charge.
A cet effet, l'invention a pour objet un dispositif d'accès à des données par des clients à bord d'un aéronef, chacun des clients étant associé une application avionique, lesdites données étant stockées sur au moins un serveur de données embarqué à bord de l'aéronef, lesdites données étant accessibles en écritures et pouvant être modifiées, caractérisé en ce que le serveur comporte des moyens pour notifier à l'ensemble des clients des modifications sur les données qu'il stocke, et en ce que chacun des clients comporte une façade permettant 10 l'accès aux données stockées sur le serveur aux applications avioniques, ladite façade comprenant : des moyens pour la souscription d'une application avionique à un abonnement à une modification d'une donnée, des moyens pour filtrer les notifications émises par le serveur de données 15 en fonction des abonnements de l'application avionique, et pour avertir l'application avionique d'une modification d'une donnée à laquelle elle est abonnée. L'invention a pour avantage d'être plus adapté à un réseau AFDX utilisant notamment des canaux virtuels (Virtual Link) c'est-à-dire comportant 20 un émetteur et plusieurs récepteurs. Cette solution tire donc partie de la capacité de diffusion (ou multicast) de l'AFDX. Le serveur diffuse une notification à chaque modification de la base semi-statique. Les façades ont en charge de traiter ces notifications et de ne remonter que celles pertinentes (c'est-à-dire correspondant aux abonnements) vers le client applicatif. 25 Ceci a aussi pour avantage de décharger les serveurs de la gestion des abonnements qui traitent uniquement de la publication des évènements. Ainsi, les serveurs ne sont pas surchargés avec un algorithme de filtrage d'émission des événements, ni de gestion des abonnements. Ceci a aussi pour avantage de simplifier, au niveau des serveurs, 30 le traitement lors du redémarrage d'un client applicatif. Au démarrage, une application s'abonne auprès d'une façade aux changements d'état des données semi-statiques auxquelles elle s'intéresse. Ces abonnements sont conservés et gérés uniquement au niveau de la façade. Le choix de conserver les abonnements seulement au niveau des façades évite de devoir 35 traiter au niveau du serveur les cas de relance de clients applicatifs. En effet, si les abonnements étaient gérés au niveau du serveur, il serait nécessaire de répercuter la disparition de chaque client dans la base des abonnements. De plus en cas de réplicas de serveurs, il serait nécessaire de dupliquer les abonnements sur les différents serveurs et d'en vérifier la cohérence. En cas de relance d'un client applicatif, la façade perd l'ensemble des abonnements. Au redémarrage, le client s'abonne à nouveau auprès de la façade. L'utilisation d'un intermédiaire (une façade) entre une application avionique et les serveurs (dans le cas où les données sont réparties sur plusieurs serveurs) permet de masquer à cette application avionique la localisation physique des données. Cette solution est compatible avec l'utilisation de serveurs redondants qui garantissent un accès aux données contre un certain niveau de panne. Selon un mode de réalisation préféré de l'invention, les façades sont réparties entre au moins un premier et un deuxième groupe, le premier groupe recevant directement les notifications de modifications sur les données émises par le serveur, les façades appartenant au premier groupe comportant en outre des moyens pour émettre lesdites notifications de modifications de données aux façades appartenant au deuxième groupe, l'émission des notifications vers les façades du deuxième groupe étant effectuée après que lesdites notifications ont été filtrées et transmises aux applications avioniques associées aux clients des façades du premier groupe. Le premier groupe a pour mission de retransmettre les notifications vers un deuxième groupe et ainsi de suite en cascade vers d'éventuels autres groupes.
Cette caractéristique a pour avantage de protéger le dispositif selon l'invention contre un message tueur. Un message tueur est une notification comportant une anomalie qui a pour conséquence, lorsqu'elle est reçue et traitée par une application cliente, de provoquer un dysfonctionnement voire un arrêt complet de celle-ci. Une diffusion massive d'un tel message est donc très préjudiciable aux systèmes de vol utilisant les applications avioniques. En ne diffusant pas les notifications vers toutes les façades en même temps, mais seulement à destination d'un premier groupe, on limite l'impact néfaste du message. En cas de message tueur, le premier groupe de façade tomberait, mais sans contaminer les groupes suivants.
L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description détaillée faite à titre d'exemple non limitatif et à l'aide des figures parmi lesquelles : La figure 1 représente un exemple de mise en oeuvre du dispositif 5 d'accès aux données selon l'invention. La figure 2 représente le fonctionnement interne d'une façade. La figure 3 représente un exemple du déroulement d'une mise à jour d'une donnée avec le dispositif selon l'invention. La figure 4 représente un exemple du déroulement d'une mise à 10 jour d'une donnée dans un mode de réalisation préféré de l'invention. Dans le dispositif d'accès à des données à bord d'un aéronef selon l'invention, les données sont stockées sur des bases de données centralisées hébergées sur au moins un serveur (ADBS1). Pour satisfaire aux contraintes avioniques, ce serveur est 15 matériellement redondé par un ou deux répliquas. Le serveur héberge des données, dites semi-statiques, pouvant être modifiées. Autrement dit, les bases de données sont ouvertes non seulement à la lecture, mais aussi à l'écriture. La figure 1 représente un exemple de mise en oeuvre du dispositif 20 d'accès aux données selon l'invention. Le dispositif comprend un premier serveur ADBS1 et un second serveur ADBS2 répliquant les données du premier serveur ADBS1 pour assurer une redondance. Le dispositif comprend aussi au moins un client 101. Chacune des applications nécessitant un accès aux données est associée à un client 101 qui lui est 25 propre. Un client 101 comporte une façade 103 qui est un intermédiaire entre une application avionique 102 et un (ou des) serveur(s) pour l'accès aux données. Une application avionique 102 nécessite un accès en lecture et/ou en écriture aux données stockées sur le serveur par exemple des données de navigation aérienne, de plan de Vol, de Météo ou des NOTAMs. Le rôle 30 de la façade 103 est donc d'offrir un accès aux données à l'application avionique 102. Les clients et les serveurs dialoguent par le biais d'une couche logiciel de communication dite middleware. Selon une variante de réalisation de l'invention, les clients sont regroupés par familles. Ces familles sont, par exemple, au nombre de trois : 35 (i) LocalClient, pour le client colocalisé avec un serveur de données (Pattern « Database Server on Favored Client ), (ii) AvionicClient, pour les clients avioniques et (iii) OWClient, pour les clients de la partie avionique dite « monde ouvert » (Open World). Dans ce cas, la famille à laquelle appartient le client émetteur est 5 indiquée par la façade dans la requête. Cette caractéristique a pour avantage de permettre de fournir des qualités de service différentes en fonction des applications clientes. Les deux serveurs ADBS1, ADBS2 présentent une structure similaire. Un serveur comprend : un point d'entrée (ou Front End) 104.1, 10 104.2 pour gérer les requêtes émises par les clients, un ensemble (ou Pool) de gestionnaires de requêtes 106.1, 106.2, au moins une base de données 107.1, 107.2 et un éditeur (ou « publisher ») 108.1, 108.2. Le rôle de l'ensemble de gestionnaires de requêtes 106.1, 106.2 est de traiter les requêtes. Le rôle d'un gestionnaire de requête est de traiter une seule 15 requête à la fois. Le point d'entrée 104.1, 104.2 comprend une pile 105.1, 105.2 pour stocker des requêtes en attente. L'éditeur 108.1, 108.2 permet de publier des modifications d'une donnée à destination des clients. L'éditeur contribue à la mise en oeuvre d'un service de publication et d'abonnement aux modifications des données qui est détaillé plus loin dans la description. 20 Le point d'entrée 104.1, 104.2 du serveur est chargé de la gestion des requêtes émises vers lui par les clients. La gestion des requêtes comprend : - la récupération des requêtes émises par les clients, - la vérification de la pile 105.1, 105.2 de requêtes en attente pour contrôler 25 qu'elle n'est pas saturée (contrôle de flux), la validation des droits d'accès du client émetteur (contrôle d'accès), - la vérification que l'émetteur n'a pas dépassé son quota de requêtes en attente (contrôle de flux), - le stockage des nouvelles requêtes dans la pile 105.1, 105.2 des requêtes 30 en attente de traitement, - l'horodatage de chaque requête pour permettre une surveillance du traitement de chaque requête, la surveillance du bon déroulement de l'ensemble de gestionnaires de requêtes 106.1, 106.2.
Le point d'entrée collecte régulièrement les requêtes dans les couches inférieures de communication avant que celles-ci ne soient saturées (en cas d'affluence par exemple). Avantageusement, un serveur comprend plusieurs piles de requêtes en attente de traitement, chacune des piles étant dédiée à une famille de client, les requêtes étant des requêtes en lecture de données émises par les façades des clients. Dans le cas où les clients sont regroupés par familles, le point d'entrée 104.1, 104.2 comprend plusieurs piles de requêtes en attente de traitement. Chacune des piles est dédiée à une famille de client. Ceci permet de contingenter les éventuelles saturations de la pile de requêtes. Par exemple, on peut dédier une pile aux requêtes venant de l'OW (les clients de la partie avionique dite « monde ouvert » ou Open World). En cas d'affluence de demandes provenant de l'OW, seule la pile dédiée à l'OW est saturée.
Dès lors, le serveur refuse toutes nouvelles requêtes venant de l'OW mais continue d'empiler les demandes provenant d'équipements avioniques. Ce principe de pile dédiée permet de se protéger par exemple d'application 0W dysfonctionnant en émettant des requêtes en continu. Selon le même schéma, on peut aussi intégrer une pile pour les requêtes d'un client privilégié. Dans le pattern d'architecture où le serveur est colocalisé avec un client privilégié (NavDB et FMS) on peut envisager de protéger les demandes de ce client privilégié grâce à une pile dédiée. Cette option n'a de sens que dans le cas ou le client privilégié et le serveur fonctionnent sur un même calculateur.
Cette option n'est pas envisageable pour le traitement des requêtes d'écriture, car elle ne permet pas de garantir la conservation de l'ordre des requêtes. Le rôle du point d'entrée dans la surveillance de l'ensemble de gestionnaires de requêtes est basé sur : - sur l'horodatage local (et distant) des requêtes, - sur le nombre de prises en compte de chaque requête (pour se protéger du message tueur (« killing message »), - sur le taux de remplissage de la (ou des) pile(s) de requêtes en attente de traitement.
Ces informations sont utilisées pour alimenter des statistiques dans le cadre d'un mécanisme de répartition de charge entre les serveurs (ou Joad-balancing) permettant de déterminer le niveau de disponibilité de chaque serveur.
Le rôle du point d'entrée est de gérer la pile des requêtes en attente de traitement. Il n'a pas en charge l'exécution de la requête à proprement parlé. Ce travail est délégué à des processus dédiés : les gestionnaires de requête. Ces processus effectuent l'opération de lecture ou d'écriture dans la base de données correspondante.
Chaque serveur comprend plusieurs gestionnaires de requête regroupés en un ensemble dénommé ensemble ou « pool » de gestionnaires de requêtes 106.1, 106.2. Chaque gestionnaire de requêtes a pour mission de traiter une requête à la fois. Il vient prélever la première requête en attente de traitement dans la pile 105.1, 105.2 gérée par le point d'entrée 104.1 104.2. Les gestionnaires de requêtes ne doivent pas contenir des données rémanentes au-delà du traitement de chaque requête. Ces gestionnaires de requêtes sont dits sans états (ou « Stateless »). Cette caractéristique permet d'éviter le stockage d'état intermédiaire. En cas d'arrêt d'un gestionnaire de requêtes, celui-ci redémarre immédiatement sans devoir initialiser un état préalable. La requête qui était en cours de traitement lors de l'arrêt d'un gestionnaire de requêtes est reprise par un autre gestionnaire de requêtes. Un gestionnaire de requêtes redémarrant après un arrêt vient prendre en charge la première requête en attente de traitement dans la pile.
L'ensemble de gestionnaires de requêtes contient un minimum de trois instances de processus de traitement afin de pallier au problème du message tueur (« killing message »). En effet, si le traitement d'une requête entraîne l'arrêt de deux gestionnaires de requêtes consécutivement, alors le traitement de cette requête est interrompu afin d'éviter de tuer la totalité des gestionnaires de l'ensemble. Dans le cas où les clients sont regroupés par familles, chaque gestionnaire de requêtes est associé à une priorité afin favoriser une famille de clients. Tout comme pour le point d'entrée, il est possible d'exploiter l'information donnant la famille à laquelle appartient le client à l'origine de la requête.
Par exemple, un gestionnaire de requêtes avec des allocations de ressources supérieures peut être réservé au client local afin de favoriser les temps de réponse pour ces requêtes. Cette option n'a de sens que dans le cas du client privilégié. De même, on peut cantonner les requêtes 0W vers un seul gestionnaire de requêtes avec une allocation de ressource plus faible que la moyenne. Cette option n'est pas envisageable pour le traitement des requêtes d'écriture, car ne permet pas de garantir la conservation de l'ordre des requêtes. La figure 2 représente un exemple de fonctionnement interne 10 d'une façade 103. Le rôle d'une façade est d'offrir un accès aux données hébergées sur les serveurs à une application avionique 102. La connaissance des serveurs à utiliser se trouve côté client. Afin de masquer la localisation des bases de données aux applications avioniques, la façade joue le rôle d'intermédiaire entre le client et l'accès aux serveurs. La façade 15 comprend : une interface 301.1,301.2 d'accès aux données (API) des bases en assurant une certaine compatibilité ascendante des différentes versions d'interface, des moyens 302 pour la localisation du (ou des) serveur(s) hébergeant la 20 donnée demandée par le client, des moyens 303 pour la réception des messages de vie des serveurs pour en connaître la disponibilité, des moyens pour le renvoi d'une requête au serveur de sauvegarde (ou backup) en cas de panne du serveur principal, 25 des moyens 304 pour la gestion des abonnements du client aux changements des données semi-statiques, ces moyens comprenant : - des moyens pour la réception des notifications émises par un éditeur 108.1, 108.2 pour les données semi-statiques. - des moyens pour la souscription d'une application avionique 30 102 à un abonnement à une modification d'une donnée, - des moyens pour filtrer les notifications émises par le serveur de données en fonction des abonnements de l'application avionique 102, et pour avertir l'application avionique 102 d'une modification d'une donnée à laquelle elle est abonnée.
Une façade est conçue de manière modulaire pour s'adapter aux besoins du client auquel elle est destinée. La façade n'embarque que les interfaces 301.1,301.2 requises par le client. En effet, il n'est pas utile de fournir des accès à l'ensemble des bases de données gérées par le dispositif à l'ensemble des clients. Ce principe de modularité de la façade permet de la même manière de fournir plusieurs versions 301.1, 301.2 d'une même interface. En effet, il est nécessaire de pouvoir faire évoluer le dispositif sans imposer la modification d'une application métier cliente. La façade utilise le niveau le plus récent d'échanges en interne avec les serveurs, mais assure la conversion avec la version d'interface utilisée. La façade comprend aussi un gestionnaire 310 de requêtes pendantes. Ce gestionnaire a pour mission essentielle de gérer les requêtes émises à destination des serveurs composant le service de base de données et toujours pendantes (c'est-à-dire : dont la façade n'a pas encore reçu la réponse). Le traitement générique d'une requête comprend les étapes suivantes : le marquage de la requête avec l'heure courante, en cas de demande de lecture, la recherche préalable dans une mémoire cache interne 312 (stockage local à la façade), pour une lecture et si la donnée est disponible dans la mémoire cache 312, la réponse au client, sinon la détermination du serveur gérant la base concernée, la construction d'un message de requête et l'envoi à destination du serveur, la mise dans une file d'attente 312 (« pending queue ») de la requête en cours de traitement, le déclenchement d'un timer de surveillance de cette requête, le traitement de la réponse comprenant des étapes consistant à : o en cas de succès : dépiler la requête en attente et répondre à l'applicatif et mettre éventuellement le cache à jour, o en cas d'échec : appliquer la politique choisie de tolérance aux fautes pour une ré-émission éventuelle o à la fin des tentatives remonter l'erreur définitive à l'application.
La ré-émission de la requête vers un autre serveur en cas d'échec, dépend de plusieurs critères : - La cause de l'échec précédent si un retour a été renvoyé par le serveur. Il est inutile de renvoyer un message « qui tue » détecté au niveau du serveur. La politique de tolérance aux fautes (« fault tolerance ») (un ou plusieurs réplicas), La disponibilité d'un « réplica » selon son état de service. Avantageusement, la façade comprend des moyens 305 pour l'envoi d'une requête au serveur le moins chargé. Les applications émettent des requêtes à destination des serveurs pour accéder aux données. Ces moyens 305 sont utilisés dans le cas d'une mise en oeuvre d'une fonction de répartition de la charge (ou « Joad balancing ») entre les serveurs. Cette caractéristique permet donc d'éviter qu'un serveur soit surchargé par des requêtes alors qu'un autre est pratiquement inutilisé. Ces moyens 305 utilisent par exemple le taux de remplissage de la (ou des) pile(s) de requêtes en attente de traitement des serveurs pour déterminer le serveur le moins chargé. Le dispositif d'accès à des données selon l'invention permet d'informer de la modification d'une donnée semi-statique un ensemble de clients abonnés sans que le serveur hébergeant les données ne connaisse cet ensemble de clients de manière figée et préalable. Cette fonction a pour avantage de réduire le couplage entre le serveur et les clients utilisateurs des données semi-statiques. Ceci permet de construire un système plus flexible.
L'information de la modification d'une donnée semi-statique est une fonction événementielle. Les clients abonnés ne sont prévenus que lors de la survenance d'un changement d'état d'une donnée. Cette fonction comprend un mécanisme de filtrage. En effet, les abonnés ne reçoivent que le sous ensemble d'événements auxquels ils se sont abonnés. Il est du ressort de chaque abonné de traiter ou non les événements reçus. La figure 3 représente un exemple du déroulement d'une mise à jour d'une donnée avec le dispositif selon l'invention. En pratique, une application s'abonne auprès d'une façade. Par exemple, l'application représentée s'abonne aux modifications sur une donnée B. Le serveur publie, sous la forme d'événements, des changements d'état de données auprès du gestionnaire d'événements. La façade informe l'application avionique si celle-ci est abonnée aux modifications de la donnée. Dans l'exemple, lors de la modification d'une donnée A la façade reçoit une notification publiée par le serveur, mais ne la transmet pas à l'application qui n'est pas abonnée pour cette donnée. Mais lors de la modification de la donnée B, la façade reçoit une notification publiée par le serveur et la transmet à l'application qui est abonnée pour cette donnée. Les changements d'états publiés par l'éditeur 108.1,108.2 sont par exemple une modification d'une donnée, une création d'une donnée ou une 10 destruction d'une donnée. Un événement comprend : des références de la donnée permettant de l'identifier, un type d'événement (modification, création, destruction), un horodatage (ou « timestamp ») de l'occurrence de l'événement, des références du serveur ayant effectué la publication.
15 Les moyens la souscription d'une application avionique 102 à un abonnement à une modification d'une donnée permettent différents types d'abonnements par exemple : sur l'ensemble des événements, sur un type d'événement, sur l'ensemble d'une base de données, sur une famille de données (par exemple : Waypoints, Plans de Vol, NOTAMs), sur une donnée 20 particulière. La publication est à la charge du serveur maître hébergeant les données semi-statiques. Il pourra d'ailleurs y avoir plusieurs types de bases de données semi-statiques hébergées ou non sur un même serveur. Après la réussite d'une requête d'écriture, le serveur diffusera sur 25 un canal virtuel AFDX dédié l'information d'une nouvelle valeur de donnée semi-statique à l'ensemble des façades. A charge pour ces façades de déterminer si cette signalisation intéresse l'application cliente en fonction des abonnements réalisés à l'origine. Selon un mode de réalisation préféré de l'invention, les façades 30 103 sont réparties entre au moins un premier et un deuxième groupe. La figure 4 représente le déroulement d'une mise à jour d'une donnée dans ce mode de réalisation préféré de l'invention. Le premier groupe (Façade 1) reçoit directement les notifications de modifications sur les données émises par le serveur. Les façades appartenant au premier groupe comportent en 35 outre des moyens pour émettre lesdites notifications de modifications de données aux façades appartenant au deuxième groupe (Façade 2). Cependant, l'émission des notifications vers les façades du deuxième groupe n'est effectuée qu'après que lesdites notifications ont été traitées et éventuellement transmises aux applications avioniques associées aux clients des façades du premier groupe (appelé traitement local sur la figure). Le principe de la publication est basé sur la diffusion à l'ensemble des façades des événements intervenues sur les données semi-statiques. Ce choix présente le risque d'un message de notification qui ferait tomber l'ensemble des façades. Pour protéger le dispositif d'un message tueur, une solution est de ne plus diffuser les notifications vers toutes les façades, mais seulement à destination d'un sous-groupe de premier niveau. Ce premier groupe aurait pour mission de retransmettre les notifications vers un second groupe et ainsi de suite en cascade. En cas de message tueur, le premier groupe de façade tomberait, mais sans contaminer les groupes suivants.15

Claims (6)

  1. REVENDICATIONS1. Dispositif (100) d'accès à des données par des clients (101) à bord d'un aéronef, chacun des clients (101) étant associé une application avionique (102), lesdites données étant stockées sur au moins un serveur de données embarqué à bord de l'aéronef, lesdites données étant accessibles en écritures et pouvant être modifiées, caractérisé en ce que le serveur comporte des moyens (108.1,108.2) pour notifier à l'ensemble des clients des modifications sur les données qu'il stocke, et en ce que chacun des clients (101) comporte une façade (103) 10 permettant l'accès aux données stockées sur le serveur aux applications avioniques (102), ladite façade (103) comprenant : des moyens pour la souscription d'une application avionique (102) à un abonnement à une modification d'une donnée, des moyens pour filtrer les notifications émises par le serveur de données 15 en fonction des abonnements de l'application avionique (102), et pour avertir l'application avionique (102) d'une modification d'une donnée à laquelle elle est abonnée.
  2. 2. Dispositif selon la revendication 1, dans lequel les façades 20 (103) sont réparties entre au moins un premier et un deuxième groupe, le premier groupe recevant directement les notifications de modifications sur les données émises par le serveur, les façades (103) appartenant au premier groupe comportant en outre des moyens pour émettre lesdites notifications de modifications de données aux façades (103) appartenant au deuxième 25 groupe, l'émission des notifications vers les façades (103) du deuxième groupe étant effectuée après que lesdites notifications ont été filtrées et transmises aux applications avioniques associées aux clients (101) des façades (103) du premier groupe. 30
  3. 3. Dispositif selon l'une des revendications 1 ou 2, dans lequel, les applications émettant des requêtes à destination des serveurs pour accéder aux données, la façade comprend des moyens (305) pour l'envoi d'une requête au serveur le moins chargé.
  4. 4. Dispositif selon l'une des revendications précédentes, dans lequel les clients sont regroupés par familles, la famille à laquelle appartient un client étant indiquée à un serveur par la façade dans une requête.
  5. 5. Dispositif selon la revendication 4, dans lequel un serveur comprend plusieurs piles de requêtes en attente de traitement, chacune des piles étant dédiée à une famille de client, les requêtes étant des requêtes en lecture de données émises par les façades des clients.
  6. 6. Dispositif selon l'une des revendications précédentes, dans lequel, le dispositif comportant une pluralité de serveur, la façade comprend des moyens (305) pour l'envoi d'une requête au serveur le moins chargé en requêtes.
FR1002893A 2010-07-09 2010-07-09 Dispositif d'acces a des donnees a bord d'un aeronef Active FR2962619B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1002893A FR2962619B1 (fr) 2010-07-09 2010-07-09 Dispositif d'acces a des donnees a bord d'un aeronef
US13/178,260 US8392534B2 (en) 2010-07-09 2011-07-07 Device for access to data aboard an aircraft
GB1111770.2A GB2481920B (en) 2010-07-09 2011-07-08 Apparatus for access to data aboard an aircraft
RU2011128448/12A RU2566939C2 (ru) 2010-07-09 2011-07-08 Устройство доступа к данным на борту летательного аппарата

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1002893A FR2962619B1 (fr) 2010-07-09 2010-07-09 Dispositif d'acces a des donnees a bord d'un aeronef

Publications (2)

Publication Number Publication Date
FR2962619A1 true FR2962619A1 (fr) 2012-01-13
FR2962619B1 FR2962619B1 (fr) 2013-01-18

Family

ID=43827814

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1002893A Active FR2962619B1 (fr) 2010-07-09 2010-07-09 Dispositif d'acces a des donnees a bord d'un aeronef

Country Status (4)

Country Link
US (1) US8392534B2 (fr)
FR (1) FR2962619B1 (fr)
GB (1) GB2481920B (fr)
RU (1) RU2566939C2 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3010853B1 (fr) * 2013-09-13 2015-10-16 Thales Sa Architecture hierarchique distribuee d'acces multiples a des services
US10375087B2 (en) 2014-07-21 2019-08-06 Honeywell International Inc. Security architecture for the connected aircraft
US10417261B2 (en) 2016-02-18 2019-09-17 General Electric Company Systems and methods for flexible access of internal data of an avionics system
FR3058290B1 (fr) * 2016-10-27 2019-08-02 Thales Equipement avionique avec signature a usage unique d'un message emis, systeme avionique, procede de transmission et programme d'ordinateur associes
CN106776788B (zh) * 2016-11-24 2019-10-29 厦门普杰信息科技有限公司 一种基于dss框架的数据库子系统设计方法
DE102017209327A1 (de) * 2017-06-01 2018-12-06 Audi Ag Verfahren zur Datenübertragung in einem Fahrzeug-Kommunikationsnetzwerk, Fahrzeug-Kommunikationsnetzwerk, Teilnehmer und Fahrzeug

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words
EP1130845A2 (fr) * 2000-02-18 2001-09-05 Agilent Technologies Inc. a Delaware Corporation Système de publication/abonnement

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6671589B2 (en) * 2001-02-13 2003-12-30 William Holst Method and apparatus to support remote and automatically initiated data loading and data acquisition of airborne computers using a wireless spread spectrum aircraft data services link
US6654685B2 (en) * 2002-01-04 2003-11-25 The Boeing Company Apparatus and method for navigation of an aircraft
US20040002958A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US8335860B2 (en) * 2002-12-19 2012-12-18 Nokia Corporation Filtering application services
US6801769B1 (en) * 2003-03-12 2004-10-05 The Boeing Company Modular aircraft information network system and an associated method of packaging the same
JP4154364B2 (ja) * 2004-04-22 2008-09-24 キヤノン株式会社 通知方法
US20060206246A1 (en) * 2004-10-28 2006-09-14 Walker Richard C Second national / international management and security system for responsible global resourcing through technical management to brige cultural and economic desparity
US7483882B1 (en) * 2005-04-11 2009-01-27 Apple Inc. Dynamic management of multiple persistent data stores
US8135807B2 (en) * 2007-09-18 2012-03-13 The Boeing Company Packet generator for a communication network
FR2943037B1 (fr) * 2009-03-11 2012-09-21 Airbus France Systeme de commande d'aeronef a architecture modulaire integre.
FR2943036B1 (fr) * 2009-03-11 2011-04-15 Airbus France Systeme distribue de commande de vol implemente selon une architecture avionique modulaire integree.
US8301867B1 (en) * 2009-08-10 2012-10-30 Rockwell Collins, Inc. Secondary core ONU to OLT via internal EPON bus coupled multi-core processor for integrated modular avionic system
US9063800B2 (en) * 2010-05-26 2015-06-23 Honeywell International Inc. Automated method for decoupling avionics application software in an IMA system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words
EP1130845A2 (fr) * 2000-02-18 2001-09-05 Agilent Technologies Inc. a Delaware Corporation Système de publication/abonnement

Also Published As

Publication number Publication date
GB2481920A (en) 2012-01-11
US20120072482A1 (en) 2012-03-22
GB2481920B (en) 2012-07-18
US8392534B2 (en) 2013-03-05
GB201111770D0 (en) 2011-08-24
RU2011128448A (ru) 2013-01-20
RU2566939C2 (ru) 2015-10-27
FR2962619B1 (fr) 2013-01-18

Similar Documents

Publication Publication Date Title
US10467105B2 (en) Chained replication techniques for large-scale data streams
US10956246B1 (en) Isolated read channel management interfaces at streaming data service
CN106130882B (zh) 用于传输消息的方法和装置
CN113037823B (zh) 消息传递系统和方法
US9471585B1 (en) Decentralized de-duplication techniques for largescale data streams
EP3069274B1 (fr) Service géré pour l'acquisition, la mémorisation et l'utilisation de flux de données à grande échelle
EP2559196B1 (fr) Outil de gestion de ressources et d'infrastructures informatiques et réseaux
EP3069228B1 (fr) Cadriciel de traitement de flux de données basé sur partitionnement
JP6250189B2 (ja) データストリームのためのクライアント構成可能なセキュリティオプション
US20170357703A1 (en) Dynamic partitioning techniques for data streams
FR2962619A1 (fr) Dispositif d'acces a des donnees a bord d'un aeronef
WO2016115735A1 (fr) Traitement de données réseau en grande quantité
FR2914802A1 (fr) Procede et dispositif de gestion de canaux de communication pour des echanges de donnees a partir d'un aeronef
US8266301B2 (en) Deployment of asynchronous agentless agent functionality in clustered environments
US10447623B2 (en) Data storage systems and methods using a real-time messaging system
US20190087289A1 (en) Unified data layer backup system
US20220138036A1 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
US10735530B1 (en) Aggregated service status reporter
US20210021653A1 (en) Stream data record reads using push-mode persistent connections
US20200401323A1 (en) Streaming data service with isolated read channels
EP3803616A1 (fr) Notifications de changement pour stockage d'objet
US8977595B1 (en) Message-recovery file log locating and monitoring
FR2860616A1 (fr) Unite de commande de dispositif de memorisation et procede de commande de celui-ci
EP3519958B1 (fr) Procédé d'audit d'une ressource virtualisée déployée dans un réseau informatique en nuage
US11621999B2 (en) Isolated read channel categories at streaming data service

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14