Solutions presque fiables

Le principal avantage du marché de l'IoT est le coût. Par conséquent, la priorité est donnée aux composants bon marché mais peu fiables. Les appareils peu fiables se brisent, font des erreurs, gèlent et nécessitent une maintenance. Il n'est pas habituel de parler de manque de fiabilité lors de conférences, mais c'est exactement ce à quoi le rapport de Stanislav Elizarov ( elstas ) sur InoThings ++ a été consacré - comment tout ne fonctionne pas.

image

Sous la coupe, nous discuterons des méthodes pour compenser le manque de fiabilité des équipements, des canaux de communication et du personnel utilisant des logiciels; les problèmes de tolérance aux pannes et leurs solutions; facteur humain; du ruban et des chaussettes électriques comme moyen universel de réparer les engins spatiaux et la transmission de données par les camions.


À propos du conférencier : Stanislav Elizarov est engagé dans le département d'infrastructure de réseau de la société STRIZH, qui produit des compteurs, des capteurs, des stations de base LTE et collecte également des lectures là où tout autre système de communication ne fonctionne tout simplement pas.

Insécurité


"Si quelque chose ne fonctionne pas, alors il est déjà dépassé."

Ceci est une citation du philosophe canadien Marshall McLuhan , qui décrit avec précision l'état de l'art. Tout refuse: les ordinateurs gèlent, les smartphones ralentissent, les ascenseurs s'arrêtent entre les étages, les sondes spatiales s'égarent et les gens font des erreurs.

Premières erreurs


Le sujet de la fiabilité, en particulier de sa part, est la tolérance aux pannes, aussi importante que la sécurité. La lettre S dans le terme IoT est responsable de la sécurité , et la lettre R est responsable de la fiabilité - fiabilité.

Si nous parlons de fiabilité et d'erreurs, alors rappelons Johann Gutenberg . Officiellement, il est le premier imprimeur, et selon Ilf et Petrov, il est le premier imprimeur , car il a fait de nombreuses erreurs dans sa Bible.

image

La technologie de Gutenberg a progressé, le marché du livre a augmenté, les volumes ont augmenté et avec eux des erreurs. 50 ans après l'impression du premier livre, Gabriel Pierry a proposé Errata - une liste de fautes de frappe à la fin du livre. C'était une bonne astuce, car retaper de grands lots est peu pratique et économiquement non rentable. Si le lecteur remarque une faute de frappe, il ouvre simplement une liste d'erreurs et examine les corrections critiques. Le chef des fautes de frappe était Thomas d'Aquin et sa somme de théologie - 180 pages d'erreurs dans l'erreur officielle.

Les errats modernes sont produits par les producteurs de fer. Dans l'image ci-dessous, l' errat officiel de la puce CC1101 la plus populaire, qui est toujours valide. Dans la liste des erreurs, la puce n'accepte parfois pas quelque chose, parfois elle transmet quelque chose de mal et parfois la PLL ne fonctionne pas toujours. Ce n'est pas ce que vous attendez d'un processeur de masse qui existe depuis des décennies.

image

Un autre exemple est le microprocesseur MSP430 , construit sur un ensemble d'instructions. Le microprocesseur est à peu près le même que le PDP-11 , sur lequel Kernigan et Ritchie ont développé Unix. Ce n'est pas l'errat Thomas d'Aquin, mais le constructeur nous propose 27 pages d'erreurs , dont beaucoup lui-même ne sait pas résoudre.

C'est exactement ce qui n'est pas évident sur Internet des objets. Nous lisons la fiche technique d'une puce bon marché et voyons que tout va bien et que tout fonctionne, jusqu'à ce que nous ouvrions les dernières pages avec une liste d'erreurs.


image

Facteur humain


Avec le fer, c'est plus ou moins clair, les erreurs sont décrites et reproductibles, mais la plus grande source d'erreurs dans les systèmes IoT est l' homme .

Le 13 janvier 2018, tous les habitants de Gavaev ont reçu une alerte sur les téléphones portables concernant une menace de missile et qu'ils devaient se cacher dans un abri anti-bombes.

