FR2998993A1 - Data processing method for allowing e.g. user equipment, to access web application hosted in server, involves updating database of browser with data stored in server, and accessing web application when user equipment is in connected state - Google Patents

Data processing method for allowing e.g. user equipment, to access web application hosted in server, involves updating database of browser with data stored in server, and accessing web application when user equipment is in connected state Download PDF

Info

Publication number
FR2998993A1
FR2998993A1 FR1261695A FR1261695A FR2998993A1 FR 2998993 A1 FR2998993 A1 FR 2998993A1 FR 1261695 A FR1261695 A FR 1261695A FR 1261695 A FR1261695 A FR 1261695A FR 2998993 A1 FR2998993 A1 FR 2998993A1
Authority
FR
France
Prior art keywords
user equipment
server
web application
database
data
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
FR1261695A
Other languages
French (fr)
Other versions
FR2998993B1 (en
Inventor
Pedro Lucas
Delphine Poulat
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.)
DIGITAL I
Original Assignee
DIGITAL I
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
Application filed by DIGITAL I filed Critical DIGITAL I
Priority to FR1261695A priority Critical patent/FR2998993B1/en
Publication of FR2998993A1 publication Critical patent/FR2998993A1/en
Application granted granted Critical
Publication of FR2998993B1 publication Critical patent/FR2998993B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

The method involves determining a connection state of user equipment (2) by sending a request to a server (1), and synchronizing a cache (22) of a web browser (21) with files related to a web application (10) stored in the server when user equipment is in the connected state. A database of the browser is updated with data stored in the server, and the web application is accessed. The web application is accessed using the files related to the web application stored in the cache and data relating to the application stored in the database when the equipment is in a disconnected state. Independent claims are also included for the following: (1) a computer program for allowing user equipment to access a web application hosted in a server (2) a user equipment.

Description

Traitement de données pour accéder à une application Web La présente invention vise un traitement de données pour permettre à un équipement utilisateur d'accéder à une application Web hébergée dans un serveur.The present invention is directed to data processing to enable a user equipment to access a web application hosted in a server.

En particulier, l'invention vise un traitement de données pour permettre à un équipement utilisateur d'accéder à une application Web même lorsqu'il est déconnecté du serveur hébergeant l'application Web. Des technologies, par exemple la technologie SaaS (Software as a Service), ont été développées pour permettre la fourniture d'applications Web. Une application Web est généralement hébergée dans un serveur, et est accessible depuis un équipement utilisateur par le biais du réseau Internet. Ainsi, un utilisateur souhaitant accéder à l'application n'a pas besoin de réaliser au préalable une installation de l'application dans son équipement utilisateur. En outre, cette centralisation des données permet aux applications Web d'être plus simples à déployer et à modifier. Cependant, un inconvénient des applications Web est que l'équipement utilisateur ne peut plus y accéder si la connexion au réseau Internet est perdue. Les équipements utilisateurs comportent généralement une mémoire cache dans laquelle sont mémorisés des fichiers relatifs à des pages Web consultées lorsque l'équipement est connecté au réseau Internet. Ces fichiers peuvent être utilisés pour réafficher les pages Web correspondantes lorsque l'équipement est déconnecté du réseau Internet. Cependant, les fichiers mémorisés dans la mémoire cache permettent uniquement un affichage statique d'une page Web. Aussi, les fichiers de la mémoire cache ne permettent pas à un utilisateur d'accéder à des fonctionnalités d'une application Web. La présente invention vient améliorer la situation. A cet effet, l'invention propose un procédé de traitement de données pour permettre à un équipement utilisateur d'accéder à une application Web hébergée dans un serveur, l'équipement utilisateur comprenant un navigateur Web et des moyens de connexion au réseau Internet, le procédé comprenant des étapes, dans l'équipement utilisateur : - déterminer un état de connexion de l'équipement utilisateur par l'envoi d'une requête à destination du serveur, et - lorsque l'équipement utilisateur est déterminé comme étant dans un état connecté : - synchroniser une mémoire cache du navigateur Web avec des fichiers relatifs à l'application Web mémorisés dans le serveur, - mettre à jour une base de données du navigateur Web avec des données relatives à l'application Web mémorisées dans le serveur, et - accéder à l'application Web, - lorsque l'équipement est déterminé comme étant dans un état déconnecté : - accéder à l'application Web en utilisant des fichiers relatifs à l'application Web mémorisés dans la mémoire cache et des données relatives à l'application mémorisées dans la base de données du navigateur Web. La solution proposée dans cette invention peut ainsi permettre un accès à l'application, même en cas de changement d'état de connexion de l'équipement utilisateur, de manière transparente pour l'utilisateur. L'étape de détermination d'un état de connexion de l'équipement utilisateur est par exemple réalisée périodiquement. L'étape de mise à jour de la base de données du navigateur Web peut 20 comprendre une opération de création d'une base de données dans le navigateur Web. L'étape de mise à jour de la base de données du navigateur Web peut comprendre une opération de traitement de données reçues du serveur pour les adapter à un format de la base de données. 25 L'opération de traitement de données peut comprendre le découpage d'un ensemble de données en portions de l'ensemble de données, chaque portion présentant une taille inférieure à une taille limite prédéterminée. L'établissement d'une communication entre l'équipement utilisateur et le serveur est par exemple réalisé en utilisant un protocole de sécurisation des 30 données.In particular, the invention aims a data processing to allow a user equipment to access a Web application even when disconnected from the server hosting the Web application. Technologies, such as Software as a Service (SaaS) technology, have been developed to enable the provision of web applications. A web application is usually hosted in a server, and is accessible from user equipment over the Internet. Thus, a user wishing to access the application does not need to perform a prior installation of the application in its user equipment. In addition, this centralization of data makes Web applications easier to deploy and change. However, a disadvantage of Web applications is that the user equipment can no longer access it if the connection to the Internet is lost. The user equipments generally include a cache memory in which are stored files relating to Web pages accessed when the equipment is connected to the Internet network. These files can be used to redisplay the corresponding web pages when the device is disconnected from the Internet. However, the files stored in the cache memory only allow a static display of a web page. Also, cache files do not allow a user to access features of a Web application. The present invention improves the situation. For this purpose, the invention proposes a method of data processing to enable a user equipment to access a web application hosted in a server, the user equipment comprising a Web browser and means of connection to the Internet network, the method comprising steps, in the user equipment: - determining a connection state of the user equipment by sending a request to the server, and - when the user equipment is determined to be in a connected state : - synchronize a cache memory of the Web browser with files related to the Web application stored in the server, - update a database of the Web browser with data relating to the Web application stored in the server, and - access the web application, - when the device is determined to be in an offline state: - access the web application using files Web application stored in the cache memory and application data stored in the web browser database. The solution proposed in this invention can thus allow access to the application, even in case of change of connection state of the user equipment, in a manner that is transparent to the user. The step of determining a connection state of the user equipment is for example performed periodically. The step of updating the database of the web browser may include an operation of creating a database in the web browser. The step of updating the database of the web browser may include a data processing operation received from the server to adapt to a format of the database. The data processing operation may comprise cutting a set of data into portions of the data set, each portion having a size smaller than a predetermined size limit. The establishment of a communication between the user equipment and the server is for example carried out using a protocol for securing the data.

