Présentation
EnglishRÉSUMÉ
Plug and Play (PnP), ou littéralement « on branche et ça marche », caractérise la facilité d’installation d’un nouvel équipement dans un système informatique. « Universal Plug and Play » (UPnP) reprend les concepts de PnP pour les étendre à tout le réseau, facilitant la découverte et le contrôle de dispositifs, tels qu’une imprimante réseau, un routeur ADSL ou tout autre équipement périphérique maintenant connecté au réseau local. D’autres technologies, telles que Bonjour, SLP et Bluetooth, proposent des approches assez similaires.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Vincent HOURDIN : Ingénieur en informatique de l’École Polytechnique Universitaire de Nice – Sophia Antipolis
-
Stéphane LAVIROTTE : Docteur en informatique de l’Université de Nice – Sophia Antipolis, - Maître de Conférences à l’IUFM Célestin Freinet – Académie de Nice
-
Jean-Yves TIGLI : Docteur en informatique de l’Université de Nice – Sophia Antipolis, - Maître de Conférences à l’École Polytechnique Universitaire de Nice – Sophia Antipolis
INTRODUCTION
Plug and Play (PnP), ou littéralement « on branche et ça marche », caractérise la facilité d’installation d’un nouvel équipement dans un système informatique. Techniquement, le système d’exploitation reconnaît le périphérique que l’on vient d’adjoindre à l’ordinateur, trouve le pilote nécessaire pour le faire fonctionner ou demande de charger ce pilote et lance le travail après avoir réadapté ses paramètres pour tenir compte du nouveau dispositif. L’installation du matériel est ainsi grandement simplifiée par la configuration automatique des paramètres du pilote, tels que l’interruption utilisée, la plage des ports d’entrées/sorties employés, etc.
« Universal Plug and Play » (UPnP) reprend les concepts de PnP pour les étendre à tout le réseau, facilitant la découverte et le contrôle de dispositifs, tels qu’une imprimante réseau, un routeur ADSL ou tout autre équipement périphérique maintenant connecté au réseau local. Cette technologie n’est pas la seule à proposer une telle approche.
Dans la première partie de ce document nous comparerons les grandes caractéristiques d’UPnP avec des technologies plus ou moins proches, telles que Bonjour, SLP et Bluetooth, notamment en ce qui concerne les protocoles de recherche et de découverte utilisés. Nous verrons ainsi qu’une des caractéristiques, forte et spécifique à UPnP, repose sur l’utilisation de protocoles très proches de ceux déjà éprouvés dans le domaine des Services Web.
Dans une seconde partie nous présenterons l’architecture générale d’UPnP, décomposée en dispositifs UPnP (serveurs) et en points de contrôle (clients) sur le réseau, ainsi que les interfaces associées normalisées.
Nous détaillerons dans la troisième partie la pile protocolaire UPnP, avant de nous attarder sur la mise en œuvre logicielle d’UPnP dans la quatrième partie. En conclusion, nous soulignerons les perspectives ouvertes par cette nouvelle technologie qui, au-delà de sa vocation première et de par sa proximité avec les services Web, pose clairement les bases d’une extension vers des services Web pour dispositifs.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Implémentation d’un serveur et d’un point de contrôle UPnP
Nous allons maintenant étudier une implémentation de serveur UPnP et d’un point de contrôle qui lui est associé, écrits en C pour LibUPnP. La LibUPnP est une implémentation libre d’un SDK portable pour les dispositifs UPnP. Intel avait développé cette bibliothèque en 2000 ; elle a depuis été mise à disposition sous licence BSD, pour lui assurer une meilleure croissance et un meilleur support. Écrite pour GNU/Linux à l’origine, elle a été portée pour divers systèmes d’exploitation, tels que FreeBSD, Solaris, et Windows. La communauté autour de ce projet open-source est active, ce qui garantit une bonne fiabilité du code et une bonne réactivité dans le cas peu probable où l’on trouverait une faille dans l’implémentation. C’est probablement la pile UPnP la plus stable et efficace.
Nous allons donc la mettre en œuvre avec un exemple simple, mais avec lequel nous allons pouvoir découvrir toutes les facettes de la programmation LibUPnP : une lampe virtuelle, semblable à l’Intel Network Light. On la commande allumée ou éteinte, mais on peut aussi faire varier son intensité lumineuse, comme une lampe halogène à potentiomètre. Pour des raisons de simplicité et pour ne pas s’éloigner du sujet, elle ne disposera pas d’une interface graphique, mais textuelle.
5.1 Description d’un serveur : UPnP
L’architecture du serveur est dictée par les fichiers XML de description du Root Device. Comme nous l’avons vu dans la section 3.3, cette description contient des informations variées sur le constructeur et le dispositif, ainsi qu’une liste de devices imbriqués, de services, et les URL qui permettent d’utiliser ces derniers.
Pour notre lampe virtuelle, nous utiliserons deux services : un "SwitchPower" qui servira à allumer et éteindre la lumière, et "Dimming " qui gère la luminosité de la lampe.
Device.xml...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Implémentation d’un serveur et d’un point de contrôle UPnP
BIBLIOGRAPHIE
-
(1) - HOURDIN (V.), LAVIROTTE (S.), TIGLI (J.-Y.) - Étude et comparaison des systèmes de services pour dispositifs - . Rapport de recherche (2006).
-
(2) - Machine To Machine (M2M) : enjeux et perspectives - . Livre Blanc produit par la FING, Syntec Informatique et Orange, http://www.fing.org (mars 2006).
-
(3) - HE (Q.), MUNTZ (D.) - Multicast gateway for service location in heterogeneous ad hoc communication - . HP Technical Reports (2002).
-
(4) - HAASE (M.), SEDOV (I.), PREUSS (S.), CAP (C.), TIMMEMAN (D.) - Time and Energy Efficient Service Discovery in Bluetooth - . in Proceedings of the 57th IEEE Semiannual Vehicular Technology Conference, Band I, S. p. 418-422, ISBN: 1090-3038, Jeju, Korea (2003).
ANNEXES
SLP (Service Location Protocol) http://srvloc.sourceforge.net/
Bonjour http://www.apple.com/macosx/features/bonjour/
Bluetooth http://www.bluetooth.org/
Forum UPnP http://upnp.org/
UPnP architecture http://www.upnp.org/download/UPnPDA10_20000613.htm
SOAP http://www.w3.org/TR/soap/
XML http://www.w3.org/TR/2000/REC-xml-20001006
LibUPnP http://pupnp.sourceforge.net/
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive