FR2841079A1 - Procede de diffusion d'application html - Google Patents

Procede de diffusion d'application html Download PDF

Info

Publication number
FR2841079A1
FR2841079A1 FR0207355A FR0207355A FR2841079A1 FR 2841079 A1 FR2841079 A1 FR 2841079A1 FR 0207355 A FR0207355 A FR 0207355A FR 0207355 A FR0207355 A FR 0207355A FR 2841079 A1 FR2841079 A1 FR 2841079A1
Authority
FR
France
Prior art keywords
sep
page
pages
depth
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0207355A
Other languages
English (en)
Other versions
FR2841079B1 (fr
Inventor
Ronan Toulemont
Maguet Isabelle Le
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KCA Licensing SA
Original Assignee
Canal Plus Technologies SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to FR0207355A priority Critical patent/FR2841079B1/fr
Application filed by Canal Plus Technologies SA filed Critical Canal Plus Technologies SA
Priority to MXPA04012606A priority patent/MXPA04012606A/es
Priority to US10/517,577 priority patent/US8554874B2/en
Priority to EP03760018A priority patent/EP1547390A1/fr
Priority to AU2003251121A priority patent/AU2003251121A1/en
Priority to JP2004514346A priority patent/JP4448026B2/ja
Priority to PCT/FR2003/001767 priority patent/WO2003107674A1/fr
Priority to KR1020047020289A priority patent/KR101035107B1/ko
Priority to CNB038138832A priority patent/CN100401777C/zh
Publication of FR2841079A1 publication Critical patent/FR2841079A1/fr
Application granted granted Critical
Publication of FR2841079B1 publication Critical patent/FR2841079B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/91Arrangements characterised by the broadcast information itself broadcasting computer programmes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6433Digital Storage Media - Command and Control Protocol [DSM-CC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/16Arrangements for broadcast or for distribution of identical information repeatedly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/86Arrangements characterised by the broadcast information itself
    • H04H20/93Arrangements characterised by the broadcast information itself which locates resources of other pieces of information, e.g. URL [Uniform Resource Locator]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Pour une diffusion par satellite d'une application HTML accessible à partir d'un site initial, il est prévu au niveau d'une plate-forme intermédiaire des moyens matériels et logiciels permettant à partir d'une analyse sémantique et syntaxique de l'application de regrouper dans des modules de diffusion des pages de même profondeur de l'application et d'éventuelles composantes incluses dans ces pages. Les modules contenant les pages de profondeur faibles sont diffusées avec une fréquence plus grande que les pages de profondeur plus grande.De cette façon un utilisateur reçoit plus vite toutes les informations nécessaires à l'affichage d'une page.

Description

<Desc/Clms Page number 1>
PROCEDE DE DIFFUSION D'APPLICATION HTML
DESCRIPTION Domaine technique
L'invention se situe dans le domaine des procédés d'extraction à partir d'un ou plusieurs serveurs puis de diffusion, dans un flux MPEG d'applications pouvant comprendre une arborescence de fichiers, et pour lesquels des liens logiques dits liens de navigation d'une part et liens d'inclusion d'autre part existent entre des fichiers constituant ensemble l'application.
Arrière plan technologique.
L'arrière plan technologique de l'invention suppose la connaissance de données préalables que l'on peut trouver dans des documents de référence faisant partie des connaissances générales de l'Homme du métier notamment les documents dont la liste suit :
Figure img00010001
<tb>
<tb> Titre <SEP> du <SEP> document <SEP> Référence <SEP> du <SEP> document <SEP> ou
<tb> contenu
<tb> DVB <SEP> Multimedia <SEP> Home <SEP> DVB <SEP> MHP <SEP> TAM232 <SEP> rl6
<tb> Platform
<tb> Hypertext <SEP> Transfer <SEP> RFC <SEP> 2616 <SEP> HTTP <SEP> 1. <SEP> 1
<tb> Protocol <SEP> (HTTP) <SEP> http://www.w3.org/Protocols/
<tb> rfc2616/rfc2616.html
<tb> Uniform <SEP> Resource <SEP> RFC <SEP> 2396
<tb> Identifier <SEP> (URI) <SEP> http://www.ietf.org/rfc/rfc2
<tb> 396. <SEP> txt
<tb>
<Desc/Clms Page number 2>
Figure img00020001
<tb>
<tb> Spécification <SEP> HTML <SEP> HTML <SEP> 4.01 <SEP> Specification
<tb> http://www.w3.org/MarkUp/
<tb> The <SEP> Extensible <SEP> HyperText <SEP> XHTML <SEP> 1.0 <SEP> : <SEP> The <SEP> Extensible
<tb> Markup <SEP> Language <SEP> HyperText <SEP> Markup <SEP> Language
<tb> A <SEP> Reformulation <SEP> of <SEP> HTML <SEP> 4 <SEP> in
<tb> XML <SEP> 1.0
<tb> http://www.w3.org/TR/xhtmll/
<tb> Extensible <SEP> Markup <SEP> Langage <SEP> XML <SEP> - <SEP> W3C <SEP> recommendation
<tb> http://www.w3.org/TR/1998/re
<tb> c-xml-19980210
<tb>
La description de l'état de la technique et de l'invention suppose également connues des abréviations employées de façon courante par l'Homme du métier. L'emploi de ces abréviations est si courant que l'Homme du métier comprend mieux ce qui lui est exposé avec l'emploi de ces abréviations qu'avec l'emploi des expressions complètes. Une liste de ces abréviations correspondant généralement à des sigles en anglais est donnée ci-après.
Figure img00020002
<tb>
<tb>
DSM-CC <SEP> (Data <SEP> Storage <SEP> Media <SEP> Command <SEP> and <SEP> Control)
<tb> commande <SEP> et <SEP> contrôle <SEP> de <SEP> stockage <SEP> de <SEP> données
<tb> média
<tb> DVB <SEP> (Digital <SEP> Vidéo <SEP> Broadcasting)/ <SEP> diffusion <SEP> vidéo
<tb> numérique
<tb> XLET <SEP> Objets <SEP> applicatifs <SEP> permettant <SEP> d'exécuter <SEP> des
<tb> appplets <SEP> JAVA <SEP> qui <SEP> peuvent <SEP> avoir <SEP> accès <SEP> à <SEP> des
<tb> ressources <SEP> d'un <SEP> décodeur <SEP> [DVB-MHP; <SEP> DVB-HTML]
<tb> HTML <SEP> (HyperText <SEP> Markup <SEP> Language) <SEP> Langage <SEP> permettant
<tb>
<Desc/Clms Page number 3>
Figure img00030001
<tb>
<tb> la <SEP> désignation <SEP> de <SEP> liens <SEP> entre <SEP> textes
<tb> HTTP <SEP> (HyperText <SEP> Transfert <SEP> Protocol) <SEP> protocole <SEP> de
<tb> transfert <SEP> de <SEP> textes <SEP> dans <SEP> lesquels <SEP> sont <SEP> définit
<tb> des <SEP> liens <SEP> vers <SEP> d'autre <SEP> textes
<tb> IHM <SEP> Interface <SEP> Homme <SEP> Machine
<tb> MIME <SEP> (Multipurpose <SEP> Internet <SEP> Mail <SEP> Extensions)
<tb> Extension <SEP> permettant <SEP> notamment <SEP> de <SEP> connaître <SEP> la
<tb> définition <SEP> du <SEP> contenu <SEP> d'un <SEP> fichier
<tb> MHP <SEP> Multimedia <SEP> Home <SEP> Platform
<tb> MPEG <SEP> Moving <SEP> Picture <SEP> Experts <SEP> Group
<tb> OCG <SEP> Object <SEP> Carousel <SEP> Generator <SEP> Générateur <SEP> d'objet <SEP> en
<tb> caroussel
<tb> SSL <SEP> Socket <SEP> Secure <SEP> Layer
<tb> TLS <SEP> Transport <SEP> Layer <SEP> Security
<tb> URI <SEP> Uniform <SEP> Resource <SEP> Identifier <SEP> de
<tb> caractère <SEP> permettant <SEP> l'identification <SEP> d'une
<tb> ressource
<tb> URL <SEP> Uniform <SEP> Resource <SEP> Locator, <SEP> localisation <SEP> d'un
<tb> document <SEP> par <SEP> son <SEP> protocole, <SEP> machine,
<tb> répertoire, <SEP> nom <SEP> du <SEP> document
<tb> WWW <SEP> World <SEP> Wide <SEP> Web
<tb> XHTML <SEP> The <SEP> Extensible <SEP> HyperText <SEP> Markup <SEP> Language
<tb>
Enfin, il convient de préciser quelques termes utilisés dans le présent document :
Figure img00030002
<tb>
<tb> Abonné <SEP> ou <SEP> Utilisateur <SEP> d'une <SEP> application <SEP> HTML
<tb> utilisateur <SEP> exécutant <SEP> l'application <SEP> à <SEP> l'aide <SEP> d'un
<tb> final <SEP> navigateur <SEP> intégré <SEP> à <SEP> un <SEP> décodeur
<tb> numérique
<tb> Application <SEP> Application <SEP> HTML <SEP> : <SEP> Ensemble <SEP> des <SEP> pages
<tb>
<Desc/Clms Page number 4>
Figure img00040001
<tb>
<tb> et <SEP> de <SEP> l'arborescence <SEP> du <SEP> site
<tb> Document <SEP> ou <SEP> Tout <SEP> fichier <SEP> accessible <SEP> sur <SEP> un <SEP> serveur
<tb> fichier <SEP> http <SEP> distant <SEP> par <SEP> une <SEP> URL
<tb> Document <SEP> URL <SEP> complète <SEP> déterminant <SEP> le <SEP> point
<tb> d'accueil <SEP> d'entrée <SEP> du <SEP> site
<tb> Document <SEP> inclus <SEP> Document <SEP> inclus <SEP> dans <SEP> une <SEP> page
<tb> ou <SEP> composante <SEP> principale <SEP> : <SEP> image, <SEP> son <SEP> , <SEP> document
<tb> incluse <SEP> secondaire, <SEP> application. <SEP> Un <SEP> document
<tb> inclus <SEP> vient <SEP> s'insérer <SEP> dans <SEP> la <SEP> page
<tb> sans <SEP> intervention <SEP> grâce <SEP> à <SEP> des
<tb> instructions <SEP> d'un <SEP> programme <SEP> de
<tb> présentation <SEP> de <SEP> la <SEP> page <SEP> contenant
<tb> notamment <SEP> l'URL <SEP> du <SEP> document <SEP> inclus <SEP> et
<tb> des <SEP> consignes <SEP> pour <SEP> situer <SEP> le <SEP> document
<tb> inclus <SEP> dans <SEP> la <SEP> page <SEP> en <SEP> cours.
<tb>
Document <SEP> ou <SEP> Document <SEP> accessible <SEP> à <SEP> partir <SEP> d'une
<tb> fichier <SEP> lié <SEP> ou <SEP> page <SEP> principale <SEP> par <SEP> click <SEP> sur <SEP> un
<tb> pointé <SEP> hyperlien
<tb> Document <SEP> ou <SEP> Document <SEP> ou <SEP> fichier <SEP> accessible <SEP> par <SEP> un
<tb> fichier <SEP> click <SEP> sur <SEP> un <SEP> hyperlien <SEP> et <SEP> qui <SEP> n'est
<tb> principal <SEP> inclus <SEP> dans <SEP> aucun <SEP> autre <SEP> document
<tb> Dynamicité <SEP> La <SEP> dynamicité <SEP> d'un <SEP> document <SEP> permet <SEP> de
<tb> signaler <SEP> à <SEP> l'OCG <SEP> les <SEP> documents
<tb> susceptibles <SEP> de <SEP> nécessiter <SEP> une <SEP> mise <SEP> à
<tb> jour <SEP> plus <SEP> fréquente
<tb> Page <SEP> Document <SEP> principal
<tb> Priorité <SEP> la <SEP> priorité <SEP> d'un <SEP> document <SEP> détermine <SEP> sa
<tb> fréquence <SEP> de <SEP> diffusion. <SEP> Ainsi, <SEP> un
<tb> document <SEP> de <SEP> priorité <SEP> haute <SEP> sera
<tb> diffusé <SEP> plus <SEP> fréquemment <SEP> qu'un
<tb> document <SEP> de <SEP> priorité <SEP> faible
<tb>
<Desc/Clms Page number 5>
Figure img00050001
<tb>
<tb> Proxy <SEP> Serveur <SEP> passerelle <SEP> vers <SEP> internet
<tb> Site <SEP> ensemble <SEP> de <SEP> pages <SEP> servies <SEP> par <SEP> le
<tb> serveur <SEP> WEB
<tb> URL <SEP> complète <SEP> d'une <SEP> page <SEP> d'accueil,
<tb> associée <SEP> à <SEP> des <SEP> paramètres <SEP> de
<tb> profondeur <SEP> et <SEP> de <SEP> définition <SEP> des
<tb> limites <SEP> du <SEP> site
<tb>
Typiquement une application est composée d'une pluralité de pages HTML, dites pages interactives.
Pour télécharger une application, on utilise des protocoles TCP/IP tels que HTTP (hyper text transfer protocol). L'application est transmise depuis un serveur HTTP, vers un serveur de diffusion d'applications (Broadcast Application Servers-BAS) sous forme d'une arborescence de fichiers puis encapsulée en modules, contenant chacun un ou plusieurs fichiers, dans un protocole de transfert d'objets en carrousel tel que "protocole Object Carousel" et insérée dans un flux MPEG diffusé par exemple par un satellite ou par le câble.
Selon la technique antérieure, un protocole tel que DSM-CC Object Carousel respecte la structure arborescente de l'application. La diffusion au moyen d'un tel protocole respecte les propriétés du système de fichiers (arborescence de répertoires) et permet l'encapsulation dans des sections MPEG.
L'arborescence de l'application est une arborescence de répertoires, ces répertoires contenant les différents fichiers de l'application. Ainsi, par exemple, on pourra avoir un répertoire racine auquel on donne un niveau 0 auquel sont rattachés des fichiers
<Desc/Clms Page number 6>
de niveau 0 et des répertoires de niveau 1. Les répertoires de niveau 1 contiennent des fichiers de niveau 1 et des répertoires de niveau 2 et ainsi de suite. En général les répertoires sont organisés par type de contenu, par exemple un répertoire d'images contiendra toutes les images de l'application, les fichiers correspondants ont une terminaison ".gif", un autre répertoire contiendra les produits son, etc..
Ce protocole selon la technique antérieure est adapté à la diffusion d'une arborescence de systèmes de gestion de fichiers, mais ne permet nullement d'optimiser la diffusion dès lors que des dépendances, sous la forme de liens de navigation, également appelés hyper-liens, apparaissent entre ces fichiers, ce qui est le cas d'une application HTML. Par ailleurs des composantes incluses (images applets, son, etc... cette liste n'étant pas limitative) pointées par un lien d'inclusion dans un fichier HTML (ou fichier principal), nécessaire à l'élaboration de la page interactive ne sont pas diffusées de manière optimale dans un mode qui ne prend en compte que l'arborescence de fichiers. En effet, l'utilisateur final ne pourra disposer effectivement de la page qu'après un temps correspondant à un, ou plusieurs cycles de diffusion, si certaines composantes incluses nécessaires à l'affichage d'une page sont localisées dans un répertoire très éloignés du répertoire racine. Ainsi du point de vue de l'utilisateur le temps d'accès à une page peut être très long et décourager l'accès. La reconstitution d'un document principal ne pourra être effectuée que lorsque tous les fichiers inclus, par exemple images ou sons, auront été réceptionnés.
<Desc/Clms Page number 7>
Brève description de l'invention.
Avant de décrire l'invention, des éléments de vocabulaire qui seront employés pour la description sont définis dans le tableau suivant.
Figure img00070001
<tb>
<tb>
Priorité <SEP> La <SEP> priorité <SEP> d'un <SEP> document <SEP> détermine <SEP> sa
<tb> fréquence <SEP> de <SEP> diffusion
<tb> Profondeur <SEP> La <SEP> profondeur <SEP> d'un <SEP> document <SEP> est
<tb> définie <SEP> par <SEP> le <SEP> nombre <SEP> minimal <SEP> de
<tb> clicks <SEP> de <SEP> souris, <SEP> ou <SEP> équivalents,
<tb> nécessaires <SEP> pour <SEP> y <SEP> accéder <SEP> à <SEP> partir <SEP> de
<tb> la <SEP> page <SEP> d'accueil. <SEP> La <SEP> page <SEP> d'accueil
<tb> ainsi <SEP> que <SEP> ses <SEP> composantes <SEP> incluses <SEP> ont
<tb> une <SEP> profondeur <SEP> 0
<tb> Règles <SEP> Règles <SEP> définissant <SEP> les <SEP> limites <SEP> de
<tb> d'aspiration <SEP> téléchargement <SEP> d'un <SEP> site
<tb> Règle <SEP> de <SEP> Règle <SEP> définissant <SEP> la <SEP> priorité <SEP> et/ou <SEP> la
<tb> regroupement <SEP> dynamicité <SEP> de <SEP> fichiers
<tb>
Par rapport à l'état de la technique qui vient d'être décrit, l'invention vise à optimiser la diffusion d'une application, de façon à ce qu'un utilisateur final puisse disposer de l'application et des pages qui la composent dans les délais les plus brefs, puis à ce que les passages d'une page en cours à une page immédiatement suivante (selon les liens de navigation, page en amont ou en aval de la page en cours) puissent être les plus rapides possibles.
L'invention part du constat que le rattachement par exemple d'une composante incluse à une page principale peut être connu par l'analyse syntaxique et sémantique des données incluses dans le fichier
<Desc/Clms Page number 8>
principal associé à cette page et des différents fichiers qui la composent. Ainsi on sait par exemple, par consultation du fichier HTML décrivant la page principale, que la page principale contient un certain nombre de composantes incluses et il est possible de trouver les fichiers correspondant à ces composantes dans les différents répertoires composant ensemble l'application grâce aux données contenues dans le fichier HTML et décrivant ces fichiers
Selon l'invention, si par exemple, une page d'accueil de l'application contient des composantes incluses, les fichiers constituant ces composantes incluses dans la page d'accueil sont regroupés dans un même module de diffusion, ou dans plusieurs modules contigus, si un seul module ne suffit pas à contenir les fichiers correspondants. Ainsi selon l'invention une application n'est pas diffusée selon une arborescence de répertoires mais selon une arborescence logique en fonction du contenu de l'application et de la répartition de ce contenu dans les différentes pages de l'application. Selon l'invention, une page de niveau 0 sera par exemple la page d'accueil de l'application, et les composantes incluses contenues dans cette page auront également un niveau 0. Cette page et ses composantes incluses seront insérées dans un ou plusieurs modules de diffusion contigus. Les pages suivantes de niveau logique 1 par rapport à la page 0, sont les pages que l'on peut appeler par un lien de navigation à partir de la page 0. Cette ou ces pages de niveau 1, ainsi que leurs composantes incluses éventuelles seront de la même manière préparées pour
<Desc/Clms Page number 9>
être incluses dans un ou plusieurs modules, et ainsi de suite.
En résumé, l'invention est relative à un procédé de diffusion, à partir d'un centre de diffusion vers des décodeurs de télévision numérique d'une application composée par un ensemble de fichiers contenant des données constituant ensemble des pages interactives, chaque page ayant un contenu affichable constitué par un fichier principal et des composantes incluses éventuelles, des liens d'inclusion permettant l'affichage ou l'exécution de composantes incluses éventuelles, pour obtenir la totalité de la page interactive, des liens de navigation pointant chacun vers un fichier principal d'une page interactive de profondeur supérieure ou inférieure, une page d'accueil ayant un niveau de profondeur 0, une page de niveau 1 étant une page que l'on peut appeler par un lien de navigation à partir de cette page de profondeur 0, et plus généralement une page de profondeur n étant une page que l'on peut appeler avec au minimum n liens de navigation à partir de la page d'accueil de profondeur 0, le procédé comportant une étape préalable de réception du ou des fichiers nécessaires à la constitution d'une pluralité de pages interactives avec leurs composantes incluses éventuelles, ces fichiers formant ensemble une application ou une partie de l'application correspondant à des pages ayant des niveaux de profondeur inférieurs à un niveau prédéterminé caractérisé en ce qu'il comprend en outre les étapes ci-après : a) analyse sémantique et syntaxique du contenu des fichiers principaux de l'application afin
<Desc/Clms Page number 10>
d'identifier les liens d'inclusion et les liens de navigation, une composante incluse et le fichier principal auquel elle est associé étant retenu comme ayant le même niveau de profondeur, et classement des différents fichiers par niveau de profondeur, b) constitution de modules de diffusion, les fichiers nécessaires à la constitution d'une page interactive complète avec ses éventuelles composantes incluses étant inclus dans un ou, si nécessaire, plusieurs modules.
Le procédé peut comporter en outre l'une ou plusieurs des étapes ci-après: c) définition d'un profil de diffusion contenant notamment des instructions d'ordre de diffusion pour que chaque page interactive et ses composantes incluses éventuelles soient diffusées avec un niveau de priorité choisit parmi au moins deux niveaux de priorité, d) diffusion des modules avec une fréquence qui est une fonction de l'ordre de priorité prédéfini. al) attribution d'un niveau de dynamicité à au moins une partie des pages interactives, les modules contenant des pages plus souvent modifiées que d'autres ayant un plus grand niveau de dynamicité que les modules contenant des pages moins souvent modifiées. a2) modification sélective de liens d'accès (URL) de navigation et/ou d'inclusion dans au moins une page interactive pour rendre la totalité ou au moins une première partie de l'application accessible dans un mode diffusion, et éventuellement rendre accessible une seconde partie de l'application par une voie de retour.
<Desc/Clms Page number 11>
a3) analyse quantitative des information contenues dans chaque fichier, et en fonction des résultats de cette analyse, suppression des pages de profondeur 1 ou supérieur à 1 en commençant par la suppression des pages de profondeur la plus grande, jusqu'à ce que la quantité d'information à diffuser restante soit égale ou inférieure à une limite quantitative prédéterminée. a4) modification de l'application pour y introduire des instructions permettant à un logiciel de gestion d'une mémoire cache d'un décodeur numérique recevant l'application, d'identifier les liens de navigation entre la page courante affichée et des pages que l'on peut atteindre par les liens de navigation de cette page courante, et de commander le chargement dans la mémoire cache desdites pages et de leurs composantes incluses éventuelles. a5) introduction dans l'application d'instructions permettant, en cas d'accès à la seconde partie de l'application par la voie de retour, un retour automatique au mode diffusion en cas de demande d'accès à une page qui fait partie des pages diffusées.
De préférence le niveau de priorité défini à l'étape c) est une fonction décroissante de la profondeur de la page interactive.
Le niveau de priorité peut aussi être une fonction croissante de la dynamicité.
Le niveau de priorité défini à l'étape c) peut aussi être une fonction du niveau de dynamicité et/ou de profondeur de la page interactive contenue dans le module.
<Desc/Clms Page number 12>
On note que selon l'invention, ce que l'on appelle l'aspiration de l'application est le transfert des fichiers constituant ensemble l'application, ou une partie de celle-ci, d'un site initial d'accès, typiquement un serveur WEB, vers un centre de traitement pour diffusion. Le site initial de stockage peut être un serveur distant ou se situer dans le centre de traitement.
Lorsque l'application comporte un grand nombre d'octets, et que son aspiration ou sa diffusion risque de saturer les possibilités de la plate-forme de diffusion ou les possibilités d'un décodeur numérique vers lequel est diffusée l'application, il est avantageux de prévoir une limite maximum à la quantité d'information qui sera aspirée ou diffusée. Pour cela on procède en plus de l'analyse sémantique et syntaxique des fichiers constituant ensemble l'application à une analyse quantitative des informations associées à chaque fichier, et en fonction des résultats de cette analyse on peut décider de stopper l'aspiration dès que la quantité d'information aspirée dépasse la limite quantitative prédéterminée.
De préférence, la fréquence de diffusion d'un module est d'autant plus grande que la priorité attribuée est importante. Selon un mode de réalisation, les niveaux de priorité sont fixés de façon à ce qu'une page de profondeur p, et ses composantes incluses éventuelles ait toujours un niveau de priorité qui ne soit pas supérieur au niveau de priorité d'une page de profondeur inférieure à p.
De préférence, il est attribué aux modules de diffusion de l'application un niveau de dynamicité, les
<Desc/Clms Page number 13>
modules contenant des pages plus souvent modifiées que d'autre ayant un plus grand niveau de dynamicité que les modules contenant des pages moins souvent modifiées.
Brève description des dessins
Un exemple de réalisation du procédé selon l'invention sera maintenant décrit en regard des dessins annexés dans lesquels : - la figure 1 représente schématiquement l'environnement logiciel et matériel d'un outil d'aspiration et de diffusion d'application selon l'invention, - la figure 2 représente schématiquement différents modules de fonctions de l'outil d'aspiration et de diffusion d'application selon l'invention et leurs rapports avec d'autres modules et avec des interfaces d'entrée de données de paramétrage.
- les figures 3A et 3B représentent respectivement les ordres initiaux et finaux de groupement d'une application avant aspiration et après aspiration.
- la figure 4 représente un exemple d'un organigramme d'un algorithme permettant l'analyse syntaxique et sémantique des liens de navigation pour effectuer le regroupement des fichiers constituant ensemble l'application ou une partie de l'application par niveau de profondeur.
Description d'exemples de réalisation
La figure 1 représente schématiquement l'environnement logiciel et matériel d'un outil
<Desc/Clms Page number 14>
d'aspiration et de diffusion d'application selon l'invention.
L'invention concerne un procédé d'aspiration et de diffusion d'application à partir d'un serveur HTTP 1. Ce serveur peut être mis en communication par une liaison bidirectionnelle 2 avec une unité de calcul constituant une plate-forme intermédiaire 3. L'unité de calcul 3 contient des moyens de mémoire 5 en eux-mêmes connus qui sont en relation avec une interface homme machine 4 (IHM), par exemple un clavier et des moyens de visualisation ou de transformation de son ou d'image en grandeur électrique, permettant notamment l'introduction manuelle de commandes de données ou de paramètres nécessaires à la commande ou au paramétrage des données de l'application qui seront traitées par le procédé de l'invention. Le procédé selon l'invention est implémenté sous forme d'un logiciel stocké dans les moyens de mémoire 5 de l'unité de calcul 3.
Des liaisons 6,7 permettent la transmission des instructions et des données avec un module de génération d'objet en carrousel 8 et l'interface 4 respectivement. Les instructions et les données élaborées par le module de génération d'objet en carrousel 8 sont transmises à un multiplexeur 9 par l'intermédiaire d'une liaison 10. A partir du multiplexeur 10 les instructions et les données sont transmises, par exemple sous forme de flux MPEG vers des terminaux 11, par exemple des décodeurs numériques associés de façon connue à des récepteurs de télévision numérique ou à des appareils d'enregistrement. Cette transmission entre le multiplexeur 9 et un terminal 11 peut être effectuée soit par une voie de diffusion
<Desc/Clms Page number 15>
large 12, par exemple une liaison par satellite ou une liaison câblée ou encore par une liaison restreinte 13 sous forme d'une voie de retour entre le terminal 11 et le multiplexeur 9. Cette voie de retour peut être par exemple une ligne du réseau téléphonique commuté.
La figure 2 représente schématiquement les blocs logiciels constituant ensemble l'outil d'aspiration et de diffusion d'application et ses liaisons à l'intérieur de l'unité de calcul 3 vers un bloc de navigation 15. L'outil d'aspiration et de diffusion d'application est composé essentiellement de deux blocs, un bloc d'aspiration 17 et un bloc de diffusion 18. Le bloc d'aspiration 17 comporte une unité 21 de stockage des paramètres d'aspiration, accessible par l'interface 4 ou par une unité de programme 23. L'unité de programme 23 délivre des instructions à une unité d'aspiration 25 qui aspire et organise le stockage des données en provenance du serveur HTTP 1. Le bloc de diffusion 18 comporte une unité 20 de stockage des paramètres de diffusion, accessible par l'interface 4 ou par l'unité de programme 23. Les données stockées dans les unités 21, 25 peuvent être visualisées sur un écran ou entendues sur un haut parleur par l'intermédiaire du bloc logiciel 15 de navigation. Un opérateur peut ainsi contrôler les données aspirées et diffusées.
Un exemple d'aspiration et de diffusion d'une application sera maintenant commenté en liaison avec les figures 3A et 3B.
A des fins d'explication, les fichiers avec extension "htm" ou "html" sont dénommés fichiers principaux. Ils constituent le corps de pages
<Desc/Clms Page number 16>
interactives respectives. Les fichiers dont l'identité comporte une extension "gif" ou autres sont dit "composantes incluses". Néanmoins, tout document accessible par un clic sur un lien de navigation et non pointé par un lien d'inclusion est un fichier (ou document) principal. Cela peut être le cas pour une image.
La figure 3A représente le répertoire d'une application présente sur un site. Dans cet exemple didactiquement simple, le répertoire comprend à partir d'une racine "dir" 00, deux répertoires 01 et 02 et deux fichiers, par exemple 001 pour une page d'accueil et 002 contenant des données de présentation d'une société. Le premier répertoire 01 contient des fichiers images ayant une extension "gif" et qui sont des composantes incluses, et l'autre répertoire 02 contient des fichiers ayant une extension "htm(l)" et qui sont des fichiers principaux de présentation de produits. Le répertoire 01 d'images contient par exemple une image 011 pour un logo, une image 012 pour un fond et une image 013 relative à un premier produit. Le répertoire pour des produits 02 comporte deux fichiers, l'un 021 contenant des informations sur le premier produit et l'autre 022 sur un second produit.
L'analyse syntaxique et sémantique des fichiers constituant l'application permet à partir des liens d'inclusion de reconnaître et de déterminer l'ensemble des fichiers nécessaires à la constitution d'une page affichable. Cette analyse permet aussi à partir des liens de navigation de reconnaître et de déterminer le niveau de profondeur d'une page, c'est à dire le nombre minimal de lien(s) de navigation séparant une page
<Desc/Clms Page number 17>
d'accueil de niveau de profondeur 0 de la page considérée.
On peut ainsi regrouper les différents fichiers pour les insérer dans des modules contenant chacun une page et ses composantes incluses. La figure 3B représente les modules formés à partir de l'analyse. Dans le cas présent l'analyse a permis de reconnaître que le fichier principal 001 est associé à une page interactive d'accueil PO, par exemple, parce qu'elle porte le nom "default.htm" ou "index.htm" et que cette page PO contient des liens d'inclusion pointant vers des composantes incluses, le logo 011 et le fond 012. Elle permet également de reconnaître que cette page contient trois liens de navigation, le premier vers le fichier principal 002 de présentation de la société, le deuxième vers le fichier principal 021 de premier produit et le troisième vers le fichier principal 022 de second produit. On sait ainsi qu'il y a deux pages de niveau 1, une page P2 et une page P3. Dans ces conditions les fichiers 001, 011 et 012 sont regroupés pour être inclus dans un module 100 de profondeur 0 auquel est attribué une priorité par exemple haute.
Cela signifie que ce module 100 sera diffusé avec une fréquence plus grande qu'un module ayant une priorité plus faible. Ce module regroupe la page d'accueil composée par le fichier 001 et les composantes incluses dans cette page d'accueil PO composées dans ce cas des fichiers 011 et 012. L'analyse de la page P3 associée au fichier principal 021 de premier produit permet de reconnaître que cette page contient un lien d'inclusion vers l'image de premier produit 013. Le fichier 021 et la composante incluse 013 qui est une image sont
<Desc/Clms Page number 18>
insérés dans un module 300 de profondeur 1. Le fichier 002 qui constitue une page liée P2 par un lien de navigation à la page d'accueil PO est inclus dans un module de diffusion 200 de profondeur 1. Des flèches entre la page PO et les pages P3 et P2 respectivement, symbolisent les liens de navigation. Dans un but de simplicité on s'arrête pour cet exemple au niveau de profondeur 1. Si un ou plusieurs liens de navigation d'une page de profondeur 1 pointaient vers des pages de profondeur 2, ces pages seraient incluses dans des modules additionnels de profondeur 2, et ainsi de suite de manière itérative.
Un exemple de réalisation d'une analyse syntaxique et sémantique des liens de navigation et d'inclusion sera maintenant commenté en liaison avec la figure 4. Comme montré dans la figure 4, l'analyse syntaxique et sémantique des liens de navigation pour repérer les différentes pages et déterminer le niveau de profondeur de chaque page s'opère de façon itérative de la façon suivante. Dans une première itération, la page d'accueil PO de profondeur 0 par convention est détectée par exemple par détection d'un fichier dénommé "default.htm" ou "index.htm". Lors des itérations suivantes les il pages de profondeur 1 seront analysées successivement, puis les i2 pages de profondeur 2, jusqu'à arriver à la dernière page des ij pages de profondeur j, j étant le niveau de profondeur maximum.
Pour la page d'accueil de niveau de profondeur 0, la variable N est positionnée à 0. La page d'accueil est alors analysée sémantiquement selon l'étape 31. Les liens de navigation, notés {Lni}N, apparaissant dans
<Desc/Clms Page number 19>
cette page d'accueil sont détectés selon l'étape 31 puis mémorisés selon l'étape 32. La valeur i est incrémenté de 1 à chaque inscription nouvelle d'un lien de navigation. Il est à noter que cette variable i est à dissocier de la variable que l'on a utilisée plus haut pour se référer au nombre de pages par niveau de profondeur. Les liens de navigation sont typiquement repérés par la présence d'une sémantique du type (<ahref=http://www.abc.com/>bla bla bla</a>). Il est ensuite vérifié selon une étape 33 que ces liens de navigation ou plus précisément les fichiers qu'ils pointent, n'ont pas déjà été pointés lors d'une itération précédente de l'algorithme. Pour cela on établit un ensemble {E} des fichiers pointés jusqu'à l'itération courante. S'il existe de tels fichiers qui ont déjà été pointés dans une itération précédente de l'algorithme, alors il ne sont pas pris en compte. Cela permet d'éviter d'accorder à un même fichier plusieurs niveaux de profondeur différents. L'effacement desdits fichiers déjà inscrits est effectué à une étape 34. On attribue aux fichiers restants un niveau de profondeur (N + 1) et les informations qui identifient ces fichiers sont stockés stockées dans l'ensemble {E} à l'étape 35. On réitère ensuite les étapes 30-35 après avoir incrémenté la variable N de la valeur 1 selon l'étape 36. Cela veut dire que l'on recommence ces étapes pour l'ensemble des liens de navigation inclus dans la ou les pages de niveau N + 1. On recommence l'itération jusqu'à ce qu'on ne détecte plus aucun lien de navigation dans les fichiers pointés par des liens de navigation inclus dans des pages de niveau
<Desc/Clms Page number 20>
immédiatement inférieurs auquel cas l'algorithme termine son déroulement à une étape 37.
L'outil d'aspiration effectue les tâches suivantes :
Il adresse une requête HTTP au serveur distant.
Le contenu de la requête est défini de façon détaillée dans HTPP1-1 RFC 2616. La requête contient notamment les informations suivantes : - l'URL demandée, - l'entête HTTP "user-agent", qui permet au serveur d'identifier la nature du navigateur client, - le champ "si modifié depuis" "if-modifiedsince" qui permet une mise à jour conditionnelle limitée aux modifications intervenues dans le document aspiré entre la date courante de l'aspiration et la date précédente d'aspiration du même document si le document a déjà été aspiré, - les informations éventuelles d'authentification sur le serveur et sur un éventuel proxy (serveur passerelle vers internet) (authentification basic par encodage b64).
Afin de sécuriser les échanges entre le serveur web et le site d'aspiration, il convient de préciser le HTTP sécurisé employé, par exemple SSL ou TLS.
Seule la méthode GET est utilisée par le client HTTP inclus dans l'aspirateur de sites. Les scripts associés aux formulaires, qui nécessitent une saisie sur le navigateur client, ne sont pas aspirés.
La réponse HTTP du serveur au client contient notamment : - le code retour HTTP, - les informations relatives au document :
<Desc/Clms Page number 21>
- son type MIME (text/html, image/gif, ...), - sa longueur, - sa date de création, - sa date d'expiration, - le contenu du document,
Le code retour signale le résultat de la requête ("OK" (Accordé) ou "document non modifié", ou "redirection" si le document a une nouvelle URL, ou encore "erreur"). Les informations de dates sont utilisées par l'outil d'aspiration pour gérer la mise à jour du document, tandis que le type MIME sera utilisé dans la suite de la chaîne de diffusion par le protocole DSMCC géré par l'OCG.
L'outil d'aspiration : - reçoit et stocke localement les pages d'un ou de plusieurs sites ainsi que les informations qui s'y rapportent (contenu, dates, longueur...), - analyse l'entête HTTP afin de déterminer les informations ci dessus, les erreurs ou les redirections éventuelles.
- parcourt le code HTML afin de : # calculer les dépendances et ainsi effectuer les requêtes HTTP pour le reste des documents nécessaires, # déterminer les XLETs utilisées par l'application HTML.
A partir des étapes ci dessus, l'outil reproduit ainsi l'image physique de l'arborescence d'un serveur HTTP distant ainsi qu'une base de données regroupant les attributs des documents.
<Desc/Clms Page number 22>
L'outil d'aspiration est configurable par l'opérateur à l'aide de l'interface 4 afin de : - limiter éventuellement le contenu aspiré à partir du ou des sites distants en fonction d'une profondeur, ou d'une taille de données, ou d'une liste d'expressions régulières d'URLs ou encore en rejetant certains types de contenus, ou enfin par combinaison de ces différents modes de limitations, - déclencher, de façon automatique, l'aspiration d'un site distant donné selon une périodicité ou des dates prédéterminées.
Le tableau suivant décrit le profil d'un site et les données en sortie de l'outil d'aspiration. Les paramètres d'entrée sont configurables globalement ou personnalisables pour chaque site.
Figure img00220001
<tb>
<tb>
Outil <SEP> d'aspiration
<tb> Paramètres <SEP> Les <SEP> paramètres <SEP> de <SEP> connexion <SEP> : <SEP>
<tb> d'entrée <SEP> le <SEP> serveur <SEP> hébergeant <SEP> le <SEP> site <SEP> à <SEP> aspirer
<tb> les <SEP> paramètres <SEP> d'authentification
<tb> éventuels <SEP> (login <SEP> et <SEP> mot <SEP> de <SEP> passe)
<tb> l'adresse <SEP> du <SEP> proxy <SEP> de <SEP> connexion <SEP> éventuel
<tb> et <SEP> les <SEP> paramètres <SEP> d'authentification
<tb> éventuels
<tb> la <SEP> temporisation <SEP> (time-out) <SEP> de <SEP> connexion
<tb> le <SEP> nombre <SEP> de <SEP> tentatives <SEP> de <SEP> connexions
<tb> après <SEP> échec
<tb> Les <SEP> paramètres <SEP> d'aspiration:
<tb> l'URL <SEP> de <SEP> la <SEP> page <SEP> d'accueil <SEP> du <SEP> site <SEP> aspiré
<tb> la <SEP> profondeur <SEP> d'aspiration <SEP> désirée
<tb> le <SEP> nombre <SEP> maximal <SEP> de <SEP> fichiers <SEP> à <SEP> aspirer
<tb>
<Desc/Clms Page number 23>
Figure img00230001
<tb>
<tb> la <SEP> limite <SEP> de <SEP> taille <SEP> totale <SEP> du <SEP> site
<tb> la <SEP> limite <SEP> de <SEP> taille <SEP> pour <SEP> chaque <SEP> document
<tb> composant <SEP> le <SEP> site
<tb> les <SEP> limites <SEP> de <SEP> téléchargements
<tb> expressions <SEP> régulières <SEP> des <SEP> URLs <SEP> et <SEP> types
<tb> MIME <SEP> des <SEP> documents <SEP> autorisés
<tb> l'identification <SEP> du <SEP> navigateur <SEP> client <SEP> ou
<tb> agent <SEP> utilisateur
<tb> l'action <SEP> à <SEP> effectuer <SEP> en <SEP> cas <SEP> de <SEP> liens <SEP> non
<tb> valide <SEP> ou <SEP> non <SEP> autorisé
<tb> La <SEP> date <SEP> de <SEP> la <SEP> précédente <SEP> aspiration
<tb> complétant <SEP> la <SEP> condition <SEP> "if-modifiedsince" <SEP> permettant <SEP> une <SEP> aspiration
<tb> conditionnelle <SEP> lors <SEP> d'une <SEP> mise <SEP> à <SEP> jour
<tb> Les <SEP> droits <SEP> d'accès <SEP> aux <SEP> XLETs, <SEP> lesquels
<tb> seront <SEP> contrôlés <SEP> lors <SEP> du <SEP> parcours <SEP> du <SEP> code
<tb> HTML
<tb> Données <SEP> Le <SEP> site <SEP> (l'application <SEP> HTML):
<tb> en <SEP> sortie <SEP> - <SEP> l'arborescence <SEP> du <SEP> site <SEP> aspiré <SEP> et <SEP> son
<tb> contenu
<tb> - <SEP> les <SEP> document <SEP> HTML <SEP> réécris <SEP> : <SEP> les <SEP> liens <SEP> non
<tb> aspirés <SEP> sont <SEP> remplacés <SEP> par <SEP> une <SEP> URL <SEP> http://,
<tb> par <SEP> une <SEP> page <SEP> par <SEP> défaut <SEP> ou <SEP> supprimés.
<tb>
Une <SEP> description <SEP> du <SEP> contenu <SEP> : <SEP>
<tb> les <SEP> informations <SEP> relatives <SEP> à <SEP> chaque
<tb> document <SEP> (type, <SEP> taille, <SEP> ...)
<tb> les <SEP> dépendances <SEP> entre <SEP> les <SEP> documents
<tb> composant <SEP> le <SEP> site <SEP> aspiré
<tb> Les <SEP> XLETs <SEP> utilisés
<tb>
<Desc/Clms Page number 24>
Figure img00240001
<tb>
<tb> Un <SEP> fichier <SEP> journal <SEP> comportant <SEP> le <SEP> détail <SEP> des
<tb> opérations <SEP> effectuées <SEP> et <SEP> les <SEP> erreurs
<tb> éventuelles.
<tb>
Ces paramètres d'entrée et sortie ou au moins certains d'entre eux peuvent être saisis à partir de l'IHM qui comporte les boîtes de dialogues nécessaires.
Lors de l'aspiration, une fenêtre d'état informe l'opérateur de l'avancement de l'aspiration.
Une fois l'aspiration effectuée, l'opérateur a la possibilité de visualiser le contenu aspiré grâce au navigateur intégré 15. Il peut ainsi contrôler le bon téléchargement du contenu.
En cas de mise à jour, seuls les documents modifiés depuis l'aspiration précédente sont récupérés.
La phase regroupement optimisation sera maintenant décrite.
L'outil de regroupement effectue les tâches suivantes. Il s'agit essentiellement d'un processus de regroupement des données afin de permettre une optimisation de la diffusion vers un navigateur implémenté au niveau du terminal 11.
L'outil de regroupement effectue les calculs suivants à partir des données obtenues par l'outil d'aspiration et des règles de mise en diffusion saisies par l'opérateur : (a) Regroupement de chaque page interactive et des composantes incluses dans cette page interactive.
Ce regroupement fait l'objet d'un module de diffusion.
Si un même document se retrouve inclus dans plusieurs pages, (par exemple dans le cas d'une image de logo), ce document sera rattaché au premier module de
<Desc/Clms Page number 25>
profondeur la plus faible et de priorité la plus élevée. Ce regroupement est obtenu par l'analyse sémantique et/ou syntaxique des fichiers. Dans le cas d'une inclusion ces liens sont constitués par des liens d'inclusion, pointant vers une composante incluse à charger avec la page interactive, cette composante incluse pouvant être notamment : - une image, - un fichier multimédia, par exemple une image ou du son ou de la vidéo - une application exécutable dans la page interactive, - tout autre document texte ou binaire.
(b)- attribution des paramètres de diffusion aux documents principaux et dans des cas particuliers aux documents inclus. Ces paramètres sont : - la priorité qui désigne la fréquence de diffusion (par exemple : haute, normale, faible), c'est à dire l'importance du document.
- la dynamicité qui permet de signaler à l'OCG les documents susceptibles de nécessiter une mise à jour plus fréquente.
Elle est destinée à minimiser le coût du processus de mise à jour de l'application diffusée. Le fait que les documents nécessitant une mise à jour plus fréquente soient signalés par une valeur de dynamicité permet un regroupement de ces documents au niveau de l'OCG. L'attribut de dynamicité permet de signaler à l'OCG les documents susceptibles de changer plus
<Desc/Clms Page number 26>
fréquemment que le reste de l'application.
Ceci permettra à l'OCG d'organiser l'application dans le carrousel afin de minimiser le délai de mise en sections de l'application. On peut considérer que sur un site Web, en général plus de 80% du site reste inchangé lors d'une mise à jour. Si les documents ayant une grande dynamicité sont regroupés alors la mise à jour n'affecte que 20% des modules au niveau de l'OCG. Elle peut avoir deux valeurs : "dynamique" ou "statique", cette dernière étant la valeur par défaut.
Les actions d'association et d'attribution de paramètres s'effectuent en fonction de règles définies par l'opérateur. Ces règles permettent de : - Associer un document inclus à un document principal.
- Attribuer une priorité en fonction des critères profondeur et/ou taille et/ou type et/ou date de modification et/ou expression régulière appliquée à l'URL.
Afin d'automatiser le calcul des attributs de diffusion, l'opérateur définit, à partir de l'IHM, des règles de regroupement. Il peut, en fonction de critères définis ci dessous, associer une priorité et/ou une dynamicité à un ou plusieurs documents, et associer ou dissocier un document inclus à un document principal (Il s'agira généralement d'image inclue dans plusieurs documents principaux ou de cas plus spécifiques, fond d'écran de taille importante à
<Desc/Clms Page number 27>
désolidariser de sa page de rattachement qui doit garder une priorité haute).
Figure img00270001
<tb>
<tb>
Critère <SEP> Exemple
<tb> Profondeur <SEP> Profondeur <SEP> 0 <SEP> et <SEP> 1 <SEP> : <SEP> priorité <SEP> haute,
<tb> profondeur <SEP> 2 <SEP> : <SEP> normale,
<tb> profondeur <SEP> 3 <SEP> et <SEP> plus <SEP> : <SEP> faible
<tb> URL <SEP> /image/background.gif <SEP> : <SEP> priorité <SEP> faible
<tb> /annonces/index.html <SEP> : <SEP> priorité <SEP> faible
<tb> Expression <SEP> *advert* <SEP> : <SEP> priorité <SEP> faible <SEP> (publicités)
<tb> régulière
<tb> Date <SEP> Date <SEP> de <SEP> modification <SEP> > <SEP> 10 <SEP> jours <SEP> : <SEP>
<tb> priorité <SEP> normale
<tb> Type <SEP> MIME <SEP> Type <SEP> image/* <SEP> priorité <SEP> faible
<tb> Liste <SEP> de <SEP> Taille <SEP> > <SEP> 300 <SEP> Ko <SEP> et <SEP> image/* <SEP> : <SEP> priorité
<tb> critères <SEP> (et/ou) <SEP> faible
<tb>
Les règles sont de préférence applicables aux documents principaux et appliquées de manière transparente aux dépendances.
En plus des données relatives à l'application il sera diffusé des instructions destinées au décodeur qui reçoit l'application. Ainsi il sera diffusé par exemple des instructions ayant pour but de permettre un chargement d'une mémoire cache du décodeur en fonction de la page affichée en cours. Ces instructions permettront à un logiciel de gestion d'une mémoire cache d'un décodeur numérique, d'identifier les liens de navigation entre la page courante affichée et des pages que l'on peut atteindre par les liens de navigation de cette page courante. Les instructions
<Desc/Clms Page number 28>
permettront au décodeur numérique de rechercher en priorité dans le flux MPEG de diffusion de l'application les modules contenant les pages de profondeur immédiatement supérieure ou inférieure si la profondeur de la page affichée en cour est différente de 0. Après identification il sera commandé le chargement dans la mémoire cache desdites pages de profondeur immédiatement supérieure ou inférieure et de leurs composantes incluses éventuelles. La diffusion des instructions pour permettre le chargement anticipé de la mémoire cache n'est nécessaire que si les décodeurs numériques ne comportent pas de logiciel remplissant déjà cette fonction.
De cette façon au niveau de l'utilisateur la navigation, en particulier la durée d'affichage d'une page appelée à partir de la page en cours sera raccourcie puisque les pages que l'on peut appeler à partir de la page en cours seront déjà en cours de chargement ou chargées dans la mémoire cache.
D'autres instructions permettront au décodeur de déterminer que des pages non diffusées sont accessibles par la voie de retour. Le code de l'application est réécrit selon le mode d'accès aux différents documents constituant l'application. Les liens identifiés sont modifiés afin d'être utilisés par le décodeur de télévision numérique. Un lien de navigation modifié comportera notamment une indication permettant au décodeur de connaître le mode de diffusion du document pointé par le lien, et donc de le charger soit en utilisant la voie de retour, soit en le prenant dans le flux de diffusion. Notamment la sémantique protocolaire d'adressage sera modifiée de
<Desc/Clms Page number 29>
"http://" en "dvb ://" dansle cas de la présence d'une page ou autre document dans le flux de diffusion, ou restera "http://" dans le cas ou le chargement doit se faire par la voie de retour.
La répartition éventuelle de l'application sur différentes voies physiques d'accès permet d'utiliser au mieux la bande passante disponible dans le mode de diffusion large. Les documents auquel l'accès est le plus souvent demandé sont diffusés dans le flux. Les documents plus rarement consultés ou nécessitant une interaction avec le serveur hébergeant l'application originale, ie, avant aspiration, sont accédés par la voie de retour. Lors de la navigation utilisant la voie de retour, des instructions permettent de reconnecter de façon automatique le décodeur sur la voie à diffusion large si un document demandé au cours de cette navigation sur cette voie de retour est aussi accessible par la voie à diffusion large.

Claims (10)

REVENDICATIONS
1. Procédé de diffusion, à partir d'un centre de diffusion vers des décodeurs de télévision numérique d'une application composée par un ensemble de fichiers contenant des données constituant ensemble des pages interactives, chaque page ayant un contenu affichable constitué par un fichier principal et des composantes incluses éventuelles, des liens d'inclusion éventuels permettant l'affichage ou l'exécution de composantes incluses, pour obtenir la totalité de la page interactive, des liens de navigation pointant chacun vers un fichier principal d'une page interactive de profondeur supérieure ou inférieure, une page d'accueil ayant un niveau de profondeur 0, une page de niveau 1 étant une page que l'on peut appeler par un lien de navigation à partir de cette page de profondeur 0, et plus généralement une page de profondeur n étant une page que l'on peut appeler avec au minimum n liens de navigation à partir de la page d'accueil de profondeur 0, le procédé comportant une étape préalable de réception du ou des fichiers nécessaires à la constitution d'une pluralité de pages interactives avec leurs composantes incluses éventuelles, ces fichiers formant ensemble une application ou une partie de l'application correspondant à des pages ayant des niveaux de profondeur inférieurs à un niveau prédéterminé caractérisé en ce qu'il comprend en outre les étapes ci-après : a) analyse sémantique et syntaxique du contenu des fichiers principaux de l'application afin d'identifier les liens d'inclusion et les liens de
<Desc/Clms Page number 31>
navigation, une composante incluse et le fichier principal auquel elle est associé étant retenu comme ayant le même niveau de profondeur, et classement des différents fichiers par niveau de profondeur, b) constitution de modules de diffusion, les fichiers nécessaires à la constitution d'une page interactive complète avec ses éventuelles composantes incluses étant inclus dans un ou si nécessaire, plusieurs modules.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre des étapes de : c) définition d'un profil de diffusion contenant notamment des instructions d'ordre de diffusion pour que chaque page interactive et ses composantes incluses éventuelles soient diffusées avec un niveau de priorité choisit parmi au moins deux niveaux de priorité, d) diffusion des modules avec une fréquence qui est une fonction de l'ordre de priorité prédéfinit.
3. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de : al) attribution d'un niveau de dynamicité à au moins une partie des pages interactives, les modules contenant des pages plus souvent modifiées que d'autres ayant un plus grand niveau de dynamicité que les modules contenant des pages moins souvent modifiées.
4. Procédé selon la revendication 2, caractérisé en ce que le niveau de priorité défini à l'étape c) est une fonction décroissante de la profondeur de la page interactive.
<Desc/Clms Page number 32>
5. Procédé selon la revendication 3, caractérisé en ce que le niveau de priorité est une fonction croissante de la dynamicité.
6. Procédé selon la revendication 3 dépendant de la revendication 2, caractérisé en ce que le niveau de priorité défini à l'étape c) est une fonction du niveau de dynamicité et/ou de profondeur de la page interactive contenue dans le module.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il comprend en outre une étape de : a2) modification sélective de liens d'accès (URL) de navigation et/ou d'inclusion dans au moins une page interactive pour rendre la totalité ou au moins une première partie de l'application accessible dans un mode diffusion, et éventuellement rendre accessible une seconde partie de l'application par une voie de retour.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend en outre une étape : a3) analyse quantitative des information contenues dans chaque fichier, et en fonction des résultats de cette analyse, de - suppression des pages de profondeur 1 ou supérieur à 1 en commençant par la suppression des pages de profondeur la plus grande, jusqu'à ce que la quantité d'information à diffuser restante soit égale ou inférieure à une limite quantitative prédéterminée.
9. Procédé selon, l'une des revendications 1 à 8, caractérisé en ce qu'il comporte une étape de : a4) modification de l'application pour y introduire des instructions permettant à un logiciel de
<Desc/Clms Page number 33>
gestion d'une mémoire cache d'un décodeur numérique recevant l'application, d'identifier les liens de navigation entre la page courante affichée et des pages que l'on peut atteindre par les liens de navigation de cette page courante, et de commander le chargement dans la mémoire cache desdites pages et de leurs composantes incluses éventuelles.
10. Procédé selon l'une des revendications 6 à 9, caractérisé en ce qu'il comporte une étape : a5) introduction dans l'application d'instructions permettant, en cas d'accès à la seconde partie de l'application par la voie de retour, un retour automatique au mode diffusion en cas de demande d'accès à une page qui fait partie des pages diffusées.
FR0207355A 2002-06-14 2002-06-14 Procede de diffusion d'application html Expired - Fee Related FR2841079B1 (fr)

Priority Applications (9)

Application Number Priority Date Filing Date Title
FR0207355A FR2841079B1 (fr) 2002-06-14 2002-06-14 Procede de diffusion d'application html
US10/517,577 US8554874B2 (en) 2002-06-14 2003-06-12 Method for broadcast of an html application
EP03760018A EP1547390A1 (fr) 2002-06-14 2003-06-12 Procede de diffusion d'application html
AU2003251121A AU2003251121A1 (en) 2002-06-14 2003-06-12 Method for broadcast of an html application
MXPA04012606A MXPA04012606A (es) 2002-06-14 2003-06-12 Metodo de transmision de una aplicacion de html.
JP2004514346A JP4448026B2 (ja) 2002-06-14 2003-06-12 Htmlアプリケーションの送信方法
PCT/FR2003/001767 WO2003107674A1 (fr) 2002-06-14 2003-06-12 Procede de diffusion d'application html
KR1020047020289A KR101035107B1 (ko) 2002-06-14 2003-06-12 Html 어플리케이션의 방송 방법
CNB038138832A CN100401777C (zh) 2002-06-14 2003-06-12 传输html应用程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0207355A FR2841079B1 (fr) 2002-06-14 2002-06-14 Procede de diffusion d'application html

Publications (2)

Publication Number Publication Date
FR2841079A1 true FR2841079A1 (fr) 2003-12-19
FR2841079B1 FR2841079B1 (fr) 2005-02-25

Family

ID=29595249

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0207355A Expired - Fee Related FR2841079B1 (fr) 2002-06-14 2002-06-14 Procede de diffusion d'application html

Country Status (9)

Country Link
US (1) US8554874B2 (fr)
EP (1) EP1547390A1 (fr)
JP (1) JP4448026B2 (fr)
KR (1) KR101035107B1 (fr)
CN (1) CN100401777C (fr)
AU (1) AU2003251121A1 (fr)
FR (1) FR2841079B1 (fr)
MX (1) MXPA04012606A (fr)
WO (1) WO2003107674A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2912027A1 (fr) * 2007-01-26 2008-08-01 Nptv Sa Unites de chargement pour la transmission de donnees multimedia sur un reseau de diffusion

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490289B2 (en) * 2005-06-09 2009-02-10 International Business Machines Corporation Depth indicator for a link in a document
CN101981930A (zh) * 2008-03-28 2011-02-23 三星电子株式会社 针对提供iptv通信服务的应用的信息接收方法及装置
CN101986699A (zh) * 2010-10-29 2011-03-16 广东星海数字家庭产业技术研究院有限公司 一种数字电视互动应用节目导航系统
US8601439B2 (en) * 2010-12-09 2013-12-03 Microsoft Corporation Networked program dependency compatibility analysis
CN102291462A (zh) * 2011-08-18 2011-12-21 中兴通讯股份有限公司 一种嵌入式浏览器下载数据的方法及装置
CN105045834B (zh) * 2015-06-26 2019-09-10 河海大学 一种uri标识的csv片段的http检索方法
US9942691B2 (en) * 2016-06-24 2018-04-10 Paypal, Inc. System configurations to determine user data associated with mobile applications
US10671798B2 (en) * 2018-02-01 2020-06-02 Google Llc Digital component backdrop rendering

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222541A (ja) * 1997-01-21 1998-08-21 Internatl Business Mach Corp <Ibm> html中で指定されたリンクに対応するウェブ・ページの事前ロード装置および方法
WO1999022316A1 (fr) * 1997-10-28 1999-05-06 Cacheflow, Inc. Analyse d'antememoire partagee et pre-extraction
US5903816A (en) * 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
EP1022908A1 (fr) * 1999-01-21 2000-07-26 Sony Service Center (Europe) N.V. Serveur d'information et procédé pour faire un courant de transport
US6184878B1 (en) * 1997-12-23 2001-02-06 Sarnoff Corporation Interactive world wide web access using a set top terminal in a video on demand system
US6282542B1 (en) * 1997-08-06 2001-08-28 Tachyon, Inc. Distributed system and method for prefetching objects

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507872B1 (en) * 1992-09-25 2003-01-14 David Michael Geshwind Class of methods for improving perceived efficiency of end-user interactive access of a large database such as the world-wide web via a communication network such as “The Internet”
JP3687807B2 (ja) 1996-05-31 2005-08-24 松下電器産業株式会社 データ送信装置及びデータ送信方法
US6597377B1 (en) * 1997-02-25 2003-07-22 International Business Machines Corporation Web links objects
US6128713A (en) * 1997-09-24 2000-10-03 Microsoft Corporation Application programming interface enabling application programs to control allocation of physical memory in a virtual memory system
US6442598B1 (en) * 1997-10-27 2002-08-27 Microsoft Corporation System and method for delivering web content over a broadcast medium
US6230168B1 (en) * 1997-11-26 2001-05-08 International Business Machines Corp. Method for automatically constructing contexts in a hypertext collection
US7117440B2 (en) * 1997-12-03 2006-10-03 Sedna Patent Services, Llc Method and apparatus for providing a menu structure for an interactive information distribution system
JPH11284683A (ja) * 1998-03-30 1999-10-15 Canon Inc データ転送装置とデータの転送方法、及び情報処理システム
US6459427B1 (en) * 1998-04-01 2002-10-01 Liberate Technologies Apparatus and method for web-casting over digital broadcast TV network
US6647381B1 (en) * 1999-10-27 2003-11-11 Nec Usa, Inc. Method of defining and utilizing logical domains to partition and to reorganize physical domains
DE10009297A1 (de) * 2000-02-29 2001-10-04 Siemens Ag Dynamisches Hilfesystem für eine Datenverarbeitungseinrichtung, insbesondere für eine Internet- oder Desktopanwendung
US8302127B2 (en) * 2000-09-25 2012-10-30 Thomson Licensing System and method for personalized TV
US7346842B1 (en) * 2000-11-02 2008-03-18 Citrix Systems, Inc. Methods and apparatus for incorporating a partial page on a client
US20020116707A1 (en) * 2000-12-11 2002-08-22 Morris Richard M. Streaming media client system and method
US7181684B2 (en) * 2000-12-12 2007-02-20 Oracle International Corporation Dynamic tree control system
WO2002099591A2 (fr) * 2001-06-04 2002-12-12 Nct Group, Inc. Systeme et procede permettant d'augmenter la largeur de bande effective d'un reseau de communication
US7020893B2 (en) * 2001-06-15 2006-03-28 Intel Corporation Method and apparatus for continuously and opportunistically driving an optimal broadcast schedule based on most recent client demand feedback from a distributed set of broadcast clients
US6971068B2 (en) * 2001-07-26 2005-11-29 International Business Machines Corporation Dialog box positioning
JP2005301321A (ja) * 2001-11-08 2005-10-27 Ntt Docomo Inc 情報配信装置、情報処理端末、コンテンツの外部保存方法、コンテンツの外部出力方法、出力許可レベルの記述されたコンテンツおよびコンテンツの出力制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903816A (en) * 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
JPH10222541A (ja) * 1997-01-21 1998-08-21 Internatl Business Mach Corp <Ibm> html中で指定されたリンクに対応するウェブ・ページの事前ロード装置および方法
US6282542B1 (en) * 1997-08-06 2001-08-28 Tachyon, Inc. Distributed system and method for prefetching objects
WO1999022316A1 (fr) * 1997-10-28 1999-05-06 Cacheflow, Inc. Analyse d'antememoire partagee et pre-extraction
US6184878B1 (en) * 1997-12-23 2001-02-06 Sarnoff Corporation Interactive world wide web access using a set top terminal in a video on demand system
EP1022908A1 (fr) * 1999-01-21 2000-07-26 Sony Service Center (Europe) N.V. Serveur d'information et procédé pour faire un courant de transport

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DIAS G V ET AL: "A Smart Internet Caching System", DEPT. OF COMPUTER SCIENCE AND ENGINEERING, 24 June 1996 (1996-06-24), XP002086721, Retrieved from the Internet <URL:http://www.isoc.org/inet96/proceedings/a4/a4_3.htm> [retrieved on 19980212] *
PATENT ABSTRACTS OF JAPAN vol. 1998, no. 13 30 November 1998 (1998-11-30) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2912027A1 (fr) * 2007-01-26 2008-08-01 Nptv Sa Unites de chargement pour la transmission de donnees multimedia sur un reseau de diffusion

Also Published As

Publication number Publication date
EP1547390A1 (fr) 2005-06-29
KR101035107B1 (ko) 2011-05-19
FR2841079B1 (fr) 2005-02-25
MXPA04012606A (es) 2005-04-19
US20060248438A1 (en) 2006-11-02
WO2003107674A1 (fr) 2003-12-24
JP2005530417A (ja) 2005-10-06
US8554874B2 (en) 2013-10-08
CN1663273A (zh) 2005-08-31
JP4448026B2 (ja) 2010-04-07
KR20050032035A (ko) 2005-04-06
CN100401777C (zh) 2008-07-09
AU2003251121A1 (en) 2003-12-31

Similar Documents

Publication Publication Date Title
EP3036910A1 (fr) Préchargement intelligent pour une vidéo à la demande dans un environnement de diffusion en continu adaptative au protocole http
FR2902543A1 (fr) Procede de creation de contenus multimedia pour terminaux mobiles, produit programme d&#39;ordinateur pour la mise en oeuvre d&#39;un tel procede
US20090222735A1 (en) Systems and methods for enhancing browser history using syndicated data feeds
JP5487299B2 (ja) 操作情報生成装置および操作情報生成方法
FR2841079A1 (fr) Procede de diffusion d&#39;application html
EP2230612A1 (fr) Génération de recommandations pour un serveur de contenus
EP1849257B1 (fr) Procede et equipements de controle d&#39;acces a des flux ip multicast
EP3780632A1 (fr) Systeme de distribution d&#39;un contenu audiovisuel
US20050004976A1 (en) Software apparatus and method to automatically detect videofile type for video server
US9773049B2 (en) Dynamic content presentation
EP1182878A1 (fr) Système de communication, émetteur, récepteur, méthode utilisant un descripteur de stockage de données
EP1999649B1 (fr) Procede de generation d&#39;un fichier de description d&#39;un flux binaire, dispositif et produit programme d&#39;ordinateur correspondants
EP1515522A1 (fr) Procédé d&#39;insertion d&#39;informations de filtrage thématique de pages HTML et système correspondant
US10091557B2 (en) Identifying and sharing video content on a digital network
EP3675505B1 (fr) Procede et systeme de distribution d&#39;un contenu audiovisuel
WO2010122557A1 (fr) Système, procédé et dispositif de passerelle pour fournir du contenu de télévision par internet
WO2005020096A2 (fr) Procede de navigation pour le prechargement, serveur, unite et programmes d&#39;ordinateur pour mettre en oeuvre le procede
FR3032584A1 (fr) Acces ameliore a un contenu numerique
FR2873531A1 (fr) Procede, systeme et programmes d&#39;ordinateur, de fourniture personnalisee de services de television interactive et recepteurs de television associes
EP1499090B1 (fr) Système et procédé de commande d&#39;une application à partir d&#39;un terminal WAP en mode partagé
CN110545459A (zh) 一种缓存视频的方法以及相关设备
FR2864396A1 (fr) Systeme de diffusion multimedia par des terminaux commandes a distance
FR2882833A1 (fr) Procede de transformation d&#39;une page dynamique
Rochat Proxys Internet avancés
FR3038092A1 (fr) Procede de telechargement accelere d&#39;une page web vers un terminal de communication

Legal Events

Date Code Title Description
CJ Change in legal form
TP Transmission of property
ST Notification of lapse

Effective date: 20130228