Vous êtes sur la page 1sur 83

‫المملكة المغربية‬

Royaume du Maroc
Ministère de l’Enseignement Supérieur, ‫وزارة التعليم العالي و البحث العلمي و اإلبتكار‬
de la Recherche Scientifique et de l’innovation ‫ كلية العلوم‬- ‫جامعة ابن طفيل‬
Université Ibn Tofail – Faculté des Science
‫القنيطرة‬
Kénitra

Mémoire de fin d’études


Pour l’obtention du diplôme Master en Informatique

Option : Big Data and Cloud Computing

Optimisation Dynamique du Stockage des Données


IoT Météorologiques dans le Cloud : Approche Multi-
Agent en Temps Réel

Présenté Par : Soutenu devant le jury composés de :


Idir Yasmine Pr Abouchabaka Jaafar

Encadré Par : Pr Rafalia Najat

Pr Rafalia Najat Pr Moumen Idriss


Pr Haitam ETTAZI
Pr Hala KHANKHOUR

Année universitaire : 2022 - 2023


Année universitaire : 2022-2023
‫ُُٱلح ِكيمُ‬
‫ُٱلع ِليم َ‬
‫ت َ‬ ‫ُأَ ْن َ‬
‫َّك ُ‬
‫اُإن َ‬ ‫اُع َّل ْ‬
‫م َت َن ِ‬ ‫اُإلَّ َ‬
‫اُم َ‬ ‫مُ َل َن ِ‬
‫اُع ْل َ‬
‫كُلَ ِ‬
‫س ْب َحا َن َ‬
Dédicace

Je dédie ce projet à : Mes chers parents , que nulle dédicace ne puisse exprimer mes sincères
sentiments, Pour leurs patience illimitée, leur encouragement contenu, leur aide, en
témoignage de Mon profond amour et respect pour leurs grands sacrifices. Mes chers frères
pour leur grand amour et leur soutien qu’ils trouvent ici l’expression de ma haute gratitude.
Mes chers amis Qui sans leur encouragement ce travail n’aura jamais vu le jour. Et à toute
ma famille et à tous ceux que j’aime.

Yasmine Idir

1 | 82
Remerciements

vant tout, je remercie sincèrement Allah le Tout-Puissant pour m’avoir donné la force et
la persévérance nécessaires pour mener à bien ce travail. Je tiens à exprimer ma profonde
gratitude envers Mme.Rafalia Najat , mon encadrante, pour son soutien compétent, sa
patience et ses encouragements. Son regard critique a été essentiel pour structurer le travail
et en améliorer la qualité. Je tiens également à remercier chaleureusement.Un grand merci
à M.Abouchabaka Jaafer, coordinateur du Master Big Data and Cloud Computing, pour
l’opportunité qu’il m’a offerte et son soutien. Je souhaite également exprimer ma gratitude
envers les membres du jury pour avoir pris le temps de lire et d’évaluer ce travail. Je remercie
l’équipe pédagogique et administrative du Master Big Data pour leur engagement envers une
formation de qualité. Enfin, un sincère merci à toutes les personnes ayant contribué, de près
ou de loin, à la réalisation de ce travail.

2 | 82
Abstract

vec l’expansion continue de l’Internet des objets (IOT), la gestion des données générées par les
appareils IOT, en particulier dans les applications météorologiques telles que la surveillance
de la température et de l’humidité, est devenue une préoccupation majeure. Dans le cadre de
ce projet de recherche, nous avons relevé le défi de réduire efficacement le volume de données
IOT tout en préservant l’intégrité des données. Nous avons utilisé une combinaison de col-
lecte de données à l’aide du capteur DHT11 et du microcontrôleur ESP32, suivie d’une ap-
proche multifacettes de la compression des données. Notre étude a englobé divers algorithmes
de compression, notamment la codification delta, la compression par longueurs de courses
(Run-Length Encoding, RLE), la codification d’entiers de longueur variable (Variable-Length
Integer Encoding, VLI), la méthode de Lempel-Ziv-Welch (LZW) et le conditionnement des
bits, chacun donnant des taux de compression distincts. Cependant, les résultats les plus
convaincants ont émergé lorsque nous avons combiné stratégiquement les algorithmes RLE
et LZW, atteignant un taux de compression extraordinaire de 94 De plus, nous avons mesuré
méticuleusement le temps de compression, qui s’est établi à seulement 133 microsecondes,
démontrant la praticité et l’efficacité de notre approche. Par la suite, nous avons transmis
de manière transparente les données IOT compressées vers Azure Cloud pour le stockage.
Ce processus a non seulement réduit les coûts de stockage dans le cloud, mais a également
optimisé de manière significative l’espace de stockage. En résumé, cette recherche plonge
dans les subtilités de la compression des données IOT, mettant en évidence le potentiel de
réduction substantielle des données tout en préservant l’exactitude des données. La combi-
naison innovante de RLE et LZW ouvre une voie prometteuse pour les futures applications
IOT, offrant à la fois une efficacité financière et de stockage dans une ère marquée par la
prolifération des appareils IOT.
Key words : Internet of Things (IoT), Data Compression, Azure Cloud Storage,VLI

3 | 82
Résumé

Le projet ”Système Multi-Agent pour le Stockage de Données IoT” se concentre sur la


création d’une solution innovante pour la gestion efficace des données générées par les cap-
teurs IoT. Cette solution s’appuie sur une architecture multi-agent, où chaque agent joue
un rôle spécifique dans le processus, allant de la collecte initiale des données à leur stock-
age dans le cloud. L’agent de collecte de données est chargé de rassembler les informations
à partir des capteurs IoT, en utilisant des périphériques série pour obtenir des mesures de
température et d’humidité. Les données collectées sont ensuite traitées avant d’être trans-
mises à l’agent de compression.L’agent de compression joue un rôle essentiel en appliquant
des méthodes de compression hybrides, notamment la compression RLE (Run-Length En-
coding) et LZW (Lempel-Ziv-Welch). Cette étape garantit que les données sont stockées de
manière efficiente, réduisant ainsi l’espace de stockage nécessaire.Les données compressées
sont ensuite transmises à l’agent de stockage, qui utilise le service Azure Blob Storage pour
les stocker de manière organisée. Une caractéristique intéressante est la création d’un nou-
veau conteneur pour chaque journée, assurant une structuration claire des données. Enfin,
l’agent de nettoyage des données obsolètes s’assure que l’espace de stockage reste propre et
efficace en supprimant les données qui ont dépassé leur date de rétention (une semaine dans
notre cas). Ce projet est novateur car il associe une architecture multi-agent à des méthodes
de compression hybrides pour optimiser la gestion des données IoT. Il vise à réduire les coûts
de stockage tout en préservant l’intégrité des données collectées.
Mots lés : SMA, Compression hybride, Azure Blob Storage, IOT , RLE, LZW

4 | 82
Liste des Figures

1.1 Problèmatique ........................................................................................................... 16


1.2 Les objectives de notre systeme multi agents ........................................................... 17

2.1 Architecture de l’IOT ................................................................................................. 25


2.2 lossless-lossy-data-compression .................................................................................. 27
2.3 comparaison entre la compression avec et sans perte .............................................. 28
2.4 La méthode de compression hybride. ....................................................................... 30
2.5 Architecture de system............................................................................................... 37
2.6 Azure Blob ................................................................................................................. 40

3.1 Communication entre Agent de Collecte et Agent de Compression ...................... 47


3.2 Communication entre Agent de compression et Agent de stockage ......................... 48
3.3 Communication entre Agent de Stockage et Agent de Décompression .................. 49

4.1 Les méthodes utilisés. ............................................................................................... 52


4.2 Capteur DHT11 .......................................................................................................... 54
4.3 Microprecesseur ESP32............................................................................................... 55
4.4 breadbord ................................................................................................................... 56
4.5 Fils de connexion ....................................................................................................... 56
4.6 Schema de systeme .................................................................................................... 57
4.7 Résultat de l’Agent de collecte ................................................................................. 60
4.8 Résultat de l’Agent de compression ......................................................................... 62
4.9 Résultat de l’Agent de Stockage .............................................................................. 64
4.10 Résultat de l’Agent de Décompression .................................................................... 65

5 | 82
5.1 Taille des données avant et apres la compression .................................................... 74
5.2 Taux de compression ................................................................................................ 75
5.3 Temps de compression ............................................................................................... 76
5.4 Les données compressées stocker dans Azure cloud ................................................ 77

6 | 82
Table des Matières
Dédicace 1
Résumé 2
Abstract 3
Résumé 4
Liste des figures 5
Liste des tables 10

1 Le contexte général du projet 13


1.1 Introduction ................................................................................................................ 14
1.2 Contexte ..................................................................................................................... 14
1.3 Problématique ........................................................................................................... 15
1.4 Objectif ....................................................................................................................... 16
1.5 Justification de l’étude .............................................................................................. 17
1.6 Limitations ................................................................................................................. 18
1.7 Conclusion .................................................................................................................. 19

