AxSeL : un intergiciel pour le déploiement autonome et ...

45
Université de la Manouba Ecole Nationale des Sciences de l’Informatique Université de Lyon Institut national des sciences appliquées de Lyon THÈSE EN COTUTELLE Présentée pour l’obtention du Diplôme de Doctorat en Informatique de l’INSA de Lyon et de l’ENSI de Manouba Préparée au sein des laboratoires CITI et laboratoire RIADI AxSeL : un intergiciel pour le déploiement autonome et contextuel de services dans des environnements pervasifs Amira Ben Hamida 1 er février 2010

Transcript of AxSeL : un intergiciel pour le déploiement autonome et ...

Page 1: AxSeL : un intergiciel pour le déploiement autonome et ...

Université de la ManoubaEcole Nationale des Sciences de l’Informatique

Université de Lyon

Institut national des sciences appliquées de Lyon

THÈSE EN COTUTELLEPrésentée pour l’obtention du Diplôme de Doctorat en Informatique de l’INSA

de Lyon et de l’ENSI de Manouba

Préparée au sein des laboratoires CITI et laboratoire RIADI

AxSeL : un intergiciel pour le déploiement autonome et contextuel de services dans des environnements pervasifs

Amira Ben Hamida

1er février 2010

Page 2: AxSeL : un intergiciel pour le déploiement autonome et ...

Intelligence ambiante

2

Page 3: AxSeL : un intergiciel pour le déploiement autonome et ...

3

Intelligence ambiante et déploiement

Page 4: AxSeL : un intergiciel pour le déploiement autonome et ...

4

Intelligence ambiante et déploiement

Approches de déploiement contextuel

AxSeL : un intergiciel de déploiement autonome et contextuelde services

Validation et évaluation des performances par un casd’utilisation réel

Conclusions et perspectives

Sommaire

Page 5: AxSeL : un intergiciel pour le déploiement autonome et ...

5

Intelligence ambiante et déploiement

Approches de déploiement contextuelCritères de classification : vue globale, flexibilité, autonomie

Classification des approches de déploiement contextuel

Sommaire

Page 6: AxSeL : un intergiciel pour le déploiement autonome et ...

6

Page 7: AxSeL : un intergiciel pour le déploiement autonome et ...

7

Approches de déploiement contextuel : critères

Page 8: AxSeL : un intergiciel pour le déploiement autonome et ...

8

Approches de déploiement contextuel

Critères A B C CORBA .NET MiDUSCCADeComp

SAMoHa

OSGi Spring SCA CARISMA SOCAM

Multi-fournisseur - + - - - - - - - - - - -

Déploiement + + + + + + + + + + + - -

Exécution - - + - - - - + + + + + +

Dynamicité - - + - - + - + - + + - -

Extensibilité - - - - - - - + + + + - -

Proactivité - - - - - - - + - + - + -

Réactivité - - + - - + + + - - - + +

A : installateurs d’applications : Install Shield, Actual Installer. B : installateurs de packages : Pkgmr, Dpkg, Red Hat Package Manager.C : gestionnaire d’applications : Foglight’s, Quest Manager.

Page 9: AxSeL : un intergiciel pour le déploiement autonome et ...

9

Intergiciel de déploiement autonome et contextuel

Vue globale expressive et dynamique

• Architecture orientée services composants

• Multi-fournisseur, multi-dépôt

• Exécution, déploiement

Chargement, adaptation et déchargement.

• Chargement progressif de l’application

• Fonctionnement dégradé

• Déchargement partiel

Contributions de la thèse

Page 10: AxSeL : un intergiciel pour le déploiement autonome et ...

10

Intelligence ambiante et déploiement

Approches de déploiement contextuel

AxSeL : un intergiciel pour le déploiement autonome etcontextuel de services

Architecture et dynamique d’AxSeL

Vue globale et flexible pour les applications orientées servicescomposants

Contextualisation autonome et adaptative

Sommaire

Page 11: AxSeL : un intergiciel pour le déploiement autonome et ...

11

Architecture

Intergiciel d’exécution de composants et de services

