Procédé de recherche de données automatisé et sécurisé au moyen d' n réseau de transmission de données Automated and secure data search method using a data transmission network
Domaine technique : La présente invention concerne les procédés et systèmes de recherche documentaires dans lesquels un utilisateur a accès au moyen d'un serveur local d'un réseau de transmission de données, à des banques de données accessibles grâce à des serveurs du réseau, les données répondant à des critères définis par l'utilisateur étant ensuite téléchargées pour être emmagasinées dans une base de données associée au serveur local.Technical Field: The present invention relates to methods and systems of document retrieval in which a user has access by means of a local server of a data transmission network, to databases accessible by servers of the network, the data meeting user-defined criteria is then downloaded to be stored in a database associated with the local server.
Etat de l'art : II existe un grand nombre de banques de données offrant accès à des informations les plus diverses comme les brevets, les cours de la bourse, les réservations aériennes, ...etc. Ces banques de données sont généralement accessibles via Internet ou par connexion directe via le réseau téléphonique. Il est possible alors d'interroger une banque de données soit en entrant les requêtes au clavier soit en utilisant un fichier contenant au moins une requête appelé script de requête automatique. Les données résultantes sont soit visualisées de manière interactive, soit imprimées, soit sauvegardées dans un fichier pour une consultation ultérieure.State of the art: There are a large number of databases offering access to the most diverse information such as patents, stock market prices, airline reservations, ... etc. These databases are generally accessible via the Internet or by direct connection via the telephone network. It is then possible to query a database either by entering the queries using the keyboard or by using a file containing at least one query called an automatic query script. The resulting data are either viewed interactively, or printed, or saved to a file for future reference.
Un type de banques de données très utilisé comprend les bases de données contenant les publications de brevets d'invention qui constituent à l'heure actuelle 80% des informations écrites présentes dans le monde. Les bases de données brevets peuvent être classées en deux familles : les bases de données généralistes qui sont construites à partir d'un fond documentaire dans lequel les informations sont regroupées par famille. Ce type de bases de données permet de limiter le nombre d'articles tout en favorisantOne type of database that is widely used includes databases containing patent publications, which currently make up 80% of the world's written information. Patent databases can be classified into two families: general databases which are constructed from a documentary background in which information is grouped by family. This type of database makes it possible to limit the number of articles while promoting
, la lecture dans une langue particulière. C'est le cas de la
base de données ESPACENET de l'Office Européen des Brevets où les informations bibliographiques sont traduites en anglais. Par contre les bases de données nationales sont limitées aux brevets d'un pays donné (France, Allemagne) mais sont plus complètes en ce sens que l'information fournie est par exemple le brevet dans sa totalité. La recherche consiste donc à effectuer une première requête sur une base de données généraliste du type ESPACENET pour sélectionner les numéros de publication, puis d'effectuer une deuxième requête sur une ou plusieurs bases de données nationales pour obtenir des informations plus complètes., reading in a particular language. This is the case of the ESPACENET database of the European Patent Office where bibliographic information is translated into English. On the other hand the national databases are limited to the patents of a given country (France, Germany) but are more complete in the sense that the information provided is for example the patent in its entirety. The search therefore consists of making a first request on a general-purpose database of the ESPACENET type to select the publication numbers, then making a second request on one or more national databases to obtain more complete information.
Bien que dans les bases de données brevets, plusieurs téléchargements concernant le même sujet peuvent être regroupés avec suppression des doublons et éventuellement suppression des brevets hors sujet, chaque requête effectuée sur le WEB dans le réseau Internet est indépendante. Les pages HTML obtenues sont également indépendantes. Par conséquent, l'utilisateur ne dispose d'aucune information synthétique.Although in the patent databases, several downloads concerning the same subject can be grouped together with deletion of duplicates and possibly deletion of patents outside the subject, each request made on the WEB in the Internet is independent. The HTML pages obtained are also independent. Consequently, the user does not have any synthetic information.
La manière actuelle d'interroger les banques de données, et en particulier les bases de données ayant trait aux brevets, ne présente donc pas une grande efficacité sur le plan industriel. En effet, les données reçues résultant d'une recherche sur le réseau Internet sont longues à obtenir, difficiles à consulter et à manipuler et sont quelquefois erronées. Ces inconvénients proviennent du fait que chaque requête est une requête manuelle et est restreinte à un seul processus d'interrogation, ce qui oblige à multiplier le nombre de ces requêtes manuelles.The current way of interrogating databases, and in particular databases relating to patents, is therefore not very effective on an industrial level. Indeed, the data received as a result of a search on the Internet is long to obtain, difficult to consult and to handle and is sometimes erroneous. These drawbacks arise from the fact that each request is a manual request and is limited to a single interrogation process, which makes it necessary to multiply the number of these manual requests.
Enfin, un inconvénient majeur des procédés de recherche de données effectuées sur le réseau Internet est le manque de confidentialité. En effet, un serveur d'informations possède un fichier Log qui permet de visualiser le contenu des requêtes en cours. L'adresse IP utilisée est elle aussi
connue de ce serveur. Par conséquent, une personne malveillante peut donc, à travers la visualisation d'une requête, connaître le sujet sur lequel travaille celui qui interroge le serveur.Finally, a major drawback of data search methods performed on the Internet is the lack of confidentiality. In fact, an information server has a log file that allows you to view the content of current requests. The IP address used is also known to this server. Therefore, an attacker can therefore, through the visualization of a request, know the subject on which works the one who interrogates the server.
Exposé de l'invention :Statement of the invention:
Le but de l'invention est donc de réaliser un procédé automatisé de recherche de données dans des bases de données accessibles par un réseau de transmission de données qui permette d'accéder de manière rapide et efficace à une pluralité de bases de données sans avoir à formuler une multitude de requêtes manuelles.The object of the invention is therefore to carry out an automated method of searching for data in databases accessible by a data transmission network which allows rapid and efficient access to a plurality of databases without having to formulate a multitude of manual requests.
Un autre but de l'invention est aussi de réaliser un procédé sécurisé de recherche de données dans des bases de données accessibles par un réseau de transmission de données dans lequel la requête d'origine est une requête d'ordre général ne permettant pas d'obtenir des informations précises sur les caractéristiques de la recherche.Another object of the invention is also to provide a secure method of searching for data in databases accessible by a data transmission network in which the original request is a general request which does not allow obtain precise information on the characteristics of the research.
Selon un premier objet, l'invention concerne donc un procédé de recherche de données emmagasinées dans au moins une base de données accessible par au moins un serveur externe d'un réseau de transmission de données consistant à adresser une requête pour chaque base de données à partir d'un serveur local associé à au moins une base de données locale, la requête comprenant des champs contenant des critères généraux relatifs au type d'informations recherchées, au contenu des informations, et/ou aux dates associées aux informations, les différents champs pouvant être reliés par des opérateurs booléens. L'étape de téléchargement comprend les étapes suivantes : génération par le serveur local de scripts composés d'une série de commandes basées sur les critères généraux et permettant la création de pointeurs identifiant les champs de données à télécharger, et activation d'automates permettant de
télécharger les champs de données pointés par les pointeurs ainsi que d'autres champs de données associés par des relations prédéfinies aux champs de données pointées.According to a first object, the invention therefore relates to a method of searching for data stored in at least one database accessible by at least one external server of a data transmission network consisting in sending a request for each database to from a local server associated with at least one local database, the request comprising fields containing general criteria relating to the type of information sought, the content of the information, and / or the dates associated with the information, the various fields can be linked by Boolean operators. The download stage comprises the following stages: generation by the local server of scripts composed of a series of commands based on the general criteria and allowing the creation of pointers identifying the data fields to be downloaded, and activation of automata allowing download the data fields pointed to by the pointers as well as other data fields associated by predefined relationships with the pointed data fields.
Selon un second objet, après que les données répondant aux critères généraux ont été téléchargées du serveur externe vers le serveur local, a lieu une étape d'analyse syntaxique des données téléchargées selon des critères spécifiques différents des critères généraux permettant de créer des pointeurs à des champs de données spécifiques des données téléchargées, avant que les données téléchargées et les pointeurs soient emmagasinés dans la base de données locale .According to a second object, after the data meeting the general criteria have been downloaded from the external server to the local server, a step of syntactic analysis of the data downloaded takes place according to specific criteria different from the general criteria making it possible to create pointers to specific data fields of the downloaded data, before the downloaded data and pointers are stored in the local database.
Description brève des figures :Brief description of the figures:
Les buts, objets et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description qui suit en référence aux dessins dans lesquels :The aims, objects and characteristics of the invention will appear more clearly on reading the description which follows with reference to the drawings in which:
- la figure 1 représente schématiquement un réseau de transmission de données auquel est connecté un serveur local et deux serveurs externes disposant de bases de données dans lesquelles l'utilisateur associé au serveur local veut accéder selon le procédé de l'invention,FIG. 1 schematically represents a data transmission network to which a local server and two external servers with databases are connected, in which the user associated with the local server wants to access according to the method of the invention,
- la figure 2 est un bloc-diagramme représentant le système d' implémentation du procédé selon l'invention, la figure 3 représente un exemple de requête pouvant être utilisé dans le procédé selon l'invention, la figure 4 représente un exemple de page de sélection pouvant être utilisé dans le procédé selon l'invention, la figure 5 représente un exemple de page d' interrogation pouvant être utilisé dans le procédé selon l'invention, et la figure 6 est un organigramme représentant les différentes étapes mises en œuvre dans le procédé selon l' invention.
Description détaillée de l'invention :FIG. 2 is a block diagram representing the system for implementing the method according to the invention, FIG. 3 represents an example of a request that can be used in the method according to the invention, FIG. 4 represents an example of a page selection can be used in the method according to the invention, FIG. 5 represents an example of an interrogation page which can be used in the method according to the invention, and FIG. 6 is a flowchart representing the different steps implemented in the method according to the invention. Detailed description of the invention:
Comme illustré sur la figure 1, le procédé selon l'invention peut être mis en œuvre dans un serveur local 10 disposant d'une base de données locale 12, lequel serveur local est connecté à un réseau 14 tel qu'un réseau du type IP et en particulier le réseau Internet. Le serveur local 10 permet l'envoi de requêtes de recherche de données vers les serveurs externes 16 et 18 disposant respec "ent des bases de données 20, 22, 24 et des bases de données 26, 28. On doit noter que la base de données locale 12 pourrait être remplacée par plusieurs bases de données sans sortir du cadre de l'invention.As illustrated in FIG. 1, the method according to the invention can be implemented in a local server 10 having a local database 12, which local server is connected to a network 14 such as a network of the IP type. and in particular the Internet. The local server 10 allows the sending of data search requests to the external servers 16 and 18 having respec "ent databases 20, 22, 24 and databases 26, 28. It should be noted that the database local data 12 could be replaced by several databases without departing from the scope of the invention.
Le bloc-diagramme général de l'invention est illustré sur la figure 2. Dans la suite de la description le procédé de l'invention sera appliqué à la recherche d'informations dans les bases de données brevets. Dans l'interface utilisateur 29 qui est généralement une station de travail, une page d'accueil 30 est affichée sur le dispositif d'affichage du serveur local à l'ouverture du navigateur utilisé. Cette page d'accueil affiche un ou plusieurs formulaires pour accéder respectivement à une ou plusieurs bases de données externes 32, 34, chaque formulaire étant destiné à constituer une requête 36 à la base de données sélectionnée. On doit noter qu'une base de données pourrait également être accessible par plusieurs formulaires.The general block diagram of the invention is illustrated in FIG. 2. In the following description, the method of the invention will be applied to the search for information in the patent databases. In the user interface 29 which is generally a workstation, a home page 30 is displayed on the display device of the local server when the browser used is opened. This home page displays one or more forms for accessing respectively one or more external databases 32, 34, each form being intended to constitute a request 36 to the selected database. It should be noted that a database could also be accessible by several forms.
La requête 36 peut être une simple liste de brevets ou tout autre liste telle que l'ensemble des brevets de tel inventeur ou telle société. Des critères de recherche plus sophistiqués peuvent être utilisés tels que des recherches sur des mots ou du texte en utilisant des opérateurs booléens sur des champs prédéterminés ou non.Request 36 can be a simple list of patents or any other list such as all of the patents of such an inventor or such a company. More sophisticated search criteria can be used such as searches on words or text using Boolean operators on predetermined fields or not.
La figure 3 décrit les éléments pouvant être utilisés pour une recherche de type texte sur les serveurs de données
externes. En fait, les possibilités de requête sont ajustées en fonction des possibilités de chaque serveur mais conservent certaines caractéristiques communes. Les modèles prédéfinis simplifient ainsi l'interface utilisateur. L'exemple proposé contient un premier couple de champs 38 et 40, respectivement champ de texte en langage naturel et type de champ associé dans lequel, on veut effectuer les recherches. Selon les serveurs, des opérateurs booléens peuvent être intégrés au texte. Un second couple 42 et 44 peut aussi optionnellement être utilisé et corrélé avec le premier couple par un opérateur booléen 46. Pour finir un champ de date 48 peut aussi être défini pour limiter les recherches. La liste des champs n'est pas exhaustive.' Selon les serveurs, d'autres facilités peuvent être utilisées.Figure 3 describes the elements that can be used for a text search on data servers External. In fact, the query possibilities are adjusted according to the possibilities of each server but retain certain common characteristics. The predefined templates thus simplify the user interface. The proposed example contains a first pair of fields 38 and 40, respectively a text field in natural language and the type of associated field in which we want to perform the searches. Depending on the servers, Boolean operators can be integrated into the text. A second pair 42 and 44 can also optionally be used and correlated with the first pair by a Boolean operator 46. Finally, a date field 48 can also be defined to limit searches. The list of fields is not exhaustive. ' Depending on the servers, other facilities can be used.
Une fois les champs définis dans la requête, la commande « entrée » ou la sélection d'un bouton spécifique de l'interface utilisateur 29 transmet cette requête vers le serveur associé à la base de données considérée. Etant donné que le serveur peut travailler dans un langage qui n'est pas le langage habituel de l'utilisateur, une conversion dans la langue désirée peut être faite afin de simplifier la génération de la requête qui est alors traduite par le système de génération.Once the fields have been defined in the request, the "enter" command or the selection of a specific button on the user interface 29 transmits this request to the server associated with the database considered. Since the server can work in a language which is not the usual language of the user, a conversion into the desired language can be made in order to simplify the generation of the request which is then translated by the generation system.
La base de données externe 32 ou 34 renvoie alors des données issues de la recherche qui peuvent être aussi traduites dans la langue de l'utilisateur. En fait, les réponses sont sous forme de liens hypertextes et de pages qui sont accessibles de manière interactive au moyen du navigateur dans le serveur local.The external database 32 or 34 then returns data from the search which can also be translated into the language of the user. In fact, the responses are in the form of hypertext links and pages which are accessible interactively by means of the browser on the local server.
A ce stade, l'utilisateur sélectionne le type de données qu'il veut télécharger dans une page de sélection 50 enAt this stage, the user selects the type of data he wants to download from a selection page 50 in
HTML qui est affichée, par exemple, dans une zone de la page d'accueil 30 de l'interface utilisateur 29. Cette page
de sélection illustrée sur la figure 4 contient généralement les éléments intéressants à télécharger qui sont la page de garde 51, les citations 52, les dessins 54, les revendications 56, et la description 58. Un champ annexe 60 permet de définir à quel moment (heure, date) le téléchargement sera effectué.HTML which is displayed, for example, in an area of the home page 30 of the user interface 29. This page selection bar illustrated in FIG. 4 generally contains the interesting elements to download which are the cover page 51, the citations 52, the drawings 54, the claims 56, and the description 58. An annex field 60 makes it possible to define when ( time, date) the download will be performed.
L'utilisateur lance ensuite la séquence de téléchargement en cliquant sur la touche correspondante. L'action de téléchargement débute par la génération de scripts qui sont composés d'une série de commandes basées sur les critères de recherche de la requête et qui permettent la création de pointeurs identifiant les champs de données à télécharger. Ces scripts servent à des processus 62, 64 associés respectivement aux bases de données 32 et 34 pour aller chercher les informations dans les bases de données. Chaque processus met en jeu des automates informatiques 66, 68 pour le processus 62 ou 70 pour le processus 64 et dont le nombre dépend du volume ou de la quantité des données recherchées. Ainsi, il est possible qu'un nombre d'automates compris entre 10 et 100 travaillant en parallèle interrogent la même banque de données. Si par exemple, le nombre de réponses à la requête est supérieur à 10.000 alors que le nombre de réponses pouvant être fournies par le serveur est limité à 500, plusieurs automates vont être nécessaires en sélectionnant des fenêtres de dates de publication pour chaque automate par l'ajout des ET logiques. On peut prévoir ainsi des ET logiques portant sur plusieurs champs en combinaison. Ainsi, chaque automate restera dans la limite autorisée et les résultats seront complets et non partiels comme cela aurait été le cas avec un procédé classique et sont fournis à l'utilisateur d'une manière entièrement transparente.The user then launches the download sequence by clicking on the corresponding button. The download action begins with the generation of scripts which are composed of a series of commands based on the search criteria of the query and which allow the creation of pointers identifying the data fields to be downloaded. These scripts are used for processes 62, 64 associated respectively with databases 32 and 34 to fetch the information from the databases. Each process involves computer automatons 66, 68 for the process 62 or 70 for the process 64 and the number of which depends on the volume or the quantity of the data sought. Thus, it is possible that a number of controllers between 10 and 100 working in parallel interrogate the same database. If, for example, the number of responses to the request is greater than 10,000 while the number of responses that can be provided by the server is limited to 500, several controllers will be required by selecting publication date windows for each controller by l 'logical AND. We can thus foresee logical ANDs covering several fields in combination. Thus, each automaton will remain within the authorized limit and the results will be complete and not partial as would have been the case with a conventional process and are supplied to the user in a completely transparent manner.
Les automates informatiques effectuent leur travail en tâche de fond en dehors de navigateur du serveur. Ceci est rendu possible du fait que chaque base de données dispose
de formats d'affichage connus qui permettent aux automates d'aller retrouver simplement les différentes pages d'un brevet. Cela impose un minimum d'analyse syntaxique des pages afin d'extraire les informations nécessaires pour pouvoir accéder aux pages suivantes. Par exemple la base de données USPTO des brevets us crée des répertoires provisoires pour chaque requête. En plus, les automates déterminent le nombre de pages des brevets et l'emplacement, les numéros des pages dessins en lisant l'information sous-jacente dans un page du brevet. En d'autres termes, les automates effectuent le téléchargement des champs de données pointés par les pointeurs créés dans les scripts mais également le téléchargement d'autres champs de données associés aux champs de données pointés par des relations prédéfinies. Selon une variante, on peut prévoir de ne télécharger que les champs de données qui ne sont pas encore dans la base de données locale afin de minimiser le volume de données à télécharger.Automated computers do their work in the background outside the server browser. This is made possible by the fact that each database has known display formats that allow automata to simply find the different pages of a patent. This requires a minimum parsing of the pages in order to extract the information necessary to be able to access the following pages. For example, the USPTO US patent database creates temporary directories for each request. In addition, the machines determine the number of patent pages and the location, the numbers of the drawing pages by reading the underlying information in a patent page. In other words, the controllers download the data fields pointed to by the pointers created in the scripts, but also download other data fields associated with the data fields pointed to by predefined relationships. According to a variant, it can be planned to download only the data fields which are not yet in the local database in order to minimize the volume of data to be downloaded.
Après la phase de téléchargement, les différentes pages téléchargées sont analysées par une unité d' analyse syntaxique ou « parsing » pour retrouver ou créer des champs tels que le numéro d'un brevet, sa date de publication, le nom des inventeurs... Cette étape peut être effectuée en parallèle à l'étape de téléchargement une fois les données suffisantes disponibles pour traiter au moins un brevet. On peut alors se servir des données fournies par l'analyseur 72 comme données pour l'envoi d'une nouvelle requête. Par exemple, on peut sélectionner des brevets non US cités pour un brevet US dans la base de données USPTO et rechercher ces brevets dans la base ESPACENET. Ou encore, l'analyse des différentes extensions d'un brevet peut conduire à choir la meilleure source pour un client donné.After the download phase, the different downloaded pages are analyzed by a parsing unit or "parsing" to find or create fields such as the number of a patent, its date of publication, the names of the inventors ... This step can be performed in parallel with the download step once sufficient data is available to process at least one patent. We can then use the data provided by the analyzer 72 as data for sending a new request. For example, you can select non-US patents cited for a US patent in the USPTO database and search for these patents in the ESPACENET database. Or, the analysis of the different extensions of a patent can lead to choosing the best source for a given client.
Une fois le processus d'analyse syntaxique effectué pour au moins un brevet, on alimente la base de données locale 12 en renseignant les champs pour chaque brevet. On notera que
l'objet brevet dans la base de données locale comprend un grand nombre de champs. Il s'agit de la réunion (au sens mathématique du terme) des champs disponibles séparément sur chaque base de données accessible. Par exemple : les brevets US dans la banque de données ESPACENET ne contiennent pas les codes de classement US et ces mêmes brevets sur la Banque de données USPTO ne contiennent pas les extensions ni le code ECLA.Once the parsing process has been carried out for at least one patent, the local database 12 is supplied by filling in the fields for each patent. Note that the patent object in the local database includes a large number of fields. It is the meeting (in the mathematical sense of the term) of the fields available separately on each accessible database. For example: the US patents in the ESPACENET database do not contain the US classification codes and these same patents on the USPTO database do not contain the extensions or the ECLA code.
Enfin, la page d'accueil 30 dans l'interface utilisateur 29 comprend également une page d'interrogation 74 pour interroger immédiatement ou non la base de données locale 12.Finally, the home page 30 in the user interface 29 also includes an interrogation page 74 for immediately or indirectly interrogating the local database 12.
Cette page affiche une grille de cases à renseigner. Chaque case correspond à un champ des brevets présents dans la banque de données (par exemple classification internationale, US, déposant, ...) . Il peut y avoir une case supplémentaire pour rentrer, si on le souhaite, le numéro de téléchargement. Il peut y avoir aussi une dernière case pour entrer directement une requête en langage SQL ou le nom d'un fichier SQL avec des questions préprogrammées (script SQL) . On peut appliquer des opérateurs logiques entre les champs. On peut aussi indiquer des paramètres d'affichage et de classement de l'information recherchéeThis page displays a grid of boxes to be completed. Each box corresponds to a field of patents present in the database (for example international classification, US, applicant, ...). There may be an additional box to enter the download number, if desired. There can also be a last box to directly enter a query in SQL language or the name of an SQL file with preprogrammed questions (SQL script). Logical operators can be applied between fields. You can also specify display and classification parameters for the information sought
(par exemple -tri par société, tri par date de publication...). Ces paramètres permettent d'afficher et/ou regrouper les brevets entre eux dans une ou plusieurs arborescences que l'on peut définir et où l'on se déplace au moyen d'hyperliens.(for example - sorted by company, sorted by publication date ...). These parameters make it possible to display and / or group the patents together in one or more trees that can be defined and where one moves by means of hyperlinks.
Une page d'interrogation comprend généralement la liste exhaustive des champs illustrée sur la figure 6 :1e numéro de brevet, le titre, le ou les inventeurs, le déposant, la date de délivrance, la date de publication, le résumé, les revendications, la description, la classification US, les brevets cités, la classification internationale, la
classification ECLA, le pays de priorité, le numéro de priorité, la famille, la date de dépôt ainsi que le numéro de dépôt, le conseil en brevet et enfin le nom du premier examinateur. Cette liste n'est qu'un exemple et peut voir de nouveaux éléments s'ajouter.A query page generally includes the exhaustive list of fields illustrated in FIG. 6: 1st patent number, title, inventor (s), applicant, date of issue, date of publication, summary, claims, description, US classification, cited patents, international classification, ECLA classification, priority country, priority number, family, filing date as well as filing number, patent attorney and finally the name of the first examiner. This list is only an example and may see new items added.
De façon à bien comprendre le procédé selon l'invention, les différentes étapes dudit procédé sont représentées sur la figure 6. Après l'affichage de la page d'accueil (76) dans l'interface utilisateur, l'utilisateur doit déterminer s'il désire faire une requête ou une interrogation à la base de données locale (78). S'il s'agit d'une requête, celle-ci est envoyée par le réseau de transmission vers le serveur externe sélectionné (80) . Il y ensuite affichage des pages HTML recherchées (82) .In order to fully understand the method according to the invention, the different steps of said method are shown in FIG. 6. After the display of the home page (76) in the user interface, the user must determine whether he wishes to make a request or a query to the local database (78). If it is a request, it is sent by the transmission network to the selected external server (80). It then displays the HTML pages sought (82).
Ensuite, l'utilisateur sélectionne le type d'information qu' il veut télécharger en renseignant la page sélection (84). Comme on l'a vu précédemment, on peut prévoir un champ annexe dans la page sélection pour définir si le téléchargement est différé ou non (86) . Ceci correspond à un mode batch qui évite de saturer le réseau et le serveur selon l'importance du téléchargement. Un autre intérêt de ce téléchargement différé est de regrouper tous les téléchargements concernant ce serveur, ce qui masque encore plus l'objectif de la requête. Si le téléchargement doit être différé, un compteur de temps est mis en route (88), et ce n'est qu'à l'expiration d'un temps prédéfini que le procédé est continué.Then, the user selects the type of information he wants to download by filling in the selection page (84). As we saw previously, we can provide an additional field in the selection page to define whether the download is deferred or not (86). This corresponds to a batch mode which avoids saturating the network and the server depending on the size of the download. Another advantage of this delayed download is to group together all the downloads concerning this server, which further obscures the objective of the request. If the download has to be postponed, a time counter is started (88), and it is only at the expiration of a predefined time that the process is continued.
Après que la décision de télécharger a été prise, l'étape suivante est la génération des scripts (90) suivie du téléchargement proprement dit par les automates informatiques (92). Puis le procédé passe à l'étape d'analyse syntaxique ou parsing (94) qui permet de définir de nouveaux champs de données (96) . A noter que ces champs de données peuvent à leur tour être utilisés comme champs
de recherche dans une nouvelle requête de la même base de données ou d'une autre base de données.After the decision to download has been made, the next step is to generate the scripts (90) followed by the actual download by the computer controllers (92). Then the process passes to the parsing or parsing step (94) which makes it possible to define new data fields (96). Note that these data fields can in turn be used as fields search in a new query from the same database or from another database.
Puis, les champs de données téléchargées et les pointeurs vers les nouveaux champs de données définis lors de l'étape de parsing sont emmagasinés dans la base de données locale (98). A ce stade, il est possible d'effectuer une interrogation immédiate dans la base de données locale ou non (100). Si ce n'est pas le cas, le processus revient à l'affichage de la page d'accueil (76). Si l'utilisateur désire une interrogation immédiate comme c'est généralement le cas, la page d'interrogation est renseignée (102) et un affichage structuré des champs de données sélectionnés par la page d'interrogation a lieu à l'interface utilisateur (104)Then, the downloaded data fields and the pointers to the new data fields defined during the parsing step are stored in the local database (98). At this stage, it is possible to perform an immediate query in the local database or not (100). If not, the process returns to displaying the home page (76). If the user desires an immediate interrogation as is generally the case, the interrogation page is populated (102) and a structured display of the data fields selected by the interrogation page takes place at the user interface (104 )
Lorsque les données on été emmagasinées dans la base de données locale (98), elles sont converties en une séquence SQL. Lorsqu'il y a interrogation, les données brutes de la base de données locale sont converties en une page HTML comportant un index et la grille d'interrogation de la page d'interrogation. Cet index est une suite d' hypertliensWhen the data has been stored in the local database (98), it is converted into an SQL sequence. When there is a query, the raw data from the local database is converted into an HTML page comprising an index and the query grid of the query page. This index is a series of hyperlinks
(numéros et titres des brevets trouvés, etc. voir paramètres d'affichage) vers un processus qui permet d'afficher le contenu d'un brevet. On affiche en plus le script SQL de la requête afin de pouvoir le modifier ou bien l'archiver dans un fichier. A chaque interrogation est associé un numéro, ce qui permet de combiner plusieurs requêtes entre-elles. Ce numéro et les scripts SQL correspondants sont détruits ou conservés à la fin de la session au choix de l'utilisateur. On peut itérer vers le processus d'interrogation de la banque de données locale pour affiner la requête. Il est possible d'exporter le résultat de la requête dans un répertoire afin de permettre par exemple le gravage d'un CD-ROM, la génération d'un site Intranet Impression.
La description qui précède montre que le procédé de l'invention (et le système permettant son implémentation) permet de collecter des données de manière automatique efficace et rapide grâce à l'utilisation d'une pluralité d' automates pouvant travailler simultanément sur la même base de données, plusieurs bases de données du même serveur ou des bases de données de serveurs différents. En outre, le procédé de l'invention est sécurisé du fait que la recherche la plus précise n'est jamais faite sur les serveurs externes, mais sur le serveur local bien que le téléchargement s'effectue sur l'ensemble des données. Il est donc possible de faire une requête d'ordre général avec seulement un mot ou un code de classement et de télécharger tous les brevets répondant à ce critère. Les brevets téléchargés étant ensuite analysés avec un analyseur syntaxique, la base de données locale peut alors être interrogée en toute confidentialité pour obtenir des données précises.(numbers and titles of patents found, etc. see display parameters) towards a process which makes it possible to display the content of a patent. We also display the SQL script of the query in order to modify it or archive it in a file. A number is associated with each interrogation, which makes it possible to combine several queries. This number and the corresponding SQL scripts are destroyed or kept at the end of the session at the user's choice. You can iterate through the local database query process to refine the query. It is possible to export the result of the request to a directory to allow, for example, the burning of a CD-ROM, the generation of an Intranet Printing site. The foregoing description shows that the method of the invention (and the system allowing its implementation) makes it possible to collect data automatically and efficiently and quickly thanks to the use of a plurality of automata which can work simultaneously on the same base. , multiple databases from the same server, or databases from different servers. In addition, the method of the invention is secure in that the most precise search is never done on the external servers, but on the local server although the download is performed on all of the data. It is therefore possible to make a general request with only one word or classification code and to download all the patents that meet this criterion. The downloaded patents are then analyzed with a syntax analyzer, the local database can then be queried confidentially to obtain precise data.
Des modifications peuvent être apportées au procédé qui vient d'être décrit sans sortir du cadre de l'invention. Ainsi, une requête effectuée peut être mise à jour régulièrement par la suite, par exemple tous les mois, afin de prendre en compte automatiquement les mises à jour faites dans les serveurs externes. Il suffit pour cela de définir dans le champ date de la requête (voir figure 3) la fonction mise à jour automatique avec optionnellement la fréquence de mise à jour. Ainsi la base locale sera l'image des bases de données externes en léger différé. Un message est alors généré à l'intention de l'utilisateur pour l'avertir de toute mise à jour.
Modifications can be made to the process which has just been described without departing from the scope of the invention. Thus, a request made can be updated regularly thereafter, for example every month, in order to automatically take into account the updates made in the external servers. You just have to define in the date field of the request (see figure 3) the automatic update function with optionally the update frequency. Thus the local database will be the image of external databases with a slight delay. A message is then generated for the user to notify him of any update.