Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD ENABLING A NETWORK MONITORING SYSTEM TO NON-INTRUSIVELY ASSESS QUALITY OF USER EXPERIENCE DURING THE LOADING OF A WEBPAGE
Document Type and Number:
WIPO Patent Application WO/2014/063879
Kind Code:
A1
Abstract:
A method to provide an assessment of quality of user experience during the loading, on a client, of a web page coming from a remote server via a network, according to the http protocol, the web page consisting of a root file and at least one reference to a resource, comprising: a first step that comprises identifying and timestamping the loading of a root file by the client; and a second step comprising: a step of identifying and timestamping the loading, by the client, of a resource that is assigned to the root file, a step of processing the timestamps to determine a relative load time of the resource corresponding to the period between the start time of the loading of the root file and the end time of the loading of the resource assigned to the root file; a step of analysis to assess the user experience in which the relative load time of the resource is an index.

Inventors:
MARTIN THIERRY (FR)
JONOT ERIC (FR)
NEEL NICOLAS (FR)
JEAN DIDIER (FR)
Application Number:
PCT/EP2013/069719
Publication Date:
May 01, 2014
Filing Date:
September 23, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFOVISTA SA (FR)
International Classes:
H04L12/26; G06F11/34; H04L12/24
Foreign References:
US20050262104A12005-11-24
US6438592B12002-08-20
US7373376B12008-05-13
Other References:
None
Attorney, Agent or Firm:
PONTET ALLANO & ASSOCIES (FR)
Download PDF:
Claims:
Revendications

Procédé (100) mis en œuvre par un système de surveillance d'un réseau IP (114) comprenant des moyens pour capturer des trames sur ledit réseau (114), pour fournir une évaluation du ressenti (102) par un utilisateur (104) lors d'un chargement (106) sur un client (108) d'une page Web (110) provenant d'un serveur distant (112) via un réseau (114), selon le protocole HTTP,

ladite page Web (110) étant constituée d'un fichier racine (110r) et d'au moins une référence à une ressource (110i...110n),

ce procédé comprenant :

- une première étape comprenant une identification et un horodatage (IHr) par ledit système de surveillance du réseau IP (114) d'un chargement (106r) par ledit client (108) d'un fichier racine (110r),

- une seconde étape mise en œuvre par ledit système de surveillance du réseau IP (114) comprenant :

- une étape d'identification et un horodatage (ΙΗ,) d'un chargement (106,) par ledit client (108) d'une ressource (110,) qui est rattachée audit fichier racine (110r),

- une étape de traitement (T) desdits horodatages (IHr; ΙΗ,) pour déterminer un temps de chargement relatif (Ari) de ladite au moins une ressource (110,) correspondant à la durée entre l'instant de début de chargement (106r) dudit fichier racine (110r) et l'instant de fin de chargement (106,) de ladite au moins une ressource rattachée audit fichier racine (110r)

- une étape d'analyse (A) mise en œuvre par ledit système de surveillance du réseau IP (114) pour évaluer le ressenti (102) par un utilisateur (104) dans laquelle ledit temps de chargement relatif (Ari) de ladite ressource (110,) est un indice.

Procédé selon la revendication 1, caractérisé en ce que l'identification d'une ressource (110,) rattachée au fichier racine (110r) comprend un traitement par le système de surveillance du réseau IP (114) du contenu champ « Référer » dans l'entête HTTP de ladite ressource ( HO,) qui pointe vers ledit fichier racine ( 110r) .

Procédé selon l'une des revendications 1 ou 2, mis en œuvre pour une page Web ( 110) réalisée à partir d'au moins deux ressources ( 110i ... 110n), caractérisé en ce que la seconde étape est effectuée pour au moins deux desdites au moins deux ressources ( 110i ; 1102), les au moins deux temps de chargement relatif (Ari; Δγ2) desdites au moins deux ressources ( 110i ; 1102) constituant un indice pour évaluer le ressenti ( 102) par un utilisateur ( 104) .

Procédé selon la revendication 3 caractérisé en ce que le temps maximal desdits au moins deux temps de chargement relatif (Δ ; Δγ2) constitue un indice pour évaluer le ressenti ( 102) par un utilisateur ( 104) .

Procédé selon la revendication 1, caractérisé en ce que l'étape d'analyse (A) pour évaluer le ressenti ( 102) par un utilisateur ( 104) exploite une détermination d'un temps de chargement relatif (ΔΓΗ) de la dernière ressource ( 110n) appelée par le fichier racine ( 110r) .

Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est mis en œuvre pour détecter une évolution du ressenti ( 102) par au moins un utilisateur ( 104) lors d'un chargement ( 106) sur un client ( 108) d'une page Web ( 110) provenant d'un serveur distant ( 112) via un réseau ( 114), selon le protocole HTTP.

