0% ont trouvé ce document utile (0 vote)
450 vues67 pages

Mémoire Master Academique: Universite Kasdi Merbah Ouargla

Ce document présente un mémoire de master sur l'approche basée sur les agents mobiles intelligents dans un environnement de cloud computing. Le mémoire contient quatre chapitres qui présentent le cloud computing, le mobile cloud computing, les agents mobiles et la présentation d'une application d'agents mobiles dans le cloud.

Transféré par

chchch chchcy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
450 vues67 pages

Mémoire Master Academique: Universite Kasdi Merbah Ouargla

Ce document présente un mémoire de master sur l'approche basée sur les agents mobiles intelligents dans un environnement de cloud computing. Le mémoire contient quatre chapitres qui présentent le cloud computing, le mobile cloud computing, les agents mobiles et la présentation d'une application d'agents mobiles dans le cloud.

Transféré par

chchch chchcy
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE KASDI MERBAH OUARGLA

Faculté des Nouvelles technologies de l’information et de la communication


Département D’informatique et de technologie de l’information

Mémoire
MASTER ACADEMIQUE

Domaine : Mathématique et Informatique


Filière : Informatique
Spécialité : Informatique Fondamentale

Présenté par:
MAIOUA Khalifa
MANSOURI Adel

Thème

Approche basée Agents Mobiles intelligents dans un


environnement de cloud Computing

Soutenu publiquement
Le : 07 / 06 / 2014
Devant le jury :
M DJEDIAI Hmeda MA Président UKM Ouargla
M ZGA Adel MA Encadreur UKM Ouargla
M BELOUAR Hocine MA Examinateur UKM Ouargla

Année Universitaire : 2013 /2014


Tables des matières

Sommaire I
Liste des figures II
Résumé III
Introduction générale IV
I. CHAPITRE 01: CLOUD COMPUTING
Introduction 1
1. Présentation du secteur 2
1.1. Définition et historique 2
1.1.1. Définition du « Cloud Computing » ou informatique en nuage 2
1.1.2. Historique du Cloud Computing 3
1.1.3. Les différentes typologies de Cloud Computing 3
2. Enjeux et perspectives 6
2.1 Ce qu’apporte le Cloud à ses utilisateurs 6
2.2 Ce que change le Cloud Computing pour les revendeurs d’IT 7
2.3 Les autres enjeux du Cloud 8
2.3.1 Enjeux de sécurité 8
2.4 Le Cloud dans le Monde 8
3. Avantages 9
4. Inconvénients 10
Conclusion 11
II. CHAPITRE 02: MOBILE CLOUD COMPUTING
Introduction 13
• Quelle est mobile Cloud Computing ? 14
1. CONTEXTE 14
1.1. Modèles de service 15
1.2. Modèles de déploiement 16
2. Architectures de Mobile Cloud Computing 17
3. Cloud computing vs cloud computing mobile 19
3.1. Cloud computing 19
3.2. Cloud computing mobile 20
4. Avantages de Mobile Cloud Computing 22
1. Batterie longue durée de sortie 22
2. Amélioration de la puissance de traitement et de l'espace de stockage de données 22
3. Plus de données et la fiabilité des applications 22
4. Évolutivité 22
5. Multi- location 22
6. Intégration flexible 22
Conclusion 23
III. CHAPITRE 03 : AGENT MOBILE
Introduction 25
1. Mobile agent technique concept 26
1.1 Évaluation distante 26
1.2 Code à la demande 26
1.3 Agents mobiles 27
2. Mobile agent characteristics 27
3. Modelé a agents mobiles 28
3.1. Fonctions des agents mobiles 28
4. Classification des agents Mobile 28
4.1 Agents d'interface 29
4.2 Agents de collaboration 30
4.3 Agents d'information 31
4.4 Agents hybrides 31
4.5 Système multi-agents et Domaines d’application 31
4.6 Agents mobiles 32
4.6.1 Un nouveau paradigme pour Computing répartie 33
4.6.2 Structure d’un agent mobile 34
4.6.3 Domaines d'applications 35
4.6.4 Avantages d'agents mobiles 35
4.6.5 Migration d’un agent 36
4.6.5.1 Migration forte 36
4.6.5.2 Migration faible 36
4.6.6 Composantes de la sécurité dans les systèmes d'agents mobiles 36
Conclusion 38
IV. CHAPITRE 04 : PRESENTATION
Introduction 40
1. Objectifs 41
2. Architecture Générale 41
3. Les diagrammes en AUML 42
3.1. Diagramme de cas d’utilisation 43
3.2. Les diagrammes des séquences 43
4. Environnement de développement 45
5. Choix du langage de programmation 45
- Java 45
- JDK : (Java Development Kit) 46
- JADE (Java Agent DEvelopment Framework) 46
- FIPA (Fondation for Intellegent Physical Agents) 47
- NetBeans IDE 48
5. Explication d’application 49
• Explication Méthode exécution de Project 50
1- Exploitation de NetBeans IDE 50
2- Exécution Project 51
3- Insérer Démarrer Paramètres Nouvel Agent 51
4- Ajouter Nouvel Agent 51
5-Envoye Agent Et Exécution (Réponde) 52
Conclusion 53
Liste des Figure et des tableaux
Figure:
Figure Page
1 Evolution de l'informatique depuis le Minitel jusqu'au Cloud Computing 2
2 Définitions et contours du Cloud Computing 3
3 Les différents modèles de déploiement d’un Cloud 6
4 Mobile Cloud Computing 13
5 ci-dessous montre un cloud modèle de service typique 16
6 Déploiement Cloud public, privé et hybride 16
7 Mobile Cloud Computing (MCC), architecture. 17
8 Service-oriented cloud computing architecture 18
9 Serveur distant cloud de restauration à des appareils mobiles si l'Internet 20
10 Cloud virtuel de ressources constitué de dispositifs mobiles à proximité 20
11 Petit cloud appareils mobiles permettant de contourner les problèmes de 21
latence et de bande passante tout en bénéficiant de ses ressources
12 Evaluation distant 26
13 Code à la demande 26
14 Agent mobile 27
15 Une vue partielle de la classification de l'agent 29
16 RCP-based Client/Server Computing Paradigm 33
17 Mobile agents-based computing paradigm 33
18 Architecture Générale 41
19 Scénario du système 42
20 Diagramme de cas d’utilisation de système 43
21 Diagramme de séquence « Inscription serveur» 44
22 Diagramme de séquence « authentification» 44
23 Diagramme de séquence « lancer requêtes» 45
24 Le faciliteur d’Annuaire (DF) 48
25 Démarrer NetBeans IDE 7.4 48
26 La Plateforme NetBeans IDE 7.4 49
27 Image de Project 49
28 class Agent 49
29 Class Agent reservation ,Class Agent verification, Class Agent annul 50
reservation
30 Exploitation de NetBeans IDE 50
31 Exécution Project 51
32 Insert Start parameters new agent 51
33 Ajouter Nouvel Agent 51
34 Envoyé Agent Et Exécution 52
Tableaux:

Table Page
1 Les grands acteurs mondiaux de Cloud public 5
2 Comparaison des coûts entre le modèle SaaS et le modèle « Software » 7
3 Possible des avantages des agents de logiciels mobiles 35
4 Composantes de la sécurité dans les systèmes d'agents mobiles 36
‫ملخص‬
‫ برزت الحوسبة السحابية كنموذج الحوسبة الجديدة التي تهدف التي‬، ‫يعتبر الحصول على معلومات هو حاجة ملحة للغاية‬
‫ و بيئات الحوسبة ديناميكية تركز نحو تحسين نوعية الخدمات و البنية التحتية لتكنولوجيا‬،‫ حسب الطلب‬،‫توفير موثوق بها‬
‫ و‬،‫ هذه الورقة تستكشف مثال الحوسبة السحابية من مختلف الجوانب‬، ‫المعلومات توفر دون عبء مالي من ذلك بكثير‬
‫يحلل هذا العمل أيضا إمكانيات‬، ‫استعراض حالة التنفيذ الفن فضال عن التحديات الكامنة و تستكشف النطاق المحتمل للبحوث‬
‫ و بالتالي فإن الفكرة هي حل التحديات‬،‫ ألن كال من هذه التقنيات واعدة و مفيدة‬،‫دمج وكالء المحمول في الحوسبة السحابية‬
.‫المتعلقة في مجال الحوسبة السحابية من خالل تسخير التكنولوجيا وكيل المتنقل‬
،‫ نظام متعدد الوكيل‬،‫ االنترنت‬،‫ قاعدة البيانات‬،‫ الحوسبة السحابية النقالة‬،‫ المعلومات‬،‫ الحوسبة السحابية‬:‫الكلمات المفتاحية‬

Résumé
Accès à l'information est un besoin urgent pour une très, le Cloud Computing est apparu comme
un nouveau paradigme informatique qui vise à fournir des environnements informatiques
fiables, personnalisés et dynamiques axée vers une meilleure qualité de service et disponibilité
de l'infrastructure sans fardeau financier beaucoup. Cette mémoire, explore le cloud computing
sous différents aspects, réviser l’état de réalisations artistiques ainsi que ses enjeux et explore
le champ potentiel de recherche. Cette mémoire analyse également les possibilités de fusion
des agents mobiles dans le cloud computing, puisque ces deux technologies sont prometteuses
utile donc l'idée est de résoudre les problèmes liés à le cloud computing grâce à la technologie
d'agent mobile.
MOTS CLES : Information ; cloud computing ; gérer les données ; applications ; applications
Le cloud computing ; system multi-agent mobile ; base de donnée ; Internet

Summary
Access to information is an urgent need for a very, The Cloud Computing has emerged as a
new computing paradigm which aims to provide reliable, customized, dynamic computing
environments focused towards better quality of service and IT infrastructure availability
without much financial burden. This memory explores the cloud computing epitome from
various aspects, reviews state of art implementations as well as its inherent challenges and
explores the potential scope for research. This work also analyses the possibilities of
amalgamating mobile agents in cloud computing, since both these technologies are promising
useful thus the idea is to resolve challenges pertaining in cloud computing by harnessing mobile
agent technology.
KEYWORDS: Information; Cloud computing; Cloud computing Mobile; internet; Data base;
applications Cloud computing; multi-agent system

III
Introduction Générale
Cloud Computing (CC) est la cinquième génération de l'informatique mainframe après,
ordinateur personnel, client serveur informatique et le World Wide Web (WWW). C'est un mot
à la mode en informatique basée monde de l'entreprise aujourd'hui. CC est un modèle dans
lequel les ressources (par exemple, CPU et de stockage) sont fournies comme des services
généraux qui peuvent être loués et libérés par les utilisateurs via l'Internet dans un mode à la
demande. Le nuage offre plusieurs avantages comme un déploiement rapide, payer à l'emploi,
de réduire les coûts, l'évolutivité, la fourniture rapide, l'élasticité rapide, l'accès au réseau
omniprésent, une plus grande résilience, la protection de l'hyperviseur contre les attaques
réseau, des solutions de reprise après sinistre à faible coût et de stockage de données, sur -
demande des contrôles de sécurité, la détection en temps réel de système falsification et rapide
reconstitution des services. En raison de ses caractéristiques intéressantes, il devient une
tentation pour les petites et moyennes organisations d'entreprises. Aussi des organisations
comme Amazon, Google, IBM mettent leur potentiel au maximum vers le développement CC
basée sur les produits et services pour leurs utilisateurs à un coût négligeable.
Dans le même temps, les systèmes agents représentent un autre paradigme de l'informatique
distribuée basée sur de agents en interaction qui sont capables d'un comportement intelligent,
les systèmes agents sont souvent utilisés pour résoudre des problèmes en utilisant une approche
décentralisée où plusieurs agents contribuent à la solution en coopérant l'un avec l'autre.
La technologie d'agent mobile a suscité un intérêt renouvelé dans le cadre d'environnements
qui fournissent des ressources informatiques distribuées aux utilisateurs. Dans de tels
environnements, les ressources sont disponibles sur différentes machines, et l'application est
exécutée sur toute machine qui est en mesure de fournir les services demandées. Ceci, peut
exiger que l'application (son état et code) soit déplacée vers les services où elle peut être
exécutée. C'est exactement le problème auquel la technologie d'agent mobile tente de répondre.
Bien que plusieurs différences existent entre Cloud Computing et de systèmes multi- agents, ils
sont deux modèles distribués de calcul, donc plusieurs problèmes communs peuvent être
identifiés et plusieurs avantages peuvent être obtenus par l'intégration de l'utilisation de
systèmes de cloud Computing et multi-agents.
Nous pouvons dire que dans le cloud Computing le principal objectif de la recherche est sur le
l'utilisation efficace de l'infrastructure à coûts réduits.
Au contraire, les activités de recherche dans le domaine des agents sont plus portées sur les
aspects intelligents d'agents et sur leur utilisation pour développer des applications complexes.
Malgré ces différences, le cloud Computing et multi-agents systèmes partagent plusieurs points
communs et des sujets de recherche dans ces deux domaines ont plusieurs chevauchements qui
doivent être étudiées.
En particulier, le cloud Computing peut offrir une très puissante, prévisible, fiable et évolutive
infrastructure pour l'exécution de systèmes multi-agents qui est mise en œuvre complexe
d’applications basées sur des agents
D’autre part, de nombreux travaux ont été élaborés la technologie d’agents mobiles et les
concepts liés à cette dernière. Le concept d’agent mobile apparait dans ce contexte comme une
solution facilitant la mise œuvre d’applications dynamiquement adaptables, et il offre un cadre
générique pour le développement des applications réparties.
Dans le cadre de ce mémoire, nous nous sommes fixées comme objectif la réalisation d’une
architecture de cloud Computing , il s’agit d’une application basée sur les agents mobiles
à travers l’architecture proposée.
Notre travail consiste à comprendre le fonctionnement de deux architectures à savoir le
paradigme d’agents mobile ainsi que le concept du cloud Computing.
Le document est organisé de la façon suivante :
Chapitre(01) : nous étudierons quelques notions sur le cloud Computing : architecture, principe,
caractéristiques, ….
Chapitre(02) : Nous examinons certains des concepts sur le cloud Computing Mobile :
architecture, principe, caractéristiques, ….
Chapitre(03) : Il est une étude sur la technologie d’agent mobile : généralité, définition, cycle
de vie, domaines d’application et avantages, les différentes plates-formes d’agents existantes

