mardi 20 janvier 2015

Cloudlets Survey

by  Mehdi MEZIANE

Introduction

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 limites du Cloud Computing Mobile (CCM) 

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.
 

L’architecture des 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). 
L'architecture des Cloudlets


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
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.

Sources

The Case for VM-Based Cloudlets in Mobile Computing