Transcript Document

LH*rsP2P: une nouvelle
Structure de Données Distribuée et
Scalable pour un
environnement pair à pair
Présenté par H.YAKOUBEN
Dirigé par le Pr. W. LITWIN
PLAN






Objectifs du stage
État de l’art
LH*P2P et LH*rsP2P
Architecture fonctionnelle de LH*rsP2P
Domaine d’application
Conclusion et perspectives
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
2
Objectifs




Conception d’une nouvelle SDDS pour un
environnement pair à pair
Une SDDS à haute disponibilité
Elle réduit le nombre de renvoi à un seul au
maximum d’une requête à clé
Conception et implémentation d’une nouvelle
architecture fonctionnelle à base de LH*rs.
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
3
Structure de Données Distribuées et Scalables
(SDDS) principes
Croissance par des éclatements
pair
serveur
Clients
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
4
Structure de Données Distribuées et Scalables
(SDDS), principes
Clients
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
5
Classification des SDDS
Structure de Données
SDDS(1993)
Arbre
Hachage
1-dimensionnel
LH*,LH*LH
DDH, EH*,
CHORD
Classique
d-dimensionnel
IH*
1-d arbre
RP*,
BATON
m-d arbre
k-RP*
DRT, DRT*, VBI-Tree
Haute Disponibilité
LH*m LH*g
s-disponibilité
Sécurité
LH*rs
14/09/2006
LH*sa
LH*s
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
6
Structure de Données Distribuées et Scalables
(SDDS)
Le ‘Churn’
 LH*rs

14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
7
Structure de Données Distribuées et Scalables
(SDDS)

Architecture fonctionnelle de LH*rs
Application
Client 1
Application
Client 2
Application
Client n
Réseau
Serveurs de données
14/09/2006
Serveurs de parités
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
8
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P

Conception d’un pair
Pair LH*rs
Client
LH*rs
j
i’
n’
Client
LH*rs
Serveur
LH*rs
Partie serveur
Partie client
Pair LH*P2P
14/09/2006
Serveur
LH*rs
Pair LH*rsP2P
Pair LH*rs
Pair
candidat
Pair
candidat
Pair LH*rsP2P
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
9
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P
Adressage

Éclatement d’un pair
i’ = j ;
/* Image du niveau i du fichier
n ‘ = m +1 ;
/* Image du pointeur n d’éclatement
if n’ = 2i’ then i’ = j + 1 ; n’ = 0 ; /* Correction si le pointeur doit revenir à zéro */
Algorithme
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
10
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P
Exemple
i’= j =1;
n’= m+1= 1+1;
If n’=21 then n’=0; i’= i’+1
Donc
(i’, n’)= (2,0)
j=2
j=1
j=2
j=2
j=2
j=2
j=2
i’=1
n’=1
i’=1
n’=0
i’=1
n’=1
i’=1
n’=1
i’=2
n’=0
i’=1
n’=1
i’=2
n’=0
P2
P0
P2
P3
P0
P1
P1
i=1
n=1 Pair Coordinateur (PC)
Avant l’éclatement
14/09/2006
i=2
PC
n=0
Après éclatement
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
11
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P
Adressage

Calcul d’une adresse du côté client (du pair)
a’  hi’(C ) ;
/* a’ est l’adresse du pair destiné à recevoir la clé C*/

Ajustement
de
l’image
du pair
if a’ < n’ then a  hi’+1(C ) ;
Algorithme
i’ j-1, n’ a+1 ;
/* a est l’adresse du bon pair*/
if n’> 2i’ then n’0 ; i’ i’+1 ;
 Calcul d’une adresse, du côté
serveur du pair
Algorithme
a’  hj(C ) ;
if a’ a then
/* en cas d’erreur d’adressage*/
a”  hj-1(C ) ;
/* a” l’adresse destinée à recevoir la clé C */
if a”> a and a”<a’ then a’  a”;
Algorithme
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
12
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P

Insertion d’un nouveau noeud
Pairs
j=3
j=2
j=3
j=3
j=3
i’=2
n’=1
i’=2
i’=1
n’=3
n’=1
i’=2
n’=2
i’=2
n’=3
P0
P2
P5
i’=2
i’=0
n’=1
n’=0
i=2
i=2
n=2
n=3
PairPupille
candidat
PC
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
P6
13
Hachage linaire distribué et scalable Pair à Pair
LH*P2P et LH*rsP2P
Exemple de recherche
9
Pairs
IAM
j=4
j=4
j=3
j=4
i’=3
n’=1
i’=3
n’=2
i’=2
n’=2
i’=3
n’=2
P0
P1
P4
9
14/09/2006
i=3
n=2
P9
PC
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
14
Architecture fonctionnelle du système
‘LH*rsP2P’