Le procédé peut comprendre une étape d'authentification d'un utilisateur souhaitant accéder à l'application Web. L'étape d'authentification peut comprendre l'attribution d'un jeton de sécurité unique à l'utilisateur, le jeton ayant une durée de validité prédéterminée.The method may include a step of authenticating a user wishing to access the web application. The authentication step may include assigning a single security token to the user, the token having a predetermined validity period.

L'invention propose également un programme informatique comportant des instructions pour la mise en oeuvre du procédé précité lorsque ce programme est exécuté par un processeur. L'invention propose également un équipement utilisateur comprenant un navigateur Web et des moyens de connexion au réseau Internet, l'équipement utilisateur étant configuré pour : - déterminer un état de connexion de l'équipement utilisateur par l'envoi d'une requête à destination d'un serveur hébergeant une application Web, et - lorsque l'équipement utilisateur est déterminé comme étant dans un état connecté : - synchroniser une mémoire cache du navigateur Web avec des fichiers relatifs à l'application Web mémorisés dans le serveur, - mettre à jour une base de données du navigateur Web avec des données relatives à l'application Web mémorisées dans le serveur, et - accéder à l'application Web, - lorsque l'équipement est déterminé comme étant dans un état déconnecté : - accéder à l'application Web en utilisant des fichiers relatifs à l'application Web mémorisés dans la mémoire cache et des données relatives à l'application mémorisées dans la base de données du navigateur Web. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : - la Figure 1 est un schéma fonctionnel montrant un réseau informatique comportant un serveur et un équipement utilisateur selon un mode de réalisation de l'invention ; - la Figure 2 est un organigramme illustrant les étapes d'un procédé d'accès à une application Web, selon un mode de réalisation de l'invention, cet organigramme pouvant représenter l'algorithme général du programme informatique au sens de l'invention ; - la Figure 3 est un organigramme représentant un exemple de réalisation de l'étape de détermination d'un état de connexion de l'équipement utilisateur du procédé de la figure 2 ; - la Figure 4 est un organigramme représentant un exemple de réalisation de l'étape de création de la base de données du procédé de la figure 2; - la Figure 5 est un organigramme représentant un exemple de réalisation des étapes de mise à jour de la base de données du procédé de la figure 2; - la Figure 6 est un organigramme représentant un exemple de réalisation de l'étape de récupération du manifeste pour la mise à jour de la base de données ; et - la Figure 7 est un organigramme représentant un exemple de réalisation de l'étape de lecture de la base de données du procédé de la figure 2. La figure 1 représente un réseau informatique comprenant un serveur 1 et un équipement utilisateur 2, configurés pour être connectés l'un à l'autre via le réseau Internet 3. Le serveur 1 comporte des moyens de connexion au réseau Internet 11, et héberge une application Web 10. L'application Web 10 est par exemple une application d'une entreprise permettant à des employés en déplacement d'avoir accès en permanence à des données professionnelles. L'application Web 10 peut en variante être une application permettant la consultation de livres numériques, ou de tout autre type de contenu. L'équipement utilisateur 2 est par exemple un ordinateur de bureau, un ordinateur portable, une tablette PC, un téléphone mobile de type Smartphone, ou 30 de manière générale tout type d'équipement utilisateur 2 comportant des moyens de connexion au réseau Internet 20 et un navigateur Web 21. Le navigateur Web 21 est un navigateur Web permettant la création d'une base de données et comportant une mémoire cache 22. L'équipement utilisateur 2 comporte en outre une interface homme-machine 23. L'interface homme-machine 23 est configurée pour recevoir, d'un utilisateur, une demande d'accès à l'application Web 10.The invention also proposes a computer program comprising instructions for implementing the aforementioned method when this program is executed by a processor. The invention also proposes a user equipment comprising a web browser and means of connection to the Internet network, the user equipment being configured to: - determine a connection state of the user equipment by sending a request at its destination a server hosting a Web application, and - when the user equipment is determined to be in a connected state: - synchronize a cache memory of the Web browser with files related to the Web application stored in the server, - set day a database of the web browser with data relating to the Web application stored in the server, and - access the Web application, - when the equipment is determined to be in a disconnected state: - access the web application using cached web application files and application data stored in the application. a database of the web browser. Other features and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read with reference to the accompanying drawings in which: - Figure 1 is a block diagram showing a computer network comprising a server and a user equipment according to one embodiment of the invention; FIG. 2 is a flowchart illustrating the steps of a method of accessing a Web application, according to one embodiment of the invention, this flowchart being able to represent the general algorithm of the computer program within the meaning of the invention; FIG. 3 is a flowchart showing an exemplary embodiment of the step of determining a connection state of the user equipment of the method of FIG. 2; Figure 4 is a flowchart showing an exemplary embodiment of the step of creating the database of the method of Figure 2; FIG. 5 is a flowchart showing an exemplary embodiment of the steps for updating the database of the method of FIG. 2; Figure 6 is a flowchart showing an exemplary embodiment of the manifest retrieval step for updating the database; and FIG. 7 is a flowchart representing an exemplary embodiment of the step of reading the database of the method of FIG. 2. FIG. 1 represents a computer network comprising a server 1 and a user equipment 2, configured to to be connected to each other via the Internet network 3. The server 1 comprises means of connection to the Internet network 11, and hosts a Web application 10. The Web application 10 is for example an application of a company allowing employees on the move to have access to professional data at all times. The web application 10 may alternatively be an application allowing the consultation of digital books, or any other type of content. The user equipment 2 is for example a desktop computer, a laptop, a tablet PC, a mobile phone of the Smartphone type, or generally any type of user equipment 2 comprising means of connection to the Internet network 20 and a web browser 21. The web browser 21 is a web browser for creating a database and having a cache 22. The user equipment 2 further comprises a man-machine interface 23. The human-machine interface 23 is configured to receive a request from a user for access to the web application 10.