image

On ne sait pas exactement qui avait tort: ​​l'opérateur ou la personne qui a conçu l'interface. Mais si vous regardez l'image, la réponse se suggère. Sur quoi appuyer pour déclencher un test, plutôt qu'un combat, avertissant d'une menace de missile? Si vous ne connaissez pas la réponse, vous vous trompez.

image

Bonne réponse
Fausse alarme BMD

L'opératrice a appuyé sur le mauvais bouton et le publipostage a commencé. Le système ne comportait aucun paramètre permettant d'empêcher ou de confirmer l'envoi: "Êtes-vous sûr de vouloir mettre en garde contre la menace des missiles?" Il a fallu 30 minutes aux employés du centre pour se rendre compte de ce qui s'était passé et pour envoyer un message indiquant que l'attaque était fausse.

L'homme est un système fiable


Pourquoi ne voyons-nous pas ces erreurs et ne pensons-nous pas que quelque chose ne va pas? Parce que l'homme lui-même corrige toutes les erreurs.

Nous avons l'habitude de corriger les bugs.

Si nous pensons que l'ordinateur ne fonctionne pas très bien, nous le redémarrerons. Si nous voyons que la communication mobile a disparu, alors nous cherchons un endroit où elle prend. Si la machine ne fonctionne pas, nous la réparons.

La photo ci-dessous montre un savoir-faire humain dont vous pouvez être fier. Trois personnes se balançaient dans l'Apollo 13 entre la Terre et la Lune et ont pu résoudre la tâche non triviale consistant à enfoncer un filtre carré dans un trou rond. En plus des filtres carrés, la mission n'a pas eu de chance dans un autre: explosion d'une bouteille d'oxygène, manque d'eau, dommages au moteur. L'équipe a essayé de survivre à l'aide de chaussettes, de ruban électrique et de paquets de combinaisons.

image

L'homme, comme ils l'ont dit à la NASA, est un très bon système de sauvegarde et corrige beaucoup. La résolution de problèmes sur un vaisseau spatial à l'aide de ruban et de chaussettes électriques peut être considérée comme presque fiable: cela se fait en peu de temps, cela fonctionnera avec garantie et les gens reviendront vivants, mais cela ne peut pas être autorisé à entrer en production.

Problème de tolérance aux pannes


Le problème de la tolérance aux pannes pour l'Internet des objets est très important car le nombre d'appareils augmente. Selon une société de conseil McKinsey , en 2013, 10 milliards d'appareils IoT fonctionnaient dans le monde, et d'ici 2020, ce nombre passera à 30 milliards.

image

Nous ne pouvons tout simplement pas réparer physiquement tous ces compteurs - il n'y aura tout simplement pas assez de temps. Les systèmes qui ont été conçus pour être entretenus par des personnes ne nous aideront pas, mais nous les réparerons.

En 2018, la presse et les journaux scientifiques ont annoncé que les Chinois avaient couvert 100000 capteurs de 2 canaux sur une longueur totale de 1400 km. Un total de 130 types de capteurs: eau, vent, caméras. Du point de vue des dépenses d'exploitation, le système est tout simplement désastreux: combien de personnes avez-vous besoin pour nettoyer les caméras ou supprimer les accrocs? L'ensemble du personnel ne sera occupé qu'à nettoyer et entretenir le système - il n'est pas très autonome.

Par conséquent, je veux parler un peu de tolérance aux pannes , d'assurer le fonctionnement du système. Avec des exemples simples, je parlerai de trucs qui aideront en peu de temps à obtenir une solution de travail garantie afin de présenter un produit aux investisseurs, puis je réfléchirai à la manière d'augmenter progressivement la fiabilité. Ces astuces sont assez polyvalentes et aideront toujours. La seule chose qu'ils ne sont pas très recommandés pour une utilisation en production, car ils sont comme ce filtre.

Imaginez: le jour viendra où les investisseurs viendront à vous pour un rapport de projet, et vous devrez montrer un produit fonctionnel. Par où commencer, pour ne pas le gâcher?

Simplification