Chapitre(04) : nous entamerons la conception d'architecture conceptuelle proposée, ensuite
nous détaillerons notre architecture basée agents mobiles pour la cloud Computing. Enfin, à la
réalisation de notre proposition d’architecture de système agents mobiles.

MOTS CLÉS
Cloud Computing ; stockage de données ; systèmes agents ; mobile ; agent mobile ; cloud
Computing Mobile ; Internet
CHAPITER 01
Cloud Computing
CHAPITRE 01: CLOUD COMPUTING

Introduction

Indéniablement, la technologie de l'internet se développe de manière exponentielle depuis sa


création. Actuellement, une nouvelle "tendance" a fait son apparition dans le
monde des IT (Technologies de l'information et de la communication), il s'agit
du cloud computing. Cette technologie, s'appuyant sur le WEB 2.0, offre des occasions aux
sociétés de réduire les coûts d'exploitation des logiciels par leurs utilisations directement en
ligne. Divers fournisseurs comme Google, Amazon, IBM offrent une vaste gamme de services
de Cloud Computing. Cette technologie vient juste d'éclore, elle est au début de son
exploitation mais déjà plusieurs acteurs majeurs cités précédemment adoptent leurs propres
stratégies de pionnier qui déterminera l'utilisation du cloud computing des entreprises
souhaitant investir.
De plus, on remarque aussi que des plus petits acteurs se battent pour une part de marché.
Beaucoup d'entreprises restent cependant sceptiques sur le cloud computing. La principale
raison est l'intégrité et la sécurité des données car les DSI (direction des systèmes
d'informations) restent frileuses de penser que leurs données critiques sont dans un endroit
incontrôlé et souvent inconnu.
Enfin, notons la position de l'open source dans cette technologie car aujourd'hui, on ne parle
Plus de serveur sans virtualisation et donc de XEN et KVM qui ont été choisi par la plupart
des exploitants. Sans compter que la plupart des logiciels développés pour le cloud computing
sont open source. Qu'est-ce que le Cloud Computing ?
CHAPITRE 01: CLOUD COMPUTING

1. Présentation du secteur

1.1. Définition et historique

1.1.1. Définition du « Cloud Computing » ou informatique en nuage

Le cloud computing est un modèle pour permettre omniprésent, pratique, l'accès réseau sur
demande à un pool partagé de ressources informatiques configurables (par exemple, réseaux,
serveurs, stockage, applications et services) qui peuvent être provisionnées rapidement et
libérés avec un effort minimum de gestion ou prestataire de services interaction.
Ce modèle de nuage est composé de cinq caractéristiques essentielles, trois modèles de
services et quatre modèles de déploiement [1].

Figure 1 : Evolution de l'informatique depuis le Minitel jusqu'au Cloud Computing [11]

Le National Institue of Standards and Technology (NIST) en a donné une définition qui est
souvent citée comme référence. Cette définition a été reprise dans le magazine Global
Security Mag et nous souhaitions vous la faire partager :

« L’informatique dans les nuages » est une nouvelle façon de délivrer les ressources
informatiques, et non une nouvelle technologie. »

C’est un modèle qui permet l’accès au réseau à la demande. Les ressources sont partagées et
la puissance de calcul est configurable en fonction des besoins. Le client peut bénéficier d’une
flexibilité importante avec un effort minimal de gestion.

Les applications proposées en mode Cloud Computing ne se trouvent plus forcément sur un
serveur informatique hébergé chez l’utilisateur mais dans un « nuage » formé de
l’interconnexion de serveurs géographiquement distincts réalisée au niveau de fermes de
serveurs géantes (également appelées datacenters1). Ceci est rendu possible par le procédé de
virtualisation qui consiste à faire fonctionner plusieurs systèmes d’exploitation ainsi que leurs
applications associées sur un seul serveur physique. La virtualisation permet ainsi de recréer
plusieurs ordinateurs virtuels sur une seule et même machine physique [2].

1 Datacenter : centre de traitement de données

2
CHAPITRE 01: CLOUD COMPUTING

1.1.2. Historique du Cloud Computing

Comme tous les concepts relevant autant de l'économie que de la technologie, il est difficile
de dire avec précision quand a été inventé le cloud computing. Selon certains, il faut remonter
en 1960, avec les travaux de l'Américain John McCarthy (1927-2011), un des pionniers de
l'intelligence artificielle qui considérait d'emblée l'informatique comme un service. Selon une
autre source, c'est l'avènement des réseaux dans les années 1970 qui a rendu possible
l'exécution déportée des tâches informatiques. D'autres enfin mentionnent le fait qu'Amazon,
site de commerce électronique de dimension mondiale, a trouvé dans le cloud computing une
solution élégante à la sous-utilisation de son parc de serveurs informatiques en dehors des
périodes de fête (qui représentent en termes de commandes un pic temporel ponctuel
d'utilisation). En louant ses serveurs à la demande et en proposant à ses clients ses outils S3
(simple storage service) et EC2 (elastic compute cloud), qui offrent respectivement des
services de stockage de données et de calcul, Amazon a pu rentabiliser ses propres
investissements en matériel informatique. L'expression « cloud computing » a, quant à elle,
été citée pour la première fois en 1997 par un professeur en systèmes de l'information,
Ramnath Chellappa, qui a défini les limites de l'informatique non en termes techniques mais
en termes économiques. D'autres sociétés, comme Salesforces, Google 101, ou IBM ont
commencé dès 1999, à développer une économie numérique fondée sur ces principes. Toutes
ces entreprises de dimension mondiale participent de manière active à la création de centres
(data-centers ou clusters) offrant une puissance de calcul et de stockage inégalée. Ces data-
centers sont un des enjeux stratégiques majeurs de la décennie 2015-2025 [3].

1.1.3. Les différentes typologies de Cloud Computing


La première typologie concerne la couche, comme le montre le schéma ci-dessous :

Figure 2 : Définitions et contours du Cloud Computing [12]

3
CHAPITRE 01: CLOUD COMPUTING

1.1.3.1 Les différents moyens de stockage proposés par les fournisseurs du cloud [13]

Il existe trois formes de déploiement du Cloud Computing :

Les Clouds privés : ensemble des ressources est exclusivement mis à disposition d’un seul
client. Le cloud privé peut être géré par l’entreprise utilisatrice elle-même ou par un
prestataire externe.

Les Clouds publics : les utilisateurs ont accès à des services cloud via l’Internet public sans
savoir précisément où sont hébergées leurs données ni où sont exécutés leurs traitements. Les
ressources informatiques et bases de données de l’utilisateur peuvent être hébergées dans
n’importe quel Datacenter du prestataire et peuvent passer d’un Datacenter à l’autre afin
d’optimiser les capacités du prestataire.

Les Clouds communautaires : terme désignant un cloud ou « nuage » qui permet à plusieurs
entreprises ou organisations de partager des ressources en mode cloud, ces ressources étant
exclusivement dédiées à ces organisations (avec des dispositifs d’allocations des ressources
ou de répartition de charge entre elles).

Les Cloud hybrides : ils associent à la fois des infrastructures et des Cloud privés et publics.
Une partie des données ou des infrastructures est gérée en interne par l’entreprise, dans ses
locaux ou chez un prestataire et communique avec des ressources Cloud [13].

Le Cloud hybride permet de différencier le lieu de traitement des données selon qu’elles
soient stratégiques ou pas : les données sensibles pourront alors être traitées dans les murs de
l’entreprise alors que les autres le seront par un Cloud public plus rentable, plus performant.
Le Cloud public peut également être une solution pour lisser un pic d’activité lorsque les
capacités de l’entreprise sont dépassées.

1.1.3.2. Les offres modulables [4]

C’est ainsi que sont nés trois modèles de prestations de services Cloud Computing :

 Software as a Service (SaaS) : il s’agit de la mise à disposition d’applications sous la forme


de service (CRM, outils collaboratifs, messagerie, ERP, …). Ce concept consiste à proposer
un abonnement à un logiciel plutôt que l’achat d’une licence. Plus d’installation, plus de
mise à jour à gérer (elles sont continuées chez le fournisseur), plus de migration de
données etc. Paiement à l’usage.
 Platform as a Service (PaaS) : Il s’agit des plateformes du nuage, regroupant
principalement les serveurs mutualisés et leurs systèmes d’exploitation. En plus de pouvoir
délivrer des logiciels en mode SaaS, le PaaS dispose d’environnements spécialisés au
développement comprenant les langages, les outils et les modules nécessaires.
 Infrastructure as a Service (Iaas) : Il s’agit de la mise à disposition, à la demande, de
ressources d’infrastructures (serveurs, moyens déstockage, réseau …) dont la plus grande

4
CHAPITRE 01: CLOUD COMPUTING

partie est localisée à distance dans des Datacenter. L’IaaS permet l’accès aux serveurs et à
leurs configurations pour les administrateurs de l’entreprise. Le client a la possibilité de
louer des clusters, de la mémoire ou du stockage de données. Le coût est directement lié au
taux d’occupation. Une analogie peut être faîte avec le mode d’utilisation des industries des
commodités (électricité, eau, gaz) ou des Télécommunications.

Les solutions SaaS constituent la forme la plus répandue de Cloud Computing.

Les prestataires de solutions SaaS les plus connus sont : Google avec Gmail et YouTube ou
encore les réseaux sociaux Facebook et Twitter.

Les principaux acteurs d’IaaS, de PaaS et de SaaS et prestataires de Cloud public dans le
monde sont :

IaaS PaaS SaaS


• Amazon – offres EC2 et • Microsoft – offre Azur • Google – offre Google
AWS • Google – offre Google Apps (messagerie et
• Microsoft – offre Azur App Engine bureautique)
• SalesForce – CRM
(Customer Relationship
Management)
• Microsoft – offre Office
365 (outils collaboratifs)
Table 1 : Les grands acteurs mondiaux de Cloud public [14]

A noter que sous la pression de l’Union Européenne et de la CNIL, les prestataires de


Clouds publics assurent désormais plus de traçabilité sur l’emplacement des
ressources mises à disposition en différenciant des grandes zones : Europe, Amérique
et Asie.

5
CHAPITRE 01: CLOUD COMPUTING

Figure 3 : Les différents modèles de déploiement d’un Cloud [15]

2. Enjeux et perspectives

2.1 Ce qu’apporte le Cloud à ses utilisateurs :

Le premier avantage fourni par le Cloud Computing est l’automatisation de la maintenance


des applications. Pas besoin d’acheter les nouvelles versions logicielles et de l’installer sur
tous les PC de l’entreprise : tout se fait automatiquement par le fournisseur de l’application.
Tous les utilisateurs bénéficient ensuite des nouveautés instantanément. Ainsi, on élimine les
problèmes de compatibilité de fichiers, de versions obsolètes de logiciels. Cela permet d’être
toujours en possession de la dernière version de l’application.
Le Cloud a également un intérêt très important pour les travailleurs nomades voulant avoir
accès aux fichiers de l’entreprise pendant leurs déplacements, et ceci à partir de n’importe
quel appareil relié à internet. L’inconvénient est que bien sûr, sans connexion internet, toutes
les données sont inaccessibles. En outre, le Cloud permet d’améliorer la sécurité des données :
fini la perte de clé USB ou de PC contenant des informations confidentielles. Tout est
centralisé et sécurisé par authentification de l’utilisateur. Ce partage des fichiers permet enfin
de mieux diffuser l’information et d’encourager le travail collaboratif grâce par exemple à
l’utilisation de wikis.
Pour une installation informatique classique, les frais sont multiples : achat de logiciels, de
serveurs, équipe informatique. Dans le cadre du Cloud Computing, il suffit de payer
l’abonnement et les services désirés. Les ingénieurs informaticiens peuvent se dégager de
certaines tâches comme l’entretien des serveurs, savoir si les serveurs pourront répondre aux
pics d’activité, et ainsi se concentrer sur des tâches à plus forte valeur ajoutée [1].

6
CHAPITRE 01: CLOUD COMPUTING

L’entreprise profite également de l’expertise des fournisseurs de Cloud qui proposent des
services adaptés. Certaines entreprises proposent des audits aux entreprises pour savoir s’il
serait judicieux de basculer sur le Cloud.

Néanmoins, il faut être vigilant lors de la signature du contrat et bien avoir réfléchi aux
besoins de l’entreprise car la tarification des services proposés dans le Cloud est difficile à
décrypter. La tarification peut se faire à la CPU 2 , à la bande-passante, aux capacités de
stockage, aux transactions. Il y a également des différences de tarifs en fonction de la zone
géographique, des clauses minimales de durée de contrat…

2.2 Ce que change le Cloud Computing pour les revendeurs d’IT3 [11] :

Le Cloud Computing est générateur d’un certain nombre de nouveautés pour les revendeurs
de solutions relatives à l’IT :

Nouvelles compétences à acquérir :


Le revendeur IT doit développer de nouvelles compétences autres que des compétences
purement informatiques, notamment dans les domaines de la gestion des contrats, des audits
des garanties de SLA4, de mise en place de plan de reprise d’activités.

Nouvelles missions :
Le partenaire Cloud peut (et doit à terme) jouer le rôle de conseil technologique (web agency,
experts verticaux) afin d’aider les PME à profiter efficacement et durablement des avantages
liés aux Cloud et au SaaS.

Nouveaux services :
Le Cloud est bien évidemment aussi générateur de nouveaux services (dématérialisation,
archivage, sécurité, solutions de gestion…) dont beaucoup sont encore à inventer. De plus, les
partenaires Cloud ont en effet tout intérêt à compléter leurs offres logicielles par toute une
panoplie de « nouveaux » services : facilité d'accès, disponibilité, évolutivité, fonctions en
self-service, souplesse et réactivité face aux montées et descentes en charge de l'utilisateur.

Pour délivrer ces services, les fournisseurs de Cloud pourront s’appuyer sur des acteurs de
BPO (Business Process Outsourcing). Ces derniers auront en charge certains processus métier
de l'entreprise (exemple : achats, comptabilité, finance, gestion de la relation client ou en
s'appuyant sur les solutions SaaS de l'éditeur).

Le Cloud permet une démocratisation de l’accès à ces services qui jusqu’à présent étaient
plutôt reservé aux seules grandes entreprises. Ces opportunités de nouveaux marchés se

2 CPU : Central Processing Unit = nombre d’opérations à la minute


3 IT : Information Technology
4 SLA : Service Level Agreement pour Accords sur la qualité de service : contrat définissant les engagements de

l'hébergeur quant à la qualité de sa prestation, et des pénalités engagées en cas de manquement.

7
CHAPITRE 01: CLOUD COMPUTING

concrétisent par un accès facile et rapide à l’International, à des départements de grands


comptes, à des petites entreprises traditionnellement inaccessibles (TPE, PME…).

Nouveaux modes de tarification :


En mutualisant leurs offres, les fournisseurs de solution Cloud peuvent proposer des prix plus
compétitifs, une tarification plus facilement adaptable et donc plus attractive pour de
nouveaux clients.

Nouveaux modèles économiques :


Le principe d'une tarification à l'abonnement (mode locatif) est pour l'éditeur synonyme de
revenus récurrents. Le partenaire Cloud est ainsi en mesure de planifier des revenus récurrents
prévisibles.

2.3 Les autres enjeux du Cloud

2.3.1 Enjeux de sécurité

Les entreprises ont souvent un a priori négatif sur la sécurité des infrastructures Cloud. Il est
vrai que de multiples affaires de violations de données ou de pannes de Datacenter ternissent
la réputation des fournisseurs de Cloud. On peut citer l’incident survenu en 2009 au service
Ovi de Nokia qui, à la suite d’une panne de son système de refroidissement, avait perdu la
totalité de ses données sans moyen de récupération, ou bien la panne des serveurs d’Amazon
ayant entrainé l’indisponibilité de sites web à fort trafic tels que Four square ou Quora [13].

A l’heure actuelle, les entreprises, surtout les plus grandes, pour toutes ces raisons qui créent
une zone d’ombre autour de la sécurité du Cloud public, préfèrent utiliser un Cloud privé
interne à leur entreprise, plus rassurant. De plus, ce sont surtout les PME non spécialistes du
secteur qui pourraient être intéressées par un passage sur le nuage, leurs données étant souvent
stockées sur des serveurs peu adaptés et mal protégés, et qui ont tout intérêt à confier leurs
systèmes IT à des fournisseurs de Cloud pouvant déployer des moyens de protection à grande
échelle. Les problèmes de sécurité sont ainsi plus souvent imputables aux entreprises clientes
qui se protègent mal et non pas aux hébergeurs qui sont des spécialistes et possèdent des
moyens de défense efficaces (équipe informatique dédiée à la sécurité, moyens de cryptage,
charte de qualité, etc.).

2.4 Le Cloud dans le Monde

Evolution pour certains, révolution pour d'autres. Si la sémantique diverge, le constat est
formel : le cloud computing transforme la façon de consommer l'informatique. A la base, il y
a toujours - et même de plus en plus - de gros serveurs installés dans des data center, qui vont
abriter des logiciels puis stocker et diffuser des données.

8
CHAPITRE 01: CLOUD COMPUTING

Mais alors que, depuis quarante ans, ces serveurs étaient sur les sites des entreprises ou chez
un prestataire dans un lieu identifié, ils peuvent aujourd'hui être n'importe où dans le monde,
reliés à l'utilisateur par une simple connexion Internet. A l'image de l'eau ou de l'électricité, la
ressource informatique (puissance de calcul, stockage, applications...) est devenue ce que les
Américains nomment une "commodité". Il suffit de tourner le robinet pour que cela
fonctionne.

Pour le client, plus besoin d'acheter du matériel ni même des logiciels, il lui suffit de louer la
ressource nécessaire. Ses frais informatiques, qui entraient jusqu'alors dans les "Capex" (les
dépenses d'investissement), figurent désormais dans la ligne des "Opex" (les dépenses
d'exploitation). Une solution particulièrement appréciée en temps de crise, où les entreprises
cherchent à réduire leurs immobilisations comptables [5].

3. Avantages

Le Cloud computing peut permettre d'effectuer des économies, notamment grâce à la


mutualisation des services sur un grand nombre de clients. Certains analystes indiquent que
20 à 25 % d’économies pourraient être réalisées par les gouvernements sur leur budget
informatique s’ils migraient vers le cloud computing. Comme pour la virtualisation,
l'informatique dans le nuage peut être aussi intéressante pour le client grâce à son évolutivité.
En effet, le coût est fonction de la durée de l'utilisation du service rendu et ne nécessite aucun
investissement préalable (homme ou machine). L'élasticité du nuage permet de fournir des
services évolutifs et peut permettre de supporter des montées en charge. Inversement, le
fournisseur a la maitrise sur les investissements, est maître des tarifs et du catalogue des
offres, et peut se rémunérer d'autant plus facilement que les clients sont captifs.

L'abonnement à des services de cloud computing peut permettre à l'entreprise de ne plus avoir
à acquérir des actifs informatiques comptabilisés dans le bilan sous forme de CAPEX et
nécessitant une durée d'amortissement. Les dépenses informatiques peuvent être
comptabilisées en tant que dépenses de fonctionnement [6].

9
CHAPITRE 01: CLOUD COMPUTING

4. Inconvénients

Plusieurs catégories d'inconvénients existent :

✔La bande passante peut faire exploser votre budget :


La bande passante qui serait nécessaire pour mettre cela dans le Cloud est gigantesque, et les c
oûts seraient tellement importants qu'il est plus avantageux d'acheter le stockage nous-mêmes
plutôt que de payer quelqu'un d'autre pour s'en charger.
✔Les performances des applications peuvent être amoindries :
Un Cloud public n'améliorera définitivement pas les performances des applications.
✔La fiabilité du Cloud :
Un grand risque lorsqu'on met une application qui donne des avantages compétitifs ou qui con
tient des informations clients dans le Cloud,
✔Taille de l'entreprise :
Si votre entreprise est grande alors vos ressources sont grandes, ce qui inclut une grande cons
ommation du cloud. Vous trouverez peut-être plus d'intérêt à mettre au point votre propre Clo
ud plutôt que d'en utiliser un externalisé. Les gains sont bien plus importants quand on passe
d'une petite consommation de ressources à une consommation plus importante [7].

10
CHAPITRE 01: CLOUD COMPUTING

Conclusion

Ce projet nous a aider à travailler en groupe, à nous aider les uns les autres face à de
nombreuses difficultés.
On peut considérer qu’il s’agit d’une évolution technique, la plupart des technologies utilisées
étant existantes depuis longtemps. Mais dans les mœurs, c’est une vraie révolution. Une étude
de marché récente montrait que 80 % des DSI5 envisagent d’avoir un parc serveurs entièrement
cloud. Les mentalités changent, l'utilisation aussi : le poste de travail n'est plus réduit à un PC
de bureau unique. Les métiers souhaitent disposer de leur environnement (applications,
documents...) où qu'ils soient et quel que soit le terminal qu'ils utilisent, le Cloud Computing a
un avenir très prometteur.

5 DSI : Directeur des systèmes d'information


CHAPITER 02
Cloud Computing
Mobile
CHAPITRE 02: MOBILE CLOUD COMPUTING

INTRODUCTION
Les appareils mobiles (par exemple, smartphone, tablettes PC, etc.) sont de plus en plus une
partie essentielle de la vie humaine comme outils de communication les plus efficaces et
pratiques pas limitées par le temps et le lieu. Les utilisateurs mobiles s'accumulent riche
expérience de divers services d'applications mobiles (par exemple, applications de l’iPhone, les
applications Google, etc.), qui se déplacent sur les appareils et / ou sur des serveurs distants via
des réseaux sans fil. Les progrès rapides de Computing mobile (MC) devient une tendance
puissante dans le développement des technologies de l'information ainsi que les champs de
commerce et d’industrie. Toutefois, les appareils mobiles sont confrontés à de nombreux défis
dans leurs ressources (par exemple, la vie de la batterie, le stockage et la bande passante) et de
la communication (par exemple, la mobilité et la sécurité). Les ressources limitées entravent de
manière significative à l'amélioration des qualités de service.