Système d’exploitation

ServicesStandards

Services Applicatifs

Application

ServiceDe découverte

Intégration à l’intergiciel d’exécution

Dynamique avec les services applicatifs

Dynamique avec les services standards : découverte, appel distant, cycle de vie

ServicesStandards

Services Applicatifs

Service de gestion de cycle de vie

Service de déploiement

AxSeL

Machine distante

Système d’exploitation

Page 12: AxSeL : un intergiciel pour le déploiement autonome et ...

12

Architecture

Services d’AxSeL :

extraction des dépendances, décision du chargement et gestion du contexte.

Modèles : application et contexte

Intergiciel d’exécution de composants et de services

Système d’exploitation

Application

Service d’extraction des dépendances

Service de décisiondu chargement

Service de gestion du contexte

A

Modèle du contexte

Modèle d’application

A

Page 13: AxSeL : un intergiciel pour le déploiement autonome et ...

13

Dynamique de déploiement

Service d’extraction des dépendances

Descripteurs de dépôt de services et composants

Service de décisiondu chargement

Service de gestion du contexte

Adaptation

Page 14: AxSeL : un intergiciel pour le déploiement autonome et ...

14

Modèle de service et composant

Installation, mise à jour,déchargement

Dépendances statiques

Service Service

Exécution Exécution, lancementDépendances dynamiques

Composant Composant

Installation Exporte

Importe

Importe

Exporte

0..n 0..n

Dépend

Dépend

Dépend

Dépend

Page 15: AxSeL : un intergiciel pour le déploiement autonome et ...

15

Descripteur de dépôt Descripteur de dépôt

Descripteur de dépôt

Graphe bidimensionnel d’applications

Page 16: AxSeL : un intergiciel pour le déploiement autonome et ...

16

Graphe bidimensionnel d’applications

S

S

S

S

C C

C

C

S

C

S

Service

Composant

A BA dépend B

C

Opérateur OU

Page 17: AxSeL : un intergiciel pour le déploiement autonome et ...

Intelligence ambiante et déploiement

Approches de déploiement contextuel

AxSeL : un intergiciel pour le déploiement autonome etcontextuel de services

Architecture et dynamique d’AxSeL

Vue globale et flexible pour les applications orientées servicescomposants

Contextualisation autonome et adaptative

Extraction du graphe de dépendances de services et composants

Heuristique de décision de déploiement

Adaptation contextuelle dynamique

17

Page 18: AxSeL : un intergiciel pour le déploiement autonome et ...

1818

S

S

S

S

C C

C

C

S

C

S

Applications contextuelles

Service d’extraction des dépendances

Service de gestion du contexte

Service de décisiondu chargement

Service

Composant

Page 19: AxSeL : un intergiciel pour le déploiement autonome et ...

19

Extraction des dépendances : principe

Service ou composant en entrée

Construction du nœud correspondant

Extraction des dépendances et construction des graphes temporaires

Inclusion des graphes temporaires dans le graphe global

Page 20: AxSeL : un intergiciel pour le déploiement autonome et ...

20

S1 C1, S2C1 C2S2 C2, S3C2 C3C3 C4S3 C3, S4 S4 C4C4 C5

Descripteur de dépôt

S3 C3, S’4S’4 C4C4 C5

Descripteur de dépôt

Extraction des dépendances : illustration

S2

C1 C2

S3

C3C4 C5

S’4S4S1

Page 21: AxSeL : un intergiciel pour le déploiement autonome et ...

21

Chargement progressif de l’applicationTri pertinent des nœuds

Evaluation de l’installabilité des nœuds

Application d’un code de couleurs (rouge, blanc)

Installation et lancement des nœuds installables

Les nœuds non installables sont mis dans une liste prioritaire

Heuristique de décision de déploiement : principe

Page 22: AxSeL : un intergiciel pour le déploiement autonome et ...

22

Multi-stratégie pour le parcours

Multi-critère pour la décision

Heuristiques de décision de déploiement : principe

Parcours

Profondeur Largeur BasVersHaut

Contrainte

Taille Priorité Sécurité