Procédé selon la revendication 6, caractérisé en ce qu'il comprend en outre une étape de mise en mémoire des ressentis par l'utilisateur ( 104) au cours du temps et une analyse de l'évolution de ce ressenti ( 102) .

Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape pour détecter une évolution anormale du temps de chargement relatif à partir de données statistiques acquises au cours de mises en œuvre antérieures dudit procédé. 9. Système de surveillance d'un réseau IP (114), comprenant des moyens pour capturer des trames sur ledit réseau (114), mettant en œuvre le procédé selon l'une quelconque des revendications précédentes. 10. Système selon la revendication 9, mis en œuvre pour comparer des temps de chargement relatifs d'une même page Web (110) issue d'un serveur (112), pour une pluralité de clients.

Description:
« Procédé permettant à un système de surveillance du réseau d'évaluer de façon non intrusive le ressenti utilisateur lors du chargement d'une page web. » Domaine de l'invention

La présente invention concerne un procédé permettant à un système de surveillance de déterminer un indicateur clé de performance (ICP) (« Key Performance Indicator » (KPI)) de ressenti utilisateur quant au chargement d'une page web.

La mesure du temps de chargement d'une page web et plus précisément du ressenti utilisateur est rendue complexe par la nature de l'objet surveillé. Une page web n'est pas un élément monolithique, mais un ensemble de ressources (fichiers texte, images, scripts, etc.) qui sont chargées de façon asynchrone par le navigateur internet. Par ailleurs, certaines technologies - par exemple Ajax - permettent le téléchargement de ressources après la fin apparente du chargement de la page web du point de vue de l'utilisateur. De manière connue, une première approche pour connaître le ressenti utilisateur consiste en une analyse « naïve » du trafic réseau entre un client et un serveur web. Il s'agit d'attendre que la ressource appelée par la dernière référence soit chargée pour évaluer le temps de chargement. En effet, une fois la page « apparemment » chargée, il se peut cependant que d'autres ressources web soient requises. Cependant, le ressenti utilisateur quant au temps de chargement d'une page web est lié au temps mis par le navigateur pour charger toutes les ressources de la page en question. Cette analyse ne permet pas de connaître le ressenti utilisateur quant au temps d'affichage d'une page web. L'analyse des échanges (« traces ») entre le client et le serveur web ne permet pas de reconstituer le temps vu de l'utilisateur d'affichage global de la page.

D'autres approches connues sont intrusives.

Une première catégorie d'approche connue intrusive nécessite l'intégration de code dans les pages web surveillées. Par conséquences, seules les pages web comportant cette intégration de code sont surveillées. Cette première catégorie d'approche connue est celle utilisée par Google dans le produit Google Analytic.

Une seconde catégorie d'approche connue intrusive nécessite une instrumentation d'un navigateur web du client. Cette seconde catégorie d'approche connue intrusive implique pour le fournisseur d'accès à Internet (FAI) de mettre en œuvre une instrumentation des navigateurs de clients. Le changement de navigateur par le client pose alors problème car le ressenti du client lors du chargement d'une page web n'est plus évalué.

Un but de l'invention est de proposer un procédé pour déterminer des informations pertinentes concernant le ressenti utilisateur lors du chargement d'une page web.

Un autre but de l'invention est de proposer un procédé non-intrusif pour déterminer le ressenti utilisateur lors du chargement d'une page web.

Un autre but de l'invention est de proposer un procédé ne nécessitant pas l'intégration de code dans la page web à surveiller.

Un autre but de l'invention est de proposer un procédé ne nécessitant pas d'instrumentation d'un navigateur du client.

Exposé de l'invention

On atteint cet objectif avec un procédé pour fournir une évaluation du ressenti par un utilisateur lors d'un chargement sur un client d'une page Web provenant d'un serveur distant via un réseau, selon le protocole HTTP, ladite page Web étant constituée d'un fichier racine et d'au moins une référence à une ressource,

ce procédé comprenant :

- une première étape comprenant une identification et un horodatage d'un chargement par ledit client d'un fichier racine,

- une seconde étape comprenant :

- une étape d'identification et un horodatage d'un chargement par ledit client d'une ressource qui est rattachée audit fichier racine

