Nous avons identifié au travers de l’analyse système qu’un certain nombre de fonctions vont être portées par un « Scheduler » (ordonnanceur) au sein de Phoenix.
Elles incluent notamment, d’un point de vue informatique, l’identification des ressources disponibles (stockage et capacité de calcul), la mise en oeuvre du composant logiciel (conteneur) sur ces ressources, et la réception amont puis la transmission aval des données.
Petit compte-rendu de recherche sur des outils existants open source :
- mise en oeuvre du conteneur et équilibrage de charge : Kubernetes, le standard de fait pour la gestion des conteneurs dans l’IT « terrestre », constitue clairement le point d’entrée sur le sujet. Il permet notamment de gérer la « topologie » des noeuds, pour prendre en compte leur localisation et contraintes réseau, et on peut très bien imaginer qu’il puisse aussi être « conscient » des contraintes des opérations inter-satellites / noeuds du système.
- je comprends qu’on pourrait même aller un niveau au-dessus avec un outil comme Fission, qui permet de gérer des fonctions au-dessus d’un cluster Kubernetes, et simplifierai encore l’utilisation du cloud Phoenix.
- concernant la réception des données, on peut s’inspirer de la façon dont fonctionne SatNOGS. Dans la liste des projets open source recensés par l’initiative OpenSatCom, on trouve aussi un bon nombre de solutions de Software Defined Radio (SDR), dont certaines dédiées aux communications satellites, qui disposent probablement de leur système d’ordonnancement et de priorisation des trames.
Bon voilà un petit point de départ avant d’aller plus en profondeur, c’est aussi fait pour être challengé et analysé en détails !