2 Stockage des données Iot : IOT et Techniques de stockage. 20


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Internet des objets (IOT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.1 Fondements de l’IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 Applications de l’IoT . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3 Architecture de l’IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Compression de Données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.1 Concepts Fondamentaux de la Compression . . . . . . . . . . . . . . 26
2.3.2 Types de Compression . . . . . . . . . . . . . . . . . . . . . . . . . . 26

7 | 82
2.3.3 Algorithmes de Compression .......................................................................... 28
2.3.4 Compression Hybride ...................................................................................... 32
2.4 Systèmes Multi-Agents ............................................................................................. 33
2.4.1 Rôle des Systèmes Multi-Agents dans la Compression de Données IoT 34
2.4.2 Étude de Cas : Notre Système Multi-Agent ................................................ 35
2.5 Azure Blob Storage et stockage de données IoT .................................................... 37
2.5.1 Azure Blob Storage ........................................................................................ 37
2.5.2 Architecture d’Azure Blob Storage ............................................................... 38
2.5.3 Stockage des données IoT ............................................................................. 39
2.6 synthèse de l’état de l’art ......................................................................................... 40
2.6.1 Conclusion ...................................................................................................... 42

3 Système multi Agents 43


3.1 Introduction ................................................................................................................ 44
3.1.1 Description de l’Architecture Globale .......................................................... 44
3.2 Fonctionnement des Agents ...................................................................................... 45
3.2.1 Utilisation des Sockets .................................................................................. 46
3.3 Conclusion .................................................................................................................. 49

4 SMA et Stockage des données IOT. 51


4.1 Introduction ................................................................................................................ 52
4.2 Outils et Technologies Utilisés ................................................................................. 52
4.3 Mise en place de l’environnement de collecte de données ....................................... 57
4.4 Collecte de données .................................................................................................. 58
4.5 Développement des Agents ....................................................................................... 59
4.5.1 Agent de Collecte de Données ...................................................................... 59
4.5.2 Agent de Compression ................................................................................... 61
4.5.3 Agent de Stockage .......................................................................................... 62
4.5.4 Organisation Efficace des Données : ............................................................ 63
4.5.5 Agent de Décompression .............................................................................. 63
4.5.6 Fonctionnement de l’Agent de Décompression ............................................ 64

8 | 82
5 Résultats de la Simulation et Discussion 66
5.1 Introduction ................................................................................................................ 67
5.2 Paramètres de Mesure .............................................................................................. 67
5.3 Performance des Algorithmes Individuels .................................................................. 68
5.4 Résultat ..................................................................................................................... 73
5.4.1 Comparaison de la taille des données avant et apres la compression . 73
5.4.2 Comparaison de Taux de compression ........................................................ 74
5.4.3 Comparaison de temps de compression ........................................................ 76
5.4.4 Les données compressées stocker dans le service azure cloud ..................... 77
5.5 Déscussion ................................................................................................................. 78

Références 80

9 | 82
Liste des Tableaux

4.1 La collection de la température et l’humidité .......................................................... 59

5.1 RLE Compression Information ........................................................................... 69


5.2 VLI Compression Information ............................................................................ 69
5.3 Bit-Packing Compression Information ...................................................................... 70
5.4 LZW Compression Information ................................................................................ 71
5.5 RLE+LZW Compression Information ................................................................. 72
5.6 COMPARATIVE ANALYSIS OF RLE, DELTA, VLI, BIT-PACKING, AND
A COMBINATION OF LZW AND RUN-LENGTH ENCODING COMPRES-
SION TECHNIQUES FOR DIFFERENT RESOLUTION ................................. 73

10 | 82
Introduction Générale

Avec l’avènement de l’Internet des Objets (IOT), la collecte et la gestion des données générées
par des capteurs ont pris une importance considérable. Les capteurs météorologiques, en par-
ticulier, jouent un rôle clé dans la surveillance des conditions environnementales, y compris
des paramètres essentiels tels que la température et l’humidité. Les données générées par ces
capteurs ont une grande variété d’applications, de l’agriculture à la météorologie, en passant
par les systèmes de contrôle environnemental.

Cependant, la gestion efficace de ces données météorologiques reste un défi. La multipli-


cation des sources de données et la quantité croissante d’informations exigent des solutions
innovantes pour les collecter, les compresser, les stocker et les gérer. C’est dans ce contexte
que notre projet trouve sa raison d’être.

Notre objectif est de concevoir un système multi-agent qui rationalise le processus de


gestion des données météorologiques, de leur collecte à leur stockage en passant par la com-
pression. Cette approche novatrice repose sur une architecture multi-agent, où chaque agent
remplit un rôle spécifique et contribue de manière coordonnée à l’ensemble du processus.

L’agent de collecte est chargé de réunir les données brutes en temps réel à partir des
capteurs IoT, tandis que l’agent de compression met en œuvre des méthodes de compression
hybrides pour minimiser l’espace de stockage requis. Les données compressées sont ensuite
transmises à l’agent de stockage, qui tire parti d’Azure Blob Storage pour les stocker de
manière structurée. Enfin, l’agent de nettoyage des données obsolètes veille à maintenir
l’efficacité de l’espace de stockage en supprimant les données en fin de vie.

11 | 82
Ce projet est une entreprise ambitieuse qui vise à réduire les coûts de stockage tout en
préservant l’intégrité des données. En optimisant la gestion des données météorologiques, il
contribue à améliorer la prise de décision dans un contexte où les capteurs IoT se multiplient.
Dans les chapitres suivants, nous explorerons en détail les composants et les résultats de ce
projet novateur.

Ce rapport se compose de six chapitres principaux répartis comme suit :


Chapitre 1: Le contexte général du projet
Chapitre 2: Stockage des données Iot : IOT et Techniques de stockage.
Chapitre 3: Système multi agents SMA.
Chapitre 4: SMA et Stockage des données IOT.
Chapitre 5: Résultat de la simulation et Discussion
Chapitre 6: Conclusion
Ces chapitres couvrent l’ensemble de votre projet, de l’introduction générale aux résultats de
vos expérimentations et aux perspectives futures.

12 | 82
Chapter 1

Le contexte général du projet

13 | 82
1.1 Introduction
Ce chapitre introduit le contexte général de notre projet axé sur la gestion efficace des données
IoT météorologiques. Nous explorerons la montée en puissance de l’IoT et son impact sur
la collecte de données météorologiques, ainsi que les défis associés à cette évolution. Nous
identifierons la problématique qui motive notre projet et énoncerons clairement nos objectifs.
À travers cette introduction, nous jetons les bases de notre compréhension du domaine et des
enjeux qui seront abordés tout au long de ce rapport. Plongeons dans l’univers passionnant
de la gestion des données météorologiques IoT.

1.2 Contexte
L’évolution rapide de l’Internet des Objets (IoT) a eu un impact significatif sur notre capacité
à collecter des données à partir de capteurs déployés dans divers environnements. Parmi les
domaines bénéficiant le plus de cette avancée, la surveillance environnementale occupe une
place cruciale. Les capteurs environnementaux IoT sont désormais couramment utilisés pour
collecter des données météorologiques en temps réel, notamment la température et l’humidité.

Cette collecte de données météorologiques en temps réel est essentielle pour de nombreuses
applications, telles que la prévision météorologique, la surveillance des conditions environ-
nementales et la prise de décisions dans des domaines variés, tels que l’agriculture, la gestion
de l’énergie et la logistique. Cependant, cette profusion de données crée de nouveaux défis,
notamment la gestion, la compression et le stockage efficaces de ces informations cruciales.

Dans ce contexte, notre projet se positionne comme une solution novatrice pour répondre
à ces défis. En utilisant une approche basée sur une architecture multi-agent, nous visons à
améliorer la gestion des données météorologiques IoT, en garantissant à la fois leur efficacité
et leur intégrité. Notre objectif est de réduire les coûts de stockage tout en optimisant la
gestion des données pour une utilisation future.

Le contexte actuel de l’IoT et de la surveillance environnementale offre un terrain propice


à l’exploration et à l’innovation, et notre projet s’inscrit parfaitement dans cette dynamique.

14 | 82
En comprenant les besoins et les défis liés à la gestion des données météorologiques IoT,
nous sommes prêts à relever ces défis en proposant une solution basée sur une architecture
multi-agent et des techniques de compression de données hybrides.

1.3 Problématique
La collecte de données IoT, en particulier les données météorologiques générées par des cap-
teurs environnementaux, est une pratique courante. Cependant, cette collecte massive de
données entraı̂ne des défis en matière de gestion, de stockage et d’efficacité. La problématique
qui se pose est de savoir comment gérer de manière optimale ces données tout en garantissant
leur intégrité, leur disponibilité et en réduisant les coûts de stockage.
Plus précisément, les principaux points à considérer sont les suivants :

1. Volume de données élevé : Les capteurs IoT génèrent une quantité importante de
données en continu. La gestion de ces flux massifs de données nécessite des approches
spécifiques pour éviter la saturation des capacités de stockage.

2. Efficacité de stockage : Stocker des données IoT sur le cloud peut entraı̂ner des coûts
significatifs. Il est essentiel de trouver des moyens de compresser les données sans perte
d’information importante pour réduire ces coûts.

3. Intégrité des données : Les données météorologiques sont essentielles pour de nom-
breuses applications. Toute altération des données peut avoir des conséquences graves.
Il est donc crucial de garantir l’intégrité des données à chaque étape de la gestion.

4. Durée de rétention : Les données météorologiques ont généralement une durée de


rétention spécifique. Il est impératif de mettre en place des mécanismes pour supprimer
les données obsolètes de manière systématique.

La problématique au cœur de ce projet est de développer une solution capable de répondre à


ces défis, en exploitant l’architecture multi-agent et les techniques de compression de données
hybrides pour garantir une gestion efficace des données météorologiques IoT.

Notre problèmatique:

15 | 82
”Comment efficacement gérer le volume considérable de données IoT météorologiques
en temps réel collectées par un capteur DHT11, tout en garantissant l’intégrité des données,
optimisant l’espace de stockage et réduisant les coûts associés, grâce à un système multi-agent
innovant?”

Figure 1.1: Problèmatique

1.4 Objectif
L’objectif principal de ce projet est de développer un système de gestion de données IoT
météorologiques basé sur une architecture multi-agent avec des méthodes de compression
hybrides pour optimiser le stockage tout en préservant l’intégrité des données. Les objec-
tifs spécifiques comprennent la collecte de données à partir de capteurs environnementaux,
l’application de techniques de compression hybrides, le stockage structuré des données dans
Azure Blob Storage, la suppression des données obsolètes et l’évaluation des performances
globales du système. L’objectif global est de fournir une solution novatrice pour la gestion ef-
ficace des données IoT météorologiques, en réduisant les coûts de stockage tout en maintenant
la qualité des données.

16 | 82
Figure 1.2: Les objectives de notre systeme multi agents

1.5 Justification de l’étude


La justification de l’étude constitue une étape cruciale pour démontrer la pertinence et
l’importance du projet ”Système Multi-Agent pour le Stockage de Données IoT”. Cette
section explique pourquoi ce projet mérite d’être mené et en quoi il contribue de manière
significative au domaine des systèmes de gestion des données IoT.

Réponse à la Problématique : Le projet vise à résoudre un défi essentiel lié à la gestion


des données générées par les capteurs IoT à savoir le volume massif de données collectées.
Les données IoT, notamment les mesures de température et d’humidité, sont cruciales dans
diverses applications, de la surveillance environnementale à la gestion de la chaı̂ne du froid.
Cependant, leur volume considérable peut rapidement devenir ingérable. Ce projet propose

17 | 82
une solution innovante pour gérer efficacement ces données, ce qui répond directement à la
problématique de la surabondance de données IoT.

Bénéfices et Avantages : L’efficacité de la gestion des données IoT a un impact majeur


sur la réduction des coûts de stockage et sur l’optimisation de l’espace de stockage requis. En
réduisant l’espace nécessaire pour stocker les données, ce projet contribue à des économies
substantielles pour les entreprises et les organisations qui dépendent de données IoT.

Innovation ou Contribution : Ce projet est innovant car il intègre une architec-


ture multi-agent avec des méthodes de compression hybrides. La combinaison de la com-
pression RLE et LZW présente une approche novatrice pour la gestion des données IoT.
Cette méthodologie hybride offre un potentiel d’optimisation significatif tout en préservant
l’intégrité des données.

Pertinence Sociale ou Économique : La gestion efficace des données IoT n’a pas
seulement des avantages économiques, mais elle peut également avoir un impact social im-
portant. Par exemple, dans le contexte de la surveillance environnementale, des données de
capteurs IoT précises et bien gérées peuvent contribuer à la prise de décisions éclairées pour
protéger l’environnement et la santé publique.

En résumé, le projet ”Système Multi-Agent pour le Stockage de Données IoT” a pour


objectif de relever le défi pressant de la gestion des données IoT en proposant une approche
novatrice de compression hybride. Cette solution offre des avantages économiques et sociaux
importants, tout en contribuant à l’évolution du domaine de la gestion des données IoT.

1.6 Limitations
Malgré les avantages et l’innovation que présente le projet ”Système Multi-Agent pour le
Stockage de Données IoT”, il est important de reconnaı̂tre les limitations inhérentes à cette
approche. Ces limitations peuvent influencer la mise en œuvre, la performance et l’impact
du système. Il est essentiel de les prendre en compte pour une compréhension complète du

18 | 82
projet. Les principales limitations comprennent :

Dépendance aux Conditions Environnementales : Les capteurs IoT utilisés pour


la collecte de données, en particulier les mesures de température et d’humidité, sont sensibles
aux variations des conditions environnementales. Les changements brusques de température,
l’humidité excessive ou d’autres facteurs environnementaux peuvent affecter la précision des
données collectées, ce qui nécessite une gestion appropriée de l’environnement de déploiement.

Sécurité : Alors que le projet se concentre principalement sur la gestion des données,
il est important de noter que la sécurité des données est un aspect critique. Les menaces
potentielles, telles que la cybercriminalité, doivent être évaluées et des mesures de sécurité
appropriées doivent être mises en place pour protéger les données sensibles.

1.7 Conclusion
Ce premier chapitre a présenté le contexte général de notre projet, mettant en avant le défi
lié à la gestion des données massives générées par les capteurs IoT. Notre objectif principal
est de proposer une solution de compression hybride innovante pour optimiser le stockage des
données IoT tout en préservant leur qualité. Le prochain chapitre examinera la littérature
existante dans ce domaine en constante évolution.

19 | 82
Chapter 2

Stockage des données Iot : IOT et Tech-


niques de stockage.

20 | 82
2.1 Introduction
L’Internet des Objets (IoT) est une technologie en constante expansion qui a transformé
la manière dont les données sont collectées, transmises et exploitées dans divers domaines,
de la surveillance environnementale à la santé connectée. Les capteurs IoT génèrent une
quantité massive de données, devenant ainsi une source inestimable d’informations pour de
nombreuses applications. Cependant, la gestion de ces données massives présente des défis
considérables, notamment la nécessité de stockage, de transmission et d’analyse efficaces.

Ce chapitre se penche sur les concepts clés qui sous-tendent le projet ”Système Multi-
Agent pour le Stockage de Données IoT”. Il examine les principaux aspects de l’Internet des
Objets, de la compression de données et des systèmes multi-agents, qui sont au cœur de la
gestion des données IoT. L’objectif est de fournir un contexte solide pour la compréhension
des défis et des opportunités liés à la gestion des données IoT, tout en mettant en lumière
les innovations et les tendances actuelles dans ces domaines.

Nous débuterons par une exploration approfondie de l’Internet des Objets, en présentant
ses fondements, ses applications et ses architectures typiques. Ensuite, nous nous pencherons
sur l’art de la compression de données, en mettant en évidence les techniques couramment
utilisées et leurs avantages. Enfin, nous aborderons le concept de systèmes multi-agents et
son application dans la gestion des données IoT, en soulignant les avantages et les défis as-
sociés à cette approche.

Ce chapitre vise à établir une base solide pour la compréhension des enjeux du projet, en
préparant le terrain pour les chapitres à venir. Il met en évidence l’importance cruciale de
la gestion des données IoT dans un monde de plus en plus connecté, tout en explorant les
innovations qui façonnent l’avenir de cette technologie.

21 | 82
2.2 Internet des objets (IOT)
L’Internet des Objets (IoT) est un réseau interconnecté d’appareils physiques, de dispositifs,
de véhicules et d’autres équipements intégrant des capteurs, des logiciels et des technologies
de communication. Il permet à ces objets de collecter et d’échanger des données entre eux
ou avec des systèmes externes via Internet. Cette technologie connecte des objets du quo-
tidien à des réseaux, leur permettant de recueillir des informations, de les transmettre et
d’effectuer des actions en fonction de ces données. L’IoT ouvre de nombreuses perspectives,
notamment dans les domaines de la domotique, de la santé, de l’industrie, des transports et
de l’agriculture. Les appareils IoT sont équipés de capteurs qui recueillent des données, les
transfèrent par des moyens sans fil ou câblés, et les stockent ou les traitent dans le cloud.
Cette technologie est associée à des concepts tels que la connectivité, l’automatisation, la
collecte de données en temps réel et l’intégration de l’intelligence artificielle pour améliorer
les opérations et l’efficacité. Elle constitue un élément clé de la transformation numérique et
stimule l’innovation dans de nombreux secteurs.

2.2.1 Fondements de l’IoT


Au cœur de l’IoT se trouve la capacité des appareils à collecter des données et à les trans-
mettre à des systèmes centraux ou à d’autres dispositifs. Cette capacité repose sur plusieurs
éléments fondamentaux :

• Capteurs et Dispositifs : Les capteurs sont des composants essentiels de l’IoT. Ils
peuvent mesurer une variété de paramètres tels que la température, l’humidité, la pres-
sion, la localisation, et bien d’autres. Ces dispositifs transforment les caractéristiques
physiques du monde réel en données numériques.

• Connectivité : Les appareils IoT sont équipés de technologies de communication


telles que le Wi-Fi, le Bluetooth, la 4G/5G, ou même des protocoles spécifiques à l’IoT
comme LoRaWAN ou Sigfox. Cette connectivité permet aux appareils de transmettre
des données à des serveurs distants ou à d’autres dispositifs.

22 | 82
• Cloud Computing : Les données collectées par les dispositifs IoT sont souvent en-
voyées vers des serveurs dans le cloud, où elles sont stockées, traitées et analysées. Le
cloud offre une énorme capacité de stockage et de calcul, permettant de gérer efficace-
ment les données massives générées par l’IoT.

• Applications et Services : Les données IoT alimentent un large éventail d’applications,


de la domotique à la gestion de la chaı̂ne d’approvisionnement en passant par la santé
connectée. Ces applications offrent des avantages significatifs en termes de surveillance,
d’automatisation et de prise de décision.

2.2.2 Applications de l’IoT


L’IoT a des répercussions dans de nombreux domaines. Voici quelques exemples d’applications
courantes :

• Santé Connectée : Les dispositifs IoT, tels que les moniteurs de fréquence cardiaque
et les balances connectées, permettent le suivi en temps réel de la santé des individus.
Les données sont souvent partagées avec les professionnels de la santé pour une meilleure
gestion des soins.

• Agriculture Intelligente : L’IoT est utilisé pour surveiller les conditions environ-
nementales, l’irrigation et la croissance des cultures. Cela permet d’optimiser la pro-
duction agricole et de réduire les pertes.

• Villes Intelligentes : Les capteurs IoT sont déployés dans les villes pour surveiller la
qualité de l’air, la gestion des déchets, le trafic, et d’autres aspects de la vie urbaine.
Cette surveillance permet d’améliorer la qualité de vie des citoyens.

• Industrie 4.0 : L’IoT est au cœur de la transformation numérique de l’industrie. Les


capteurs surveillent les équipements industriels, optimisent la production et réduisent
les temps d’arrêt non planifiés.

23 | 82
• Environnement et Surveillance : Les chercheurs utilisent l’IoT pour collecter des
données environnementales cruciales, telles que les niveaux de pollution, les change-
ments climatiques et la surveillance de la faune.

2.2.3 Architecture de l’IoT


Les architectures IoT varient en fonction des besoins spécifiques de chaque application. Elles
peuvent être centralisées, décentralisées ou hybrides. Les données collectées peuvent être
traitées localement sur le dispositif IoT lui-même, ou elles peuvent être transmises vers des
serveurs cloud pour un traitement ultérieur. Ces architectures sont conçues pour répondre
aux exigences de sécurité, de latence, de bande passante et de scalabilité de chaque applica-
tion.
L’Internet des Objets représente un domaine en constante évolution avec un potentiel
considérable. Il offre une multitude d’opportunités pour améliorer l’efficacité opérationnelle,
prendre des décisions éclairées et créer de nouveaux services innovants. Toutefois, la gestion
des données massives générées par l’IoT est devenue un défi de taille, ce qui nous conduit à
explorer les techniques de compression et les architectures multi-agents, comme discuté dans
les sections suivantes.
L’architecture de l’Internet des Objets (IoT) est une structure organisée qui définit com-
ment les appareils connectés interagissent, collectent, transmettent et traitent les données.
Elle comprend généralement quatre couches principales :
• Couche de Perception (Capteurs) : Cette couche représente les capteurs et les
appareils qui acquièrent des données physiques du monde réel, telles que la température,
l’humidité, la pression, etc. Ces capteurs sont souvent dotés de microcontrôleurs ou de
microprocesseurs pour collecter des informations.

• Couche de Connectivité : Une fois les données collectées, cette couche gère la com-
munication et la transmission des données des capteurs vers les réseaux, qu’il s’agisse
de réseaux locaux (comme le Wi-Fi, le Bluetooth) ou de réseaux étendus (comme la
4G, la 5G, le LPWAN).

• Couche de Traitement et de Gestion : Cette couche prend en charge le traitement


initial des données brutes. Elle peut inclure des microcontrôleurs, des passerelles ou des

24 | 82
serveurs qui effectuent des opérations de filtrage, de normalisation et de prétraitement
des données avant de les transmettre à des systèmes plus avancés.

• Couche d’Application et de Services : C’est la couche où les données prétraitées


sont utilisées pour offrir des services aux utilisateurs finaux. Elle implique souvent des
systèmes d’analyse de données, des applications logicielles, des services cloud, etc., qui
exploitent les données collectées pour fournir des informations utiles ou des actions
automatisées.

Figure 2.1: Architecture de l’IOT

25 | 82
2.3 Compression de Données
La compression de données est un élément clé de la gestion des données IoT, et elle joue
un rôle central dans le projet ”Système Multi-Agent pour le Stockage de Données IoT”.
Cette section explore les concepts fondamentaux de la compression de données, les types de
compression, son importance dans les systèmes IoT et l’approche de compression hybride
adoptée dans le projet.

2.3.1 Concepts Fondamentaux de la Compression


La compression de données fait référence à la technique de réduction de la taille des données
tout en préservant leur intégrité et leur utilité. Dans le contexte des systèmes IoT, la compres-
sion est essentielle pour minimiser la consommation de bande passante, économiser l’espace
de stockage et prolonger la durée de vie de la batterie des dispositifs IoT. Les objectifs
de la compression incluent la réduction de la taille des données sans perte d’informations
significatives.

2.3.2 Types de Compression


Deux catégories principales de compression de données existent : la compression sans perte et
la compression avec perte. La compression sans perte permet de restaurer les données com-
pressées à leur état d’origine sans aucune perte d’informations. Les exemples d’algorithmes
de compression sans perte incluent le codage RLE (Run-Length Encoding), le codage LZW
(Lempel-Ziv-Welch) et le codage Huffman. La compression avec perte réduit la taille des
données en éliminant certaines informations, ce qui entraı̂ne une perte d’informations, mais
elle peut permettre une compression plus importante.

A. Compression sans perte


La compression sans perte est une méthode utilisée pour réduire la taille des fichiers tout en
préservant intégralement l’intégrité des données d’origine. C’est l’opposé de la compression
avec perte, car elle conserve toutes les informations du fichier. La compression sans perte
utilise des algorithmes pour réduire la redondance et représenter les données de manière plus

26 | 82
Figure 2.2: lossless-lossy-data-compression

efficace. Cette technique est couramment utilisée dans des situations où il est essentiel de
préserver la précision des données, telles que le stockage de documents et la transmission de
données. Elle est idéale pour les documents basés sur du texte, les logiciels et toute donnée
où aucune perte d’information n’est acceptable.

B. Compression avec perte


La compression avec perte est une méthode appliquée lorsque la perte de données est ac-
ceptable pour des applications spécifiques. Contrairement à la compression sans perte, qui
préserve intégralement les données, la compression avec perte élimine sélectivement des in-
formations moins critiques ou redondantes des fichiers. Elle est couramment utilisée dans des
situations telles que la visioconférence, où une perte mineure de la qualité de l’image permet
une transmission en temps réel. La compression avec perte fonctionne bien pour les types de
médias tels que l’audio, la vidéo et les images, où une certaine perte de qualité ou de détail
est acceptable tout en offrant des résultats satisfaisants. Cependant, elle n’est pas adaptée
à la préservation de tous les types de données, comme les documents textuels ou les logiciels
qui nécessitent une rétention complète des données.

27 | 82
Figure 2.3: comparaison entre la compression avec et sans perte

2.3.3 Algorithmes de Compression


Plusieurs algorithmes de compression sont utilisés dans le domaine de la compression de
données. Dans le cadre de ce projet, deux algorithmes spécifiques sont mis en œuvre pour
optimiser la compression des données IoT :

• Compression RLE (Run-Length Encoding) :La compression RLE (Run-Length


Encoding) est une technique de compression sans perte qui vise ‘a réduire la taille des
données en identifiant les séquences de données répétitives et en les remplaçant par une
seule occurrence suivie du nombre de répétitions. L’algorithme RLE est relativement
simple mais efficace pour compresser des données ou‘ des motifs répétitifs se produisent
fréquemment. Le codage par longueur de course (Run-Length Encoding - RLE) est une
méthode de compression de données qui identifie et remplace les séquences répétitives
de bits identiques par un comptage de leurs occurrences. En simplifiant, le RLE réduit
la taille des données en exprimant les séries continues de caractères, appelées ”runs”,
de manière plus concise. Chaque ”run” est encodé sur deux octets : le premier octet
indique le nombre de répétitions, suivi du caractère original. Il est à noter que les

28 | 82
caractères individuels sont représentés par des ”runs” d’une seule occurrence, et que
les espaces vides dans les données textuelles sont souvent omis.
À titre d’exemple :
Entrée : YYYBBCCCCDEEEEEERRRRRRRRRR
Sortie : 3Y2B4C1D6E10R

Cela signifie que dans la séquence d’entrée, ”YYY” est représenté par ”3Y”, ”BB” par
”2B”, ”CCCC” par ”4C”, et ainsi de suite. Bien que le RLE ne puisse pas atteindre les
taux de compression élevés des techniques plus avancées, sa simplicité de mise en œuvre
et sa rapidité d’exécution en font une option pratique pour des tâches de compression
moins complexes.

• La compression LZW (Lempel-Ziv-Welch) est une technique de compression sans


perte qui vise a‘ r´eduire la taille des donn´ees en rempla¸cant les s´equences de car-
act‘eres fr´equemment r´ep´et´ees par des codes plus courts. L’algorithme LZW est
plus complexe que RLE, mais il est tr‘es efficace pour compresser des donn´ees ou‘
de nombreux motifs de r´ep´etition se produisent. L’algorithme Lempel-Ziv-Welch
(LZW) est une méthode sophistiquée de compression de données qui utilise un dictio-
nnaire pour substituer des motifs récurrents par des codes plus concis. À la différence
du Run-Length Encoding (RLE), le LZW ne se limite pas aux répétitions immédiates,
mais identifie et remplace les motifs par des codes basés sur des séquences déjà ren-
contrées dans le flux de données.
En résumé, le LZW réduit la taille des données en remplaçant les motifs fréquents par
des codes plus courts. Lorsqu’il rencontre un motif non répertorié dans le dictionnaire,
il l’ajoute pour référence future.
Par exemple :
Prenons la séquence suivante :
Entrée : TOBEORNOTTOBEORTOBEORNOT
Le processus du LZW inclut la construction progressive d’un dictionnaire avec les
séquences rencontrées :
• T, O, B, E, R, N, (caractères uniques)
• TO, BE, OR, NO, OT (paires de caractères)
• TOB, EOR, NOT, TOB, EOR, TOB, EOR, NOT, (combinaisons de trois caractères)

29 | 82
Chaque entrée dans le dictionnaire est ensuite représentée par un code associé. Ainsi,
la séquence complète peut être exprimée comme suit :
Sortie : 0 1 2 3 4 1 5 6 2 7 3 8
L’algorithme LZW se distingue par sa capacité à compresser efficacement les données
en remplaçant les motifs récurrents par des codes plus courts, ce qui contribue à réduire
significativement la taille des données. Sa flexibilité face à différents types de motifs de
données en fait une méthode de compression adaptable pour une variété de données.

(a) Résultat de l’Algorithm RLE (b) Résultat de l’Algorithm LZW

Figure 2.4: La méthode de compression hybride.

Ces deux techniques de compression sont appliquées pour minimiser l’espace nécessaire
au stockage des données IoT collectées, optimisant ainsi l’efficacité du système de ges-
tion de données.

• Deltat Encoding : Egalement connu sous le nom de compression delta, est une
technique de compression de données qui se concentre sur la représentation des données
comme la différence entre des valeurs séquentielles. Son objectif est de réduire la taille
des données en encodant le changement (delta) d’un point de données au suivant, plutôt
que de stocker les valeurs absolues. Cette méthode est particulièrement utile lorsque
les valeurs consécutives dans un ensemble de données présentent de petites variations.
Par exemple, considérez l’ensemble de données suivant :
Valeurs d’origine : 50, 52, 54, 57, 59
30 | 82
Le codage delta représenterait cela comme la valeur initiale (50), suivie des différences
par rapport à la valeur précédente :
Encodage Delta : 50, +2, +2, +3, +2
La séquence encodée indique que la valeur initiale est 50, et que les valeurs suivantes
peuvent être dérivées en ajoutant les différences indiquées. De cette manière, le codage
delta peut comprimer efficacement des données présentant une série de changements
incrémentiels. Bien qu’il puisse ne pas atteindre des taux de compression aussi élevés
que certaines méthodes avancées, sa simplicité et son efficacité en font un choix précieux
pour certains types de tâches de compression de données.

• Bit-Packing : Le ”Bit-Packing” est une méthode de compression de données axée sur


l’organisation et l’encodage efficaces des données en regroupant plusieurs valeurs dans
un nombre fixe de bits. Son efficacité se manifeste particulièrement lorsqu’il s’agit d’un
ensemble de valeurs limitées pouvant être représentées dans un nombre spécifique de
bits.
Par exemple, envisageons un ensemble de quatre valeurs : 5, 6, 7 et 8. Chaque valeur
peut être représentée avec 3 bits car elles se situent dans la plage de 0 à 7. En utilisant
la technique de ”Bit-Packing”, ces valeurs seraient encodées comme suit :
Valeurs Originales : 5, 6, 7, 8
Représentation ”Bit-Packed” :
101 (5 en binaire) 110 (6 en binaire) 111 (7 en binaire) 1000 (8 en binaire) Dans cet
exemple, chaque valeur est encodée de manière optimale en utilisant le nombre minimal
de bits nécessaire pour couvrir la plage de valeurs. Le ”Bit-Packing” se révèle efficace
pour économiser de l’espace, surtout lorsqu’il s’agit de données pouvant être limitées à
une plage spécifique. Bien qu’il ne permette pas de compresser de manière significative
les données avec une large gamme, il représente une méthode précieuse pour optimiser
l’utilisation du stockage et de la mémoire.

• VLI Algorithm :L’Encodage d’Entiers à Longueur Variable (VLI) est une méthode
de compression de données qui se focalise sur l’encodage efficient des valeurs entières en
utilisant un nombre de bits adaptatif. Cette technique s’avère très utile lorsque vous
avez un éventail de valeurs entières présentant des magnitudes variables et que vous

31 | 82
souhaitez les représenter de manière concise avec un minimum de bits.

Par exemple, prenons un ensemble de valeurs entières : 15, 257, 10000 et 3. Le VLI
encoderait ces valeurs comme suit :
Valeurs Originales : 15, 257, 10000, 3
Représentation VLI :
00001111 (15 en binaire) 10000001 00000001 (257 en binaire) 11011100 00000000 00001000
(10000 en binaire) 00000011 (3 en binaire)

Avec le VLI, chaque valeur est encodée en utilisant le nombre minimum de bits requis
pour représenter cette valeur spécifique. Ceci permet un stockage plus efficace des
entiers de petite taille, mais peut entraı̂ner une représentation légèrement plus longue
pour les entiers de grande taille. Cette approche s’avère particulièrement avantageuse
pour encoder des entiers présentant des magnitudes variables tout en minimisant les
exigences de stockage. Le VLI est souvent employé dans des applications nécessitant le
stockage et la transmission efficaces de valeurs entières variées, petites ou grandes.

2.3.4 Compression Hybride


La méthode de compression hybride est une approche novatrice de compression de données
qui associe les forces de deux algorithmes distincts : le codage par longueur de répétition
(RLE) et le codage de Lempel-Ziv-Welch (LZW). Spécifiquement conçue pour compresser les
données de l’Internet des objets (IoT), notamment les flux de données comme les observations
météorologiques provenant de capteurs tels que le DHT11, cette méthode excelle en intégrant
de manière fluide la simplicité et l’efficacité du RLE avec les capacités de reconnaissance de
motifs du LZW.
Le RLE, une technique simple mais puissante, identifie les occurrences répétées de la
même valeur de données et les condense en une seule valeur suivie d’un compte. Il se révèle
extrêmement utile pour compresser les séquences de données contenant des valeurs répétées,
réduisant ainsi considérablement la taille globale des données.
En revanche, le LZW, basé sur le codage par dictionnaire, excelle dans la détection et la
compression de motifs récurrents au sein des données. En remplaçant ces motifs par des codes

32 | 82
plus courts, il permet une réduction significative de la taille des données tout en assurant
une compression sans perte.
Dans la méthode de compression hybride, le processus débute par le codage RLE des
séquences répétitives de valeurs de température et d’humidité au sein des données IoT. En-
suite, les données compressées par RLE passent par l’algorithme LZW, qui identifie et encode
les motifs récurrents au sein du flux compressé par RLE, en exploitant ses capacités de re-
connaissance de motifs.
Cette combinaison harmonieuse des deux techniques produit un taux de compression im-
pressionnant. Notamment, la méthode de compression hybride affiche un taux de compres-
sion exceptionnel pouvant atteindre jusqu’à 94% dans certaines conditions. Cette efficacité
remarquable met en avant la synergie collaborative entre le RLE et le LZW, optimisant ef-
ficacement à la fois le stockage et la transmission des données. De plus, cette méthode est
spécialement adaptée à la compression de données en temps réel, en faisant un choix idéal
pour les applications IoT nécessitant une transmission rapide des données et un stockage
efficace. En somme, la méthode de compression hybride se présente comme une solution
élégante qui réduit considérablement l’empreinte de stockage, améliore l’efficacité de trans-
fert des données et préserve l’intégrité des données d’origine de l’IoT. Elle s’avère être une
approche prometteuse et pratique dans le domaine en constante évolution des applications
IoT et de la gestion en temps réel des données.

2.4 Systèmes Multi-Agents


Le système multi-agent (SMA) présenté dans ce rapport est une architecture intelligente com-
posée de multiples agents autonomes interagissant pour atteindre des objectifs communs. Ces
agents, entités logicielles ou matérielles, sont dotés de capacités cognitives, de connaissances
spécifiques, et ont la capacité de percevoir, raisonner et agir de manière autonome dans un
environnement dynamique.

Architecture Globale : L’architecture du SMA se compose de plusieurs agents répartis,


chacun ayant des responsabilités spécifiques. Les principaux éléments de l’architecture inclu-
ent :

33 | 82
• Agents : Ces entités représentent des unités autonomes capables de percevoir l’environnement,
de prendre des décisions et d’agir en conséquence. Chaque agent peut posséder des con-
naissances propres et peut interagir avec d’autres agents pour atteindre des objectifs
communs.

• Superviseurs : Ils assurent la supervision et la coordination des actions des agents,


fournissant des directives et facilitant la communication entre eux pour garantir la
cohérence et l’efficacité du système.

• Communication :Les agents communiquent entre eux via des protocoles d’échange
d’informations. Ces mécanismes de communication permettent aux agents de partager
des données, de collaborer et de résoudre des problèmes de manière distribuée.

2.4.1 Rôle des Systèmes Multi-Agents dans la Compression de


Données IoT
Les systèmes multi-agents jouent un rôle crucial dans la compression de données IoT en rai-
son de leur capacité à collaborer, à partager des tâches et à traiter des données de manière
distribuée. Voici un aperçu des rôles importants qu’ils jouent dans ce contexte :

• Traitement Distribué : Les systèmes multi-agents permettent de répartir la tâche


de compression sur plusieurs agents. Chaque agent peut être responsable de traiter une
partie spécifique des données, ce qui permet d’accélérer le processus global de compres-
sion.

• Parallélisme : En utilisant un ensemble d’agents, le processus de compression peut


être parallélisé. Chaque agent peut travailler sur différentes parties des données simul-
tanément, accélérant ainsi le temps de traitement global.

34 | 82
• Adaptabilité et Flexibilité : Les agents peuvent être programmés pour s’adapter
dynamiquement aux variations dans les modèles de données. Ils peuvent ajuster leurs
méthodes de compression en fonction des types de données reçus, assurant ainsi une
compression optimale et efficace.

• Optimisation de la Compression : En utilisant des algorithmes de compression


différents sur différents agents, les systèmes multi-agents peuvent comparer et sélectionner
la meilleure méthode de compression pour chaque type de données, optimisant ainsi le
taux de compression tout en préservant la qualité des données.

• Gestion de la Charge : La répartition des tâches entre les agents permet de gérer
efficacement la charge de travail. Les agents peuvent être équilibrés en fonction de la
disponibilité des ressources, évitant ainsi la surcharge de certains agents et assurant
une utilisation équilibrée des ressources disponibles.

• Redondance et Fiabilité : En ayant plusieurs agents travaillant sur des parties


distinctes des données, cela peut garantir une certaine redondance dans le processus de
compression. En cas de défaillance d’un agent, les autres agents peuvent compenser,
améliorant ainsi la fiabilité du système.

2.4.2 Étude de Cas : Notre Système Multi-Agent


L’architecture de notre système multi-agent dédié à la gestion des données IoT repose sur
une approche distribuée. Dans ce schéma, plusieurs agents travaillent de manière collabo-
rative pour assurer une gestion efficiente des données IoT. Le processus s’engage avec notre
Agent de Collecte de Données (ACD), qui est chargé de rassembler les données brutes
provenant des divers capteurs IoT. Ces données sont souvent générées en continu, engendrant
un volume considérable.

L’Agent de Compression de Données (ACmpD) joue un rôle central dans notre


architecture. Il met en œuvre des méthodes de compression hybrides, notamment les tech-

35 | 82
niques RLE et LZW, pour réduire significativement l’espace de stockage requis. Cette phase
de compression est essentielle pour gérer de manière efficiente le volume massif de données
générées par les capteurs.

Les données compressées sont ensuite acheminées vers l’Agent de Stockage de Données
(ASD). Celui-ci se charge d’organiser les données de manière structurée en utilisant le ser-
vice Azure Blob Storage. Une particularité de notre système est la création de conteneurs
distincts pour chaque journée, ce qui assure une organisation claire des données.

L’Agent de Nettoyage de Données Obsolètes (ANDO) constitue un élément clé


pour maintenir un stockage propre et efficient. Il surveille les dates de rétention des données et
procède automatiquement à la suppression des données qui ont dépassé leur période d’utilité,
garantissant ainsi l’optimisation de l’espace de stockage.

L’Agent de Communication (ACm) assure la coordination des opérations entre les


différents agents pour garantir une transmission fluide des données tout au long du processus.
Enfin, une Interface Utilisateur (IU) est mise à la disposition des utilisateurs pour surveiller
le système, prendre des décisions éclairées en se basant sur les données collectées, et intervenir
en cas de besoin.

Cette architecture novatrice se veut être une solution complète et efficace pour gérer le
volume massif de données IoT générées par les capteurs. Elle permet de réduire les coûts de
stockage tout en conservant l’intégrité des données tout au long du processus, ouvrant ainsi
la voie à une gestion des données IoT plus efficiente.

En résumé, cette figure2.4 de cas détaille comment chaque agent contribue au succès du
système multi-agent pour la gestion des données IoT. Chaque rôle est essentiel pour garantir
l’efficacité de la collecte, de la compression, du stockage et de la gestion des données. Le
système offre des avantages économiques et pratiques en répondant au défi pressant de la
gestion des données IoT à volume massif.

36 | 82
Figure 2.5: Architecture de system

2.5 Azure Blob Storage et stockage de données IoT


Le stockage efficace des données IoT est un élément essentiel de notre projet visant à optimiser
la gestion des données générées par les capteurs IoT. Dans cette section, nous explorerons
comment nous avons choisi d’utiliser Azure Blob Storage, un service de stockage cloud fourni
par Microsoft, pour répondre à nos besoins de stockage des données IoT.

2.5.1 Azure Blob Storage


Azure Blob Storage est un service de stockage objet cloud de Microsoft Azure. Il permet le
stockage hautement évolutif et économique de données non structurées, telles que des fichiers
binaires ou des données textuelles. Les principales caractéristiques d’Azure Blob Storage qui
ont conduit à son choix dans notre projet sont les suivantes :

37 | 82
• Évolutivité : Azure Blob Storage permet de stocker un volume massif de données,
adapté aux besoins croissants de l’Internet des objets (IoT).

• Durabilité : Les données stockées dans Azure Blob Storage sont répliquées sur plusieurs
centres de données, garantissant leur disponibilité et leur durabilité.

• Sécurité : Le service offre des fonctionnalités de sécurité robustes, notamment le


chiffrement des données au repos et en transit.

• Organisation des données : Les données peuvent être organisées en conteneurs et en


blobs (objets), ce qui permet une structure logique pour le stockage et la récupération
des données.

2.5.2 Architecture d’Azure Blob Storage


Cette architecture repose sur plusieurs composants clés :

1. Compte de Stockage :À la base de l’architecture se trouve le ”Compte de Stockage”.


Il agit comme un conteneur global pour les services de stockage Azure et offre la pos-
sibilité de créer, gérer et sécuriser différents types de données.

2. Conteneurs :À l’intérieur de chaque compte de stockage, les ”Conteneurs Blob” sont
créés pour organiser logiquement les données. Ces conteneurs servent de regroupe-
ment pour les objets Blob et permettent une segmentation logique des données sans
hiérarchie.

3. Objets Blob :Les ”Objets Blob” constituent les données réelles stockées dans les
conteneurs. Avec différents types tels que Bloc Blob, Page Blob et Blob Append, ils
peuvent stocker une variété de données, des fichiers médias aux informations textuelles.

38 | 82
4. Accès et Sécurité :Azure Blob Storage propose divers mécanismes de sécurité pour
protéger les données, y compris les clés d’accès partagées, les signatures d’accès partagé
(SAS) et les contrôles d’accès basés sur les rôles (RBAC). Ces fonctionnalités permet-
tent de restreindre et de gérer l’accès aux données stockées.

5. Redondance et Disponibilité :Des options de redondance des données sont disponibles


pour assurer la durabilité et la disponibilité des données. Ces options incluent la re-
dondance géographique, la redondance au niveau de la zone, et la redondance géo-
redondante, offrant ainsi une protection contre les pannes matérielles ou les catastro-
phes naturelles.

6. Intégration :Azure Blob Storage s’intègre de manière transparente à d’autres services


Azure, offrant ainsi la possibilité d’utiliser les données stockées pour alimenter des ap-
plications, des analyses ou d’autres services. Cette intégration permet une utilisation
efficace des données stockées pour divers cas d’utilisation.

2.5.3 Stockage des données IoT


Dans notre système multi-agent, l’agent de stockage est responsable de la transmission et de
l’organisation des données IoT dans Azure Blob Storage. Les données collectées par l’agent
de collecte sont préalablement compressées par l’agent de compression, puis transmises à
l’agent de stockage.

L’une des caractéristiques intéressantes de notre approche est l’organisation des données
dans des conteneurs distincts pour chaque jour. Cette structure garantit une gestion claire et
chronologique des données IoT. Les conteneurs sont nommés en fonction de la date (par exem-
ple, ”2023-11-01” pour les données collectées le 1er novembre 2023). À l’intérieur de chaque
conteneur, les données sont stockées sous forme de blobs, permettant ainsi une récupération
efficace.

39 | 82
Figure 2.6: Azure Blob

L’utilisation d’Azure Blob Storage facilite la gestion et l’accès aux données stockées. De
plus, le service offre des fonctionnalités avancées, telles que la définition de politiques de
rétention, qui permettent de supprimer automatiquement les données obsolètes, contribuant
ainsi à maintenir un espace de stockage propre et efficace.

Dans la section des résultats, nous examinerons plus en détail comment cette stratégie
de stockage a contribué à la gestion efficace des données IoT collectées par notre système
multi-agent.

2.6 synthèse de l’état de l’art


L’état de l’art dans le domaine de la compression de données pour les paramètres de mesure,
en particulier dans le contexte de l’Internet des Objets (IoT), montre un intérêt croissant
pour l’optimisation de la transmission et du stockage des données. Plusieurs chercheurs ont
exploré diverses techniques de compression, à la fois sans perte et avec pertes, pour gérer les
données IoT. Voici un aperçu des principales conclusions tirées de la littérature :

40 | 82
[1] Prof. Dipti Mathpal: Cette référence examine diverses techniques de compression
de données, notamment des méthodes de compression sans perte. Elle propose également
une étude comparative de ces techniques pour évaluer leur efficacité.

[2] Prof. Ruchi Gupta : Dans cette référence, les auteurs comparent des méthodes de
compression de données avec perte et sans perte. Ils évaluent ces méthodes en utilisant des
métriques telles que le taux de compression, le facteur de compression, le gain de compres-
sion, le pourcentage d’économies, le temps de compression, etc.

[3] Amandeep Singh : Cette référence présente une approche de compression hybride
qui combine la réduction dynamique des bits et le codage Huffman. Cette méthode vise à
améliorer le taux de compression par rapport aux méthodes de compression conventionnelles.

[4] Rupinder Singh : L’auteur propose un nouvel algorithme de réduction des bits qui
exploite la théorie des nombres et des techniques de différentiation de fichiers pour réduire
la complexité temporelle de la compression de données.

[5] Balasubramanian: Cette référence effectue une comparaison de diverses techniques


de compression sans perte, notamment le codage Huffman, le codage arithmétique, le codage
prédictif sans perte, le codage JPEG sans perte et le codage par longueur de course (Run-
Length Encoding). L’analyse se concentre sur des images et évalue les taux de compression
et les temps de traitement.

[6] Vijayalakshmi : L’auteur discute de l’architecture de compression des documents en


langue tamoule et met en avant l’utilisation du codage Huffman comme une méthode efficace
pour compresser des images en comparaison avec d’autres techniques de compression sans
perte.

[7] R: Cette référence aborde l’utilisation de l’algorithme de prétraitement et de


l’encodage delta pour réduire la quantité de données à transmettre. L’objectif est d’améliorer
les perfor- mances du système, en particulier dans le contexte des applications de transport
ferroviaire.

41 | 82
[8]V.G.Savani : L’auteur décrit l’implémentation d’un algorithme de compression de
données dans un FPGA à l’aide du kit de développement intégré Xilinx. La référence souligne
également les avantages d’une telle implémentation, notamment la facilité de mise à jour
matérielle et des temps de compression plus rapides.

[9]Yoshifuji : Cette référence traite de l’implémentation et des performances de la ma-


trice et du vecteur clairsemés sur le processeur PEZY-SC.

Chaque référence offre une contribution unique à la compréhension de la compression


de données, de ses méthodes, de ses avantages et de ses applications dans le domaine des
systèmes IoT. Ces travaux de recherche constituent un cadre essentiel pour situer notre propre
projet dans le contexte de l’état de l’art actuel.

2.6.1 Conclusion
Dans ce chapitre, nous avons exploré l’état actuel de l’Internet des Objets (IoT) et son
application dans la surveillance environnementale. Nous avons examiné les tendances, tech-
nologies et défis liés à la collecte et à la gestion des données des capteurs IoT. Cette analyse
approfondie a mis en évidence l’importance croissante de l’IoT dans la surveillance envi-
ronnementale, offrant des opportunités pour des applications variées telles que la prévision
météorologique et la gestion énergétique. Nous avons également identifié des concepts clés
tels que la gestion des données en temps réel, la compression des données IoT et l’architecture
multi-agent, qui seront fondamentaux pour notre projet. En somme, cette exploration fournit
une base solide pour la mise en place d’une solution novatrice visant à optimiser la gestion
des données météorologiques IoT dans le contexte de la surveillance environnementale.

42 | 82
Chapter 3

Système multi Agents

43 | 82
3.1 Introduction
Ce chapitre se consacre à la présentation de l’architecture du système développé pour la
gestion des données IoT dans le domaine météorologique. L’architecture du système con-
stitue l’épine dorsale de ce projet, déterminant la manière dont les données sont collectées,
compressées, stockées et gérées. Une compréhension approfondie de cette architecture est
essentielle pour saisir le fonctionnement du système dans son ensemble.

3.1.1 Description de l’Architecture Globale


L’architecture du système est conçue pour répondre aux besoins spécifiques de la gestion des
données IoT dans le domaine météorologique. Elle est constituée de plusieurs composants
interconnectés, chacun ayant un rôle clé dans le traitement des données. Les principaux
éléments de l’architecture incluent :

• Les Capteurs IoT : Les capteurs IoT représentent le premier maillon de la chaı̂ne de
collecte de données. Déployés sur le terrain, ces dispositifs enregistrent en temps réel
diverses informations météorologiques telles que la température, l’humidité, et d’autres
paramètres essentiels à la météorologie. Ces données sont collectées de manière con-
tinue, offrant ainsi une source constante d’informations pour l’ensemble du système.

• Les Agents Collecteurs : Les agents collecteurs jouent un rôle crucial dans le proces-
sus de regroupement des données provenant des capteurs IoT. Ils récupèrent et agrègent
les données collectées depuis divers capteurs pour former des ensembles de données plus
vastes et contextualisées. Ces agents assurent l’assemblage et la préparation des données
brutes pour le traitement ultérieur.

• Les Agents de Compression : Après l’agrégation des données, celles-ci sont trans-
mises aux agents de compression. Ces agents sont spécifiquement conçus pour appliquer
des techniques de compression sophistiquées. Ces techniques visent à réduire la taille
des données tout en préservant leur intégrité et leur qualité. En minimisant l’espace de
stockage nécessaire et en optimisant la transmission des données, ces agents contribuent
à l’efficacité globale du système.

44 | 82
• Le Stockage dans Azure Blob Storage : Les données compressées sont stockées
dans Azure Blob Storage, un service de stockage cloud puissant et évolutif. Cette
plateforme offre une solution robuste pour stocker et gérer efficacement d’importants
volumes de données. Le stockage est organisé de manière à faciliter l’accès et la gestion
des données, permettant ainsi une analyse et une récupération rapides en fonction des
besoins spécifiques.

• Agent de Récupération de Données :L’agent de récupération de données est


responsable de la restauration des données stockées dans Azure Blob Storage. Il
peut retrouver des ensembles de données spécifiques, les extraire du stockage et les
décompresser pour les rendre accessibles à des fins d’analyse ou d’utilisation ultérieure.

• Agent d’Archivage : Cet agent assure la gestion efficace de l’espace de stockage


en déplaçant les fichiers de données vers des archives après une période prédéfinie.
En déplaçant les données qui ne sont plus fréquemment utilisées vers des emplace-
ments d’archivage, cet agent contribue à optimiser l’utilisation de l’espace de stockage
actif tout en maintenant l’accès aux données archivées pour d’éventuelles analyses his-
toriques.

3.2 Fonctionnement des Agents


Les agents sont les éléments clés du système multi-agent qui coordonnent la collecte, la com-
pression, le stockage et la gestion des données. Ils opèrent de manière autonome et collaborent
pour assurer un flux de données continu et une gestion efficace. Chaque agent a des tâches
spécifiques, notamment la collecte des données, la compression, le transfert vers la base de
données et la gestion des données obsolètes.
Agent de Collecte : L’agent de collecte fonctionne en permanence, surveillant les capteurs
IoT déployés sur le terrain. Dès qu’il reçoit des données des capteurs, il les agrège en lots de
données pour un traitement ultérieur. Il accumule ces lots jusqu’à ce qu’un seuil prédéfini
soit atteint, puis envoie ces données au prochain agent.

Agent de Compression : Une fois qu’il reçoit les lots de données du collecteur, l’agent
de compression applique des techniques de compression (comme RLE - Run-Length Encod-

45 | 82
ing et LZW - Lempel-Ziv-Welch) pour réduire la taille des données sans compromettre leur
intégrité. Les données compressées sont ensuite transmises à l’agent de stockage Azure.

Agent de Stockage Azure : Cet agent reçoit les données compressées de l’agent de
compression et les stocke de manière sécurisée dans Azure Blob Storage. Il assure également
une organisation appropriée des données en fonction des besoins de stockage, facilitant ainsi
un accès efficace pour une récupération ou une analyse ultérieure.

Agent de Récupération : Lorsqu’une demande est reçue pour accéder à des données
stockées, l’agent de récupération localise et extrait les données spécifiques stockées dans
Azure Blob Storage. Il les décompresse pour les restaurer dans leur forme originale, permet-
tant ainsi leur utilisation pour des analyses ou des prévisions.

Agent d’Archivage : L’agent d’archivage surveille la durée de stockage des données dans
Azure Blob Storage. Il déplace périodiquement les données moins fréquemment utilisées vers
des emplacements d’archivage. Cette opération libère de l’espace dans le stockage actif tout
en conservant un accès aux données pour des besoins historiques ou d’audit.

Chaque agent contribue ainsi à une gestion fluide et efficace des données IoT, garantis-
sant une collecte, un stockage, une compression et une récupération optimisés des données
météorologiques collectées.

3.2.1 Utilisation des Sockets


La communication entre les agents est essentielle pour assurer la collecte, la compression, le
stockage et le nettoyage efficaces des données IoT. Nous avons choisi d’utiliser des sockets,
une technologie de communication réseau fiable et polyvalente. Voici comment nous avons
mis en œuvre l’utilisation des sockets :

• Sockets pour la collecte de données : L’agent de collecte de données est configuré


pour créer un socket serveur. Ce socket attend les connexions des autres agents, en

46 | 82
Figure 3.1: Communication entre Agent de Collecte et Agent de Compression

particulier l’agent de compression. Une fois qu’une connexion est établie, les données
collectées sont transmises en temps réel. Cette approche assure une collecte rapide et
efficace des données provenant des capteurs IoT.

• Sockets pour la compression : L’agent de compression agit en tant que client, se


connectant au socket serveur de l’agent de collecte de données. Une fois la connexion
établie, il reçoit les données brutes, les compresse à l’aide des techniques de compression
hybrides, et transmet les données compressées à l’agent de stockage. Cette communica-
tion bidirectionnelle garantit une transmission sans heurts des données entre les agents.

47 | 82
Figure 3.2: Communication entre Agent de compression et Agent de stockage

• Sockets pour le stockage : L’agent de stockage crée un socket serveur pour permettre
la communication avec l’agent de compression. Une fois que les données compressées
sont reçues, l’agent de stockage les organise de manière ordonnée dans Azure Blob
Storage. Cette étape est cruciale pour assurer une structuration claire des données et
faciliter leur récupération ultérieure.

• Sockets pour le nettoyage des données obsolètes : L’agent de nettoyage des


données obsolètes crée un socket client pour se connecter au socket serveur de l’agent
de stockage. Cette connexion lui permet de surveiller les données stockées, d’identifier
celles qui ont dépassé leur date de rétention, et de les supprimer, maintenant ainsi un
espace de stockage propre

48 | 82
Figure 3.3: Communication entre Agent de Stockage et Agent de Décompression

3.3 Conclusion
En conclusion, ce chapitre a détaillé l’architecture de notre système multi-agent dédié à la
gestion des données IoT dans le domaine météorologique. Nous avons examiné en profondeur
la manière dont les agents interagissent pour collecter, compresser, stocker et gérer les données
générées par les capteurs IoT. De plus, nous avons mis en évidence l’utilisation de sockets
pour faciliter la communication entre les agents. L’architecture présentée est conçue pour
répondre au défi du volume massif de données IoT et pour garantir une gestion efficace tout
en préservant l’intégrité des données.

49 | 82
Chapter 4

SMA et Stockage des données IOT.

50 | 82
4.1 Introduction
Cette section met en lumière la phase de mise en œuvre pratique de notre projet ”Système
Multi-Agent pour le Stockage de Données IoT”. Nous passerons en revue les agents clés et les
technologies employées pour concrétiser notre solution. Chaque agent joue un rôle spécifique
dans le processus, de la collecte des données à leur stockage organisé dans le cloud. Vous
découvrirez les détails de leur développement ainsi que les choix technologiques pertinents.

4.2 Outils et Technologies Utilisés


Avant de plonger dans les détails de chaque agent, il est essentiel de comprendre les outils,
langages de programmation et technologies qui ont été au cœur de notre implémentation.
Ces choix ont une incidence significative sur la performance et l’efficacité de notre solution.

Nous avons opté pour une approche qui tire parti de :

A .Langages de Programmation

(a) Arduino IDE (b) PYTHON

Figure 4.1: Les méthodes utilisés.

Pour la collecte de données à partir des capteurs IoT, nous avons utilisé l’envirenement
de programmation Arduino IDE pour programmer le microcontrôleur ESP32. Ce micro-
contrôleur a été spécifiquement configuré pour lire la température et l’humidité à partir du
capteur DHT11. Les données ainsi collectées étaient ensuite disponibles pour notre système.

51 | 82
En ce qui concerne nos agents, nous avons opté pour le langage de programmation Python
pour leur développement. Le choix de Python s’est avéré judicieux en raison de sa flexibilité,
de sa large communauté de développeurs et de sa compatibilité avec les dispositifs matériels
que nous utilisions.
L’agent de collecte de données, par exemple, était chargé de récupérer les données collectées
par le microcontrôleur ESP32 via le périphérique CM3. Python a facilité la communication
entre ces composants et la gestion des données.
De même, l’agent de compression, l’agent de stockage, et l’agent de nettoyage des données
ont été développés en utilisant le langage Python, permettant une cohérence dans notre
approche de développement.
Ces choix de langages de programmation ont été guidés par leur adaptabilité aux différents
composants de notre solution et leur capacité à répondre à nos besoins en matière d’efficacité
et de performance.

B .Capteurs IoT
Les capteurs IoT jouent un rôle crucial dans la collecte des données qui alimentent notre
système. Dans cette section, nous examinerons de plus près les capteurs IoT que nous avons
utilisés et comment ils ont été intégrés dans notre solution.

b1. Le capteur DHT11


Le capteur DHT11 est largement utilisé dans divers projets IoT et météorologiques. Il est
spécialement conçu pour mesurer la température et l’humidité relative de l’environnement
environnant. Il dispose des broches suivantes :

• VCC (ou VDD) : Cette broche est utilisée pour l’alimentation électrique. Le DHT11
fonctionne généralement avec une tension d’alimentation de 3,3 à 5 volts.

• DATA : Il s’agit de la broche de données. Le DHT11 envoie des données numériques


à partir de cette broche vers le microcontrôleur (dans notre cas, l’ESP32). Les données
sont transmises sous forme numérique, simplifiant la lecture des valeurs de température
et d’hymidité.

52 | 82
Figure 4.2: Capteur DHT11

• NC (Non Connecté) : Cette broche n’est généralement pas utilisée et peut être
laissée non connectée.

• GND : Il s’agit de la broche de mise à la terre, qui doit être connectée à la masse
commune de l’alimentation électrique pour compléter le circuit électrique.

L’intégration du capteur DHT11 dans notre solution permet la collecte précise des données de
température et d’humidité, fournissant ainsi des informations essentielles pour notre système
de gestion des données IoT.

b2. Le mictoprocesseur ESP32


L’ESP32 est le cerveau de notre système. Il est responsable de lire les données du capteur
DHT11 via la broche DATA, de les traiter et de les rendre disponibles pour notre agent de
collecte de données. L’ESP32 fonctionne avec une alimentation électrique de 3,3 à 5 volts et
offre une connectivité Wi-Fi et Bluetooth intégrée, ce qui le rend idéal pour notre application.
L’intégration du capteur DHT11 et du microcontrôleur ESP32 dans notre solution permet la

53 | 82
collecte précise des données de température et d’humidité, fournissant ainsi des informations
essentielles pour notre système de gestion des données IoT.

Figure 4.3: Microprecesseur ESP32

b3. Breadbord et des fils de connexion


Pour établir un environnement de collecte de données précis, nous avons suivi ces étapes:

• Nous avons connecté le capteur DHT11 à l’ESP32, assurant une connexion sécurisée
des trois broches pour l’alimentation, le transfert de données et la mise à la terre.

54 | 82
• Pour créer un circuit électronique fiable, nous avons utilisé un breadboard (plaque
d’essai) pour organiser et interconnecter les composants, offrant ainsi une plateforme
de prototypage efficace.

• Les fils de connexion ont été utilisés pour établir les connexions entre les composants,
assurant une communication fluide et fiable.

En combinant ces éléments matériels, nous avons pu mettre en place une infrastructure de
collecte de données stable et précise.

Figure 4.4: breadbord


Figure 4.5: Fils de connexion

C .Azure Blob Storage


Pour le stockage cloud de données de manière organisée, nous avons utilisé Azure Blob Stor-
age. Cette technologie nous a permis de stocker et de gérer les données IoT de manière
fiable et structurée. L’une des caractéristiques essentielles de cette solution est la création
d’un nouveau conteneur pour chaque journée, assurant une organisation claire des données
collectées.

En intégrant Azure Blob Storage dans notre solution, nous avons pu garantir un stockage
efficace et une structuration claire des données, ce qui est essentiel pour la gestion de volumes
importants de données IoT.

55 | 82
4.3 Mise en place de l’environnement de collecte de
données

Figure 4.6: Schema de systeme

Afin de recueillir des données météorologiques précises, nous avons établi une configu-
ration de collecte de données en utilisant deux composants clés : le capteur DHT11 et le
microcontrôleur ESP32.

Nous avons commencé par connecter le capteur DHT11 à l’ESP32. Cette connexion im-
pliquait trois broches pour l’alimentation, le transfert de données et la mise à la terre. Nous
avons veillé à ce que la connexion soit sécurisée pour éviter tout problème potentiel.

Pour garantir une collecte de données ininterrompue, nous avons utilisé une source d’alimentation
externe pour l’ESP32. Cela signifiait que nous n’avions pas à nous soucier des interruptions
d’alimentation affectant nos données.

56 | 82
Nous avons également positionné soigneusement le capteur DHT11 dans l’environnement
d’intérêt, en veillant à ce qu’il ait une vue dégagée de l’air environnant.

Sur le plan logiciel, nous avons utilisé l’IDE Arduino et la bibliothèque DHT (DHT.h)
pour simplifier la communication entre l’ESP32 et le capteur DHT11. Cela a facilité la col-
lecte de données à intervalles réguliers.

L’ESP32 a été programmé pour collecter automatiquement les données de température


et d’humidité. Cela a assuré un ensemble de données fiable pour notre analyse. Cette con-
figuration simple nous a permis de recueillir des données météorologiques précises.

4.4 Collecte de données


Les données pour cette étude ont été recueillies à l’aide d’un capteur DHT11, spécifiquement
conçu pour mesurer la température et l’humidité. Le capteur DHT11 a été intégré dans
un dispositif de collecte de données basé sur le microcontrôleur ESP32. Le microcontrôleur
ESP32 a été utilisé pour capturer en temps réel les valeurs de température et d’humidité
fournies par le capteur DHT11.

Le capteur DHT11 a été positionné dans un environnement météorologique où il a été


exposé à des variations de température et d’humidité. Les mesures du capteur ont été enreg-
istrées à des intervalles réguliers pour créer un ensemble de données significatif.

La collecte de données a été effectuée de manière continue sur une période définie afin de
garantir la représentativité des données collectées. Les données brutes collectées compren-
nent un ensemble de paires de température et d’humidité.

57 | 82
Date et heure Temperature (°C) Humidité (%)
2023-10-19 08:00:00 23.5 45
2023-10-19 08:15:00 24.0 43
2023-10-19 08:30:00 23.8 44
2023-10-19 08:45:00 22.3 46
2023-10-19 09:00:00 24.2 41
2023-10-19 09:20:00 26.5 45
2023-10-19 09:21:00 24.0 48
2023-10-19 09:30:00 23.8 44
2023-10-19 09:31:00 23.3 46
2023-10-19 09:40:00 24.2 42

Table 4.1: La collection de la température et l’humidité

4.5 Développement des Agents


Le cœur de notre système réside dans les agents, chacun ayant un rôle spécifique. Le
développement de ces agents a nécessité une approche orientée objet pour garantir une gestion
efficace des tâches et une communication fluide.

4.5.1 Agent de Collecte de Données


L’agent de collecte de données est une composante centrale de notre système multi-agent
pour le stockage de données IoT. Son rôle essentiel est de simplifier et d’optimiser la collecte
de données en provenance du capteur DHT11, de les regrouper en lots et de les transmettre
de manière efficace à l’agent de compression. Cette section se concentre sur les détails de son
fonctionnement et de son rôle clé dans notre système.

Fonctionnement de l’Agent de Collecte de Données : :

L’agent de collecte de données se situe entre le capteur DHT11 et l’agent de compression. Il


simplifie le processus de collecte et de transmission des données en utilisant des mécanismes
efficaces. Voici comment il opère :

58 | 82
1. Collecte de Données du Capteur DHT11 : L’agent de collecte de données établit
une connexion avec le capteur DHT11 via une interface série (périphérique série) pour
obtenir les mesures de température et d’humidité en temps réel.

2. Regroupement en Lots : Une fois les données collectées à partir du capteur, l’agent
les regroupe en lots. Cela permet de réduire le nombre de transactions de transmission
de données, ce qui est particulièrement utile pour économiser des ressources.

3. Transfert à l’Agent de Compression :Les données groupées sont ensuite transmises


à l’agent de compression. Pour cela, l’agent de collecte de données utilise des sockets,
ce qui garantit un transfert fiable et efficace des données.

L’agent de collecte de données joue un rôle essentiel dans la simplification du processus de col-
lecte de données. Il automatise la collecte à intervalles prédéfinis, éliminant ainsi la nécessité
d’une intervention humaine continue. En regroupant les données en lots, il réduit la charge
de communication et optimise l’utilisation des ressources du système.

Grâce à son rôle dans la simplification de la collecte et de la transmission des données,


l’agent de collecte de données contribue à l’efficacité globale de notre système. Il garantit
que les données sont collectées de manière fiable, sans perte et de manière optimale.

Figure 4.7: Résultat de l’Agent de collecte

59 | 82
4.5.2 Agent de Compression
L’agent de compression joue un rôle essentiel dans notre système multi-agent pour le stock-
age de données IoT. Sa fonction principale est de recevoir les données de l’agent de collecte,
de les compresser en utilisant une méthode de compression hybride (RLE + LZW), puis de
les transmettre à l’agent Azure Cloud. Cette section explore en détail le fonctionnement de
l’agent de compression et son impact sur l’efficacité de notre système.

Fonctionnement de l’Agent de Compression :

L’agent de compression est positionné entre l’agent de collecte de données et l’agent Azure
Cloud. Voici comment il exécute ses tâches : ‘

1. Réception des Données : L’agent de compression recoit les données collectées du


capteur DHT11 de l’agent de collecte de données. Ces données sont généralement en
format brut à ce stade.

2. Compression Hybride : Une étape cruciale de ce processus est la compression des


données. Pour cela, l’agent de compression utilise une méthode de compression hy-
bride, combinant deux techniques puissantes : la compression RLE (Run-Length En-
coding) et la compression LZW (Lempel-Ziv-Welch). Cette approche de compression
hybride permet de réduire considérablement la taille des données sans perte significative
d’informations.

3. Économie de Bande Passante et d’Espace de StockageLa compression des


données présente un double avantage. Tout d’abord, elle réduit la taille des données
avant leur transfert à l’agent Azure Cloud, ce qui économise de la bande passante réseau.
De plus, elle diminue l’espace de stockage requis dans le stockage cloud, contribuant
ainsi à des économies significatives.

L’agent de compression est un maillon clé de l’optimisation globale de notre système. En


réduisant la taille des données tout en préservant leur intégrité, il garantit une utilisation
efficace des ressources de communication et de stockage.

60 | 82
Grâce à l’action de l’agent de compression, notre système parvient à économiser de la
bande passante, de l’espace de stockage et à accélérer le processus de transfert des données
vers le cloud. Cela contribue directement à l’efficacité globale du système de gestion de
données IoT.

Figure 4.8: Résultat de l’Agent de compression

4.5.3 Agent de Stockage


L’agent de stockage occupe une position centrale dans notre système multi-agent pour le
stockage de données IoT. Son rôle principal est de recevoir les données compressées de l’agent
de compression, d’ajouter des horodatages à ces données, puis de les transférer vers Azure
Blob Storage. Cette section explore en détail le fonctionnement de l’agent de stockage et son
impact sur l’organisation et l’efficacité de notre système.

Fonctionnement de l’Agent de Stockage :

L’agent de stockage se situe entre l’agent de compression et Azure Blob Storage. Voici
comment il opère :

1. Réception des Données Compressées : L’agent de stockage reçoit les données


compressées en provenance de l’agent de compression. Ces données ont été optimisées
pour occuper moins d’espace de stockage et de bande passante réseau.

2. Ajout d’Horodatages : Avant de stocker les données dans Azure Blob Storage,
l’agent de stockage ajoute des horodatages aux informations collectées. Ces horodatages

61 | 82
sont synchronisés avec l’heure du système, ce qui permet une organisation claire et
une corrélation ultérieure des données avec des événements spécifiques ou des périodes
temporelles.

3. Stockage dans Azure Blob Storage : Les données, désormais horodatées, sont
transférées vers Azure Blob Storage. Une caractéristique importante est l’utilisation
de conteneurs distincts pour chaque journée, ce qui permet d’organiser les données par
jour. Ce système crée un historique structuré des données collectées.

4.5.4 Organisation Efficace des Données :


L’agent de stockage contribue de manière significative à l’organisation efficace des données
IoT. En stockant les données dans des blobs Azure, nommés en fonction de la date actuelle,
il regroupe les données par jour, offrant ainsi une structuration claire. Cela facilite la gestion
des données et leur récupération pour des analyses ultérieures.

Maintien d’un Historique de Données :

En stockant les données de cette manière, notre système assure le maintien d’un historique
complet des données dans Azure Blob Storage. Cet historique est essentiel pour des applica-
tions où l’historique des données est critique, par exemple, dans des analyses météorologiques
à long terme ou la surveillance de tendances.

Impact sur l’Organisation et l’Efficacité :

L’agent de stockage est un maillon crucial dans l’organisation et l’efficacité globale de notre
système de gestion de données IoT. Il assure que les données sont stockées de manière orga-
nisée et accessible, renforçant ainsi la capacité de notre système à répondre aux besoins de
stockage à long terme.

4.5.5 Agent de Décompression


L’agent de décompression joue un rôle crucial dans notre système multi-agent pour le stockage
de données IoT. Sa principale mission consiste à traiter les données stockées dans Azure Blob
Storage, à les décompresser, et à afficher les horodatages associés aux données d’origine. Cette

62 | 82
Figure 4.9: Résultat de l’Agent de Stockage

section explore en détail le fonctionnement de l’agent de décompression et sa contribution à


la récupération et à la visualisation des données IoT stockées dans le cloud.

4.5.6 Fonctionnement de l’Agent de Décompression :


L’agent de décompression se positionne entre Azure Blob Storage et les utilisateurs finaux.
Voici comment il opère :

• Récupération des Données Compressées : L’agent de décompression extrait les


données compressées stockées dans Azure Blob Storage, ce sont les données IoT col-
lectées et préalablement compressées.

• Décompression des Données : L’étape cruciale est la décompression des données.


L’agent de décompression utilise les mêmes méthodes de compression hybrides (RLE
+ LZW) que l’agent de compression pour restaurer les données à leur forme d’origine.

• Affichage des Horodatages :Une fois les données décompressées, l’agent de décompression
associe les horodatages correspondants aux données d’origine. Ces horodatages fa-
cilitent la corrélation des données avec des événements spécifiques et permettent une
analyse temporelle précise.

Récupération et Visualisation des Données :

L’agent de décompression offre une interface permettant aux utilisateurs de récupérer et de


visualiser les données IoT stockées dans le cloud. Les données sont présentées de manière
claire, avec des horodatages pour une compréhension précise de leur chronologie.

63 | 82
Impact sur l’Accessibilité des Données :

L’agent de décompression améliore l’accessibilité des données IoT stockées dans Azure Blob
Storage. Il permet aux utilisateurs finaux de récupérer et d’explorer ces données, ce qui est
essentiel pour des analyses ultérieures et la prise de décisions éclairées.

Contributions à l’Analyse et à la Visualisation :

Grâce à sa capacité à restaurer les données dans leur état d’origine et à les présenter avec
des horodatages, l’agent de décompression facilite l’analyse et la visualisation des données. Il
offre un outil puissant pour explorer l’historique des données IoT et identifier des tendances
ou des modèles.

Figure 4.10: Résultat de l’Agent de Décompression

64 | 82
Chapitre 5

Résultats de la Simulation et Discus-


sion

65 | 82
5.1 Introduction
Dans cette section, nous présentons et analysons les résultats de notre étude comparative
des différents algorithmes de compression de données appliqués aux données météorologiques
collectées. Cette analyse nous permet de déterminer les points forts et les points faibles de
chaque algorithme, mettant en évidence leurs performances en termes de taux de compression,
de temps de compression et d’espace économisé.

5.2 Paramètres de Mesure

A. Taux de Compression (Compression Ratio)


Le taux de compression est un indicateur essentiel de la réduction proportionnelle de la taille
des données obtenue par un algorithme de compression spécifique. Il est calculé en comparant
la taille du fichier compressé à la taille du fichier d’origine. Le taux de compression, noté
”CR,” peut être calculé à l’aide de la formule comme suit :

Compression Ratio (%) = 1− Compressed Size


Original Size
× 100

B. Facteur de Compression (Compression Factor)


Le Facteur de Compression est défini comme la taille du fichier d’origine divisée par la taille
du fichier compressé. Il sert de réciproque au Taux de Compression et est représenté comme
’CF’ dans ce rapport. Le calcul du Facteur de Compression est effectué selon la formule
suivante :

CF = Original File Size Compressed File Size

C. Économie d’Espace (Space Saving)


L’économie d’espace fait référence à la réduction de l’espace de stockage obtenue grâce à
la compression de données. Elle quantifie la différence entre l’espace d’origine occupé par

66 | 82
les données et l’espace réduit nécessaire après l’application d’un algorithme de compression.
Cette mesure peut être exprimée en termes d’espace économisé absolu, en octets ou d’autres
unités pertinentes, offrant ainsi des informations sur l’efficacité des techniques de compression.
SS = Original Space - Compressed Space

5.3 Performance des Algorithmes Individuels


Dans notre quête pour optimiser le stockage de données pour les données météorologiques,
nous avons effectué une évaluation rigoureuse de plusieurs algorithmes de compression de
données, chacun offrant des approches distinctes et des compromis spécifiques. Cette section
offre une analyse complète de la performance des algorithmes que nous avons testés, à savoir,
Run-Length Encoding (RLE), Delta Encoding, Variable-Length Integer Encoding (VLI), Bit-
Packing, et LZW.

1. RLE (Run-Length Encoding) Performance:

Les résultats indiquent que RLE excelle dans la compression des données météorologiques
présentant des schémas récurrents. Cependant, son efficacité dépend de la prévalence
de séquences continues avec des lectures identiques. En conséquence, RLE a obtenu
des taux de compression substantiels pour de telles séquences.
Tableau5.1 : Performances de RLE

• Compression Ratio: 89.10%.


• Compression Time: 105 microseconde.
• Space Savings: 10692 bytes.

2. Variable-Length Integer Encoding (VLI):

Variable-Length Integer Encoding (VLI) est une technique de compression polyvalente


qui s’adapte à diverses caractéristiques de données. Il parvient à la compression en en-
codant des entiers en utilisant le nombre minimum de bits nécessaire. Notre évaluation
de VLI sur les données météorologiques a produit des résultats notables:

67 | 82
RLE Compression Informations Valeur
Data Size (bytes) 12000
Compression Ratio(%) 89.10
Space Savings (bytes) 10692
Compression Time (microsec- 105
onde)

Tableau 5.1: RLE Compression Information

VLI Compression Informations Valeur


Data Size (bytes) 8000
Compression Ratio(%) 50
Space Savings (bytes) 4000
Compression Time (microsec- 363
onde)

Tableau 5.2: VLI Compression Information

Tableau5.2 : Performances de VLI

• Compression Ratio: 50%.


• Compression Time: 363 microseconde.
• Space Savings: 4000 bytes.

Variable-Length Integer Encoding (VLI) est une option précieuse lorsqu’il s’agit de
traiter des données météorologiques en raison de sa capacité à s’adapter à différentes
valeurs de données. Cependant, ses performances peuvent varier en fonction de la dis-
tribution des valeurs entières dans l’ensemble de données.

3. Bit-Packing:

Bit-Packing est une méthode de compression de données particulièrement efficace pour


les ensembles de données composés de valeurs binaires ou d’entiers avec une plage
limitée de valeurs. Ici, nous explorons comment Bit-Packing s’est comporté lorsqu’il a
été appliqué aux données météorologiques.

68 | 82
Bit-Packing Compression Informations Valeur
Data Size (bytes) 8000
Compression Ratio(%) 50
Space Savings (bytes) 4000
Compression Time (microsec- 360
onde)

Tableau 5.3: Bit-Packing Compression Information

Tableau5.3 : Performances de Bit-Packing

• Compression Ratio: 50%.


• Compression Time: 360 microseconde.
• Space Savings: 4000 bytes.

Bit-Packing est une approche précieuse pour les ensembles de données météorologiques
comportant des valeurs binaires ou des entiers à plage limitée. Son efficacité est par-
ticulièrement prononcée lorsqu’il s’agit de traiter de grands volumes de données de ce
type.

4. LZW (Lempel-Ziv-Welch)

La compression LZW excelle dans l’obtention de taux de compression élevés tout en


préservant l’intégrité des données. Son dictionnaire dynamique s’adapte aux différents
schémas de données, ce qui en fait une option polyvalente. Cet algorithme sans perte
est largement utilisé dans les formats de fichiers, garantissant des économies d’espace
et une transmission efficace des données. Sa simplicité, sa vitesse et son efficacité dans
la compression de motifs de données répétitifs en font un choix populaire pour diverses
applications.

Tableau 5.4 : Performances de LZW

• Compression Ratio: 89%.


• Compression Time: 260 microseconde.

69 | 82
LZW Compression Informations Valeur
Data Size (bytes) 16055
Compression Ratio(%) 89
Space Savings (bytes) 14171
Compression Time (microsec- 260
onde)

Tableau 5.4: LZW Compression Information

• Space Savings: 14171 bytes.

5. Méthode de Compression Hybride combinant RLE et LZW

Dans notre quête d’obtenir les taux de compression les plus élevés pour les données
météorologiques, nous avons introduit une approche innovante qui combine les forces
de Run-Length Encoding (RLE) et Lempel-Ziv-Welch (LZW). Cette méthode de com-
pression hybride a démontré une efficacité exceptionnelle dans la réduction des besoins
de stockage de données tout en garantissant l’intégrité des données.

Intégration fluide de RLE et LZW


Notre Méthode de Compression Hybride intègre de manière transparente RLE et LZW,
remplaçant la composante de Delta Encoding. La rationalité derrière cette hybridation
est d’exploiter les avantages uniques des deux algorithmes :
RLE: Comme souligné dans la section précédente, RLE excelle dans la compression des
données météorologiques caractérisées par des motifs récurrents. Il est particulièrement
efficace lorsqu’il s’agit de séquences continues de lectures identiques. RLE identifie ces
séquences et les remplace par des représentations concises, ce qui entraı̂ne une réduction
significative de la taille des données.

LZW: En revanche, LZW se concentre sur la reconnaissance et l’encodage de motifs


récurrents au sein des données. Il est hautement efficace pour capturer de légères varia-
tions dans les données météorologiques, offrant un stockage efficace pour les fluctuations

70 | 82
RLE+LZW Compression Informations Valeur
Data Size (bytes) 32760
Compression Ratio(%) 94
Space Savings (bytes) 32310
Compression Time (microsec- 360
onde)

Tableau 5.5: RLE+LZW Compression Information

subtiles.

L’approche hybride commence par l’application de RLE pour capturer les motifs récurrents
dans les données météorologiques. Ensuite, LZW est utilisé pour représenter les change-
ments entre les segments codés par RLE. Cette combinaison d’algorithmes s’est avérée
extrêmement réussie pour atteindre un équilibre délicat entre l’efficacité de compression
et l’intégrité des données.

Une Fusion Innovante Cette approche affinée est le témoignage de la fusion inno-
vante de RLE et LZW, offrant une solution optimale pour la compression des données
météorologiques avec des taux de compression exceptionnels tout en préservant l’intégralité
des données.
Table5.4 : Performance (RLE+LZW)

• Compression Ratio: 94%.


• Compression Time: 250 microseconde.
• Space Savings: 32310 bytes.

71 | 82
Algorithm Data Size Compression Space Compression
(bytes) Ratio (%) Saved Time (mi-
(bytes) croseconds)
Deltat Encoding 8000 87.5 7500 133
RLE Encoding 12000 89.10 10622 105
Bit-Packing 8000 50 4000 360
VLI 8000 50 4000 363
RLE and LZW 327600 94.25 32740 250

Tableau 5.6: COMPARATIVE ANALYSIS OF RLE, DELTA, VLI, BIT-PACKING,


AND A COMBINATION OF LZW AND RUN-LENGTH ENCODING COMPRESSION
TECH- NIQUES FOR DIFFERENT RESOLUTION

5.4 Résultat

5.4.1 Comparaison de la taille des données avant et apres la com-


pression
Le graphique de comparaison de la taille des données avant et après la compression illustre
de manière significative l’efficacité des différentes techniques de compression. Initialement,
les données brutes totalisaient 12 000 ko. Après l’application des différentes méthodes de
compression, les tailles obtenues sont : 3 200 ko pour RLE, 6 000 ko pour VLI (Variable-
Length Encoding), 6 000 ko pour Bit Packing, et 3 000 ko pour LZW (Lempel-Ziv-Welch) et
500 ko pour la méthode de compression hybride (RLE+LZW).

Ces données révèlent que la méthode compression hybride a produit la taille la plus pe-
tite après compression, avec une réduction significative de la taille initiale. En revanche, les
méthodes VLI et Bit Packing ont produit des tailles de données plus importantes après la
compression, bien qu’elles aient contribué à réduire la taille par rapport aux données brutes.
Finalement, les méthodes LZW et RLE ont également réussi à réduire la taille des données,
mais légèrement moins efficacement que la méthode de compression hybride.

Le graphique, reflétant ces informations, met en évidence la différence de tailles obtenues


avant et après l’application de chaque technique de compression, soulignant ainsi l’impact de

72 | 82
Figure 5.1: Taille des données avant et apres la compression

chaque méthode sur la réduction de la taille des données initiales. Cette représentation vi-
suelle offre une perspective claire sur l’efficacité relative de chaque technique de compression
utilisée dans le processus de traitement des données.

5.4.2 Comparaison de Taux de compression


Le graphique comparatif des taux de compression obtenus pour chaque méthode de com-
pression dépeint clairement les performances relatives de chaque technique. Les résultats
indiquent que le RLE a réussi à comprimer les données avec un taux de compression de 75
%, suivi de VLI et Bit Packing, qui ont atteint tous deux un taux de 50 %. La méthode

73 | 82
Figure 5.2: Taux de compression

LZW a montré un taux de compression plus élevé, atteignant 80 %.

Cependant, le graphique met en évidence notre méthode de compression hybride, laquelle


a généré un taux de compression exceptionnel de 94 %. Cette approche combinée semble
tirer parti des avantages de plusieurs techniques pour atteindre un niveau de compression
considérablement plus élevé que toute méthode individuelle.

Cette représentation graphique offre une comparaison visuelle des performances des différentes
techniques de compression, illustrant clairement l’efficacité de la méthode hybride qui a sur-
passé toutes les autres méthodes en termes de taux de compression.

74 | 82
5.4.3 Comparaison de temps de compression

Figure 5.3: Temps de compression

Le graphique comparatif des temps de compression pour chaque algorithme offre un


aperçu des performances temporelles relatives de chaque méthode. Les résultats indiquent
que le RLE a enregistré le temps de compression le plus rapide, avec seulement 105 microsec-
ondes, suivi de près par LZW, avec un temps de 260 microsecondes.

Quant à VLI et Bit Packing, ils ont affiché des temps de compression similaires, tous deux
à environ 360 microsecondes. Enfin, la méthode de compression hybride a également requis
environ 360 microsecondes pour la compression.

75 | 82
Cette représentation graphique met en lumière les temps de traitement pour chaque al-
gorithme de compression, illustrant clairement que le RLE a affiché le temps de compression
le plus court, tandis que le LZW a présenté une performance notablement rapide également.

5.4.4 Les données compressées stocker dans le service azure cloud

Figure 5.4: Les données compressées stocker dans Azure cloud

Le stockage des données compressées est réalisé à l’aide du service Azure Blob Stor-
age, fournissant une plateforme de stockage cloud robuste et évolutive. Chaque jour, les
données compressées sont encapsulées dans des ’blobs’ distincts, représentant des unités de
stockage dédiées pour une période donnée. Ces ’blobs’ Azure Cloud servent de conteneurs
spécifiques pour les informations compressées, provenant des capteurs IoT et traitées par di-
verses méthodes de compression telles que RLE, VLI, Bit Packing, LZW et une approche de
compression hybride. Cette architecture offre une organisation structurée des données com-
pressées, prêtes à être analysées, utilisées pour des prévisions météorologiques ou exploitées
pour des insights météorologiques avancés.

76 | 82
5.5 Déscussion
Dans cette section, nous avons évalué les performances de plusieurs algorithmes de compres-
sion de données, notamment RLE, VLI, Bit-Packing, LZW, et notre approche hybride, en
tenant compte de notre système multi-agent. Chaque algorithme a montré des avantages
spécifiques, mais notre approche hybride s’est avérée être la plus efficace pour la compression
de données météorologiques, grace à la coordination des agents de collecte, de compression,
de stockage, et de décompression.

Le stockage dans le cloud a été un élément essentiel de ce processus. Notre système multi-
agent a joué un rôle clé dans la gestion efficace des données météorologiques, y compris leur
stockage dans le cloud. Les agents ont travaillé en collaboration pour collecter, compresser,
stocker, et décompresser les données, garantissant un flux de données fluide et une utilisation
efficace des ressources cloud.

Le stockage dans le cloud est devenu essentiel dans le domaine de l’IoT, offrant un moyen
évolutif et sécurisé de gérer d’énormes volumes de données météorologiques. Notre approche,
en intégrant le stockage dans le cloud dans le système multi-agent, a démontré son effi-
cacité pour organiser et stocker efficacement les données IoT collectées, tout en garantissant
l’intégrité des données.

En conclusion, notre recherche a montré l’importance d’un système multi-agent pour la


gestion des données météorologiques, y compris leur stockage dans le cloud. Nous espérons
que ces résultats seront utiles pour les chercheurs et les praticiens travaillant dans le domaine
de l’IoT, de la météorologie, et de la gestion des données dans le cloud.

77 | 82
Conclusion

Ce projet a exploré en profondeur les défis de la gestion efficace des données générées par les
capteurs IoT, en se concentrant sur le contexte des données météorologiques. Notre objectif
principal était de développer une solution novatrice qui optimise la collecte, la compression, le
stockage, et la décompression de ces données tout en préservant leur intégrité. Pour atteindre
cet objectif, nous avons intégré un système multi-agent dans le processus de gestion des
données, tout en utilisant une approche hybride de compression (RLE + LZW) et en stockant
les données dans le cloud.
Les résultats de notre recherche ont révélé plusieurs points clés :

• Système Multi-Agent : L’introduction d’un système multi-agent a été une étape


cruciale dans la gestion des données IoT. Les agents de collecte, de compression, de
stockage, et de décompression ont collaboré de manière transparente pour garantir un
flux de données fluide tout au long du processus. Cette approche a démontré son effi-
cacité dans la gestion des données météorologiques.

• Compression Hybride : L’utilisation d’une approche hybride de compression com-


binant RLE (Run-Length Encoding) et LZW (Lempel-Ziv-Welch) a permis d’obtenir
des taux de compression élevés tout en maintenant l’intégrité des données. Cette com-
binaison a offert un équilibre délicat entre efficacité de compression et préservation des
données.

• Stockage dans le Cloud : Le stockage dans le cloud est devenu essentiel pour
gérer efficacement les volumes massifs de données IoT. L’intégration du stockage dans
le cloud dans le système multi-agent a permis d’organiser et de stocker les données

78 | 82
météorologiques de manière organisée, tout en garantissant leur disponibilité et leur
sécurité.

• Applications Futures : Les résultats de ce projet ont des implications importantes


pour les applications futures dans le domaine de l’IoT et de la météorologie. Cette
approche peut être adaptée à divers scénarios de collecte de données et de stockage
dans le cloud, ouvrant la voie à des solutions plus efficaces et évolutives.

En conclusion, ce projet a abouti à la création d’une solution novatrice pour la gestion


des données IoT, en intégrant un système multi-agent, une compression hybride, et le stock-
age dans le cloud. Cette approche a démontré son efficacité dans le contexte des données
météorologiques, offrant un équilibre entre l’efficacité de la compression et la préservation des
données. Nous espérons que cette recherche inspirera de futures avancées dans la gestion des
données IoT, contribuant ainsi à l’amélioration des applications météorologiques et à d’autres
domaines connexes.

79 | 82
Références

[1] Prof. Dipti Mathpal and Prof. Mittal Darji “ A Research Paper on Lossless Data Com-
pressionTechniques” IJIRST –International Journal for Innovative Research in Science
Technology— Volume 4 — Issue 1 — June 2017,

[2] Gupta, Ruchi, Mukesh Kumar, and Rohit Bathla. ”Data CompressionLossless and Lossy
Techniques.” International Journal of Application or Innovation in Engineering Man-
agement 5.7 (2016): 120-125

[3] Sidhu, Amandeep Singh, and Meenakshi Garg. ”Research Paper on Text Data Compres-
sion Algorithm using Hybrid Approach.” International Journal of Computer Science and
Mobile Computing 3.12 (2014): 01-10.

[4] Brar, R. S., and B. Singh. ”A survey on different compression techniques and bit re-
duction algorithm for compression of text data.” International Journal of Advanced
Research in Computer Science and Software Engineering (IJARCSSE) Volume 3 (2013)

[5] AVUDAIAPPAN. T, ILAM PARITHI.T, BALASUBRAMANIAN.R and SUJATHA.K,


“PERFORMANCE ANALYSIS ON LOSSLESS IMAGE COMPRESSION TECH-
NIQUES FOR GENERAL IMAGES,” International Journal of Pure and Applied Math-
ematics,Volume 117 No. 10 2017, 1-5.

[6] B. Vijayalakshmi and N. Sasirekha,“LOSSLESS TEXT COMPRESSION FOR UNI-


CODE TAMIL DOCUMENTS”, ICTACT JOURNAL ON SOFT COMPUTING, JAN-
UARY 2018, VOLUME: 08, ISSUE: 02.

[7] Vikash Kumar, Sanjay Sharma, “Lossless Image Compression through Huffman Cod-
ing Technique and Its Application in Image Processing using MATLAB,” International

80 | 82
Journal of Soft Computing and Engineering (IJSCE) ISSN: 2231-2307, Volume-7 Issue-1,
March 2017

[8] Lin, Yangxin, et al. ”Class-based delta-encoding for high-speed train data stream.”
2015 IEEE 34th International Performance Computing and Communications Conference
(IPCCC). IEEE, 2015.

[9] Mogul, Jeffrey C., et al., ”Potential benefits of delta encoding and data compression
for HTTP.” ACM SIGCOMM Computer Communication Review. Vol. 27. No. 4. ACM,
1997.

[10] Savani, V. G., Bhatasana, P. M., Mecwan, A. I. (2012). Implementation of Data Com-
pression Algorithms on FPGA using Soft-core Processor. International Journal of Ad-
vancements in Technology, 3(4), 270-276.

[11] Yoshifuji, Naoki, et al., ”Implementation and evaluation of datacompression algorithms


for irregular-grid iterative methods on the PEZY-SC processor.” Proceedings of the
Sixth Workshop on Irregular Applications: Architectures and Algorithms. IEEE Press,
2016

81 | 82

Vous aimerez peut-être aussi