Cloud computing (CC) a été largement reconnu comme l'infrastructure informatique de la


prochaine génération. CC offre certains avantages en permettant aux utilisateurs d'utiliser
l'infrastructure (par exemple, les serveurs, les réseaux et stockage), les plates-formes (par
exemple, les services de middleware et systèmes d’exploitation), et des logiciels (par exemple,
les programmes d'application).Quelle est mobile Cloud Computing ?
CHAPITRE 02: MOBILE CLOUD COMPUTING

 Quelle est mobile Cloud Computing ? [17]


Le Forum Informatique mobile Couverture définit MCC6 comme suit :

«Mobile Computing Couverture à sa plus simple expression, fait référence à une infrastructure
où à la fois le stockage des données et le traitement de données se produisent à l'extérieur de
l'appareil mobile. Applications cloud mobiles se déplacent la puissance de calcul et de stockage
de données à partir des téléphones mobiles et dans le cloud, ce qui porte les applications et
l'informatique mobile et pas seulement les utilisateurs de smartphones, mais un éventail
beaucoup plus large d'abonnés mobiles ".

Figure 4: Mobile Cloud Computing

1. CONTEXTE [18]
En développement et l'extension de Cloud Computing et l'informatique mobile, mobile Cloud
Computing, comme une nouvelle expression, a été mis au point depuis 2009 Afin de nous aider
à saisir meilleure compréhension de Mobile Cloud Computing, commençons par les deux
techniques précédentes:. Informatique mobile et le Cloud Computing.

1) Caractéristiques : les caractéristiques de l'informatique mobile sont les suivantes :


a) la mobilité : les nœuds mobiles dans le réseau informatique mobile peuvent établir une
connexion avec d'autres, même les nœuds fixes dans le réseau câblé via la station mobile de
soutien (MSS) au cours de leur déplacement.

6
Mobile computing Computer

14
CHAPITRE 02: MOBILE CLOUD COMPUTING

b) la diversité des conditions de réseau : les réseaux utilisant normalement par des nœuds
mobiles ne sont pas uniques, ces réseaux peuvent être un réseau câblé à haute largeur de
bande, ou un réseau sans fil Wide Area Network (WWAN7) à faible bande passante, ou même
à l'état de déconnexion.
c) la déconnexion fréquente et la cohérence : comme la limitation de la puissance de la
batterie, la charge de la communication sans fil, les conditions du réseau et ainsi de suite, les
nœuds mobiles ne sera pas toujours
maintenir la connexion, mais débrancher et compatible avec le réseau sans fil passivement ou
activement.
d) la communication réseau Dis - symétrique : les serveurs et les points d'accès et autres
manuscrits permettent une forte capacité d'émission / réception, tout comme la capacité de
nœuds mobiles est assez faible comparativement. Ainsi, la largeur de bande de
communication au-dessus et entre les liaisons descendante et montante sont discordance.
e) Faible fiabilité : en raison de signaux est sensible aux interférences et l’espionnage, un
système de réseau informatique mobile doit être considérée comme des terminaux, les
réseaux, plates-formes de bases de données, ainsi que le développement d'applications pour
traiter la question de la sécurité.
2) Défis :
En comparaison avec le réseau filaire traditionnel, réseau informatique mobile peut faire face à
divers problèmes et défis dans différents aspects, tels que les troubles du signal, de la sécurité,
le retard de la main -off, puissance limitée, faible capacité de calcul, et ainsi de suite. En raison
de l'environnement sans fil et de nombreux nœuds mobiles. En outre, la qualité de service
(QoS8) dans un réseau informatique mobile ismuch plus facile d'être affectée par les reliefs, la
météo et les bâtiments.

1.1. Modèles de service :


Software as a Service (SaaS) : La capacité fournie au consommateur est d'utiliser les
applications du fournisseur fonctionnant sur une infrastructure cloud. Les applications sont
accessibles à partir de différents périphériques clients via une interface client léger comme un
navigateur Web (par exemple, e-mail basé sur le Web). Le consommateur ne gère ni ne contrôle
l’infrastructure cloud sous-jacente à l'exception possible des paramètres de configuration
d'application spécifiques à l'utilisateur sont limitées.
Platform as a Service (PaaS) : La capacité fournie au consommateur est de déployer sur
l’infrastructure cloud consumer created ou applications acquises créés à l'aide des langues et
des outils pris en charge par le fournisseur programmation. Le consommateur n'a pas de gérer
ou de contrôler l’infrastructure cloud sous-jacente, y compris réseau, serveurs, systèmes
d’exploitation, ou de stockage, mais a le contrôle sur les applications déployées et,
éventuellement, les configurations de l'environnement d'hébergement d’applications.

Infrastructure as a Service (IaaS) : La capacité fournie au consommateur est de traitement de


fourniture, le stockage, les réseaux, et autres ressources informatiques fondamentales où le

7
Wireless Wide Area Network
8
Quality of service

15
CHAPITRE 02: MOBILE CLOUD COMPUTING