Éclatement d’une case LH*rsP2P
Pupille 1
Pair/Serveur n
{hachage des clés et
adresse IP de ces pupilles}
Pupille k
Pair/Serveur n+2^i
Articles + les adresses IP des pupilles
MiseAJourTuteur
{Mise à jour de son
image si c'est un pair}
Accusé Ack
la mise a jour des pupilles qui restent
ensembles des pupilles qui
seront sous le tutorat du
nouveau noeud
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
15
Architecture fonctionnelle du système
LH*rsP2P
 Traitement du ‘Churn‘
Pair/ Client
Pair/Serveur k -1
Pair/ serveur k
Pair / Serveur K+1
Pair/ Serveur m
Case de parité 1
Case de parité 2
recherche d' un article
pas de reponse
recherche d' un article
renvoi de la requête
{ traitement de la requête
de recherche d'article}
reconstruction de la case k
Article rechercher + IAM
Case de données
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
Case de parité
16
Architecture fonctionnelle du système
LH*rsP2P

Attribution d’un tuteur aux nouveaux sites
1
2
3
ð
Numéro logique des tuteurs
...
T2
(NuméroEntité, AdresseIP)
Déclaration de candidature
PairCandidat(IDMessage, AdresseIP)
 Éclatement de la case d’un pair
MiseAJourTuteur(IDMessage, NF_j, NuméroLogique,
AdresseIPTuteur,NumeroEntité)

14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
17
Domaine d’application de LH*rsP2P : le
projet eGov


eGov vise l’intégration des services publics
Il permet de développer une plate-forme intégrée
visant la réalisation d’un guichet administratif qui
soit :
 Ouvert
 Évolutif
 Extensible

eGov offre un vocabulaire « GovML » standard
pour la description des services publics.
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
18
Exemple d’un document GovML [KT5]

<?xml version=‘’1.0’’ encoding=‘’ UTF-8’’?>
<govml:GovML xmlns:govml=‘’http://egov-projet.org/GovMLScheme/ ‘’
xmlns:xsi=‘’http://www.w3.org/2001/XMLSchema-instance’’
xsi:schemaLocation=‘’http://egov-projetct.org/GovMLSchema/ file:///C:/temp/GovMLSchema.xsd>
<description xsi:type=‘’govml:SpecificLifeEventDescription’’>
<identifier>ABC1234H</identifier>
<language>EN </language>
<title>Description of the life event’’getting maried’’ </title>
<description> Getting married</description>
<attention> This life event conccenes only adults </attention>
<faq-list>
<item>
<question>Is there a possiblity toà get married online? </question>
<answer>Yes. Visiste the national governmental portal </answer>
</item>
</faq-list>
<related-services>
<item>
<title>Issuing a birth certificate </title>
<uri>http://www.egovproject.org\birth#</uri>
< /item>
</related-services>
<law>Law withe nhimber FRC-234</law>
</description>
</govml:GovML>
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
19
Architecture générale de eGov
user
user
Internet
WAP/GSM
Portal
one-stop
e-government
GovML
GovML
GovML
National authority
National
services
repository
Public
Comment gérer
les ‘Virtual
Repository’
Local authority
Local authority
Local
services
repository
Local
services
repository
Public
14/09/2006
Public
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
20
Application de LH*rsP2P
Wrapper
sd_select ‘* from..
SD-SQL Server
Wrapper
Search key
‘ABC1234H’
LH*rsP2P
Virtual Repository
pour les
documents
‘GovML’
volumineux et
rarement
utilisés
14/09/2006
pour les
documents
‘GovML’ peu
réseau
volumineux et
souvent utilisés
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
21
Conclusion et perspectives






LH*rsP2P réduit le nombres de renvois de deux à un
seul. Résultat impossible à améliorer
LH*rsP2P offre la disponibilité en cas de panne d’un site
LH*rsP2P palie au ‘Churn’
Étude expérimentale de LH*rsP2P sur la base de la
généralisation du prototype LH*rs
Application aux documents réels de GovML
Étude de variantes de LH*rsP2P.
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
22
Références
[G01]
Glassey O , EPFL. Isps.ch newsletter n)11.10/2001
[LNS96]
Litwin, W., Neimat, M.-A. & Schneider, D. LH*: A Scalable Distributed Data Structure. ACM-TODS, Dec. 1996.
[LNS93a]
Litwin, W., Neimat, M.-A. & Schneider, D. Linear Hashing for Distributed Files. ACM-SIGMOD International
Conference on Management of Data, 1993.
[LNS93b]
Litwin, W., Neimat, M-A. & Schneider, D. LH*: A Scalable Distributed Data Structure. Submitted for journal publ.
Nov. 1993.
[LMS05]
Litwin W, Moussa R, Schwarz T: LH*RS – A Highly-Available Scalable Distributed Data Structure. ACM-TODS,
Sept. 2005.
[LRS02]
Litwin, W. & Sahri, S. Implementing SD-SQL Server: a Scalable Distributed Database System. Intl. Workshop on
Distributed Data and Structures, WDAS 2004, Lausanne, Carleton Scientific (publ.).
[LSS06a]
Litwin, W., Sahri, S. & Schwarz, Th. Scalable Command Processing in SD-SQL Server: a Scalable Distributed
Database System. 7th Intl. Workshop on Distributed Data and Structures (WDAS-7) Santa Clara, CA, 2006.
[KT5]
Gregory Kavadias and Efthimios Tambouris GovML: A Markup Language for Describing Public Services and Life
Events . Archetypon S.A., 236 Sygrou Av., Athens, 176-72, Greece {gkavadias, tambouris}@archetypon.gr
[LMS6]
Litwin ,W, Mokadem R, Sahri S. Virtual Repository for eGov Life Event Documents. CERIA 2006
14/09/2006
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
23
j=i+1
j=i+1
j=i
0
14/09/2006
n
2i
n+2i
LH*rsP2P: une nouvelle SDDS pour un environnement pair à pair
24