Mémoire Master Academique: Universite Kasdi Merbah Ouargla
Mémoire Master Academique: Universite Kasdi Merbah Ouargla
Mémoire
MASTER ACADEMIQUE
Présenté par:
MAIOUA Khalifa
MANSOURI Adel
Thème
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
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
1. Présentation du secteur
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].
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].
2
CHAPITRE 01: 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].
3
CHAPITRE 01: CLOUD COMPUTING
1.1.3.1 Les différents moyens de stockage proposés par les fournisseurs du cloud [13]
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.
C’est ainsi que sont nés trois modèles de prestations de services Cloud Computing :
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 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 :
5
CHAPITRE 01: CLOUD COMPUTING
2. Enjeux et perspectives
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 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
7
CHAPITRE 01: CLOUD COMPUTING
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.).
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
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
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.
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.
«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 ".
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.
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.
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).
1.2.Modèles de déploiement :
Les mêmes modèles de cloud Computing (Cloud privé - Cloud public - Cloud hybride ou
mixte)
16
CHAPITRE 02: MOBILE CLOUD COMPUTING
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
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.
'' 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
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.
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
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.
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.
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).
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
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
26
CHAPITRE 03 : AGENT MOBILE
27
CHAPITRE 03 : AGENT MOBILE
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.
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.
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
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.
Autonomie
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
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.
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.
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 ?
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.
31
CHAPITRE 03 : AGENT MOBILE
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
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
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.
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.
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
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.
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.
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é.
35
CHAPITRE 03 : AGENT MOBILE
Startél
Système hôte accès non-autorisé à des ressources & accès à l’hôte accordé par
locales l'infrastructure selon une base
discriminatoire
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.
Introduction
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
Client
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
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
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).
Agent interface
Envoyer chaque requête a l’agent
mobile et obtenu le résultat
Lancer un agent
Vérification et envoyer la
Agent mobile
réponse
43
CHAPITRE 04 : PRESENTATION
Registration
Agentvirtuel
Serveur Cloud computing Serveur virtuel
Accepte Confirmation
Authentification
CLIENT
1) saisie de l'identifiant
2 ) envoi des informations
3) vérification des informations
4) Résultat
5) chargé l’interface
44
CHAPITRE 04 : PRESENTATION
Envoyer(identification) Identifier
Refusé Négative
Positive
Charger l’interface Positive
Envoyer(clé+requête )
Envoyer la requête
Retourner les résultats
Analyser
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
45
CHAPITRE 04 : PRESENTATION
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 :
• 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
46
CHAPITRE 04 : PRESENTATION
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 :
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.
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.
47
CHAPITRE 04 : PRESENTATION
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
48
CHAPITRE 04 : PRESENTATION
6. Explication d’application :
Image le tout file de Project
49
CHAPITRE 04 : PRESENTATION
Fig29: Class Agent reservation Class Agent verification Class Agent annul reservation
50
CHAPITRE 04 : PRESENTATION
2- Exécution Project
51
CHAPITRE 04 : PRESENTATION
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.
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
[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.