RS2.7 : un Canevas Adaptable de Duplication

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
CARACTERISTIQUES D’UN ENSEMBLE DE FORCES
Le pluriel des noms
A.Martinez-Nepveu.
Réflexivité et réseaux d’ information
Connaissances pour la distribution Peu-t-on rendre un système intelligent ? M. Riveill Coordination Système multi-agents/objets pour la coopération de.
Classe : …………… Nom : …………………………………… Date : ………………..
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Sud Ouest Est Nord Individuel 36 joueurs
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
JXDVDTEK – Une DVDthèque en Java et XML
Eric BONJOUR, Maryvonne DULMET
Architecture de réseaux
Localisation de services techniques dans un modèle à composants H. GRINE, C. Hérault, S. Lecomte, T. Delot Journées Composants, le Croisic 7 avril 2005.
Systèmes Experts implémentation en Prolog
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.


BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES COHESION CULTURELLE ET EXPANSION DES IDEES SUR LE TERRITOIRE EUROPEEN.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Transaction Ensemble d'opérations de modification de données annulées ou validées en bloc. Une Transaction vérifie les caractéristiques suivantes ( ACID.
Application des algorithmes génétiques
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Karin Lundgren-Cayrol
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 2 : Les applications fonctionnelles.
1 SERVICE PUBLIC DE LEMPLOI REGION ILE DE France Tableau de bord Juillet- Août 2007.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Bases de Données Réparties
Virtual Local Area Network
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
2 TP avec l ’aide d ’un modeleur 3D :
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Graphe d ’interaction La réalisation du graphe d ’interaction permet d ’assurer l'uniformité des pages et de navigation qui rendent un projet plus fonctionnel.
Universté de la Manouba
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Hybridation sp3 du carbone
C'est pour bientôt.....
Veuillez trouver ci-joint
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Systèmes de gestion de bases de données NFP 107 Les techniques du contrôle de concurrence Philippe Rigaux
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
Introduction.
CALENDRIER-PLAYBOY 2020.
1. Présentation générale du système
1 Nestlé – Optifibre Zones administrables via le back-office.
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Supports de formation au SQ Unifié
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Transcription de la présentation:

RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau1,2, Claudia L. Roncancio2, Pascal Déchamboux1 1 France Télécom R&D, Meylan 2 Laboratoire LSR IMAG, Saint Martin d’Hères

Contexte De nouvelles contraintes dans la mise en place des infrastructures : Non connaissance de l’architecture Systèmes évolutifs Ressources offertes très différentes Solution : séparation des considérations Aspects fonctionnels : code applicatif Aspects non fonctionnels : transactions, requêtes persistance, duplication EJB, CORBA, .Net, AOP, Systèmes réflexifs

Le projet NODS Networked Open Database Services « Déconstruire » les SGBD sous forme de services afin d'en répartir les fonctions Rendre adaptable les aspects non fonctionnels Médiateurs Requêtes Transactions Persistance Duplication Communication, Env. d’exécution

Objectifs concernant la duplication Offrir un support adaptable de la duplication Donner la propriété d’adaptabilité au support Adaptabilité pour être adaptable : A l’application Utilisation avec des applications différentes Au contexte non fonctionnel Utilisation dans divers contextes Dans les protocoles supportés Afin de supporter de nouveaux besoins

Problématique (1) Séparation des aspects : isolation de la duplication Définition des interactions Avec l’application Avec les autres aspects non fonctionnels Prise en compte de divers protocoles de duplication

Problématique (2) Cohérence locale Cohérence locale Cohérence globale Mémoire 1 Mémoire 3 Mémoire 2 Objet Applicatif A Copie A1 A3 Copie B2 B3 B1 Cohérence locale Cohérence locale Cohérence globale Objet Applicatif B Objet Applicatif C Objet Applicatif C

Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de l’aspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives RS2.7 : un canevas adaptable de duplication

