by Mehdi MEZIANE
Les appareils mobiles tels que
les smartphones et les tablettes sont devenus une partie essentielle de notre
vie. Les utilisateurs dépendent de leurs appareils mobiles pour faire des
appels, traiter des documents, effectuer le traitement d'image, accéder au site
Web et réseaux sociaux (Facebook, Twitter).
Les applications mobiles ont connu un grand développement et elles sont devenues très populaire chez les utilisateurs. Cette popularité vient du fait que ces applications nous permettent de faire des taches complexes comme : la reconnaissance de la voix, le traitement d’images, les applications multimédias, le partage des données de localisation GPS, le partage d’accès internet, les applications de détections et de surveillances,...etc. Ces applications nécessite un traitement intense et consomme beaucoup de ressources. Le problème des plates-formes mobiles (comme les smartphones) est qu'ils sont à ressources limitées en termes d’énergie, de calcul et de mémoire. Il est très important de tenir compte de ces limites car ils gênent les utilisateurs d'effectuer leurs tâches quotidiennes d'une manière efficace.
Une solution pour remédier à ces limitations consiste à externalisée les données et de les traiter dans des serveurs dédié. Cette externalisation est devenue incontournable pour les plates-formes mobiles qui voient ainsi leurs ressources étendues à l’aide du Cloud computing, formant désormais ce qu’on appelle un Cloud computing mobile.
Les applications basées sur le
Cloud ne donnent des meilleures performances qu’avec des réseaux à une grande
vitesse de connectivité. L’inconvénient majeur de ces approches est que le
Cloud (datacenter) est physiquement loin de l’utilisateur final ce qui créé
plusieurs problèmes liés au réseau WAN utilisé pour la communication comme : la
latence, les erreurs de transmission, la congestion,...etc. Le paramètre
critique dans ce genre d’application est la latence parce qu'elle dépend de la
distance entre le mobile et le Cloud.
Les travaux dans les réseaux actuels visent à améliorer : la bande passante, la sécurité, la consommation d’énergie, etc; et les techniques utilisées impactent négativement la latence.
Pour pallier à ce problème,on utilise les Cloudlets.
La question qui était posé à ce
niveau est : peut-on obtenir les avantages du Cloud computing sans être limité
par un réseau WAN ?
Comme illustré dans la figure ci-dessous, cette architecture est composée de trois entités : Les plates-formes, la cloudlet (cloud local) et le cloud distant (datacenter).
Introduction
Les applications mobiles ont connu un grand développement et elles sont devenues très populaire chez les utilisateurs. Cette popularité vient du fait que ces applications nous permettent de faire des taches complexes comme : la reconnaissance de la voix, le traitement d’images, les applications multimédias, le partage des données de localisation GPS, le partage d’accès internet, les applications de détections et de surveillances,...etc. Ces applications nécessite un traitement intense et consomme beaucoup de ressources. Le problème des plates-formes mobiles (comme les smartphones) est qu'ils sont à ressources limitées en termes d’énergie, de calcul et de mémoire. Il est très important de tenir compte de ces limites car ils gênent les utilisateurs d'effectuer leurs tâches quotidiennes d'une manière efficace.
Une solution pour remédier à ces limitations consiste à externalisée les données et de les traiter dans des serveurs dédié. Cette externalisation est devenue incontournable pour les plates-formes mobiles qui voient ainsi leurs ressources étendues à l’aide du Cloud computing, formant désormais ce qu’on appelle un Cloud computing mobile.
Les limites du Cloud Computing Mobile (CCM)
Les travaux dans les réseaux actuels visent à améliorer : la bande passante, la sécurité, la consommation d’énergie, etc; et les techniques utilisées impactent négativement la latence.
Pour pallier à ce problème,on utilise les Cloudlets.
L’architecture des Cloudlets
Comme illustré dans la figure ci-dessous, cette architecture est composée de trois entités : Les plates-formes, la cloudlet (cloud local) et le cloud distant (datacenter).
La
Cloudlet est définie
par le terme « Datacenter in a box » qui se trouve dans
des endroits désignés et qui est connecté au Cloud
via Internet. Elle ressemble à un
cluster d'ordinateurs multi-cœurs,
avec une large bande passante LAN sans fil. Ainsi, les
appareils mobiles sont physiquement
proches de la Cloudlet et ils peuvent
fonctionner comme des clients alors que tout le
calcul et le traitement intense se
passe via la Cloudlet. Le
dispositif mobile serait relié à
la Cloudlet par une connexion sans fil à un saut
(One-hop communication) ce qui garantit un temps de réponse très rapide et une
meilleure interactivité.
Dans le cas où aucune
Cloudlet proche n’est disponible, le mobile peut changer son mode à un autre qui
invoque un Cloud distant ou dans le pire cas il va faire le traitement avec ses
propres ressources. Les meilleures performances peuvent retourner une fois le
mobile découvre une Cloudlet proche.
Le tableau suivant présente une comparaison entre le Cloud et la Cloudlet :
Quelques points de différences avec le Cloud classique |
Le
premier point est que les données qui sont dans la cloudlet sont disponibles ailleurs, de sorte que si une cloudlet tombe en panne, les
conséquences ne seront pas les mêmes que dans le cas d’un datacenter.
Un deuxième point est que la Cloudlet est gérer automatiquement
contrairement aux datancenters qui nécessitent des professionnels et une administration 24×7.
Un point très important
et qui présente l’avantage majeur des Cloudlets est qu’avec la Cloudlet on
utilise une connexion LAN avec une grande bande passante et un minimum de
latence, contrairement aux Clouds distant où on est toujours dépendant du réseau
WAN qui présente une grande latence.
Un dernier point est que
les Clouds classiques supportent des milliers d’utilisateurs en même temps, par
contre une Cloudlet peut être utilisé par quelques utilisateurs simultanément.
Cloudlets basées sur les VM
Un challenge principal dans le déploiement de cette solution est de simplifié la gestion des Cloudlets. Un déploiement de cette architecture à grande échelle n’est possible qu’avec une gestion simplifié ; idéalement une autogestion. Pour cela, cette approche est basée sur la technologie des VM. La VM encapsule et sépare proprement l’environnement transitoire (du client) de l’environnement permanent de l’hôte.
Une méthode utilisée pour faire l’association et la communication entre le mobile et l’infrastructure est appelée La composition dynamique des VM qui est proposée dans un article apparu lors de la conférence IEEE Pervasive Computing Oct 2009 : The Case for VM-based Cloudlets in Mobile Computing
Une méthode utilisée pour faire l’association et la communication entre le mobile et l’infrastructure est appelée La composition dynamique des VM qui est proposée dans un article apparu lors de la conférence IEEE Pervasive Computing Oct 2009 : The Case for VM-based Cloudlets in Mobile Computing
Dans cet article ils ont proposée une approche appelée Dynamic
VM Synthesis. Comme illustré dans la figure ci-dessous, le mobile
envoie un VM overlay pour la cloudlet qui possède une base de VM. La cloudlet
applique le VM overlay reçu sur la base pour extraire la VM qui doit être lancé.
Une fois la VM est trouvée, le mobile envoie les données nécessaire à la
cloudlet qui les traitent à son tour et lui renvoient le résultat.
D’une manière
plus simple, on peut voir le mobile comme un client qui demande un service de
la Cloudlet (qui est le serveur).
Dynamic VM Synthesis |
Discussion
Après avoir faire le tour sur l’architecture des Cloudlets,
je vais présenter dans ce qui suit quelques
points fort et faible que j’ai pu tirer de cette étude en ce qui concerne l’architecture
générale des cloudlets.
Au début je vais citer deux points forts de cette architecture
par rapport à l’architecture classique :
- Le premier point c’est qu’on n’est pas limité par les problèmes du réseau WAN utilisé dans le cas d’un cloud distant, la communication entre le mobile et la cloudlet est plus rapide parce qu’ils sont physiquement proche ce qui va nous garantit un meilleur temps de réponse.
- Le deuxième point est que dans cette architecture les performances sont déterminées localement selon la cloudlet utilisé. En changeant le matériel utilisé on peut augmenter la puissance des calculs de la cloudlet en utilisant un processeur puissant et on peut aussi utiliser des disques de stockage pour augmenter la capacité de stockage.
Cependant pour un
déploiement à grande échelle de cette architecture il reste quelques points
critiques qu’il faut les améliorer :
- La gestion : Un déploiement de cette architecture à grande échelle n’est possible qu’avec une gestion simplifié; idéalement un mobile peut accéder à une Cloudlet de la même manière qu’un point d’accès wifi.
- La sécurité : Il faut déterminer une bonne politique de sécurité parce que le mobile envoie ses données privés et qui sont sensibles vers la Cloudlet qui peut être une bonne cible pour les attaquants.
- Un dernier point est que l’installation et la maintenance des Cloud locales (Cloudlets) peut être couteuse.
Conclusion
La technologie des Clouds est de plus en plus utilisées pour développer les applications parce qu'elle permet aux plates-formes mobiles d'étendre ses ressources, cependant elle présente des limites.
L'architecture des Cloudlets est venue pour résoudre ces limites tout en gardant l'infrastructure existante.