consommateur est en mesure de déployer et exécuter le logiciel arbitraire, ce qui peut inclure
des systèmes d'exploitation et applications. Le consommateur n'a pas de gérer ou de contrôler
l’infrastructure cloud sous-jacente mais a le contrôle sur les systèmes d’exploitation, le
stockage, les applications déployées, et éventuellement contrôle limité de certaines
composantes du réseau (par exemple, les pare-feu de l’hôte).

Figure 5 : montre un cloud modèle de service typique [16]

1.2.Modèles de déploiement :
Les mêmes modèles de cloud Computing (Cloud privé - Cloud public - Cloud hybride ou
mixte)

Figure 6 : Déploiement Cloud public, privé et hybride [18]

16
CHAPITRE 02: MOBILE CLOUD COMPUTING

2. Architectures de Mobile Cloud Computing :


MCC comprend quatre types de ressources cloud: [19]

 Nuage mobiles lointain


 Nuage immobile lointain
 Entités informatiques mobiles proches
 Entités informatiques immobiles proches
 hybride

Le schéma suivant illustre le cadre de l'architecture de cloud Computing mobile:

Figure 7: Mobile Cloud Computing (MCC), architecture [19]

Les détails de l'architecture de cloud peuvent être différents dans des contextes différents. Par
exemple, une architecture à quatre couches est expliqué dans pour comparer le cloud computing
avec le grid computing. Alternativement, une architecture orientée services, appelé Aneka, est
introduit pour permettre aux développeurs de créer. Applications Microsoft.NET avec les
supports d'interfaces de programmation d'application (API) et plusieurs modèles de
programmation [20]. Présente une architecture pour créer des nuages de marché et propose une
architecture de services d'affaires livré Web. Dans cet article, nous nous concentrons sur une
architecture en couches de cloud computing (figure suivant). Cette architecture est couramment

17
CHAPITRE 02: MOBILE CLOUD COMPUTING

utilisée pour démontrer l'efficacité du modèle de cloud computing en termes de satisfaction des
besoins de l'utilisateur

Figure 8: Service-oriented cloud computing architecture [10]

En général, un CC est un système de réseau distribué à grande échelle mis en œuvre sur la base
d'un certain nombre de serveurs dans des centres de données. Les services de cloud computing
sont généralement classés basé sur un concept de couche (Figure). Dans les couches supérieures
de ce paradigme , de l'Infrastructure as a Service ( IaaS ) , Platform as a Service ( PaaS ) , et
Software as a Service ( SaaS ) sont empilés .
- Les centres de données couche. Cette couche fournit l'installation et de l'infrastructure pour
les nuages matériel. Dans la couche de centre de données, un certain nombre de serveurs sont
liées à des réseaux à haut débit pour fournir des services pour les clients. En général, les centres
de données sont construits dans des endroits moins peuplés, avec une stabilité d'alimentation
haute et un faible risque de catastrophe.
- IaaS. Infrastructure as a Service est construit au-dessus de la couche de centre de données.
IaaS permet la fourniture de stockage, le matériel, les serveurs et les composants réseau. Le
client paie généralement sur une base par utilisation. Ainsi, les clients peuvent réduire les coûts
que le paiement est seulement basé sur la quantité de ressources qu'ils utilisent vraiment.
L'infrastructure peut être agrandi ou réduit de manière dynamique en fonction des besoins. Les
exemples d’IaaS sont Amazon Elastic Cloud Computing et Simple Storage Service (S3) - PaaS.
Platform as a Service propose un environnement intégré de pointe pour la construction, les
essais et le déploiement d'applications personnalisées. Les exemples de PaaS sont Google App
Engine, Microsoft Azure et Amazon Carte Réduire / Simple Storage Service
- SaaS. Software as a Service prend en charge une distribution de logiciels à des exigences
spécifiques. Dans cette couche, les utilisateurs peuvent accéder à une application et des
informations à distance via Internet et ne payer que pour ce qu'ils utilisent. Salesforce est l'un
des pionniers dans la fourniture de ce modèle de service. Live Mesh de Microsoft permet
également de partager des fichiers et des dossiers sur plusieurs appareils simultanément.

Bien que l'architecture de CC puisse être divisée en quatre couches comme le montre la figure,
cela ne signifie pas que la couche supérieure doit être construite sur la couche directement en
dessous. Par exemple, l'application SaaS peut être déployé directement sur IaaS, PaaS au lieu

18
CHAPITRE 02: MOBILE CLOUD COMPUTING

de. En outre, certains services peuvent être considérés comme une partie de plus d'une couche.
Par exemple, le service de stockage de données peut être considéré comme soit dans IaaS ou
PaaS. Compte tenu de ce modèle architectural, les utilisateurs peuvent utiliser les services de
manière souple et efficace.

3. Cloud computing vs cloud computing mobile

3.1. Cloud computing

'' Le cloud computing fait référence à la fois aux applications livrées comme services sur
Internet et le matériel et les logiciels de systèmes dans les centres de données qui fournissent
ces services '' [8].
Un groupe de matériel informatique et logiciels qui offrent des services au grand public
(probablement pour un prix) constitue un «cloud public». Computing est donc à considérer
comme un utilitaire un peu comme l’électricité, l'eau, le gaz, etc où vous ne payez que pour
l’utilisation. Par exemple, Elastique Cloud, Azure la plate-forme de Microsoft, App Engine de
Google et Salesforce d'Amazon sont des clouds publics qui sont disponibles aujourd’hui.
Toutefois, le cloud computing ne comprend pas «clouds privés» qui se réfèrent à des centres
internes à une organisation de données. Par conséquent, le cloud computing peut être défini
comme l'agrégation de l'informatique comme un service et des logiciels en tant que service.

La virtualisation des ressources est une condition essentielle pour un cloud fournisseur car il est
nécessaire de multiplexage statistique qui est nécessaire pour l'évolutivité du cloud, et aussi de
créer l'illusion de ressources infinies à l'utilisateur de cloud. Ambrust et al.Est d'avis que ''
différentes offres utilitaire de calcul seront distingués en fonction du niveau d'abstraction
présenté pour le programmeur et le niveau de la gestion des ressources ''. Pour prendre un
exemple des fournisseurs de cloud existants, une instance de Amazon EC2 est très semblable à
une machine physique et permet à l'utilisateur de cloud contrôle presque total de la pile
logicielle avec une API mince. Cela donne à l'utilisateur une grande souplesse dans le codage,
mais cela signifie aussi qu’Amazon a peu évolutivité automatique et des fonctions de
basculement. En revanche, App Engine de Google applique une API sur l'utilisateur, mais offre
impressionnante évolutivité et de basculement options automatiques. La plate-forme Azure de
Microsoft est quelque chose entre les fournisseurs mentionnés ci-dessus en donnant à
l'utilisateur un certain choix dans la langue et offre des fonctions automatiques un peu d'échelle
et de basculement. Chacun des fournisseurs mentionnés ci-dessus a différentes options pour la
virtualisation de calcul, de stockage et de communication.

19
CHAPITRE 02: MOBILE CLOUD COMPUTING

3.2. Cloud Computing Mobile [9]

Il existe plusieurs définitions existantes de la téléphonie mobile cloud computing, et différentes


recherches fait allusion à des concepts différents de la «cloud mobile» :

1. Communément, le terme mobiles cloud computing signifie d'exécuter une application comme
Gmail de Google pour mobile sur un serveur riche ressource éloignée (dans ce cas, les serveurs
de Google) comme indiqué sur la figure. 9, alors que l'appareil mobile agit comme un client
léger connexion sur le serveur distant grâce à la 3G. Quelques autres exemples de ce type sont
les services de localisation conscients de Facebook, Twitter pour mobiles, widgets météo
portable etc.

Figure 9 : Un serveur nuage de restauration à distance pour les appareils mobiles grâce à
l'internet

2. Une autre approche consiste à considérer d'autres appareils mobiles eux-mêmes aussi,
comme des fournisseurs de ressources du cloud constituant un réseau Peer-to-Peer mobile dans.
Ainsi, les ressources collectives des différents dispositifs mobiles dans le voisinage local, et
d'autres dispositifs fixes trop si disponibles, seront utilisées comme indiqué dans la figure. 10.
Cette approche prend en charge la mobilité des utilisateurs, et reconnaît le potentiel des clouds
mobiles pour faire de détection collective ainsi. Systèmes Peer-to -Peer tels que le satin pour
mobile auto- organisation existent, mais elles sont basées sur des systèmes modèles
composantes qui représentent des systèmes composés de composants interopérables locales
plutôt que de retirer les tâches aux ressources mobiles locaux. Ce document se concentre
principalement sur ce dernier type de travail.

Figure 10 : Cloud virtuel de ressources constitué de dispositifs mobiles à proximité

20
CHAPITRE 02: MOBILE CLOUD COMPUTING

4. Le concept de petit cloud proposé par Satyanarayanan [21] est une autre approche au mobile
cloud computing. Fig. La figure 11 illustre cette approche où l'appareil mobile se décharge de
sa charge de travail à un « petit cloud » local composé de plusieurs ordinatrices multi-corés
avec la connectivité aux serveurs cloud à distance. Plug Computers peuvent être considérés
comme de bons candidats pour les serveurs de petits clouds en raison de leur facteur de forme,
la diversité et à faible consommation d'énergie. Ils ont la même architecture générale comme
un ordinateur normal, mais sont moins puissants, plus petits et moins coûteux, ce qui les rend
idéal pour le rôle de serveurs à petite échelle installées dans les infrastructures publiques. Ces
petits clouds seraient situés dans les espaces communs tels que des cafés ainsi que les appareils
mobiles peuvent se connecter et fonctionner comme un client léger pour le petit cloud , par
opposition à un serveur distant cloud qui présenterait des problèmes de latence et de bande
passante .

Figure 11 : Petit cloud appareils mobiles permettant de contourner les problèmes de latence
et de bande passante tout en bénéficiant de ses ressources.

Mobile cloud computing serait également fondée sous les concepts de base de cloud computing.
Comme nous l'avons par Mei et al. Dans, il y a certaines conditions qui doivent être remplies
dans un cloud, comme la capacité d’adaptation, l’évolutivité, la disponibilité et la conscience
de soi. Ce sont également des exigences en vigueur pour le cloud informatique mobile. Par
exemple, un cloud informatique mobile doit également être au courant de sa disponibilité et de
la qualité du service et permettre à diverses entités informatiques mobiles de se brancher
dynamiquement, en fonction

Sur les exigences et la charge de travail. Et pour les utilisateurs mobiles à prendre efficacement
avantage de la nuée, une méthode appropriée de selfassuming sa propre qualité est nécessaire-
puisque le statut interne et l'environnement externe est sujet à changement. Cependant, en plus
des exigences similaires, un cloud mobile doit tenir compte d'autres aspects tels que la mobilité,
la connectivité à faible et source finie de puissance ainsi [9].

21
CHAPITRE 02: MOBILE CLOUD COMPUTING

4. Avantages de Mobile Cloud Computing [10]

Malgré un assez grand nombre de questions et de défis qui MCC est confrontée, il y a encore
de nombreux avantages et points positifs qui MCC fournit par rapport à l'environnement
informatique traditionnel. Dans cette section, nous mettons en évidence certains avantages qui
font encore MCC une technologie futuriste potentielle.

1. Batterie longue durée de sortie

Sortie batterie durée de vie a toujours été un problème dans l'appareil mobile à l'avance comme
les téléphones intelligents, surtout quand ils exécutent des applications lourdes de Tablet PC.
MCC facilite l'utilisateur en exécutant lourd et prenant applications dans le nuage en utilisant
les ressources de cloud Computing. L'exécution d'applications à la fin de nuage sauve
considérablement la puissance des appareils mobiles de la batterie.

2. Amélioration de la puissance de traitement et de l'espace de stockage de données

Le MCC fournit aux utilisateurs mobiles une plate-forme pour stocker grande quantité de
données sur le nuage. L'espace de stockage est toujours une grande préoccupation pour les
utilisateurs mobiles qui élimine MCC. Les utilisateurs mobiles sa installation de stockage en
connectant des nuages à travers le réseau sans fil. Le premier exemple de services de stockage
en nuage qui sont fournis par le service Amazon Simple Storage (Amazon S3).

3. Plus de données et la fiabilité des applications

Utilisation de la MCC, la fiabilité des données est augmentée dans une large mesure parce que
les données sont stockées et sauvegardées sur des serveurs différents dans le nuage. Cet
avantage de la MCC se débarrasse des chances de perdre des données et de l'application sur
l'appareil mobile de l’utilisateur.

4. Évolutivité

Les fournisseurs de services de cloud Computing peuvent étendre leurs services de cloud
Computing avec moins d'effort et la modification de l’infrastructure. Ils peuvent facilement
ajouter des applications et services sans aucun souci sur l'utilisation des ressources.

5. Multi- location

Tant propriétaire d'un centre de données ou les fournisseurs de services de cloud Computing
partagent les mêmes ressources de cloud Computing pour fournir des applications et des
services pour les utilisateurs. Le coût est également divisé entre les deux.

6. Intégration flexible

Afin de traiter les demandes et les exigences des différents utilisateurs, les fournisseurs de

services de cloud computing peuvent intégrer différents services à travers le nuage et l'Internet
sans trop d’effort.

22
CHAPITRE 02: MOBILE CLOUD COMPUTING

Conclusion
Les appareils mobiles comme les téléphones intelligents ou tablettes ont beaucoup de
popularité parmi les utilisateurs. Cette question sera d'ouvrir la voie à la montée de
l'apprentissage mobile. Le modèle proposé dans le présent document sera très appréciée dans
l’avenir, car il est le résultat des avantages combinés des deux technologies d'apprentissage
et de cloud mobiles. Les applications peuvent être exécutées " de loin " et via des appareils
mobiles pour l'utilisateur dans ce modèle.