Dans l'image ci-dessous, deux appareils non connectés. À gauche, un jouet appelé «trieur» : insérez rond en rond et carré en carré. Un enfant d'un an apprendra à utiliser un jouet en 2-3 tentatives, car il est impossible de se tromper avec le «dispositif» - un triangle ne rentrera pas dans un carré.

image

La même idée a été proposée par la société Harris, qui produit des stations de radio militaires. La photo de droite est Harris Falcon 3 , une merveille d'ingénierie. Regardez les interfaces, elles sont toutes différentes. Dans un état de bataille, dans des conditions où il n'y a pas de temps pour réfléchir, l'opérateur physiquement ne pourra pas faire quelque chose de mal. Le câble d'alimentation n'entrera pas dans le connecteur de l'antenne, et par un simple buste, l'opérateur radio connectera tous les systèmes, même pas le cerveau. Il s'agit d'un moyen simple et efficace de prévenir les erreurs et de réduire leur probabilité. Vous direz:

- Et si nous avons une présentation demain. Avons-nous besoin de souder toutes les interfaces? Nous avons tout fait de même là-bas: 4 ports USB, 5 ports Ethernet, nous allons certainement faire une erreur.

Pas de doute, la simplification fonctionne également ici - fermez tout. Si vous avez 4 ports USB et que l'un d'eux est garanti de fonctionner, laissez-le et fermez le reste. Par exemple, avec du ruban électrique - sentez-vous comme un astronaute.

La simplification, ce n'est pas seulement créer une interface dans laquelle les erreurs sont impossibles, mais aussi supprimer tout ce qui est superflu. C'est là que la fiabilité commence.

Nous avons créé un appareil simple - un prototype, prêt à être montré. Et ensuite? Ensuite, pensez à la redondance.

Redondance


Les dispositifs de l'Internet des objets fonctionnent sur la base de la théorie de l'information : il existe une source de signal, un récepteur, un encodeur, un modulateur, un milieu de propagation et une source d'erreur qui interfère et déforme la situation réelle. Un bon moyen de réduire les interférences consiste à ajouter de la redondance , à l'aide de laquelle nous pouvons détecter une situation critique et en atténuer les effets: avertir l'opérateur ou corriger l'erreur.

image

Un exemple de redondance est le réseau STRIZH. La plupart des appareils du réseau sont transmis sans confirmation: l'appareil émet un signal et la station de base le reçoit.

Imaginez la situation. Nous avons une zone d'interférence dans laquelle la probabilité de livraison de message à la station de base est de 90%, et lors de la présentation, il ne doit pas montrer plus de 1% de perte. Il semble qu'il y ait beaucoup de travail: corriger les protocoles, réduire la portée, mais une solution simple et rapide est la redondance. À côté de la station qui reçoit le signal avec une probabilité de livraison de 0,9, placez la seconde, avec la même probabilité de livraison, et la probabilité de défaillance des deux stations en même temps est de 0,01. Le théorème de multiplication des probabilités s'applique ici: la probabilité de défaillance de chaque station individuellement est de 0,1, et la défaillance des deux n'est que de 1%, à condition que les stations de base soient indépendantes. Dans cette zone, la probabilité de réception entre les stations de base sera la plus élevée.

image

Une autre façon de démontrer le principe de redondance est Watchdog Timer . Il s'agit d'un périphérique physique intégré par la plupart des fabricants de processeurs. Si le Watchdog Timer n'a pas reçu de signal de l'ordinateur après un certain temps, l'appareil redémarre l'ordinateur.

image

L'utilisation de WT n'améliore pas la fiabilité, mais la disponibilité . L'ordinateur détecte le problème, prend des mesures de contrôle et redémarre l'ordinateur. Il aime beaucoup la NASA et connaît de nombreuses façons d' utiliser Watchdog Timer.

Voici un exemple de temporisateur de surveillance à plusieurs étapes: lorsque certains événements se produisent, il envoie un NMI - une interruption matérielle qui sera nécessaire pour travailler sur le processeur. Lorsqu'un événement se produit, Watchdog indique à l'ordinateur: "Essayez de vous redémarrer, sinon coupez l'alimentation." Si la première minuterie ne fonctionne pas, la seconde fonctionnera.

