OSGiTV
une plate-forme de déploiement
d’applications de télévision interactive basée sur OSGi
Stéphane CHOMAT, Didier DONSEZ
Laboratoire LSR / Fédération IMAG Equipe ADELE
Stephane.Chomat@imag.fr, Didier.Donsez@imag.fr
LSR
Sommaire
Contexte : la télévision interactive
Motivations : applications dynamiques Points de Départ
Service de Déploiement à la Demande
Architecture proposée du middleware terminal Réalisation et Expérimentations
Conclusion et Perspectives Bonus
Le contexte: la télévision interactive
Télévision Numérique
!
" # $ %!& ' ( ) *+
,- ./ 0 ./ *
Accès à des services proposés par l’opérateur TV
!( (
1 ,
2 & 3 & 3 0 %4 + % 2 5+ *
Remarques
6 7 #
1 ( 0 $
Le contexte: la télévision interactive
L’infrastructure réseau
" !! !
Le contexte: la télévision interactive Architecture DVB-MHP / DVB-J
Matériel Terminal
Noyau de SE Pilotes Natifs JVM
PJava 1.1 DVB-J HAVi Autres API
Xlet #1
EPG Xlet #2 PMU
Xlet #3 Cours Cuisine
Xlet #4
Annonce Xlet #5
….
Motivations
Applications modulaires et dynamiques
/ ( & ' 3
( #1 0 3 *
Déploiement sur des millions de terminaux
0 , 0
8
9 : # % ;+
# %< 8 +
Motivations : Application dynamique
Exemple
# $
%
& '
Motivations : Application dynamique
Conception et distribution de l’application
(
) #
( )
* +
"
# '
( ,
)
$ - ( -.
/ / /
/ /
/ - / -
)
$ /
/
Services de moteur de jeu
Service de jeuService
de recharge
Service d’application iTV
Motivations : Application dynamique
Activation de l’application
Le minimum à activer
=
=>
( )
* +
)
$
Motivations : Application dynamique
Exécution de l’application
Apparition de services pendant l’exécution
- ( 1 ( > 1 - ( > 1 #
( )
* +
)
$ - ( -.
)
$ /
,
Motivations : Application dynamique
Mise à jour d’un jeu
Certains services peuvent être remis à jour
! ' 3
( )
* +
)
$ ( -.
)
$ /
,
( -. 0
Points de départ
CESURE
8 1 % 2 +
#
OSGi
/ ' 3
Beanome/ServiceBinder
2 $ ( #. ;
!/ ' 3 % ' ( +
OSGi - Architecture générale (i) Déploiement
? !
!
"
#$ %
"
# &
%
"
# %
OSGi - Architecture générale (ii) Interactions
? !
!
"
#$ %
"
# &
%
"
# %
' (
$ )*
? !
!
"
#$ %
"
# &
%
"
# %
' (
$ )*
OSGi Passerelle, Bundle et Service
Bundle
Unité fonctionnelle (offre des services) Unité de livraison et de déploiement
sous forme d’un jar
Un serveur embarqué
? !
!
"
#$ %
"
# &
%
"
# %
' (
$ )*
OSGi Structure d’un bundle
) +,++
,++, +++, +,++- ,++, +++,
- +,++
,++, +++,
-
!
"
# $ %
&
!
# $ %
&
Pros vs Cons OSGi pour la iTV
Pros
/ ' 3
8 2 > /
! ' 3
# 7 (
Cons
( (
. 7 (
( &
Installation de service à la demande
!! ' %
! ' %
!
'
# #
,
(
Installation de service à la demande
!!
'
# #
,
(
( ( @ A
' %
! ' %
!
5
.
) 1
2 &
* +
#
* +
* +
3
! 4
*
) '
(
"
( %
2
" #
& '
5
& # 3 %
6 % ( %
" % (
2 .
+
#
"
6
) '
6 %
" % 6 %
7 6
& 3 % 54 8 9
5
"
"
"
+++ /
(
Architecture du Terminal iTV
Réalisation et Expérimentations
Simulateur réseau opérateur iTV
' $ 0 8 2
7
Terminal
88 B 2 0C 17D EF2 G H!2
. !H AIAF J( =A=
K
; 4 44 4 4 *
/ ( L
Carte
! J(
!84! , # # ; % +
4 ! *
Conclusion
Déploiement dynamique de services à la demande
1 & 7
! & 0
# # 9 & :
Proposition et implémentation d’un middleware iTV
! 0 ' 3
Projet COMPiTV - RNRT 2001
/ & =M / &
4 0 ; HN/ 8 !2 8O H
Perspectives
Package à la demande
H P
. & ( (
Conteneurs extensibles dynamiques
. ;
% ( +
L ( 3
*
Bonus
OSGiTV
Démarrage des applications (Xlet)
Actions
/ 7! @ %K +
2 7 ( K
A partir de
1 % 4G+
% 4G Q +
Informations diffusées (AIT)
#
UNSTORE xletCasino
STORE xletWeather
AUTOSTART xletEPG
Installation de Service à la Demande
Informations diffusées (SIT)
1 2 2 A1
4 4 1 -
>( 1A (A1 AK (
(A A 4 4
=A A
,77 FA A A ,= 7 4 4 A>
URL
Propriétés (
A A & 0A& A A A '
Interface
(A A & A1 A 4 4 A4 4 4 ,77 FA A A ,= 7 4 4 A>
URL
&>
Propriétés
(A A & A1 A 4 4 A4 4 4
Interface
Installation de drivers
DeviceManager Standard d’OSGi
. (
Device Locator sur flux diffusé Information diffusée (DIT)
(
) $
!
*
!
,77 FA A A ,= 7 / ( ; 4 A>
URL
,77 FA A A ,= 7 / ( ; 4 A>
Id
R% ( 'S +R
Filtre LDAP
Bonus
OSGi
Rappel sur la
programmation orienté service
Les services sont « invariants »
Ex: JINI, WebServices, TORBA, …, OSGi
4 # &
& &
!
# !
!
# !
! '
! '
!
' % +
!
' % +
!
# !
!
# !
'
#
-
Dépendance & Dynamisme
> start 5
! -
# (
( 2
3 4 1
55 3
> uninstall 3
Dépendance & Dynamisme
> start 5
!
2
4 1
5
> uninstall 3
Dépendance & Dynamisme
!
1 2
5
> update 4
> refresh
44
G 7 (
OSGi Déploiement dynamique de services
Déploiement dynamique d’applications sans interruption de la passerelle
8 2 > ! @ H
H (
(
(
Domaines d’application cibles
' $ & 3 , ' $
0 % +
7 3 7 3
"
*
*