L'équipement utilisateur 2 comporte des moyens d'accès à l'application Web 10 en mode déconnecté, c'est-à-dire lorsque l'équipement 2 n'est pas connecté au réseau Internet, donc au serveur 1. Les moyens d'accès peuvent comprendre un plugin installé dans le navigateur Web 21. Les moyens d'accès permettent de mettre en oeuvre, dans l'équipement utilisateur 2, des étapes d'un procédé d'accès à une application Web hébergée dans un serveur. La figure 2 représente des étapes du procédé d'accès à l'application Web 10, selon un mode de réalisation de l'invention. A l'étape Si, l'équipement utilisateur 2 reçoit d'un utilisateur une demande d'accès à l'application Web 10. La demande d'accès est reçue via l'interface 15 homme-machine 23. A l'étape S2, un état de connexion de l'équipement utilisateur 2 est déterminé. L'étape S2 comprend une opération d'envoi d'une requête à destination du serveur 1, une opération de réception d'une réponse à la requête, et une opération de détermination d'un état de connexion en fonction de la 20 réponse. Lorsque l'équipement utilisateur 2 est déterminé comme étant connecté au serveur 1, le procédé passe à l'étape S3, sinon le procédé passe à l'étape S11. L'étape S2 est par exemple réalisée périodiquement, pour détecter un changement d'état de connexion pendant l'accès à l'application 10. Cela permet notamment de gérer un passage de l'état connecté à l'état déconnecté de manière 25 transparente pour un utilisateur en train d'utiliser l'application 10. A l'étape S3, l'équipement utilisateur 2 détermine si des fichiers relatifs à l'application 10 ont déjà été mémorisés dans la mémoire cache 22, c'est-à-dire si l'équipement utilisateur 2 a déjà accédé à l'application 10. Lorsque des fichiers ont déjà été mémorisés dans la mémoire cache 22, le procédé passe à l'étape S4, 30 sinon le procédé passe à l'étape S5. A l'étape S4, les fichiers relatifs à l'application mémorisés dans la mémoire cache 22 sont synchronisés avec des fichiers correspondants mémorisés dans le serveur 1. Pour cela, les fichiers de la mémoire cache 22 sont comparés avec les fichiers correspondants du serveur 1. Lorsque les fichiers de la mémoire cache 22 ne correspondent pas aux fichiers du serveur 1, le procédé passe à l'étape S5, sinon le procédé passe à l'étape S6.The user equipment 2 comprises access means to the web application 10 in disconnected mode, that is to say when the equipment 2 is not connected to the Internet, therefore to the server 1. The means The access means may include, in the user equipment 2, steps of a method of accessing a web application hosted in a server. FIG. 2 represents steps of the access method to the Web application 10, according to one embodiment of the invention. In step S1, the user equipment 2 receives from a user a request for access to the web application 10. The access request is received via the man-machine interface 23. At step S2 a connection state of the user equipment 2 is determined. Step S2 includes an operation of sending a request to server 1, an operation of receiving a response to the request, and an operation of determining a connection state depending on the response. When the user equipment 2 is determined to be connected to the server 1, the method proceeds to step S3, otherwise the method proceeds to step S11. Step S2 is for example performed periodically, to detect a change of state of connection during access to the application 10. This notably makes it possible to manage a transition from the connected state to the disconnected state in a transparent manner. for a user using the application 10. In step S3, the user equipment 2 determines whether files relating to the application 10 have already been stored in the cache memory 22, that is, say if the user equipment 2 has already accessed the application 10. When files have already been stored in the cache memory 22, the method proceeds to step S4, otherwise the process proceeds to step S5. In step S4, the files relating to the application stored in the cache memory 22 are synchronized with corresponding files stored in the server 1. For this, the files of the cache memory 22 are compared with the corresponding files of the server 1 When the files of the cache memory 22 do not correspond to the files of the server 1, the method proceeds to step S5, otherwise the process proceeds to step S6.

A l'étape S5, les fichiers du serveur 1 sont mémorisés dans la mémoire cache 22. Ainsi, la mémoire cache 22 contient la version actuelle des fichiers relatifs à l'application 10. A l'étape S6, l'équipement utilisateur 2 détermine si une base de données à déjà été créée dans le navigateur 21. Si une base de données à déjà été créée, le procédé passe à l'étape S7, sinon le procédé passe à l'étape S8. A l'étape S7, l'équipement utilisateur 2 détermine une mise à jour de la base de données. Pour cela, des données relatives à l'application mémorisées dans la base de données sont comparées avec des données correspondantes mémorisées dans le serveur 1. Si les données de la base de données correspondent aux données du serveur 1, le procédé passe à l'étape S9, sinon le procédé passe à l'étape S10. A l'étape S8, une base de données est créée dans le navigateur 21. A l'étape S9, la base de données est mise à jour. L'étape S9 comprend une opération de traitement des données du serveur 1 pour les adapter au format de la 20 base de données, et une opération de mémorisation des données traitées dans la base de données. A l'étape S10, l'application Web 10 est prête à être utilisée dans un état déconnecté de l'équipement utilisateur 2. Lorsque les étapes S3 à S10 ont été exécutées au moins une fois, c'est-à- 25 dire lorsque l'équipement 2 a accédé au moins une fois à l'application 10 en mode connecté, les étapes S11 à S13 permettent un accès à l'application 10 en mode déconnecté. A l'étape S11, l'équipement utilisateur 2 récupère dans la mémoire cache 22 des fichiers relatifs à l'application 10, qui ont été préalablement mémorisés lors 30 d'un passage à l'étape S5.In step S5, the files of the server 1 are stored in the cache memory 22. Thus, the cache memory 22 contains the current version of the files relating to the application 10. In step S6, the user equipment 2 determines if a database has already been created in the browser 21. If a database has already been created, the method proceeds to step S7, otherwise the process proceeds to step S8. In step S7, the user equipment 2 determines an update of the database. For this, data relating to the application stored in the database is compared with corresponding data stored in the server 1. If the database data corresponds to the data of the server 1, the method proceeds to the step S9, otherwise the process proceeds to step S10. In step S8, a database is created in the browser 21. In step S9, the database is updated. Step S9 includes a data processing operation of server 1 to adapt to the format of the database, and an operation of storing the processed data in the database. In step S10, the web application 10 is ready to be used in a disconnected state of the user equipment 2. When the steps S3 to S10 have been executed at least once, that is to say when the equipment 2 has accessed the application 10 at least once in connected mode, the steps S11 to S13 allow access to the application 10 in disconnected mode. In step S11, the user equipment 2 retrieves from the cache memory 22 files relating to the application 10, which were previously stored during a passage to the step S5.