image

La redondance fonctionne bien dans le système d'exploitation. Notre station de base est structurée comme ceci. Il se compose de modules divers et indépendants . L'autonomie des modules empêche les erreurs d'un module à l'autre - un «pool» d'erreurs est créé, que nous bloquons. Plus haut dans la hiérarchie se trouve un ensemble de superviseurs : des scripts qui surveillent la situation en fonction de certains paramètres. Par exemple, que le processus se trouve dans le système d'exploitation, ce n'est pas un zombie et ne découle pas de la mémoire. L'élément racine est un planificateur , par exemple, cron.

image

La structure hiérarchique crée de bons paramètres pour la disponibilité du système: si le module tombe, le superviseur voit et redémarre, il y a une certaine redondance dans les modules, certains modules remplissent la fonction des autres.

Transition vers un autre référentiel


Ma méthode préférée et la plus populaire parmi les mathématiciens. Si l'on sait dans quelles conditions l'équipement fonctionne, alors dans ces conditions il est nécessaire de conduire un pilote. Je vais vous montrer avec des exemples.

Exemple n ° 1 . Nous avons créé un appareil qui fonctionne bien à température ambiante, et ils nous disent:

- Nous démontrons le projet dans le Grand Nord. Maintenant, il y a −40, mais faites-le fonctionner.

Nous fonctionnons sur Internet et recherchons une solution:

- Nous avons besoin de quartz et de lecteurs flash thermostables qui ne tomberont pas en panne à -40.

Le temps presse, les ressources diminuent et la panique s'accentue. Nous pensons que le projet est un échec, mais nous serons sauvés par le passage au référentiel dans lequel opère la station de base. Nous plaçons l'appareil dans la boîte dans laquelle se trouvent le chauffage et le relais thermique. Ce sont des gars assez stables et travaillent presque toujours. Lorsqu'il fait froid dehors - la boîte chauffe et l'appareil fonctionne dans des conditions normales - nous sommes passés à un système de référence dans lequel nous connaissons et utilisons la solution.

image

Exemple n ° 2 . Transition vers des images en mouvement. Imaginez que nous collections des données sur les conteneurs d'un train. La première solution standard consiste à utiliser des modems gsm. Cette méthode ne convient pas: pour les objets se déplaçant rapidement, vous devez utiliser des appareils LTE ou 5G qui font du bon travail avec Doppler, ce qui est cher. Si le train traverse la Russie, alors à son arrivée à la gare, tous les modems se connecteront à la gare et il se plantera simplement en raison de la congestion du réseau.

Solution: transition vers un référentiel fixe. Rappelons la relativité du mouvement: on place la station de base à l'intérieur du train et elle est immobile par rapport au train en mouvement. La station collectera les informations de tous les capteurs et transmettra plus loin à l'aide d'une passerelle, d'un satellite ou d'un modem LTE.

Cette approche augmente la fiabilité, aide à résoudre les tâches impossibles et organise un réseau tolérant aux retards - un réseau résistant aux ruptures . Pour une raison quelconque, ils n'aiment pas l'approche en Russie, mais ils font activement la promotion de la division Disney Research de la même société. Ils n'ont pas l'Internet des objets, mais l'Internet des jouets - Internet des jouets . L'entreprise craint que les enfants africains ne regardent pas les dessins animés Disney. Réaliser des réseaux de données, installer des tours, tirer de la fibre en Afrique coûte cher, et ils le voleront de toute façon, alors ils sont allés dans l'autre sens et ont utilisé les idées de Richard Hamming :

La transmission à distance est identique à la transmission dans le temps, c'est-à-dire le stockage. Si vous ne pouvez pas transmettre, enregistrez les informations et transférez-les au récepteur.