Page 23: AxSeL : un intergiciel pour le déploiement autonome et ...

23

S1 S2

C1 C2 C3

S3

C5C4

S’4S4

20 K

10 K

10 K

20 K

40 K

40 K

10 K

10 K

5 K

10 K

Heuristique de décision de déploiement : illustration

Mémoire Disponible

160 Ko1401301201006020155

S4, C5

Page 24: AxSeL : un intergiciel pour le déploiement autonome et ...

Adaptation contextuelle et dynamique

24

Dépôt

Page 25: AxSeL : un intergiciel pour le déploiement autonome et ...

25

Ajout d’un nœud

Création du nœud et ajout au graphe

Ajout du nœud dans une liste de parcours prioritaire

Lancer la recoloration du graphe

Adaptation contextuelle et dynamique : ajout d’un nœud

Page 26: AxSeL : un intergiciel pour le déploiement autonome et ...

26

S1 S2

C1 C2 C3

S3

C5C4

S’4S4

20 K

10 K

10 K

20 K

40 K

40 K

10 K

10 K

5 K

10 K

C4 C6

Descripteur de dépôt Descripteur de dépôt Mémoire Disponible

5 Ko0 Ko

C6

5 K S4, C5

Adaptation contextuelle et dynamique : ajout d’un nœud

Page 27: AxSeL : un intergiciel pour le déploiement autonome et ...

27

Déchargement d’un nœud

Décoloration du nœud

Libération de la mémoire occupée

Propagation du traitement à ses dépendances

Adaptation contextuelle et dynamique : déchargement d’un nœud

Page 28: AxSeL : un intergiciel pour le déploiement autonome et ...

28

S1 S2

C1 C2 C3

S3

C5C4

S’4S4

20 K

10 K

10 K

20 K

40 K

40 K

10 K

10 K

5 K

10 K

Mémoire Disponible

Ko105

S4, C5

0

C5, S’4

Adaptation contextuelle et dynamique : déchargement d’un nœud

Page 29: AxSeL : un intergiciel pour le déploiement autonome et ...

29

Intelligence ambiante et déploiement

Approches de déploiement contextuel

AxSeL : un intergiciel pour le déploiement autonome etcontextuel de services

Validation par un cas d’utilisation réelEtude de cas : application de services documents

Evaluation des performances : comparaison et passage à l’échelle

Sommaire

Page 30: AxSeL : un intergiciel pour le déploiement autonome et ...

30

Un service de visionnage de documents PDF,

Navigation dans le document :par clavier (keyNavigator),

par une interface graphique avec des boutons de navigation(widgetNavigator).

Services documents : étude de cas

Service

Composant

Opérateur Ou

Page 31: AxSeL : un intergiciel pour le déploiement autonome et ...

31

Stratégie priorité

Services documents

Page 32: AxSeL : un intergiciel pour le déploiement autonome et ...

32

Stratégie taille mémoire et priorité

Services documents

Page 33: AxSeL : un intergiciel pour le déploiement autonome et ...

3333

Adaptation : ajout à la volée d’un nœud

Services documents

X45Ko

Dépôt

Page 34: AxSeL : un intergiciel pour le déploiement autonome et ...

34

Adaptation : déchargement à la volée d’un nœud

Services documentsDépôt

Page 35: AxSeL : un intergiciel pour le déploiement autonome et ...

35

Adaptation : réduction de la mémoire

Services documents

Page 36: AxSeL : un intergiciel pour le déploiement autonome et ...

36

Adaptation : changement des préférences utilisateur

Services documents

Page 37: AxSeL : un intergiciel pour le déploiement autonome et ...

37

OBR architecture de déploiement au dessus d’OSGi

Déploiement et fédération de dépôts

Graphes de dépendances générés artificiellement

Observation d’applications-types,

Graphe à 20 nœuds,

Chaque nœud composant a 1 à 5 dépendances,

Chaque nœud service a 1 à 3 dépendances.

Conditions d’évaluation

Page 38: AxSeL : un intergiciel pour le déploiement autonome et ...

38

Comparaison avec OBR

