FR2815212A1 - Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page - Google Patents
Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page Download PDFInfo
- Publication number
- FR2815212A1 FR2815212A1 FR0013521A FR0013521A FR2815212A1 FR 2815212 A1 FR2815212 A1 FR 2815212A1 FR 0013521 A FR0013521 A FR 0013521A FR 0013521 A FR0013521 A FR 0013521A FR 2815212 A1 FR2815212 A1 FR 2815212A1
- Authority
- FR
- France
- Prior art keywords
- page
- pages
- current page
- sequence
- loading
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Abstract
Description
<Desc/Clms Page number 1> <Desc / Clms Page number 1>
Chamement d'un fichier comportant une pluralité de pages La présente invention concerne un dispositif de chargement d'un fichier comportant une pluralité de pages. The present invention relates to a device for loading a file comprising a plurality of pages.
Le dispositif est agencé dans un poste de travail, un ordinateur personnel, une station de travail ou tout équipement équivalent couramment référencé comme"client". The device is arranged in a workstation, a personal computer, a workstation or any equivalent equipment commonly referred to as "client".
Le fichier réside dans un équipement serveur connecté au poste de travail par un réseau de transmission, le réseau Internet par exemple. Le terme serveur doit donc s'entendre dans son acception la plus large et il comprend notamment les sites Internet. The file resides in a server equipment connected to the workstation by a transmission network, the Internet for example. The term server must be understood in its broadest sense and includes in particular the websites.
Le fichier, du type texte, graphique ou image par exemple, ne peut généralement pas être visualisé dans son intégralité sur l'écran du poste de travail. De plus, sa consultation n'est pas toujours séquentielle, c'est à dire qu'en certains points plusieurs options sont possibles pour la suite de cette consultation. Il s'ensuit que le fichier est subdivisé en pages qui sont des entités indépendantes et qui peuvent généralement être intégralement visualisées sur l'écran. For example, the file, such as text, graphic, or image, can not be viewed in its entirety on the workstation screen. Moreover, its consultation is not always sequential, that is to say that in certain points several options are possible for the continuation of this consultation. It follows that the file is subdivided into pages which are independent entities and which can generally be fully visualized on the screen.
Lorsque l'utilisateur a terminé la consultation d'une page, la page courante, il émet une requête à destination du serveur dans laquelle figure la page suivante qu'il souhaite obtenir.
When the user has finished viewing a page, the current page, he sends a request to the server in which appears the next page he wants to obtain.
Du fait d'un encombrement du réseau ou d'une saturation du serveur, le délai d'attente nécessaire à la transmission de la requête puis au chargement de la page suivante dans le poste de travail peut être relativement long. Due to network congestion or server overload, the wait time required to transmit the request and then load the next page in the workstation can be relatively long.
Plusieurs solutions ont donc été proposées pour charger dans une mémoire cache une ou plusieurs pages que l'utilisateur est supposé requérir après la page courante. Pour limiter le délai d'attente, le chargement a lieu pendant la consultation de cette page courante. Several solutions have therefore been proposed to load into a cache one or more pages that the user is supposed to require after the current page. To limit the waiting time, the loading takes place during the consultation of this current page.
Une première solution consiste à charger toutes les pages qui pourraient éventuellement être demandées par l'utilisateur. Ce n'est pas satisfaisant car cela conduit à un accroissement considérable du trafic pour le serveur. De plus, si le nombre de pages est conséquent, le temps nécessaire au chargement de ces pages peut être très long et même excéder le temps de consultation de la page courante augmenté du temps de chargement d'une page. A first solution is to load all the pages that could possibly be requested by the user. This is not satisfactory because it leads to a considerable increase in traffic for the server. In addition, if the number of pages is large, the time required to load these pages can be very long and even exceed the consultation time of the current page plus the loading time of a page.
Une deuxième solution mise en oeuvre dans le serveur consiste à définir le profil de l'utilisateur en mémorisant les diverses consultations qu'il a déjà effectuées. Un programme réalise alors une prédiction sur la page que va A second solution implemented in the server is to define the profile of the user by memorizing the various consultations he has already done. A program then makes a prediction on the page that is going
<Desc/Clms Page number 2><Desc / Clms Page number 2>
demander l'utilisateur en fonction de son comportement antérieur. Là encore, le serveur subit une charge supplémentaire puisqu'il doit gérer toutes les consultations du fichier. ask the user based on his previous behavior. Again, the server is under an extra load since it must handle all file lookups.
Une troisième solution exposée dans la demande de brevet FR 2 779 594 consiste à charger certaines pages prédéfinies suite au
chargement de la page courante. L'indication des pages prédéfinies figure dans la page courante si bien qu'il faut modifier tout le fichier. A third solution disclosed in the patent application FR 2 779 594 consists in loading certain predefined pages following the
loading the current page. The predefined pages are indicated in the current page so that the entire file must be modified.
La présente invention a ainsi pour objet un moyen de charger par anticipation une ou plusieurs pages que l'utilisateur est susceptible de requérir à
la suite de la consultation de la page courante, ceci en limitant au maximum la surcharge du serveur. The present invention thus relates to a means of loading in advance one or more pages that the user is likely to require to
following the consultation of the current page, this limiting the server overload as much as possible.
Selon l'invention, une méthode de chargement d'un fichier résidant dans un serveur, ce fichier comportant une pluralité de pages dont la dernière chargée est la page courante, comprend les étapes suivantes : - acquisition depuis le serveur d'une base de données qui répertorie les séquences types de pages du fichier, - sélection d'une séquence type au moins qui comprend la page courante, et - chargement de la page qui suit la courante dans l'une au moins des séquences types sélectionnées dès que la page courante a été chargée.
According to the invention, a method of loading a file residing in a server, this file comprising a plurality of pages, the last of which is loaded on the current page, comprises the following steps: - acquisition from the server of a database which lists the standard sequences of pages of the file, - selection of at least one standard sequence which includes the current page, and - loading of the page which follows the current in at least one of the selected standard sequences as soon as the current page has been loaded.
Avantageusement, une séquence initiale de pages qui se termine par la page courante ayant déjà été chargée, la méthode comprend une étape pour calculer la longueur d'une suite de pages qui précède cette page courante dans les séquences types sélectionnées et qui est identique à une suite finale de pages de la séquence initiale, et elle comprend une étape pour charger la page qui suit la page courante dans l'une au moins des séquences types qui conduisent à la suite finale la plus longue. Advantageously, an initial sequence of pages which ends with the current page having already been loaded, the method comprises a step for calculating the length of a sequence of pages which precedes this current page in the selected standard sequences and which is identical to a Final sequence of pages of the initial sequence, and it includes a step to load the page that follows the current page into at least one of the sequences that lead to the longest end run.
Selon une caractéristique additionnelle, la méthode comprend une étape pour charger la page qui apparaît le plus fréquemment à la suite de la page courante dans les séquences types présentant la suite finale la plus longue. According to an additional characteristic, the method comprises a step for loading the page that appears most frequently following the current page in the standard sequences presenting the longest final sequence.
De préférence, la méthode comprend une étape pour rejeter les séquences types dont la page qui suit la page courante appartient à la séquence initiale.
Preferably, the method comprises a step for rejecting the standard sequences whose page following the current page belongs to the initial sequence.
Eventuellement, la méthode permet de charger plusieurs pages issues des séquences types sélectionnées. Optionally, the method allows to load several pages from the selected type sequences.
L'invention vise également un dispositif agencé dans un poste de travail comprenant des moyens pour mettre en oeuvre la méthode ci-dessus. The invention also relates to a device arranged in a workstation comprising means for implementing the method above.
<Desc/Clms Page number 3> <Desc / Clms Page number 3>
La présente invention apparaîtra maintenant avec plus de détails dans le cadre de la description qui suit d'exemples de réalisation donnés à titre illustratif en se référant aux figures annexées qui représentent : - la figure 1, les éléments nécessaires au dispositif selon l'invention, et - la figure 2, un organigramme de la méthode selon l'invention. The present invention will now appear in greater detail in the context of the following description of exemplary embodiments given by way of illustration with reference to the appended figures which represent: FIG. 1, the elements necessary for the device according to the invention, and - Figure 2, a flowchart of the method according to the invention.
En premier lieu, il convient de définir la base de données des séquences
types qui est réalisée au niveau du serveur, un site Internet le cas présent. Lorsqu'un utilisateur vient se connecter à ce site pour consulter le fichier, le serveur réalise un enregistrement de la séquence des pages demandées ou log de visite. On accumule ainsi dans un répertoire un nombre important de logs de visite qui sont créés à l'occasion de chaque connexion au site. Le nombre retenu peut aller de quelques milliers à quelques million. In the first place, it is necessary to define the sequence database
types that is performed at the server level, a website this case. When a user connects to this site to view the file, the server makes a record of the sequence of the requested pages or visit log. Thus, a large number of visit logs are accumulated in a directory, which are created during each connection to the site. The number retained can range from a few thousand to a few million.
L'étape suivante consiste à réduire la taille du répertoire pour ne conserver que des séquences types de sorte que sa transmission au poste de travail soit assurée dans un délai raisonnable. On retiendra uniquement quelques centaines de logs. Pour opérer cette réduction, plusieurs possibilités sont offertes. A titre d'exemple, il est possible d'opérer une sélection au hasard ou bien de retenir un bloc de logs consécutifs. Il est également possible de partir d'une sélection initiale puis de la faire évoluer en testant l'effet de l'apport d'une nouvelle séquence sur la performance du dispositif décrit plus loin.
The next step is to reduce the size of the directory to keep only typical sequences so that its transmission to the workstation is ensured within a reasonable time. We will only remember a few hundred logs. To make this reduction, several possibilities are offered. For example, it is possible to make a selection at random or to retain a block of consecutive logs. It is also possible to start from an initial selection then to make it evolve by testing the effect of the addition of a new sequence on the performance of the device described below.
En référence à la figure 1, le poste de travail comprend essentiellement un microprocesseur CPU, une mémoire vive RAM et une mémoire cache CA, chacun connecté à un premier contrôleur CONT. Ce premier contrôleur prévu pour la gestion du bus et de la mémoire est de plus connecté à une interface de périphériques PCI elle même raccordée à un deuxième contrôleur MASTER en charge de la gestion des périphériques au nombre desquels figure l'écran SCR. Le deuxième contrôleur MASTER est également relié à une interface interne INT sur laquelle est connectée une unité de stockage de masse telle qu'un disque (non représenté) et à une interface externe EXT connectée au réseau. L'accès au site Internet SERV se fait par l'intermédiaire d'un premier S1 et d'un deuxième S2 serveurs dits de proximité. With reference to FIG. 1, the workstation essentially comprises a microprocessor CPU, a random access memory RAM and a cache memory CA, each connected to a first controller CONT. This first controller intended for bus and memory management is further connected to a PCI peripheral interface which is itself connected to a second MASTER controller in charge of managing the peripherals, among which is the SCR screen. The second MASTER controller is also connected to an internal INT interface to which is connected a mass storage unit such as a disk (not shown) and an external EXT interface connected to the network. Access to the SERV website is via a first S1 and a second S2 server called proximity.
Lors de la première consultation du site, l'utilisateur du poste de travail
requière le chargement de la base de données des séquences types dans la mémoire de masse du poste de travail. Avantageusement, le chargement est réalisé globalement ou par parties durant une ou plusieurs périodes d'inactivité de la liaison de transmission entre le poste de travail PC et le serveur SERV. La During the first consultation of the site, the user of the workstation
requires the loading of the database of the sequences in the mass memory of the workstation. Advantageously, the loading is performed globally or in parts during one or more periods of inactivity of the transmission link between the PC workstation and the SERV server. The
<Desc/Clms Page number 4><Desc / Clms Page number 4>
base de données peut éventuellement être conservée après la consultation en vue d'utilisations ultérieures. Chaque séquence type Si est repérée par un indice i variant de 1 à t qui figure son rang dans le répertoire. La page qui figure à la jième position dans la séquence type Si est repérée Sjj, j variant de 1 à n. database may possibly be retained after consultation for further use. Each type sequence Si is indicated by an index i varying from 1 to t which is its rank in the directory. The page which appears in the jth position in the type sequence Si is marked Sjj, j varying from 1 to n.
On se place maintenant au cours d'une consultation réalisée par l'utilisateur du poste de travail. Celui-ci a déjà requis une séquence initiale IS composée des pages Pk, k variant de 1 à v, Pv figurant donc la page en cours de visualisation ou page courante. We now sit during a consultation conducted by the user of the workstation. This one has already required an initial sequence IS composed of the pages Pk, k varying from 1 to v, Pv thus appearing the current page of visualization or current page.
Dès le chargement de la page courante détecté par le premier contrôleur CONT, celui-ci déclenche les opérations suivantes. Upon loading the current page detected by the first controller CONT, it triggers the following operations.
En référence à la figure 2, la séquence initiale IS est comparée à chacune des séquences types Si. Si la page courante Pv appartient à la séquence type Si et si elle n'appartient pas à la séquence initiale IS, on compare alors les pages précédant la page courante dans la séquence initiale Pv-1 et
dans la séquence type Sjj-1. En cas d'identité, on réitère la comparaison en prenant la page précédente dans la séquence initiale Pv-2 et dans la séquence type Si, j-2 et ainsi de suite jusqu'à obtenir deux pages différentes. On identifie ainsi une suite finale de pages de longueur Li commune à la séquence initiale IS et à la séquence type Si, cette suite se terminant par la page courante Pv. With reference to FIG. 2, the initial sequence IS is compared with each of the standard sequences Si. If the current page Pv belongs to the type sequence Si and if it does not belong to the initial sequence IS, then the pages preceding the current page in the initial sequence Pv-1 and
in the sequence Sjj-1. In case of identity, the comparison is repeated by taking the previous page in the initial sequence Pv-2 and in the type sequence Si, j-2 and so on until two different pages are obtained. Thus, a final sequence of pages of length Li, which is common to the initial sequence IS and to the type sequence Si, is identified, this sequence ending in the current page Pv.
On recherche alors les séquences types qui présentent la suite finale de longueur maximale. Si une seule séquence type présente la suite la plus longue, le dispositif de l'invention émet une requête pour provoquer le chargement dans la mémoire cache CA de la page qui suit la page courante dans cette séquence type. Si par contre plusieurs séquences types comportent la suite finale de longueur maximale, on examine la page suite qui suit la page courante Pv dans chacune de ces séquences. On définit la fréquence d'apparition de chaque page suite distincte comme le nombre de séquences types dans lesquelles elle est présente. Le dispositif de l'invention déclenche alors le chargement de la page suite affectée de la plus grande fréquence d'apparition si cette page est unique. We then look for standard sequences that have the final sequence of maximum length. If a single sequence has the longest sequence, the device of the invention issues a request to cause the loading in the CA cache of the page following the current page in this sequence. If, on the other hand, several standard sequences comprise the final sequence of maximum length, we examine the page following that follows the current page Pv in each of these sequences. The frequency of appearance of each separate page is defined as the number of standard sequences in which it is present. The device of the invention then triggers the loading of the page followed by the greatest frequency of appearance if this page is unique.
Dans le cas contraire, une page suite est choisie au hasard, la première du répertoire par exemple. In the opposite case, a continuation page is chosen at random, the first of the directory for example.
La succession des opérations décrites ci-dessus peut être réalisée par exemple au moyen d'un programme informatique en langage C représenté en annexe. The succession of operations described above can be performed for example by means of a computer program in C language represented in the appendix.
Il s'agit là du mode de réalisation privilégié mais l'invention s'applique
également dans un mode dégradé. Ainsi, la recherche de la suite finale la plus This is the preferred embodiment but the invention applies
also in a degraded mode. So, looking for the most final sequel
<Desc/Clms Page number 5><Desc / Clms Page number 5>
longue n'est pas indispensable et il est possible de charger dans la mémoire cache CA la page qui suit la page courante dans la première séquence type qui comporte cette page courante. De même, il n'est pas impératif de calculer la fréquence d'apparition des différentes pages suite dans les séquences types comprenant une suite finale de longueur maximale. Il est en effet possible de retenir la page suite de la première séquence sélectionnée. long is not essential and it is possible to load in the cache CA the page that follows the current page in the first sequence that includes this page. Similarly, it is not imperative to calculate the frequency of appearance of the various pages continued in the standard sequences comprising a final sequence of maximum length. It is indeed possible to retain the page following the first selected sequence.
Par ailleurs, lorsque différentes pages répondent aux critères de
sélection exposés ci-dessus, le dispositif de l'invention permet de charger dans la mémoire cache plusieurs d'entre elles. Moreover, when different pages meet the criteria of
selection exposed above, the device of the invention allows to load in the cache several of them.
Après la consultation de la page courante, l'utilisateur du poste de travail précise donc la page suivante qu'il souhaite consulter. Si cette page a été chargée dans la mémoire cache, elle est immédiatement visualisée. Si ce n'est pas le cas, une requête est transmise au serveur comme dans l'état de l'art mais l'invention ne conduit pas à une augmentation du délai d'attente. After consulting the current page, the user of the workstation specifies the next page he wants to consult. If this page has been loaded into the cache, it is immediately displayed. If this is not the case, a request is transmitted to the server as in the state of the art, but the invention does not lead to an increase in the waiting period.
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, tout moyen décrit peut-être remplacé par un moyen équivalent sans sortir du cadre de la présente invention. The embodiments of the invention presented above have been chosen for their concrete nature. It would not be possible, however, to exhaustively list all the embodiments covered by this invention. In particular, any means described may be replaced by equivalent means without departing from the scope of the present invention.
<Desc/Clms Page number 6> <Desc / Clms Page number 6>
Annexe
#define M 10/* length of the sequence */ #define NBP 1500/* # of html pages */ char tab) e [NBP] [255] ;/*) D and string of each page */ int database [1000] [M] ;/* max # of seq in Learning Base : 1000*/ int cache [NBP] ;/* content of the navigator cache */ int history [NBP] ;/*userbehaviororhistory*/ char URL [255] ;/* Page en cours de lecture par l'internaute */ int date=0, N1 ;/* # of seq. */ int cacheindx, predictindx ; int tsize ;/* # of pages */ /*******************************/ void Prediction (void) { char predict [255] ;/* La page predite par le systeme */ int q [NBP] ;/* stats per page */ int i, j, k, l, a, onmax ; int Ion, dejavu, maxq, maxindx ; /* get current URL asked by the user, determine its ID and increment the history sequence */ i=0 ; dejavu = 0 ; while ( {i < Csize) & & (dejavu == 0)) {i++ ; dejavu = 1 ; for (k=O ; k < =str) en (URL) ; k++) if (tabie [i] [k]'=URL [k]) {dejavu = 0 ; break ;} }/* end while */ if ( (i==t~size) & & (dejavu == 0)) printf ("Not in Database\n") ; history [date] = i ; date++ ; cache [cacheindx] =i ; cacheindx++ ; ion marx = 0 ; for (a=0 ; a < NB~P ; a++) {q [a] = 0 ;} for (k=O ; k < N1 ; k++) for (I=0 ; 1 < (M-1) ; 1++) {if (database[k][l] == history [date-1]) {dejavu = 0 ; for (a= (cacheindx-1) ; a > =O ; a--) {if (database [k] [I+1] == cache [a]) {dejavu=1 ; break ;} } if (dejavu == 0)
Annex
#define M 10 / * length of the sequence * / #define NBP 1500 / * # of html pages * / char tab) e [NBP] [255]; / *) D and string of each page * / int database [1000 ] [M]; / * max # of seq in Learning Base: 1000 * / int cache [NBP]; / * content of the browser cache * / int history [NBP]; / * userbehaviororhistory * / char URL [255]; / * Page being read by the user * / int date = 0, N1; / * # of seq. * / int cacheindx, predictindx; int tsize; / * # of pages * / / ******************************* / void Prediction (void) {char predict [255]; / * The page predicted by the system * / int q [NBP]; / * stats per page * / int i, j, k, l, a, onmax; int Ion, dejavu, maxq, maxindx; / * get current URL asked by the user, determine its ID and increment the history sequence * / i = 0; dejavu = 0; while ({i <Csize) && (dejavu == 0)) {i ++; dejavu = 1; for (k = 0; k <= str) in (URL); k ++) if (tabie [i] [k] '= URL [k]) {dejavu = 0; break;}} / * end while * / if ((i == t ~ size) && (dejavu == 0)) printf ("Not in Database \ n"); history [date] = i; date ++; cache [cacheindx] = i; cacheindx ++; marx ion = 0; for (a = 0; a <NB ~ P; a ++) {q [a] = 0;} for (k = 0; k <N1; k ++) for (I = 0; 1 <(M-1); ++) {if (database [k] [l] == history [date-1]) {dejavu = 0; for (a = (cacheindx-1); a> = O; a--) {if (database [k] [I + 1] == cache [a]) {dejavu = 1; break;}} if (dejavu == 0)
<Desc/Clms Page number 7> <Desc / Clms Page number 7>
Ion = 1 ; for (a= (date-2) ; a > =O ; a--) {if ( (I+a-date+1) > =0) {if (database [k] [) +a-date+1] ==history [a]) Ion++ ; else break ; } } if (ton > ) onmax) ion marx = Ion ; for (a=0 ; a < NBP ; a++) {q [a] = 0 ;} } if (Ion == onmax) {q [database [k] [I+l]] ++ ; }/* end if dejavu */ }/* end if database */ }/* end for 1 */ if (lon~max ! =O) {maxq=0 ;/* find the most interesting */ for (k=O ; k < NBP ; k++) if (q [k] > max~q) {max~q = q [k] ; maxjndx = k ;} } q [maxindx] = 0 ; predictindx = max~indx ; for (k=0 ; k < =strlen (table [predictindx]) ; k++) {predict [k] =tab) e [pred) ctjndx] [k] ;} predict ]='\0' ;/* generate a string */ }
Ion = 1; for (a = (date-2); a> = O; a--) {if ((I + a-date + 1)> = 0) {if (database [k] [) + a-date + 1 ] == history [a]) Ion ++; else break; }} if (ton>) onmax) ion marx = Ion; for (a = 0; a <NBP; a ++) {q [a] = 0;}} if (Ion == onmax) {q [database [k] [I + 1]] ++; } / * end if dejavu * /} / * end if database * /} / * end for 1 * / if (lon ~ max! = O) {maxq = 0; / * find the most interesting * / for (k = O; k <NBP; k ++) if (q [k]> max ~ q) {max ~ q = q [k]; maxjndx = k;}} q [maxindx] = 0; predictindx = max ~ indx; for (k = 0; k <= strlen (table [predictindx]); k ++) {predict [k] = tab) e [pred) ctjndx] [k];} predict] = '\ 0'; / * generate a string * /}
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0013521A FR2815212A1 (en) | 2000-10-09 | 2000-10-09 | Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0013521A FR2815212A1 (en) | 2000-10-09 | 2000-10-09 | Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2815212A1 true FR2815212A1 (en) | 2002-04-12 |
Family
ID=8855601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0013521A Pending FR2815212A1 (en) | 2000-10-09 | 2000-10-09 | Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2815212A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085226A (en) * | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
-
2000
- 2000-10-09 FR FR0013521A patent/FR2815212A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085226A (en) * | 1998-01-15 | 2000-07-04 | Microsoft Corporation | Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models |
Non-Patent Citations (1)
Title |
---|
SCHECHTER S ET AL: "Using path profiles to predict HTTP requests", COMPUTER NETWORKS AND ISDN SYSTEMS,NL,NORTH HOLLAND PUBLISHING. AMSTERDAM, vol. 30, no. 1-7, 1 April 1998 (1998-04-01), pages 457 - 467, XP004121402, ISSN: 0169-7552 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6240447B1 (en) | Method for reducing perceived delay between a time data is requested and a time data is available for display | |
US20170163723A1 (en) | Autonomic Content Load Balancing | |
CA2229392C (en) | Method and apparatus for precaching data at a server | |
US6304904B1 (en) | Method and apparatus for collecting page-level performance statistics from a network device | |
CN109101658B (en) | Information searching method and device, and equipment/terminal/server | |
US20070255792A1 (en) | Method and apparatus for an email gateway | |
US20160335243A1 (en) | Webpage template generating method and server | |
CN101763357A (en) | Method and system for browser to load internet resources | |
FR2815212A1 (en) | Loading of a multi-page file from Internet server to client, uses page sequence profiles and loads pages in anticipation on basis of profile and current page | |
CN102299949A (en) | System and method of network data access management | |
US20160323405A1 (en) | Web proxy | |
FR2805626A1 (en) | METHOD AND SYSTEM FOR GRANTING PRIVILEGES BY AN ACCESS MANAGER WITHIN A COMMUNICATION NETWORK | |
US20220303360A1 (en) | Reduction of data transmissions based on end-user context | |
CN110012127B (en) | Cross-domain name cookie sharing method and device, storage medium and terminal | |
KR20000067045A (en) | Image transcoding apparatus for reducing gif size and it's method | |
FR2855695A1 (en) | Multimedia programs radio broadcasting method for e.g. PDA, involves adding header to multimedia programs before broadcasting each program, where header indicates type of client device for which program is destined | |
KR100188690B1 (en) | Database management method | |
CN106372155A (en) | Method and device for filtering webpage links | |
FR2797699A1 (en) | System and procedure for transfer of data over a computer network, especially the Internet, has a more rapid method for data transfer based on substitution of recurring data objects in a file with a single generic object | |
FR2853788A1 (en) | METHOD AND DEVICE FOR ACCESSING A DIGITAL DOCUMENT IN A PEER-TO-PEER COMMUNICATION NETWORK | |
US20040014469A1 (en) | Method and device or re-using information received previously in a telecommunication network such as the internet | |
Choi et al. | Network Traffic Reduction by Hypertext Compression. | |
JP3630547B2 (en) | Database system and search data return method | |
Walker et al. | The missing link: a preliminary typology for understanding link decay in social media | |
US20060064482A1 (en) | System and method for caching data and filtering data requests in a client application |