L'une des principales composantes du modèle proposé, c'est le calcul intensif qui est
responsable de l'informatique et de stockage de données requis pour les applications mobiles.
Ce système fournit un moyen de partager des ressources et des services entre les différents
utilisateurs et contribue à faire de l'apprentissage pour tous les utilisateurs à n'importe quel
endroit possible. D'autre part, plusieurs entreprises sont également en mesure de partager des
documents et des fichiers nécessaires à la formation des utilisateurs dans les programmes et
les données d'apprentissage clouds.Intelligent sera téléchargé sur le " centre de données "
couche dans le nuage. L'architecture de ce système est basé sur une architecture multi- couche
de la téléphonie mobile cloud computing. Dans les systèmes mis en œuvre avec le modèle
proposé, la relation entre la qualité de service (QoS) et la qualité d'expérience (QoE) comme
point de référence pour mesurer la performance des systèmes de cloud computing est requis.
Il a quelques avantages précieux comme suit. Il rend possible l'apprentissage intelligente tout
temps et partout. Il peut augmenter la durée de vie de la batterie des appareils mobiles tout
en utilisant le système éducatif ainsi que soulève l'espace de la mémoire de travail et la
capacité de traitement du système d’éducation. Il réduit également les coûts d'apprentissage
et de la dépendance matérielle, et augmente la cohérence, l'efficacité et la fiabilité.
Chapitre 03
Agent Mobile
CHAPITRE 03 : AGENT MOBILE

INTRODUCTION

Alors que l'Internet se développe constamment, la quantité d'informations disponibles en ligne


se développe en conséquence. La question de savoir comment trouver efficacement, de
recueillir et de récupérer ces informations a conduit à la recherche et le développement des
systèmes et des outils qui visent à apporter une solution à ce problème. Ces systèmes et les
outils sont basés sur l'utilisation de la technologie de l’AM.

Les agents mobiles sont des processus (par exemple, l'exécution de programmes) qui peuvent
migrer d'une machine d'un système à un autre ordinateur (généralement dans le même système)
afin de satisfaire les demandes faites par leurs clients. Principalement, un agent mobile s'exécute
sur une machine qui fournit espérons la ressource ou un service dont il a besoin pour effectuer
son travail. Si la machine ne contient pas la ressource / service nécessaire, ou si l'agent mobile
nécessite une ressource / service différent sur une autre machine, les informations d'état de
l'agent mobile est enregistré de manière prédéfinie, puis transfert à une machine contenant le
nécessaire ressources / service est lancé, et l'agent mobile reprend l'exécution à la nouvelle
machine. Avantages de l'utilisation AM comprennent la bande passante du réseau basse car ils
ne se déplacent que quand ils ont besoin pour continuer l'exécution même lorsqu'il est
déconnecté du réseau (typiquement pour le mode déconnecté), capacité à se cloner pour
effectuer l'exécution en parallèle, la mise en œuvre facile, le déploiement et la fiabilité.
Le reste du papier est organisé comme suit. Dans la section 2, le concept de la technologie de
l’agent mobile sera expliqué. La section 3 présente les caractéristiques de l'agent mobile. Les
raisons de l'utilisation de la technologie des agents mobiles sont expliquées dans section 4. Les
exigences de la construction du système d'agent mobile seront présentées dans la section 5. Un
aperçu de quelques applications d'agents mobiles actuels sera présenté dans la section 6. Les
obstacles techniques seront à l'article 7. L'article 8 prévoit des conclusions pour le papier. Enfin,
l'article 9 donne un aperçu du projet en cours.
CHAPITRE 03 : AGENT MOBILE

1. CONCEPT TECHNIQUE MOBILE AGENT [22]


Avant de présenter la technologie d'agents mobiles, nous allons la situer par rapport à une
grande famille : la technologie du code mobile. Un processus informatique est constitué par une
séquence d'instructions (code) qui s'exécute sur une machine et qui utilise les ressources de
cette machine. Dans le contexte de la mobilité, il faut envisager la possibilité d'interrompre
l'exécution d'un processus afin de le poursuivre sur une autre machine. Le processus est
représenté, en plus de son code, par son état d'exécution. Par état d'exécution nous entendons la
valeur du compteur ordinal, celle de la pile d'exécution et les différents registres du processeur.
Selon le schéma d'exécution de ce code et la localisation des différentes entités du système
(ressource, code et état d'exécution) nous pouvons distinguer les notions d'évaluation distante,
de code à la demande et d'agents mobiles.

1.1 Évaluation distante


Dans une interaction par évaluation distante (Figure suivant), un client envoie un code à un site
distant. Le site récepteur utilise ses ressources pour exécuter le programme envoyé.
Éventuellement, une interaction additionnelle délivre ensuite les résultats au client. Dans ce
schéma, seul le code est transmis au serveur et l'exécution du code se déroule uniquement sur
ce dernier. Les interactions avec les imprimantes PostScript sont réalisées par ce modèle. Le
code d'une requête SQL émis vers un serveur de base de données représente un autre exemple
d'évaluation distante.

Figure 12 : Évaluation distant

1.2 Code à la demande


Dans ce schéma, le processus client interagit avec un site distant afin de récupérer un savoir-
faire qui sera exécuté sur la machine cliente. Ainsi, le client télécharge le code nécessaire à la
réalisation d'un service. Le rôle du site distant est de fournir le code du service qui sera exécuté
sur le site client (voir Figure suivant). Les Applets Java reposent sur cette technologie de code
mobile, il s'agit d'un programme chargé à partir d'une page Web pour être exécuté sur la
machine du client.

Figure13: Code à la demande

26
CHAPITRE 03 : AGENT MOBILE

1.3 Agents mobiles


Par comparaison avec les deux schémas précédents, l'exécution du processus débute sur le site
client. Dans la mesure où le client a besoin d'interagir avec le serveur, ce même processus (code,
état d'exécution et données) se déplace à travers le réseau pour continuer son exécution et pour
interagir localement avec les ressources du serveur (voir Figure suivant). Après exécution,
l'agent mobile retourne éventuellement vers son client afin de lui fournir les résultats de son
exécution.

Figure 14 : Agent mobile

2. CHARACTERISTICS MOBILE AGENT [28]


Un agent mobil e doit répondre aux propriétés sui vantes :
- Mobilité : la capacité d'un agent à se déplacer dans un réseau informatique.
- Autonomie: les agents opèrent sans intervention directe d'être humai n ou autre, et ont
un certain contrôle sur leurs actions et leur état interne.
- Réactivité : les agents perçoivent leurs environnements et répondent aux changements qui
apparaissent.
- Comportement intentionnel (la proactivité) : les agents sont capables d'avoir un
comportement di ri gé vers un but et de prendre des initiatives.
- Comportement social : les agents interagissent avec d'autres agents (éventuellement humains)
via une sorte de "langage de communication agent".
- Rationalité : la conjecture selon laquelle un agent agira de façon à atteindre ses objectifs, au
moins dans la limite de ses convictions.
- Véracité : la conjecture selon laquelle un agent ne communique pas de mauvaises informations
sans le savoir.
Notons que ces caractéristiques sont plus ou moins accentuées selon le domaine
considéré, le but recherché et la stratégie adoptée. Toutefois, la mobilité est intrinsèque dans
ce paradigme.
Nous distinguons deux types de mobilité : la mobilité faible et la mobilité forte.
- Mobilité faible (non transparente) : L'agent doit préparer sa migration en sauvegardant son
état dans des variables et une fois sa migration effectuée, il doit restaurer son état et
reprendre son exécution, en général à un nouveau point du programme.
- Mobilité forte (transparente) :L’agent après sa migration repart dans le même état et
exactement au même point dans son code que celui avant migration.

27
CHAPITRE 03 : AGENT MOBILE

3. MODELE A AGENTS MOBILES [24]


De nombreux systèmes à agents mobiles ont été développés ces dernières années. Des exemples
sont les systèmes AgentTcl, Telescript, Aglets, Mole ou MOA [23]. Une grande partie de ces
systèmes sont construits sur l'environnement Java, principalement en raison de sa forte diffusion
dans le monde, mais aussi de ses avantages techniques : masquage de l'hétérogénéité des
machines et typage fort pour la sécurité.

Nous rappelons tout d'abord les fonctions générales des systèmes à agents mobiles, puis, après
un rappel des fonctions de Java utilisées dans la conception d'une plate-forme à agents, nous
décrivons notre plate-forme. Nous terminons cette section par une évaluation quantitative des
différents composants constituant la plate-forme.

3.1. Fonctions des agents mobiles


Un agent est un processus pouvant se déplacer de machine en machine afin de réaliser une
tâche. En général, la mobilité est fournie par le biais d'une primitive move (machine) qui permet
de se déplacer vers la machine désignée par le paramètre.

Un agent est composé de son code correspondant à un algorithme, ainsi que d'un contexte
incluant des données. Ce contexte peut évoluer en cours d'exécution, par exemple en collectant
des données lorsqu'un agent réalise une recherche d'information sur un ensemble de serveurs.
Le code et le contexte de l'agent sont déplacés avec l'agent lorsque celui -ci visite différents
serveurs.
Lorsqu'un agent se déplace vers un serveur, il doit poursuivre son exécution sur le site
destination. La plupart des systèmes à agents mobiles implantent une migration faible9, c'est -
à-dire une fonction de migration où l’agent redémarre son exécution depuis le début. En
conséquence, le programmeur doit inclure dans le contexte de l'agent des informations sur l'état
de l'exécution, et lorsque l'agent redémarre sur un site, le code de l'agent doit vérifier l'état de
l'exécution et se brancher sur la partie de l'algorithme devant être exécutée sur ce site.

Un système à agents fournit en général des primitives de communication permettant aux agents
d'interagir entre eux, mais aussi aux agents d'interagir avec les serveurs qu'ils visitent. Ces
primitives de communication prennent la forme d'envois de messages ou d'appels de procédures
ou de méthodes.

4. CLASSIFICATION DES AGENTS MOBILE [28]


Classification réfère à l'étude des types et des entités. Il y a plusieurs dimensions à classer agents
Mobile existants. Ils peuvent être classés en fonction de : les tâches qu'ils accomplissent ; leur
architecture de contrôle ; la portée et l'efficacité de leurs actions ; la gamme de sensibilité de
leurs sens ; ou combien état interne qu'ils possèdent. Dans cet article, nous classons les agents,
ainsi que plusieurs caractéristiques idéales et primaires que les agents doivent présenter. Nous

9
En particulier ceux construits sur Java qui ne fournit pas un mécanisme de migration de processus léger.

28
CHAPITRE 03 : AGENT MOBILE

identifions trois caractéristiques : au nomie, de l’apprentissage, et Cooper ation, dont nous


avons discuté à la section 1 Notre classification ici est basée sur.

Laissez-nous commencer par élaborer un peu plus sur ces caractéristiques. L'autonomie
désigne la caractéristique que l'agent peut fonctionner seul, sans la nécessité d'une orientation
humaine. En d'autres termes, un agent a un ensemble d'états et des objectifs internes, il agit de
manière à atteindre ses objectifs pour le compte de l’utilisateur. Pour ce faire, un agent doit être
proactif en ce sens qu'il a la capacité de prendre l'initiative plutôt que d'agir simplement en
réponse à son environnement. Coopération avec d'autres agents est nécessaire pour accomplir
une tâche compliquée. Afin de coopérer cependant, un agent doit posséder une capacité sociale
qui lui permet d’interagir avec d'autres agents. Enfin, un agent est intelligent si elle est capable
d'apprendre et de sens car il agit et réagit à son environnement externe. Ces trois caractéristiques
d’agents sont utilisées pour dériver des types d'agents d'inclure dans notre classification comme
représenté sur la figure 1trois caractéristiques d'agents sont utilisées pour dériver des types
d'agents d'inclure dans notre classification comme représenté sur la figure.

Agents de collaboration Agents de l'interface


Coopérer Apprendre

Autonomie

Figure 15 : Une vue partielle de la classification de l'agent

3.1 Agents d'interface

Agents d'interface d'effectuer des tâches pour leurs propriétaires en soulignant l'autonomie et
l'apprentissage. Ils soutiennent et fournissent une assistance à un utilisateur d'apprendre à
utiliser une application particulière, comme un tableur. L'agent ici observe les actions menées
par l'utilisateur et essaie d'apprendre de nouvelles coupes courtes, alors il va essayer de trouver
de meilleurs moyens de faire la même tâche. Comme P. Maes souligne, la métaphore clé qui
sous-tend les agents de l'interface est celle d'un assistant personnel qui collabore avec
l'utilisateur dans le même environnement de travail. Agents d'interface apprennent à mieux
aider ses utilisateurs à quatre voies [26] :
• En observant et en imitant l'utilisateur
• Grâce à recevoir des commentaires positifs et négatifs de l'utilisateur
• En recevant des instructions explicites de l'utilisateur

29
CHAPITRE 03 : AGENT MOBILE

• En demandant à d'autres agents pour obtenir des conseils


Alors que les agents d'interface demandent d'autres agents pour obtenir des conseils de leurs
pairs (apprentissage), leur Cependant, la coopération avec d'autres agents est limitée.

L'objectif des travaux de P. Maes sur les agents de l'interface a d'abord été de migrer d' la
métaphore de la manipulation directe à celui qui délègue certaines des tâches à agents de
l'interface du logiciel afin d’accueillir les utilisateurs novices. Avec l'croissance explosive du
Web, et que nous arrivons à proximité de 20e siècle, nous tenons que de nombreux utilisateurs
non formés comme nous l'avons microprocesseurs. Par conséquent, il y a un écart qui est à venir
plus apparente au fur et avec les ordinateurs.
Interfaces informatiques actuels, par exemple, ne font rien sauf si vous donnez les commandes
du clavier à l’écran, la souris, ou appuyez sur. Par conséquent, l'ordinateur est simplement une
entité passive attendant vos commandes pour les exécuter. Il ne nous donne pas toute l'aide
chaque fois que nous voulons effectuer des tâches complexes. Dans l’avenir, les agents de
l'interface ainsi que des agents de l'information (comme discuté plus tard) peuvent connaître les
intérêts des utilisateurs et agir de manière autonome en leur nom. C'est ce que les chercheurs
dans le domaine de la technologie des agents ont de grands espoirs pour.

4.2 Agents de collaboration

Comme la prolifération des réseaux de communication de l'ordinateur a été un grand pas vers
le développement de «sociétés virtuelles». Collaboration entre les individus (dans la société
virtuelle) nécessite que les liens de communication soient établis et utilisées efficacement.
Intelligence Artificielle Distribuée, qui est un sous-champ de l'intelligence artificielle, est
concerné par une société virtuelle de la résolution de problèmes (agents) interagissent pour
résoudre un problème commun.
Le but des agents de collaboration est d'interconnecter les agents de collaboration développés
séparément, permettant ainsi à l’ensemble de fonctionner au-delà des capacités de n'importe
quel de ses membres. La mise en œuvre des moyens efficaces de coopération entre les agents
est en fait l'une des questions centrales pour le développement Systèmes Multi-Agents [25].
Une des motivations pour avoir des agents de collaboration est de fournir des solutions aux
problèmes intrinsèquement distribués, tels que le réseau distribué de capteur, ou contrôle du
trafic aérien.

4.3 Agents d'information

La croissance explosive de l'information sur le Web Word Wide a donné une naissance à des
agents d'information (également connu sous le nom des agents de l'Internet ) dans l'espoir que
ces agents seront en mesure de nous aider à gérer , manipuler , ou rassembler des informations
à partir de plusieurs ressources distribuées. On peut remarquer cependant que les agents
d'information semblent un peu similaires à l'interface des agents. Cependant, il est important de
noter que tous les types d'agents discutés ici ont commencé en même temps. Ainsi, avec la
croissance explosive de l’information, et le besoin d'outils pour gérer ces informations, on peut
s'attendre à un certain degré de chevauchement entre les objectifs de certains agents. Une

30
CHAPITRE 03 : AGENT MOBILE

distinction entre l'interface et l'information des agents, cependant, est que les agents
d'information sont définis par elles le font, par opposition à l'interface des agents qui sont définis
par ce qu'ils are.

Il y a quelques agents d’interface, développée au MIT Media Lab, qui ont été déployés pour les
rôles sur le Web, et par conséquent, ils peuvent être considérés comme des agents d'information.
Une caractéristique importante des agents de vente, c'est qu'ils peuvent être statiques ou
mobiles.

Agents d'information sont les plus utiles sur le Web où ils peuvent nous aider à des tâches
banales. Par exemple, nous menons des actions qui peuvent consommer beaucoup de temps
(par exemple, recherche sur le Web pour information). Pourquoi ne pas l'ordinateur (par
exemple, un agent d’information) effectue ces tâches pour nous et plus tard nous présenter les
résultats ?