Un canevas adaptable de duplication Canevas pour construire des services de duplication appropriés : A l’application Au contexte Aux besoins Contexte transactionnel Application Contexte mobile Application Maître/esclave impatient Maître/esclave paresseux

Service de duplication Met en oeuvre la gestion des copies Rôle minimum d’un service de duplication : Gestion du cycle de vie des copies Gestion de la mise en cohérence des copies = protocole de cohérence locale

Politique de duplication Quand ? Combien ? Où ? Comment ? Quand ? Où ? Combien? Tolérance aux fautes Partage de charge, … Application Couche de transparence Service de Duplication Comment ? Protocole de cohérence locale Canevas de Duplication + = Gestion du cycle de vie

Modèle de cohérence locale (coherency model) Nombreux protocoles de duplication Augmentation des performances Tolérance aux fautes Différents niveaux de cohérence Modèle de cohérence locale Contrat spécifiant la cohérence entre les copies Comment les utilisateurs perçoivent les copies d’un même objet

4 modèles de cohérence locale Copie unique : toutes les copies ont la même histoire Copies divergentes : les copies ont des histoires différentes + garanties sur la divergence Copies convergentes avec L sur les copies divergentes : les copies ont des histoires différentes + même histoire à certains moments + copies non à jour consultables Copies convergentes avec E sur les copies divergentes: idem + copies non à jour modifiables

Protocole de cohérence locale Méthode choisie pour garantir un modèle de cohérence locale Pour un même modèle différents protocoles Exemple protocoles à copie unique : ROWA, ROWAA Capte les informations destinées aux copies Interactions avec d’autres aspects Copies équivalentes : forte contrainte sur le contrôle de concurrence Copies divergentes : peu de contraintes

Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de l’aspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

Modèles de cohérence globale (consistency models) Spécification de comment apparaissent les données Mémoires partagées réparties Modèles forts : séquentiel, causal, PRAM, etc. Modèles faibles : à l’entrée, au relachement, etc. Dans les SGBD répartis Sérialisabilité Sérialisabilité sur une copie Remis en cause par la duplication Interactions entre cohérence globale et locale

Modèle de cohérence globale/locale Application Modèle de cohérence globale cohérence globale Protocole de Contrôle de concurrence communication Couche de Tolérance aux fautes Modèle de cohérence locale Protocole de cohérence locale

Duplication et contrôle de la concurrence Deux niveaux de contrôle de la concurrence Au niveau des objets applicatifs Au niveau des copies T1 ecrire(A) ecrire(B) T2 ecrire(A) acquerirVerrou(A) acquerirVerrou(B) BD2 BD1 A2 Contexte transactionnel Globale : sérialisabilité Locale : copie unique A1 B2 B1 acquerirVerrou(A1) acquerirVerrou(B1) acquerirVerrou(A2) acquerirVerrou(B2)

Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de l’aspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

Protocole de cohérence locale abstrait Niveau d’abstraction Décomposition structurelle des protocoles de cohérence locale Accès Soumission d’une requête à un objet dupliqué Coordination Traitements préliminaires à l’exécution de la requête Exécution Exécution de la requête Validation Vérification du résultat obtenu par les copies Réponse Renvoi du résultat de la requête exécutée

Décomposition structurelle Différences entre les protocoles dues : A l’approche utilisée (implantation) dans chaque phase et A l’ordre d’exécution des phases

Exemple : protocole ROWA ROWA : read one, write all Réponse Accès Objet applicatif Copie Validation Exécution Coordination Copie Copie Copie

Exemple : protocole ROWAA ROWAA : read one, write all available Réponse Accès Objet applicatif Copie Exécution Coordination Exécution Coordination Validation Validation Copie Copie Copie

Architecture fonctionnelle des protocoles Fonctionnalités présentes dans de nombreux protocoles Extraction des fonctionnalités communes Réutilisation Flexibilité Isolation d’interactions avec d’autres aspects Chaque phase du protocole abstrait = Ensemble de fonctionnalités