Aux étapes S12 et S13, les fichiers récupérés dans la mémoire cache 22 sont utilisés pour charger l'application 10. Les fichiers permettent notamment de définir quelles données doivent être récupérées dans la base de données, et dans quel ordre.In steps S12 and S13, the files recovered in the cache memory 22 are used to load the application 10. The files make it possible in particular to define what data must be retrieved from the database, and in what order.

A l'étape S14, l'équipement utilisateur 2 accède à l'application Web 10, en mode connecté ou en mode déconnecté. En mode déconnecté, l'application 10 est disponible par le biais des fichiers de la mémoire cache 22 et des données de la base de données. En mode connecté, l'application 10 est disponible par le biais d'une connexion au serveur 1, ou par le biais des fichiers de la mémoire cache 22 et des données de la base de données. Ainsi, le passage d'un état connecté à un état déconnecté est transparent pour l'utilisateur. La figure 3 représente un exemple de réalisation de l'étape S2 de détermination d'un état de connexion de l'équipement utilisateur 2. A l'étape S101, l'équipement utilisateur 2 émet une requête à destination du serveur 1 hébergeant l'application Web 10. La requête est par exemple une requête HTTP (HyperText Transfer Protocol). A l'étape S102, l'équipement utilisateur 2 reçoit une réponse à la requête émise à l'étape S101. A l'étape S103, l'équipement utilisateur 2 détermine si la réponse est un 20 message indiquant une connexion au serveur 1 ou un message d'erreur. Si la réponse est un message d'erreur, le procédé passe à l'étape S105. Sinon le procédé passe à l'étape S104. A l'étape S104, l'équipement utilisateur 2 est déterminé comme étant dans un état connecté. 25 A l'étape S105, l'équipement utilisateur 2 détermine si le message d'erreur indique une erreur de connexion ou une erreur d'une autre nature. Lorsque l'erreur est une erreur de connexion, c'est-à-dire que la requête a été correctement émise mais qu'aucune réponse du serveur 1 n'a été reçue, le procédé passe à l'étape S107, sinon le procédé passe à l'étape S106.In step S14, the user equipment 2 accesses the web application 10, in connected mode or in disconnected mode. In disconnected mode, the application 10 is available through the cache 22 files and data from the database. In connected mode, the application 10 is available through a connection to the server 1, or through the files of the cache memory 22 and data from the database. Thus, the transition from a connected state to a disconnected state is transparent to the user. FIG. 3 represents an exemplary embodiment of the step S2 of determining a connection state of the user equipment 2. At the step S101, the user equipment 2 sends a request to the server 1 hosting the user equipment 2. Web application 10. The request is for example an HTTP (HyperText Transfer Protocol) request. In step S102, the user equipment 2 receives a response to the request sent in step S101. In step S103, user equipment 2 determines whether the response is a message indicating a connection to server 1 or an error message. If the response is an error message, the method proceeds to step S105. Otherwise the process proceeds to step S104. In step S104, the user equipment 2 is determined to be in a connected state. In step S105, the user equipment 2 determines whether the error message indicates a connection error or an error of another kind. When the error is a connection error, i.e. the request has been successfully transmitted but no response from server 1 has been received, the process proceeds to step S107, otherwise the method proceed to step S106.

A l'étape S106, l'équipement utilisateur 2 détermine que la connexion avec le serveur 1 a échouée, pour une raison autre qu'une absence de connexion au réseau Internet 3. A l'étape S107, l'équipement utilisateur 2 est déterminé comme étant dans un état déconnecté. La figure 4 représente un exemple de réalisation de l'étape S8 de création de la base de données. A l'étape S201, l'équipement utilisateur 2 détermine que la base de données n'a pas encore été créée dans le navigateur Web 21.In step S106, the user equipment 2 determines that the connection with the server 1 has failed, for a reason other than a lack of connection to the Internet 3. In step S107, the user equipment 2 is determined as being in an offline state. FIG. 4 represents an exemplary embodiment of the step S8 of creating the database. In step S201, the user equipment 2 determines that the database has not yet been created in the web browser 21.

A l'étape S202, l'équipement utilisateur 2 détecte un type de moteur de base de données associé au navigateur 21. A l'étape S203, l'équipement utilisateur 2 interroge le serveur 1 pour déterminer une configuration de l'application 10. A l'étape S204, l'équipement utilisateur 2 réalise une transformation du modèle de données afin d'adapter les données issues du serveur 1 au modèle de stockage utilisé sur l'équipement utilisateur 2. En d'autres termes, l'équipement utilisateur 2 crée un module de translation, dont la fonction est de permettre le traitement des données du serveur 1 pour les adapter au système de stockage du navigateur 21.In step S202, the user equipment 2 detects a type of database engine associated with the browser 21. In step S203, the user equipment 2 queries the server 1 to determine a configuration of the application 10. In step S204, the user equipment 2 performs a transformation of the data model in order to adapt the data from the server 1 to the storage model used on the user equipment 2. In other words, the user equipment 2 creates a translation module, the function of which is to allow the processing of the data of the server 1 to adapt to the storage system of the browser 21.