4.4 Agents hybrides [29]

Nous avons passé en revue cinq types d'agents : collaboratifs, d'interface, mobiles,
d'information et réactifs. Le débat sur l'opportunité d'avoir tel ou tel type d'agent est davantage
un débat théorique et plutôt stérile. Chaque type d'agent possède ses points forts et faibles, ses
avantages et ses inconvénients. Une approche consiste donc souvent dans la réalité à bâtir des
agents hybrides. Un agent hybride consiste en la combinaison de plusieurs caractéristiques au
sein d'un même agent ; ces caractéristiques concernent la mobilité, la collaboration, l'autonomie,
la capacité à apprendre, etc. L'utilisation d'agents hybrides reste toujours guidée par le souci de
minimiser les faiblesses et d'augmenter les forces de tel ou tel type d'agents que l'on mettrait en
oeuvre dans une application.

4.5 Système multi-agents et Domaines d’application : [27]

Un système multi-agents est un système distribué composé d'un ensemble d'agents.


Un système multi-agents est caractérisé ainsi :
 chaque agent à des informations ou des capacités de résolution de problèmes limités (ainsi,

chaque agent a un point de vue partiel)


 il n'y a aucun contrôle global du système multi-agents

 les données sont décentralisées

 le calcul est asynchrone.

Plusieurs d'entre eux utilisent domaines


 Résolution distribuée de problèmes algorithmiques
 Problématique : Distribuer les algorithmes d’IA (RO, Planification, Contraintes, …)

―Introduction de la spatialité dans les heuristiques (Algos génétiques, …)


―Introduction de l’adaptativité dans les heuristiques (Algos fourmi, …)

31
CHAPITRE 03 : AGENT MOBILE

 Modélisation, Simulation et Analyse d’entités distribuées


 Problématique : Emergence, Morphogenèse, Apprentissage de Formes, Structures,

Comportements
―Agents automates (à état corporel - sans représentations) : agents situés (environnement
médiateur), Artificial Life
―Agents informationnels (à KB du monde - à représentations) : Modèles BDI, Simulation
sociologique
―Agents humains (Collectifs humains médiés) : traces d’interactions formelles et/ou
langagières, extraction de pratiques
 Applications Logicielles Distribuées

 Problématique : Déployer des services dans l’info pace

―Architecture dynamiques : plateformes agents, agents mobiles


―Agent Communication Languages (ACL), au-dessus des protocoles objets distribués (RMI,
CORBA)
―Travail coopératif : coopération (planification distribuée), négociation (répartition de
ressources : brokers)
 Interaction et Communication avec des Humains

 Problématique : Ordinary People dans l’info pace

―Délégation de tâche (« Do It for me ») et/ou de rôle (« Act on my behalf »)


―Médiation :
 agents assistants d’interface (Help)

 agents avatars conversationnels

 Agents ubiquistes : Ambiant

4.6 Agents mobiles [33]

Un agent logiciel est un agent logiciel mobile si elle est capable de migrer d'un hôte à travailler
dans un environnement de réseau hétérogène. Cela signifie que nous devons également tenir
compte de l'environnement logiciel dans lequel les agents mobiles existent. C'est ce qu'on
appelle l'environnement de l'agent mobile, qui est un système logiciel distribué sur un réseau
d'ordinateurs hétérogènes et sa tâche principale est de fournir un environnement dans lequel les
agents mobiles peuvent fonctionner. Notez que non seulement un agent se transporte, mais aussi
son état. Quand il atteint le nouvel hôte, l'agent doit être capable d'effectuer de manière
appropriée dans le nouvel environnement

4.6.1 Un nouveau paradigme pour Computing répartie

Le principe central de la programmation distribuée d'aujourd'hui est une procédure appel à


distance (RPC). L'approche de la RPC, qui a été conçu dans les années 1970, considère la
communication d'ordinateur à ordinateur permettant à un ordinateur d'appeler une procédure
dans un autre. En RPC, tous les messages passent par le réseau, chacun soit demandes ou
reconnaît les actions d’une procédure. Cette approche, cependant, a ses propres limites. Plus

32
CHAPITRE 03 : AGENT MOBILE

particulièrement, toutes les interactions entre le client et le serveur doivent passer par le réseau
comme indiqué sur la figure 2.

Client Network Server

Figure 16: RCP-based Client/Server Computing Paradigm

Une autre approche qui se forme un nouveau paradigme pour le calcul distribué est celui qui
emploie des agents mobiles. Initialement, cette approche a été connue comme la programmation
à distance. L'approche de programmation à distance considère communication d'ordinateur à
ordinateur comme un ordinateur non seulement pour appeler des procédures dans un autre, mais
aussi de fournir les procédures à effectuer. Chaque message qui passe par le réseau comprend
une procédure que l'ordinateur récepteur pour fonctionner et les données qui en sont les
arguments. La procédure et son état sont appelés un agent mobile, car ils représentent le même
ordinateur qui envoie alors qu'ils sont dans l'ordinateur de réception comme le montre la figure.

Client Agent Network Agent Server


Client Computer Server Computer

Figure 17: Mobile agents-based computing paradigm

Cette approche est attrayante car la fiabilité du réseau n'est pas crucial pour les raisons suivantes
:
• Les agents mobiles ne consomment pas beaucoup de bande passante réseau. Ils ne
consomment que la bande passante quand ils se déplacent.
• Ils continuent à exécuter après ils se déplacent, même s'ils perdent la connectivité réseau avec
leurs créateurs.

Par conséquent, si un client à besoin de nombreuses communications avec une part de serveur
particulier sur le réseau, puis la mise en œuvre d'un tel système en utilisant des agents mobiles
est attrayant. Cela est dû au fait que l'agent peut se rapprocher du serveur distant, ce qui réduit
le trafic de réseau, effectue toutes les tâches et revient. Pendant cette période, la machine cliente
biche pas à être allumé. Il devra être mis en marche seulement quand il est temps d'accueillir à
nouveau l’agent. La figure 3, représenté ci-dessus, illustre l'idée de ce paradigme.
À ce stade, quelqu'un peut dire que c'est exactement ce que la migration de processus est tout
au sujet et cela a été fait dans les années 60. Que quelqu'un serait tout à fait raison.
Cependant, les agents mobiles sont différents dans le sens où ils présentent les caractéristiques
d'un agent.

33
CHAPITRE 03 : AGENT MOBILE

4.6.2 Structure d’un agent mobile [34] [35]

Un agent mobile est une entité qui possède cinq attributs : son état, son implémentation, son
interface, son identifient et son autorité. Quand un agent se déplace à travers le réseau, il
transporte ses attributs :

 L’état : l’état d’un agent peut être considéré comme une photo instantanée de son exécution.
Quand un agent voyage, il transporte avec lui son état, ceci lui permet de reprendre son
exécution quand il a arrivé à destination.
 L’implémentation : comme n’importe quel autre programme, l’agent mobile a besoin d’un
code pour pouvoir s’exécuter. Quand il se déplace à travers le réseau, l’agent peut soit
emporter son code soit aller à destination, voir quel code est disponible sur la machine distante
et récupérer le code manquant à partir du réseau (c’est la technique du « code on demande »).
 L’interface : un agent fournit une interface qui permet aux autres agents et autres systèmes
d’interagir avec lui. Cette interface peut être un ensemble de méthode qui permet aux autres
agents et applications d’accéder aux méthodes de l’agent par un système de messagerie.
 L’identifiant : chaque agent possède un identifiant unique durant son cycle de vie, qui lui
permet d’être identifié et localisé. Puisque l’identifiant est unique, il peut être utilisé comme
clé dans les opérations qui exigent un moyen pour référencer une instance particulière
d’agents.
 L’autorité : une autorité est une entité dont l’identité peut être authentifie par n’importe quel
système auquel elle essaye d’accéder. Une autorité peut être soit une personne privée, soit une
organisation. l’identité est constituée d’un nom et d’autres attributs.

4.6.3 Domaines d'applications [31]


Il existe plusieurs applications pour lesquelles les agents mobiles pourraient être utilisés.
La majorité de ces applications s'intéresse à la recherche d'informations au nom de l'usager et
possiblement à l'exécution de transactions spécifiques quand les informations appropriées sont
rencontrées. Voici ci-dessous une liste d'applications susceptibles d'utiliser le paradigme des
agents mobiles comme mécanisme de fonctionnement.
• Collecte de données de plusieurs places : une différence majeure entre le code mobile,
comme les applets, et les agents mobiles est l'itinéraire. Alors que le code mobile voyage
d'ordinaire d'un point A à un point B, les agents mobiles ont un itinéraire plus complexe et
peuvent voyager de manière séquentielle entre plusieurs sites. Une application naturelle par
conséquent est la collecte d'informations localisées dans plusieurs ordinateurs d'un réseau.
• Recherche et filtrage : étant donné le volume important (et en croissance) d'informations
disponibles sur l'Internet, la collecte d'informations exige la recherche dans un grand espace
de données pour déterminer des portions d'informations pertinentes. Le filtrage des
informations non-pertinentes est souvent un processus consommateur de temps. À la
demande de l'usager, un agent mobile pourrait visiter plusieurs sites, chercher à travers les
informations disponibles dans chaque site et construire un index des liens pour les portions
d'information qui répondent aux critères de sélection.
• Négociation : au lieu de chercher dans des bases de données ou dans des fichiers, les agents
peuvent obtenir de l'information en interagissant avec d'autres agents. Si par exemple une

34
CHAPITRE 03 : AGENT MOBILE

personne désire organiser une rencontre avec diverses personnes, elle pourrait envoyer son
agent mobile pour interagir avec les agents représentatifs de chacune de ces personnes. Les
agents pourraient négocier et décider du temps et du lieu de la rencontre selon les contraintes
de chaque personne. Ces contraintes sont exprimées dans un langage de spécification
compréhensible aux agents.
 Ainsi que d'autres domaines d'application, comme la surveillance des réseaux [4J, le
traitement parallèle et le commerce électronique.

4.6.4 Avantages d'agents mobiles [32]

Les agents mobiles semblent être utiles pour de nombreuses applications différentes. On peut
cependant affirmer que pratiquement n'importe quelle tâche qui peut être réalisée avec des
agents mobiles peut être réalisée avec d'autres technologies (par exemple Remote Méthode
Invocation).
Malgré le fait qu'il n'y a pas beaucoup de problèmes de calcul distribué qui ne peuvent pas être
résolus sans des agents mobiles, les agents mobiles font néanmoins certaines applications plus
faciles à développer et peuvent améliorer la fiabilité et l'efficacité. Le tableau, qui est basé sur
contient certains des avantages revendiqués d'agents mobiles par rapport aux approches
classiques.