Disney a fait exactement cela : ils ont équipé les gares routières et les bus d'un système de routeurs Wi-Fi les moins chers et d'un ensemble de disques durs. Le bus s'arrête à la gare, télécharge rapidement un ensemble de films Disney via Wi-Fi sur les lecteurs, puis démarre. Il vient dans un village, dans un autre, et télécharge des films dans chacun - les enfants africains sont satisfaits. Ce que l'on appelle les Mul-Networks - des mules bon marché qui se déplacent lentement, font mal avec le Doppler, mais fournissent des informations à tous les points.

image

Des développements similaires existent à Disney pour l'envoi d'e-mails - une lettre vous parviendra par bus. Une technologie très amusante, mais Amazon, par exemple, l'adore.

Amazon dispose d'un service de transport d' exaoctets de données - un million de téraoctets. Si vous avez un grand centre de données et que vous envisagez de déménager sur Amazon, car tout est déjà là, alors en Amérique, ils peuvent vous apporter un tel camion et transporter vos données. Si les retards ne sont pas importants pour vous, alors c'est un bon moyen: des taux de transfert de données de l'ordre de dizaines ou centaines de Gb / s. En plus des camions, Amazon peut vous envoyer un sac avec des disques durs - boule de neige.

image

Nous avons réalisé que la fiabilité est importante car les personnes et la technologie échouent. La fiabilité doit être considérée comme une sécurité. Pour les présentations pilotes, activez Watchdog, ajoutez de la redondance et simplifiez afin que vous ne puissiez pas vous tromper. Réfléchissez à la manière d'entrer dans les conditions dans lesquelles le système est garanti de fonctionner. Et maintenant passons à la dernière méthode, qui est différente des autres, et les techniciens l'ignorent souvent.

La beauté


Ils vous pardonneront beaucoup si votre prototype est magnifique. Si pendant la présentation quelque chose ne va pas et que tout échoue, vous entendrez: «Oui, tout est cassé, mais vous avez un produit tellement cool. Je pense que vous devez essayer à nouveau de vous améliorer. » Le principe fonctionne pour Tesla: l'entreprise a des problèmes d'expédition, de pilote automatique, d'accidents, mais tout le monde les aime, car les voitures ont un design cool. Pour cela, ils leur pardonnent tous.

image

Conclusions


L'avenir de l'Internet des objets est l' insécurité : l'IoT est destiné aux marchés de masse, et pour le marché de masse, le facteur décisif est le prix. Ainsi, l'Internet des objets comprendra de nombreux appareils bon marché et peu fiables . Avec le nombre croissant d'appareils, le nombre de pannes augmentera. Nous n'avons tout simplement pas assez de mains pour corriger toutes les erreurs. Par conséquent, la seule façon - les appareils doivent gérer indépendamment les conséquences des pannes . Ce sont des systèmes autonomes qui doivent apprendre à se réparer.

Je vous suggère d'aborder le sujet de la fiabilité et d'apprendre à montrer les pilotes de manière cool en utilisant trois méthodes: simplifier tout ce que vous pouvez, ajouter de la redondance et créer les conditions dans lesquelles le pilote est garanti de travailler. N'oubliez pas que nous sommes tous des gens et que nous ne sommes pas guidés par la logique, mais par les sentiments , alors créez de beaux projets .

Il n'y a aucun livre ni ensemble d'articles sur la fiabilité. Pour approfondir le sujet, commencez par un article sur l' opérabilité, la fiabilité, la sécurité , puis étudiez l'expérience du NASA Jet Propulsion Laboratory . Ils ont créé Voyager et Curiosity et ils savent tout sur la fiabilité . Laissez-vous inspirer par les grands.

Il reste un peu plus d'un mois avant la prochaine conférence InoThings ++ Internet of Things Developers , qui aura lieu le 4 avril. Nous préparerons un programme qui couvrira tous les aspects du monde de l'Internet des objets: le développement de matériel et de logiciels pour les appareils, la sécurité des utilisateurs, les méthodes de transfert d'informations entre les appareils et le «serveur» et leurs tests, le fonctionnement et le changement des processus commerciaux sous l'influence des technologies IoT. Mais peut-être que votre rapport ne suffit pas pour couvrir tous les sujets - soumettez votre candidature avant le 1er mars.

Source: https://habr.com/ru/post/fr441606/


All Articles