Performance temps / mémoire

Graphe de 20 nœuds

Test avec et sans adaptation

Page 39: AxSeL : un intergiciel pour le déploiement autonome et ...

39

Variation de la taille du graphe de dépendances

Temps d’exécution

Mémoire allouée

Passage à l’echelle

AxSeL adaptation

AxSeL adaptation

AxSeL décision

OBR décision

AxSeL extraction

OBR extraction

AxSeL décision

OBR décision

AxSeL extractionOBR extraction

Page 40: AxSeL : un intergiciel pour le déploiement autonome et ...

40

Intelligence ambiante et déploiement

Approches de déploiement contextuel

AxSeL : un intergiciel de déploiement autonome etcontextuel de services

Validation et évaluation des performances par un casd’utilisation réel

Conclusions et perspectives

Sommaire

Page 41: AxSeL : un intergiciel pour le déploiement autonome et ...

41

Conclusions

Un intergiciel pour le déploiement contextuel etautonome de services

Extraction des dépendances

Décision du chargement

Adaptation contextuelle

Une vue globale et flexible pour les applicationsorientées services

Brique de base service composant

Aspects multi-dépôt et multi-fournisseur

Flexibilité par modification, ajout et retrait

Page 42: AxSeL : un intergiciel pour le déploiement autonome et ...

42

Perspectives

Améliorations à court terme

Auto-contextualisation d’AxSeL

Implémentation de nouvelles stratégies de décision

Optimisation des algorithmes d’adaptation

Enrichir les services et composants par des descriptionssémantiques

Concurrence d’applications

Page 43: AxSeL : un intergiciel pour le déploiement autonome et ...

43

Perspectives : contextualisation verticale et horizontale

Page 44: AxSeL : un intergiciel pour le déploiement autonome et ...

44

Perspectives : agrégation intelligente de dépôts

Page 45: AxSeL : un intergiciel pour le déploiement autonome et ...

45

Revue

Une approche pour un chargement contextuel de services dans les environnements pervasifs. A. Ben Hamida, F. Le Mouël, S. Frénot, and M. Ben Ahmed. Ingénierie des Systèmes d'Information (ISI’2008)

Déploiement adaptatif d'applications orientées services. A. Ben Hamida, Frédéric Le Mouël, Stéphane Frénot, Mohamed Ben Ahmed. In Revues Techniques et Sciences Informatiques (TSI’2009) (en revision)

Conférences internationales

ROCS: a Remotely Provisioned OSGi Framework for Ambient Devices. Stéphane Frénot, Noha Ibrahim, Frédéric Le Mouël, Amira Ben Hamida, Julien Ponge, Mathieu Chantrel, Denis Beras , The 12th IEEE/IFIP Operations & Management Symposium (NOMS’ 2010)

A Graph-based Approach for Contextual Service Loading in Pervasive Environments. A. Ben Hamida, F. Le Mouël, S. Frénot, and M. Ben Ahmed. In Proc. of the 10th International Symposium on Distributed Objects and Applications (DOA'2008)

Resurrection: A Platform for Spontaneously Generating and Managing Proximity Documents. A. Ben Hamida and F. Le Mouël. In Proceedings of the IEEE International Conference on Pervasive Services (ICPS'2006)

Conférences nationales

Contextual Service Loading by Dependency Graph Colouring. A. Ben Hamida, F. Le Mouël, S. Frénot, and M. Ben Ahmed. In Proceedings of the 8th International Conference on New Technologies in Distributed Systems (NOTERE'2008)

Middleware minimal et auto-extensible pour le déploiement de services en environnement pervasif. A. Ben Hamidaand F. Le Mouël. In Actes des 3ème Journées Francophones de la Mobilité et Ubiquité (UbiMob'2006)

Approche pour un chargement contextuel de services sur des dispositifs contraints. A. Ben Hamida, F. Le Mouël,S. Frénot, and M. Ben Ahmed. In Actes du 6ème atelier sur les Objets, Composants et Modèles dans l'ingénierie des Systèmes d'Information (OCM-SI'2007)

Publications