Avantages Justification
Efficacité Les agents mobiles consomment moins de ressources réseau car ils se
déplacent le calcul des données au lieu de les données au calcul.
moins de bande La plupart des protocoles de communication comprennent plusieurs
passante interactions, qui causent beaucoup de trafic réseau. Les agents mobiles
consomment de la bande passante que quand ils se déplacent.
Robustesse et La capacité des agents mobiles pour réagir dynamiquement à des
tolérance aux situations indésirables, il est plus facile de construire un comportement
pannes de tolérance aux pannes dans les systèmes distribués complexes.
Soutien à des Systèmes d'agents mobiles sont ordinateur et le réseau indépendant. Par
environnements conséquent, un agent mobile Java peut cibler n'importe quel système qui
hétérogènes a une machine virtuelle Java.
Soutien pour le Les agents mobiles sont utilisés pour créer des marchés électroniques, car
commerce ils incarnent les intentions, les désirs et les ressources des acteurs du
électronique marché.
Développement La construction de systèmes distribués peut être facilitée par des agents
facile Paradigm mobiles. Les agents mobiles sont intrinsèquement distribués dans la
nature. Par conséquent, ils sont à naturel vue d'un système distribué.

Tableau 3 : Possible des avantages des agents de logiciels mobiles [33]

35
CHAPITRE 03 : AGENT MOBILE

4.6.5 Migration d’un agent [35]


Les migrations d'agents mobiles peuvent s'effectuer selon deux modes :

4.6.5.1 Migration forte


La migration forte, où la totalité de l'agent (c'est-à-dire code, données et unité d'exécution)
migre vers le nouveau site. Pour cette migration réelle, l'agent est suspendu ou capturé avant
d'être transféré. Une fois arrivé sur le site distant, il redémarre son exécution au point de contrôle
précédent, en conservant l'état du processus. Une autre possibilité proposée consiste à stopper
l'exécution de l'agent avant la migration puis d'en créer une copie distante identique sur le site
distant (migration par réplication).

4.6.5.2 Migration faible


La migration faible ne fait que transférer avec l’agent son code et ses données. Sur le site de
destination, l’agent redémarre son exécution depuis le début en appelant la méthode qui
représente le point d’entrée de l’exécution de l’agent, et le contexte d’exécution de l’agent est
réinitialisé.

4.6.6 Composantes de la sécurité dans les systèmes d'agents mobiles : [31]

Startél

Réseau accès à des informations privées


techniques de cryptographie,
encapsulées dans un agent touchant à
authentification, canaux secoures
son état

Système hôte accès non-autorisé à des ressources & accès à l’hôte accordé par
locales l'infrastructure selon une base
discriminatoire

Interférence dans l'état de communication agent-infrastructure


Plate-forme l'infrastructure en lisant, écrivant ou Secure et comptabilisation de l'usage
exécutant du code des ressources

Interférence dans l'état de l'agent en communication inter-agents Secure et


Agent lisant, écrivant ou exécutant du code comptabilisation de l'usage des
ressources

Tableau 4 : Composantes de la sécurité dans les systèmes AM

La sécurité du réseau de communication et de l'authentification est un problème bien étudié et


souvent résolu par des techniques de cryptographie. La protection du système hôte et des droits
d'accès à une grande similarité avec la protection des systèmes d'exploitation. La difficulté est

36
CHAPITRE 03 : AGENT MOBILE

de définir les ressources à protéger afin de mettre en place des mécanismes de contrôle d'accès
flexibles. La protection des infrastructures de support des agents peut être réalisée en imposant
certaines restrictions aux programmes, comme l'interdiction de manipuler arbitrairement les
zones mémoires. La communication entre les agents est aussi importante, étant donné que les
agents ont le pouvoir de communiquer librement, tout en leur interdisant d'interférer dans les
opérations d'exécution des autres agents.
Un agent peut être soumis à quatre catégories d'attaques [30] : violation de la partie privée,
violation de l'intégrité, "masquera ding" (Usurpation de l'autorité ou de l'identité d'un autre
agent pour une série d'actions) et dénégation d'un service (Consommation excessive d'une
ressource finie comme du temps de traitement, de la mémoire ou du sous-système de
communication)

37
AGENT MOBILE

Conclusion

Dans ce chapitre, nous avons présenté les différentes technologies utilisées pour la
répartition et la communication entre les différentes entités d'une application répartie.

Ainsi, nous avons situé la technologie d'agents mobiles par rapport aux différentes
techniques présentées.

Un agent mobile est une entité autonome qui se déplace d'une machine à l'autre sur le réseau,
sans perdre son code ni son état. C'est l’environnement d’exécution qui se charge
d'assurer cette fonctionnalité. Il permet la création et la migration d'un agent, la communication
et l'échange de messages entre les agents mobiles et il assure la sécurité de l'agent et de son site
d'accueil.

Avec la multitude de plates-formes d'exécution, des efforts dans le domaine de


la standardisation ont été déployés. Nous avons présenté le standard MASIF qui
définit les fonctionnalités minimales pour permettre l'interopérabilité d'agents mobiles.
Chapitre 04
PRESENTATION
CHAPITRE 04 : PRESENTATION

Introduction

Le Cloud computing fournit des services élastiques, de haute performance et de stockage de


données évolutives pour un grand quotidien augmenter le nombre d'utilisateurs.
Le Cloud computing agrandi le domaine des systèmes informatiques distribués en offrant des
services Internet avancés complètent et complète des fonctionnalités de l'informatique
distribuée fournis par le Web, grid computing et Peer-to-Peer.
En fait, les systèmes de cloud computing offrent une infrastructure à grande échelle pour
l’informatique a des performances élevées qui snt dynamiquement s'adapte à l'utilisateur
et les besoins d’application
Les systèmes mobile agents sont souvent utilisés pour résoudre des problèmes en utilisant
une approche décentralisée où plusieurs agents contribuent à la solution en coopérant l'un
avec l'autre.
Bien que plusieurs différences existent entre Cloud computing et des systèmes agents mobile,
ils sont les deux des modèles distribuée de calcul, donc plusieurs problèmes communs
peuvent être identifiés et plusieurs avantages peuvent être obtenus par l'intégration de
l'utilisation des systèmes de cloud computing et agents mobile.
Nous avons présenté dans les chapitres précédents un état de l’art sur les systèmes du
cloud computing, la technologie des agents et des agents mobiles.
Dans ce chapitre, nous proposons notre structure qui va permettre dans le cloud computing
basée sur la technologie d'agents mobiles.
CHAPITRE 04 : PRESENTATION

1. Objectifs
Ces dernières années, Chercher, trouver et intégrer de l'information à partir de ressources de
données dispersées géographiquement est un problème difficile auxquels se trouvent
confrontées de nombreuses institutions. La taille et la variété des données accessibles par
réseaux ont considérablement augmenté. De nouvelles solutions sont devenues nécessaires pour
manipuler l'information issue de ressources dynamiques comme le World Wide Web.
Le concept d'agent mobile apparaît dans ce contexte comme une solution facilitant la mise en
œuvre d'applications dynamiquement adaptables, et il offre un cadre générique pour le
développement des applications réparties. Dans ce modèle "agent mobile", un agent est un
processus possédant un contexte d'exécution, incluant du code et des données, pouvant se
déplacer de machine en machine (appelées serveurs) afin de réaliser la tâche qui lui est assignée.
A priori, les avantages des agents mobiles sont nombreux :
- L'exécution d'agents spécialisés offre d'avantage de souplesse que l'exécution d'une procédure
standard sur les sites serveurs, et permet des transactions plus robustes que les transactions
distantes.
- L'asynchronisme et l'autonomie des agents leur permet de réaliser une tâche tout en étant
déconnecté du client, ce qui est particulièrement utile dans le cas de supports physiquement
mobiles (clients ou serveurs d'information).
- Les agents sont capables de chercher l'information d'une façon plus intelligente, par exemple
en cherchant selon des concepts. Les agents sont également capables de corriger les requêtes
de l'usager, en se basant sur le modèle de ce dernier ou sur d'autres informations.
- Les agents peuvent créer leurs propres bases de connaissances qui sont mises à jour après
chaque recherche. Si l'information change de site, les agents sont capables de la trouver et, par
la suite, s'adapter à ce changement. En plus, les agents sont capables de communiquer et
coopérer entre eux (et c'est là leur vraie force), ce qui accélère et facilite la recherche. Comme
nous l'avons déjà évoqué, l'architecture proposée dans ce travail est une approche basée agents
mobiles conçue pour la recherche d'information et stockage dans des sources.

2. Architecture Générale
L'approche proposée est une approche basée agents mobiles conçue pour le cloud computing
pour assurer transport lisse, L’architecture générale du notre système, illustrée à la figure :

Client

Serveur Data Center

Client

Figure 18 : Architecture Générale

41
CHAPITRE 04 : PRESENTATION

Interface :
Cette contient l'application qui permet au client d'interroger le système. Son rôle essentiel est
de capturer le but de l'utilisateur afin de répondre le mieux possible à son besoin. Elle comprend
des agents d'interface interagissant avec l'usager pour l'aider à réaliser une tâche bien précise.
Cette interaction se traduit par une transformation des demandes de l'usager.
Agents Mobiles
contient tous les agents, l'agent la vérification, réservation et d'annulation.
- l'agent la vérification : Ici, le client de vérifier l'existence de chambres vacantes dans l'hôtel.
- l'agent la réservation : Le client ici pour réserver une chambre à l'hôtel.
- l'agent la annulé les réservations : Le client a annulé les réservations de chambres.
Sources D'information
C'est une classe capable de recevoir des requêtes, de les traiter et de retourner les résultats. Cette
couche regroupe les multiples sources qui fournissent les données de base du système.

Agent Vérification

Agent Réservation
Client

Agent Annuler
Réservation Data Center

Interface Agents Mobiles Sources D'information

Figure 19 : Scénario du système

3. Les diagrammes en AUML

Le langage A-UML (Agent -UML) a été proposé par Bauer, Odell et alen 1999 comme une
extension de la notation UML pour la modélisation d’agents.Cette extension concerne les
diagrammes de séquence pour modéliser les protocoles d’interaction entre agents.
Donc, AUML est un mécanisme de modélisation des interactions entre agents. D’une part, les
agents sont actifs, ils sont capables de prendre des initiatives et peuvent contrôler la
communication entre eux. D’autre part, les agents coopèrent et coordonnent leurs travaux pour
atteindre un but commun. Par rapport aux objets, les agents ont des activités autonomes et des
buts. C’est cette différence qui entraîne l’insuffisance d’UML, pour modéliser les agents et les
systèmes multi agents et c’est pour cette raison que nous avons utilisé AUML pour modéliser
notre système.

42
CHAPITRE 04 : PRESENTATION

Nous commençons d’abord par l’élaboration du diagramme de cas d’utilisation afin de montrer
les acteurs du système ainsi que les cas d’utilisation qui existent

3.1. Diagramme de cas d’utilisation

La description des cas d'utilisation se fait par l'identification des scénarios qui peuvent être
représentés au moyen d'un diagramme de séquence pour chacun, ce diagramme rend compte
des événements qui définissent l'interaction de les agents entre eux et l’interaction des agents
et le système (utilisateur, serveur virtuel et cloud contrôleur).

Gérer une interface pour le client

Agent interface
Envoyer chaque requête a l’agent
mobile et obtenu le résultat
Lancer un agent

Envoyer la demande au cloud


computing et attend la réponse

Vérification et envoyer la
Agent mobile
réponse

Exécution et retourner le résultat


au client

Figure 20 : Diagramme de cas d’utilisation de système

3.2.Les diagrammes des séquences


Dans la partie de diagrammes de séquences, nous avons un ensemble des diagrammes simples
et explicites Schématisent les relations et les interactions dans notre Système.
 Diagramme de séquence de registre un serveur virtuelle Ce diagramme présente
l’interaction entre le serveur virtuel, et le contrôleur du cloud computing pour registre cette
serveur dans le cloud computing.

43
CHAPITRE 04 : PRESENTATION

Registration

Agentvirtuel
Serveur Cloud computing Serveur virtuel

Demande Ajouté un serveur virtuelle

Accepte Confirmation

Figure 21 : Diagramme de séquence « Inscription serveur»

 Diagramme de séquence d’agent interface


Le client qui désire utiliser le système

Authentification

Agent Interface Agent médiateur Agent analyseur

CLIENT
1) saisie de l'identifiant
2 ) envoi des informations
3) vérification des informations

4) Résultat

5) chargé l’interface

Figure 22 : Diagramme de séquence « authentification»

44
CHAPITRE 04 : PRESENTATION

 Diagramme de rôle du serveur virtuel


Ce diagramme présente l’interaction entre l’agent médiateur, et l’utilisateur et le système
à base d’agents mobiles et il joue comme le responsable de système.

Agent interface Agent médiateur Agent analyseur Agent mobile

Envoyer(identification) Identifier
Refusé Négative
Positive
Charger l’interface Positive
Envoyer(clé+requête )
Envoyer la requête
Retourner les résultats

Analyser

Résultat Résultat analysée

Figure 23 : Diagramme de séquence « lancer requêtes»

4. Environnement de développement
Dans la réalisation de ce projet, nous avons employé beaucoup des techniques (langages, outils,
environnements, APIs1, etc.) à savoir : java, Aglet, etc...
Dans les sections suivantes, nous allons présenter ces différentes techniques, en les organisant
selon leurs catégories

5. Choix du langage de programmation


Java : est à la fois un langage de programmation informatique orienté objet et un
environnement d'exécution informatique portable créé par James Gosling et Patrick Naughton
employés de Sun Microsystems avec le soutien de Bill Joy (cofondateur de Sun Microsystems
en 1982), présenté officiellement le 23 mai 1995 au SunWorld. [36]

45
CHAPITRE 04 : PRESENTATION

JDK : (Java Development Kit) [37]

Le Java Development Kit, communément appelé JDK, est le kit de développement de base que
propose gratuitement la société Oracle. Le Kit de développement comprend plusieurs outils,
parmi lesquels :

 Javac : le compilateur Java


 Java : un interpréteur d'applications (machine virtuelle)
 applet viewer : un interpréteur d'applets
 jdb : un débogueur
 javap : un décompilateur, pour revenir du bytecode au code source
 javadoc : un générateur de documentation
 jar : l'éditeur d'archives Java