- une étape de traitement desdits horodatages pour déterminer un temps de chargement relatif de ladite ressource correspondant à la durée entre l'instant de début de chargement dudit fichier racine et l'instant de fin de chargement de la ressource;

- une étape d'analyse pour évaluer le ressenti par un utilisateur dans laquelle ledit temps de chargement relatif de ladite ressource est un indice.

Avantageusement, le procédé selon l'invention peut être mis en œuvre par un système de surveillance d'un réseau IP comprenant des moyens pour capturer des trames sur ledit réseau.

De préférence, la première étape est mise en œuvre par le système de surveillance du réseau IP.

De préférence, la seconde étape est mise en œuvre par le système de surveillance du réseau IP.

En revanche, en définissant une ressource comme marqueur de fin apparente de page et en utilisant le temps de chargement relatif d'une ressource par rapport à sa page web tel que définit précédemment, il est possible d'évaluer le ressenti utilisateur.

Le procédé selon l'invention permet donc à un système non intrusif de surveillance de trafic web d'évaluer le ressenti utilisateur lors d'une navigation sur une page web.

Avantageusement, l'identification d'une ressource rattachée au fichier « racine » peut comprendre un traitement du contenu du champ « Référer » dans l'entête HTTP de la ressource qui pointe vers le fichier racine. En effet, dans les entêtes HTTP des requêtes, le champ « Référer » indique la page à laquelle se rapporte la ressource requise.

De préférence, le traitement du contenu du champ « Référer » est mis en œuvre par le système de surveillance du réseau IP.

Pour mémoire, le contenu d'une entête HTTP est rappelé ci dessous.

De plus, le procédé selon l'invention peut être mis en œuvre pour une page Web référençant au moins deux ressources, la seconde étape pouvant être effectuée pour au moins deux des au moins deux ressources, les au moins deux temps de chargement relatif des au moins deux ressources constituant un indice pour évaluer le ressenti par un utilisateur.

De plus, le temps maximal des au moins deux temps de chargement relatif peut constituer un indice pour évaluer le ressenti par un utilisateur.

L'étape d'analyse pour évaluer le ressenti par un utilisateur peut exploiter une détermination d'un temps de chargement relatif de la dernière ressource appelée par le fichier racine.

Avantageusement, le procédé selon l'invention peut être mis en œuvre pour détecter une évolution du ressenti par au moins un utilisateur lors d'un chargement sur un client d'une page Web provenant d'un serveur distant via un réseau, selon le protocole HTTP. Dans une version particulière, le procédé selon l'invention peut en outre comprendre une étape de mise en mémoire des ressentis par l'utilisateur au cours du temps et une analyse de l'évolution de ce ressenti. De plus, le procédé selon l'invention peut en outre comprendre une étape pour détecter une évolution anormale du temps de chargement relatif à partir de données statistiques acquises au cours de mises en œuvre antérieures du procédé. Selon un autre aspect de l'invention, il est proposé un système de surveillance d'un réseau IP, comprenant des moyens pour capturer des trames sur le réseau, mettant en œuvre le procédé selon l'invention.

De plus, le système selon l'invention peut être mis en œuvre pour comparer des temps de chargement relatifs d'une même page Web issue d'un serveur, pour une pluralité de clients.

Le client peut ne pas faire pas partie du système de surveillance.

Le client n'est pas affecté par la mise en œuvre du procédé selon l'invention. C'est à dire que la mise en œuvre de procédé est transparente pour le client. De manière équivalente, aucun trafic lié au procédé selon l'invention n'est généré par le client. Aucune étape liée au procédé selon l'invention n'est mise en œuvre par le client.

Description détaillée

La figure 1 illustre un mode de réalisation du procédé 100 selon l'invention. Le procédé 100 fournit une évaluation du ressenti 102 par un utilisateur 104 lors d'un chargement 106 sur un client 108 d'une page Web 110 provenant d'un serveur distant 112 via un réseau 114, selon le protocole HTTP. La page Web 110 est constituée d'un fichier racine 110 r et de n références à n ressources 110i à 110 n . On introduit un nouvel indicateur de performance associée à chaque ressource 110, de la page web 110. Il s'agit du temps de chargement relatif Δη de la ressource i par rapport à sa page web de référence 110. Le temps Δη est calculé comme présenté ci-après.

Durant une première étape IH r , un chargement 106 r par le client 108 d'un fichier racine 110 r est identifié et horodaté. Une première communication TCP/HTTP est établie lors de la consultation d'une page web donnée, une requête (GET ou POST) est envoyée par le navigateur du client 108 à destination du serveur 112. Celui-ci répond en envoyant la page racine 110 r (ou un code de retour HTTP approprié).

