PPT - ESI

publicité
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)
Téléchargement