JADE (Java Agent DEvelopment Framework) [38]

• Intergiciel pour le développement d’applications pair à pair d’agents intelligents

• Sur des plateformes fixes, téléphones mobiles, …

• Deux produits principaux :

- Plateforme agent satisfaisant aux spécifications de la FIPA

- API pour développer des agents en Java

• Projet Open Source, LGPL License

• Contrôlée par Telecom Italia Lab, qui reste propriétaire du projet

• Résultat des efforts conjoints de différents acteurs réunis au sein du JADE Board (fondé en
2003) dont les missions sont la promotion, la gouvernance et l’implémentation des évolutions
de JADE

 Caractéristiques

• Support à l’envoi de messages, transparent et multi-protocoles


• Diffusion d’événements en local
• Java RMI pour la diffusion interne à une plateforme
• FIPA 2000 Message Transport Protocol
• Protocole IIOP pour la diffusion inter-plateforme
• Protocole HTTP et encodage des ACL en XML
• Modèle de concurrence à deux niveaux
• Entre agents (pre-emptif, Threads Java)

46
CHAPITRE 04 : PRESENTATION

• Interne aux agents (co-opératif, classes de comportements ‘‘behaviour’’)


• Mobilité des agents
• Entre plateforme, mobilité faible
• Framework orienté objet implémentant en Java les spécifications FIPA
• Plateforme agent
• Langage de communication agent
• Ontologie de management des agents
• Protocoles d’interaction standards
• Langages définis par les utilisateurs et les ontologies

FIPA (Fondation for Intellegent Physical Agents) [38]

FIPA est une association internationale sans but lucratif, travaillant pour produire des
spécifications pour des technologies d’agent générique.

Le premier document de la FIPA, et le FIPA97, établissant les règles normatives qui permettent
à une société d’agents d’inter opérer. Les documents FIPA décrivent le modèle de référence
d’une plate-forme multi-agents ou ils identifient les rôles de quelques agents clés nécessaires
pour la gestion de la plateforme, et spécifient le contenu du langage de gestion des agents et
l’ontologie du langage. Trois rôles (agent) principaux sont identifiés dans une plate-forme
d’agent :

1. Le Système de gestion d’Agent (AMS- Agent Management System)

Agent qui exerce le contrôle de supervision sur l’accès et l’usage de la plateforme ; il est
responsable d’authentifier les agents résidents et de contrôler là les enregistrements.

2. Le Canal De communication (ACC- Agent Communication Canal)

Agent qui fournit le chemin pour les interactions de base entre les agents dans et en d’hors de
la plateforme ; c’est la méthode de communication implicite qui offre un service fiable et précis
pour le routage des messages ; il (l’agent) doit aussi être compatible avec le protocole IIOP ()
pour assurer l’interopérabilité entre les différentes plateformes.

3. Le faciliteur d’Annuaire (DF- Directory Facilitor) [38]

Agent qui fournit un service de pages jaunes à la plateforme.

FIPA spécifie aussi le Langage de Communication d’agents (ACL- Agent Communication


Language). La communication entre agents ne se fait que par envoi de messages seulement.

47
CHAPITRE 04 : PRESENTATION

Figure 24 : Le faciliteur d’Annuaire (DF)

FIPA ACL est le langage standard des messages et impose le codage, la sémantique et la
pragmatique des messages. La norme n’impose pas de mécanisme spécifique pour le transport
interne de messages. Plutôt, puisque les agents pourraient s’exécuter sur des plateformes
différents et utilisent des technologies différentes ‘interconnexion, FIPA spécifie que les
messages transportés entre la différente plateforme devrait être codé sous forme textuelle.

NetBeans IDE
NetBeans est un projet open source ayant un succès et une base d'utilisateur très large, une
communauté en croissance constante, et près 100 partenaires mondiaux et des centaines de
milliers d'utilisateur à travers le monde. Sun Microsystems a fondé le projet open source
NetBeans en Juin 2000 et continue d'être le sponsor principal du projet

Figure 25 : Démarrer NetBeans IDE 7.4

48
CHAPITRE 04 : PRESENTATION

Aujourd'hui, deux projets existent : L'EDI NetBeans et la Plateforme NetBeans.

Figure 26 : La Plateforme NetBeans IDE 7.4


L'EDI NetBeans est un environnement de développement - un outil pour les programmeurs
pour écrire, compiler, déboguer et déployer des programmes. Il est écrit en Java - mais peut
Développer rapidement et facilement bureau, mobile et application web swith Java, HTML5,
PHP, C / C + + et plus... Il y a également un grand nombre de modules pour étendre l'EDI
NetBeans. L'EDI NetBeans est un produit gratuit, sans aucune restriction quant à son usage.

6. Explication d’application :
 Image le tout file de Project

Fig.27 : Image de Project

 Exposition de l'image de class Agent

Fig.28 : class Agent

49
CHAPITRE 04 : PRESENTATION

Fig29: Class Agent reservation Class Agent verification Class Agent annul reservation

 Explication Méthode exécution de Project

1- Exploitation de NetBeans IDE

Fig.30 : Exploitation de NetBeans IDE

50
CHAPITRE 04 : PRESENTATION

2- Exécution Project

Fig.31 : Exécution Project

3- Insérer Démarrer Paramètres Nouvel Agent:

Fig32: Insert Start parameters new agent


4- Ajouter Nouvel Agent:

Fig33.: Ajouter Nouvel Agent

51
CHAPITRE 04 : PRESENTATION

5-Envoye Agent Et Exécution (Réponde):


Cet agent vérification le chamber non réservé

Fig.34 : Envoyé Agent Et Exécution

52
CHAPITRE 04 : PRESENTATION

Conclusion :

Tout au long de ce chapitre, nous avons essayé de clarifier Verser expliquer et résumer l'idée
Que Nous Veut appliquer en utilisant l’agent mobile
Nous avons également pu constater les aspects techniques lors de l’implémentation de
l’application considérée.
Nous avons vu comment exploiter les opportunités et les facilités offertes par la
Plateforme JADE dans notre cas de figure. Cette dernière nous a permis de développer les
aspects clés de notre stratégie de manière essaie et transparente, par la proposition de la notion
des comportements Jade.
Conclusion Générale

Tout au long de ce mémoire, nous avons présenté les différentes technologies nécessaires pour
proposer une approche basée agents mobiles pour le cloud computing .Nous nous sommes
intéressés à la technologie d'agents mobiles et à son utilisation dans un cloud computing. Le
but du déplacement de ces agents est généralement d'accéder localement à des données ou à des
ressources initialement distantes, d'effectuer le traitement en local et de ne déplacer que les
données utiles. Un agent mobile est souvent exécuté dans un environnement d'exécution qui lui
offre des services pour son déplacement, sa localisation et la communication avec les autres
agents. La performance et la fiabilité de l'environnement d'exécution influencent beaucoup sur
la qualité d'une application basée sur la technologie à "agents mobiles". L'avantage de
l'architecture proposée est qu'elle utilise les agents mobiles comme une entité de
communication. Il s'agit ici de réduire le trafic sur le réseau et de diminuer la quantité
d'informations échangées ; dans ce cas l'agent se déplace vers la source d'informations et
effectue des échanges locaux. Nous avons étudié l'utilisation de la technologie d'agents mobiles
dans le domaine de le cloud computing.
Dans ce contexte, trois agents mobiles est créé. Comprendre les fonctionnaires de à effectuer
la tâche demandée par le client. Nous pensons que l'utilisation de plusieurs agents mobiles pour
le cloud computing permet d'améliorer la qualité de la solution proposée et de réduire le délai
d'attente du client.

La réalisation de cette étude nous a conduites à suivre les étapes suivantes :


1. Nous avons effectué une étude générale sur le cloud computing afin d'identifier leurs
différentes caractéristiques et leurs besoins. Ainsi, nous illustrons l'intérêt d'utiliser les agents
mobiles pour des applications réelles afin de montrer l'efficacité de la bonne utilisation de cette
technologie
2. Nous avons appliqué la même étude sur mobile cloud computing.
3. nous avons fait le point sur les différents concepts clés du paradigme agent mobile. La
perspective de ces travaux est la gestion de le cloud computing en utilisant la technologie
d'agents mobiles.
4. Finalement, dans le but de montrer la faisabilité de l'architecture proposée d'un côté, et pour
mieux comprendre son fonctionnement d'autre côté, nous avons développé un prototype du
système de réservation dès les chambres de l'hôtel dans lequel nous avons montré l’apport de
la technologie agent mobile dans la mise en œuvre des applications dans le cloud Computing.

Ce mémoire constitue une base de travail à partir du quelle, de nouvelles activités de recherche
peuvent être lancées afin d'améliorer le travail présenté. Les perspectives que nous proposons
peuvent donc s'orienter vers les directions suivantes :
* L’intégration de techniques de traitement des langues naturelles notamment au niveau
d'interface utilisateur, ceci afin de rendre le système plus performant.
* Utiliser des mécanismes de coopération entre les agents mobiles afin de réaliser effectivement
les tâches demandées.
* Prendre en compte l’aspect d'adaptabilité des agents.
* Etendre l'architecture à l’usage de services web.
Référence
[1] Source : Le cloud privé et ses avantages métiers : des coûts réduits et une réactivité
accrue (EMC2).
[2] http://blog.econocom.com.

[3] http://www.universalis.fr

[4] Livre : Cloud Computing issues and impacts.


[5] http://www.lemonde.fr.

[6] http://www.slideshare.net (Cloud Computing).

[7] Mémoire “Cloud Computing” IUT Nancy Charlemagne


[8] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski, G. Lee, D.
Patterson, A. Rabkin, I. Stoica, au-dessus des nuages : une vue Berkeley du cloud
computing, Rapport technique UCB/EECS-2009-28 2009.
[9] Livre : Future Generation Computer System partie “Mobile cloud Computing : A
survey”
[10] H. T. Dinh, C. Lee, D. Niyato and P. Wang, "A survey of mobile cloud computing:
architecture, applications, and approaches", Wireless Communications and Mobile
Computing - Wiley, (2011) October.
[11] www.idf.direccte.gouv.fr (le cloud Computing une nouvelle filière fortement
structurante)
[12] http://www.yeswecloud.fr
[13] http://blog.ac-rouen.fr
[14] Source : Orange Business Services, livre blanc « Cloud Computing - 30 entreprises
détaillent leurs retours d’expériences »
[15] http://www.clubic.com
[16] http://ohsweb.ohiohistory.org
[17] International journal of Electronics and Communication Engineering &Technology
(IJECET), 4(5), 152 - 160. « MOBILE CLOUD COMPUTING »
[18] « Mobile Cloud Computing : The Future of Cloud » International Journal of Advanced
Research in Electrical, Electronics and Instrumentation Engineering
[19] http://www.tutorialspoint.com
[20] Calheiros RN, Vecchiola C, Karunamoorthy D, Buyya R.The Aneka platform and QoS-
driven resource provisioning for elastic applications on hybrid Clouds.Future Generation
Computer Systems, to appear.
[21] M. Satyanarayanan, P. Bahl, R. Caceres, N. Davies, Le cas des petits nuages à base de
VM dans l'informatique mobile, IEEE Pervasive Computing 8 (2009) 14-23.
[22] « Programmation répartie, optimisation par agent mobile » THÈSE DOCTORAT de
l'UNIVERSITÉ de CAEN spécialité informatique (Arrêté du 07 août 2006)
[23] MILOFICIC D. LAFORGEW. CHAUHAN, D. « Mobile Objects and Agents (MOA) »,
4th USENIX Conference on Object-Oriented Technologies and Systems, avril 1998.
[24] RECHERCHE « Agents mobiles et client/serveur : évaluation de performance et
comparaison » - INRIA Rhône-Alpes
[25] B. Moulin and B. Chaib-Draa, “An Overview of Distributed Artificial Intelligence”. In
G.M.P. O’Hare and N.R. Jennings (editors), Foundations of Distributed Artificial
Intelligence, John Wiley & Sons, Inc., 1996, pp. 3-55.

[26] P. Maes. “Agents that Reduce Work and Information Overload”. In J.M.Bradshaw
(editor), Software Agents. AAAI Press/MIT Press, 1997, pp. 145-164.

[27] PDF : Agents et Systèmes Multi-agents “Adina Magda Florea” Professeur


àl’université“Politehnica”de Bucarest

[28] Mémoire : « PROTECTION DE L’AGENT MOBILE VIA UNE POLITIQUE


D’ADAPTABILITE DYNAMIQUE » Université Mentouri de Constantine 2007.
[29] http://www.memoireonline.com
[30] J.Vitek.Secureobjectspaces.InProceedingsofthe2"''ECOOPWorkshopon
MobileObjectSystems, pages41-48,Linz,Austria,Juillet8-91996.
[31] PDF ; Aperçu général sur la technologie des agents mobiles - University ofWaterloo,
Waterloo, Ontario, Canada N2L 3G1
[32] S. Green, L. Hurst, B. Nangle, P. Cunningham, F. Somers, R. Evans. “Software Agents:
A review”. Technical Report, Trinty College Dublin, Ireland, May 1996.
[33] PDF : « Software Agents: Characteristics and Classification », Qusay H. Mahmoud
School of Computing Science, Simon Fraser University Burnaby, BC. Canada V5A 1S6
[34] Farah Abdel Majid : « Vers un IDS Intelligent à base d’agents mobiles ». Mémoire de
DEA. Pour obtenir le Diplôme des Etudes Approfondies en informatique Appliquée à la
Gestion 2002/2003. Université de Tunis.
[35] Mémoire : « Une approche basée agent mobile pour le M-Busines » Université HADJ
LAKHDAR – BATNA
[36] http://fr.wikipedia.org
[37] http://www.commentcamarche.net
[38] http://jade.tilab.com/
[39] https://netbeans.org/index_fr.html

Vous aimerez peut-être aussi