Par exemple, dans le cas d'une base de données relationnelle, l'équipement utilisateur 2 réalise un mapping objet-relationnel, ou ORM (Objectrelational mapping). L'ORM permet de connecter des objets d'un système orienté-objet à des données stockées dans une base de données relationnelle. A l'étape S205, la base de données est crée par l'exécution de scripts SQL (Structured Query Language) générés à l'étape précédente. A l'étape S206, la base de données est prête à recevoir des données relatives à l'application 10. La figure 5 représente un exemple de réalisation des étapes S6, S7 et S9 de mise à jour de la base de données.For example, in the case of a relational database, the user equipment 2 performs an object-relational mapping, or ORM (Objectrelational mapping). ORM connects objects in an object-oriented system to data stored in a relational database. In step S205, the database is created by executing Structured Query Language (SQL) scripts generated in the previous step. In step S206, the database is ready to receive data relating to the application 10. FIG. 5 represents an exemplary embodiment of the steps S6, S7 and S9 of updating the database.

A l'étape S301, l'équipement utilisateur 2 détermine qu'une base de données a déjà été créée dans le navigateur 22. A l'étape S302, l'équipement utilisateur 2 interroge le serveur 1 pour récupérer une liste de fichiers relatifs à l'application 10 à mémoriser dans la mémoire cache 22. L'ensemble des fichiers de la liste est appelé manifeste. Les étapes S303 à S309 sont répétées pour chaque fichier, ou ensemble de données, du manifeste. A l'étape S303, le fichier est encodé en base 64. La base de données du navigateur 22 a une structure différente de la base de données du serveur 1. En particulier, la base de données du navigateur 21 n'est pas capable de stocker des données binaires. L'étape S303 permet d'encapsuler des flux binaires pour les transformer en flux adaptés à la base de données du navigateur 21. A l'étape S304, l'équipement utilisateur 2 détermine si une clé a déjà été mémorisée dans la base de données du navigateur 21 pour le fichier. La clé est par exemple constituée par une adresse URL. Si une clé a été mémorisée, le procédé passe à l'étape S305, sinon, le procédé passe à l'étape S307. A l'étape S305, l'équipement utilisateur 2 détermine si le fichier mémorisé dans la base de données du navigateur 21 à la même taille qu'un fichier correspondant mémorisé dans le serveur 1. Si les fichiers ont la même taille, le fichier mémorisé dans la base de données est considéré comme étant à jour, et un nouveau fichier du manifeste est sélectionné, comme symbolisé par la flèche Fi. Sinon, le procédé passe à l'étape S306. A l'étape S306, le fichier mémorisé dans la base de données est supprimé. A l'étape S307, l'équipement utilisateur 2 détermine si la taille du fichier provenant du serveur 1 est supérieure à une taille limite prédéterminée. La taille limite dépend de la structure de la base de données. Si la taille du fichier est supérieure à la taille limite, le procédé passe à l'étape S308, sinon le procédé passe à l'étape S309. A l'étape S308, le fichier provenant du serveur 1 est découpé en portions de fichier, chaque portion présentant une taille inférieure à la taille limite prédéterminée.In step S301, the user equipment 2 determines that a database has already been created in the browser 22. In step S302, the user equipment 2 queries the server 1 to retrieve a list of files relating to the application 10 to be stored in the cache memory 22. The set of files in the list is called manifest. Steps S303 to S309 are repeated for each file, or set of data, of the manifest. In step S303, the file is encoded in base 64. The database of the browser 22 has a different structure from the database of the server 1. In particular, the database of the browser 21 is not capable of store binary data. Step S303 makes it possible to encapsulate bit streams to transform them into flows adapted to the database of browser 21. In step S304, user equipment 2 determines whether a key has already been stored in the database. browser 21 for the file. The key is for example constituted by a URL. If a key has been stored, the process proceeds to step S305; otherwise, the method proceeds to step S307. In step S305, the user equipment 2 determines whether the file stored in the database of the browser 21 to the same size as a corresponding file stored in the server 1. If the files have the same size, the stored file in the database is considered up to date, and a new manifest file is selected, as symbolized by the arrow Fi. Otherwise, the process proceeds to step S306. In step S306, the file stored in the database is deleted. In step S307, the user equipment 2 determines whether the file size from the server 1 is greater than a predetermined size limit. The size limit depends on the structure of the database. If the file size is larger than the limit size, the process proceeds to step S308, otherwise the process proceeds to step S309. In step S308, the file from server 1 is cut into file portions, each portion having a size smaller than the predetermined size limit.

A l'étape S309, une nouvelle entrée est crée dans la base de données, à partir des portions de fichier. A l'étape S310, la base de données est déterminée comme étant à jour. La figure 6 représente un exemple de réalisation de l'étape S302 de récupération du manifeste. A l'étape S401, une requête de récupération du manifeste est générée et transmise au serveur 1. A l'étape S402, le manifeste est reçu par l'équipement utilisateur 2. L'équipement utilisateur 2 détermine une configuration du manifeste, par exemple en utilisant un fichier de configuration du manifeste. A l'étape S403, l'équipement utilisateur 2 génère un objet JSON (JavaScript Object Notation) à partir de noms de fichiers du manifeste. A l'étape S404, une configuration de l'équipement utilisateur 2 est déterminée.In step S309, a new entry is created in the database from the file portions. In step S310, the database is determined to be up to date. FIG. 6 represents an exemplary embodiment of step S302 for recovering the manifest. In step S401, a manifest recovery request is generated and transmitted to the server 1. In step S402, the manifest is received by the user equipment 2. The user equipment 2 determines a manifest configuration, for example using a manifest configuration file. In step S403, the user equipment 2 generates a JavaScript Object Notation (JSON) object from file names of the manifest. In step S404, a configuration of the user equipment 2 is determined.

A l'étape S405, l'équipement utilisateur 2 met à jour une adresse URL de l'objet JSON. A l'étape S406, l'objet JSON est retourné. La figure 7 représente un exemple de réalisation de l'étape S13 de lecture de la base de données.In step S405, the user equipment 2 updates a URL of the JSON object. In step S406, the JSON object is returned. FIG. 7 represents an exemplary embodiment of the step S13 of reading the database.

