for i = skiplist->level downto 1 dowhile x->nextItem[i] < NodeLogic do while y->nextItem[i] n’est pas NULL do endwhile //Si le nombre de nœuds sur classe i est suffisant if longueur de
Trang 63#2#2 E Operator# # # # # # # # # # # # # # # # # # # # # # # # # # 213#2#3 Data # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 213#2#= &+ SuperP eerInterf aceN odeInterf ace # # # # # # # # # # 213#2#B N ode# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 223#2#C N odeSkipElementDataSkipElement # # # # # # # # # # # 223#2#D SuperP eer # # # # # # # # # # # # # # # # # # # # # # # # # # # # 233#2#5 P eer # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2=3#2#48 SystemP arameters # # # # # # # # # # # # # # # # # # # # # # # 2=3#3 & # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2C
Trang 81#4 $ # # # # # # # # # # # # # # # # # # # # # # 4B
3#4 P roperty # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 243#1 P redicate # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 243#2 Data # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 213#3 SuperP eerInterf ace # # # # # # # # # # # # # # # # # # # # # # # # # # # 213#= N odeInterf ace # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 223#B N ode# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 223#C N odeSkipElementDataSkipElement # # # # # # # # # # # # # # # 233#D SuperP eer # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 233#5 P eer # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2=
Trang 11Répliques
4#3M ) $ <
Trang 190O 1 "#@
# ' O 2 G +O# FC54 /O* F32B4 F ! 32CD*
Trang 22Décision de la création/suppression
Réalisation de décision
Prédiction d’accès
Prédiction de mobilité
Trang 25R $ % N ) # N + 1 %
Trang 27for i = skiplist->level downto 1 do
while x->nextItem[i] < NodeLogic do
while y->nextItem[i] n’est pas NULL do
endwhile
//Si le nombre de nœuds sur classe i est suffisant
if longueur de la retourList >= replicaNb[i] then
ok = true
endif
endfor
else return Echec
Trang 28Système adaptatif de placement de données (SAPLAD)
Créer une donnée
Utilisateur
Récupérer l'espace mémoire
Supprimer une donnée
Administrateur
Définir la probabilité d'indisponibilité des dispositifs et
de disponbilité globale
Créer une réplique
<<Inclu de>>
Supprimer une réplique
<< Inc lud e>
>
<< In clu de
Trang 29Resource Peer: Peer
uploadData(newMetaData, fileContent)
Le super-pair trouve les noeuds convenables aux prédicates à patir de la classe la plus stable
et retourne les adresses de ces noeuds au noeud de demande.
Le noeud ayant la nouvelle donnée reçoit les adresses des noeuds ó
la nouvelle donnée sera répliquée
et l'envoie à ces noeuds Après avoir reçu la donnée, le pair informe son super-pair afin qu'il
ajoute un elément dans la liste à saut de données.
insertNewDataToSkipList(newMetaData, nodeIP) Loop
uploadData(metaData, fileContent)
Le super-pair compte le nombre de ques d'une donnée, si ce nombre est infé- rieur à un nombre minimal de répliques.
répli-Cette donnée doit être répliquée, le pair trouve les noeuds convenables aux prédicates et retourne au noeud demande.
super-Resource Peer: Peer
insertNewDataToSkipList(metaData, nodeIP)
Trang 30MP: MobilityPrediction Requesting Peer: Peer Super Peer: SuperPeer
répli-Cette donnée doit être répliquée, le pair trouve les noeuds convenables aux prédicates et retourne au noeud demande.
super-Resource Peer: Peer
Trang 38NodeInterface
+requestDataIntegration() +requestDataDeletion() +requestMemoryRecovery() +insertElementToDataSkipList() +addPeer()
«interface»
SuperPeerInterface
NODE 1: NODE1Interface NODE 2: NODE2Interface NODE 3: NODE3Interface
requestDataIntegration( ) resourcesInterface