UBIS SP2 - Lot2.1 Défintion et spécification de l`architecture

Transcription

UBIS SP2 - Lot2.1 Défintion et spécification de l`architecture
Projet ANR-Verso 2008 UBIS
«User centric»: uBiquité et Intégration de Services
SP2 – Architecture UBIS
Lot 2.1 – Définition et spécification de l’architecture
Auteurs :
N. SIMONI
Participants :
YIN C. ; NASSAR R.
Version :
V2
Date :
1/2010
1 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Historique du Document
Version
Date
Modifications
V0
9/2009
N. SIMONI
V1
11/2009
N. Simoni
V2
1/2010
N. SIMONI
2 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Table des matières
1.
INTRODUCTION ...................................................................................................................................................... 5
1.1.
Contexte NGN....................................................................................................................................................... 5
1.2.
Les éléments d’évolution .................................................................................................................................... 16
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
2.
Evolution du contexte ..................................................................................................................................... 17
Evolution des Télécoms .................................................................................................................................. 18
Evolution des architectures ............................................................................................................................. 19
Evolution de la conception.............................................................................................................................. 20
Evolution de la convergence ........................................................................................................................... 20
LE QUOI ................................................................................................................................................................. 22
2.1.
La nouvelle vision : ............................................................................................................................................. 22
2.2.
Définition d’une architecture ............................................................................................................................... 23
2.3.
L’ingénierie des architectures ............................................................................................................................. 24
2.4.
Les architectures de service : analyse de l’existant ............................................................................................ 26
2.4.1
2.4.2
2.4.3
3.
Les architectures Telco ................................................................................................................................... 26
Les architectures Web ..................................................................................................................................... 41
Les architectures IT : SOA ............................................................................................................................. 48
LE POURQUOI : .................................................................................................................................................... 52
3.1.
Les défis ............................................................................................................................................................. 52
3.2.
La continuité de service ...................................................................................................................................... 53
4.
LE COMMENT : LA NATURE DES REPONSES UBIS ......................................................................................... 54
4.1.
Architecture de service UBIS .............................................................................................................................. 54
4.2.
La session de bout en bout UBIS........................................................................................................................ 56
5.
DE L’ARCHITECTURE AUX BLOCS FONCTIONNELS ....................................................................................... 58
5.1.
Topologie fonctionnelle ....................................................................................................................................... 58
5.2.
« Serviceware » et le VPSN ................................................................................................................................ 60
5.3.
Gestion des mobilités.......................................................................................................................................... 63
5.3.1
5.3.2
5.3.3
5.3.4
Dysfonctionnements de la QoS du composant................................................................................................ 63
Des acteurs ...................................................................................................................................................... 64
Concept de communauté d’intérêt .................................................................................................................. 65
Autogestion de communautés ......................................................................................................................... 68
5.4.
Sessionware : Continuité de service intégrée ..................................................................................................... 74
5.5.
« Seamless Userware » ...................................................................................................................................... 74
5.6.
Synthèse ............................................................................................................................................................. 75
6.
CONCLUSION ....................................................................................................................................................... 79
3 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Table des Illustrations
Figure 1 : « User Centric » dans un contexte NGN .................................................................................................................................. 5
Figure 2: Les mobilités............................................................................................................................................................................. 6
Figure 3: HHO et VHO ............................................................................................................................................................................. 7
Figure 4 : L’architecture de l’UMA (spécification de l’UMA) ...................................................................................................................... 9
Figure 5 : l’architecture de l’UMA ........................................................................................................................................................... 10
Figure 6 : L’architecture de la norme de 802.21 ..................................................................................................................................... 10
Figure 7 : PS Handover : Phase de Préparation .................................................................................................................................... 11
Figure 8: Mobilité de l’utilisateur ............................................................................................................................................................ 12
Figure 9: mobilité de l’utilisateur supporté par SIP ................................................................................................................................. 13
Figure 10: mobilité de service ................................................................................................................................................................ 14
Figure 11 : Définition de sessions dans TINA ........................................................................................................................................ 15
Figure 12 : Session service.................................................................................................................................................................... 16
Figure 13: System Centric ..................................................................................................................................................................... 17
Figure 14: Application Centric ................................................................................................................................................................ 17
Figure 15: Network Centric .................................................................................................................................................................... 18
Figure 16: User Centric.......................................................................................................................................................................... 18
Figure 17: Evolution des Télécoms ........................................................................................................................................................ 19
Figure 18: Evolution des architectures ................................................................................................................................................... 20
Figure 19: Evolution de la conception .................................................................................................................................................... 20
Figure 20: Evolution des convergences ................................................................................................................................................. 21
Figure 21: Le quoi : Contexte et Périmètre ............................................................................................................................................ 22
Figure 22: Nouvelle Vision ..................................................................................................................................................................... 23
Figure 23: Modèle générique au niveau d’un nœud de l’architecture ..................................................................................................... 24
Figure 24 : Architecture fonctionnelle du réseau intelligent .................................................................................................................... 28
Figure 25 : Modèle organisationnel du Parlay/OSA................................................................................................................................ 31
Figure 26 : Architecture du Parlay/OSA ................................................................................................................................................. 32
Figure 27: Le framework Parlay ............................................................................................................................................................. 32
Figure 28 : Le modèle métier de l'abonnement Parlay ........................................................................................................................... 33
Figure 29 : Architecture Parlay X ........................................................................................................................................................... 36
Figure 30: Architecture OSE .................................................................................................................................................................. 38
Figure 31: Architecture IMS SCIM ......................................................................................................................................................... 40
Figure 32 : Cadre architectural des services Web .................................................................................................................................. 42
Figure 33 : Structure d'ensemble SOA des services Web ...................................................................................................................... 45
Figure 34 : Web 2.0 ............................................................................................................................................................................... 46
Figure 35 : exemple de la plate-forme de SaaS ..................................................................................................................................... 48
Figure 36 : Modèle SOA ........................................................................................................................................................................ 49
Figure 37 : composition de service exemple 1 ....................................................................................................................................... 50
Figure 38 : composition de service exemple 2 ....................................................................................................................................... 51
Figure 39 : Architecture de SOA ............................................................................................................................................................ 51
Figure 40 : architecture de la Plate-forme Fiorano SOA™ 2007............................................................................................................. 52
Figure 41 : Modèle vertical des architectures de services ...................................................................................................................... 53
Figure 42 : Le Pourquoi : la continuité de service................................................................................................................................... 54
Figure 43: La plateforme NGN Middleware proposée ............................................................................................................................ 55
Figure 44 : Sessions Multiples vs. Session Unique ................................................................................................................................ 57
Figure 45:Concept de la session « User Centric » ................................................................................................................................. 57
Figure 46 : Topologie fonctionnelle ........................................................................................................................................................ 58
Figure 47: Mutualisation d’un ES pour différente Composition de Service ............................................................................................. 61
Figure 48: Scénario de la mutualisation d‘un ES et Composition de Service .......................................................................................... 62
Figure 49: Serviceware .......................................................................................................................................................................... 63
Figure 50: les cas d’utilisation de la gestion de mobilité ......................................................................................................................... 65
Figure 51: Création de communauté...................................................................................................................................................... 69
Figure 52: Exemple de la gestion de la communauté des utilisateurs .................................................................................................... 71
Figure 53: Gestion de la communauté des utilisateurs ........................................................................................................................... 71
Figure 54: Exemple de la gestion de la communauté des équipements 1 .............................................................................................. 72
Figure 55: Exemple de la gestion de la communauté des équipements 2 .............................................................................................. 72
Figure 56: Gestion de la communauté des équipements ....................................................................................................................... 73
Figure 57: Exemple de la gestion de la communauté des services ........................................................................................................ 73
Figure 58: Gestion de la communauté de services ................................................................................................................................ 74
Figure 59 : « NGN Sessionware » ......................................................................................................................................................... 74
Figure 60 : « Seamless Userware » ....................................................................................................................................................... 75
Figure 61 : Carte fonctionnelle ............................................................................................................................................................... 76
Figure 62: Scénario final ........................................................................................................................................................................ 77
Figure 63 : Schéma générique d'un middleware .................................................................................................................................... 79
Figure 64 : Architecture du middleware UBIS ........................................................................................................................................ 80
4 / 80
Projet ANR Verso 2008 - UBIS
1.
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Introduction
Ce SP vise à déterminer l’architecture globale d’UBIS ainsi que l’ensemble des
spécifications sur les rôles et interactions de ses différents composants. Il s’agira
d’une architecture en couches, distribuée adaptée au concept « user centric ». Cette
architecture préconise un réseau de services basé SOA et SaaS. Elle traduira sous
l’angle « user centric », l’approche innovante d’une session unique reposant sur la
composition de services et l’ubiquité de service. Les aspects signalisation et gestion
seront également couverts pour contribuer à l’évolution de la NGS (nouvelle
génération de services).
1.1. Contexte NGN
L’orientation qui nous intéresse dans ce projet est celle de « User-Centric » (Figure 1)
dans un contexte NGN. C'est-à-dire que notre utilisateur est avant tout nomade. Il
souhaite d’abord avoir la possibilité de se connecter sans coupure pour accéder à ses
services, même si il traverse plusieurs réseaux hétérogènes. La connectivité ne
s’arrête pas à l’établissement de la liaison, la connectivité ne signifie plus juste le
maintien du lien, mais elle doit permettre à l’utilisateur d'être facilement relié à tout
moment pendant ses déplacements, à tout réseau de sa préférence dont il possède
les droits d’accès et à partir de n’importe quel terminal.
Figure 1 : « User Centric » dans un contexte NGN
Pouvoir se déplacer au gré de ses besoins ou de ses envies est aujourd'hui tellement
simple, que la location physique n’est plus la contrainte majeure pour les utilisateurs
modernes. Grâce à une grande couverture et à la diversité des technologies sur les
offres d’accès, les utilisateurs peuvent avoir leurs services n’importe où. Mais dans le
contexte de NGN où l’hétérogénéité est omniprésente le maintien de la communication
et du service d’un utilisateur qui se déplace est de plus en plus complexe. Pour
comprendre cette complexité, analysons les différents types de mobilité.
Les communications personnelles induisent des mobilités essentiellement d’ordre
spatial comme la « mobilité du terminal », la « mobilité de l’utilisateur » et la « mobilité
du réseau ».
La « mobilité de terminal » implique la continuité de la connexion. Les technologies du
genre « tout IP » permettent de considérer une architecture de réseau unifié, laquelle
peut traiter divers réseaux d’accès indépendants. Lorsque l’utilisateur passe d’un
terminal à un autre, cela relève de la « mobilité de l’utilisateur », nous devons alors
résoudre les adaptations pour préserver la personnalisation. La « mobilité du réseau »
5 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
concerne le déplacement de l’infrastructure du support de transport. C’est le cas des
réseaux locaux (trains ou avions) en mouvement. En fait, quand c’est le sous réseau
qui bougent avec tous ces nœuds, la problématique est la même que pour la mobilité
de terminal. Par contre, lorsque c’est un nœud du réseau cœur qui se déplace, nous
avons une problématique d’interconnexion et d’adaptation des débits à considérer.
Ces trois types de mobilité sont relatifs à des aspects de connectivité. Dans le monde
réel, il faut également considérer les aspects de service. Avec l’évolution de fourniture
de service, un même service demandé par l’utilisateur peut être offert par plusieurs
fournisseurs et supporté par différentes plates-formes de service. Quand l’utilisateur
se déplace, comment fait-il son choix pour avoir la meilleure adéquation à ses
besoins ?
Nous avons dénommé ce quatrième type de mobilité : la « mobilité de service » car au
delà de la préférence de l’utilisateur, elle sera utilisée par le système pour respecter la
QoS de bout en bout.
Cette « mobilité de service » induit en fait une autre mobilité d’ordre temporel que
nous avons dénommé « mobilité de session » (Figure 2 - A). En effet, pour assurer
une continuité de service avec la chaîne des mobilités spatiales, le système doit gérer
dynamiquement la session de l’utilisateur et son unicité de bout en bout (« seamless,
sans couture ») en temps réel. En fait, chaque mobilité relève d’un niveau
architectural, et ne permet pas à lui seul d’assurer la QoS de bout en bout. C’est la
session, gestionnaire dynamique en temps réel qui maintiendra cette QoS de bout en
bout.
Figure 2: Les mobilités
Mobilité de terminal
Les solutions existantes dans le domaine de la mobilité reposent sur les techniques de
handover qui s’appliquent plutôt à la « mobilité du terminal ».
Elle se rapporte à un terminal qui change de location, c’est-à-dire qui se déplace soit à
travers différents points d'accès d’un réseau, soit à travers différents réseaux d’accès,
tout en maintenant l’accès à un même ensemble de services. Ce type de mobilité doit
permettre le déplacement de terminal sans coupure. Deux types de solutions existent
le Roaming et le Handover.
Le Roaming est l’itinérance qui fait plutôt référence au changement d’opérateur ou de
domaine administratif. Ce type d’itinérance offre donc une possibilité d’obtenir des
services qui sont dans des domaines administratifs différents gérés par des contrats
entre opérateurs. Il est d’ordre commercial et réglementaire.
Le Handover est d’ordre technique. Ce processus permet, à un terminal mobile,
d'effectuer le passage entre deux points d'attachement de façon transparente. Le
changement de point d'attachement entraîne parfois une déconnexion momentanée
6 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
du terminal mobile et des perturbations des communications en cours. Néanmoins
l’objectif est d’assurer des communications sans coupure.
Nous distinguons le HHO (Horizontal HandOver) et le VHO (Vertical HandOver)
(Figure 3). Le HHO permet au terminal de passer d’un domaine d’accès à un autre en
utilisant la même technologie, la procédure se déroule dans un même niveau
d’architecture. Quant au VHO, il permet le passage d’un terminal, d’un type de réseau
à un autre (ex : de WiFi, à la 3G), ce handover se traite souvent par plusieurs niveaux
et dans un environnement hétérogène.
Figure 3: HHO et VHO
L’utilisation de la procédure de HandOver Horizontal (HHO) la plus usitée se trouve en
téléphonie mobile du niveau L2. D’une manière générale, le handover va être effectué en
analysant trame par trame le signal reçu des deux cellules impliquées et la meilleure
trame sera retenue. Ainsi, progressivement, le nombre de trames traitées par la cellule
d’accueil devient prépondérant devant le nombre de trames traitées par la cellule cédante.
Plusieurs techniques de handover ont été proposées. Par exemple, dans UMTS
(Universal Mobile Telecommunications System), nous trouvons du soft handover, softer
handover et hard handover.
Le Soft Handover s’effectue « en douceur ». Ce type de handover change de station de
base. Le mobile est dans la zone de couverture qui est commune à deux stations de base.
Les communications utilisent deux canaux différents, un pour chacune des deux stations.
Contrairement au mécanisme de handover traditionnel, tel que rencontré dans un réseau
analogique ou GSM, il n’y a pas d’interruption de la communication, même de très courte
durée.
Dans un système W-CDMA, on distingue le cas où le mobile reste dans la zone couverte
par une station de base en changeant juste de secteur, on l’appelle alors Softer Handover.
Le mobile est en communication avec une seule station de base, il utilise simultanément
deux canaux radio. Dans le sens descendant, deux codes d’étalement sont activés pour
que le mobile distingue les signaux issus des deux secteurs. Dans le sens montant, les
signaux émis par le mobile sont reçus par les deux secteurs de la station de base et
dirigés vers le même récepteur. Ils sont donc combinés au niveau de la station de base.
Du côté du mobile, il n’y a pas de différence avec un soft handover. Dans le sens montant,
par contre, les données sont combinées au niveau du contrôleur de réseau radio (RNC) et
non plus au niveau de la station de base. Cela permet de sélectionner la meilleure trame
parmi celles qui sont reçues, après chaque période d’entrelacement, toutes les 10 à 80
ms.
7 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
En dehors des handovers en douceur qui viennent d’être décrits et qui sont les plus
courants, on rencontre dans un système W-CDMA deux autres types de transfert
intercellulaire, qu’on appelle Hard Handover par opposition aux mécanismes précédents :
o Handover inter fréquence, lorsque le mobile passe dans une cellule où les
fréquences sont différentes de celle qu’il quitte ;
o Handover inter système, quand le mobile change de système, par exemple
pour quitter une plaque UMTS et entrer dans une plaque GSM, ou plus
simplement pour passer du mode FDD au mode TDD.
Nous avons également un HandOver Horizontal de niveau L3 en mode « paquet »,
c'est-à-dire, au niveau de l’IP à travers la technologie « Mobile IP ». Nous trouvons pour
IPV4 le RFC3344, pour IPV6 le RFC 3775 qui réalise le handover en cachant le
changement de l’adresse IP et la technologie mSCTP (mobile Stream Control
Transmission Protocol) qui met à jour l’adresse IP dynamiquement.
Mobile IP garde deux types d’adresse IP, une adresse permanente (Home address) qui
peut être utilisée au dessus du niveau transport; l’autre adresse IP modifiable (Care of
address) qui peut être utilisée au dessous du niveau transport. Dans la version IPV4, ce
protocole propose trois composants :
•
MN (Mobile Node) qui représente le terminal qui a changé de points
d’attachement tout en maintenant la communication grâce au « Home Address »,
•
HA (Home Agent) qui est un routeur dans le réseau mère et
•
FA (Foreign Agent) qui se trouve dans le réseau visité par le MN.
Quand le MN bascule, le MN enregistre le « Care of address » auprès le HA à travers le
FA. Quand un hôte de communication (CH) envoie les paquets de données par le routage
IP au MN dans le réseau mère, HA intercepte ces paquets, les encapsule en mettant la
CoA comme adresse destinataire. Finalement, le HA les envoie à MN. Un tunnel virtuel
entre CH et MN est alors supporté. Mais ce routage triangulaire peut provoquer de la
congestion au niveau transport.
L’évolution de IPV6 est un routage optimisé. Grâce à l’enregistrement de l’association de
deux adresses d’un MN (Binding) dans le nœud correspondant (CN), la communication
peut être maintenue directement entre le MN et le CN.
mSCTP est défini comme SCTP avec la capacité de la reconfiguration dynamique pour
l’adresse. Il est principalement prévu pour une architecture de type client/serveur, avec le
client mobile qui initie l’association avec le serveur fixe (FS). Le mobile obtient une
nouvelle adresse IP auprès de cette association et remplace l’ancienne.
Cependant, pour la continuité de service, devant l’hétérogénéité des ressources, nous
avons recours au HandOver Vertical (VHO) pour assurer l’adaptation requise pour la
QoS de bout en bout. Une décision du handover vertical dépend de plusieurs paramètres
concernant le réseau auquel le terminal est relié et celui auquel il sera connecté. Par
exemple, nous aurons les informations de largeur de bande de réseau, la charge, la
couverture, le coût, la sécurité, la QoS, ou même la préférence de l'utilisateur. La
préférence de l'utilisateur est importante, par exemple, si le nouveau réseau, dans lequel
un dispositif mobile exécute un handover, n'offre pas la sécurité, l'utilisateur peut décider
de rester dans l’ancien réseau. Selon la couverture, un utilisateur peut souhaiter employer
un lien sécurisé pour son trafic officiel d'Email (par exemple en utilisant GPRS), mais peut
choisir un lien moins coûteux pour accéder à l'information du Web (par exemple WLAN).
8 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Dans l’environnement hétérogène, nous avons étudié la technologie de l’UMA (Unlicensed
Access mobile) et la norme de IEEE 802.21 MIH (Media Independant Handover) pour
savoir les façons de rendre possible le handover Vertical dans un environnement
hétérogène (handover hétérogène).
Dans la suggestion d'UMA (Unlicensed Access mobile) ce genre de handover hétérogène
est basé sur l’idée qu'à l'avenir les utilisateurs préfèreront avoir un seul terminal puissant
(faisant tout) que plusieurs équipements indépendants.
La technologie UMA rend possible le basculement automatique du réseau WiFi aux
réseaux mobiles sans intervention de l'utilisateur. Elle a pour objectif d'offrir un accès aux
réseaux GSM (Global System for Mobile communications) et GPRS (General Packet
Radio Service) par l'intermédiaire de réseaux Bluetooth ou WiFi. La connexion de l’UMA
se fait soit de manière classique via le réseau mobile (lorsque l'abonné est à l'extérieur),
soit par le biais d'un réseau local radio (lorsque ce même abonné se trouve chez lui, dans
une entreprise ou dans la zone de couverture d'un hot spot Wi-Fi). Elle a été développée
par un consortium d'entreprises nommé UMAC comptant entre autre Alcatel, Cingular,
Ericsson, Motorola, Nokia, Nortel Networks, Siemens, T-Mobile et Kineto Wireless.
L'objectif ultime de l'UMA est de faire converger les protocoles de communications des
téléphones mobiles, fixes et informatiques.
Le standard UMA permet le handover hétérogène entre les deux réseaux en autorisant le
transport des communications et de la signalisation sur le réseau IP. Avec l’architecture
proposée par l’UMA (Figure 4), quand le téléphone mobile détecte un UMAN, il établit une
connexion IP sécurisée à travers une passerelle vers un « UMA Controller » (ou GANC,
GAN Controller). Ce dernier transforme le signal provenant du mobile pour le faire
apparaître comme provenant d’un autre relais GSM. Par conséquent quand un utilisateur
passe d’un réseau GSM vers un réseau Wifi, le cœur du réseau téléphonique considère
simplement que le mobile a changé de relais GSM, comme pour un handover GSM
classique. Il n’y a donc pas de coupure de communication alors que l’on passe d’un média
GSM à un média Wi-Fi ou bluetooth.
Figure 4 : L’architecture de l’UMA (spécification de l’UMA)
Pour supporter la mobilité, dans l’architecture UMA proposée par le 3GPP 43.318 (Figure
5), la passerelle de sécurité (SGW : Security Gateway) authentifie l'utilisateur avant sa
connexion de WLAN au réseau cœur. SGW peut consulter le HLR dans le réseau Home
9 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
pour les informations de l’utilisateur. Après l’authentification faite par le Serveur de AAA,
les paquets peuvent être envoyés.
Mais la non prise en compte de l’aspect QoS quand un mobile de l’UMA bascule vers les
réseaux sans fil et la nécessité de contrats entre opérateurs pour le roaming limitent l’UMA
à un environnement domestique ou à un petit bureau.
Figure 5 : l’architecture de l’UMA
IEEE 802.21 introduit le concept de MIH (Media Independant Handover) (pour réaliser le
handover hétérogène entre technologies sans fils hétérogènes (Figure 6). Le but principal
de ce standard est de gérer une connectivité sans discontinuité des différents réseaux
sans fil. Cette norme gère le handover entre les réseaux cellulaires, la téléphonie mobile,
le WiFi et le Bluetooth (concept de handover diagonal).
Figure 6 : L’architecture de la norme de 802.21
10 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Son objectif est de combler les lacunes des réseaux 802 qui permettent la détection et la
connexion aux points d’accès de leurs réseaux mais pas encore aux points d’accès des
autres réseaux. Il faut donc gérer la continuité de la connexion et les paramètres de
sécurité liés aux différentes normes. De plus, il faut lier les différents réseaux sans fil entre
eux.
De plus, pour évaluer les temps de réaction, il est important d’identifier le rôle des acteurs
(terminal et réseau) intervenant dans le mécanisme de handover. Les types suivants sont
définis, à savoir : Initiateur, Contrôleur et Agent (collecteur des informations).
Les différents cas sont :
• Dans une procédure du handover, l’acteur qui active la procédure est appelé Initiateur,
celui qui contrôle le changement est appelé Contrôleur et celui qui prend les mesures
pour alimenter les informations décisionnelles est appelé Agent.
MS
Source
BSS
Target
RNC/BSS
3G/2G
SGSN
1. Handover decision
2. PS Handover Required
3. Relocation Request
4. Relocation Request Acknowledge
Figure 7 : PS Handover : Phase de Préparation
•
Par exemple (Figure 7), dans une phase de préparation du handover dans le domaine
de PS (Packet Switch), c’est le BSS ancien qui décide de faire le handover, la procédure
de handover est contrôlée par le SGSN qui se trouve en bordure du réseau cœur, le
rapport de mesure sur la cellule où le terminal mobile arrive est fourni par le mobile,
l’information de capacité de la cellule est indiquée par le RNC/BSS du réseau d’accès.
En résumé, dans la plupart des cas que nous avons étudiés, le handover est initialisé par
le point d’attachement du sous réseau d’accès au réseau cœur (réseau initiateur), contrôlé
par le point d’attachement du réseau cœur (réseau contrôleur) et selon un rapport de
mesure fourni par le terminal (Agent terminal) et l’environnement de réseau (Agent
réseau).
Par ailleurs, le handover peut être classé aussi selon les différents objectifs de qualité de
service :
• Seamless handover : ce type de handover est destiné à offrir une session sans
coupure pour l’application et à respecter la QoS de bout en bout, ainsi que la
continuité de la session sans couture.
• Smooth handover : ce type de handover est destiné à minimiser la perte de paquet.
• Fast handover : ce type de handover est destiné à minimiser le délai du handover.
Le délai du handover est la différence temporelle entre l’émission/réception de
paquet du router précédent et l’émission/réception de paquet du router suivant.
11 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
En conclusion, les différentes techniques que nous venons d’évoquer couvrent bien la
mobilité du terminal de façon transparente à l’utilisateur. Mais le terminal ne représente
q’une partie de la mise en relation de bout en bout, qu’en est-il de cette liaison lorsque
l’utilisateur se déplace et change de terminal ? Et que devient la QoS de bout en bout par
rapport au service auquel nous accédons. C’est ce que nous allons étudier dans les
paragraphes suivants.
Mobilité de l’utilisateur
La « mobilité de l’utilisateur », dénommée aussi « mobilité personnelle », se rapporte à la
capacité de l'utilisateur (everyone) à utiliser n'importe quel terminal (anyhow) pour accéder
à des services (every services) anywhere et anytime (Figure 8). L’utilisateur désire au
cours d’une même session changer de terminal tout en gardant la personnalisation de son
service.
•
•
•
•
•
•
•
Cette mobilité personnelle induit les fonctions suivantes sur lesquelles nous reviendrons
par la suite :
Localisation
Adaptation (les profils)
Accès sécurisé
Identification
Authentification
Autorisation (contrôle d’accès)
Enregistrement/ dé-enregistrement.
Figure 8: Mobilité de l’utilisateur
Les solutions existantes sont peu nombreuses.
Nous retrouvons le protocole Mobile IP en établissant l’association entre le CoA du
terminal destinataire et l’adresse permanente de l’utilisateur.
Il y a aussi le protocole SIP (Session Initiation Protocol) qui supporte cette mobilité (Figure
9) dans la couche Application par la fourniture d’une même adresse logique. Il y a une
mise en correspondance des différentes adresses. C’est au Proxy (P CSCF) et à la
12 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
fonction de redirection de faire la traduction entre plusieurs identités sur différents
terminaux. Cette dernière redirige la communication durant la session de service. Les
[email protected];
[email protected];
et
adresses
logiques
de
[email protected]; pointent en fait vers le même utilisateur (Alice).
Par ailleurs, l’utilisateur d’aujourd’hui possède plusieurs terminaux et plusieurs accès, ce
qui pose le problème de sa joignabilité.
Figure 9: mobilité de l’utilisateur supporté par SIP
En effet, la communication s'est enrichie au cours des âges d'une panoplie d'outils d’abord
de diffusion (telex, TSF, télévision, …), puis d’échange (courrier, le fax, le télex…) et
beaucoup plus récemment de moyens de communication plus interactifs et libérés des
contraintes de temps, de lieu et d’espace (téléphone, visioconférence, internet…) rendant
ainsi les interactions plus faciles et accessibles. L’arrivée des nouvelles technologies
numérisant les échanges et les contenus a apporté plus de flexibilité mais également un
florilège de technologies facilement accessibles et personnelles. En fait, on peut dire que
l’utilisateur dispose maintenant d’une «bulle de communication», individuelle, personnelle,
avec différentes possibilités pour communiquer tels que téléphone fixe, téléphone mobile,
fax, messagerie électronique, messagerie instantanée. En s’affranchissant de problèmes
spatiaux et temporels. Mais il ne faut pas oublier que c’est la même personne qui le matin
est abonné entreprise et le soir abonné résidentiel. Même parfois, il porte les casquettes
alternativement soit à son domicile soit à son lieu de travail. C’est pourquoi nomadisme et
ubiquité sont désormais intégrés dans les usages et les comportements.
En conclusion, pour résoudre la « mobilité de l’utilisateur », nous devons gérer cette
joignabilité à travers la connaissance de son parc de terminaux et de sa localisation pour
qu’il puisse, dans toutes les occasions (lieu et temps), indépendamment des terminaux
utilisés être accessible. Nous devons également tenir compte des préférences et de la
QoS demandée afin d’organiser de façon transparente et sans couture les changements
de ressource suite à ce type de mobilité.
Mobilité de service
L’augmentation massive des besoins de service a conduit ces dernières années les
opérateurs de télécommunications à prendre en compte de plus en plus sérieusement la
préparation des offres de service dans leurs stratégies. De plus, les opérateurs
s’intéressent au développement de service prêt à être lancée sur le marché avec un TTM
minimum et un ROI le plus rapide. En considérant les services existant et les
13 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
concurrences entre les différents opérateurs, la transorganisation devient un verrou à
lever. Ce dernier introduit la notion de la « mobilité de service ».
En fait, si l’on traite cette mobilité à travers une vraie transorganisation avec
l’hétérogénéité du paysage du monde Télécom, nous devons repenser l’architecture.
Cette architecture doit tenir compte des aspects de services composables provenant de
plusieurs fournisseurs et du contexte ubiquitaire.
Pour l’instant nous trouvons (Figure 10- gauche) principalement des architectures
orientées « client-serveur », c’est-à-dire des architectures verticales et monolithiques. Or
la prise en compte de la mobilité de terminal peut impacter la QoS de bout en bout. Donc,
si on veut offrir l’accès au service de n’importe où, il faut pouvoir offrir le même service
dans la zone de présence de l’utilisateur. L’architecture devient alors de type horizontal
(Figure 10-droite) avec des propriétés d’ouverture.
Figure 10: mobilité de service
Ce que préconise ce schéma, c’est une couche indépendante qui supporterait la
composition de service comme nous le verrons plus tard. Cette composition de service
permettrait de répondre à tous les besoins de notre « User Centric ».
Grâce à cette vision de service, la virtualisation des services, la mutualisation de services
et le support de la décision flexible sont possibles. La mobilité de service peut donc être
supportée.
Mobilité de session
La prise en compte des mobilités lance un défi important pour maintenir les sessions sans
coupure.
Dans le domaine de télécommunication, la notion de « session » est une succession
d’interactions entre les deux extrémités du transport. Les services de transport sont des
services de communication point à point, c'est-à-dire avec deux interlocuteurs. Une
session est définie comme un ensemble d’échanges point à point avec un interlocuteur
engagé dans la mise en relation. Mais le modèle référentiel OSI (Open Systems
Interconnection) doit convenir s’étendre aux communications multipoints.
Dans le domaine d’IP, session est définie comme la connexion logique entre les parties
impliquées dans une communication basée sur PS (Packet Switched). Ce terme est utilisé
pour les connexions IP. Dans le cas des «sessions Web» notamment, le terme «session»
désigne une connexion de niveau application, voire un contexte partagé par plusieurs
connexions de niveau application sans support protocolaire. C'est un usage dérivé des
systèmes d'exploitation.
14 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Il y a des sessions proposées entre différentes entités du réseau. Par exemple, la session
de la carte UICC (UMTS Integrated Circuit Card) à partir d’un terminal. La séquence de
commandes reliées est livrée à cette carte, à partir de laquelle nous obtenons les
réponses. Une application commence par la sélection et se termine par la fin de la session
de la carte. Dans la session de la carte, il y a la session du canal, qui est là pour échanger
les requêtes et les réponses entre la carte et l’entité externe dans le réseau. Au niveau de
l’accès, il y a la session GPRS qui couvre l’attachement GPRS. Pour le mode PS, la
session IP-CAN concerne l’association entre UE et réseaux IP. Avant l’entrée du monde
IP, pour la session du domaine de PS, il y avait la session PDP pour l’échange des
contextes PDP qui indiquent les profils de QoS jusqu’au GGSN.
TISPAN (Telecommunications and Internet converged Services and Protocols for
Advanced Networking) définit une session multimédia multicast entre des expéditeurs et
récepteurs, contenant les flux de données. Elle est supportée par les réseaux NGN (Next
Generation Network) et les connectivités IP.
IMS (IP Multimedia Subsystem) fournit une couche intermédiaire pour passer du mode
appel classique (circuit) au mode session. Un utilisateur peut ouvrir plusieurs sessions
multimédia IP au cours d'une même communication. Par exemple rajouter une session de
chat à de la vidéo, envoyer une photo pendant la conversation.
Par ailleurs, TINA (Telecommunications Information Networking Architecture) introduit
trois types de session (Figure 11): la session d’accès, la session de service et la session
de communication pour identifier les différents acteurs intervenant dans le service
demandé par l’utilisateur.
Figure 11 : Définition de sessions dans TINA
La session d’accès est un environnement pour garantir l’association entre les objets
définis. Elle couvre les objets ainsi que les interactions nécessaires pour la création et la
gestion de la session service.
La session de service (Figure 12) est un environnement pour un service spécifique, elle
relie un utilisateur (résidant dans le contexte d’un terminal) et un fournisseur de services
sur le réseau.
15 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 12 : Session service
Cette session permet de véhiculer la signalisation à destination des services. Une
session de services peut déboucher, dans le cadre de l’exécution de certains services,
à l’établissement d’une session d’information au dessus de la session de services,
correspondant à un flux d’information entre une source d’information et un récepteur.
C’est par exemple le cas pour des services à base de transfert de fichiers (FTP).
La session de communication représente la relation existante entre le terminal de
l’utilisateur et le réseau. L’existence d’une telle session assure à l’utilisateur la
possibilité de communiquer avec le réseau, ce qui lui permet le cas échéant d’ouvrir
une session de services.
En conclusion, la session est toujours la mise en relation temporelle, concernant un
service dédié. Des spécifications récentes sont proposées pour la redéfinition de
session de bout en bout et multi services. Plus précisément, en rajoutant un appel
basé sur le circuit à la session d’IMS, la session de bout en bout devient une session
combinée entre deux utilisateurs. Dans ce cas là, les instances de services individuels
sont orientées par un UE de l’utilisateur A et se terminent dans un autre UE de
l’utilisateur B.
Par ailleurs, le protocole SIP fournit une transparence de redirection du service vers un
autre terminal par « SIP Registrer » et « Location Services Server ». Ces composants
maintiennent tous les terminaux possibles liés à un utilisateur et les adresses
permanentes et provisoires de chacun de ces terminaux. SIP est un support qui nous
permet, entre autre, d’avoir une vision de tous les équipements qui sont autour d’un
utilisateur et d’avoir la possibilité de choisir la destination pour un utilisateur.
Mais si l’on veut prendre en compte les besoins de NGN, notamment les impacts de
toutes les mobilités, il nous reste à traiter le dernier tronçon de la mise en relation c'est-àdire, la prise en compte de la mobilité de service. Surtout qu’un ensemble de sessions
parallèles (une par application) ne permet pas d’avoir une vision « User Centric ».
En effet, pour l’instant la « mobilité de session » n’est proposée que du côté des
terminaux et du réseau, avec un handover BBM (Break-before-make), dans le cas « avec
couture ».
Le handover BBM coupe le raccordement existant avant d’en établir un autre, donc avant
que la transmission avec le nouveau point d’accès soit établie.
Par contre, le « sans couture » demande un handover MBB (make-before-break) qui fait le
nouveau raccordement avant de couper celui qui existe.
Évidemment, les utilisateurs ne sont pas disposés à accepter la dégradation de la qualité
de service, de la sécurité et des capacités. Si on veut faire de la qualité de service de bout
en bout, il nous faut aussi avoir un « handover de service » avec une continuité de service
et une certaine flexibilité pour couvrir toutes les mobilités en même temps.
1.2. Les éléments d’évolution
Les éléments d’évolution sont de plusieurs natures. Nous avons ceux relatifs au contexte
(§1.2.1) de mise à disposition d’outils de traitement. Puis vient ensuite l’évolution des mise
16 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
en relation, des liens télécoms (§1.2.2). L’évolution de l’organisation de ces composants
de traitement et de leur interconnexion conduit à une évolution des architectures (§1.2.3)
qui induit un changement dans la conception (§1.2.4) de ces mêmes composants. Pour
terminer, l’objectif de convergence (§1.2.5) finit par concerner tous les éléments de notre
nouveau paysage.
1.2.1 Evolution du contexte
Pour bien comprendre la notion de « User Centic », il nous faut la positionner par rapport
à « System Centric », « Network Centric » et « Application Centric ».
« System Centric » (Figure 13) est basé sur OS (Operating System) supporté par le
hardware où il est installé. Les applications tournent parallèlement dans cet OS grâce
au Compilateur C’est le Compilateur qui fait la traduction et l’optimisation statique pour
avoir une meilleure exécution de service. Si l’utilisateur a besoin d’une application qui
n’existe pas dans le système, les algorithmes associés sont obligés d’être traduits par
le Compilateur.
Il est à noter que pour éviter les re-traductions pour une application à cause des
changements des OS, VM (Virtual Machine) (Figure 13- droite) est proposé comme un
middleware pour cacher l’hétérogénéité des OS. Grâce à cette couche intermédiaire,
les applications développées n’ont besoin que d’une seule Compilation pour être
utilisées sur n’importe quel OS.
Figure 13: System Centric
Par contre, « Application Centric » (Figure 14) se concentre sur l’application et la
considère comme le point de départ et le système est contingenté par l’application.
Dans un système « Application Centric », le programme est chargé en premier, le
Compilateur s’exécute en temps réel pour une adaptation de l’OS. Pour l’aspect
architectural, la capacité de calcul parallèle est demandée.
Hardware
OS
Compiler
Application
Figure 14: Application Centric
« Network Centric » (Figure 15) implique que les infrastructures du réseau soient au
cœur de l’architecture, elles conditionnent toutes demandes de services.
L’hétérogénéité du réseau impose des solutions différentes pour un service
demandé à travers un support de connexion. Les communications peuvent être
17 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
parallèles mais des technologies de handover sont nécessaires pour passer d’un
réseau à l’autre.
Figure 15: Network Centric
Avec une approche « User Centric » (Figure 16) c’est l’utilisateur qui conditionne le
système, la personnalisation des services qui doit être mise en œuvre, à travers une
connexion temporelle avec le système, c'est-à-dire, à travers une session unique que
l’utilisateur désire établir dynamiquement à travers les accès offerts durant ses
déplacements selon ses préférences et selon la QoS (Quality of Service) désirée. Le
principal impact de cette approche est que le système complet est « au service » de
l’utilisateur contrairement aux autres approches où l’utilisateur doit se plier aux différentes
contraintes de traitement (System Centric) ou de connexions (Network Centric).
Figure 16: User Centric
1.2.2 Evolution des Télécoms
Comme le montre la Figure 17 , les mises en relation sont passées d’une relation de N
utilisateurs vers une unité de traitement centralisée, vers des organisations décentralisée
où chaque utilisateur possède son unité de traitement. Puis devant les problèmes de
synchronisation des applications et de consolidation des données, nous sommes passés
dans une structure distribuée où l’utilisateur a plusieurs moyens d’accès à son
environnement. Les mises en relation d’aujourd’hui sont de type N à N car notre utilisateur
à plusieurs rôles. Il peut être utilisateur, client, collaborateur, etc.
18 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 17: Evolution des Télécoms
1.2.3 Evolution des architectures
Une architecture est une structure d’ensemble pour obtenir les propriétés désirées. C'està-dire que la structure est porteuse de la sémantique des objectifs à atteindre. C’est
pourquoi, dans un couplage fort entre l’utilisateur et chacune de ses applications, nous
avions et avons encore des architectures spécifiques répondant aux propriétés de chacun
des flux applicatifs. Ces architectures sont dites verticales par opposition à celles que
nous devons mettre en place où le lien avec l’application devient lâche, puisque cette
application n’est plus monolithique mais est le résultat d’une composition d’éléments de
service. Nous pouvons résumer cette évolution (Figure 18) dans le Tableau 1 ci-dessous.
Architecture verticale
Architecture horizontale
Client serveur
Distribuée
Un fournisseur
Plusieurs fournisseurs
Plusieurs liens de services
Un lien de services
Couplage fort
Couplage lâche
Tableau 1: L’architecture verticale versus architecture horizontale
19 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 18: Evolution des architectures
1.2.4 Evolution de la conception
Cette évolution (Figure 19) est capitale car elle impacte l’aspect fonctionnel et
informationnel. En effet au niveau de la conception, on est passé de l’orientée traitement
qui produisait des applications séquentielles et monolithiques d’où les architectures en
silos, à l’orientée objet. Les architectures furent distribuées mais la structuration objet
induit des liens forts. C’est pourquoi nous nous orientons vers la notion de service qui
préconise des liens lâches. Donc le périmètre fonctionnel de notre service se définit par
rapport à des spécifications d’utilisation indépendamment des enchainements. Ainsi les
spécifications de production peuvent reposer sur plusieurs technologies différentes pour
un même rendu.
Figure 19: Evolution de la conception
Pour l’aspect informationnel, on passe d’une approche fichier, base de données
(BdD) à une approche modèle informationnel (MI) et base de connaissance afin
d’avoir des données décisionnelles (BdC).
1.2.5 Evolution de la convergence
Le mot convergence (Figure 20) réunit en fait deux convergences : celle des réseaux
et celle des services.
La convergence de réseau désigne la possibilité d'offrir les mêmes services à partir
de différents réseaux d'accès. Par exemple, le même service de téléphonie peut être
20 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
utilisé à travers un accès ADSL ou un accès mobile 3G. C’est ce que nous trouvons
sous des appellations comme "convergence fixe-mobile" ou "convergence
voix/données"
Figure 20: Evolution des convergences
La convergence de services désigne l'intégration de services différents (différentes
fonctionnalités, voire différents fournisseurs) au sein d'un même environnement de
service, à l'initiative de l'utilisateur, ces services pouvant alors partager certains
attributs et coopérer entre eux. Par exemple, dans un tel environnement, l'utilisateur
peut avoir souscrit à un service de téléphonie et à un service de webmail qui
partageront tous deux le même carnet d'adresse contenant à la fois les numéros de
téléphone et les adresses email. Ou alors, l'état de présence d'une personne, captée
par un service de présence, peut être un critère pour le déclenchement d'un renvoi
d'appel. Lorsqu'un nouveau service est ajouté à l'environnement d'un utilisateur, ce
service coopérera avec les services existants. Mais cette convergence de services
va maintenant jusqu’à intégrer les services IT (de type billing) et les services Web.
Effectivement, un service IPTV, au-delà du transfert du média, il faut intégrer des
services de découverte, de sélection et du billing on line pour des vidéo à la
demande (VoD).
Cette convergence de service peut être réalisée indépendamment de la convergence
de réseau, comme on peut le constater avec les services Internet. Des fournisseurs
de services comme Google offre déjà des services user-centric. Le mail (gmail),
l'agenda (google agenda) et la communication instantanée (google talk) sont
capables de coopérer afin de fournir un environnement de service unifié à
l'utilisateur.
Mais notre but dans UBIS c’est de combiner la convergence de services et la
convergence de réseaux quelque soit le type de service demandé.
21 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
2. Le quoi
Ce que nous venons de décrire se représente et se résume sur le schéma suivant la
Figure 21, avec une vision User Centric qui tient compte des préférences, de l’agenda et
de la localisation de l’utilisateur :
Figure 21: Le quoi : Contexte et Périmètre
Ce nouveau contexte englobe donc :
• Le futur Internet, Internet des services, les réseaux et services ambiants
• La coopération entre réseaux hétérogènes
• La convergence fixe-mobile (Réseaux)
• La convergence des services (Telco, Web, IT)
• La convergence des trois plans (interfaces)
• La gestion autonome et automatique
• La gestion du contexte
2.1. La nouvelle vision :
L'utilisateur est donc métaphoriquement au centre d'un écosystème de services. Nous
avons nommé cette nouvelle vision (Figure 22) "user-centric".
22 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 22: Nouvelle Vision
Nous avons structuré en quatre niveaux de visibilité notre monde UBIS :
- le niveau de l’utilisateur avec un environnement de « seamless Userware » lui
permettant d’accéder au système à travers n’importe quel terminal et même de changer
de terminal durant la même session.
- Le niveau Réseau d’accès, sachant que nous avons déjà la convergence à ce niveau.
- Le niveau Réseau cœur
- Le niveau Service pour lequel nous préconisons la convergence.
Les enjeux stratégiques de cette nouvelle vision reposent sur les deux piliers que sont le
TTM (Time To Market) le RoI (Return on Investisment).
2.2. Définition d’une architecture
Une architecture est une structure d’ensemble ;
Elle définit des règles de composition du système et de coopération des composants, à des
fins de transparence pour l’utilisateur.
Une cohérence parfaite des différentes parties du réseau et une grande modularité sont
nécessaires, car chaque partie doit pouvoir être modifiée ou remplacée sans affecter les
autres.
Une architecture s’analyse selon deux aspects :
• Une architecture physique qui repose sur l’organisation, le dimensionnement et
l’interconnexion des composants matériels ainsi que sur une topologie à des fins de
configuration optimisée à des coûts appropriés.
• Une architecture logique, fonctionnelle qui rend un service à travers des entités
logicielles distribuables et migrables.
Une architecture se décline en trois plans :
• Plan usager pour le transfert des données utilisateur ;
• Plan de contrôle pour la signalisation ;
• Plan de gestion pour les transferts de données d’administration.
23 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Une architecture se compose de trois axes de gestion :
• La gestion du nœud l’équipement ;
• La gestion du flux ;
• La gestion du service.
Figure 23: Modèle générique au niveau d’un nœud de l’architecture
Ce modèle générique (Figure 23) permet de représenter l’ensemble des éléments
définissant l’architecture. En particulier nous avons les trois plans et les trois axes de
gestion.
2.3. L’ingénierie des architectures
Afin de faire face aux évolutions que nous avons identifiées, il nous faut des solutions qui
considèrent l’architecture globale. En effet, on peut noter que les solutions du niveau
réseau d’acheminement étudient l’évolution de l’infrastructure des plates-formes de
connectivités (UMTS, xDSL, IP/MPLS, etc.) et les problématiques de QoS qui en
découlent (différentiation des flux, routage, réservation de ressources réseau, etc.) en ne
considérant que ce niveau réseau et le bout en bout transport. Or il nous faut intégrer le
niveau service pour répondre aux besoins de réactivité et de flexibilité exigés par les
architectures d’aujourd’hui pour deux raisons :
La première raison est que l’organisation de l’architecture est faite de manière « overlay »,
c'est-à-dire que les deux niveaux coexistent sans interaction dynamique entre eux.
La deuxième raison est que le développement des services dépend d’une pile protocolaire
pour chaque nouveau service, c’est-à-dire que pour chaque nouveau service, une pile
protocolaire est développée. Cette solution (architecture verticale) n’est plus viable à
l’heure des services personnalisés où chaque utilisateur peut définir son propre service.
Dans un tel environnement, la variété de services proposés peut être très importante et le
cycle de vie des services peut être très court.
Pour répondre au besoin d’optimisation du Revenu Moyen par Utilisateur (ARPU), les
opérateurs et fournisseurs de services doivent avoir les moyens leur permettant d’évaluer
24 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
les impacts d’un niveau architectural (réseau, service, etc.) sur l’architecture globale, afin
de faire face à l’évolution rapide des besoins à travers une rapidité de déploiement de
nouveau services à valeurs ajoutées et la fourniture de ces services conformes aux
attentes des utilisateurs (QoS de bout en bout).
Cette vision nécessite l’intégration de l’architecture des fournisseurs de service à tous les
niveaux (les équipements matériels, le réseau de transport, les plates-formes de services RI, OSA, SIP AS, etc.- et les plates-formes de prise en charge de la personnalisation des
services), et à toutes les vues, à savoir : l’intégration verticale, c’est-à-dire, qu’une
décision ne peut être prise à un niveau sans une cohabitation avec les autres niveaux et
sans pouvoir évaluer les impacts d’une telle décision sur les autres niveaux et notamment
sur la perception des usagers finaux (QoS de bout en bout), et l’intégration horizontale,
c’est-à-dire, que sur un niveau donné, quelque soit les sous-domaines traversés
(exemple, pour le niveau réseau de transport, les sous-domaines peuvent être des sousréseaux dans le sens adressages, des zones de routage dans le sens routage intradomaine, des systèmes autonomes dans le sens routage inter-domaines, ou simplement
une juxtaposition de réseaux hétérogènes (IP, ATM, Wifi, etc.)), une coopération de ces
sous-domaines doit être maintenue afin que la QoS (horizontale) de ce niveau soit
respectée.
L’objectif global est de donner des clés à cette problématique en mettant en œuvre un
concept d’intégration globale des architectures de télécommunications en incluant tous les
acteurs superposés de la chaîne de bout en bout : équipements matériels, le réseau de
transport, les service et les usagers de ces services. Nous avons baptisé ce
concept « Ingénierie d’Architecture » qui se base sur des modèles de cohabitation et
coopération pour rendre cette superposition la plus transparente et réactive possible aux
nouveaux besoins qui régissent le monde des télécommunications aujourd’hui,
notamment les besoins aux nouveaux services personnalisés et à valeurs ajoutées qui par
conséquent nécessitent le maintien de la QoS de bout en bout tout au long de leur cycle
de vie.
Nous parlons de cohabitation pour une intégration verticale, afin d’assurer la consistance
de la structure d’ensemble, c’est-à-dire, que la superposition des blocs architecturaux
entre les niveaux soit fonctionnellement complémentaire et non redondante pour la QoS
de bout en bout, l’objectif étant d’automatiser les processus de déploiement de nouveaux
services et traduire leurs besoins en QoS. Notre approche repose sur deux principes :
principe de la déclinaison de la QoS et principe de l’agrégation de la QoS.
La déclinaison de la QoS fait référence au processus d’analyse de l’architecture globale
de haut en bas (top-down) en visant deux objectifs :
•
•
o
trouver une solution pour une QoS de bout en bout,
o
maintenir la cohérence de la structure d’ensemble.
L’agrégation fait référence au processus d’analyse de l’architecture globale de bas en
haut (bottom-up), c’est à dire les couches supérieures doivent recevoir des informations
de rétroaction des couches inférieures afin que les niveaux supérieurs s’assurent du bon
déroulement de la déclinaison et éventuellement relancer le processus de déclinaison
suivant ces informations de rétroaction.
Nous parlons de coopération pour une intégration horizontale, pour superviser et évaluer
en temps réel la QoS offerte à travers les différents « sous-réseaux » (domaine)
constituant le niveau horizontal (équipement, réseau, service ou usagers). Chaque
domaine est autonome, c’est-à-dire, responsable de la supervision de sa propre QoS
(SLA entre domaines).
Ce concept d’Ingénierie d’Architecture à travers la cohabitation et la coopération permet
de prendre en charge l’architecture des opérateurs et fournisseurs de services de
25 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
télécommunications, ainsi que l’introduction de nouveaux services et le maintien de la
QoS de bout en bout.
Mais, comment structurer ce niveau de service applicatif ? Pour ce faire nous allons
d’abord analyser l’existant.
2.4. Les architectures de service : analyse de l’existant
Dans la communauté de télécommunication, quelques acteurs ont développé une vision
plus prospective d'une prochaine génération des services, souvent représentée par le
terme « convergence ». Comme nous l’avons mentionné dans l’introduction, cette vision
unifie réellement deux genres de convergence qui devraient être distingués : convergence
de réseau et convergence de service. La convergence de réseau est l'essence du modèle
architectural du NGN ; elle vise à fournir les mêmes services par les différents réseaux
d'accès. Par exemple, le même service de téléphonie pourra être utilisé en se basant sur
un réseau d'accès câblé « ADSL » ou par un réseau mobile d’accès 3G. Cette
convergence de réseau a été métaphoriquement décrite comme un déplacement d'une
architecture verticale (où l’accès au réseau, le contrôle du réseau, et le contrôle de service
sont fermement liés) à une architecture en couches (où l’accès au réseau, le contrôle de
ce réseau, et le contrôle des services sont faites dans des couches indépendantes). Le
contrôle unifié de services fournit une interface aux applications. Cette interface pourrait
être un protocole (typiquement SIP) ou une interface applicative (API), comme dans le cas
de l’architecture Parlay/OSA (Open Service Architecture), ou bien un ensemble de
spécifications appelées « Enablers » comme dans le cas de l’architecture OMA (Open
Mobile Alliance). En effet, dans toutes ces architectures qu’on a cité ci-dessus, c’est
l’approche Telco (§2.4.1) qui apparait.
D’autre part, une deuxième approche existe, c’est l’approche Web (§2.4.2). En fait, elle
vise l’établissement et la maintenance en ligne de connexions plus fluides, plus flexibles et
plus riches entre les personnes, les services et/ou l'information. Spécifiquement, ces
connexions améliorées peuvent être créées et maintenues entre deux ou plusieurs
personnes, entre deux ou plusieurs ordinateurs et organisations fournissant des services
en ligne, ou entre des individuels et le contenu numérique et informationnel qu’ils créent,
manipulent et enregistrent.
En effet, il y a plusieurs architectures qui utilisent cette approche Web et qui assurent la
communication avec les utilisateurs, les opérateurs tiers et les 3rd parties en utilisant les
API Web Services comme dans le cas du Parlay X, ou bien les Web Services lors de la
création d’un processus métier.
Dans ce qui suit, on va présenter les différentes architectures de services selon ces deux
approches Telco et Web 2.0, ainsi que l’approche SOA recommandée par le monde de
l’IT (§2.4.3). La présentation de ces différentes architectures de services nous permettra
de proposer une solution pour l’architecture de services.
2.4.1 Les architectures Telco
Ce sont les architectures télécoms qui proposent des interfaces pour faciliter l’introduction
de composants de services, telles que celle du RI (§2.4.1.1), de Parlay/OSA (§2.4.1.2), de
Parlay X (§2.4.1.4), d’OMA (§2.4.1.4) et la dernière en date IMS (§2.4.1.5).
2.4.1.1 RI
Dans les années 1990, l’idée que le réseau téléphonique ne pouvait fournir que les
services qui étaient programmés dans le logiciel des unités de contrôle des commutateurs
26 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
devenait intolérable. Un nouveau concept se développa, celui du Réseau Intelligent (RI). Il
s’agit de trouver un moyen de rendre le réseau plus coopératif pour pouvoir programmer
plus rapidement et plus commodément des services dans des plates-formes extérieures
aux centraux téléphoniques.
Une première norme, développée par le laboratoire américain Bellcore, est publiée en 1990
sous le nom Advanced Intelligent Network (AIN). Cette norme est reprise et remaniée par
l’UIT (Union internationale des télécommunications). Elle est publiée en 1992 sous le nom
d’Intelligent Network (IN). L’industrie informatique, qui voit là un moyen de prendre pied
dans le monde des télécommunications par l’intermédiaire des plates-formes de services,
s’intéresse beaucoup à l’élaboration de cette nouvelle norme. Dans beaucoup de pays, en
particulier dans les pays en voie de développement, la Killer application (application à
succès phénoménal) des réseaux intelligents pour le grand public est réalisée par les
services prépayées qui évitent les surprises de facturation en fin de mois. Ces services
sont d’abord développés pour le réseau mobile. Pour ce faire, l’ETSI (European
Telecommunication Standards Institute) publie une nouvelle norme de réseau intelligent
adaptée aux nécessités du réseau mobile sous le nom de CAMEL (Customized
Applications for Mobile Enhanced Logic).
Après avoir introduit le concept du réseau intelligent, il faut maintenant le définir. En effet,
le RI est une technologie, basée sur un mécanisme de substitution du traitement d’appel
« par défaut » du commutateur par un autre traitement exécuté dans une plate-forme de
service. Nous disons ainsi qu’un réseau est intelligent, s’il est possible de substituer à la
séquence de connexion par défaut des commutateurs (service POTS), une autre séquence
programmée dans une autre plate-forme dite plate-forme de services appelée aussi SCP
« Service Control Point ».
Il découle de cette définition qu’un service se déclenche à partir du processus d’appel. La
technique « réseau intelligent » ne s’adresse donc pas à n’importe quel type de service,
elle ne s’adresse qu’à des services qui ne peuvent être réalisés que par le réseau et plus
précisément que par une séquence d’actions élémentaires qu’un commutateur peut
réaliser.
Pour créer des normes, les concepteurs du RI ont proposé un modèle dit « modèle
conceptuel » (Intelligent Network Conceptual Model, INCM) destiné à représenter un
ensemble de sujets devant être normalisés. Il est constitué de quatre plans où chacun
représente un type de sujet nécessitant d’être normalisé.
Le plan service décrit une vue qui ne prend en compte que les services. Le service est
décrit en langage naturel. Il consiste en un ou plusieurs éléments de service (FE, Service
Feature) dont chacun est un composant de service correspondant à une partie du service
ou au service lui-même. Cela signifie qu’un élément de service peut lui-même être un
service, c.à.d. correspondre à une offre commerciale. Généralement, un élément de
service est indépendant d’un service donné. Cela est le cas par exemple du service
d’authentification.
Le plan fonctionnel global donne une méthode formelle pour décrire le service de manière
non ambiguë. Selon cette méthode, le service est décrit par un enchaînement logique
d’éléments de description (ou composants) formels réutilisables (éléments de description
indépendants du service) appelés Service Independent Building Blocks SIB. En effet, au
cours de l’appel normal appelé BCP (Basic Call Process), le service du réseau intelligent
(traitement substitutif) peut démarrer à un point de débranchement de l’appel normal
appelé POI (Point Of Initialization). Ce service sera décrit par une suite de SIB. Il y aura un
ou plusieurs point de retour possibles vers l’appel normal, appelés POR (Point Of Return).
Cette suite de SIB obéit à la logique globale de service GSL (Global Service Logic).
Un SIB n’est pas un programme, c’est une description formelle d’activités (un opérateur)
agissant sur des données (des opérandes). Les SIB définissent une activité complète avec
un point de départ logique et un ou plusieurs points d’arrivées logiques. Les SIB doivent
théoriquement être réutilisables d’un service à l’autre et permettre de décrire tout service
ou toute fonctionnalité de service.
27 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Treize SIB ont été définis : algorithm, charge, compare, distribution, limit, log, queue,
screen, service data management, status notification, translate, user interaction,
verification. A ces treize SIB, on doit ajouter le BCP considéré également comme un SIB.
Le plan fonctionnel réparti définit une architecture fonctionnelle d’exécution de service,
c.à.d. des fonctions logicielles appelées « entités fonctionnelles » constituant un
environnement d’exécution de tout type de service défini en conformité avec les méthodes
spécifiées dans les plans supérieurs. Les points de déclenchement et la signalisation INAP
(Intelligent Network Application Part) font également partie de la description de ce plan.
En effet, une entité fonctionnelle est un groupe spécifique de fonctions localisées dans un
même emplacement et constituant un sous-ensemble de toutes les fonctions nécessaires à
la fourniture d’un service. Du point de vue de la répartition des entités fonctionnelles dans
les entités physiques (du plan physique), il est à noter qu’une entité fonctionnelle
correspond entièrement à une entité physique spécifique et ne peut donc être répartie sur
plusieurs entités physiques. En revanche, des entités fonctionnelles différentes peuvent
être regroupées sur une même entité physique. De plus, toute interaction entre deux
entités fonctionnelles qui communiquent entre-elles est appelée « flux d’information ». Les
relations entre entités fonctionnelles sont donc définies par des flux d’information qui sont
normalisés.
L’architecture fonctionnelle d’exécution de service du RI est indiquée sur Figure 24. Dans ce
diagramme, on trouve deux types d’entités fonctionnelles : celles qui sont relatives à
l’exécution des services et celles relatives à la création et la gestion des services.
Figure 24 : Architecture fonctionnelle du réseau intelligent
Les fonctions relatives à l’exécution des services sont les suivantes :
• CCAF (Call Control Agent Function) représente le traitement d’appel d’un PABX
RNIS qui traite la signalisation avec la CCF et qui assure une exploitation de type
PABX à l’utilisateur ;
• CCF (Call Control Function) est la fonction de contrôle d’appel. Il s’agit du logiciel
de traitement d’appel des commutateurs ;
• SSF (Service Switching Function) est la fonction de commutation de service. Elle
détecte que les critères de débranchement vers un service substitutif sont vérifiés.
Cette entité assure l’ensemble des fonctions nécessaires à l’interaction avec les
entités CCF et SCF en particulier la détection des points de déclenchement du
service (d’appels à la SCF) et l’interprétation des commandes de la SCF. En effet,
28 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
dans le cas du réseau IMS relié aux applications du réseau intelligent, on parle
d’IM-SSF (IP Multimedia Service Switching Function) qui est équivalent au SSF.
• SCF (Service Control Function) est la fonction de commande de service. Elle
réalise le traitement d’appel substitutif pour les demandes de services RI. Elle
dispose de la logique et de la capacité nécessaires au traitement des services RI ;
• SDF (Service Data Function) est la fonction « données de service ». Elle regroupe
les données utilisateurs et réseau auxquelles la SCF doit accéder en temps réel
pour l’exécution d’un service RI ;
• SRF (Specialized Resource Function) est la fonction ressource spécialisée. C’est
la fonction de contrôle des ressources spécialisées (essentiellement des serveurs
vocaux) nécessaires à l’exécution des services assurés par le RI (réception de
chiffres, passerelles, etc.).
Les fonctions relatives à la gestion/création des services sont les suivantes :
• SMF (Service Management Function) est la fonction gestion de services. Elle
permet l’installation puis l’exploitation et la surveillance de services RI ;
• SMAF (Service Management Access Function) est la fonction agent d’accès de
service. Elle assure l’interface entre le personnel chargé de la gestion de services
et l’entité SMF ;
• SCEF (Service Creation Environment Function) est la fonction environnement de
création de services. Elle permet de définir, créer et tester des services assurés
par le RI puis de les transférer dans l’entité SMF.
Le plan physique du modèle conceptuel du RI décrit des scénarios pour implanter des
différentes entités fonctionnelles du plan fonctionnel réparti dans des machines physiques.
Le plan physique correspond donc à l’architecture matérielle d’un réseau structuré en RI.
La technologie réseau intelligent a eu un immense mérite : c’est la première tentative pour
mettre fin au modèle monolithique des commutateurs. Pourtant, cette avancée géniale n’a
pas porté ses fruits. La raison principale est la difficulté à introduire des nouveaux
concepts, compréhensibles de tous (surtout des développeurs) et propageables dans des
environnements où les technologies en vigueur ont la peau dure. Une non maîtrise des
concepts est source d’obstacles à leur mise en œuvre.
En effet, en analysant les normes du RI, on peut pointer du doigt deux écueils. Celui d’une
mauvaise définition des éléments de services du plan service et celui d’une utilisation non
adéquate du SIB.
Les éléments de service ont certainement été les plus mal lotis. La norme les cite presque
à titre d’exemple, sans définir les règles de structure, ni celles de composition de service.
C’est ainsi que nous avons été très vite confrontés « à l’interaction de ces services ». Or,
puisqu’aucun modèle d’information n’a été évoqué, la place était laissée à l’imagination et
donc aux problèmes d’interfonctionnement et de portabilités des composants.
Pour les SIB, on peut constater que devant la complexité du problème, les industriels
prirent de grandes libertés avec les normes. Au bout d’un an, il était courant de trouver
des réalisations avec quatre-vingt-dix SIB au lieu des treize initiales.
En fait, le plan fonctionnel global doit permettre l’expression de la logique de service. Donc
un SIB doit représenter « l’opérateur » permettant l’enchaînement. C’est un automate qui
exécute une opération logique. Ce n’est pas l’opérande, ce n’est pas la donnée qui
intervient dans l’opération. De plus, selon son nom « Service Independent building
Blocks », il ne faut pas prendre les SIB pour des blocks au sens composants de service,
car ce qui est important, c’est le mot building qui reflète le rôle des SIB dans la
construction des blocks de service. Si on va prendre les SIB pour des composants de
services, bien sûr que treize c’est peu.
Néanmoins, le réseau intelligent nous a fait rentrer dans l’ère des services.
Dans la suite, on va décrire les autres architectures de services existants.
29 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
2.4.1.2 Parlay/OSA
Pour que les applications distribuées puissent être mises en œuvre, elles se basent sur
les services offerts par le réseau sous-jacent. Cependant, cela induit une forte
dépendance de l’application à son environnement réseau et à la façon dont les services
réseaux sont implémentés. Or de nos jours, il y a plusieurs types de réseaux d’accès et un
grand nombre de vendeurs et de fournisseurs qui vont utiliser et proposer leurs services.
Par suite, la diversification des environnements est le premier défi devant lequel se trouve
le monde des télécommunications.
D’autre part, de point de vue « Business », les fournisseurs, les opérateurs et les 3rd
parties se confrontent à des problèmes budgétaires qui sont fermement reliés à trois
points clé, le premier est les lacunes au niveau de la création de nouveaux services
innovants, le deuxième est le TTM « Time to Market » et le troisième est le ROI « Return
of Investment ». C’est trois éléments influencent fortement sur les revenus, d’où un
deuxième défi se pose au niveau « Business » du monde des télécommunications. De
plus, si on fait une enquête pour savoir le pourcentage des services développés par les
développeurs IT, on trouve une faible valeur. En effet, la plupart des services sont
développés par les grands experts de télécommunication. Cela mène vers une limitation
du nombre des services développés et par suite vers un troisième défi auquel se confronte
le monde de télécommunication.
Pour adresser ces différentes problématiques et pour résoudre ces défis, trois
organisations ont échangées leurs expertises et leurs points de vue. Ces organisations
sont le 3GPP (The Third Generation Partnership Program), l’ETSI (European
Telecommunication Standards Institue) et le groupe Parlay. Ce dernier est un consortium
de multi-vendeurs ayant différents profils (vendeurs de services Internet, développeurs de
logiciels, bureaux de services, vendeurs et fournisseurs d’appareils réseaux, …). Le travail
commun de ces trois organisations a permis l’apparition d’une solution appelée
« Parlay/OSA ».
C’est une architecture de services ouverts, basée sur un ensemble d’API ouverts,
sécurisés et standardisés. Ces API sont facilement utilisables, riches en terme de
fonctionnalités, et tiennent compte de l’innovation dans les entreprises. Ainsi, les
applications développées seront sources de nouveaux revenus pour les opérateurs
réseaux, vendeurs de logiciels et fournisseurs de services d’applications. Cela répond au
premier défi.
D’autre part, les APIs développés sont indépendants des technologies du réseau (CDMA,
GSM, …) et permettent par suite le développement de nouveaux services multi-réseaux et
multi-environnements. En effet, l’apport de l’architecture de l’OSA concerne aussi bien les
développeurs d’applications que les opérateurs de réseaux. Du point de vue des
opérateurs, elle permet aux applications d’accéder de manière extensible et ouverte aux
capacités de réseaux. Ainsi, les opérateurs peuvent introduire de nouvelles fonctionnalités
sans avoir besoin de modifier les applications existantes. Du point de vue des
développeurs, elle fournit un ensemble standardisé d’interfaces permettant d’accéder aux
mêmes fonctionnalités de réseau indépendamment des technologies de réseaux sousjacents. Elle assure ainsi la portabilité des applications sur des réseaux différents. Cela
répond bien au deuxième défi.
Quand au troisième défi, ces APIs permettent la jonction entre le monde des télécoms et
le monde des IT. Ce couplage fort entre ces deux mondes mènent vers le développement
de nouveaux services innovants, non seulement par les experts du monde de
télécommunications mais aussi les développeurs IT.
Selon le modèle organisationnel, OSA (Open Service Access) est un ensemble d’API
permettant la médiation (Interface sécurisée) entre les réseaux de télécommunications et
les applications des opérateurs, des fournisseurs de services, des 3rd parties et des
MVNOs (Mobile Virtual Network Operators). Ces APIs sont définis par le langage CORBA
(Ex. Call Control, Terminals capacity, Presence, User Interaction, Generic Messaging,
Mobility APIs, Data Session, Charging, Connectivity and Account Management, …).
30 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 25 : Modèle organisationnel du Parlay/OSA
En se référant à la Figure 25, on constate le rôle central que joue le Parlay/OSA SCS, qui
est une passerelle qui permet aux fournisseurs de services, aux MVNOs et aux 3rd parties
d’accéder aux applications et services internes offertes par l’opérateur propriétaire de ce
SCS. L’accès aux services internes se fait en utilisant les OSA APIs définis selon le
langage CORBA. Cela facilite la création de nouveaux services innovants en se basant
sur des services de base. Le Parlay/OSA SCS joue dans ce cas le rôle du courtier qui va
assurer l’interconnexion entre les services de base et les services exposables.
D’autre part, on voit clairement les deux fonctionnalités du réseau IMS, qui viennent se
relier au SCS à l’aide de leurs protocoles correspondants. En effet, le S-CSCF (Serving
Call Session Control Function) va jouer le rôle d’un registre qui va mettre à jour le HSS et
qui va télécharger les profils des usagers. Cette fonctionnalité accède à la passerelle en
utilisant le protocole SIP. En outre, le HSS (Home Subscriber Server) qui est une base de
données centralisée, va enregistrer les profils des usagers et les paramètres d’accès
sécurisé (Authentification et Autorisation). Le HSS communique avec la passerelle en
utilisant le protocole DIAMETER.
En fait, toutes les fonctionnalités du réseau IMS y compris ces deux, vont jouer un rôle
intermédiaire permettant aux utilisateurs selon leurs profils et selon les contrats signés
avec l’opérateur, d’accéder aux services internes offerts par cet opérateur tout en
passant par la passerelle SCS. Ce dernier va assurer le partage des ressources offertes
par le réseau IMS.
D’une manière plus architecturale et plus précise, on peut voir, d’après la figure 4,
comment les OSA APIs sont situées. De plus, les applications qui apparaissent dans
cette figure et qui reposent sur OSA peuvent aussi bien être des services à valeur
ajoutée que des services offerts par des fournisseurs tiers.
L’interface OSA est composée de deux ensembles d’entités :
• Les SCF (Service Capability Function) sont des interfaces CORBA standardisées
qui fournissent aux applications l’ensemble des fonctionnalités du réseau. Il existe
deux types de SCF. Les premiers sont de type framework et offrent des
fonctionnalités afin de supporter la gestion d’abonnement et l’enregistrement aux
fonctionnalités réseaux et de fournir les mécanismes d’accès sécurisé. Les
seconds sont de type service réseau et offrent l’accès aux fonctionnalités de
réseau (par exemple User Interaction, Terminal Capabilities, Charging, Call
Control, Policy Management, …).
31 / 80
Projet ANR Verso 2008 - UBIS
•
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Les SCS (Service Capability Server) sont des serveurs de fonctionnalité de
services qui jouent le rôle d’intermédiaire entre l’interface SCF et l’entité de réseau.
Ils traduisent les invocations sur les SCF aux événements sur les éléments de
réseau.
Figure 26 : Architecture du Parlay/OSA
De plus, d’après cette même Figure 26, on peut constater la présence des OSA APIs
internes qui permettent l’interaction entre les différentes SCF afin d’en tirer des nouvelles
fonctionnalités et de nouveaux services à valeur ajoutée. D’autre part, les OSA APIs
externes permettent l’accès des applications externes aux services et fonctionnalités SCF
internes d’un opérateur donné. De plus, les SCF qui sont un ensemble de classes
d’interfaces, accèdent aux ressources offertes par le réseau sous-jacent en passant par le
SCS et par suite par les fonctionnalités S-CSCF et HSS du réseau IMS.
Le framework spécifié par le groupe Parlay fournit des fonctionnalités diverses pour gérer
la personnalisation de l’accès aux services réseaux. Cette personnalisation est fournie par
une architecture fonctionnelle et des informations de gestion de l’abonnement.
En effet, on peut voir, d’après la Figure 27, que le framework Parlay comporte trois
interfaces distinctes, l’une avec l’application, la seconde avec le SCS et la troisième avec
l’opérateur d’entreprise, qu’on va détailler ci-dessous :
Figure 27: Le framework Parlay
Les mécanismes entre le framework et l’opérateur d’entreprise : elles représentent
l’abonnement de service. Cette fonction représente un accord contractuel entre l’opérateur
d’entreprise et le framework. Dans le modèle métier d’abonnement (Figure 28), l’opérateur
32 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
d’entreprise joue le rôle de souscripteur/client et les applications jouent le rôle
d’utilisateurs ou consommateurs de services. Le framework lui-même joue le rôle de
détaillant de services.
Figure 28 : Le modèle métier de l'abonnement Parlay
L’interface entre framework et SCS qui permet l’enregistrement des SCF : les SCF offerts
par un SCS peuvent être enregistrés auprès du framework. Dans ce cas, le framework
serait capable de renseigner les applications sur les SCF disponibles (découverte).
Les mécanismes de base entre framework et Application :
• Authentification : le modèle d’authentification d’OSA suit un modèle peer to peer,
sans imposer une authentification mutuelle. En effet, une fois qu’un accord (horsligne) existe, l’application peut accéder à l’interface d’authentification.
L’authentification doit obligatoirement précéder l’accès à n’importe quelle autre
interface d’OSA.
• Autorisation : elle consiste à déterminer les droits d’une application déjà
authentifiée.
• Découverte de framework et les SCF : après une authentification réussie,
l’application reçoit les interfaces framework disponibles. Elle peut utiliser l’interface
de découverte (discovery interface) afin de recevoir des informations concernant
les SCF auxquels elle a le droit d’accéder.
• Etablissement du contrat de service : avant qu’une application puisse interagir
avec un SCF, un contrat de service doit être établi. En effet, ce contrat est déjà
signé entre l’opérateur d’entreprise et le framework. En outre, le contrat de service
peut comprendre deux parties, une partie hors-ligne et une partie en ligne.
L’application doit signer la partie en ligne avant de pouvoir accéder aux SCF.
• Accès aux SCF : après l’accès au framework, ce dernier doit fournir des fonctions
de contrôle d’accès afin de permettre l’accès aux SCF ou aux services de données
et ceci, pour n’importe quelle méthode d’API d’une application.
Finalement, après toutes ces étapes, les applications pourront ainsi accéder aux
fonctionnalités du réseau et aux services internes de l’opérateur.
D’autre part, si on étudie le modèle et l’aspect informationnel du Parlay/OSA, on constate
qu’il est constitué de trois éléments essentiels :
33 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
•
Le contrat de service : une fois que la négociation entre l’opérateur d’entreprise et
le framework est achevée, ce dernier génère un contrat de service qui correspond
au contrat passé avec l’opérateur d’entreprise pour un service donné. Il contient
les conditions d’usage d’un service réseau.
• SAG (Subscription Assignment Group) : l’opérateur d’entreprise peut regrouper au
sein de l’entreprise l’ensemble des applications qui utilisent un même service
réseau de la même manière. Chaque groupe constitue un SAG.
• Le profil de service : il est assigné à un SAG pour un service donné (défini par
l’opérateur d’entreprise). Il constitue une restriction du contrat passé pour un
service. En effet, des SAG différents peuvent avoir des contraintes différentes pour
un service qu’ils utilisent. Leurs profils de service différents permettent cette
différenciation.
Pour conclure, même si l'architecture Parlay/OSA cherche à permettre l'intégration des
différentes capacités de service spécifiés par différents organismes de normalisation, elle
ne peut pas être directement appliquée comme des moyens pour la gestion de la
composition de services dans l'IMS. En fait, afin d'adapter l'architecture Parlay/OSA à
l'IMS, une passerelle SCS doit être utilisée au dessus des composants IMS, tout en
utilisant les OSA APIs. Dans ce cas-là, la passerelle doit traduire les méthodes Parlay
APIs en des messages SIP. En outre, les fonctionnalités définies par cette passerelle
couvrent seulement le contrôle d'accès aux services et les notions de découverte de ces
services. La gestion de composition des services et la manière à partir de laquelle ils
devraient partager des blocs communs de composition de service ne sont pas spécifiées.
Ainsi, un environnement ouvert de convergence de service est nécessaire pour employer
des services Parlay/OSA dans un environnement de réseau réparti. Finalement, cette
solution implique une forte dépendance des services sur ceux définis dans les normes du
Parlay/OSA.
2.4.1.3 Parlay X
La solution Parlay X est conçue pour permettre la création des applications de téléphonie
aussi bien que des applications IT. Les développeurs IT, qui développent et déploient des
applications en dehors du modèle économique et de l’espace traditionnel de réseaux de
télécommunications, sont vus comme cruciale pour créer une forte croissance dans tout le
marché des applications, des services et des réseaux de nouvelle génération.
En effet, cette solution est basée sur un ensemble de « API Web Services » qui sont
facilement utilisables et qui assurent un haut niveau d’abstraction pour ces développeurs
IT. Ces services Web sont prévus pour stimuler le développement d’une nouvelle
génération d’applications par les développeurs IT qui ne sont pas nécessairement des
experts dans le monde de téléphonie ou de télécommunication.
De plus, ces services Web sont sélectionnés selon une utilité commerciale et non
nécessairement selon une élégance technique. Le but est de définir un ensemble de
possibilités et de capacités puissantes pourtant simples, fortement abstrait, imaginatives,
de télécommunications que les développeurs IT puissent rapidement comprendre et
utiliser afin de créer de nouvelles applications innovantes. De plus, ces services Web
suivent une simple sémantique d’application, ce qui permet aux développeurs de se
concentrer sur l'accès aux ressources et aux capacités de télécommunication tout en
utilisant des techniques de programmation communes de services Web.
En outre, les services Web utilisés sont indépendants des réseaux sous-jacent et des
équipements de ces réseaux, ce qui rend les capacités et les possibilités offertes par ces
services Web, accessibles par n’importe quel type d’équipement tout en utilisant n’importe
quel type de réseau.
34 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
D’autre part, afin de représenter les services Web et leurs caractéristiques, on associe à
chacun d’eux un document qui lui correspond. Ce document contient beaucoup
d’informations comme des définitions, des abréviations, une description détaillée du
service, l’espace de nom, un diagramme de séquences, une définition des types de
données (schéma XML), une définition des interfaces, une définition des pannes, une
définition du contrat de service et une représentation WSDL de l’interface. Quand aux
protocoles échangés et utilisés par les services Web, on a le WSDL, XML, http et SOAP.
En effet, le WSDL 1.1 (Web Services Description Language) décrit les services Web du
Parlay X et les modélise comme étant des “endpoints” qui opèrent sur les messages XML.
Voici certains « API Web Services » : Call Control (Call Handling, Audio Call, Multimedia
Conference, Third Party Call, Call Notification), Short Messaging (SMS), Multimedia
Messaging (MMS), Payment, Account Management, Terminal & User Status, Terminal &
User Location, Address List Management, Presence & Availability, Message Broadcast,
Geocoding and Mapping, Application driven Quality of Service (QoS). Il est quand même
possible qu’un service Web du Parlay X assure deux fonctionnalités hétérogènes
simultanément (localisation d’un terminal et savoir le statut de l’usager).
Par ailleurs, les services Web du Parlay X sont des interfaces d'application qui ne
fournissent pas une implémentation d’AAA (authorization, authentication, et accounting),
des accords de niveau de services (service level agreements) ou d'autres possibilités et
capacités spécifiques à un environnement. En revanche, ils se basent sur des solutions
prouvées et fiables, fournies par l'infrastructure de services Web.
En comparant le Parlay X au Parlay/OSA (Tableau 2), on constate qu’il est simplement une
technologie ayant pour valeur ajoutée l’interfaçage Web. Ces API Web services facilitent
l’accès aux services afin de les réutiliser.
Nom
Parlay/OSA
Description
Un ensemble de riches APIs
télécom,
utilisées
dans
différents
environnements
(Corba (C, C++), Java, …)
Parlay X
Un ensemble de haut niveau
APIs télécom, simples à être
utilisées
dans
des
environnements
Web
services.
Il y a 17 interfaces
Web services (APIs
Web services)
Utilisation
- Adéquate pour être utilisées par
les développeurs professionnels de
logiciels.
- Adéquate pour développer
une application prépayée
- Adéquate pour être utilisées
par les développeurs Web.
- Conçues pour être déployées
avec
un
environnement
de
développement
intégré
(IDE :
Integrated Development Environment).
- Adéquate pour développer
un bouton « Call-me » sur
une page Web.
Tableau 2 : Comparaison Parlay/OSA - Parlay X
Comme on l’a vu dans la partie précédente, les services Web subissent un « booming »
dans leur popularité et dans leur utilisation. Cela a poussé le groupe Parlay, en 2000 à
mettre à jour leurs Parlay 4.0 APIs pour devenir des services Web, avec l'intention de
permettre la création de SOA (architecture orientée services). Nous rappelons que le
produit de cette migration était appelé, SOA Parlay X Web Services. Ainsi, avec la
naissance des SOA Parlay X Web Services, les développeurs IT, avec les moindres
connaissances en télécommunication peuvent maintenant manœuvrer avec les services
35 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
de télécommunication comme s’ils appellent n’importe quel service Web ordinaire : ils font
juste un simple appel de fonction à partir de leur programme Java, et ils puissent ainsi se
brancher au monde complexe de télécommunication d'une manière simple et directe.
Mais, afin d’atteindre ce haut niveau d’abstraction, un changement doit avoir lieu au
niveau architectural. D’après Figure 29, on peut voir le rôle de médiation que joue le Parlay
X Gateway. Il est une passerelle qui permet aux fournisseurs de services, aux MVNOs et
aux 3rd parties d’accéder aux applications et services Web internes offertes par
l’opérateur propriétaire de cette passerelle.
En effet, l’accès et l'interaction entre une application incorporant un service Web Parlay X
et le serveur implémentant ce service sera faite selon un échange basé sur des messages
XML. L'échange de message devrait suivre le modèle synchrone requête/réponse et
devrait être lancé par l'application ; la « réponse » du service Web Parlay X est facultative.
Parfois, des messages asynchrones de l’implémentation des Parlay X Web Services (sur
la passerelle Parlay X) à l'application peuvent être définis. Cela aura lieu pour des raisons
indiscutables, par exemple, implémenter un service Web de type « Notification ».
Les invocations des services Web Parlay X devraient être dé-corrélées et le service Web
lui-même devrait être « stateless » selon la perspective de l'application, à moins qu'il y ait
des raisons indiscutables. En particulier, dans le cas des notifications asynchrones
envoyées de l’implémentation du service Web Parlay X (sur la passerelle Parlay X) à une
application, aucune invocation lancée par l’application pour provisionner (ou déprovisionner) les critères reliés aux notifications dans le service Web Parlay X, ne devrait
être implémentée.
Figure 29 : Architecture Parlay X
36 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
D’après cette Figure 29, on peut constater aussi que la communication entre la passerelle
Parlay X et le réseau IMS ou tout autre réseau sous-jacent se fait soit d’une manière
directe (échange de messages SIP dans le cas d’IMS) soit en passant par la passerelle
Parlay/OSA.
Pour conclure, suite à l’utilisation des passerelles et les APIs Web services, le niveau
d’abstraction est amélioré pour les développeurs IT, ce qui les stimule à développer des
applications de nouvelle génération d’une façon de plus en plus rapide.
2.4.1.4 OMA
L’OMA (Open Mobile Alliance) est une organisation internationale qui s’est constituée en
Juin 2002 et qui développe des spécifications ouvertes et orientées usagers. Elle est
conçue pour être au centre du travail de spécifications pour les services mobiles, en
stimulant et contribuant à la création des services interopérables. Plusieurs types
d’entreprises sont membres de cette organisation, il y a par exemple des fournisseurs des
réseaux sans fil, des entreprises IT, des opérateurs mobiles et des fournisseurs
d’application, etc.
OMA considère comme objectif primordial, la création des services interopérables à
travers des régions géographiques diverses, des opérateurs mobiles multiples, et une
variété de terminaux et de systèmes d'exploitation. En effet, pour n’importe quels terminal,
service et réseau que je veux ou j’utilise, je peux communiquer, accéder et échanger des
informations.
Au niveau stratégique, le travail d’OMA est concentré sur la définition des besoins du
marché selon des cas d’utilisation, une plate-forme architecturale commune, des
standards ouverts et une interopérabilité de bout-en-bout.
Pour atteindre ses objectifs, OMA développe et annonce plusieurs spécifications appelées
“OMA Enablers”. Ces enablers sont des blocks qui étaient conçus au début pour la
composition des services mobiles. Mais, au cours du temps, plusieurs spécifications liées
aux réseaux fixes apparaissent, ce qui a assuré la prolifération des services mobiles tout
en permettant l’interopérabilité entre les réseaux fixes et mobiles.
En effet, l’utilisation de ces enablers est très avantageuse :
Les Enablers fournissent des composants interopérables qui permettent l'interaction entre
différents composants et applications développés par différents fournisseurs (par exemple
des fournisseurs de dispositif et de réseau, des entreprises de technologie de l'information
et des fournisseurs de service) ;
Les spécifications des enablers réduisent les efforts de déploiement et permettent aux
mêmes applications de fonctionner à travers une large variété d'environnements d'une
façon cohérente ;
Les spécifications des enablers tiennent compte également de la réutilisation, de sorte
que des fonctions utilisées généralement puissent être données par des composants
standards, au lieu de recréer ces mêmes fonctions dans chaque application.
D’autre part, OMA contribue fortement dans la croissance du marché, tout en assurant
une plate-forme architecturale commune qui accélèrera l’innovation des produits et
minimisera le time-to-market. De plus, de nos jours, l’industrie adopte largement les
spécifications ouvertes d’OMA au lieu de celles propriétaires. Un autre avantage
qu’assure OMA, c’est la diminution du coût opérationnel, en améliorant l’efficacité au sein
des entreprises, et à travers l'industrie. Quand au niveau des utilisateurs, OMA améliore
leur expérience en assurant une interopérabilité multistandard et de bout-en-bout.
Il faut bien noter que tous les exigences et les fonctionnalités qui ne sont pas intrinsèques
à un enabler ne devraient pas être spécifiées dans sa spécification. La spécification d’un
enbaler devrait seulement spécifier la fonctionnalité intrinsèque exigée pour accomplir son
rôle. De plus, les spécifications devraient spécifier comment se fait l’appel des fonctions.
37 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
En effet, une implémentation d’un enabler peut appeler n’importe quelle fonction
standardisée, comme par exemple l’authentification ou la gestion du groupe, dont elle
aura besoin pour satisfaire ses fonctions intrinsèques définies dans ses spécifications.
D’après l’introduction, on a pu voir nettement l’intérêt d’utiliser les enablers. Mais
maintenant, on a besoin de savoir où sont placer ces enablers au niveau architectural.
Pour cette raison, on introduit dans cette partie l’architecture OSE (OMA Service
Environment) qui est une structuration pour le déploiement et l’intégration des enbalers et
pour la création des nouveaux services.
Dans n’importe quel domaine OSE (domaine du fournisseur de services, du terminal, ou
bien de l’entreprise), les implémentations des enablers exposent des interfaces standards
pour l’application et l’usage des enablers. Ces implémentations se relient aux ressources
actuelles présentes dans le domaine OSE. A l’aide de cette abstraction, il sera possible
d’ajouter ou de modifier les ressources sous-jacents sans affecter l’interface exposée par
les implémentations de l’enabler (et par suite, sans affecter les apllications), ce qui est très
important dans le cas de multiple vendeurs, de différents technologies réseaux ou dans le
cas de différents fournisseurs.
D’autre part, afin de contrôler l’accès aux enablers, on utilise des politiques. Ces politiques
d’évaluation et leur réalisation assure la protection de l'enabler. Une fois requises, les
définitions de politique peuvent aider dans l'extensibilité en employant le mécanisme de
délégation.
Figure 30: Architecture OSE
D’après la Figure 30, on peut voir les différents éléments constituant l’architecture OSE :
Enablers : c’est une technologie prévue pour l'usage dans le développement, le
déploiement ou l'exploitation d'un service. Elle est définie dans des spécifications, ou
dans des groupes de spécifications.
• Les interfaces : les spécifications des enablers définissent des interfaces afin d’invoquer
les fonctions intrinsèques de la spécification d’un enabler d’une manière interopérable,
de supporter l’interopérabilité entre les entités d’un enabler, et de permettre la possibilité
de fournir la gestion du cycle de vie des enablers. Cependant, comme principe
fondamental d'OMA, les spécifications des enablers et l’OSE en général ne spécifient
•
38 / 80
Projet ANR Verso 2008 - UBIS
•
•
•
•
•
SP2 – Lot 2.1 – Définition et spécification de l’architecture
pas des APIs. En effet, l’interface I0 permet l’accès aux fonctions intrinsèques des
Enablers voulus. L’interface I1 permet aux enablers de s’exécuter dans un
environnement d’exécution qui assure plusieurs fonctions (Gestion, surveillance,
administration, …). L’interface I2 permet aux enablers d’accéder aux ressources du
réseau (Ex. IMS). Et finalement, l’interface I0+P permet l’imposition des préférences de
l’usager et la protection contre des requêtes non autorisées, tout en réalisant les
politiques de gestion.
Enabler interface bindings : les interfaces doivent être spécifiées selon un langage
neutre. Cependant, les spécifications peuvent aussi définir des bindings pour ces
interfaces. Enabler interface bindings fournissent les formats spécifiques (ex. syntaxes
et protocoles utilisés pour accéder aux enablers tout en utilisant des langages
particuliers de programmation (ex. Java ou C) ou bien des protocoles réseaux (ex.
services web)).
Ressources : c’est un élément de l’architecture représentant une capacité dans le
domaine du fournisseur de service ou dans le domaine du terminal. Dans l’OSE,
l’implémentation d’un enabler peut directement invoquer ou accéder aux ressources.
Application: c’est une implémentation d’un ensemble de fonctions reliées qui assurent
un travail bien défini qui est, pour la plupart des fois, le déclenchement d’un ou de
plusieurs services. Elle peut être un élément software et/ou hardware. Les applications
sont définies comme des éléments de l’OSE car elles sont des moyens primordiaux pour
initier et utiliser un enabler.
Environnement d’exécution: c’est une plate-forme qui englobe logiquement plusieurs
fonctions comme la surveillance du processus, gestion du cycle de vie du software,
support du système (ex. gestion des threads, load balancing, etc.), opération, gestion et
administration qui permettent le domaine OSE de contrôler les enablers. Les fonctions
assurées par cet environnement d’exécution pourraient ne pas être directement
exposables pour les applications, cependant, ces fonctions pourraient être directement
invoquées par les implémentations des enablers. En outre, les ressources pourraient se
baser sur ces fonctions. La gestion du cycle de vie du software contient un ensemble de
fonctions de l’environnement d’exécution du fournisseur de services et pourrait être
implémentée comme un enabler séparé, ou elle pourrait être distribuée sur plusieurs
enablers.
Policy enforcer: il assure un mécanisme de gestion par politique afin de protéger les
ressources des requêtes non autorisées et afin de gérer l’usage de ces requêtes tout en
tenant compte par exemple, du chargement et de l’évaluation/réalisation des
préférences de l’usager.
2.4.1.5 IMS et le SCIM
Afin de fournir IMS avec un mécanisme de gestion de la composition de services basés
SIP, on a besoin :
• D’introduire une entité fonctionnelle qui gère l’interopérabilité et la coopération
entre les différents serveurs d’application et qui contrôle comment les différentes
capacités de service sont partagées et réutilisées par différents services intégrés.
• De définir les mécanismes requis pour cette entité fonctionnelle afin de contrôler
l'accès des services intégrés aux capacités de service et de gérer l'intégration de
service.
Pour cette raison, le 3GPP a introduit le SCIM (Service Capability Interaction Manager) qui
est un serveur d’application SIP dont le rôle est de gérer les interactions entre les serveurs
d’application. Cependant, ses fonctionnalités de gestion de l’interaction des services ne
sont pas spécifiées jusqu’à maintenant.
En effet, il y a différentes manières pour concevoir le SCIM :
• C’est un dispatcher des logiques de services dans l'environnement local
d'exécution ;
39 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
•
C’est une entité qui gère l’interaction entre les composants qui implémentent les
serveurs proxy SIP ou les agents utilisateurs ;
• C’est une entité qui gère l’interaction entre les capacités de services qui sont
exposées en utilisant le WSDL (Web Service Definition Language) et les
abstractions d’IMS qui sont basées sur SOAP (Simple Object Access Protocol).
• C’est une entité qui gère l’interaction entre les fonctions SIP et les composants du
système de signalisation.
En fait, le choix parmi ces différents comportements de SCIM dépend essentiellement sur
le modèle technologique et économique des différents fournisseurs de services.
D’après la Erreur ! Source du renvoi introuvable., le SCIM se trouve entre le S-CSCF
(dans la couche de contrôle de session) et les serveurs d’application (dans la couche
service) afin d’assurer à IMS un mécanisme pour supporter la coopération et
l’interopérabilité entre les services.
Selon ce modèle, la composition de chaque serveur d’application sera gérée par un seul
SCIM et chaque SCIM pourra gérer la composition de plusieurs serveurs d’application.
Figure 31: Architecture IMS SCIM
En fait, le SCIM représente une frontière entre le domaine de l'opérateur du réseau et le
domaine des fournisseurs tiers de services. Ainsi en incluant des mécanismes de gestion
de la composition de service dans SCIM, différents fournisseurs de services pourraient
introduire des serveurs d’application intégrés et à valeur ajoutée tout en partageant un
ensemble limité de capacités standardisées de service fournies par l’opérateur du réseau
IMS.
De plus, le SCIM permet à l’opérateur du réseau IMS de contrôler la coopération et
l’interopérabilité entre les services tout en se basant sur les contraintes et les accords
spécifiés entre l’opérateur du réseau et le fournisseur de service.
Par exemple, un serveur d’application Presence (qui permet l’appel seulement si l’appelé
est valable) utilise la capacité Presence Service Capability afin de savoir la disponibilité de
l’appelé. Un autre exemple, c’est le cas d’un serveur d’application Voicemail (qui transmet
les appels entrants vers un serveur de messagerie vocale si l’appelé est non disponible)
peut réutiliser la même capacité Presence Service Capability pour envoyer les appels
entrants vers le serveur de messagerie vocale quand l’appelé est non disponible.
Pour conclure, on va essayer de comparer la solution architecturale basée sur SCIM avec
les mécanismes de gestion de la composition de services basée sur l’architecture
Parlay/OSA. Les résultats de cette comparaison apparaissent dans le Tableau 3.
40 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Basée SIP
Définition modulaire de services
Adaptable pour IMS
Sécurité
Binding dynamique des services
Indépendance du réseau
Communauté des développeurs
Condition d’invocation des services
Parlay/OSA
+
+
+
++
++
IT
-
SCIM
++
+
++
+
A faire
-(Spécifique à IMS)
SIP et Télécom
++
Tableau 3: Comparaison entre Parlay/OSA et SCIM
Selon ce tableau, on peut constater que l’avantage le plus signifiant est le fait d’assurer à
IMS un mécanisme de gestion de la composition de services basée SIP. Contrairement à
Parlay/OSA, la solution SCIM est flexible, adaptable à IMS et peut améliorer le
mécanisme IMS actuel d’invocation de services.
En conclusion, l’approche Telco par sa structure à travers une API induit une architecture
« client-serveur » au niveau des services. Le RI avait une vue plus intégrée mais passe
par le processus d’appel qui conduit à une approche « bottom-up ». L’IMS, grâce au SIP a
plutôt une approche « Top-down ».
2.4.2 Les architectures Web
Le monde du Web propose d’autres types d’architectures pour mettre en œuvre les
services, leur contrôle et leur gestion, avec son ensemble de concepts et de règles. Dans
cette partie on consignera quelques caractéristiques d’architectures de services Web
(§2.4.2.1) et de ses évolutions (§2.4.2.2). Puis on abordera le SaaS (§2.4.2.3) qui nous
conduit vers une approche« tout service ».
2.4.2.1 Service Web
Un service Web est une application logicielle identifiée par une URL, et à laquelle on peut
accéder à distance à partir de différents langages basés sur XML. Indépendamment de
l'ordinateur, du système d'exploitation ou du langage utilisés par le client, une application
peut ainsi utiliser plusieurs services Web qui s'exécutent sur plusieurs serveurs
d’application distants.
En simplifiant les choses, les services Web peuvent être considérés comme les
composants d’une fonctionnalité en ligne, ayant la possibilité d’être branchés ensemble
comme un genre de lego numérique. Par exemple, si une organisation a besoin de
prendre en ligne des paiements par carte de crédit, elle pourrait, soit créer son propre
compte bancaire d'affaires, soit, plus raisonnablement, intégrez sur son site, le service de
Web d'un fournisseur de services de paiement (PSP) comme Worldpay, Netbanx ou
Paypal. Les visiteurs feront leur achat à partir du propre site Web de la compagnie, mais à
la fin, ils seront transportés au site Web du PSP où ils doivent remplir tous les détails
nécessaires sur leur carte de crédit et ainsi le paiement sera arrangé. Tout cela se
produira automatiquement, avec deux organismes faisant intégrer leur offre
électroniquement en ligne.
En effet, pour se servir des services de Web, des « mashups » sont créés en incluant un
bout de code d'un fournisseur de services Web dans la page du site Web accédant au
service. Un tel code peut être aussi simple qu’un lien vidéo incluse sur le site Web de
41 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
YouTube, comme il peut être aussi un bout de code plus complexe écrit dans l'interface
de programmation d’applications API du fournisseur de services de Web.
De point de vue architectural, la mise en œuvre d’un service web repose sur plusieurs
couches. Nous trouvons d’après la Figure 32, ci-dessous:
Figure 32 : Cadre architectural des services Web
•
La couche Transport : le HTTP est le protocole de réseau standard pour les
services Web accessibles par Internet. HTTP est un protocole permettant
l'échange des requêtes et des réponses entre clients et serveurs, quel que soit le
type des données. Les autres protocoles d’Internet comme le SMTP et le FTP
peuvent aussi être supportés. Les domaines Internet peuvent utiliser des
infrastructures d’appel et d’échange de messages comme MQSeries, CORBA, etc.
•
La couche Message : SOAP (Simple Object Access Protocol) est le protocole
choisi pour l’échange des messages XML. Il fournit un cadre standard, extensible
et composable pour l’encapsulation. Il est indépendant de la technologie de
transport sous-jacente. SOAP définit une enveloppe contenant un entête et un
corps. L'entête fournit les instructions indiquant comment traiter le message et
fournit également un mécanisme pour référencer des capacités (fonctionnalités
déclarées offertes ou demandées par un agent). Le corps contient l'appel de la
procédure distante dans un sens et la réponse du serveur dans l'autre. L'envoi de
documents attachés à un message SOAP se fait en encapsulant le message
SOAP et les documents attachés dans un document au format MIME
(Multipurpose Internet Mail Extensions) ou au format DIME (Direct Internet
Message Encapsulation), qui est moins souple mais plus simple que MIME.
•
La couche Description : est en réalité une pile de documents de description. WSDL
(Web Service Description Language) introduit une grammaire commune pour la
42 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
description des services. Il est le standard pour la description de service basée sur
XML, indépendamment de toute plate-forme ou langage de programmation. C’est
en effet, la contrainte obligatoire pour pouvoir supporter l’interopérabilité entre les
services. Les messages sont décrits de manière abstraite puis associés
concrètement à un protocole de réseau et un format de message. Dans la
description du service Web, on précise les méthodes acceptées et les paramètres
correspondants, les réponses fournies en retour, les protocoles et les formats de
données pouvant être traités, et les URL du service.
•
La couche Découverte et Enregistrement : la découverte des services Web peut se
faire avec la technologie UDDI (Universal Description and Discovery Integration ),
dont les mécanismes reposent sur les services de nommage et d’enregistrement
proposé par un répertoire de service appelé Service Repository. En
particulier, l’UDDI définit la structure des données et les API pour la publication des
services dans le répertoire. Il permet de répondre à des requêtes qui concernent la
recherche des descriptions de services publiées. Le service d’enregistrement
permet d’une part, aux développeurs de trouver les informations sur les services,
ils pourront ainsi développer les clients qui utiliseront ces services. D’autre part, le
service d’enregistrement permet de faire le binding (la mise en relation) d’un client,
d’interroger le registre et d’obtenir les références des services en question. En
effet, les services enregistrés peuvent appartenir à l'une des trois catégories
suivantes :
o "Public" : service ouvert à tous. Plusieurs éditeurs majeurs proposent de
tels services, par exemple IBM et Microsoft.
o "Private" : service accessible seulement à l'intérieur d'une compagnie. Pour
celle-ci, le catalogue UDDI permet la réutilisation de logiciels en interne.
o "Restricted" : service accessible seulement par certaines organisations
autorisées (par exemple les fournisseurs et certains clients d'une
entreprise).
Un fournisseur, ayant créé un Service Web "public", doit l'enregistrer auprès du
Service Registry de son choix, par exemple le "Microsoft public registry". Ce
registre réplique chaque nuit ses entrées sur les autres registres publiques
existants. Ainsi, un client potentiel, interrogeant quelques jours après le "IBM
public registry", trouvera ce nouveau service Web et pourra l'utiliser s'il le souhaite.
•
La couche de composition : dans le cadre de services Web, la composition est vue
comme étant la combinaison sur certaines conditions d’un ensemble d’activités qui
décrivent des fonctionnalités attendues du système. Dans le contexte actuel des
normalisations, les opérations concernant la composition sont décrites suivant
deux approches : la chorégraphie ou l’orchestration.
o L’orchestration utilise le WSFL (Web Services Flow Language) pour décrire
comment sont effectuées les communications, les collaborations et les flux
entre les services au niveau implémentation.
o La chorégraphie permet de gérer des processus métier complexes qui
nécessitent la coordination entre différents services métier « Business
Services » afin de répondre à une requête de mise en œuvre d’un Business
Service.
Pour la composition de services, on a plusieurs approches et technologies dont on va citer
deux : l’approche BPEL et l’approche sémantique.
• L’approche BPEL (Business Process Execution Language): BPEL est un langage
qui permet de définir un processus de composition des services. La composition
BPEL interagit avec un sous-ensemble de services Web pour accomplir une tâche
donnée. Dans BPEL, le résultat de la composition est appelé un processus, les
43 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
services participants sont des partenaires et l’échange de messages ou la
transformation intermédiaire de résultat s’appelle une activité. Un processus se
compose ainsi d’un ensemble d’activités. Un processus interagit avec des services
partenaires externes à travers une interface WSDL. De point de vue couches
protocolaires, l’approche BPEL utilise WSDL comme langage de description. Pour
la découverte et la publication, il utilise l’UDDI. Pour la chorégraphie et
l’orchestration, il utilise le WSCI (Web Service Choreography Interface) et le WSCL
(Web Service Conversation Language). Quand au niveau du « Business Process »
et « Workflow », on parle du WS-BPEL (Web Services BPEL).
•
L’approche sémantique OWL-S (Web Ontology Language for Services): La vision
sémantique consiste à rendre les services Web accessibles par le contenu aussi
bien que par les mots-clés. Les utilisateurs et les agents logiciels devraient pouvoir
découvrir, composer et appeler le contenu en utilisant des services complexes. La
DARPA Agent Markup Language (DAML) a fournit un ensemble de constructions
pour créer des ontologies compréhensibles par les machines. Cette contribution
sémantique a mené vers l’OWL-S. C’est une ontologie de services permettant la
découverte de service, l’invocation, la composition, l’inter opération et la
surveillance automatique de l’exécution. Elle modélise les services Web en trois
parties: le profil de service: décrit ce que le service exige des utilisateurs et ce qu’il
leur produit ; le modèle de service: indique comment le service fonctionne (Ex.
comment l’appeler, …) ; le modèle « mis à terre (grounding) »: fournit l’information
sur l’usage du service. En effet, pour l’OWL-S, la couche de description est basée
sur le profil de service et sur le mode grounding. La découverte est basée sur le
profile de service. Quand au « Business Process » et « Workflow », c’est la modèle
de service qui va décrire le processus métier.
Après avoir expliqué chaque partie et chaque couche à part, on peut voir la structure
d’ensemble orientée services (SOA) appliquée aux services Web, dans la Figure 33 qui
apparait ci-dessous.
Dans cette architecture, on peut voir comment le message qu’on veut envoyer sera
encapsuler en lui ajoutant l’adresse de routage et puis on le représente sous forme de
messages SOAP, dont chaque champ a sa propre modélisation par le modèle XML ou
URI schema. Ensuite, l’ensemble pourra être comprimé (Packaging) et ensuite envoyé par
les protocoles de transport HTTP, FTP, SNMP, etc.
Si on monte un peu dans cette architecture, on peut voir, autre que les fonctions de
sécurité et de gestion, la couche de description (WSDL) et de découverte (UDDI) utilisées
dans l’approche BPEL, ainsi que la partie d’orchestration et chorégraphie.
A droite, on peut voir l’approche sémantique OWL-S qui vient pour remplacer les couches
de description, découverte, chorégraphie et orchestration du BPEL, par son profil de
service, son modèle de service et son modèle de grounding.
D’autre part, au niveau de la partie accessibilité, il y a l’I18N : comme on vient de voir, la
sémantique est basée sur une description des services. Cette description est rendue
accessible à l’internationale à travers les efforts du I18N. (On abrège souvent
internationalisation en I18N car, en anglais, il y a 18 lettres dans le mot, entre le i et le n).
De plus, il y a le P3P qui, pour rassurer les usagers des services, va définir un langage de
description de leurs privacy preferences.
44 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 33 : Structure d'ensemble SOA des services Web
2.4.2.2 Web2.0/3.0
Le Web 2.0 [4] est défini comme un concept d'utilisation d'Internet qui a pour but de
valoriser l'utilisateur et ses relations avec les autres. L’Internet est alors redéfinie comme
non seulement un média (où les sites Web sont autant d'îlots d'informations isolées) mais
aussi comme une plate-forme. Les données sont considérées comme les connaissances
implicites.
Web 2 .0 est en fait un socle d'échanges entre les utilisateurs (l'auteur parle d'intelligence
collective) de services ou d’applications en ligne (Erreur ! Source du renvoi
introuvable.).
L'infrastructure du Web 2.0 est complexe et changeante, mais elle inclut les logiciels de
serveur, la syndication de contenu (RSS qui signifie Really Simple Syndication), les
protocoles de messagerie des standards de navigation, et des applications clientes
diverses (les plugins, ou greffons, non-standard sont généralement évités).
Ces approches complémentaires fournissent au Web 2.0 les capacités de stockage, de
création et de diffusion qui vont au-delà de ce qui était précédemment attendu des sites
web.
45 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 34 : Web 2.0
Application comme "many-to-many publishing” (blogs, social book marking et wikis),
logiciel social, les interfaces de la programmation application web et les services en ligne
nous permettent d’avoir une possibilité de renforcer le service demandé par l’utilisateur.
Des « Communauté d’intérêt » sont constituées pour partager les connaissances (Swicki),
ou pour avoir un même sujet de discussion (Facebook) ou le réseau social (Expedia pour
la réservation des billets basée sur une comparaison de prix en temps réel).
Avec certaine plate-forme ou outil (Yahoo! Pipes Mash-up platform), l’utilisateur peut
même créer son journal par le filtrage des nouvelles en fonction de ses préférences
prédéfinies.
L’approche « Services Web » constitue un changement fondamental dans la manière de
concevoir et réaliser les applications informatiques et de programmer les ordinateurs. Pour
cela, plusieurs études et plusieurs efforts sont faits dans ce domaine, ce qui a mené à
l’apparition de la deuxième version Web, appelé Web 2.0.
Le « Web 2.0 » consiste à utiliser l'Internet pour le partage interpersonnel de contenu et
pour la distribution de services en ligne. Quand au « Web 1.0 » qui est venu avant, était
largement concerné par la création et la consultation du contenu en ligne (cela apparait
dans les guerres de navigateur et dans une prolifération des sites Web que peu de
personnes visite). Les acteurs principaux dans le marché du Web 2.0 incluent, jusqu’à
maintenant, Google, YouTube, MySpace et Wikipedia, etc.
À un niveau conceptuel, le Web 2.0 est concerné par l’établissement et la maintenance de
connexions en ligne, plus fluide, plus flexibles et plus riches, entre les personnes, les
services et/ou l'information. Spécifiquement, de telles connexions améliorées peuvent être
créées et maintenues entre deux ou plusieurs personnes, entre deux ou plusieurs
ordinateurs et organisations qui fournissent des services en ligne, ou entre des individus
et le contenu numérique qu’ils créent, manipulent et stockent. L'isolement de ces trois
catégories possibles de connexions du Web 2.0 nous permet rapidement de définir les
trois aspects clé du Web 2.0 :
• Interpersonal computing: impliquant des interactions entre personnes, facilitées par
l'intermédiaire des sites Web qui permettent la création, le partage et la
manipulation du contenu collaboratif.
• Web Services : comportant des échanges de données et de service entre les
applications (et par conséquent entre les organisations), facilités par les
connexions automatisées entre les serveurs web et toute autre technologie
d'Internet.
46 / 80
Projet ANR Verso 2008 - UBIS
•
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Software as a service (SaaS) : impliquant des interactions humaines avec des
contenus numériques, facilitées par des applications délivrées à partir du Web ce
qui libère l'utilisateur des logiciels localement installés.
D’une autre part, et suite à ce développement dans le domaine du Web, la notion de
« Cloud Computing » devient de plus en plus le centre d’intérêt de tous les chercheurs et
les développeurs.
En effet, le Cloud Computing est où les ressources informatiques sont accédées à partir
d'un « nuage » virtuel en ligne, et non plus à partir d’un ordinateur local ou d’un centre de
données organisationnel. Cloud Computing est une tendance rapidement croissante qui
est fortement liée au développement du Web 2.0. Il faut quand même noter que d’un point
de vue conceptuel, Cloud Computing et le Web 2.0 sont tout à fait distincts.
Spécifiquement, le concept clé du Web 2.0 est d’assurer de nouvelles formes de
connexions en ligne entre les personnes, les services et les applications, tandis que le
concept clé du Cloud Computing est le détachement des ressources informatiques de
n'importe quel endroit ou localisation, même national.
Enfin, en tandem avec le Web 2.0, le Cloud Computing peut changer tout l’état actuel de
l'industrie informatique. Amazone, Google, IBM et d'autres sont déjà au centre de cette
révolution de Cloud Computing. Les géants traditionnels de l'industrie, comme Microsoft,
vont surement confronter un défi de plus en plus dur s'ils essayent de continuer à nous
vendre des logiciels pour les installer sur notre hardware local.
Web 3.0 est considéré comme la troisième génération des services de web basé sur
l’Internet, qui a pour but d’offrir à l’utilisateur des expériences plus ou moins productives et
intuitives. La définition officielle du web 3.0 est “la création de contenu de grande qualité
et de services produits par des individus utilisant la technologie de web 2.0 comme plateforme“.
Par rapport à Web2.0, Web 3.0 voudrait donner plus de personnalisation et rechercher
plus efficacement les données Web. Malheureusement, bien que Web 2.0 et Web 3.0
supportent le partage d’UGC (User Generated Content) et UGA (User Generated
Application), ils proposent également une composition de service avec les composants
réutilisables et partageables, aucun ne supporte vraiment le partage d’un même service.
De plus, l’utilisateur ne peut faire qu’une seule invitation pour une application, l’ajout d’une
application induit obligatoirement une autre invitation..
Ces approches adressent plus le contenu, sans oublier que l’architecture reste de type
client-serveur. Elles ne sont pas suffisantes pour faciliter la création de service orienté
utilisateur.
2.4.2.3 SaaS
Architecturalement, l’application de SaaS est similaire aux autres applications qui suivent
le concept de l’orienté service. Tout comme l'ASP (Application Service Provider) ou les
applications à la demande, les applications SaaS s'inscrivent dans le groupe des logiciels
gérés ou hébergés. A la différence de l'ASP, les applications basées sur le modèle SaaS
sont construites d'emblée en mode Web et optimisées pour être délivrées par l’Internet. Le
modèle SaaS permet de se décharger de la maintenance, de l'exploitation et de
l'hébergement des applications. Le paiement à la consommation est un moyen d'optimiser
les coûts.
Par exemple, la plupart des composants (Figure 35) sont reconnus : « Process service »
qui est en fait une interface entre les demandeurs de service (smart clients) et le
47 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
fournisseur de service. Les services business interagissent avec les bases de données
pour les données concernant le business. “Security services” sont responsables du
contrôle de l’accès de services logiciels de l’utilisateur.
Figure 35 : exemple de la plate-forme de SaaS
La différence la plus significative est l'ajout de services de métas données, qui sont
responsables de la gestion de configuration de l'application pour certains services
hébergés. Services et smart clients interagissent avec les services de métas données, afin
d'extraire l'information qui décrit les configurations et les extensions qui sont spécifiques à
chaque service hébergé.
En conclusion nous pouvons dire que, le Service Web contribue à la simplification et à la
réutilisation de service, mais son architecture est orientée « client-serveur ». Web 2.0 et
Web 3.0 ont pour objectif la partageabilité de contenu et des applications sous la forme
d’option de service. Alors que SaaS propose de gérer les composants de service
ubiquitaires, mais l’architecture a un couplage fort car vertical.
Nous devons donc poursuivre cette démarche de décomposition de service pour satisfaire
les besoins du NGS.
2.4.3 Les architectures IT : SOA
Un des besoins les plus essentiels du monde IT, c’est la création et l’adoption d’un
processus métier. De plus, l'évolution des services autonomes aux services qui
s’interagissent pour accomplir un besoin spécifique de l'utilisateur apparait également au
sein des entreprises. Afin d'adapter leur système d'information (SI) à cette ère de service,
les compagnies doivent casser les frontières entre leurs diverses applications et les faire
coopérer.
En effet, cette évolution a eu lieu suite à l’utilisation du paradigme SOA (Service Oriented
Architecture): les applications ne devraient plus continuer à être des entités autonomes,
mais, par contre, elles devraient être divisées en services, c.-à-d., des unités de métier qui
sont discrètes et indépendantes, qui effectuent une tâche bien spécifique et qui sont
seulement accessibles par une interface ouverte et bien définie de service.
L'architecture orientée-services est généralement définie comme « une architecture
d'application, dans laquelle toutes les fonctions sont définies en tant que services
indépendants ayant des interfaces d’invocation bien définies qui peuvent être appelées
selon des séquences bien précises afin de former des processus métier ».
48 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
En outre, les compagnies ont découvert que le défi principal pour appliquer ce paradigme
de SOA n'était pas un défi technique. Techniquement, les produits et les technologies
(SOAP, UDDI, …) sont disponibles. Leur déploiement n'est pas évident, mais peut être
techniquement maîtrisé. Le problème principal est en effet le fait d’identifier et de définir
les services, ces unités de métier discrètes et indépendantes.
De plus, l'architecture orientée-services est mature comme concept d'architecture. Il est
largement adopté dans l'industrie des télécoms et l'industrie d'Internet. L'objectif principal
de SOA est de créer des applications utilisées comme des services réutilisables et puis de
permettre la composition de ces applications afin de réduire le délai d'accès au marché
(Time To Market).
En ce qui concerne la composition de services, les développeurs SOA:
• Cherchent les services Web disponibles dans un répertoire de services « Service
Repository », où le service est décrit en utilisant un document WSDL (Web Service
Description Language) ;
• Invoquent les services Web dont ils ont besoin, en utilisant SOAP (Simple Object
Access Protocol) ;
• Composent le service Web voulu à partir des services invoqués, en utilisant les
langages de programmation et les scripts ;
• Et finalement, ils publient le nouveau service Web dans le répertoire, avec un
nouveau document WSDL.
De point de vue architectural, le modèle SOA contient trois entités et trois opérations qui
apparaissent dans la Figure 36:
• Le « Service Repository » qui est un répertoire dans lequel seront publiés les
différents services Web, selon des documents WSDL (Web Service Description
Language) ;
• Le fournisseur de service qui va développer les services Web et qui va les publier
dans le répertoire ;
• Le client qui va envoyer des requêtes pour trouver un service, dans le répertoire,
selon des critères de recherche bien définis, et pour s'y connecter ainsi.
•
Figure 36 : Modèle SOA
D’autre part, de point de vue « business », l’architecture SOA consiste à diviser l’activité
« business » en plusieurs processus distincts qui seront délivrés selon des services Web
assurés par plusieurs organisations et liés ensemble en ligne.
Par exemple, l'activité « business » de vendre quelque chose à un client peut être
décomposée en trois processus : de prendre leur ordre, de prendre leur argent, et de leur
fournir les marchandises voulues.
En effet, le propre site Web de l’entreprise pourrait être employé pour prendre les détails
d'ordre du client, puis l’entreprise utilise les services d'un fournisseur de services de
paiement auquel elle est liée en ligne afin de permettre le traitement des paiements par
49 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
carte de crédit, et enfin, une compagnie maritime (telle que Federal Express) liée
également à l’entreprise par l'intermédiaire des services Web, joue son rôle de faciliter la
livraison des marchandises et le cheminement en ligne de la livraison.
Ces affaires de vente de marchandises à un client par l'intermédiaire de l'arrangement en
ligne ci-dessus (qui offre au client un service « seamless » assuré par trois compagnies
distinctes inter-liées par l'intermédiaire des services Web) sont souvent décrites comme
légèrement couplées « loosely coupled ». C'est parce que les services spécifiques utilisés
dans leur processus métier global pourraient facilement être enlevés et remplacés par
ceux offerts par d'autres fournisseurs. La compagnie pourrait, par exemple, commuter
facilement d'un fournisseur de services de paiement ou compagnie maritime à un autre dû
à la flexibilité du couplage par internet des systèmes informatiques, et par conséquent des
organisations.
L’idée principale de SOA est de mettre en œuvre les services ou les applications sous
forme des composants logiciels. Par exemple, a proposé des services (Figure 37) qui sont
en fait des composants autonomes qui implémentent une ou plusieurs fonctionnalités bien
définies à des acteurs humains, à d’autres services, ou à d’autres parties du système. Le
service fournit un accès vers une ou plusieurs fonctions en masquant l’hétérogénéité du
système. Le service est utilisé sous un Contrat de service pour une demande de
l’application.
L’interaction et de la communication d’une collection de services permet de composer des
applications par une agrégation de services.
Cette organisation et décomposition de services rendent possible la mise en place rapide
de processus métiers réellement transverses tout en préservant un couplage faible
facilitant leur modification ou refonte totale et la réutilisabilité de services eux même.
Figure 37 : composition de service exemple 1
Dans une autre proposition (
Figure 38), SOA, la décomposition est faite en trois étapes :
• La première est la découverte des opérations et l’identification de phases
exposées pour un processus modélisé. Il s'agit d'un regroupement d'activités
rattachées aux catégories formant le périmètre fonctionnel des utilisateurs.
• La seconde consiste à décomposer les opérations et les phases. Chaque
opération et phase deviennent ainsi un orchestrateur d’appel vers les services.
50 / 80
Projet ANR Verso 2008 - UBIS
•
SP2 – Lot 2.1 – Définition et spécification de l’architecture
La troisième décompose chaque service exposé en catégorie sous la forme de
méthodes attachées aux classes qui constituent la catégorie d’appartenance.
Figure 38 : composition de service exemple 2
La notion de SOA (Service Oriented Architecture) renvoie à une nouvelle manière
d'intégrer et de manipuler les différentes briques et composants applicatifs d'un système
informatique (comptabilité, gestion de la relation client, production, etc.) et de gérer les
liens qu'ils entretiennent. Un modèle populaire de SOA, modèle référentiel OASIS définie
SOA comme : “…Un paradigme de l'organisation et de l'utilisation des capacités
distribuées. Il peut être sous le contrôle de différents domaines. Il fournit un moyen
uniforme d'offrir, de découvrir, d’interagir et d’utiliser les capacités de produire les effets
désirés avec les conditions préalables et les attentes”.
SOA supporte le développement de système distribué en termes de services avec un
couplage lâche. Ci-dessous une architecture (Figure 39) proposée par BEA.
Dans SOA, les ressources ambiantes sont mises en réseau pour être autonomes et
accessibles sans connaître leurs technologies sous-jacentes. Une caractéristique de SOA
est que les services sont des entités indépendantes. Ils peuvent être invoqués de façon
standard.
Figure 39 : Architecture de SOA
51 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Par exemple, la Plate-forme Fiorano SOA™ 2007 (Figure 40) propose un bus de services
entreprises pour traiter les business en temps réel. Tous les services sont présentés sous
forme de PS (Peer Server). Les messages s’échangent sur le bus JMS pour faciliter FES
(Fiorano Entreprise Server) d’orchestrer les services.
Figure 40 : architecture de la Plate-forme Fiorano SOA™ 2007
Cette approche SOA est prometteuse par sa recommandation de couplage lâche et par
ses propriétés de composants réutilisables. Elle devrait se généraliser aux services
réseaux et aux services Web.
3. Le pourquoi :
Quels défis (§3.1) et quels verrous (§3.2) devons nous relevés ?
3.1. Les défis
Durant toutes ces dernières années, les différentes architectures de services qu’on a déjà
expliquées avant étaient derrière le « booming » dans le marché Telco et Web services.
Mais malgré leur rôle pionnier dans la croissance du marché, on ne peut plus négliger les
défis et les contraintes provenant de l’utilisation de ce genre d’architectures.
En comparant ces différentes structures d’ensemble, on constate que le point commun
entre eux, c’est la vue application pour chaque architecture.
En effet, toutes ces structures sont basées sur une passerelle et un ensemble de serveurs
d’application. Par exemple, dans Parlay/OSA, on a le Parlay Gateway et les serveurs
d’applications OSA, dans l’IMS SCIM, on a le SCIM comme passerelle et un ensemble de
serveurs d’application SIP, etc.
Par conséquence, ce genre d’architecture mène à une centralisation au niveau des
passerelles : chaque Gateway sera considéré comme un élément central, sans lequel les
serveurs d’application ne seront plus organisés, et n’interagissent pas. Cela mène aussi à
des lacunes dans les performances à cause du problème de « Bottleneck » qui apparait
ainsi dans les différentes passerelles.
En outre, un deuxième défi commun pour toutes ces architectures de services, c’est le fait
qu’elles soient toutes verticales. En effet, la communication entre la passerelle et les
serveurs d’application d’une part, et entre la passerelle et le réseau sous-jacent d’autre
part, est basée sur le principe client/serveur. Ainsi, pour récupérer un service d’un serveur
d’application, la passerelle doit envoyer une requête et attendre une réponse. Par
conséquence à cet échange requête/réponse entre les entités de l’architecture services,
une augmentation aura lieu au niveau du nombre de messages échangés pour obtenir
une session de services. Cela cause une augmentation de la durée entre la demande d’un
service et l’exécution de ce service et par suite cela mène à une diminution dans la
demande et dans l’influence de ce genre d’architecture sur le marché.
D’autre part, si on considère que le réseau sous-jacent à ces architectures de services
était un réseau IMS, comme il apparait dans la Figure 41 ci-dessous, un autre défi s’ajoute
52 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
au niveau du HSS (Home Subscriber Server) qui est une base de donnée centralisée
contenant certaines informations comme le profil des usagers (identités des usagers,
services auxquels les usagers sont souscris, le S-CSCF allouée à chaque usager, etc.) et
des informations de sécurité (contrôle d’accès: authentification et autorisation). Malgré les
données de base fournies par ce HSS, ces informations sont considérées limitées et non
suffisamment dynamiques pour offrir des informations temps réel aux ressources
actuellement utilisées lors du déplacement de l’usager.
Par exemple, dans le profil de l’usager, il n’y a pas les préférences et la liste des
terminaux de cet usager, bien que ces données soient importantes lors de la sélection du
service. De plus, dans le profil du service, il n’y a pas la QoS reliée au service décrit.
Figure 41 : Modèle vertical des architectures de services
Afin de dépasser ces défis, on a besoin, au niveau architectural, d’une structure
horizontale, dans laquelle la relation client/serveur sera remplacée par une relation peerto-peer où chaque entité de l’architecture peut développer, publier et utiliser n’importe quel
service.
D’autre part, les quatre types de mobilité (terminal, usager, service, session) introduit une
certaine dynamicité qui nécessite une inférence informationnelle et non pas une simple
mise à jour du HSS. Pour cette raison, on a besoin d’une base de données plus
intelligente dans laquelle la mise à jour sera temps-réel.
Pour répondre à ces besoins, UBIS propose une nouvelle architecture de services basée
sur la notion du NGN Middleware. Elle sera présentée dans la suite du document.
3.2. La continuité de service
Nous avons mentionné dans notre introduction que les propriétés de notre contexte
étaient concentrées dans l’intersection des « mobilités », de « l’hétérogénéité » et de
l’approche « User Centric ». La mise en relation de l’ensemble des acteurs passe par la
session qui doit supporter la dynamicité et la flexibilité des échanges. La session devient
mobile et le verrou à lever est donc une continuité de service (Figure 42) quelque soit les
changements que doit opérer la session. En effet, pendant une session « User Centric »,
l’utilisateur est amené à composer dynamiquement le service (global) dont il a besoin
53 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
durant un espace temps. Par exemple, ajouter un service de visiophonie à son appel voix
ou transférer un programme de TV de son poste de télévision à son PDA lorsqu’il se
déplace. Mais, on peut avoir des processus, des logiques de services plus élaborées. Par
exemple, pour une session qui se déroulerait, dans le créneau horaire 8h45-10H45,
l’utilisateur désire avoir ses emails en priorité quand il quitte son domicile, puis étant dans
son véhicule, il souhaite recevoir ses SMS en vocal, puis une fois rendu à son bureau il
voudrait avoir simultanément sur son PC email, SMS et ses fichiers.
Cela implique une continuité du service global durant la session. Cette problématique
est capitale pour les nouvelles générations de service et constitue un des points focaux du
projet UBIS.
Figure 42 : Le Pourquoi : la continuité de service
4. Le comment : la nature des réponses UBIS
La réponse UBIS sera prioritairement d’ordre architectural (§4.1) et protocolaire (§4.2)
sachant qu’il faudra opérer sur les trois plans que nous devons faire converger pour
atteindre nos objectifs de dynamicité et de flexibilité.
4.1. Architecture de service UBIS
Dans la vision du NGN, les services devraient être accessibles, n'importe où et n'importe
quand. Nous avons proposé d'avoir une vision de service à la place de la vision
d'application. Par conséquent, nous proposons un NGN Middleware qui peut être
considéré comme un serveur d’application avancé d'IMS. Ce NGN Middleware offre les
services de base, ce qui permet :
•
La composition des éléments de services SE (Service Elements) selon une logique
de création de servies ;
•
L’établissement d’une session de service selon une table de routage basée sur la
QoS (dans la partie QoS Management) ;
54 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
•
La mobilité du service en utilisant la partie Community Management ;
•
La gestion de l’usager en utilisant la partie User Location.
Pendant l'exploitation, le NGN Middleware décompose les services globaux en un
ensemble de SEs. Ce qui remplace la logique d’orchestration des serveurs d’application,
assurée par le S-CSCF ou le SCIM. Puis, ce NGN Middleware compose, choisit d’une
manière optimale et invoque (selon l'état du SE) les services, lorsqu’il reçoit un message
SIP provenant de l’IMS Session Middleware. Dans notre vision, le protocole SIP devrait
être évolué en tenant compte de l'information dans le tableau de routage « QoS Routing
Table ». Nous appelons ce type de messages, des messages SIP+ afin d'obtenir la
session complète de service d'un SE à l'autre.
Nous pouvons noter qu’avant l'exploitation, en tenant compte du dimensionnement, un SE
pourra être déployé dans le(s) NGN Middleware(s) avec une QoS appropriée, c.-à-d. les
différentes instances du SE vont fonctionner sur différents NGN Middleware.
En outre, on a proposé dans cette nouvelle plateforme un HSS avancé pour agir comme
un Infoware. Cet Infoware offre une certaine inférence informationnelle afin d'avoir plus de
dynamicity que la simple mise à jour du HSS. Dans ce HSS avancé, l'information de QoS
de bout en bout est également prise en compte. Puisque les NGS (Next Generation
Services) que nous avons considérés sont des services à informations intensives, les
utilisateurs vont interagir avec le réseau selon des dispositifs sophistiqués, et vont avoir la
possibilité de choisir parmi une large variété d'options de QoS. Grâce à l'information
complète comme les préférences de l’utilisateur, les terminaux de l’utilisateur et la
souscription au réseau dans ce HSS avancé, la session IMS peut être enchaînée du
terminal de l’utilisateur, la porteuse, le réseau cœur IMS jusqu'à la session de service.
On voit ci-dessous, dans la Figure 43, la plateforme NGN Middleware proposée. On
constate la présence de trois parties essentielles correspondant aux services de base. On
a le « Community management », le « QoS Management » et le « User Management ».
Figure 43: La plateforme NGN Middleware proposée
D’après la définition de Hillery (1955) : « la communauté est constituée de personnes en
interaction sociale dans une zone géographique et ayant chacun une ou plusieurs
cravates additionnelles. » Dans le contexte du NGN Middleware, la gestion de la
communauté (Community Management) est constituée par trois fonctions principales : le
55 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Service Location, le Service Presence et le Service Discovery. Ces trois fonctions
principales permettent de construire la communauté. Quand nous avons une adresse d'un
membre, Service Location détermine la localisation (position) du membre de la
communauté. Quand nous avons la localisation d'un utilisateur (par exemple), le Service
Presence permet de trouver les membres de la communauté, qui sont à proximité. Si
nécessaire, le Service Discovery lance une recherche des membres de la communauté,
qui ont les potentiels et les compétences voulus.
Nous définissons le Community Management comme un contrôle fonctionnel des
systèmes par les communautés (utilisateur, réseau, service ou terminal) selon leurs
comportements et/ou caractéristiques communs. Elle se contrôle automatiquement selon
la mobilité en temps réel. Les comportements communs peuvent être : la même
localisation, la même organisation, le même besoin et préférence, etc.
En fait, la communauté la plus intéressante est la communauté de service. Tous les
composants, qui sont fonctionnellement équivalent (les instances d'un SE) et QoS
équivalent (NGN Middleware offrant la même QoS), constitueront le VSC (Virtual Service
Community). Le rôle de ce VSC est de continuer à grouper automatiquement les
membres de la communauté qui ont les mêmes comportements et caractéristiques (QoS).
Cette communauté virtuelle de services contrôle également toutes les entrées et les
sorties des membres de la communauté. La sortie d'un SE peut se produire après un
dysfonctionnement/dégradation au niveau QoS.
D’autre part, la gestion de QoS (QoS Management) est constituée de deux services
principaux: Routing Table qui garde l'information de QoS des SEs et les liens entre ces
SEs; Service Logic qui donnera le déroulement des interactions entre les SEs.
Ces deux services nous permettent de proposer une session dynamique de service
utilisant les messages SIP+ proposés. En fait, nous avons besoin de la liste des SEs à
exécuter. Elle est fournie par la logique de service et nous la mettons dans le message
SIP+. La table de routage est gérée en temps réel afin de s'assurer que les SEs optimaux
sont appelés.
Il nous reste enfin, le User Management qui dans notre conception, devrait contrôler une
communauté d’utilisateurs. Il comporte plusieurs services. On cite par exemple le User
Location qui permet de prendre en considération la mobilité de l’usager.
Afin de mieux comprendre l’interaction entre les différentes entités de composition de
services de cette nouvelle architecture, on va représenter autrement le NGN Middleware
dans le paragraphe suivant, et on va expliquer ces différentes parties.
4.2. La session de bout en bout UBIS
Les demandes d’utilisateur, telle que la réalisation d’un plan de voyage, ont besoin de
plusieurs services coordonnés ensemble. Aujourd’hui, l’utilisateur est obligé de gérer ce
processus de coordination lui-même. Il doit d’abord ouvrir le premier site pour réserver des
tickets, et après le deuxième pour l’hôtel. En terme technique, il doit ouvrir deux sessions
différentes séparément. Plus généralement, nous pouvons dire qu’aujourd’hui nous
sommes « application centric », c'est-à-dire que suivant les contraintes des applications,
l’utilisateur est amené à ouvrir autant de sessions particulières que d’applications.
Pour palier cet inconvénient, nous proposons de mettre en œuvre une seule session de
bout en bout regroupant toutes les applications demandées. L’objectif étant que la session
soit orientée utilisateur, basée sur des blocs fonctionnels qui seront en plus ubiquitaires
pour supporter la mobilité.
Cette proposition de la session « User-Centric » vise à fournir les services personnalisés
automatiquement au travers d’une demande utilisateur. L’utilisateur suivant sa logique de
service, formule sa demande une seule fois au début et il obtient le déroulement des
56 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
opérations de façon automatisée et transparente. La session « User-Centric » est
responsable de la composition de service dynamique, ainsi que son support en termes de
la connectivité de bout en bout. Il combine tous les services séparés ensemble et génère
une session unique (Figure 44).
Figure 44 : Sessions Multiples vs. Session Unique
Tous les échanges de données, l’établissement et la destruction de la session, ou toutes
les autres activités comme modification, se passeront dans cette session spéciale.
Nous traiterons la sécurité de cette session dans la tâche qui lui est consacrée, sachant
que l’un des objectifs de cette session est que l’utilisateur ne soit obligé de s’authentifier
qu’une seule fois. Le système devant prendre en charge la relation avec les différents
services sollicités par la session.
Basé sur le modèle VPSN, la session « User-Centric » suit aussi le principe du service de
routage. La demande de l’utilisateur invoque le premier service. C’est au premier service
de trouver le deuxième service et d’invoquer son successeur automatiquement. De cette
façon, une chaîne de services peut être générée pendant ce processus. Ces services sont
activés un après l’autre pour réaliser l’application demandée par l’utilisateur.
Figure 45:Concept de la session « User Centric »
Comme le montre la Figure 45, grâce à notre modèle architectural VPXN, la session
« User-Centric » a des services supports dans chacune des couches. Donc la session
elle-même doit s’adapter à toutes les modifications selon la mobilité ou l’environnement
ambiant. Nous introduirons un automate pour réaliser la gestion automatique et
dynamique de cette session. C’est cette session « User-Centric » qui garantit une mise en
relation complète, pratique et continue pour les utilisateurs.
57 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
5. De l’architecture aux blocs fonctionnels
5.1. Topologie fonctionnelle
Partant des besoins de « User-Centric » et les manques des technologies existantes,
nous essayons ici de consigner et de valider avec la première étude faite dans le SP1.2,
les « services supports » et leurs interfonctionnements pour soutenir la continuité de
service intégrée et sans couture. Ces « services supports » sont des services proposés
par la plate-forme de services pour soutenir les services qui sont en train d’être délivrés et
que nous désignerons comme des « services applicatifs » ou des services utilisateurs.
Nous pensons tout d’abord lever l’ambiguïté de NGN et NGS. Notre vision de NGN est
comme le montre la Figure 2 pour couvrir toutes les mobilités. Un « seamless userware »
est situé dans la couche de user pour avoir des informations décisionnelles afin de faciliter
la personnalisation.
Les services dans notre contexte, les NGS, sont proposés à travers un réseau de services
horizontal pour supporter la mobilité de service. Les composants de services doivent être
interopérables, accessibles par plusieurs acteurs, provenant de plusieurs fournisseurs
dans un contexte ubiquitaire.
Pour ce faire, nous avons besoins de « services supports » pour construire et gérer ce
réseau de service. C’est pourquoi nous proposons le « Serviceware » (Figure 46 -1) pour
traiter la composition de service et sa gestion dans une architecture horizontale. Son
objectif principal est la virtualisation des services, la mutualisation de services et le
support de décisions flexibles.
Figure 46 : Topologie fonctionnelle
La propriété de virtualisation des services demande que les services aux clients soient
fournis d’une façon transparente. Il faut donc se doter de mécanismes offrant an client la
58 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
transparence de la localisation des services qu’il demande, à leur composition, à leur
organisation et gestion. Le client aura donc accès aux services qu’il demande sans se
soucier de leur localisation réelle ou des mécanismes qui sont mis en œuvre pour le
maintien de leur QoS et de leur continuité. La virtualisation de service permet l’utilisation
optimale des ressources par une allocation dynamique de service en fonction des besoins
de chaque application à un instant donné. Elle offre également une isolation des différents
utilisateurs simultanés d'un même service ce qui rend la sécurité de service.
La propriété de mutualisation de service impose non seulement la réutilisabilité de ce
service, mais aussi sa partageabilité en tant que ressource en réseau et accessible par
réseau. Cela commence par une conception du composant de service au contour bien
délimité afin de favoriser leurs interactions et leur communication. Des propriétés de
simplicité et d’indépendance entre les éléments de service induiront la viabilité du
système. La mutualisation de service est gérée à travers un Provisioning dynamique sur
n’importe quelle plate-forme de service. La scalabilité sera assurée par le contexte
ubiquitaire.
Au-delà de la mutualisation, nous pouvons appliquer tous les autres concepts de la
« technologie réseaux » pour supporter des décisions flexibles. En particulier, la
modélisation permet de représenter les composants de services sur le réseau et en
réseau grâce au processus d’enchaînement d’élément de composants de services
(VPSN). Ainsi, nous pouvons optimiser ces liens en ayant recours à la simulation pour
évaluer les performances de ce réseau de service. La décision flexible est alors assurée
par le routage sémantique et dynamique des composants de service et la base de
connaissances décisionnelle.
Fondé sur les quatre niveaux de visibilité, nous allons gérer chaque type de mobilité par le
niveau architectural approprié. Nous rappelons que les VPxN (x=Equipement, Réseau,
Service ou Utilisateur) sont préconisés par notre modélisation pour identifier les
composants coopérant pour fournir le service. Donc chaque niveau gèrera
dynamiquement son réseau de composants coopérant en fonction des mobilités. Ainsi tout
changement intervenant lors des différentes mobilités au cours de la session « UserCentric » sera pris en compte.
Ce qui nous manque sont alors les solutions abouties pour auto gérer l’échange de
composant sans interrompre le service. Est-ce que les technologies existantes sont
suffisantes pour supporter les mobilités ? Nous avons constaté dans l’étude du contexte
que des solutions comme le handover étaient possibles au niveau L2 et L3, mais que rien
n’existe pour la mobilité de services et des utilisateurs. Comme nous le détaillerons plus
tard, nous proposons de constituer des communautés virtuelles des composants jouant le
même rôle dans un contexte donné. C’est ainsi que nous allons regrouper selon des
critères de coopération, les utilisateurs (Users community), les terminaux (Devices
community) et les services (Services community). Ce qui permettra la gestion de mobilités
à travers les autogestions de ces communautés virtuelles dans chaque niveau de visibilité.
Les utilisateurs d’aujourd’hui peuvent jouer plusieurs rôles, en les mettant selon un intérêt
commun dans une organisation virtuelle, nous pourrions suivre leurs activités et offrir des
services qui les satisferont. C’est pourquoi nous proposons « Users community
management » (Figure 46 - 2).
Il en est de même pour les ressources ambiantes que nous devons gérer autour de
l’utilisateur. Nous trouvons donc « Devices community management » (Figure 46- 3) pour
les terminaux auxquels l’utilisateur a potentiellement accès. En effet, pour notre vision
« User-Centric », nous prenons en compte les préférences de l’utilisateur qui précèdent la
mise en œuvre des Handover Horizontal et Vertical. La gestion aura pour but de préparer
le changement de terminal demandé par la mobilité de l’utilisateur.
59 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Quand un terminal bouge, l’utilisateur rencontrera différents choix des réseaux d’accès.
Nous supposons que les réseaux d’accès sont gérés par une organisation d’accès
(« Accesses organisation management »). Le choix de la connectivité de réseau d’accès à
réseau cœur se fait par le fournisseur de connectivité. Ces deux types d’organisation sont
gérés par les fournisseurs de connexion.
Grâce au « Serviceware », les composants de service sont devenus les services
ubiquitaires et sont gérés par la communauté virtuelle correspondante « Service
community Management » (Figure 46 - 4). La communauté de service organise les
composants de service des différents opérateurs selon les besoins de « User-Centric ».
L’autogestion de la communauté des services répondra la mobilité de service.
Avec ces gestions des mobilités, nous pouvons maintenant considérer la mise en relation
de bout en bout, c'est-à-dire, la « mobilité de session ». La session que nous essayons de
construire et de maintenir est la session mobile orientée utilisateur. Dans cette session, le
service demandé par l’utilisateur est le résultat de l’agrégation des services offerts par
chacun des niveaux VPXN. L’ensemble de ces composants fonctionnels constitue les
« services supports » que nous avons dénommé « NGN Sessionware » (Figure 46 - 5).
Par ailleurs, dans notre topologie fonctionnelle (Figure 46) nous trouvons « seamless
userware » qui est situé dans la couche utilisateur. Ce dernier intègre les « services
supports » de l’Userware auxquels nous rajoutons les fonctionnalités pour assurer la
continuité de service sans couture.
L’« Infoware » rassemble les informations coopératives et décisionnelles de chaque
niveau. Il contribue à la continuité de service à travers le profil real time. Ce profil donne
une image globale en temps réel et supporte la QoS de bout en bout de façon
transparente. Cette composante informationnelle sera traitée plus tard.
5.2. « Serviceware » et le VPSN
Nous rappelons que pour avoir une continuité de service sans couture, c'est-à-dire, une
omniprésence de composition de service, nous préconisons la gestion à travers le réseau
de service dans une architecture de type P2P.
Tant que le déploiement de services autonomes et auto gérables consommeront temps et
argent, la mutualisation du ES fournira un moyen d'optimiser les ressources en partageant
de manière efficace entre les différents utilisateurs.
A travers la mutualisation, sera assignée une tranche du ES, qui comprend seulement les
ressources nécessaires à chaque demande utilisateur. Le ES peut être mutualisés parmi
plusieurs VPSN et utilisés dans différents contextes (Figure 47). Toutes les ressources
non utilisées dans le ES seront libres d'être assignés à de nouveaux utilisateurs à la
demande. En outre, plusieurs tranches du même ES peut être trouvé dans le même
VPSN, chacun d'eux servant à remplir la même fonction, mais avec des cibles différentes,
avec ses propres exigences et contrat.
60 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 47: Mutualisation d’un ES pour différente Composition de Service
Afin de visualiser la flexibilité de la composition de service, nous proposons un scénario
(Figure 48) qui prend cas de deux utilisateurs, chacun d'eux avec sa propre session, donc
ils disposent des VPSN indépendants.
L’utilisateur A veut afficher un film offert par son fournisseur de VoD chez des amis.
L’utilisateur A ouvre sa session, et accède à l’interface de la vidéo à la demande du
fournisseur qui lui permet de choisir le film qu'il souhaite regarder de la base de données.
Pour autoriser l'accès à l’utilisateur A, une authentification (authentification ES) sera faite
par le fournisseur de vidéo à la demande afin de vérifier son identité. Le service qui
permettra le choix du film sera fait par le choix du contenu du ES.
Une fois le film choisi, une nouvelle instance de l'authentification du ES sera nécessaire,
cette fois, pour authentifier l'utilisateur à sa compte afin de charger le coût du film
demandé. L’ES autorisation sera également demandé afin de vérifier si le film choisi n'est
pas interdit à cet utilisateur particulier (d'après sa politique de contenu, si une scène
d’action s’applique dans le film). Notez que l'authentification et l'autorisation des services
sera effectuée d'une manière transparente, sans l'intervention de l'utilisateur A.
Une fois le film est choisi et approuvé, l’ES Localisation sera utilisé pour localiser
l’utilisateur A et les terminaux susceptibles à être utilisés pour l’affichage du film.
Après avoir analysé toutes les possibilités, les meilleurs équipements sont un vidéo
projecteur connecté à l’ordinateur de l’utilisateur A pour afficher l'image et pour le son, il y
a un équipement avec des haut-parleurs de bonne qualité avec Hi-fi. L’ES streaming,
transcodage, séparation de l’image/et Son, affichage de l'image et affichage du son
travailleront ensemble pour fournir le service demandé par l'utilisateur A avec les
meilleures performances possibles.
61 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 48: Scénario de la mutualisation d‘un ES et Composition de Service
Notre deuxième cas est situé dans un contexte complètement différent.
Un utilisateur B est en vacances et conduit sa voiture pendant quelques heures à la plage
la plus proche. Il a ouvert sa session avant de quitter son domicile et choisi parmi une liste
la musique qu'il veut écouter au cours de son trajet (ES play-liste choix).
Selon les préférences de l'utilisateur spécifié dans son contrat, l'utilisateur B veut recevoir
tous ses messages SMS comme SMS-vocaux pendant qu’il conduit sa voiture.
L’utilisateur B quitte sa maison en écoutant la musique choisie précédemment (ES lecture
de CD et affichage du son pour adapter le son au type de musique joué).
Alors qu’il est sur la route, il reçoit un SMS. L’ES Localisation sera appelé pour localiser
l'utilisateur afin de trouver la meilleure façon de délivrer le SMS.
Une fois localisé, l'authentification et autorisation du réseau sont nécessaires. Le service
de lecture de musique est en pause tout en offrant la communication vocale-SMS et ES:
SMS de livraison, transcodage texte à voix et affichage du son, sont utilisés pour y
parvenir. Le service de jouer la musique sera repris après que la livraison des SMS soit
terminée.
On peut observer dans ces deux cas, comment le même ES peut être mutualisé parmi les
différents utilisateurs et comment le même ES peut être utilisé dans des contextes
différents, grâce à la généricité du ES. Cela rendra la composition souple et permettra aux
utilisateurs de personnaliser leurs services et d’en créer de nouveaux en fonction de leurs
besoins.
Basé sur les propositions sur la composition de service et la fourniture de service à travers
le VPSN, nous pouvons maintenant préciser le bloc fonctionnel de le « Serviceware »
comme la suite (Figure 49) :
62 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 49: Serviceware
Nous expliquons les fonctions importantes :
•
•
•
•
Service Composition
Cette fonction doit effectuer toutes les spécifications que nous venons de
proposer.
Service delivery (VPSN)
La livraison de service concerne la gestion d’une session continue basée sur un
tableau d’entrée/sortie de l’agrégation de service (QoS routing table). Ce tableau
est maintenu par la fonction de continuité dans chacune des communautés. La
construction dynamique du VPSN permet une session de service sans couture et
sans coupure.
E2E QoS management
Cette fonction nous permet d’avoir une continuité de QoS de bout en bout.
Charging
Ces fonctions nous permettent d’enchaîner tous les composants de service des différents
fournisseurs de service et offrir à l’utilisateur un charging global et une seule facture.
5.3. Gestion des mobilités
En considérant les mobilités qui sont les causes principalement des discontinuité de
service, nous pouvons retrouver les solutions traditionnelle de la gestion de mobilité pour
le réseau tout IP : Mobile IP et SIP Mobility. Partant la première réponse à notre
problématique obtenu, pour avoir une gestion de la mobilité à la façon générique, nous
nous intéressons la gestion de mobilité un environnement P2P.
Nous rappelons que pour avoir une continuité de service respectant la QoS, tous les
dysfonctionnements de la QoS (§5.3.1) sont considérés comme les événements qui
lanceront une gestion. La première étape est d’essayer d’identifier les acteurs (§5.3.2) qui
invoqueront la coupure de la fourniture de service à cause de mobilités. Nous proposons
une gestion autonomique et dynamique par les communautés virtuelles pour gérer ces
mobilités. Nous démarrons du concept de communauté d’intérêt (§5.3.3) pour donner un
règle d’organisation. L’autogestion de la communauté (§5.3.4) est alors proposée.
5.3.1 Dysfonctionnements de la QoS du composant
Nous avons choisi quatre critères pour exprimer les caractéristiques de service. Comme
nous l'avons exprime la QoS traduit le comportement du service. Or ce comportement
63 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
peut se modifier durant les différents déplacements. Nous allons recenser les raisons du
dysfonctionnement de la QoS du composant lors des mobilités à travers les critères.
La Disponibilité
•
•
Au delà des indisponibilités dues aux pannes du composant, nous pouvons avoir, lors de
la mobilité du terminal, qui entraîne des changements de réseau d'accès, des
dépassements de seuil de temps de réponse ou des coupures de connectivité.
Dépassement de seuil du temps
Par exemple, on prend un composant de service. Pour ce composant, le dépassement de
seuil du temps peut être à cause de l'expiration de crédit du côté utilisateur, l’autorisation
pour accéder à ce composant n’est plus valable. Ainsi que l’utilisation du composant
comme un dépassement d’une mise à jour ou d'un changement des paramètres.
Coupures de connectivité
Elles se produisent suite à des pannes de matériel ou de logiciel. Une panne du hard
indique une faute dans les équipements par exemple les serveurs, les câbles, les
terminaux, etc. Celle du soft peut être la congestion du réseau ou des fautes / time out
dans les protocoles de la communication.
De plus, si on se trouve dans un contexte 'transorganisationnel' on peut également avoir
des coupures lors du changement de fournisseur de service ou d'une remise à jour de la
configuration à cause du changement de location.
Délai
Là aussi la mobilité du terminal, entraîne des temps de traversé plus long, qui impactent le
temps de réponse demandé initialement par l'utilisateur dans son SLA. Dans notre
contexte ubiquitaire, on aura des possibilités de préserver les temps de réponse.
Capacité
Il s'agit ici d'un manque de ressource pour les traitements aussi bien au niveau du
terminal, que du réseau ou du composant de service. Les fonctions de Provisioning
(terminal, réseau, composant de service) n'ont pu aboutir lors de la mobilité de l'utilisateur
(changement de terminal) ou lors de la mobilité du terminal (changement de réseau
d'accès) ou lors du changement du composant de service.
Fiabilité
Nous trouvons sous ce critère les dysfonctionnements dus à la perte de données lors des
différents handovers qui interviennent lors des déplacements.
Le dysfonctionnement de ces quatre critères traduit le fait que la QoS demandée n’est
plus garantie par les composants de service lors des déplacements de l'utilisateur. Tous
ces dysfonctionnements sont considérés comme des événements qui déclencheront la
gestion.
5.3.2
Des acteurs
Après le recensement des dysfonctionnements de la QoS, nous allons identifier les
acteurs extérieurs et les blocs fonctionnels correspondants pour traiter les différents types
de mobilité.
D’après les exigences de NGN et les besoins de l'user centric, on trouve donc (Figure 50):
64 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 50: les cas d’utilisation de la gestion de mobilité
Devices, qui représentent les terminaux autour d’un utilisateur, ces terminaux peuvent
être ceux qui sont utilisables et ceux qui sont prêts à être utilisé.
Access Networks, qui représentent les différents types de technologies d’accès, ces
réseaux d’accès peuvent être homogènes ou hétérogènes.
Services, qui représentent les services variés supportés par les fournisseurs de services.
Users, qui représentent les utilisateurs avec une identification unique.
Contents, qui représentent les contenus de service comme textes, images, audio, vidéos
et animations. Ils ont un rôle important dans le format de service.
5.3.3 Concept de communauté d’intérêt
Pour pallier les dysfonctionnements de la QoS concernant les composants, on propose
une organisation fondée sur "les communautés d'intérêt".
Nous disposons d'une définition de Hillery (1955): «la communauté est composée de
personnes avec des interactions sociales au sein d'une zone géographique et ayant un ou
plusieurs autres liens."
Une autre définition de la «communauté d'intérêt» (CoI), est donnée par US DoD: "Un
groupe de personnes connectées les unes aux autres par un besoin de résoudre des
problèmes communs, de développer les compétences et de partager des pratiques
communes "
Le concept de “Communauté d’intérêt” est applicable par exemple à un groupe de
personnes dans une location résidentielle et ayant au moins une des trois dimensions
suivantes:
1. la dimension Perception : Un sentiment d'appartenance à une région ou à une localité
qui peut être clairement définie.
2. la dimension Fonctionnelle : la capacité de coordonner les services demandés avec les
exigences de la communauté.
3. la dimension Politique: la capacité à l’élection d'une représentativité pour exprimer
l’intérêt de la communauté et concilier les conflits de tous ses membres.
C’est important de mentionner que cette définition inclue deux dimensions de la notion de
communauté d'intérêt. Elles sont identifiables en tant que dimension subjective
(perception) et objective (fonctionnelle) et de ce fait, chacune se rapporte à différentes
mesures et qualités. La dimension politique implique à la fois l’aspect subjectif et objectif.
Les mesures fonctionnelles de la communauté d'intérêts devraient également analyser
l'étendue de l'administration locale comme un fournisseur de services surtout dans le
cadre de la gestion. Il peut aussi être utile d’évaluer l’existence ou la tendance de la
coopération entre différentes communautés d’intérêts. La différence des communautés
peut aussi se faire selon les activités et les services fournis.
65 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
L’évaluation des caractéristiques politiques peut être la direction, la distribution de
l’information et le réseau de gestion.
En conclusion, plusieurs approches peuvent exister pour concevoir une CoI :
•
•
•
•
•
Une approche organisationnelle ou structurelle : la CoI a un caractère organique et
stable dans le temps. Elle ne dépend pas des missions/objectifs attribuées. Par
exemple, la communauté politique que nous venons de mentionner.
Une approche fonctionnelle : la CoI est constituée pour la durée de vie d’une application.
Par exemple, une équipe de construction, un groupe de soldats pour un convoi, celle de
position,.
Une approche informationnelle : la CoI permet d’organiser des constructions
d’ensembles pour faciliter la mise en œuvre du partage de l'information. Ses membres
sont chargés de rendre l'information visible, accessible, compréhensible, et de
promouvoir la confiance - ces facteurs contribuent à l'interopérabilité nécessaires des
données pour avoir l'efficacité du partage de l'information.
Une approche collaborative : la CoI est formée pour regrouper des acteurs
complémentaires. L'intérêt majeur est d'associer les capacités des membres participés
et d'obtenir ce qu'il y a de mieux avec les ressources disponibles.
Une approche coopérative : la CoI regroupe des acteurs soumis à des règles communes
de comportement.
Le but des communautés d'intérêts est d'acquérir des accords sémantiques et structuraux
sur l'information partagée. Pour que la communauté d'intérêt soit efficace, il faut que leur
champ d'application, c'est-à-dire la sphère de leurs accords, soit aussi restreinte que
raisonnable.
On s’appuie sur cette notion de communauté d’intérêt pour gérer la composition et la
recomposition aussi bien de services que des réseaux, lors des différentes mobilités.
Nous précisons que dans notre contexte, l’intérêt commun, la mission, est de fournir la
continuité de service quelque soit la mobilité considérée.
Nous considérons d’abord la dimension organisationnelle de la CoI. L’organisation de CoI
doit être au sein d’un cadre commun, c’est le cadre qui formalise l’existence commune des
composants comme une entité. Il protège également ses membres pour que les données
et les services intérieurs ne soient pas proposés à l’extérieur. De plus, en considérant la
partie collaborative, ce premier filtrage nous permet de réunir un ensemble d’acteur qui,
au lieu de d’additionner leurs ressources, les multiplient, c'est-à-dire, plusieurs membres
peuvent profiter du même service.
Ensuite, la CoI met en commun des acteurs jouant des rôles. Les rôles sont instanciés par
des acteurs. Il est souhaitable de proposer les supports permettant le travail collaboratif,
c'est-à-dire, le partage de l’objectif soit porte non seulement sur les informations, mais
aussi sur les services, de façon transverse, dans le cadre d’une mission, indépendamment
de l’organisation hiérarchique. Ainsi, une entité peut avoir plusieurs représentations dans
ce plan : appartenance à plusieurs CoI simultanément.
Finalement, la CoI possède les moyens procurant des capacités opérationnelles. Cette
dimension permet de proposer ou de souscrire à des ressources d’après les
comportements des composants de service. Les ressources ont des capacités qui sont en
fait les services offerts.
Donc, les communautés d’un même type d’organisation peuvent être précisées par leur
dimension fonctionnelle et dimensions opérationnelles.
Nous appliquons ces propriétés (cadre- rôle- capacité) pour obtenir la définition formelle
de la CoI. Avec l'architecture proposée, chaque mobilité relève d'un niveau de visibilité.
66 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Nous proposons de créer à chaque niveau des communautés, chacune anticipant les
actions à prendre pour la mobilité dont elle est responsable. Nous trouvons donc les
acteurs extérieurs mentionnés :
•
Communauté des utilisateurs (Users community)
Organisationnellement, cette communauté a d’abord pour but de gérer un groupe
d'utilisateurs qui sont accessibles par une identification personnelle unique.
De plus, d’après les rôles joués par chaque utilisateur, ceux qui ont le même intérêt ou
bien participent à la même activité peuvent être placés dans une même communauté
d’utilisateur. L’objectif pour les mettre dans une même communauté est de partager au
maximum des ressources ou/et des services.
A travers la vision opérationnelle, chaque l’utilisateur apporte des comportements
différents pour des activités différentes. Un utilisateur peut être un demandeur
d’information, mais il peut en être aussi un fournisseur si, il possède des services
intéressant d’autres utilisateurs. Dans ce cas là, ceux qui ont les mêmes comportements
doivent être mis dans la même communauté.
•
Communauté des équipements (Devices community)
Cette communauté est identifiée pour gérer les équipements en répondant différents
besoins.
Pour un utilisateur donné, une seule communauté est donnée pour gérer son groupe des
équipements. Cette communauté est donc conçue pour être responsable de la gestion
des équipements dans le PAN (Personal Area Network). La propriété des équipements est
donc protégée.
Par contre, fonctionnellement, le travail principal de cette communauté est de gérer la
mobilité des utilisateurs, chaque type de équipement a ses propres services offerts mais il
a aussi des contraintes comme la batterie, le poids, le coût d’utilisation. En considérant les
préférences de l’utilisateur sur les équipements, toutes ces informations doivent être bien
organisées.
Un équipement participe donc à plusieurs communautés selon ses services possibles et
ses contraintes techniques. La mutualisation de ressources est donc garantie.
De plus, si nous considérons la capacité opérationnelle, les comportements de chaque
service offert par un équipement doivent être pris en compte.
Dès qu’un composant de service est installé pour un déploiement de service d’une
session « User-Centric », sa QoS devient également un critère pour la construction de la
communauté des équipements.
•
Organisation des accès (Accesses organization)
Cette communauté est nommée ‘organisation’ car elle gère tous les réseaux d’accès
utilisables ou potentiellement utilisables en considérant un terminal mobile. A cause du
basculement du terminal entre différents domaines d’administratifs, cette communauté doit
aider à la gestion du handover et à la gestion de localisation.
L’objectif de la gestion du handover est de garder toujours la connexion malgré le
mouvement du terminal.
L’objectif de la gestion de la localisation est de garder la trace du terminal même sous
l’état de veille pour être prêt à fournir les services demandés.
La gestion est prise en compte par les fournisseurs de réseau, nous avons considéré que
la plupart des solutions actuelles répondaient à cette mobilité du terminal.
La mobilité de réseau doit également être supportée par cette organisation.
•
Communauté des services (Services community)
La mobilité de service doit être supporté grâce à l’auto gestion de cette communauté. La
communauté organise les services qui ont la même caractéristique organisationnelle, par
exemple, l’endroit où se trouvent les composants de service. De plus, les services dans
une même communauté peuvent être fournis par différents fournisseurs.
67 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Principalement, on peut avoir plusieurs communautés de service simultanément en
fonction de différentes exigences fonctionnelles. Cette communauté gère tous les
composants de service fonctionnellement équivalents.
Pour que l’aspect non fonctionnel soit respecté, les composants de service qui sont QoS
équivalents doivent être mis dans une même communauté de service.
•
Communauté du contenu (Content community)
Cette communauté a pour but de gérer la migration du contenu lors des différents types
de mobilité. Par exemple, la fonction de choisir les différents codages pour un même film a
besoin du support de la gestion de contenu pour avoir tous les formats de fichiers
disponibles pour le transcodeur. Nous proposons de gérer également les contenus à
travers la gestion de communauté appropriée car ce dernier est très important dans le
cycle de vie d'un service. La gestion d’un système distribuée et le problème de sécurité
peuvent être gérés par l’auto gestion de cette communauté. Cette communauté n’est pas
dans le périmètre d'étude du projet UBIS.
5.3.4 Autogestion de communautés
Pour satisfaire le besoin de flexibilité demandé par « User-Centric », nous avons d'abord
proposé de répondre aux différentes mobilités par la gestion d'un réseau représenté à
travers les enchaînements de composants de même natures dénommés VPXN
(X=Utilisateur, Service, Connectivité, Equipement). Nous rappelons que les communautés
d’intérêt définies ici ont pour l’objectif la continuité de service, et sont proposées comme
les « services supports » de chacun de réseau virtuel (VPXN). La gestion de ces éléments
en communauté et leurs interfonctionnements doivent être donc autonomiques et
dynamiques.
Nous définissons la gestion de communauté comme un contrôle fonctionnelle du système
par la communauté virtuelle en fonction de leurs comportements communs et/ou leurs
caractéristiques communes. Elle s’auto gère automatiquement en fonction des mobilités
en temps réel. Leurs comportements communs peuvent être : la même localisation, la
même organisation, les mêmes besoins et les mêmes préférences, etc.
Nous organisons les utilisateurs qui ont la même caractéristique dans une même
Communauté Virtuelle (CV), ce qui permet à un utilisateur de recevoir les informations
intéressant le groupe ou de remplacer l’un et l’autre suivant leur activité sociale (VPUN).
Le VPSN est alors construit et maintenu par sélection des ESs appropriés des différentes
Communautés Virtuelles de Services (CVS). Les remplacements des ESs doivent être
faits dans chacune des CVS de façon dynamique et autonomique.
Quant à VPCN, les NEs (Network Element) sélectés doivent pouvoir être remplacés par
les NEs qui ont la même fonctionnalité. Les CV de Réseau (CVR) sont responsables de
l’organisation des noeuds de type backup.
Finalement, les EEs (Element d’équipement) qui ont la même caractéristique doivent être
regroupés dans une même CV de Equipement (CVE) pour garantir le bon fonctionnement
du VPEN.
De plus, la construction et l’autogestion de CV depend non seulement des
fonctionnements équivalents mais aussi de la partie non fonctionnelle : les besoins de
QoS de bout en bout. Le VPXN correspondant doit sélecter le composant qui répond au
mieux au SLA (Service Level Agreement) et maintenir la QoS de bout en bout en cas de
dégradation de QoS causée par les différentes mobilités pendant l’exploitation.
A travers ces exigences que nous avons retenues, nous essayons de préciser les
fonctions génériques de gestion selon les différentes phases.
Création d'une communauté
Nous nous concentrons dans la couche de service. Nous prenons un ES comme un Peer.
Quand un ES est installé dans la plate-forme de service, il déclare tout de suite le service
68 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
qu'il peut offrir, ce qui permet aux autres ESs d'y accéder. Il annonce également sa
fonctionnalité, ce qui permet de l'associer au groupe des Peers adéquat, c'est-à-dire au
bon CVS. Par exemple (Figure 51), une CVS est construite en fonction de la fonctionnalité
équivalente (Fun1).
Quand un utilisateur demande une application, un VPSN est créé pour gérer les
composants de service répondant à son besoin. Pour la fonction Fun1, le VPSN consulte
le CVS avec une QoS1 afin de décider quel composant prendre. Le CVS est donc filtré
d’abord selon les ES ayant la QoS demandée et met les candidatures dans une
communauté. Nous avons alors une communauté où se trouve le composant A avec ses
ES fonctionnellement et QoS équivalentes. Dans l’exemple, c’est le composant A qui est
finalement sélecté par le VPSN.
Figure 51: Création de communauté
Les fonctionnalités que nous pensons nécessaires pour la création de la communauté
virtuelle sont:
• Authentification
L'authentification est la procédure qui consiste, pour un système informatique, à vérifier
l'identité d'une entité (personne, ordinateur...), afin d'autoriser l'accès de cette entité à des
ressources (systèmes, réseaux, applications...). L'authentification permet donc de valider
l'authenticité de l'entité en question. Elle est nécessaire à tout accès et celle du coût
(Cost) nécessaire à tout choix.
• Cost
Cette fonction a pour but de calculer le montant total des dépenses pour réaliser un
service. Le coût peut être décomposé en frais de base et en coût de transaction
demandée par le fournisseur.
• Profile & usage profile
Pour avoir une représentation homogène de tous les composants, on adopte la QoS
comme le dénominateur commun. Les critères de QoS sont sélectés pour construire les
profils qui caractérisent un membre d’une communauté. Les informations de la capacité
QoS (le valeur conception de la QoS maximum d’un composant peut offrir) sont dans le
profil de ce composant, l’usage de ces composants se trouve dans le profil de usage.
L’usage est relié avec l’environnement d’exécution d’un composant, donc le profil d’usage
doit comprendre les informations pertinentes pour décider comment utiliser ce composant.
On propose de le structurer à travers la QoS demandée, la QoS offerte et les contraintes.
L’exploitation d'une communauté
Dans la phase d’exploitation du CV, nous devons tenir compte non seulement des
exigences spatiales mais aussi de celles de nature temporelle car le composant doit être
toujours connecté malgré son changement de localisation ou d'activité. Or, les éléments
69 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
associés à localisation et à l'activité doivent être accessibles en temps réel avec les
contraintes.
Avec ces besoins, nous identifions les services de base suivants :
• LBS (Location Based Service)
Ce service de base a pour but de déterminer l’endroit géographique d’un composant
de la communauté en fonction de l’information donnée. Ce qui peut être l’adresse ou
la position de ce composant. LBS peut servir de trouver un composant avec une
fonction et une QoS précise pour l’ajouter à la communauté.
• PBS (Presence Based Service)
Ce service de base a pour but de trouver les composants qui sont à proximité d’une
position connue d’un composant avec des critères. Les résultats de PBS peuvent
servir à donner les possibilités concernant une demande.
• DBS (Discovery Based Service)
Ce service de base a pour but de découvrir les nouveaux membres qui sont qualifiés
pour entrer dans la communauté actuelle.
• ABS (Activity Based Service)
Ce service de base est pour identifier l’activité commune des composants dans un
même groupe.
Ces fonctions sont les fonctions de base pour gérer tous les membres de la communauté
en temps réel. En considérant un dysfonctionnement d’un membre de la communauté,
grâce aux services de base, on peut offrir les réactions correctes et faire les mises à jour
des membres de la communauté. Nous allons détailler des cas d’usage représentatifs
pour montrer comment ces services de base peuvent être utilisées afin d’avoir la gestion
de communauté. De plus, avec cette gestion, la mobilité correspondante peut être résolue.
Gestion de communautés des utilisateurs
Supposant que (Figure 52) Alice veut acheter un cadeau noël samedi et compte rejoindre
Bob aux galeries Lafayette. Elle passe d’abord par le magasin du Printemps, et se
retrouve avec tous ceux qui sont présents autour de ce dernier (UPBS). Grâce à son
agenda, l’UABS déclare automatiquement que l’activité d’Alice est l’achat du cadeau.
Donc elle rejoint la communauté des consommateurs (Communauté 1) pour recevoir les
bonnes informations. Des bons de réduction électronique Printemps sont
automatiquement envoyés par SE5 selon les préférences qu’Alice a indiqué dans son
profil d’utilisateur. Les conseilleurs qui offrent les bons de réduction sont ceux qui sont
retrouvés (UDBS) autour d’Alice et qui sont réunis dans la Communauté 2. Quand elle
arrive près des galeries Lafayette, les informations de Lafayette sont diffusées par SE6 et
sont aussi reçues par Alice car grâce à la localisation (ULBS), Alice est ainsi incluse dans
la communauté 3 de ‘Lafayette’. Bob est supposé arriver un peu plus tard qu’Alice, il sera
alors inclus dans la communauté 3 de ‘Lafayette’, Il lance alors UDBS pour trouver Alice.
70 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 52: Exemple de la gestion de la communauté des utilisateurs
Notre approche facilite les diffusions et le partage d’information grâce à cette construction
dynamique de communautés d’utilisateur. Ce genre des communautés a pour objectif de
réunir les utilisateurs ayant les mêmes caractéristiques, ce qui intéresse les fournisseurs
de contenu. Aujourd’hui, les caractéristiques de l’utilisateur sont enregistrées dans la base
de données du côté l’opérateur, le diffuseur de l’information peut la consulter avant
d’envoyer les publications. L’objectif est de permettre aux diffuseurs d'informations
d'envoyer des informations sans connaître spécifiquement chaque user et d’augmenter
leurs chances de toucher plus de personne et d’avoir l’effet « longue traîne ».
Avec les services génériques proposés avant, nous avons ici la gestion de la communauté
des utilisateurs comme suit (Figure 53) :
Figure 53: Gestion de la communauté des utilisateurs
Gestion de communautés des équipements
La gestion de cette communauté peut supporter deux types de mobilité : la mobilité de
terminal et la mobilité de l’utilisateur. Nous regardons d’abord la mobilité de terminal.
Un utilisateur souhaite connaître les terminaux utilisables dans un contexte mobile,
dynamique et en temps réel. Terminaux autour d’un utilisateur sont organisés de manière
autonome, un nouveau PAN doit être prêt dès l’arrivée de l'utilisateur a un endroit donné.
Aujourd’hui, un utilisateur possède plusieurs terminaux hétérogènes. C’est l’opérateur qui
conserve l’information de ces terminaux concernant un utilisateur. Une base de donnée
centralisée et statique est employée.
Supposant que (Figure 54) Alice est localisée dans son bureau (DLBS) grâce à son
terminal (portable), le service de base de DPBS l’aide de savoir tous les équipements
autour quand elle est dans son bureau. De plus, la fonction DDBS avec sa propre droit
d’accès organise les terminaux utilisables qui lui appartenant pour construire son PAN
(PC, Phone et PDA).les ressources fonctionnellement équivalents sont ainsi réunies par le
DPBS dans leurs communautés pour les différentes activités (scanner ou imprimer). Ces
71 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
communautés des équipements préparent des ressources pour une utilisation sans
coupure et fiable en temps réel.
Quand elle se déplace dans une salle de réunion (DLBS), à travers du service de base de
DABS, son activité de conférence sur son agenda lui permet de joindre la communauté de
la conférence, là où se présentent (DPBS) les équipements des autres utilisateurs, les
équipements sur place (IP phone et projecteur). Supposant que en cours de réunion, les
deux participants ont allumé leur projecteurs apportés, ceux deux nouveaux membres
sont alors découvertes (DDBS par la fonction « projeter ») et regroupés avec le projecteur
actuel utilisé dans la communauté de projecteur.
Figure 54: Exemple de la gestion de la communauté des équipements 1
Notre approche est « User centric ». Selon cette vue, tous les équipements doivent
être organisés autour de l’utilisateur. De plus, ils concernent un utilisateur dédié.
Communauté de équipements gère, dynamiquement et automatiquement, les
terminaux autour d’un utilisateur pour que l’utilisateur puisse toujours avoir une bonne
sélection de terminal répondant différents services. Dans cette vision, la mobilité de
l’utilisateur peut aussi être supportée.
Figure 55: Exemple de la gestion de la communauté des équipements 2
Alice est en train (Figure 55) de regarder une vidéo dans son PDA. L’ordinateur fixe, IP
phone, PDA et le portable sont dans la communauté des équipements domicile (DLBS,
DABS et DPBS). D’après sa préférence, un écran plus grand est préféré pour ce type de
service grâce à la communauté des équipements fonctionnellement équivalents
(SE31=SE32= service d’affichage), selon le DDBS, SE32 installé sur son portable est
trouvé comme celui ayant la meilleure QoS par rapport au SE31 installé dans le PDA. Le
transport est alors changé à travers AN2. Tous ces traitements sont transparents à
72 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
l’utilisateur grâce à l’autogestion de la communauté des équipements Fonctionnellement
équivalents (service affichage).
En conclusion, cette communauté s’auto gère grâce aux fonctions qui sont des services
de base :
• Location est pour identifier où se trouve le terminal;
• Découverte est pour avoir des terminaux disponibles selon un critère sélecté.
• Activité est pour donner les contraintes et les possibilités pendant la construction
d’une communauté avec les préférences de l’utilisateur.
Avec les services génériques proposés avant, nous avons ici la gestion de la communauté
des équipements comme suit (Figure 56) :
Figure 56: Gestion de la communauté des équipements
Gestion de communautés des services
Cette fois-ci, la problématique est de comment assurer une session service de bout en
bout dans une manière sans coupure et sans couture quand le terminal se déplace. De
plus, l’utilisateur n'a pas conscience des traitements.
La session de service ne doit pas être coupée quand un meilleur composant de service
est trouvé et remplacé automatiquement. Aujourd’hui, l’utilisateur est obligé de couper la
session pour choisir un fournisseur qui offre cette fonction avec la QoS souhaitée. Dans
notre approche, les éléments des services sont organisés dans une communauté de
service fonctionnellement et QoS équivalents. L’autogestion des communautés de service
va assurer la mobilité de service.
Alice se déplace (Figure 57) avec son PDA tout en regardant un film fournit par SE22 et
synchronisé par SE11. Après son arrive à AN 1’, la QoS de service offerte par SE22 se
dégrade, grâce à l’autogestion de la communauté de service SE2x (SLBS, SPBS, SDBS),
SE21 est automatiquement sélecté pour une session de service sans coupure.
Figure 57: Exemple de la gestion de la communauté des services
Avec les services génériques proposés avant, nous avons ici la gestion de la communauté
des services comme suit (Figure 58) :
73 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 58: Gestion de la communauté de services
5.4. Sessionware : Continuité de service intégrée
Pour assurer la continuité de service de bout en bout, nous proposons d’abord une
session mobile et unique orientée utilisateur (§4.2). A travers cette session, les gestions
de différentes mobilités peuvent être prises en compte par agrégation.
Les fonctions dans le «NGN Sessionware» (Figure 59) sont donc identifiées:
• Service agrégation
Au delà du réseau de service overlay. L’agrégation de service est la mise en relation
dynamique de tous les services offerts par les composants de niveau différent
(service, réseau, et équipement).
• Continuous service delivery
Cette fonction responsable de la fourniture des services pour l’application demandée
par l’utilisateur.
• E2E QoS management
Cette fonction nous permet d’avoir une continuité de QoS de bout en bout.
• Authorization
• Charging aggregation
• Billing (one bill)
Ces trois fonctions nous permettent d’enchaîner tous les composants de chaque visibilité
et d’offrir à l’utilisateur un charging global et une seule facture.
Figure 59 : « NGN Sessionware »
5.5. « Seamless Userware »
Le dernier bloc fonctionnel est le « Seamless Userware » (Figure 60) avec l’utilisateur
pour interférer. Les préférences sont mises en fonction de la localisation des ressources,
74 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
et/ou suivant son activité à un instant donné. Nous devons traduire les préférences en
fonction de sa location et son activité temporelle. Le filtrage par les préférences nous
permet de déterminer la rentabilité des ressources ambiantes. La priorité de l'utilisation de
chaque ressource ambiante peut être déterminé se basant sur un mécanisme de calcul de
base sur les poids. Après l’application des préférences d'utilisateur, l'information sur des
ressources disponibles (« Real Time Profile » dans l’Infoware) pour la maintenance de la
session est accessible.
Figure 60 : « Seamless Userware »
5.6. Synthèse
Une analyse plus en détaillée nous permet d’identifier les interfaces qui existent entre les
blocs fonctionnels dans une carte fonctionnelle (
Figure 61).
75 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 61 : Carte fonctionnelle
Les besoins de la gestion en temps réel et ceux de faire coopérer les « communautés »
nous imposent une autogestion en fonction de mobilités. Finalement, les handovers
horizontaux et les handovers verticaux qui existent dans le réseau de transport nous
demandent un « offreur de connectivité » selon la meilleure connectivité.
Pour répondre à ces besoins, nous identifions respectivement les usecases suivants :
« seamless userware », « service session provider » et « connectivity provider », pour
offrir la mobilité de session et la gestion de la QoS de bout en bout.
Pour la composition de service qui intègre le SOA pour avoir une architecture horizontale
de service du type réseau overlay. La seconde est pour un enchaînement dynamique et
flexible des composants dans un VPSN.
Nous rappelons que toutes les entités dans notre architecture sont mutualisables et
partageables. Les blocs fonctionnels sont tous du type EDA, ce qui rendre la flexibilité au
système.
Dans le « Serviceware » proposé, la gestion se fait dans deux parties : une partie est la
gestion de la composition de service dans une architecture horizontale pour offrir un
réseau de services. Une autre partie est la gestion de la logique de service pour une
session de services.
Nous reviendrons ensuite sur la QoS, les entités ont leurs propres gestions de
performance pour contrôler et optimiser leur comportement. Cette gestion locale est faite
par le monitoring de leurs caractéristiques non fonctionnelles, c'est-à-dire, leur QoS.
En effet, durant l’exploitation du service, sa QoS reflétera si ce composant fonctionne
conformément au SLA ou pas. Une QoS de bout en bout est souhaité quand nous
considérons une vraie application de services. Assurer les applications globales à travers
la construction d’une session virtuelle et crosslayer est notre but final. Donc les aspects
QoS doivent être intégrées dès le début de la phase conception.
76 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Pour avoir une vision plus claire de toutes nos propositions, nous proposons de les mettre
dans un scénario final (Figure 62).
Figure 62: Scénario final
Un utilisateur emploie son ordinateur portable quand elle est dans son bureau, le SE4 qui
est en fait un composant applicatif, par exemple l’affichage, du côté terminal est en train
de fonctionner. Supposant qu’elle souhaite également recevoir les emails (SE2bis) et SMS
(SE2) à travers un même terminal, la première application « User-Centric » est alors
construite par une logique de service (0) :
LS0= SE1 (authorization) +SE2+SE2bis1+SE4.
(0)
Dans son bureau, le PAN (1) d’Alice représente tous les équipements qui lui
appartiennent :
PANBureau = {laptop, PDA}
(1)
Il est 18H00, elle est supposée sortir du bureau. Mais suivant son agenda, elle attend
toujours un dernier email de confirmation de son client (UABS). Car il n’est pas pratique
d’utiliser l’ordinateur portable pendant la route, Grâce à sa communauté des équipements
PAN au bureau, son PDA est trouvé (DABS, DPBS) disponible pour l’activité de « travail »
pour avoir tous les services. Avec la logique de service (0), SE4 est identifié comme la
fonction souhaitée. Le composant de service SE5 est trouvé (DDBS) équivalent de SE4,
donc le PDA est choisi (DSelecting) pour continuer la session d’application d’Alice. La
session répond à la mobilité de l’utilisateur et un changement de SE4 à SE5 peut se faire,
une LS1 (Figure 62 - 1) est l’application actuelle (2) :
LS2= SE1+SE2+SE2bis1+SE5.
77 / 80
(2)
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Alice se déplace dans sa voiture, un deuxième PAN (3) est alors automatiquement
construit.
PANvoiture = {PDA}
(3)
Puisqu’elle n’a plus de choix de terminal, elle reste donc avec le PDA. Grâce à son
agenda, nous pouvons prévoir son trajet de 18H10- 19H30 avec sa voiture (UABS), elle
ne peut pas voir ses email pendant son trajet en voiture, une modification sur la logique de
service (LS3) (Figure 62 - 2) est souhaitée par les préférences de l’utilisateur : elle
souhaite recevoir ses SMS en vocal. La session actuelle inclut automatiquement le SE3
qui est SMS vocal. Puisque pendant le déplacement d’Alice, le fournisseur de réseaux
mobiles est plus capable d’offrir le service email à travers la 3G (AN2) grâce à sa
couverture plus fine que le WiFi, la communauté de service (4) remplace
automatiquement SE2bis1 avec SE2bis2.
Communauté de Service (email)= {SE2bis1, SE2bis2 }
(4)
Le changement de la composition de service notifie dynamique à VPSN. Le réseau
support (VPCN) s’autogère au niveau du fournisseur des réseaux mobiles pour offrir une
meilleure connectivité. Grâce au « NGN Sessionware », la session des services est
toujours sans couture avec la logique de service (5) :
LS3= SE1+SE2+SE2bis2 +SE3+SE5.
(5)
Quand Alice arrive chez elle, son PAN (6) indique qu’elle a son ordinateur fixe disponible.
Grâce à la connexion ADSL (AN3), le fournisseur de ce type de réseau permet
l’utilisateur d’avoir plus de possibilité au niveau d’un service dédié sur les différentes
plates-formes. Les communautés de services sont donc automatiquement et
dynamiquement construites :
PANMaison = {PDA, Ordinateur fixe}.
(6)
Communauté de Service (email)= {SE2bis1, SE2bis2, SE2bi3}
(7)
Communauté de Service (SMS)= {SE21, SE22,}
L’arrivée à la maison notifie également un changement au niveau de la Logique de
Service, Alice n’a plus besoin du service de SMS
Vocal car elle peut voir les messages
elle-même maintenant. Grâce à son PAN(6), l’ordinateur fixe est choisi car il a une
meilleure qualité d’affichage (SE6), découverte par le DDBS. La modification se fait non
seulement au niveau du terminal mais aussi au niveau du transport et du service car les
anciens composants ne conviennent plus pour la QoS de bout en bout demandé par la
session « User Centric ». Le Binding se fait par le « NGN Sessionware » et nous obtenons
la session actuelle (Figure 62 - 3) :
LS4= SE1+SE22+ SE2bis3+SE6.
(8)
Dans ce scénario, nous nous apercevons que la communauté des équipements est mise
à jour en fonction de la localisation et de l’activité (1)(3)(6). Les communautés de services
(4) (7) s’auto gèrent également pour soutenir leur propre VPXN. La fourniture de service
est toujours garantie d’être délivrée en continue grâce au « NGN Sessionware ».
78 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
6. Conclusion
Du point de vue de l’architecture nous pouvons conclure que l’utilisateur aura accès à un
catalogue qui contiendra les services exposables pour qu’il puisse faire sa propre
composition. L’interconnexion de l’ensemble de ses services repose sur la composition de
service (VPSN) et sur l’agrégation de service (session). L’ensemble des concepts UBIS
sont supportés par ce que nous dénommons des services de bases. La Figure 63 montre
le schéma générique de middleware que nous utilisons dans notre étude. Ce schéma
différencie les services de base (en dessous du support d’interconnexion), des services
exposables (applicatifs) (au-dessus du support d’interconnexion).
Figure 63 : Schéma générique d'un middleware
Pour bien comprendre le fonctionnement du middleware UBIS (Figure 64), il faut définir
chacune des trois parties. On commence par le support d’interconnexion, appelé encore
« le courtier (ESIB : Service Elements Interconnection Bus)». C’est le composant
indispensable qui supporte la mise en relation des éléments distribués (VPSN et Session).
Ensuite, il y a les services de base qui sont nécessaires à la définition et la distribution des
composants (service de politique, nommage, services de localisation, sécurité, …). Ces
services fournissent les fonctionnalités UBIS afin de permettre la distribution et la gestion
des composants. Finalement, on a les services applicatifs qui sont exposables proposés
aux utilisateurs UBIS et qui s’appuient sur les services de bases pour offrir un service
global spécifique (une application).
79 / 80
Projet ANR Verso 2008 - UBIS
SP2 – Lot 2.1 – Définition et spécification de l’architecture
Figure 64 : Architecture du middleware UBIS
UBIS propose cette architecture de service (Figure 64) prenant en compte la
communication et à la mise en relation des composants distribués. Cette structure
d’ensemble est un ensemble de concepts, de règles, de guides et de recettes permettant
de structurer les services, leur contrôle et leur gestion et qui prend en compte au-delà de
l’ouverture, la mobilité, la portabilité et la personnalisation des applications.
Du point de vue de l’utilisateur, l’accès aux services souscrits doit être possible en utilisant
n’importe quel type de terminal et à travers n’importe quel type de réseau et ceci où qu’il
soit localisé et quelque soit le moment de la demande (anytime, anywhere, anyhow).
80 / 80

Documents pareils