A l'étape S501, l'équipement utilisateur 2 est déterminé comme étant déconnecté. A l'étape S502, l'équipement utilisateur 2 détermine si une base de données a été créée dans le navigateur 21. Si une base de données existe, le procédé passe à l'étape S503, sinon, une erreur est renvoyée (5502a).In step S501, the user equipment 2 is determined to be disconnected. In step S502, the user equipment 2 determines whether a database has been created in the browser 21. If a database exists, the method proceeds to step S503, otherwise an error is returned (5502a) .

A l'étape S503, l'équipement utilisateur cherche dans la base de données une clé associée aux données à récupérer. A l'étape S504, l'équipement utilisateur 2 détermine si une clé existe. Si la clé existe, le procédé passe à l'étape S505, sinon une erreur est renvoyée (S504a).In step S503, the user equipment searches the database for a key associated with the data to be retrieved. In step S504, the user equipment 2 determines whether a key exists. If the key exists, the method proceeds to step S505, otherwise an error is returned (S504a).

A l'étape S505, l'équipement utilisateur 2 détermine si un unique enregistrement correspond à la clé dans la base de données. Si un unique enregistrement est mémorisé, le procédé passe à l'étape S507, sinon le procédé passe à l'étape S506.In step S505, the user equipment 2 determines whether a single record corresponds to the key in the database. If a single record is stored, the process proceeds to step S507, otherwise the process proceeds to step S506.

A l'étape S506, l'équipement utilisateur 2 fusionne les enregistrements correspondants à la clé. A l'étape S507, les données de l'enregistrement sont retournées, sous la forme d'un flux de données. A l'étape S508, l'équipement détermine 2 si le flux de données est de type 10 HTML (HyperText Markup Language). Si le flux de données est de type HTML, le procédé passe à l'étape S509, sinon le procédé passe à l'étape S511. A l'étape S509, le flux de données est traité pour déterminer un identifiant URI (Uniform Resource Identifier). A l'étape S510, l'équipement utilisateur 2 détermine si d'autres données 15 doivent être lues dans la base de données. Si d'autres données doivent être lues le procédé retourne à l'étape S503, sinon le procédé passe à l'étape S520. A l'étape S511, l'équipement 2 détermine si le flux de données est de type JS (JavaScript). Si le flux de données est de type JS, le procédé passe à l'étape S512, sinon le procédé passe à l'étape S514. 20 A l'étape S512, l'équipement 2 charge le script correspondant en mémoire. A l'étape S513, l'équipement 2 détermine si le flux de données traité est de type HTML. Si le flux de données est de type HTML, le procédé passe à l'étape S509, sinon le procédé passe à l'étape S520. A l'étape S514, l'équipement 2 détermine si le flux de données est de type 25 CSS (Cascading Style Sheets). Si le flux de données est de type CSS, le procédé passe à l'étape S515, sinon le procédé passe à l'étape S517. A l'étape S515, l'équipement 2 crée un CSS à la volée selon le modèle DOM (Document Object Model).In step S506, the user equipment 2 merges the corresponding records with the key. In step S507, the data of the record is returned, in the form of a data stream. In step S508, the equipment determines 2 if the data stream is of the HTML (HyperText Markup Language) type. If the data stream is of HTML type, the method proceeds to step S509, otherwise the method proceeds to step S511. In step S509, the data stream is processed to determine a Uniform Resource Identifier (URI). In step S510, user equipment 2 determines whether other data is to be read from the database. If other data is to be read the process returns to step S503, otherwise the process proceeds to step S520. In step S511, the device 2 determines whether the data stream is of type JS (JavaScript). If the data flow is of type JS, the process proceeds to step S512, otherwise the process proceeds to step S514. In step S512, the equipment 2 loads the corresponding script into memory. In step S513, the equipment 2 determines whether the processed data stream is of HTML type. If the data stream is of HTML type, the method proceeds to step S509, otherwise the process proceeds to step S520. In step S514, the equipment 2 determines whether the data stream is of the CSS (Cascading Style Sheets) type. If the data stream is of CSS type, the method proceeds to step S515, otherwise the process proceeds to step S517. In step S515, the equipment 2 creates a CSS on the fly according to the DOM (Document Object Model).

A l'étape S516, l'équipement 2 détermine si le flux de données traité est de type HTML. Si le flux de données est de type HTML, le procédé passe à l'étape S509, sinon le procédé passe à l'étape S520. A l'étape S517, l'équipement 2 détermine si le flux de données est de type média. Si le flux de données est de type média, le procédé passe à l'étape S518. A l'étape S518, l'équipement 2 remplace l'identifiant URI par un flux de données encodé en base 64. A l'étape S519, l'équipement 2 détermine si le flux de données traité est de type HTML. Si le flux de données est de type HTML, le procédé passe à l'étape S509, sinon le procédé passe à l'étape S520. Les étapes S511 à S519 sont des étapes de test de type de flux de données. Il convient de noter que d'autres types de flux de données pourraient être testés. A l'étape S520, les données de contenu à utiliser pour accéder à l'application 10 sont retournées. Le procédé d'accès à l'application permet ainsi de gérer un changement d'état de connexion de l'équipement utilisateur, et de réaliser une synchronisation avec des fichiers et des données du serveur 1 relatifs à l'application 10, de manière transparente pour l'utilisateur. En outre, le procédé peut être mis en oeuvre dans tout type d'équipement utilisateur disposant d'un navigateur Web, ce qui évite de devoir développer des moyens d'accès spécifiques pour chaque type d'équipement. Pour assurer la sécurité des données, l'établissement d'une communication entre l'équipement utilisateur 2 et le serveur 1 peut être réalisé en utilisant le protocole SSL (Secure Socket Layer). De plus, une authentification de l'utilisateur peut être réalisée pour permettre l'accès à l'interface homme-machine 23. L'authentification peut comprendre l'utilisation d'un login et d'un mot de passe permettant l'attribution d'un jeton de sécurité unique à l'utilisateur. Le jeton peut avoir une durée de validité prédéterminée, par exemple de sept jours. Ce jeton peut être un identifiant unique universel de type UUID (Universally Unique Identifier).In step S516, the equipment 2 determines whether the processed data stream is of HTML type. If the data stream is of HTML type, the method proceeds to step S509, otherwise the process proceeds to step S520. In step S517, the equipment 2 determines whether the data stream is of media type. If the data stream is of media type, the method proceeds to step S518. In step S518, the equipment 2 replaces the URI identifier with a data stream encoded in the base 64. In the step S519, the equipment 2 determines whether the processed data stream is of HTML type. If the data stream is of HTML type, the method proceeds to step S509, otherwise the process proceeds to step S520. Steps S511 to S519 are data flow type test steps. It should be noted that other types of data streams could be tested. In step S520, the content data to be used to access the application 10 is returned. The method of access to the application thus makes it possible to manage a change of state of connection of the user equipment, and to synchronize with files and data of the server 1 relating to the application 10, in a transparent manner for the user. In addition, the method can be implemented in any type of user equipment with a web browser, which avoids having to develop specific access means for each type of equipment. To ensure the security of the data, the establishment of a communication between the user equipment 2 and the server 1 can be achieved by using the SSL (Secure Socket Layer) protocol. In addition, a user authentication can be performed to allow access to the man-machine interface 23. The authentication can include the use of a login and a password allowing the attribution of 'a security token unique to the user. The token may have a predetermined validity period, for example seven days. This token can be a universal unique identifier of UUID type (Universally Unique Identifier).

