FR 2907992 A1 20080502 FR 0654621 A 20061030 La présente invention se rapporte à un procédé de reprise d'une session de vidéo à la demande. Les débits autorisés par la ligne d'abonné numérique, ou digital subscriber line en anglais et noté DSL, permettent la mise en oeuvre de services haut débit. Des services vidéo de bonne qualité peuvent ainsi atteindre l'abonné. Le DSL permet la distribution du service de diffusion vidéo, mode broadcast en anglais. Le DSL permet également, grâce à la possibilité de mise en oeuvre d'une voie de retour de l'abonné vers le diffuseur de contenu, la mise en place de services interactifs. Les services de vidéo à la demande, ou video-on-demand en anglais et noté VoD, sont ainsi proposés à l'abonné. Cela consiste à offrir un panel de vidéos que l'abonné peut télécharger à partir d'un serveur de contenu et visionner à la demande. Selon les services proposés, l'abonné peut visionner la vidéo à mesure qu'elle est téléchargée, en mode streaming en anglais. Dans ce cas, la vidéo est visionnée une fois, et n'est pas conservée en mémoire. Selon un autre type de service, l'abonné peut télécharger et stocker la vidéo en mémoire pour la visionner ultérieurement une ou plusieurs fois, ou bien la conserver. Généralement, un acquittement de l'abonné intervient à la fois au début pour lancer le téléchargement, et à la fin du téléchargement afin de valider le visionnage de la vidéo et d'entrainer par la suite le paiement du service. Du côté de l'abonné, la vidéo peut être consultée sur un écran d'ordinateur. Elle peut aussi être consultée sur un écran de télévision ; cela nécessite de relier le téléviseur à une set-top-box. Généralement la set-top- box est reliée à un modem qui offre l'accès au serveur VoD via le réseau Internet. La set-top-box peut être connectée au modem par l'intermédiaire d'un câble Ethernet. Lorsqu'une interruption du service VoD intervient, le serveur met en oeuvre un mécanisme de reprise sur erreur. Il s'appuie sur des commandes de type Simple Network Management Protocol, noté SNMP, pour relancer la session VoD. Ce mécanisme est activé pendant une période relativement courte, qui peut être par exemple au maximum de deux 2907992 -2- minutes. Au-delà de cette période le mécanisme de reprise sur erreur s'arrête ; la livraison de la VoD a échoué, la facturation sera annulée. Pendant le mécanisme de reprise sur erreur, la set-top-box peut basculer vers un mode de secours, par exemple en offrant un accès 5 uniquement à la réception de vidéo diffusée. Quand elle reçoit une commande SNMP du serveur pour reprendre le service VoD, elle bascule en mode VoD. Si le service VoD n'est pas disponible, elle rebascule en mode de secours. Cette remise en service peut fréquemment entraîner des oscillations du système entre le mode réception vidéo diffusée et le mode 10 VoD. Pour éviter une telle oscillation, une méthode consiste à ignorer les commandes SNMP. Mais la STB reste alors en mode de secours, et n'a pas la possibilité de revenir en mode VoD. 15 La présente invention concerne un procédé pour reprendre une session de téléchargement qui a été interrompue, dans un appareil comprenant une interface à un réseau permettant d'accéder à un serveur distant et des moyens pour mettre en oeuvre une session de téléchargement avec le serveur. 20 A cet effet l'invention définit un procédé comprenant les étapes de démarrage d'une session de téléchargement d'un contenu à partir du serveur distant, par l'intermédiaire de plus d'un canal de signalisation avec au moins ledit serveur, détection d'une interruption prématurée de la session de téléchargement, vérification de la disponibilité de l'ensemble des canaux, 25 tant que l'un des canaux est indisponible, pas de reprise de la session, et quand tous les canaux sont à nouveau disponibles, reprise de la session. La reprise de la session est automatisée dans la STB. L'utilisateur de la STB n'a pas à intervenir durant le procédé de reprise de la session. La STB vérifie que tous les canaux sont opérationnels avant d'accepter la 30 reprise de la session. Cela permet d'éviter des oscillations dues à des reprises de la session alors que tous les canaux ne sont pas opérationnels. 2907992 -3- Selon un mode de réalisation l'étape de reprise de la session est réalisée par une réponse à une requête de reprise de la session venant du serveur. 5 Une fois que les canaux sont opérationnels, l'appareil répond aux requêtes du serveur pour reprendre la session. Le serveur envoie des requêtes continuellement. Selon un autre mode de réalisation l'étape de reprise de la 10 session est réalisée par un envoi d'une requête de reprise de la session au serveur. Une fois que les canaux sont opérationnels, l'appareil sollicite le serveur pour reprendre la session. 15 Dans une réalisation la session est une session de vidéo à la demande. L'invention concerne aussi un produit programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code de programme 20 pour l'exécution des étapes du procédé précédent lorsque ledit programme est exécuté sur un ordinateur. Par produit programme d'ordinateur , on entend un support de programme d'ordinateur, qui peut consister non seulement en un espace de stockage contenant le programme, tel qu'une disquette ou une cassette, mais aussi en un signal, tel qu'un signal 25 électrique ou optique. L'invention sera mieux comprise et illustrée au moyen des exemples suivants de réalisation et de mise en oeuvre, nullement limitatifs, en référence aux figures annexées sur lesquelles : - la Figure 1 représente le système de vidéo à la demande selon le mode de réalisation; 30 2907992 -4- - la Figure 2 représente l'architecture matérielle de la set-top- box ; - la Figure 3 représente les couches protocolaires utilisées ; et - la Figure 4 représente les étapes du procédé selon l'invention. 5 Sur les Figures 1 et 2, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités 10 d'un même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Dans un mode normal de fonctionnement, la STB fournit un ensemble de services interactifs dont fait partie la VoD. Les éléments 15 principaux d'un système fournissant un service de VoD sont indiqués sur la figure 1. La set-top box 1, notée STB par la suite, est reliée à une passerelle 3, ou gateway en anglais, par l'intermédiaire d'un réseau local 2. Le réseau local est un réseau Ethernet, et peut aussi être un autre type de réseau filaire, ou également un réseau local sans fil, ou wireless LAN en anglais. Le 20 réseau peut aussi bien se limiter à un lien point à point Ethernet, comme dans l'exemple de réalisation. La STB 1 comprend une interface vers un écran de télévision 7. La passerelle 3 connecte le réseau local 2 à un réseau Internet 4 25 auquel sont connectés les serveurs permettant de fournir le service de VoD aux abonnés. Diverses fonctions client-serveur sont nécessaires à la mise en place du service de VoD ; ce sont les fonctions telles que Hyper Text Transfer Protocol noté HTTP, Real Time Streaming Protocol noté RTSP, Dynamic Host Configuration Protocol noté DHCP, et Simple Network 30 Management Protocol noté SNMP. Deux serveurs 5, 6 sont représentés sur la figure 1, un serveur HTTP 5 et un serveur RTSP 6, aussi appelé server VoD. Bien sûr les serveurs peuvent être compris dans un même équipement 2907992 -5- ou dans des équipements distincts qui peuvent être localisés en des lieus distincts du réseau. Le serveur HTTP fournit entre autres les interfaces utilisateur sous la forme de pages Hyper Text Markup Language, notée HTML, au client. 5 Les éléments essentiels de la STB 1 en ce qui concerne le service VoD sont représentés sur la figure 2. La STB comprend une interface réseau 1.4, qui est dans l'exemple de réalisation une interface de type Ethernet. Elle comprend une mémoire de type Random Access Memory, notée RAM 1.2 10 correspondant à la mémoire principale, et une mémoire secondaire de type Flash 1.3, qui permet de conserver les données même lorsque l'appareil n'est plus sous tension. La STB comprend également un processeur central 1.1. Le décodeur audio-vidéo 1.5 et l'interface graphique 1.6 préparent le contenu qui est transmis à un écran par l'intermédiaire de l'interface audio- 15 vidéo. Les données circulent entre les divers modules via un bus interne 1.8. La figure 3 représente les couches protocolaires utilisées dans le cadre du service VoD, entre la STB cliente et les applications serveur. En général, les services de VoD s'appuient sur la mise en place de plusieurs 20 canaux de signalisation. Une session de type HTTP gère les commandes utilisateur. Le serveur HTTP fournit une interface utilisateur vers le client sous la forme de pages au format HTML. L'interface utilisateur offre diverses fonctions au client. Cela comprend le choix du film, l'acquittement du ticket en début de la 25 session, les commandes de visualisation du contenu telles que : Avance Rapide, Retour Rapide, Pause, Lecture, l'acquittement du ticket en fin de session VoD. La justification par l'abonné du visionnage de la VoD est effectuée d'une part avec l'acquittement du ticket d'entrée pour démarrer la VoD, et d'autre part avec l'acquittement du ticket de sortie pour confirmer 30 que la session est achevée. L'opérateur utilise ces acquittements pour s'assurer que la session VoD est bien effectuée. Cela lui permet par la suite de procéder à la facturation. 2907992 -6- Une session de type RTSP permet de piloter le serveur VoD en fonction des requêtes utilisateur. RTSP permet de contrôler la distribution du flux streaming. Un protocole de commandes et notifications à distance, basé par 5 exemple sur le protocole SNMP, permet de contrôler le service VoD. Ce sont des commandes de type `démarrer la VoD' et des notifications de type service `VoD débutée', `VoD terminée', `VoD perturbée' etc... Un mécanisme de contrôle d'accès permet de contrôler les autorisations d'accès au service. 10 Une connexion IP sous UDP est utilisée pour le transport des données utiles de type audio, vidéo, les sous-titres etc... Les étapes de reprise de la session de VoD sont indiquées sur la figure 4. La STB démarre une session de VoD avec un serveur VoD, étape 15 S1. Elle est dans l'état `normal' de fonctionnement. Lorsque la connexion HTTP est défaillante, étape S2, la défaillance étant due à l'indisponibilité du serveur WEB ou à une perte de connexion avec le serveur VoD, le service de VoD est interrompu, ainsi que l'ensemble des services interactifs. La STB détecte l'interruption de la connexion HTTP et aussi l'interruption de service 20 de VoD, elle quitte alors le mode normal de fonctionnement et passe en mode secondaire de fonctionnement aussi appelé `mode dégradé'. Autrement dit la STB passe dans un état `secondaire'. Une application locale, c'est-à-dire embarquée dans l'appareil, est automatiquement démarrée dans la STB pour lancer ce mode. L'application ouvre une page HTML embarquée 25 qui propose un menu simplifié par rapport au menu standard ; cette interface utilisateur embarquée ne requiert pas de connexion à un serveur WEB. Le mode secondaire offre principalement la possibilité de réception et de sélection d'une chaine parmi les chaines diffusées. Chaque chaine correspond à une adresse IP multicast, et le choix d'une chaine passe par 30 l'inscription au groupe multicast correspondant selon un mécanisme bien connu en soi. Comme le serveur WEB est indisponible, les services IP tels que la consultation de programmes ou le téléchargement, ne sont pas 2907992 -7- accessibles dans ce mode. Bien entendu l'interruption de service VoD peut être due à d'autres causes telles que la défaillance de l'un des canaux RTSP, SNMP ou Contrôle d'Accès. Il peut aussi être interrompu à cause d'une défaillance du serveur VoD, due à l'absence de données MPEG, ou à 5 une rupture de la liaison entre la STB et le serveur, due par exemple à la maintenance du réseau par l'opérateur du réseau. Dans le même temps, le serveur VoD tente de reprendre le téléchargement. Il envoie des requêtes de type SNMP à la STB. La STB ignore les requêtes afin d'éviter des oscillations entre le fonctionnement en 10 mode dégradé et en mode standard. En effet si la STB accepte la requête, elle repasse en mode standard ; or si le WEB serveur est indisponible le service VoD ne peut pas reprendre et la STB repasse alors en mode dégradé. Le fait que la STB accepte chaque requête entraine des va et vient entre le mode standard et le mode dégradé. En ignorant ces requêtes, la 15 STB reste dans le mode dégradé, avec une stabilité du service pour l'utilisateur. Dans le mode dégradé, la STB tente de reprendre la connexion avec le serveur VoD, étape S3. Elle vérifie si l'ensemble des canaux 20 nécessaires à la mise en service de la VoD sont redevenus opérationnels. Elle met en oeuvre une stratégie de type ping. Ce principe consiste à ouvrir une connexion, appelée aussi socket, entre la STB et le serveur VoD pour chaque canal utilisé, et à émettre sur cette connexion des informations pour vérifier la disponibilité du serveur sur ces canaux. Bien entendu, un minimum 25 d'information est transmis afin de ne pas encombrer inutilement le réseau. Puis, en fonction de la présence ou absence de réponse, la STB peut statuer sur la disponibilité ou non du serveur visé. Dans le cas du canal HTTP, la requête consiste à faire un GET HTTP sur un fichier inexistant depuis la racine du serveur WEB. Si le serveur 30 est disponible, il répond par un message d'erreur à la STB. Classiquement, la réponse du serveur doit être erreur 404 (File not found) . Si le serveur est indisponible, la STB ne reçoit pas de réponse. 2907992 -8- Dans le cas du canal RTSP, la requête consiste à faire un get_parameter sur une connexion RTSP inconnue du serveur. Si le serveur est disponible alors la réponse du serveur doit être du type socket inconnue . Sinon, la STB ne reçoit pas de réponse. 5 Concernant le canal SNMP, le test consiste à émettre un message SNMP avec un mauvais identifiant, appelé object identifier en Anglais, de la Management Information Base, notée MIB. La MIB contient la liste des attributs devant être supportés par l'agent SNMP de la STB. Si le serveur est disponible, il retourne un message d'erreur. 10 Concernant le canal de Contrôle d'Accès, le test consiste à ouvrir une session TCP avec le serveur, et à transmettre un octet de données quelconques. Si le serveur renvoie un message d'erreur d'authentification, cela signifie que le canal est bien actif. 15 Dans le même temps la STB évite de transmettre d'autres types de requêtes sur ces canaux sachant qu'ils ne sont pas disponibles. Cela évite d'encombrer le réseau. Une fois que les canaux sondés par la STB sont redevenus opérationnels, étape S4, c'est-à-dire que chaque requête sur chaque canal 20 est positive, la STB reprend la session de téléchargement. Selon le mode de réalisation, la STB accepte la requête SNMP de reprise venant du serveur VoD, étape S5. C'est-à-dire que la STB passe dans l'état 'reprise'. Le service VoD peut alors reprendre, et la STB revenir au mode normal. Un autre moyen possible de reprise de la session de 25 téléchargement est d'envoyer des requêtes de reprise au serveur. Ce mécanisme ne demande aucune participation de l'abonné. En effet celui-ci voit le passage dans le mode dégradé et le retour dans le mode standard, avec la reprise de la VoD. Il ne participe pas au mécanisme de 30 reprise. Selon l'exemple de réalisation quatre canaux sont identifiés. Bien entendu le nombre de canaux pourrait être différent, plus ou moins grand. 2907992 -9- Mais le mécanisme reste le même, les requêtes sont émises sur chaque canal pour vérifier la disponibilité de chaque canal. Le procédé décrit dans l'exemple de réalisation traite d'une session de téléchargement de VoD en mode streaming. Bien entendu le 5 procédé s'applique à tout type de téléchargement de contenu. REVENDICATIONS 1. Procédé pour reprendre une session de téléchargement qui a été interrompue, dans un appareil (1) comprenant une interface (1.4) à un réseau (4) permettant d'accéder à un serveur distant (6) et des moyens pour mettre en oeuvre une session de téléchargement avec ledit serveur, comprenant les étapes de : - démarrage d'une session de téléchargement (Si) d'un contenu à partir dudit serveur distant, par l'intermédiaire de plus d'un canal de signalisation avec au moins ledit serveur, - détection (S2) d'une interruption prématurée de la session de téléchargement, -vérification (S3) de la disponibilité de l'ensemble des canaux, - tant que l'un des canaux est indisponible, pas de reprise de la session, et quand tous les canaux sont à nouveau disponibles (S4), reprise de la session (S4). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de reprise de la session (S4) est réalisée par une réponse à une requête de reprise de la session venant du serveur. 3. Procédé selon la revendication 1, caractérisé en ce que l'étape de reprise de la session (S4) est réalisée par un envoi d'une requête de reprise de la session au serveur. 4. Procédé selon l'une des revendications précédentes, caractérisée en ce que le contenu peut être visionné pendant la session. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il s'applique à une session de vidéo à la demande. 2907992 -11- 6. Produit programme d'ordinateur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications précédentes lorsque ledit 5 programme est exécuté sur un ordinateur.