Module: Découverte et communication avec des appareils et services UPnP
proposé par :
Jean-Claude Dufourd (jean-claude.dufourd_at_telecom-paristech.fr, 7733, bureau E51x)
Descriptif
UPnP est un standard de découverte et de communication entre appareils dans un réseau local (par exemple, celui de la maison). Il a été conçu pour résoudre le problème suivant: quand on ajoute un appareil dans le réseau, comment faire pour qu’il connaisse les autres appareils déjà installés, et pour que les autres appareils le connaissent, ceci sans devoir modifier la configuration de chacun des appareils pour y ajouter les informations « à la main ».Une bibliothèque Java nommée Cling permet de faire assez simplement, sur Windows, Linux et Android, des programmes qui:
découvrent d’autres appareils et services UPnP sur le réseau et dialoguent avec eux (mode actif);
créent un service UPnP et le publient sur le réseau, attendant les demandes de la part des autres appareils du réseau (mode passif).
Les modes actif et passif peuvent être utilisés séparément ou conjointement, selon le scénario d’utilisation.
dans tout système mettant en jeu plusieurs appareils en collaboration, par exemple pour trouver d’autres joueurs d’un jeu particulier qui sont présents dans le même réseau local;
pour la simplification de la connexion de nouveaux appareils dans un réseau, par exemple pour aider des personnes peu techniques à utiliser leur nouveaux appareils;
pour simplifier les échanges entre appareils, par exemple, le partage de videos, de musique, de carte de visite, d’invitations à un concert, … entre mobiles.
Résultats attendus
connaissances : maitrise élémentaire de la technologie UPnP
compétence : à l’issue de ce module vous aurez écrit en Java un programme qui publie un service sur le réseau, découvre des services sur le réseau, dialogue avec ces services
livrable 1: programme qui découvre des services sur le réseau
livrable 2: programme qui échange des informations avec un service sur le réseau
livrable 3: programme qui expose un service sur le réseau et répond à des demandes externes (à tester avec les livrables 1 et 2)
Séquencement
Le séquencement précis de ce module par rapport aux PANs est flexible et sera négocié au début du module.