Le jeton est alors transmis au serveur 1 dans la requête d'accès à l'application 10. Ainsi, pendant la durée de validité du jeton, l'accès à l'application 10 se fait très facilement et très rapidement au moyen du jeton. Le jeton doit être un identifiant unique et non partagé. Il peut par exemple être obtenu en utilisant un numéro d'identification de l'équipement utilisateur, associé à un temps auquel a été faite la demande d'authentification à la milliseconde près, et associé à un numéro d'identification d'un processeur de l'équipement utilisateur 2. Une fois que des données ont été synchronisées sur un équipement utilisateur 2, la version correspondante de l'application peut être utilisée sans connexion ultérieur au serveur 1. Cependant, pour garantir que la version de l'application utilisée est à jour, et/ou pour vérifier que l'utilisateur dispose encore bien des droits d'accès à l'application 10, il peut être souhaitable d'obliger les utilisateurs à se connecter régulièrement au serveur 1, par exemple tous les sept jours maximum. Ainsi, le jeton peut être utilisé pour limiter les conditions d'accès à l'application 10, même après que les données aient été téléchargées dans l'équipement utilisateur 2. Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes.20The token is then transmitted to the server 1 in the access request to the application 10. Thus, during the validity period of the token, access to the application 10 is very easily and very quickly using the token. The token must be a unique, non-shared identifier. For example, it can be obtained by using an identification number of the user equipment, associated with a time at which the millisecond authentication request has been made, and associated with an identification number of a processor. User equipment 2. Once data has been synchronized to user equipment 2, the corresponding version of the application can be used without subsequent connection to server 1. However, to ensure that the version of the application used is up to date, and / or to verify that the user still has access rights to the application 10, it may be desirable to force the users to connect regularly to the server 1, for example every seven days maximum . Thus, the token can be used to limit the conditions of access to the application 10, even after the data have been downloaded to the user equipment 2. Of course, the present invention is not limited to the embodiments described above as examples; it extends to other variants.20

Claims (10)