Durant une seconde étape IHi, un chargement d'une ressource 110, par le fichier racine 110 r est identifié et horodaté. En effet, après avoir reçu le fichier racine 110 r , le navigateur analyse ce fichier. Celui-ci fait référence à des ressources 110i à 110 n . Pour chacune des ressources, le navigateur web du client 108 envoie à nouveau une requête (GET ou POST) vers le serveur 112. Un temps de chargement relatif A ri de la ressource référencée 110, correspondant à la durée entre l'instant de début de chargement 106 r du fichier racine 110 r et l'instant de fin de chargement 106, de la ressource 110, par le fichier racine 110 r est déterminé par une étape de traitement T.

Durant une troisième étape A est réalisée une analyse dans laquelle le temps de chargement relatif A ri de la ressource est un indice qui est utilisé pour évaluer le ressenti 102 par un utilisateur 104.

Lors de la seconde étape T, l'identification d'une ressource 110, par le fichier racine 110 r comprend un traitement du contenu du champ « Référer » contenu dans l'entête HTTP de la ressource 110,. Ce champ « Référer » pointe vers le fichier racine 110 r .

La figure 2 illustre un mode de mise en œuvre du procédé 200 selon l'invention pour une page web 110 référençant trois ressources 110i, 110 2 , 110 3 . La seconde étape est effectuée pour les deux ressources lOOi et 110 2 . Les deux secondes étapes IHi et IH 2 permettent de déterminer deux temps de chargement relatif Δ et Δ γ2 des ressources l lOi et 110 2 . Dans ce mode de mise en œuvre du procédé 200 selon l'invention, les deux temps de chargement relatifs Δ et Δ γ2 constituent un indice pour évaluer le ressenti 102 par l'utilisateur 104. Dans un autre mode de mise en œuvre du procédé selon l'invention (non représenté), l'étape d'analyse pour évaluer le ressenti par un utilisateur exploite une détermination d'un temps de chargement relatif Δ ΓΗ de la dernière ressource 110 n appelée par le fichier racine 110 r . La mise en œuvre du procédé selon l'invention comprend une étape de mise en mémoire des ressentis 102(t) par l'utilisateur au cours du temps t. Il comprend également une détection de l'évolution du ressenti 102(t) par au moins un utilisateur 104 lors d'un chargement sur un client 108 d'une page Web 106 provenant d'un serveur distant 112 via un réseau 114, selon le protocole HTTP.

Le procédé comprend une étape de détection d'une évolution anormale du temps de chargement relatif à partir de données statistiques acquises au cours de mises en œuvre antérieures du procédé. Une évolution anormale du temps de chargement est détectée lorsque le temps de chargement d'une page web ne s'inscrit pas dans la distribution usuelle des temps de chargement de ladite page web.

Dans un autre mode de mise en œuvre du procédé selon l'invention, il est proposé un système de surveillance d'un réseau IP. Le système comprend des sondes pour capturer des trames sur le réseau, mettant en œuvre le procédé selon l'invention.

Le système compare à l'aide d'une unité centrale des temps de chargement relatifs d'une même page Web issue d'un serveur, pour une pluralité de clients.

En utilisant la procédé 200 selon l'invention, l'unité centrale détermine, par client et pour chaque ressource des pages web, un temps de chargement relatif.

Dès lors, pour chaque couple (page web, client), les mesures obtenues par ressource sont agrégées sous forme de valeurs minimale, maximale et moyenne. Bien entendu, tout autre indicateur statistique pourrait être utilisé.

La comparaison de ces valeurs permet de mettre en évidence des clients atypiques et d'en expliquer finement les raisons.

L'exploitation par l'unité centrale de ces valeurs permet par comparaison des valeurs de déterminer si le chargement d'une page s'est globalement mieux passé pour un client que pour un autre. Elle permet également, à valeur moyenne équivalente et par comparaison des valeurs maximales, de déterminer si une ou plusieurs des ressources en particulier sont à l'origine d'un mauvais temps de chargement. Dans un tel cas, l'exploitation permet de déterminer la ou les ressources en cause.

Certaines requêtes peuvent être envoyées par le client de façon asynchrone (par exemple, des requêtes de type ajax). Les requêtes asynchrones sont identifiables par un champ spécifique de l'entête HTTP (xmlhttprequest). Ces requêtes HTTP sont soit exclues dans les calculs de valeurs agrégées, soit filtrées avant agrégation. Un exemple de filtrage consiste à ne garder que la première requête.

Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention.