Brevet FR2863129A1 — publié le 20050603

L'invention concerne un procédé de surveillance d'un appareil connecté à un réseau domestique et un appareil de détection pour la surveillance via un réseau d'un autre appareil. Un réseau de communication numérique comprend des appareils reliés entre eux par un bus de communication, par exemple le bus IEEE 1394, utilisant des fils ou des ondes. Le réseau de communication comporte, par exemple, les appareils suivants: un terminal permettant à des utilisateurs de visualiser des émissions audiovisuelles, d'introduire des paramètres de contrôle du réseau et de connaître l'état du réseau, un récepteur de télévision numérique (un décodeur par io exemple) capable de recevoir des émissions audiovisuelles et des informations de service provenant d'un réseau de diffusion, un dispositif de mémorisation des émissions audiovisuelles, un modem, etc. La liste des appareils n'est pas exhaustive, de même plusieurs appareils peuvent être en plusieurs exemplaires au sein du réseau de communication, par exemple une caméra dans chaque chambre d'enfant. Le réseau 1394 permet de faire communiquer des appareils selon trois modes différents: le mode synchrone où les paquets de données sont émis régulièrement à la fin de périodes de temps déterminé, le mode asynchrone où chaque message est isolé des autres et peut être émis à tout moment, le mode isochrone où les paquets de données sont émis régulièrement dans une fourchette de temps déterminée. Ces différents modes de communication sont utilisés pour le transfert de données spécifiques. On transmet généralement des commandes en mode asynchrone, des données diffusées en mode synchrone, et des données de flux internes au réseau en mode isochrone. Dans ce dernier cas, on trouve des données de surveillance émises par une caméra disposée dans une chambre d'enfant, un téléviseur affichant lesdites données. A la différence des données audiovisuelles reçues d'un réseau de diffusion et soumises à des synchronisations très précises et régulières, une telle surveillance n'a besoin que de recevoir une image de temps en temps, à des moments qui peuvent varier. La surveillance du bon fonctionnement d'appareil connecté en réseau est généralement effectuée par un dispositif inhérent à l'appareil. On trouve par exemple des dispositifs chien de garde ou Watchdog en anglais, qui déclenche un message d'erreur lorsque à la fin d'un temporisateur, l'unité centrale sous surveillance n'a pas effectué une certaine action. Ce dispositif doit bien évidemment être plus fiable que l'unité centrale qu'il est chargé de surveiller. Chaque appareil sous surveillance doit posséder son propre dispositif, la présente invention permet entre autre avantage, de limiter le nombre de dispositifs de surveillance tout en pouvant surveiller un nombre important d'appareils. ro La présente invention consiste en un procédé 1. Procédé de gestion de surveillance d'une tâche au sein d'un réseau de communication comportant au moins deux appareils, le réseau comportant des canaux de communication isochrones transmettant des paquets de données synchronisés par un signal émis par le réseau; caractérisé en ce qu'il comporte les étapes suivantes: au niveau d'un premier appareil désirant être sous surveillance: émission par la tâche sous surveillance de paquets de données sur un canal isochrone spécifié au cours d'intervalle de temps régulier; au niveau d'un second appareil (UCCI) : - surveillance des émissions de paquets de données émis sur le canal 20 isochrone; - exécution d'une tâche spécifiée, consécutivement à l'absence de paquets de données sur le canal isochrone entre au moins deux émissions de signaux de synchronisation. De cette façon, la surveillance utilise pleinement les ressources du réseau en exploitant les signaux de synchronisation des émissions isochrones et en s'en servant pour détecter la fin prématurée des émissions de données sur de tels canaux. Selon un premier perfectionnement, le procédé comporte une étape 30 d'émission d'une requête de surveillance contenant un identifiant du canal isochrone transmettant les paquets et un descriptif de tâche. De cette manière, l'appareil à surveiller informe l'appareil chargé de la surveillance de ce qu'il doit faire en cas de disfonctionnement. Selon un autre perfectionnement, la requête de surveillance spécifie un nombre prédéterminé de signaux de synchronisation. De cette façon, l'appareil de surveillance attend la détection du nombre prédéterminé de signaux pour déclencher l'exécution de la tâche spécifiée. Selon un autre perfectionnement le procédé comporte une étape d'émission par le second appareil d'un signal de prise en charge suite à la réception de la requête de surveillance. Ainsi, l'appareil qui demande à être sous io surveillance sait que cette surveillance est assurée par un appareil du réseau. Selon un autre perfectionnement, la tâche spécifiée comporte l'affichage d'un message d'alerte comprenant un identificateur du premier appareil. Ainsi les utilisateurs du réseau peuvent être avertis d'un disfonctionnement. Selon un autre perfectionnement, la tâche spécifiée comporte une étape is d'analyse de la raison de l'arrêt des émissions de paquets de données, et une étape d'exécution d'actions pour reprendre l'émission des paquets de données. De cette façon, les appareils du réseau peuvent éliminer automatiquement les causes de certains disfonctionnement. L'invention a aussi pour objet un appareil de réseau comprenant un moyen de communication avec un réseau captant des signaux de synchronisation permettant l'émission de données isochrones et des paquets de données isochrones émis sur un canal isochrone spécifié ; caractérisé en ce qu'il comprend en outre un moyen d'exécution d'une tâche spécifiée consécutivement à l'absence de paquets de données sur le canal isochrone entre au moins deux émissions de signaux de synchronisation. D'autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation qui vont suivre, pris à titre d'exemples non limitatifs, en référence aux figures annexées dans lesquelles: La figure 1 représente un schéma par blocs d'un réseau local connu; La figure 2 représente le schéma par blocs d'un réseau selon un exemple de réalisation de l'invention; La figure 3 représente l'envoi d'une requête de surveillance d'un premier appareil vers une Unité de Contrôle des Communications Isochrones; La figure 4 représente le traitement d'une requête de surveillance par une Unité de Contrôle des Communications Isochrones; La figure 5 représente un chronogramme montrant le fonctionnement d'une Unité de Contrôle des Communications Isochrones contrôlant deux canaux isochrones; io La figure 6 représente le schéma d'une Unité de Contrôle des Communications Isochrones selon un exemple de réalisation de l'invention; La figure 7 représente un chronogramme montrant les principales étapes du procédé selon un exemple de réalisation de l'invention. A l'aide de la figure 1, nous allons tout d'abord décrire un réseau local de communication numérique selon l'état actuel de la technique. Ce réseau comprend par exemple les appareils suivants: - Appareil 1: une caméra; Appareil 2: un ordinateur équipé d'un lecteur de disque DVD, d'une 20 interface avec le réseau téléphonique (typiquement un modem) et d'un décodeur intégré; - Appareil 3: un décodeur STB doté d'un syntoniseur et d'un démultiplexeur DEMUX permettant de recevoir des émissions d'un réseau de diffusion et d'une mémoire (typiquement un disque dur) permettant de stocker les programmes et des données reçues du réseau de diffusion; Appareil 4: un magnétoscope numérique; D'autres appareils non représentés sont possibles dans le cadre de l'invention: un écran de visualisation, un magnétoscope analogique, des capteurs de températures pour la régulation du chauffage et la détection incendie, des détecteurs de mouvement pour détecter la présence d'individus en vue d'alarme. Tous ces appareils sont reliés entre eux par un bus numérique utilisant le standard IEEE 1394. Selon ce standard, les appareils communiquent entre eux de façon asynchrone ou isochrone. Une communication isochrone permet de transmettre un flux ininterrompu de données entre par exemple, une caméra et un écran visualisant les signaux vidéo de la caméra, un capteur de température transmettant des informations à la centrale de chauffage. Un canal isochrone possède la particularité de transmettre régulièrement des données d'un émetteur vers un récepteur dans une fourchette de temps définie par une bande passante déterminée. Le noeud du réseau appelé le Maître horloge ( Cycle Master en Anglais) a pour but de garantir un cadencement régulier des paquets isochrones io émis sur les canaux. Pour cela, le noeud Maître émet à tous les autres noeuds du réseau un signal de départ de cycle (ou Cycle Start selon la terminologie anglo-saxonne) toutes les 125 millisecondes. Ce signal sert de synchronisation pour émettre les paquets de données. Le réseau comprend également un appareil disposant d'une ressource logicielle appelée Manageur de Ressource Isochrone (IRM selon la terminologie anglaise: Isochronous Resource Manager ). Le module IRM gère une mémoire où les identificateurs des différents canaux isochrones actifs ainsi que les bandes passantes sont enregistrés. Pour cela, l'IRM dispose de registres d'allocation de bande passante et d'allocation de canaux. L'IRM permet la gestion des canaux isochrones et de la bande passante disponibles sur le réseau. Le contrôle des canaux isochrones est de façon privilégiée dévolu au Maître horloge. Selon un exemple préféré de réalisation de l'invention, le réseau comprend également une Unité de Contrôle des Canaux Isochrones (UCCI en abrégé et pour la suite du document). L'UCCI dispose de la fonction chien de garde du réseau (ou Network Watchdog en anglais) qui assure la surveillance des différents canaux isochrones activés dans le réseau local. Une UCCI est l'un quelconque des appareils connectés au réseau: le noeud Maître horloge, l'appareil possédant l'IRM, ou un autre noeud du réseau) celui possédant et équipé d'un module de surveillance selon un exemple préféré de réalisation de l'invention. Selon une variante, une UCCI est un appareil spécifique chargé de la surveillance des canaux isochrones, il s'implémente dans le réseau comme le montre la figure 2. Nous allons maintenant détailler le déroulement de la surveillance par une UCCI. Un appareil du réseau doit exécuter une tâche importante, de ce fait son exécution est placée sous surveillance d'une UCCI. Une tâche est de façon privilégiée un programme exécuté par une Unité Centrale, cela peut être aussi une logique séquentielle enfouie dans un circuit spécialisé, un ASIC par exemple. Dans le déroulement normal de la tâche à surveiller, on aura pris soin d'implémenter l'émission de données spécifique sur un canal isochrone ro déterminé. L'important n'est pas dans le contenu des données mais dans la périodicité des émissions. On pourra donc envoyer avantageusement des paquets très courts. Le plus petit paquet isochrone émis sur un réseau IEEE1494 étant constitué d'un en-tête isochrone et d'un quartet. Ces données sont contenues dans 528 unités d'allocation, ce qui représente une durée de 10 microsecondes Dans l'étape d'initialisation de la tâche à surveiller, l'appareil va programmer l'UCCI pour surveiller son fonctionnement, puis l'UCCI va contrôler les émissions sur le canal isochrone. De façon illustrée par la figure 3, un appareil 2 envoie une requête de surveillance comportant son identificateur, l'identificateur d'un canal isochrone, le canal 19 par exemple, témoignant du bon fonctionnement de l'appareil, et un descriptif de la tâche à effectuer si les données émises sur ce canal disparaissent. L'UCCI reçoit la requête, enregistre les paramètres et commence la surveillance en scrutant les paquets de données émis sur le canal spécifié. Si le réseau comporte plusieurs UCCI, la première UCCI disponible émet sur le réseau un message de prise en compte de la surveillance avec les caractéristiques, enregistre dans sa mémoire les paramètres et commence aussitôt la surveillance. Les autres UCCI qui captent ce message de prise en charge, ne s'occupent pas de cette surveillance. Les données doivent être émises toutes les 125 microsecondes. Lors d'une interruption des émissions comme cela est illustré par la figure 4, l'UCCI recherche dans sa mémoire les paramètres de la tâche d'alerte qu'il doit effectuer. Par exemple, cette tâche est l'émission d'une donnée datai à une adresse addl du réseau. Cette adresse peut être l'appareil 2, en effet si cet appareil est doté d'un système multitâche, celle déclenchant l'émission des paquets isochrones peut être interrompue mais pas celle gérant la réception des données du réseau. De cette manière, l'appareil 2 peut être prévenu de l'extérieur d'un disfonctionnement interne. L'adresse peut aussi être un autre appareil du réseau, un terminal de visualisation par exemple, la donnée datai est alors un message affichable. Le terminal de visualisation affichant alors le message d'alerte à l'intention d'un utilisateur. Les requêtes de surveillance envoyées à une UCCI contiennent entre io autres les informations suivantes: - identificateur de l'appareil émettant la requête de surveillance, - numéro du canal isochrone: 1, 2, ... (ou identificateur des paquets de données), - durée maximum inter-paquets du canal isochrone, ou nombre maximum 15 d'émission de signaux de départ de cycle avant exécution de la tâche d'alerte, - descripteur de tâche d'alerte. Le descripteur de la tâche d'alerte décrit les différentes actions de l'UCCI effectuées lors de la détection de la disparition d'un canal isochrone. Voici diverses actions susceptibles d'être dans une tâche d'alerte: - émission d'un message d'avertissement: Disparition du canal 1 à destination de tous les écrans de l'habitation. Le message est envoyé de façon asynchrone à chaque dispositif d'affichage, - émission d'un signal sonore par l'UCCI, - déclenchement d'une succession programmée d'actions pour palier au 25 disfonctionnement détecté par l'UCCI. La tâche d'alerte est mémorisée et envoyée telle quel sur le réseau. Si l'appareil sous surveillance ne spécifie pas de tâche d'alerte, l'UCCI possède une tâche par défaut consistant à afficher sur un écran du réseau tous les paramètres disponibles pour informer un utilisateur du disfonctionnement. Le message affiché est par exemple à 20h30, interruption des émissions sur le canal isochrone 2 provenant de l'appareil 1 . L'utilisateur peut ainsi intervenir sur l'appareil 1 et remettre la tâche en bon état de marche. Une variante consiste en ce que l'appareil sous surveillance définisse précisément l'action dalerte et en informe l'UCCI. Par exemple, un utilisateur programme l'enregistrement d'une émission sur le canal numérique 21, ce canal étant fourni par un décodeur recevant les signaux d'un réseau de diffusion, la tâche d'enregistrement exécutée sur un appareil d'enregistrement est sous la surveillance d'une UCCI. Au moment de la réception de l'émission, l'appareil enregistreur programme le décodeur pour recevoir l'émission et enregistre les io premiers paquets de données reçus à travers le réseau. Supposons que le récepteur cesse d'émettre, la tâche d'enregistrement est alors interrompue L'UCCI détecte à la fin de la temporisation une interruption de la tâche d'enregistrement, le descripteur spécifie qu'elle doit faire apparaître un message suivant sur l'écran du salon: fin prématurée de l'enregistrement à 20h30 où 20h30 étant une variable mise à jour par l'UCCI. Un perfectionnement consiste en ce que le descripteur reçu par l'UCCI possède plusieurs actions à mener en fonction de l'analyse des causes du disfonctionnement. Selon le précédent exemple et ce perfectionnement, le descripteur reçu par l'UCCI prévoit d'analyser la présence de paquets de données audiovisuelles provenant du canal 21 au cours de chaque durée déterminée. Si aucun paquet n'est détecté, l'UCCI appelle un second décodeur et lui envoie une requête de réception du canal 21. Si la requête est acceptée, l'enregistrement se poursuit normalement à partir des données émises sur le réseau domestique par le second décodeur. Si par contre aucun décodeur n'est disponible, l'UCCI affiche sur un écran un message indiquant la fin prématurée de l'enregistrement à cause d'une indisponibilité d'un décodeur. De cette façon, I'UCCI peut pallier à certains disfonctionnements afin de maintenir un enregistrement au sein du réseau local en utilisant pleinement les ressources disponibles. La figure 5 illustre la chronologie de deux tâches surveillées par une UCCI. Un appareil 1 exécutant une tâche 1 envoie un paquet de donnée sur le canal isochrone 1 et un appareil 2 exécutant une tâche 2 envoie un autre paquet de donnée sur le canal isochrone T2. L'UCCI surveillant les deux canaux, se synchronise sur les signaux départ de cycle émis par le Maître horloge. L'UCCI détecte la présence ou l'absence de paquets isochrones émis par chacun des canaux sous surveillance entre deux signaux départ de cycle. Un second paquet de données est émis sur le canal 1, donc la tâche exécutée par l'appareil 1 fonctionne correctement. Par contre, aucun paquet de données n'est émis sur le canal 2 avant l'émission d'un troisième signal départ de cycle. De ce fait, lorsque ce troisième signal départ de cycle est détecté, l'UCCI en déduit que le canal 2 n'est plus alimenté et que la tâche 2 exécutée par l'appareil 2 ne fonctionne plus io correctement. II lance la tâche d'alerte correspondant au disfonctionnement de la tâche 2 sur l'appareil 2. L'exemple décrit précédemment n'exclut pas de la présente invention le cas ou les deux tâches 1 et 2 soient exécutées au sein du même appareil. Un perfectionnement consiste en ce que l'UCCI attende un nombre prédéterminé d'émissions de signaux de départ de cycle avant de déclencher l'action décrite dans le descripteur. Avantageusement, ce nombre prédéterminé est fixé par l'appareil qui désire être surveillé et est transmis dans le descripteur de tâche d'alerte. Ce perfectionnement permet d'économiser de la bande passante en permettant à l'appareil sous surveillance d'envoyer un paquet de données isochrones qu'au bout d'un nombre déterminé de signaux de départ de cycle. Pour cela, l'Unité Centrale contenue dans l'UCCI dispose d'un compteur et la donnée de comptage pour chaque canal isochrone est mise dans une nouvelle colonne du tableau enregistré en mémoire RAM, Un exemple de réalisation d'une UCCI est décrit à la figure 6. Qu'une UCCI soit physiquement un appareil standard doté d'un programme spécifique ou un appareil dédié à la surveillance, sa structure générale est la même. Une UCCI possède une Unité centrale 6.1, connectée à une mémoire ROM 6.2 dans laquelle se trouve inscrit au moins le programme de surveillance, une mémoire RAM 6.3 pour le stockage des données de programmation, un circuit d'interface logique 6.4 pour la communication avec le bus IEEE 1394 et un circuit d'interface matériel 6.5 avec le réseau 1394. Le circuit d'interface 6.4 supporte la gestion de canaux isochrones. Ce circuit surveille constamment les données du réseau local et à l'aide de filtres numériques, extrait certains paquets selon leurs identificateurs. De cette façon, un récepteur peut recevoir en permanence des données émises sur un canal isochrone, sans avoir besoin d'aller les chercher. Le circuit d'interface 6.4 est par exemple un circuit TSB43AB22 fabriqué par la société Texas Instruments. Ce circuit génère une interruption matérielle sur réception d'un paquet de données qui agit sur le déroulement du programme exécuté par l'unité centrale 6.1. Ce circuit peut discriminer le canal grâce à deux registres de masque d'interruption qui io spécifie les références dudit canal, ce qui permet de filtrer le ou les canaux isochrones à surveiller. Ce circuit est compatible avec le standard IEEE1394. La mémoire RAM 6.3 enregistre les données correspondant aux différentes surveillances des canaux isochrones utilisés. Ces données (identifiant du canal, identifiant de l'appareil, descriptif de la tâche d'alerte, compteur de signaux de départ de cycle, . ) sont disposées dans un tableau...DTD: A l'aide de l'organigramme de la figure 7, nous allons maintenant détailler la succession des étapes selon un exemple de mise en ceuvre de l'invention. A l'étape 7.1 un appareil du réseau lance une tâche qui a besoin d'être surveillée. Il émet alors une requête vers une UCCI du réseau spécifiant le canal isochrone de surveillance et l'action à entreprendre si les émissions s'arrêtent (étape 7.2). A l'étape 7.3, l'appareil du réseau qui est sous surveillance commence à émettre régulièrement des paquets de données sur le canal isochrone. L'UCCI analyse chaque paquet du réseau et vérifie que chaque appareil sous surveillance émet bien au moins un paquet de données entre deux (ou un nombre déterminé de) signaux de départ de cycle (étape 7.4). Supposons qu'un appareil arrête ses émissions (étape 7.5). Lors de la réception du prochain départ de cycle, l'UCCI constate l'arrêt des émissions sur le canal isochrone spécifié et lance l'exécution de la tâche programmée (étape 7.6). Une variante consiste à équiper l'UCCI d'un interpréteur. De cette façon, 30 on peut programmer l'action d'alerte dans un langage qui est interprété par l'UCCI (par exemple: QUICK BASIC) et qui permet de définir précisément les actions à effectuer. Les exemples de réalisation de l'invention présentés ci-dessus ont été choisis pour leur caractère concret. Il ne serait cependant pas possible de répertorier de manière exhaustive tous les modes de réalisation que recouvre cette invention. En particulier, toute étape ou tout moyen décrit peut-être remplacé par une étape ou un moyen équivalent sans sortir du cadre de la présente invention. io 12 REVENDICATIONS 1. Procédé de gestion de surveillance d'une tâche au sein d'un réseau de communication comportant au moins deux appareils, le réseau comportant des canaux de communication isochrones transmettant des paquets de données synchronisés par un signal émis par le réseau; caractérisé en ce qu'il comporte les étapes suivantes: au niveau d'un premier appareil désirant être sous surveillance: io - émission (7.3) par la tâche sous surveillance de paquets de données sur un canal isochrone spécifié au cours d'intervalle de temps régulier; au niveau d'un second appareil (UCCI) : surveillance (7.4) des émissions de paquets de données émis sur le canal isochrone; - exécution d'une tâche spécifiée (7.6), consécutivement à l'absence de paquets de données sur le canal isochrone entre au moins deux émissions de signaux de synchronisation. 2. Procédé de gestion selon la revendication 1; caractérisé en ce qu'il comporte au niveau du premier appareil d'une étape d'émission (7.1) d'une requête de surveillance contenant un identifiant du canal isochrone transmettant les paquets et un descriptif de tâche; le second appareil exécutant la tâche ainsi spécifiée par le premier appareil. 3. Procédé de gestion selon la revendication 2; caractérisé en ce que la requête de surveillance spécifie un nombre prédéterminé de signaux de synchronisation; le second appareil exécutant la tâche spécifiée lorsque aucun paquet de données n'a été détecté sur le canal isochrone suite à la détection du nombre de signaux de synchronisation spécifiée. 4. Procédé de gestion selon la revendication 2 ou 3; caractérisé en ce qu'il comporte une étape d'émission par le second appareil d'un signal de prise 30 en charge suite à la réception de la requête de surveillance. 5. Procédé de gestion selon l'une quelconque des revendications précédentes; caractérisé en ce que la tâche spécifiée comporte l'affichage d'un message d'alerte comprenant un identificateur du premier appareil. 6. Procédé de gestion selon l'une quelconque des revendications précédentes; caractérisé en ce que la tâche spécifiée comporte une étape d'analyse de la raison de l'arrêt des émissions de paquets de données, et une étape d'exécution d'actions pour reprendre l'émission des paquets de données. 7. Appareil de réseau (UCCI; 1) comprenant un moyen de communication lo avec un réseau (6.4, 6.5) captant des signaux de synchronisation permettant l'émission de données isochrones et des paquets de données isochrones émis sur un canal isochrone spécifié ; caractérisé en ce qu'il comprend en outre un moyen d'exécution (6.1, 6.2) d'une tâche spécifiée consécutivement à l'absence de paquets de données sur le canal isochrone entre au moins deux émissions de signaux de synchronisation. 8. Appareil de réseau selon la revendication 7 caractérisé en ce qu'il comporte un moyen de réception (6.4, 6.5) d'une requête de surveillance contenant l'identifiant du canal isochrone transmettant les paquets et un descriptif de la tâche spécifiée, ledit identifiant du canal et le descriptif de la tâche étant enregistrés dans une mémoire de l'appareil (6.3). 9. Appareil de réseau selon la revendication 8 caractérisé en ce que la requête de surveillance reçue spécifie un nombre prédéterminé de signaux de synchronisation et en ce qu'il comporte un compteur (6.4, 6.5) de signaux de synchronisation, la tâche spécifiée étant exécutée lorsque aucun paquet de données n'a été détecté sur le canal isochrone suite à la détection du nombre de signaux de synchronisation spécifiée. 10. Appareil de réseau selon l'une quelconque des revendications 7 à 9 caractérisé en ce qu'il comporte un moyen d'affichage d'un message d'alerte activé par l'absence de paquets de données sur le canal isochrone entre au moins deux émissions de signaux de synchronisation. 11. Appareil de réseau selon l'une quelconque des revendications 8 à 10 sous la dépendance de la revendication 8 caractérisé en ce qu'il comporte un moyen d'émission d'un signal de prise en charge suite à la réception d'une requête de surveillance. 12. Appareil de réseau selon la revendication 11 caractérisé en ce qu'il comporte un moyen d'inhibition de la prise en charge d'une requête de surveillance activé lorsque le moyen de réception (6.4, 6.5) avec le réseau capte un signal de prise en charge de ladite requête par un autre appareil du réseau.