REVENDICATIONS1. Procédé de traitement de données pour permettre à un équipement utilisateur (2) d'accéder à une application Web (10) hébergée dans un serveur (1), l'équipement utilisateur comprenant un navigateur Web (21) et des moyens de connexion (20) au réseau Internet, le procédé comprenant des étapes, dans l'équipement utilisateur : - déterminer un état de connexion de l'équipement utilisateur par l'envoi d'une requête à destination du serveur, et - lorsque l'équipement utilisateur est déterminé comme étant dans un état connecté : - synchroniser une mémoire cache (22) du navigateur Web avec des fichiers relatifs à l'application Web mémorisés dans le serveur, - mettre à jour une base de données du navigateur Web avec des données relatives à l'application Web mémorisées dans le serveur, et - accéder à l'application Web, - lorsque l'équipement est déterminé comme étant dans un état déconnecté : - accéder à l'application Web en utilisant des fichiers relatifs à l'application Web mémorisés dans la mémoire cache et des données relatives à l'application mémorisées dans la base de données du navigateur Web.REVENDICATIONS1. A data processing method for enabling a user equipment (2) to access a web application (10) hosted in a server (1), the user equipment comprising a web browser (21) and connection means (20) ) to the Internet, the method comprising steps, in the user equipment: - determining a connection state of the user equipment by sending a request to the server, and - when the user equipment is determined as being in a connected state: - synchronizing a cache memory (22) of the web browser with files relating to the web application stored in the server, - updating a database of the web browser with data relating to the Web application stored in the server, and - access the web application, - when the device is determined to be in a disconnected state: - access the web application using rel files cached web application and application data stored in the web browser database. 2. Procédé selon la revendication 1, dans lequel l'étape de détermination d'un état de connexion de l'équipement utilisateur (2) est réalisée périodiquement.2. The method of claim 1, wherein the step of determining a connection state of the user equipment (2) is performed periodically. 3. Procédé selon la revendication 1, dans lequel l'étape de mise à jour de la base de données du navigateur Web (21) comprend une opération de création d'une base de données dans le navigateur Web.The method of claim 1, wherein the step of updating the database of the web browser (21) includes an operation of creating a database in the web browser. 4. Procédé selon la revendication 1, dans lequel l'étape de mise à jour de la base de données du navigateur Web (21) comprend une opération de traitement de données reçues du serveur (1) pour les adapter à un format de la base de données.The method of claim 1, wherein the step of updating the database of the web browser (21) comprises a data processing operation received from the server (1) to adapt them to a format of the database. of data. 5. Procédé selon la revendication 4, dans lequel l'opération de traitement de données comprend le découpage d'un ensemble de données en portions de l'ensemble de données, chaque portion présentant une taille inférieure à une taille limite prédéterminée.The method of claim 4, wherein the data processing operation comprises cutting a set of data into portions of the data set, each portion having a size smaller than a predetermined size limit. 6. Procédé selon la revendication 1, dans lequel l'établissement d'une communication entre l'équipement utilisateur (2) et le serveur (1) est réalisé en utilisant un protocole de sécurisation des données.6. The method of claim 1, wherein the establishment of a communication between the user equipment (2) and the server (1) is performed using a data security protocol. 7. Procédé selon la revendication 1, comprenant une étape d'authentification d'un utilisateur souhaitant accéder à l'application Web (10).7. Method according to claim 1, comprising a step of authenticating a user wishing to access the Web application (10). 8. Procédé selon la revendication 7, dans lequel l'étape d'authentification comprend l'attribution d'un jeton de sécurité unique à l'utilisateur, le jeton ayant une durée de validité prédéterminée.The method of claim 7, wherein the authentication step includes assigning a unique security token to the user, the token having a predetermined validity period. 9. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon la revendication 1 lorsque ce programme est exécuté par un processeur.9. Computer program comprising instructions for implementing the method according to claim 1 when the program is executed by a processor. 10. Equipement utilisateur (2) comprenant un navigateur Web (21) et des moyens de connexion (20) au réseau Internet, l'équipement utilisateur étant configuré pour : - déterminer un état de connexion de l'équipement utilisateur par l'envoi d'une requête à destination d'un serveur (1) hébergeant une application Web (10), et - lorsque l'équipement utilisateur est déterminé comme étant dans un état connecté : - synchroniser une mémoire cache (22) du navigateur Web avec des fichiers relatifs à l'application Web mémorisés dans le serveur, - mettre à jour une base de données du navigateur Web avec des données relatives à l'application Web mémorisées dans le serveur, et - accéder à l'application Web, - lorsque l'équipement est déterminé comme étant dans un état déconnecté : - accéder à l'application Web en utilisant des fichiers relatifs à l'application Web mémorisés dans la mémoire cache et des données relatives à l'application mémorisées dans la base de données du navigateur Web.User equipment (2) comprising a web browser (21) and connection means (20) to the Internet, the user equipment being configured to: - determine a connection state of the user equipment by sending a a request to a server (1) hosting a web application (10), and - when the user equipment is determined to be in a connected state: - to synchronize a cache memory (22) of the web browser with files related to the web application stored in the server, - update a web browser database with web application data stored in the server, and - access the web application, - when the device is determined to be in a disconnected state: - accessing the web application using cached web application files and application data stored in the b ase of data from the web browser.
FR1261695A 2012-12-05 2012-12-05 PROCESSING DATA TO ACCESS A WEB APPLICATION. Active FR2998993B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1261695A FR2998993B1 (en) 2012-12-05 2012-12-05 PROCESSING DATA TO ACCESS A WEB APPLICATION.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1261695A FR2998993B1 (en) 2012-12-05 2012-12-05 PROCESSING DATA TO ACCESS A WEB APPLICATION.

Publications (2)

Publication Number Publication Date
FR2998993A1 true FR2998993A1 (en) 2014-06-06
FR2998993B1 FR2998993B1 (en) 2015-10-16

Family

ID=48407618

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1261695A Active FR2998993B1 (en) 2012-12-05 2012-12-05 PROCESSING DATA TO ACCESS A WEB APPLICATION.

Country Status (1)

Country Link
FR (1) FR2998993B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005062848A2 (en) * 2003-12-19 2005-07-14 Backweb Technologies Inc. System and method for providing offline web application, page, and form access in a networked environment
US20070033569A1 (en) * 2005-08-02 2007-02-08 Davidson James G Client/server web application architectures for offline usage, data structures, and related methods
US20070204057A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
WO2008107269A1 (en) * 2007-03-05 2008-09-12 International Business Machines Corporation Method and apparatus for a browser with offline web-application architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005062848A2 (en) * 2003-12-19 2005-07-14 Backweb Technologies Inc. System and method for providing offline web application, page, and form access in a networked environment
US20070033569A1 (en) * 2005-08-02 2007-02-08 Davidson James G Client/server web application architectures for offline usage, data structures, and related methods
US20070204057A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
WO2008107269A1 (en) * 2007-03-05 2008-09-12 International Business Machines Corporation Method and apparatus for a browser with offline web-application architecture

Also Published As

Publication number Publication date
FR2998993B1 (en) 2015-10-16

Similar Documents

Publication Publication Date Title
EP2599284B1 (en) Data communication between modules
US9311326B2 (en) Virtual file system for automated data replication and review
US9811676B1 (en) Systems and methods for securely providing information external to documents
WO2016124114A1 (en) Method and device for saving chat record of instant messaging
WO2014166332A1 (en) Method, client, server, and system for sharing content
EP2291813A1 (en) Inserting a multimedia file through a web-based desktop productivity application
US8943149B2 (en) Sender motivated optimization of URI rendering in instant messaging
CN108900547B (en) Source returning control method and device
WO2016082616A1 (en) Method and device for providing website authentication data for search engine
EP2630768B1 (en) Processing data for transferring or mirroring a media stream
US8549390B2 (en) Verifying content of resources in markup language documents
FR2998993A1 (en) Data processing method for allowing e.g. user equipment, to access web application hosted in server, involves updating database of browser with data stored in server, and accessing web application when user equipment is in connected state
EP1939760A1 (en) Method and device for managing data in a distributed environment
JP2007328750A (en) Compound document preparing method and registering method to blog
JP4885678B2 (en) Content creation apparatus and content creation method
CN104270358B (en) Trustable network transaction system client monitor and its implementation
US20110219077A1 (en) Direct linked two way forms
CN101894159A (en) Method and system for browsing documents on line
WO2015087019A1 (en) Method of synchronization of data between a set of terminals
US20130104034A1 (en) System and method of providing off-network access to network content
WO2018172669A1 (en) Method and device for managing the storage of digital documents
EP3262536B1 (en) Method for the accelerated download of a web page to a communication terminal
EP3170298B1 (en) Metadata-assisted providing of appearance of data
EP1650684A1 (en) Mediation system for accessing non Internet applications from Internet applications
JP6282970B2 (en) Data collection method, data collection apparatus, and program

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12