Quatre catégories de composant (1) Composants primitifs Niveau de base pour construire des protocoles primitifs Interface avec le service de communication, gestionnaire d’accès aux copies, etc. Composants communs à tous les modèles de cohérence locale Composants liés à la gestion de la synchronisation Déclencheur de synchronisation, gestionnaire de suivi des mises à jour, …

Quatre catégories de composant (2) Composants dépendants du modèle de cohérence locale Gestionnaire de rôle, détecteur de conflit, résolveur de conflits, etc. Composants dépendant du protocole de cohérence locale Composants spécifiques au protocoles de cohérence Gestionnaire du groupe en lecture ou en écriture, consensus, etc.

Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de l’aspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

Protocole de cohérence locale Principes Protocole de cohérence locale = Chaîne de liaison entre les différentes copies du même objet applicatif Objet dupliqué accédé par l’intermédiaire de la chaîne de liaison

Accès à un objet dupliqué Mémoire 1 Mémoire 2 Copie A1 Copie A2 Représentant objet de liaison Représentant objet de liaison Mémoire 3 Représentant objet de liaison Objet Applicatif B Copie A3

Utilisation d’un service de RS2.7 Mémoire 1 Mémoire 1 Binding lo = new BindingImpl(); LocalLogicalObject llo = lo.create(p); p Représentant objet de liaison Person p = new Person("Smith", "john", 27); p Binder Binder binder = new BinderImpl(nameFactory); LocalLogicalObject llo = lo.add(); Représentant objet de liaison p np lo Name np = binder.export(lo); llo.write(((Field)new FieldImplem("Nom")), ((Value)new ValueString("Simpson"))); Mémoire 2 Binding lo = binder.resolve(np); Mémoire 2

Construire un protocole de cohérence locale Un protocole de cohérence locale est réparti sur chacune des copies : A chaque copie on associe un représentant de liaison Chaque représentant est une composition de phases Chaque phase est composée d’un ensemble de fonctionnalité Chaque fonctionnalité est un composant

Zoom sur un protocole de cohérence locale Lock Unlock Copie A1 Accès Coordination Exécution Validation Réponse Read Write Method Begin End Abort Représentant de liaison Représentant de liaison Copie A2

Protocole paresseux maître/esclaves Copie A2 Objet Applicatif B Copie A1 ecrire(x,3) Exécution Replica accessor Accès Role manager Role manager Dispatcher Accès Exécution Replica accessor Coordination Updates log Synchro. messages factory Starting Com. manager Coordination Synchro. messages reader Représentant objet de liaison Maître Représentant objet de liaison Esclave

Protocole paresseux maître/esclaves Copie A2 Copie A1 Exécution Replica accessor Accès Role manager Role manager Dispatcher Accès Exécution Replica accessor Coordination Updates log Synchro. messages factory Starting Com. manager Coordination Synchro. messages reader Représentant objet de liaison Maître Représentant objet de liaison Esclave

Protocole paresseux maître/esclaves Objet Applicatif C Copie A2 Copie A1 ecrire(x,4) Exécution Replica accessor Accès Role manager Role manager Dispatcher Accès Exécution Replica accessor Coordination Updates log Synchro. messages factory Starting Com. manager Coordination Synchro. messages reader Représentant objet de liaison Maître Représentant objet de liaison Esclave

Travaux similaires Orientés tolérance aux fautes Garf, OGS, Ethernal, etc. Nombre limité de protocole supporté Travaux supportant plus de protocoles Core, Globe Séparation duplication autres aspects pas claire Contexte bases de données Protocoles ad-hoc Orientés adaptation et non adaptabilité

Conclusions Contributions Mise en oeuvre Isolation de la duplication L’adaptabilité au contexte non fonctionnel Décomposition structurelle et fonctionnelle Mise en oeuvre Prototype en Java + Jonathan (Corba & RMI) Plate-forme pour mondes virtuels (PING) Expérimentations sur l’adaptabilité

Perspectives Utilisation d’un canevas de composition afin d’obtenir : l’adaptabilité dynamique et l’optimisation de la composition