Intégration d’un client mobile à la SDDS CTH* Pr. D.E. ZEGOUR WWW.ZEGOUR.UUUQ.COM [email protected] Collaboration : W.K HIDOUCI ( Phase finale de préparation d’une thèse d’état algérienne SGBD RAM (SDDS) à base d’acteurs) Réalisé par BENNACEUR Amel (Mémoire d’Ingénieur à l’INI : Institut National d’Informatique ) Introduction Projet SD²M (Structure de Données Distribuée Mobile) Client CTH* mobile – Spécifier, concevoir, développer – Analyser, vérifier, mesurer Plan SDDS CTH* Environnements mobiles Architectures et Protocoles Outils de développement Tests de performances Interface SDDS Gérer la distribution des données d’un fichier dans une architecture sans partage ( Multiordinateur ) Pas de répertoire central ( Point d’accumulation dans les méthodes classiques) Gérer un grand volume de données en maintenant des performances stables optimales ( scalabilité) Disponibilité des données 24/24, 7/7 SDDS - Variantes SDDS Basée sur les arbres Basée sur le hachage CTH * unidimentionelle multidimentionelle RP*N, RP*C, RP*S k-RP* dPi-tree unidimentionelle Variantes à haute disponibilité multidimentionelle LH*L H Haute disponibilité RP*R S LH*g, LH*SA, LH*RS LH*S LH*M IH* Hachage Digital Compact Distribué (CTH*) Hachage digital TH Hachage Digital Compact CTH Hachage Digital Compact Distribué CTH* Hachage Digital Compact Distribué (CTH*) Arbre digital Arbre digital Arbre digital Client Client Client Réseau local haut débit Serveur Serveur Serveur … … … Cases en RAM Cases en RAM Cases en RAM Arbre digital partiel Arbre digital partiel Arbre digital partiel Coordinateur FAT PAT Hachage Digital Compact Distribué (CTH*) d 0| 0| 1 | 01| 1| 2 d0 d k0 Client Client ef ce dx hx a IAM kx y yyb yya IAM Serveur a ce dx ef d |00| 1 IAM yya x Serveur ef h x kx y kd11| 2 Serveur yya x y yya yyb k2 Hachage Digital Compact Distribué (CTH*) Plateforme CTH* ( Existant ) Serveur 1 . . . Case m Application 1 . . . Case 0 1 Client 1 Application n1 Coordinateur Case 0 . . . . . . Application 1 . . . Application nn . . Serveur 2 .Case m 2 . . . . . . Case 0 Client k . . Serveur p .Case m 3 Plateforme CTH* ( Existant + Mobilité ) Serveur 1 mobilité Client CTH* Case 0 Client mobile 1 . . . . . . Case m 1 Coordinateur Client CTH* Case 0 Client mobile m . . Serveur 2 .Case m 2 Application 1 . . . . . . Client 1 . . . Application n1 . . . . . . Case 0 . . .Case m Application 1 . . . Serveur p Client k Application n 3 Réseaux mobiles 1980 1990 2001 2006 2010 2020 Génération 1G 2G 2,5G 3G 4G 5G Mot-clé Analogique Numérique Circuit Numérique paquet Numérique paquet Haut débit et IP Mobile Haut débit et IP Mobile Débit 600-1200 bit/s 14,4 Kbit/s 30 – 70 Kbit/s 384 Kbit/s – 2 Mbit/s ≈ 10 Mbit/s ≈ 1Gbit/s Exemple AMPS, NMT, TACS GSM, IS54 IS95, PDC HSDPA, Flash OFDM Accès large bande GPRS, EDGE, PDC-P UMTS, W-CDMA, CDMA2000 WiMax Mobile Terminaux mobiles Téléphone mobile Ecouteur Port infrarouge SIM Batterie Ecran LCD Microphone Clavier Port série Téléphone mobile Intégration des composants d'un ordinateur au sein d‘ une seule puce : microprocesseur, DSP (Digital Signal Processor), mémoire. Processeur : contrôle et coordonne le travail des différents modules et gère l’interface homme-machine (HMI : Human Machine Interface). La fréquence d’horloge : ordre d’une centaine de mégahertz ( Intel : atteindre 1GHz ) DSP (Digital Signal Processor). traitement du signal et conversions entre numérique et analogique. décharger le processeur central et d’augmenter la puissance et la vitesse de traitement. Module radio. Le module radio (RF unit : Radio Frequency unit) permet au téléphone d’être relié au réseau Connectivité locale : Câble série, Technologie infrarouge, Norme Bluetooth Carte SIM (Subscriber Identity Module). Permet l’accès aux services du réseau mobile. Adaptation à l’environnement mobile Contraintes liées au réseau mobile Bandes passantes de qques dizaines de kilobits par seconde pour les réseaux 2,5G et 3G tels que GPRS. minimiser la taille des messages et leur fréquence d’envoi. Le temps de latence réseaux mobiles : mesurés en secondes réseaux fixes : mesurés en millisecondes, voire en microsecondes. Difficultés liées aux appareils mobiles Ressources limitées Interface restreinte Autonomie limitée Langage de programmation limité Interruption Adaptation à l’environnement mobile Protocoles de transmission de données Objectif : établir un lien entre les réseaux de données fixes et la téléphonie mobile Réseaux filaires : TCP/IP Réseaux mobiles : le protocole WAP (Wireless Application Protocol) client/proxy/serveur (terminal mobile muni du micronavigateur WAP, la passerelle WAP et le serveur d’applications ) le service i-mode : standard japonais ( pas de proxy) ne nécessite pas d’étape intermédiaire de conversion en binaire Architecture générale Réseau fixe de l’opérateur passerelle/ firewall Client CTH* GPRS/3G HTTP Mobile Client CTH* mobile UDP Serveur HTTP Servlet . . . . . . HTTP Station de base Serveur CTH* UDP HTTP Mobile Réseau de l’opérateu r . . HTTP passerelle/ firewall Servlet Serveur CTH* … Client CTH* fixe Réseau local Client CTH* fixe Réseau IP public Architecture du client fixe Serveur Coordinateur Serveur Serveur ServReceiverThread Serveur ServSenderThread Table des fichiers ouverts Handle Déscriptif Trie PAT File ClientServeurs File ServeursClient ... File ClientApplications File WorkerThread WorkerThread ApplicationsClient IDReq AppSenderThread IDApp Table de correspondance Applications/ requêtes AppReceiverThread Interface entre les applications et le client SDDS ... Application Application Application Application Architecture du serveur Données Données Données Trie PAT Trie PAT Trie PAT Données Cases CTH* ... Trie PAT Gestionnaire d’accès concurrents Insertion Recherche Suppression … Redirection Eclatement … Exécution Analyse des requêtes Résultat Résultat ... WorkerThread WorkerThread Files File Input Output SenderThread ReceiverThread Servlet Client Coordinateur Serveur Client Préserveur Architecture du coordinateur Table d’allocation physique (PAT) Table de Fichier (FAT) Gestionnaire d’accès concurrents Nouveau serveur libre Eclatement Nouveau fichier Ouvrir fichier … Supprimer fichier Exécution Analyse des requêtes Résultat Résultat ... WorkerThread WorkerThread Files File Input Output SenderThread ReceiverThread Servlet Client Server Serveur Client Préserveur Architecture du client mobile Serveur Coordinateur Serveur Serveur Serveur Connexion HTTP ... ... Threads d’envoi File Des Ecouteurs File Des Requêtes File Des URL Table des fichiers ouverts Handle Déscriptif ... Insertion Thread d’interface PAT .. . Threads de traitement Nouveau Ouverture Fermeture Trie Recherche Suppression Requête à intervalle … Architecture du préserveur Client CTH* Client CTH* Client CTH* Client CTH* Client CTH* Serveur Serveur Connexion HTTP Messages HTTP … Pool de threads Messages UDP Réseau local Serveur Coordinateur Serveur Protocole (Requête simple : sans erreur d’adressage) Client SDDS Requête HTTP Réponse HTTP Préserveur (servlet HTTP) Préserveur (servlet HTTP) Préserveur (servlet HTTP) Serveur SDDS Serveur SDDS Réponse Serveur SDDS Protocole (Requête simple : 1 forward) Client SDDS Requête HTTP Réponse HTTP Préserveur (servlet HTTP) IAM Préserveur (servlet HTTP) Réponse Répons e Serveur SDDS Préserveur (servlet HTTP) IA M Redirection Serveur SDDS Serveur SDDS Protocole (Requête simple : 2 forward) Client SDDS Requête HTTP Réponse HTTP Préserveur (servlet HTTP) IAM Préserveur (servlet HTTP) Réponse Serveur SDDS Répons e IA M Préserveur (servlet HTTP) Répons e Redirection Serveur SDDS Redirection Serveur SDDS Protocole ( Requête à intervalle ) Client CTH* Requête (Min, Max) Requête (Min1, Max1) Requête (Min2, Max2) Préserv Préserv … Serveurs Requête (Min3, Max3) … Préserv … … … … Outils de développement Préserveur Client mobile Outils de développement (Quelques détails techniques) Langages de développement Coordinateur, Serveur et le client fixe sont développés en Visual C++, Client mobile Java édition micro J2ME (Java 2 Micro Edition) Préserveur : Java édition entreprise J2EE (Java 2 Entreprise Edition). Sockets Sockets UDP : réseau local ( échanges de messages entre les servlets, les clients fixes, les serveurs et le coordinateur ) HTTP Protocole HTTP (Hypertext Transfer Protocol) : entre les servlets et le client mobile ) modèle client/serveur. idéal pour les applications Java mobiles : tout appareil compatible supporte le protocole HTTP ( TCP ou UDP : optionnels sur d’autres appareils). Outils de développement (Quelques détails techniques) Installation Sur le mobile Java Developpement Kit JDK 1.5 ou une version postérieure, J2ME Wireless Toolkit 2.2 ou postérieure et Plate-forme fixe Coordinateur, Serveur, Client et Application ( Réseau Ethernet 100Mbits/s ) Serveur HTTP ( Tomcat Apache) Outils de développement (Quelques détails techniques) Les serveurs CTH* sur trois machines : Pentium IV avec une fréquence d’horloge de 2,66 GHz et 248 Mo de RAM Pentium III tournant à 1GHz et muni de 256 Mo de RAM Pentium III à 688 MHz avec 256 Mo de RAM. interconnectées par un réseau Ethernet 100 Mbits/s. Pour tester l’application : simultation sur un ordinateur portable relié au réseau Ethernet local. Wireless Toolkit) (simulateur intégré de Sun J2ME Pour vérifier le parallélisme, Utilisation d’une autre machine connectée à Internet Pour les tests réels Téléphone mobile Nokia 3200 à 800 Ko de mémoire, compatible Java MIDP 1.0 et relié à Internet via le réseau GPRS d’Algérie Télécom. Tests de performances Temps moyen d'insertion (ms) • Simulateur distant 5 4 capacité de 250 octets 3 capacité de 500 octets 2 capacité de 1250 octets 1 capacité de 2500 octets 0 100 200 Nombre d'enregistrements 500 Tests de performances Temps moyen d'insertion (ms) • Environnement mobile réel 2000 capacité de 250 octets 1500 capacité de 500 octets 1000 capacité de 1250 octets 500 capacité de 2500 octets 0 10 50 Nombre d'enregistrements 100 Tests de performances Temps de recherche (ms) • Requête à intervalle 16500 15500 14500 13500 12500 11500 1 2 Nombre de serveurs 3 Interface de l ’application Interface ( Création ) Remarque : les temps mentionnés correspondent aux temps obtenus par simulation (micro portable vers réseau fixe sans passer par Internet) Interface (Ouverture) Interface ( Insertion ) Interface (Requête simple) Interface (requête à intervalle) Interface (Ergonomie) Conclusion & Perspectives Solution simple permettant le développement d’application sur téléphone mobile Intégration à des systèmes de gestion de bases de données Rajouter sécurité et compression ( en cours ) SDDS mobile ( P2P et peut être avec réseaux ad hoc)