CTH*

Travaux annexes

Distributed Compact Trie hashing

Mise à jour Décembre  2007

 

CTH*

( évolution)

 

Version 1.1 

 CTH* ( version 1.1 )

  (Mémoire Ingénieur Y. Laalaoui & M.S Bireche)

Version 1.2

Protocole de communication sous Linux pour CTH* : 

(Mémoire Ingénieur A. Khaled & A.Bekkouche)

Version 1.3

Protocole de communication sous Windows pour CTH* : 

(Mémoire Ingénieur Saad Belaid & A. Boularias)

Version 1.4

Protocole de communication sous Windows pour CTH* : CTH* avec T_trees

(Mémoire Ingénieur A. Kheldoun & A. Bouridah)

Autres travaux

Version 2.1

Implémentation de CTH* avec arbre central sous Linux (Mémoire B. Merani & H. Yakouben)

Version 2.2

Impléméntation de CTH* avec arbre central sous Linux sous P2P(Mémoire Ingénieur S. Saichi & B. Chalgou)

Version 3

CTH* avec Multicast (Magistère Ait Ali Kahina)

 

Présentation des SDDS

(PDF)

par le professeur W. Litwin de l'université de Paris Dauphine 

 

Laboratoire de rattachement http://ceria.dauphine.fr/

 

CTH* est une structure de donnée spécialement conçue pour les environnements distribués.

CTH* est une généralisation de la méthode CTH.

Les propriétés suivantes caractérisent la méthode : - distribution des données du fichier sur plusieurs serveurs

- absence d'un serveur central, 

- pas de dialogue entre les clients.

Ainsi conçue, CTH* est une SDDS (Scalable Distributed Data Structures), une classe de structures de données dédiées pour les environnement distribués et qui  a émergé cette dernière décennie.

Un ensemble de clients accèdent au fichier distribué sur plusieurs serveurs à raison d'une case par serveur.

Les clients effectuent toutes les opérations possibles sur un fichier : recherche, insertion, suppression, requête à intervalle, ...

Chaque serveur renferme une case pour le rangement des articles, et d'autres informations qui varient selon la version.

Chaque client possède une vue sur le fichier matérialisée par un arbre digital compact.

 Généralement cette vue ne reflète pas la réalité et par conséquent des erreurs d’adressage peuvent apparaître. Des messages d’ajustement permettent alors de corriger la vue du client.

 De cette manière, au fur et à mesure que l’on insère ou l’on recherche des données, les vues des clients convergent progressivement vers la réalité.

 Initialement le système ne contient que le serveur d’adresse 0 dont l’intervalle est [‘_’ ,’|’],  c’est à dire toutes les clés possibles, un arbre vide (|0).

 Tout client commence alors par une vue focalisée sur le serveur 0, c’est à dire avec un arbre vide (|0).

Le fichier évolue par les éclatements de cases(serveurs) dus aux collisions. A chaque collision il y a partage des données entre le serveur débordé et le nouveau serveur selon une séquence de division d’une façon similaire à la méthode CTH ou celle des B-arbres.

Article sur CTH : (PDF)

Programme de démo pour CTH : version de base et autres variantes (Démo)

Travaux en cours 

 CTH* ( version 1.1 )

Exposé Dauphine 2002 (PPT)

Exemple d'illustration (HTML)

(Démo) :  (en téléchargement et exécutable sous Windows)

Article 2003 : Adaptation of trie hashing for distributed environments.  (PDF)

________________

 CTH* ( version 1.2 )

Exposé Dauphine 2003 (PPT)

Article 2004 : Scalable Distributed Compact Trie Hashing  (PDF)

________________

Versions actuelles de CTH* ( Versions 1.3 et 1.4)

Exposé Dauphine 2005 (PPT)

Exposé Dauphine 2006 "CLIENT MOBILE"

(PPT)

 

Exposé Dauphine 2007 "Commandes vocales sous CTH"

(Navigateur supportant la voix (Opera) )

 

(Navigateur  ne supportant pas la voix (IE)