PROCEDE ET SYSTEME D'ECHANGE D'INFORMATIONS POINT A POINT PAR L'INTERMEDIAIRE D'UN RESEAU DE DIFFUSION.METHOD AND SYSTEM FOR EXCHANGING POINT-TO-POINT INFORMATION THROUGH A BROADCASTING NETWORK.
La présente invention concerne le domaine des télécommunications et plus particulièrement les services susceptibles d'être offerts par l'intermédiaire de telles communications.The present invention relates to the field of telecommunications and more particularly to the services which may be offered by means of such communications.
Elle s'applique notamment, mais non exclusivement, à la réalisation d'un service de mise en relation d'offres et de demandes diffusées dans un réseau de télécommunication par un ensemble d'utilisateurs.It applies in particular, but not exclusively, to the creation of a service for linking offers and requests disseminated in a telecommunications network by a set of users.
De plus en plus de terminaux mobiles (PDA, téléphones mobiles, ...) sont équipés d'une liaison Bluetooth leur permettant de communiquer avec d'autres appareils situés à proximité. Dans la demande de brevet US 2003/0065805 on a pensé à utiliser une telle liaison pour mettre en œuvre un système conçu pour diffuser des informations vers des terminaux d'utilisateurs en fonction de critères de sélection émis par ces derniers, les informations diffusées étant liées au lieu où se trouvent le système et les utilisateurs. Ce système permet notamment de diffuser au moyen de bornes des messages publicitaires ciblés et d'échanger des petites annonces avec d'autres utilisateurs.More and more mobile terminals (PDAs, mobile phones, etc.) are equipped with a Bluetooth link allowing them to communicate with other devices located nearby. In the patent application US 2003/0065805 it was thought to use such a link to implement a system designed to broadcast information to user terminals according to selection criteria issued by the latter, the information disseminated being linked where the system and the users are. This system makes it possible in particular to broadcast targeted advertising messages through terminals and to exchange classified ads with other users.
Il s'avère qu'en pratique, ce système fonctionne mal du fait que pour déterminer avec une fiabilité suffisante si une annonce reçue correspond aux critères de sélection définis par un utilisateur, il est nécessaire d'effectuer une analyse sémantique à la fois des mots figurant dans l'annonce et des mots définissant les critères de sélection. Or une telle analyse sémantique requiert des capacités de traitement et de stockage importantes qui dépassent celles qui sont disponibles dans la plupart des terminaux mobiles actuels.It turns out that in practice, this system works poorly because to determine with sufficient reliability if an advertisement received corresponds to the selection criteria defined by a user, it is necessary to perform a semantic analysis of both the words appearing in the advertisement and words defining the selection criteria. However, such a semantic analysis requires significant processing and storage capacities which exceed those which are available in most current mobile terminals.
La présente invention a pour but de supprimer ces inconvénients. Cet objectif est atteint par la prévision d'un procédé d'échange de données diffusées par une pluralité de terminaux dans un réseau de télécommunication, chacun des terminaux détectant la présence d'autres terminaux situés à portée de communication, établissant une communication avec un terminal détecté et échangeant des données avec le terminal avec lequel une communication est établie.
Selon l'invention, les données échangées entre deux terminaux comprennent des fiches présentant chacune une structure définie dans un profil respectif connu des deux terminaux, le procédé comprenant des étapes au cours desquelles :The present invention aims to eliminate these drawbacks. This objective is achieved by providing a method for exchanging data broadcast by a plurality of terminals in a telecommunications network, each of the terminals detecting the presence of other terminals located within communication range, establishing communication with a terminal. detected and exchanging data with the terminal with which a communication is established. According to the invention, the data exchanged between two terminals include files each having a structure defined in a respective profile known to the two terminals, the method comprising steps during which:
- à la suite de l'établissement d'une communication entre un premier et un second terminal, le premier terminal transmet au second terminal une liste de codes d'identification de profils,- following the establishment of a communication between a first and a second terminal, the first terminal transmits to the second terminal a list of profile identification codes,
- le second terminal transmet en réponse au premier terminal un ensemble de fiches correspondant chacune à un profil identifié dans la liste de codes d'identification de profils reçue du premier terminal, etthe second terminal transmits in response to the first terminal a set of files each corresponding to a profile identified in the list of profile identification codes received from the first terminal, and
- le premier terminal mémorise les fiches reçues.- the first terminal stores the files received.
Selon un mode de réalisation de l'invention, le premier terminal compare chacune des fiches reçues à des fiches personnelles stockées en mémoire et dont les profils correspondent, pour déterminer si une fiche reçue coïncide avec une fiche personnelle, et si une fiche reçue coïncide avec une fiche personnelle, le terminal émet un signal à destination de l'utilisateur.According to one embodiment of the invention, the first terminal compares each of the received files with personal files stored in memory and whose profiles correspond, to determine if a received file coincides with a personal file, and if a received file coincides with a personal file, the terminal sends a signal to the user.
Avantageusement, dans un premier mode de fonctionnement du terminal, les fiches transmises comprennent uniquement des fiches personnelles d'un utilisateur du terminal.Advantageously, in a first operating mode of the terminal, the transmitted files include only personal files of a user of the terminal.
Avantageusement, dans un second mode de fonctionnement du terminal, les fiches transmises comprennent uniquement des fiches reçues d'autres terminaux.Advantageously, in a second operating mode of the terminal, the transmitted files include only files received from other terminals.
Avantageusement, dans un troisième mode de fonctionnement du terminal, les fiches transmises comprennent à la fois des fiches reçues d'autres terminaux et des fiches personnelles de l'utilisateur du terminal.Advantageously, in a third operating mode of the terminal, the transmitted files include both files received from other terminals and personal files of the user of the terminal.
Selon un mode de réalisation de l'invention, la liste de codes d'identification de profils transmise par un terminal contient des codes d'identification de profils préalablement sélectionnés par l'utilisateur.According to one embodiment of the invention, the list of profile identification codes transmitted by a terminal contains profile identification codes previously selected by the user.
Selon un mode de réalisation de l'invention, préalablement à la transmission de la liste de codes d'identification de profils, une signature identifiant l'utilisateur du terminal est transmise à l'autre terminal.
Avantageusement, dans un mode de fonctionnement du terminal, chaque signature émise comprend un identifiant de l'utilisateur permettant d'établir une communication par un autre moyen avec l'utilisateur.According to one embodiment of the invention, prior to the transmission of the list of profile identification codes, a signature identifying the user of the terminal is transmitted to the other terminal. Advantageously, in a mode of operation of the terminal, each signature sent comprises an identifier of the user making it possible to establish communication by another means with the user.
Avantageusement, dans un mode de fonctionnement du terminal, chaque signature émise est anonyme et les fiches transmises comprennent uniquement des fiches reçues d'autres terminaux.Advantageously, in one operating mode of the terminal, each signature sent is anonymous and the files transmitted include only files received from other terminals.
Selon un mode de réalisation de l'invention, chacune des fiches échangées comprend plusieurs champs dont la nature et les caractéristiques sont définies dans le profil de la fiche, la comparaison d'une fiche reçue avec une fiche personnelle stockée en mémoire consistant à comparer les deux fiches champ par champ, pour déterminer pour chaque champ de la fiche reçue un niveau de pertinence, et à déterminer un niveau de pertinence global pour la fiche reçue en fonction des niveaux de pertinence calculés pour chacun des champs de la fiche reçue.According to one embodiment of the invention, each of the exchanged files comprises several fields, the nature and characteristics of which are defined in the profile of the file, the comparison of a received file with a personal file stored in memory consisting in comparing the two files field by field, to determine for each field of the file received a level of relevance, and to determine a level of global relevance for the file received according to the levels of relevance calculated for each of the fields of the file received.
Selon un mode de réalisation de l'invention, le procédé comprend en outre des étapes consistant à définir un nouveau profil, générer une application capable de gérer le nouveau profil, et installer l'application dans au moins deux terminaux d'utilisateur.According to an embodiment of the invention, the method further comprises the steps of defining a new profile, generating an application capable of managing the new profile, and installing the application in at least two user terminals.
Selon un mode de réalisation de l'invention, le procédé comprend en outre des étapes consistant à générer un code de profil appartenant à une plage de codes prédéfinie en appliquant une fonction de codage à un mot de passe d'utilisateur et à un code de profil de fiche prédéfini, et à transmettre le code de profil généré dans la liste des codes de profils transmis, de sorte qu'une fiche ayant le profil prédéfini est transmise uniquement si le terminal destinataire dispose à la fois du mot de passe, de la fonction de codage et du profil prédéfini.According to an embodiment of the invention, the method further comprises the steps of generating a profile code belonging to a predefined code range by applying an encoding function to a user password and to a user code. predefined file profile, and to transmit the profile code generated in the list of transmitted profile codes, so that a file having the predefined profile is transmitted only if the receiving terminal has both the password, the coding function and preset profile.
Selon un mode de réalisation de l'invention, les liaisons de communication établies entre les terminaux sont de faible portée, conformes à une norme de télécommunication sans fil.According to one embodiment of the invention, the communication links established between the terminals are of short range, conforming to a wireless telecommunication standard.
Alternativement, les liaisons de communication établies entre les terminaux sont de type point à point par l'intermédiaire du réseau Internet.
Selon un mode de réalisation de l'invention, chaque profil définit le format de différents champs d'une fiche, des règles de saisie des champs d'une fiche du profil, des règles de comparaison à appliquer à chacun des champs de la fiche pour les comparer aux champs d'une autre fiche du même profil, des formules de calcul d'un niveau de pertinence en fonction du résultat de la comparaison, et une formule de calcul d'un niveau de pertinence global en fonction des niveaux de pertinence calculés pour chacun des champs de la fiche.Alternatively, the communication links established between the terminals are of point-to-point type via the Internet network. According to an embodiment of the invention, each profile defines the format of different fields of a file, rules for entering the fields of a profile file, comparison rules to be applied to each of the fields in the file for compare them to the fields of another file of the same profile, formulas for calculating a level of relevance as a function of the result of the comparison, and a formula for calculating a level of overall relevance as a function of the calculated levels of relevance for each of the fields in the form.
L'invention concerne également un système d'échange de fiches diffusées par une pluralité de terminaux un réseau de télécommunication, chacun des terminaux comprenant des moyens pour détecter la présence d'autres terminaux situés à proximité, des moyens pour établir une communication avec un terminal détecté, et des moyens pour échanger des données avec le terminal avec lequel une communication est établie.The invention also relates to a system for exchanging files disseminated by a plurality of terminals in a telecommunications network, each of the terminals comprising means for detecting the presence of other terminals located nearby, means for establishing communication with a terminal. detected, and means for exchanging data with the terminal with which a communication is established.
Selon l'invention, les données échangées entre deux terminaux comprennent des fiches présentant chacune une structure définie dans un profil respectif connu des deux terminaux, chaque terminal comprenant en outre :According to the invention, the data exchanged between two terminals comprises files each having a structure defined in a respective profile known to the two terminals, each terminal further comprising:
- des moyens pour recevoir d'un autre terminal avec lequel une communication est établie, une liste de codes d'identification de profils,means for receiving a list of profile identification codes from another terminal with which a communication is established,
- des moyens pour transmettre à l'autre terminal un ensemble de fiches correspondant chacune à un profil identifié dans la liste de codes d'identification de profils reçue de l'autre terminal, et - des moyens de réception et de mémorisation de fiches.- Means for transmitting to the other terminal a set of cards each corresponding to a profile identified in the list of profile identification codes received from the other terminal, and - means for receiving and storing cards.
Selon un mode de réalisation de l'invention, chaque terminal comprend en outre :According to one embodiment of the invention, each terminal further comprises:
- des moyens de comparaison pour comparer chacune des fiches reçues à des fiches personnelles stockées en mémoire et dont les profils correspondent, pour déterminer si une fiche reçue coïncide avec une fiche personnelle, etcomparison means for comparing each of the received files with personal files stored in memory and whose profiles correspond, to determine whether a received file coincides with a personal file, and
- des moyens pour émettre un signal à destination de l'utilisateur du terminal si une fiche reçue coïncide avec une fiche personnelle.- Means for transmitting a signal to the user of the terminal if a received card coincides with a personal card.
Avantageusement, le réseau de télécommunication est du type sans fil.Advantageously, the telecommunications network is of the wireless type.
Alternativement, le réseau de télécommunication est du type réseau point à
point dans le réseau Internet.Alternatively, the telecommunications network is of the point-to-point network type. point in the Internet.
Selon un mode de réalisation de l'invention, le système comprend des moyens pour générer une application spécifique à au moins un profil et pour installer l'application dans des terminaux d'utilisateur.According to an embodiment of the invention, the system comprises means for generating an application specific to at least one profile and for installing the application in user terminals.
Un mode de réalisation préféré de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels : La figure 1 représente schématiquement un système d'échange d'informations point à point selon l'invention ;A preferred embodiment of the invention will be described below, by way of nonlimiting example, with reference to the appended drawings in which: FIG. 1 schematically represents a point-to-point information exchange system according to invention;
La figure 2 représente schématiquement l'architecture d'une application d'échange d'informations point à point selon l'invention, installée dans un terminal d'utilisateur montré sur la figure 1 ;FIG. 2 schematically represents the architecture of a point-to-point information exchange application according to the invention, installed in a user terminal shown in FIG. 1;
La figure 3 représente la structure d'une signature échangée entre deux terminaux d'utilisateur, selon l'invention ;FIG. 3 represents the structure of a signature exchanged between two user terminals, according to the invention;
Les figures 4a et 4b illustrent sous la forme d'un organigramme différentes étapes du procédé selon l'invention, exécutées par des terminaux d'utilisateur au cours d'un échange d'informations ;FIGS. 4a and 4b illustrate in the form of a flowchart different steps of the method according to the invention, executed by user terminals during an exchange of information;
La figure 5 illustre sous la forme d'un organigramme plus détaillé les différentes étapes qui sont exécutées par un terminal d'utilisateur lors de la réception d'informations d'un autre terminal.FIG. 5 illustrates in the form of a more detailed flowchart the various steps which are performed by a user terminal when receiving information from another terminal.
La figure 1 représente un système comprenant des terminaux d'utilisateurs 2, 3 qui peuvent être de différents types, équipés de moyens d'émission et de réception de signaux, pour pouvoir établir des liaisons de communication 1 avec d'autres terminaux et échanger des informations. Les terminaux sont avantageusement de type terminal mobile, téléphone ou assistant électronique personnel (PDA), ces terminaux étant équipés de modules d'émission / réception radio conçus pour établir une liaison point à point avec un autre terminal. Ces modules sont par exemple conformes à la norme Bluetooth. Alternativement, les terminaux peuvent également comprendre des
moyens pour se connecter à des réseaux dits poste à poste ("Peer to Peer") par l'intermédiaire du réseau Internet.FIG. 1 represents a system comprising user terminals 2, 3 which may be of different types, equipped with means for transmitting and receiving signals, in order to be able to establish communication links 1 with other terminals and to exchange information. The terminals are advantageously of the mobile terminal, telephone or personal electronic assistant (PDA) type, these terminals being equipped with radio transmission / reception modules designed to establish a point-to-point connection with another terminal. These modules, for example, comply with the Bluetooth standard. Alternatively, the terminals may also include means for connecting to so-called peer-to-peer networks ("Peer to Peer") via the Internet.
Selon l'invention, les informations échangées entre les terminaux 2 à 4 se présentent sous la forme de fiches ayant des formats prédéfinis dans des profils, chaque profil étant associé à un code d'identification. La valeur de ce code permet avantageusement de distinguer trois catégories de profils, à savoir les profils de service définissant le format de fiches de service destinées à l'application, des profils de fiches cryptées et des profils de fiches non cryptées. En outre, pour pouvoir identifier l'émetteur d'une fiche, les terminaux s'échangent également des informations d'identification regroupées dans un ensemble appelé "signature".According to the invention, the information exchanged between terminals 2 to 4 is in the form of files having predefined formats in profiles, each profile being associated with an identification code. The value of this code advantageously makes it possible to distinguish three categories of profiles, namely the service profiles defining the format of service files intended for the application, encrypted card profiles and unencrypted card profiles. In addition, in order to be able to identify the issuer of a file, the terminals also exchange identification information grouped in a set called "signature".
Chaque terminal 2 à 4 est en outre équipé d'une application dédiée à l'échange de telles fiches, telle qu'illustrée sur la figure 2. Sur cette figure, l'application d'échange de fiches 10 comprend un module générique 16 qui gère l'application et qui fait appel à des utilitaires 18 de communication pour émettre et recevoir des paquets de données, et de gestion du stockage de fiches en mémoire, et à un ou plusieurs modules spécifiques 17 adaptés à un ou plusieurs profils de fiches, ces modules spécifiques rassemblant des fonctions d'édition et de comparaison de fiches. L'application 10 a accès à un ensemble 12 de paramètres de configuration de l'application, ainsi qu'à des fiches stockées en mémoire qui sont avantageusement réparties en un ou plusieurs répertoires 13 de fiches personnelles créées par l'utilisateur, un ou plusieurs répertoires 14 de fiches glanées, c'est-à-dire reçues d'autres utilisateurs, et un répertoire 15 de paires de fiches associant une fiche personnelle et une fiche reçue qui coïncide avec la fiche personnelle.Each terminal 2 to 4 is further equipped with an application dedicated to the exchange of such files, as illustrated in FIG. 2. In this figure, the application for exchanging files 10 comprises a generic module 16 which manages the application and which uses communication utilities 18 to send and receive data packets, and management of storage of cards in memory, and one or more specific modules 17 adapted to one or more profiles of cards, these specific modules bringing together functions for editing and comparing files. The application 10 has access to a set 12 of parameters for configuring the application, as well as to files stored in memory which are advantageously distributed in one or more directories 13 of personal files created by the user, one or more directories 14 of gleaned cards, that is to say received from other users, and a directory 15 of pairs of cards associating a personal card and a received card which coincides with the personal card.
Sur la figure 3, la signature d'un utilisateur comprend :In FIG. 3, the signature of a user comprises:
- un code d'identification "ID" non modifiable, identifiant de manière unique le terminal de l'utilisateur vis-à-vis du moyen de transmission utilisé, par exemple un identifiant Bluetooth sur 6 octets,- an unmodifiable "ID" identification code, uniquely identifying the user's terminal vis-à-vis the transmission means used, for example a Bluetooth identifier on 6 bytes,
- un champ "pseudo" destiné à recevoir une chaîne de caractères telle que le nom de l'utilisateur, lui permettant d'être identifié par d'autres utilisateurs du système d'échange, par exemple sur 8 octets,
- un numéro de mode de fonctionnement de l'application, par exemple sur un octet, et- a "pseudo" field intended to receive a character string such as the name of the user, allowing it to be identified by other users of the exchange system, for example on 8 bytes, - an operating mode number of the application, for example on a byte, and
- éventuellement un identifiant "tel" de l'utilisateur vis-à-vis d'un autre moyen de télécommunication par lequel l'utilisateur peut être joint, par exemple un numéro de téléphone ou un identifiant de messagerie instantanée.- possibly an identifier "such" of the user vis-à-vis another means of telecommunication by which the user can be reached, for example a telephone number or an identifier for instant messaging.
A la suite de l'établissement d'une communication avec un autre terminal, cette signature est transmise en association avec une liste de codes d'identification de profils de fiches que l'utilisateur a en général sélectionné parmi les profils dont il dispose, ces codes étant par exemple définis sur deux octets.Following the establishment of a communication with another terminal, this signature is transmitted in association with a list of identification codes of file profiles that the user has generally selected from the profiles available to him, these codes being for example defined on two bytes.
Chaque profil définit un format de fiche comportant un ou plusieurs champs à remplir par les utilisateurs, chacun de ces champs étant associé à des attributs indiquant notamment le type du champ, un niveau de priorité, si le champ est à saisie obligatoire ou non, la taille du champ dans le cas d'un champ de type texte. Les types de champs possibles sont par exemple les suivants :Each profile defines a file format comprising one or more fields to be completed by the users, each of these fields being associated with attributes indicating in particular the type of the field, a level of priority, whether the field is compulsory or not, the size of the control in the case of a text type control. The possible field types are for example the following:
- liste à choix unique, de n éléments parmi lesquels l'utilisateur doit choisir un seul élément,- single choice list, of n elements from which the user must choose a single element,
- liste à choix multiple, de n éléments parmi lesquels l'utilisateur doit choisir un ou plusieurs éléments,- multiple choice list, of n elements from which the user must choose one or more elements,
- liste à classer ou trier, de n éléments parmi lesquels l'utilisateur doit choisir un ou plusieurs éléments auxquels il affecte un ordre de priorité, - mot de passe de longueur fixe,- list to classify or sort, of n elements from which the user must choose one or more elements to which he assigns an order of priority, - password of fixed length,
- texte de longueur maximale prédéfinie,- text of predefined maximum length,
- image,- picture,
- vidéo,- video,
Pour un champ de type liste, le profil fournit les valeurs de tous les éléments de la liste.For a list type field, the profile provides the values of all the elements of the list.
Chaque profil fait également référence à des fonctions du module générique 16 à exécuter pour remplir chaque champ d'une fiche du profil, et pour comparer champ à champ deux fiches du profil, en vue d'une comparaison de fiches pour évaluer un niveau de pertinence.
Dans le cas où le format des fiches de demande doit être différent de celui des fiches d'offre correspondantes, on prévoit des profils appairés définissant le format et les fonctions applicables aux fiches de demandes pour l'un et aux fiches d'offre pour l'autre. Dans le cas où il n'est pas nécessaire distinguer les profils des fiches de demandes et d'offres correspondantes, le profil est dit "symétrique".Each profile also refers to functions of the generic module 16 to be executed to fill each field of a profile file, and to compare field to field two profile files, with a view to comparing files to assess a level of relevance . If the format of the request sheets must be different from that of the corresponding offer sheets, paired profiles are provided defining the format and functions applicable to the request sheets for one and to the offer sheets for the 'other. If it is not necessary to distinguish the profiles from the corresponding request and offer sheets, the profile is said to be "symmetrical".
On peut prévoir parmi les utilitaires 18 un utilitaire de création de profil personnalisé, permettant à un utilisateur de créer des profils personnalisés et de le transmettre à des personnes d'un groupe d'échange qu'il veut ainsi former.It is possible to provide, among the utilities 18, a custom profile creation utility, allowing a user to create custom profiles and to transmit it to people of an exchange group that he thus wants to form.
Les terminaux 2 à 4 sont conçus pour fonctionner en mode automatique, c'est- à-dire qu'ils effectuent périodiquement des recherches d'autres terminaux avec lesquels ils peuvent échanger des fiches. Ils peuvent également fonctionner au choix de l'utilisateur en mode manuel dans lequel la recherche d'un autre terminal en vue d'établir une communication est déclenchée par l'utilisateur.Terminals 2 to 4 are designed to operate in automatic mode, that is to say that they periodically search for other terminals with which they can exchange records. They can also operate at the user's choice in manual mode in which the search for another terminal in order to establish a communication is triggered by the user.
Lorsque plus de deux terminaux tentent simultanément d'entrer en communication, on peut prévoir l'exécution par chaque terminal d'une procédure effectuant des tentatives aléatoires, en suivant une liste circulaire contenant tous les identifiants ID des terminaux détectés, candidats à l'établissement d'une connexion. Cette procédure consiste tout d'abord à effectuer une tentative de connexion avec le premier candidat de la liste des terminaux détectés, et si le candidat ne répond pas suivant un protocole prédéfini, la procédure passe au candidat suivant dans la liste, et ainsi de suite. Si une connexion est établie, le correspondant est retiré de la liste. Lorsque la fin de la liste est atteinte et si celle-ci n'est toujours pas vide (au moins une tentative de connexion n'a pas abouti) alors la procédure redémarre au premier correspondant de la liste, et ainsi de suite jusqu'à ce que la liste soit vide ou qu'un nombre maximal de tentatives ait été atteint pour chaque terminal détecté. Dans la norme Bluetooth, l'établissement de cette liste de terminaux candidats est effectué à l'aide de la procédure "inquiry".When more than two terminals simultaneously attempt to enter into communication, it is possible to provide for the execution by each terminal of a procedure carrying out random attempts, by following a circular list containing all the identifiers ID of the terminals detected, candidates for establishment of a connection. This procedure consists first of all in making an attempt to connect with the first candidate in the list of detected terminals, and if the candidate does not respond according to a predefined protocol, the procedure goes to the next candidate in the list, and so on. . If a connection is established, the correspondent is removed from the list. When the end of the list is reached and if it is still not empty (at least one connection attempt has failed) then the procedure restarts with the first correspondent in the list, and so on until that the list is empty or that a maximum number of attempts has been reached for each terminal detected. In the Bluetooth standard, the establishment of this list of candidate terminals is carried out using the "inquiry" procedure.
On peut prévoir de définir un délai Te minimum à la suite duquel un terminal tente une nouvelle connexion vers un même terminal candidat, ainsi qu'un nombre de tentatives maximal pour établir une connexion avec un même correspondant. Si ce nombre est dépassé, le correspondant en question est éliminé de la liste.
En outre, pour éviter d'entrer en communication avec un même correspondant plusieurs fois de suite, on définit également un délai Tr minimum pendant lequel un correspondant avec lequel une connexion a déjà été établie ne peut pas réintégrer la liste des terminaux détectés. Alternativement, on définit un nombre minimum de correspondants avec lesquels une communication a été établie avant de reprendre en compte un correspondant avec lequel une connexion a déjà été établie.We can plan to define a minimum delay Te after which a terminal attempts a new connection to the same candidate terminal, as well as a maximum number of attempts to establish a connection with the same correspondent. If this number is exceeded, the correspondent in question is eliminated from the list. In addition, to avoid entering into communication with the same correspondent several times in succession, a minimum delay Tr is also defined during which a correspondent with whom a connection has already been established cannot re-enter the list of detected terminals. Alternatively, a minimum number of correspondents with whom a communication has been established is defined before taking into account a correspondent with whom a connection has already been established.
Si le moyen de transmission permet des connexions simultanées, le terminal appelé répond qu'il est occupé, par exemple en envoyant une signature dans laquelle le mode est forcé à une valeur prédéfinie, par exemple 11.If the transmission means allows simultaneous connections, the called terminal responds that it is busy, for example by sending a signature in which the mode is forced to a predefined value, for example 11.
Lorsque deux terminaux d'utilisateurs entrent en communication, ils s'échangent tout d'abord un code d'application pour indiquer qu'ils veulent activer l'application d'échange de fiches. Si l'un des deux terminaux en communication ne renvoie pas ce code, ils se déconnectent ou exécutent une autre application, si une telle application est prévue. Si au contraire, ce code est reçu par chacun des deux terminaux, ils s'échangent leur signature et la liste des codes de profils de fiches qu'ils souhaitent s'échanger. Ensuite, les deux terminaux s'échangent uniquement les fiches ayant des profils communs, dits "symétriques", ou appairés, dans les deux listes de codes de profils précédemment échangées.When two user terminals enter into communication, they first exchange an application code to indicate that they want to activate the file exchange application. If one of the two terminals in communication does not return this code, they will disconnect or run another application, if such an application is provided. If, on the contrary, this code is received by each of the two terminals, they exchange their signature and the list of profile profile codes they wish to exchange. Then, the two terminals exchange only the files having common profiles, said to be "symmetrical", or paired, in the two lists of profile codes previously exchanged.
Dans ce contexte, l'application 10 est avantageusement conçue pour gérer plusieurs modes d'échange de fiches entre utilisateurs. Quel que soit le mode d'échange, les terminaux acceptent toutes les fiches transmises et effectuent ensuite un tri des fiches reçues. On prévoit ainsi les modes suivants :In this context, the application 10 is advantageously designed to manage several modes of exchanging files between users. Whatever the mode of exchange, the terminals accept all the transmitted files and then sort the received files. The following modes are thus provided:
- un premier mode de requête anonyme dans lequel le terminal de l'utilisateur ne transmet qu'une signature anonyme, c'est-à-dire dans laquelle les champs "pseudo" et "tel" sont vides, et ne transmet que des fiches glanées, c'est-à- dire reçues d'autres utilisateurs, à l'exclusion des fiches personnelles de l'utilisateur,- a first anonymous request mode in which the user's terminal transmits only an anonymous signature, that is to say in which the fields "pseudo" and "tel" are empty, and only transmits files gleaned, i.e. received from other users, excluding the user's personal files,
- un second mode d'échange dit "de gré à gré" dans lequel le terminal de l'utilisateur ne transmet sa signature complète à son interlocuteur que si ce dernier lui fournit également sa signature complète, et transmet des fiches
glanées, et si les signatures complètes ont été échangées, également des fiches personnelles,- a second mode of exchange known as "over the counter" in which the user's terminal transmits his complete signature to his interlocutor only if the latter also provides him with his complete signature, and transmits files gleaned, and if the complete signatures have been exchanged, also personal files,
- un troisième mode d'échange ciblé dans lequel le terminal de l'utilisateur transmet sa signature complète et ne transmet que des fiches personnelles, et- a third targeted exchange mode in which the user's terminal transmits his complete signature and transmits only personal files, and
- un quatrième mode d'échange global dans lequel le terminal de l'utilisateur transmet sa signature complète et toutes ses fiches personnelles et glanées.- a fourth global exchange mode in which the user's terminal transmits his complete signature and all his personal and gleaned files.
En retransmettant des fiches reçues d'autres utilisateurs, chaque terminal assure la fonction de relais vis-à-vis des autres terminaux.By retransmitting files received from other users, each terminal acts as a relay vis-à-vis other terminals.
On peut également prévoir un cinquième mode adapté à des terminaux fixes ou mobiles 4 qui n'ont pas de fiches personnelles à diffuser et donc fonctionnant uniquement comme des stations relais. Dans ce mode, le terminal envoie systématiquement sa signature complète et toutes les fiches qu'il a reçues et ayant un profil demandé par son correspondant. Dans ce mode, le terminal n'émet aucune liste de codes de profils à la suite de la signature.It is also possible to provide a fifth mode suitable for fixed or mobile terminals 4 which do not have personal files to broadcast and therefore function only as relay stations. In this mode, the terminal systematically sends its complete signature and all the files it has received and having a profile requested by its correspondent. In this mode, the terminal does not issue any list of profile codes following signature.
Les figures 4a et 4b illustrent des procédures 20, 40 qui sont exécutées respectivement par deux terminaux A et B lorsqu'ils entrent en communication.FIGS. 4a and 4b illustrate procedures 20, 40 which are executed respectively by two terminals A and B when they enter into communication.
Aux premières étapes 21 et 41 de ces procédures, les deux terminaux établissent entre eux une liaison, l'un A de ces deux terminaux prenant l'initiative de l'échange, par exemple en fonction des valeurs relatives de leurs identifiants "ID" respectifs.In the first steps 21 and 41 of these procedures, the two terminals establish a link between them, one A of these two terminals taking the initiative for the exchange, for example as a function of the relative values of their respective "ID" identifiers .
A l'étape suivante 22, le terminal A envoie un message d'introduction contenant la signature de l'utilisateur du terminal et une liste de codes de profils (sauf si le terminal est en mode 5 : station relais). Si le terminal A est en mode 1 ou 2, la signature envoyée est anonyme. Si le terminal A est en mode 1, 2 ou 3, la liste des codes de profils envoyée correspond à des profils préalablement sélectionnés par l'utilisateur. En mode 4, cette liste de codes fait référence à tous les profils gérés par l'application 10 installée dans le terminal A. Parallèlement à l'étape 22, le terminal B se met en attente de réception du message d'introduction du terminal A et reçoit ce message à l'étape 42.In the next step 22, the terminal A sends an introductory message containing the signature of the user of the terminal and a list of profile codes (unless the terminal is in mode 5: relay station). If terminal A is in mode 1 or 2, the signature sent is anonymous. If terminal A is in mode 1, 2 or 3, the list of profile codes sent corresponds to profiles previously selected by the user. In mode 4, this list of codes refers to all the profiles managed by the application 10 installed in the terminal A. In parallel with step 22, the terminal B waits for reception of the introductory message from the terminal A and receives this message in step 42.
A l'étape suivante 43, il émet son message d'introduction, tandis qu'à l'étape
23, le terminal A est en attente de ce message puis le reçoit. La signature émise par le terminal B est également anonyme si le terminal A se trouve en mode 1, le terminal B connaissant le mode du terminal A grâce à la signature reçue de ce dernier. Comme pour le terminal A, la liste des codes de profils transmis dans le message d'introduction émis par le terminal B contient les codes de profils sélectionnés par l'utilisateur du terminal B en mode 1, 2 ou 3 et tous les codes des profils gérés par le terminal B en mode 4. Comme pour le terminal A, le message d'introduction émis par le terminal B ne contient pas de liste de codes de profils si celui-ci est en mode 5.In the next step 43, it issues its introductory message, while in the step 23, terminal A is waiting for this message and then receives it. The signature sent by the terminal B is also anonymous if the terminal A is in mode 1, the terminal B knowing the mode of the terminal A thanks to the signature received from the latter. As for terminal A, the list of profile codes transmitted in the introductory message sent by terminal B contains the profile codes selected by the user of terminal B in mode 1, 2 or 3 and all the profile codes managed by terminal B in mode 4. As for terminal A, the introductory message sent by terminal B does not contain a list of profile codes if it is in mode 5.
A l'étape 24a suivante, le terminal A teste le mode du terminal B reçu dans le message d'introduction et si celui-ci est égal à 2, 3 ou 4, tandis que le mode du terminal A est égal à 2, le terminal A transmet sa signature complète au terminal B (étape 24b). A l'étape suivante 24c et si le mode du terminal A n'est pas égal à 2 ou si le mode du terminal B est égal à 1, le terminal A transmet des fiches au terminal B, tandis que le terminal B est en attente de ces fiches et les reçoit à l'étape 44.In the following step 24a, the terminal A tests the mode of the terminal B received in the introductory message and if this is equal to 2, 3 or 4, while the mode of the terminal A is equal to 2, the terminal A transmits its complete signature to terminal B (step 24b). In the next step 24c and if the mode of terminal A is not equal to 2 or if the mode of terminal B is equal to 1, terminal A transmits files to terminal B, while terminal B is on standby of these cards and receives them in step 44.
Le terminal A ne transmet que des fiches glanées dans les profils communs mentionnés dans les messages d'introduction, s'il est en mode 1 ou si le terminal A est en mode 2 et le terminal B en mode 1. Le terminal A ne transmet que ses fiches personnelles dans les profils communs s'il est en mode 3, et transmet toutes les fiches (personnelles + glanées) dans les profils communs s'il est en mode 2 et le terminal B également, ou s'il est en mode 4.Terminal A only transmits files gleaned from the common profiles mentioned in the introductory messages, if it is in mode 1 or if terminal A is in mode 2 and terminal B in mode 1. Terminal A only transmits only his personal files in the common profiles if he is in mode 3, and transmits all the files (personal + gleaned) in the common profiles if he is in mode 2 and the terminal B also, or if he is in mode 4.
A l'étape suivante 25, le terminal A se met en attente des fiches du terminal B, tandis que le terminal B transmet ses fiches à A (étape 45), en suivant les mêmes règles que le terminal A en fonction de leurs modes respectifs.In the next step 25, the terminal A waits for the files of the terminal B, while the terminal B transmits its files to A (step 45), following the same rules as the terminal A according to their respective modes .
Aux étapes suivantes respectives 26, 46, les deux terminaux A et B appliquent aux fiches reçues un premier traitement de tri pour rejeter les fiches qui ont déjà été reçues et stockées, et pour stocker les nouvelles fiches reçues dans le répertoire 14 des fiches glanées. Pour identifier qu'une fiche a déjà été reçue, l'application 10 se base sur l'identifiant de l'émetteur de la fiche et sur une information de date de création figurant en entête de toutes les fiches, cette information pouvant être codée sur 4 octets.In the following respective steps 26, 46, the two terminals A and B apply to the received cards a first sorting process to reject the cards which have already been received and stored, and to store the new cards received in the directory 14 of the gleaned cards. To identify that a file has already been received, the application 10 is based on the identifier of the issuer of the file and on a date of creation information appearing in the header of all the files, this information can be coded on 4 bytes.
Ensuite, aux étapes 27 et 47, les terminaux A et B appliquent un calcul de pertinence à chaque fiche reçue, ce calcul consistant à comparer champ à champ
chaque fiche reçue avec les fiches personnelles stockées dans le terminal et ayant le même profil. Le résultat des comparaisons champ à champ entre deux fiches sert à calculer un niveau de pertinence. Le terminal B se met ensuite en attente d'un message du terminal A (étape 48), tandis que le terminal A à l'étape 27a, compare chaque niveau de pertinence obtenu à un seuil prédéfini par l'utilisateur, les fiches reçues dont le niveau de pertinence calculé est supérieur au seuil étant considérées comme pertinentes. Si des fiches pertinentes sont trouvées, elles sont stockées avec la fiche personnelle correspondante dans le répertoire 15 prévus à cet effet. On peut prévoir en outre d'avertir l'utilisateur par exemple en déclenchant l'émission par le terminal d'un signal sonore ou visuel sur l'écran d'affichage du terminal, selon le choix de l'utilisateur défini par des paramètres de l'application.Then, in steps 27 and 47, the terminals A and B apply a relevance calculation to each file received, this calculation consisting in comparing field to field each file received with the personal files stored in the terminal and having the same profile. The result of field-to-field comparisons between two records is used to calculate a level of relevance. Terminal B then waits for a message from terminal A (step 48), while terminal A in step 27a, compares each level of relevance obtained with a threshold predefined by the user, the files received including the level of relevance calculated is greater than the threshold being considered as relevant. If relevant files are found, they are stored with the corresponding personal file in the directory 15 provided for this purpose. Provision may also be made to warn the user for example by triggering the emission by the terminal of an audible or visual signal on the display screen of the terminal, according to the choice of the user defined by parameters of the application.
Ensuite, on peut donner à l'utilisateur la possibilité de consulter les fiches reçues, jugées pertinentes.Then, we can give the user the possibility to consult the files received, deemed relevant.
Deux cas sont alors à considérer, selon que les fiches pertinentes sont ou non des fiches personnelles du terminal B.Two cases are then to be considered, depending on whether or not the relevant files are personal files from terminal B.
Si une fiche pertinente n'est pas une fiche personnelle du terminal B, on peut prévoir l'envoi automatique ou au choix de l'utilisateur d'un message court par exemple de type SMS (Short Message Service) au terminal identifié dans le champ "tel" de la signature associée à la fiche pertinente.If a relevant file is not a personal file from terminal B, we can provide for the automatic sending or at the user's choice of a short message, for example of the SMS (Short Message Service) type to the terminal identified in the field "tel" of the signature associated with the relevant file.
Au contraire, si une fiche pertinente est une fiche personnelle de l'utilisateur du terminal B, le terminal A peut transmettre, automatiquement ou au choix de l'utilisateur, au terminal B un message de demande de confirmation de pertinence (étape 28). Ce message contient une information spécifiant la nature du message, telle que la signature du terminal A dans laquelle le mode est forcé à une valeur particulière (6 par exemple), ainsi que les deux fiches (fiche personnelle et fiche reçue du terminal B). Le terminal A se met ensuite en attente d'une réponse du terminal B.On the contrary, if a relevant file is a personal file of the user of the terminal B, the terminal A can transmit, automatically or at the option of the user, to the terminal B a message requesting confirmation of relevance (step 28). This message contains information specifying the nature of the message, such as the signature of terminal A in which the mode is forced to a particular value (6 for example), as well as the two files (personal file and file received from terminal B). Terminal A then waits for a response from Terminal B.
A la réception du message de demande de confirmation de pertinence (étape 48), et selon le niveau de pertinence calculé par le terminal B pour les deux fiches spécifiées dans ce message et le résultat de la comparaison de ce niveau de pertinence au seuil de pertinence spécifié par l'utilisateur du terminal B, le terminal B émet en réponse un message confirmant ou non la pertinence des fiches (étape 49).
Le calcul de pertinence de deux fiches peut en effet varier d'un terminal à l'autre, en raison d'une part du seuil de pertinence choisis par l'utilisateur, et d'autre part, par la possibilité qu'offrent certains profils d'influencer le calcul en modifiant des coefficients de pondération associés aux différents champs.Upon receipt of the relevance confirmation request message (step 48), and according to the level of relevance calculated by the terminal B for the two files specified in this message and the result of the comparison of this level of relevance with the relevance threshold specified by the user of terminal B, terminal B sends in response a message confirming or not the relevance of the files (step 49). The relevance calculation of two files can in fact vary from one terminal to another, due on the one hand to the relevance threshold chosen by the user, and on the other hand, to the possibility offered by certain profiles. influence the calculation by modifying the weighting coefficients associated with the different fields.
Le message de confirmation de pertinence contient une information spécifiant la nature du message, par exemple la signature du terminal B dans laquelle le mode est forcé à une valeur particulière, par exemple 7 pour indiquer que la pertinence n'est pas confirmée par le terminal B, et 8 dans le cas contraire. Dans le cas où la pertinence est confirmée par le terminal B, ce message peut avantageusement contenir un mot de passe choisi aléatoirement, qui peut être utilisé par les utilisateurs des deux terminaux pour s'échanger en temps réel des messages qu'ils introduisent dans leur terminal. Les messages ainsi échangés peuvent être des fiches d'un profil crypté particulier comportant un champ de type texte libre.The relevance confirmation message contains information specifying the nature of the message, for example the signature of terminal B in which the mode is forced to a particular value, for example 7 to indicate that the relevance is not confirmed by terminal B , and 8 otherwise. In the case where the relevance is confirmed by the terminal B, this message can advantageously contain a password chosen at random, which can be used by the users of the two terminals to exchange in real time the messages which they introduce into their terminal. The messages thus exchanged can be files of a particular encrypted profile comprising a free text type field.
A l'étape 29, le terminal A reçoit ce message, et si la pertinence est confirmée (étapes 30 et 50), il peut établir un dialogue avec le terminal B par exemple au moyen du mot de passe transmis dans le message de confirmation de pertinence (étapes 31 et 51). Dans le cas contraire, les procédures 20 et 40 prennent fin.In step 29, the terminal A receives this message, and if the relevance is confirmed (steps 30 and 50), it can establish a dialogue with the terminal B for example by means of the password transmitted in the confirmation message of relevance (steps 31 and 51). Otherwise, procedures 20 and 40 end.
Si la pertinence est confirmée, les deux utilisateurs peuvent décider d'entrer en communication vocale, par exemple à l'aide de leurs terminaux respectifs s'il s'agit de téléphones mobiles.If the relevance is confirmed, the two users can decide to enter voice communication, for example using their respective terminals if they are mobile telephones.
Dans les procédures 20, 40 qui viennent d'être décrites, l'échange d'une liste de codes de profils permet d'effectuer un tri préalable (avant émission) des fiches échangées. Un tri après réception sur les fiches reçues est ensuite effectué sur la base des formats des fiches prédéfinies dans les profils. Ces dispositions permettent à la fois de limiter le volume d'informations échangées, et de simplifier le tri des fiches reçues.In the procedures 20, 40 which have just been described, the exchange of a list of profile codes makes it possible to carry out a prior sorting (before transmission) of the exchanged cards. A sorting after reception on the received cards is then carried out on the basis of the formats of the cards predefined in the profiles. These provisions make it possible both to limit the volume of information exchanged, and to simplify the sorting of the files received.
Il est à noter que le passage aux étapes 27 et 47 peut être manuel. En outre, les traitements effectués aux étapes 27 à 31 et 47 à 51 peuvent être réalisés sur un autre terminal, après téléchargement des fiches reçues et des fiches personnelles.
La figure 5 illustre plus précisément un exemple de procédure 60 d'entrée en communication et de réception d'informations d'un autre terminal, exécutée à la fois par un terminal maître et esclave.It should be noted that the passage to steps 27 and 47 can be manual. In addition, the processing carried out in steps 27 to 31 and 47 to 51 can be carried out on another terminal, after downloading of the files received and of the personal files. FIG. 5 illustrates more precisely an example of a procedure 60 for entering into communication and for receiving information from another terminal, executed by both a master and slave terminal.
A la suite de l'établissement d'une liaison avec un autre terminal, le terminal reçoit un message d'introduction. Si à l'étape 61, ce message ne contient pas le code d'introduction INTRO prédéfini correspondant à l'application d'échange de fiches, la procédure 60 prend fin, c'est-à-dire que le terminal ne répond rien. Dans le cas contraire, le code d'introduction de l'application est suivi d'une signature et éventuellement d'une liste de codes de profils si le mode contenu dans la signature reçue est inférieur à 5 (étape 62). A l'étape suivante 63, le terminal teste si au moins un des codes de profils reçus correspond à au moins un des profils attendus, ou si le mode contenu dans la signature est égal à 5 (étape 63). Si aucun code de profil reçu ne correspond à un profil attendu ou si le mode reçu n'est pas égal à 5, la procédure prend fin, éventuellement par l'échange d'un code de conclusion CC, les deux terminaux n'ayant aucun profil en commun et donc aucune fiche à échanger.Following the establishment of a link with another terminal, the terminal receives an introductory message. If in step 61, this message does not contain the predefined INTRO introduction code corresponding to the card exchange application, the procedure 60 ends, that is to say that the terminal does not respond. Otherwise, the application introduction code is followed by a signature and possibly a list of profile codes if the mode contained in the received signature is less than 5 (step 62). In the next step 63, the terminal tests whether at least one of the profile codes received corresponds to at least one of the expected profiles, or if the mode contained in the signature is equal to 5 (step 63). If no profile code received corresponds to an expected profile or if the mode received is not equal to 5, the procedure ends, possibly by the exchange of a CC conclusion code, the two terminals having no profile in common and therefore no sheet to exchange.
Si les deux terminaux en communication présentent des profils de fiches en commun, cinq cas peuvent se produire. Le terminal récepteur peut ainsi recevoir :If the two terminals in communication have common card profiles, five cases can occur. The receiving terminal can thus receive:
- soit une fiche pour le premier profil commun spécifié dans la liste des codes de profils contenue dans le message d'introduction reçu, en tenant compte de l'ordre dans lequel les codes de profils apparaissent dans la liste (étape 69),- either a file for the first common profile specified in the list of profile codes contained in the introductory message received, taking into account the order in which the profile codes appear in the list (step 69),
- soit une séquence de séparation INTER indiquant que la fiche suivante qui va être transmise a le profil commun suivant, spécifié dans la liste des codes de profils contenue dans le message d'introduction reçu (étape 64),- either an INTER separation sequence indicating that the following file which will be transmitted has the following common profile, specified in the list of profile codes contained in the introduction message received (step 64),
- soit une signature complète dans le cas où le mode 2 est actif et où le mode spécifié dans la signature reçue est supérieur à 1 (étape 65),- either a complete signature in the case where mode 2 is active and where the mode specified in the signature received is greater than 1 (step 65),
- soit un code d'introduction INTRO spécifiant dans ce cas, que la fiche suivante qui va être transmise est une fiche glanée et est donc précédée de la signature du créateur de cette fiche (étape 67),- either an INTRO introduction code specifying in this case, that the following file which will be transmitted is a gleaned file and is therefore preceded by the signature of the creator of this file (step 67),
- soit un code de conclusion CC mettant fin au dialogue dans le cas où le terminal émetteur n'a pas de fiche à émettre dans les profils communs et n'attend aucune fiche du terminal récepteur (étape 68).- Or a CC conclusion code terminating the dialogue in the case where the transmitting terminal has no file to transmit in the common profiles and does not expect any file from the receiving terminal (step 68).
Si à l'étape 64, le code séparateur LNTER est reçu, le terminal récepteur revient
à l'étape 64. Si le test de l'étape 65 est positif, le terminal récepteur reçoit la signature complète du terminal émetteur, puis passe à l'étape 69 de réception d'une fiche.If in step 64, the LNTER separator code is received, the receiving terminal returns in step 64. If the test in step 65 is positive, the receiving terminal receives the complete signature from the sending terminal, then proceeds to step 69 for receiving a file.
Si à l'étape 67, le terminal récepteur reçoit un code d'introduction, il passe aux étapes 70 à 75 de réception de fiches glanées, décrites ci-après. A la suite de la réception d'une fiche (étape 69), le terminal revient à l'étape 64.If in step 67, the receiving terminal receives an introduction code, it proceeds to steps 70 to 75 for receiving gleaned cards, described below. Following the reception of a file (step 69), the terminal returns to step 64.
Aux étapes 70 à 72, le terminal récepteur peut recevoir :In steps 70 to 72, the receiving terminal can receive:
- soit un code de séparation LNTER (étape 70) spécifiant un changement de profil et le passage au profil commun suivant dans la liste des codes de profils reçue à l'étape 62,either an LNTER separation code (step 70) specifying a change of profile and the transition to the next common profile in the list of profile codes received in step 62,
- soit un code de conclusion CC (étape 71) mettant fin au dialogue dans le cas où le terminal émetteur n'a pas de fiche glanée à émettre dans les profils communs,- either a CC conclusion code (step 71) terminating the dialogue in the event that the sending terminal does not have a gleaned sheet to send in the common profiles,
- soit une fiche glanée (étape 73) précédée de la signature (étape 72) de l'utilisateur qui a créé la fiche.- or a gleaned form (step 73) preceded by the signature (step 72) of the user who created the form.
Dans le cas de la réception d'un code séparateur LNTER à l'étape 70, le terminal exécute à nouveau cette étape au cas où il y aurait encore un code de séparation indiquant qu'il faut passer au code de profil commun suivant.In the case of reception of an LNTER separator code in step 70, the terminal performs this step again in case there is still a separation code indicating that it is necessary to go to the next common profile code.
A la suite de l'étape 73, le terminal teste à nouveau si les données reçues ensuite correspondent au code de séparation LNTER (étape 74). Ce test est exécuté à nouveau tant qu'un code de séparation est détecté. A chaque fois qu'un tel code est détecté, on passe au profil suivant dans la liste des codes de profils reçue.Following step 73, the terminal again tests whether the data subsequently received corresponds to the separation code LNTER (step 74). This test is run again as long as a separation code is detected. Each time such a code is detected, we go to the next profile in the list of profile codes received.
Si les données reçues ensuite ne contiennent pas de code séparateur INTER à l'étape 74, le terminal passe à l'étape suivante 75 où il teste si les données reçues ensuite correspondent au code d'introduction INTRO, spécifiant que les données qui suivent contiennent une signature suivie d'une ou plusieurs fiches (cas d'un changement de créateur de fiche). Si tel est le cas, le terminal revient à l'étape 72. Dans le cas contraire, le terminal passe à l'étape suivante 76 où il teste si les données reçues ensuite correspondent au code de conclusion. Si tel est le cas, la procédure prend fin. Dans le cas contraire, les données suivantes reçues contiennent une nouvelle fiche et le terminal retourne à cet effet à l'étape 73.
La réception d'une signature ne pose pas de problème étant donné que sa longueur est fixe.If the data subsequently received does not contain an INTER separator code in step 74, the terminal proceeds to the next step 75 where it tests whether the data subsequently received corresponds to the introduction code INTRO, specifying that the data which follows contains a signature followed by one or more files (in the case of a change in the creator of the file). If this is the case, the terminal returns to step 72. Otherwise, the terminal goes to the next step 76 where it tests whether the data then received corresponds to the conclusion code. If this is the case, the procedure ends. Otherwise, the following data received contains a new form and the terminal returns to this effect to step 73. Receiving a signature poses no problem since its length is fixed.
La liste des codes de profils est de longueur variable, définie par la taille du message d'introduction reçu.The list of profile codes is of variable length, defined by the size of the introductory message received.
Les fiches d'un même profil ont de préférence une longueur fixe déterminée par leur profil qui est connu lors de la réception de la fiche, grâce au fait que les fiches sont transmises dans l'ordre des codes de profils de la liste de codes de profils reçue et à la présence de codes séparateurs LNTER.The cards of the same profile preferably have a fixed length determined by their profile which is known when the card is received, thanks to the fact that the cards are transmitted in the order of the profile codes from the code list of profiles received and the presence of LNTER separator codes.
On peut toutefois prévoir des fiches de taille variable et donc avec des champs de taille variable. Dans ce cas, les champs de taille variable sont délimités grâce à un code séparateur défini à cet effet dans le profil. Le séparateur du dernier champ de la fiche ou le dernier champ de taille fixe marquant la fin de la fiche.However, we can provide cards of variable size and therefore with fields of variable size. In this case, the fields of variable size are delimited using a separator code defined for this purpose in the profile. The separator of the last field of the form or the last field of fixed size marking the end of the form.
Pour faciliter leur émission, les fiches sont rangées par profils dans les répertoires 13 et 14 de la mémoire du terminal, à raison d'un fichier par profil. Dans chaque fichier du répertoire des fiches personnelles 13, les fiches sont disposées séquentiellement sans séparateur particulier. Dans chaque fichier du répertoire des fiches glanées, les fiches sont rangées comme elles sont reçues, c'est-à-dire avec une signature suivie des fiches appartenant à la personne correspondant à la signature.To facilitate their transmission, the files are arranged by profiles in the directories 13 and 14 of the terminal memory, at the rate of one file per profile. In each file of the directory of personal files 13, the files are arranged sequentially without any particular separator. In each file in the directory of gleaned files, the files are stored as they are received, that is to say with a signature followed by the files belonging to the person corresponding to the signature.
De cette manière, aucun traitement particulier n'est nécessaire pour mettre en forme les fiches avant de les transmettre ou à la suite de leur réception.In this way, no special processing is necessary to format the files before transmitting them or after receiving them.
On peut prévoir que dans certains cas (par exemple pour les stations relais), des informations supplémentaires sont stockées avec les fiches reçues. Ces informations peuvent contenir la date et le lieu de réception de la fiche. Ainsi, une station relais mobile peut être équipée à cet effet de moyens de localisation, tels que GPS (Global Positioning System).It can be foreseen that in certain cases (for example for relay stations), additional information is stored with the received cards. This information may contain the date and place of receipt of the form. Thus, a mobile relay station can be equipped for this purpose with localization means, such as GPS (Global Positioning System).
Comme les fiches d'un même profil ont un format prédéfini et grâce à la présence de champs de type liste d'éléments prédéfinis, la création et l'édition d'une fiche ainsi que le calcul de pertinence sont relativement simples.As the files of the same profile have a predefined format and thanks to the presence of fields of list type of predefined elements, the creation and edition of a file as well as the calculation of relevance are relatively simple.
Lorsqu'il s'agit de comparer deux fiches d'un même profil, on applique par exemple les règles générales suivantes.
Pour un champ de type liste à choix unique, on applique un critère d'égalité stricte aux valeurs respectives des champs de deux fiches à comparer. Pour un champ de type mot de passe, on peut également procéder à une comparaison caractère par caractère du mot de passe, le niveau de pertinence étant déterminé en fonction du nombre de caractères égaux.When it is a question of comparing two files of the same profile, the following general rules are applied for example. For a single choice list type field, a strict equality criterion is applied to the respective values of the fields of two records to be compared. For a password type field, we can also perform a character-by-character comparison of the password, the level of relevance being determined as a function of the number of equal characters.
Pour un champ de type liste à choix multiple, le niveau de pertinence est calculé en divisant le nombre de bonnes réponses par le nombre de choix à effectuer si ce dernier est fixé. Dans le cas où le nombre de choix à effectuer est libre, le calcul de pertinence peut consister à diviser le nombre de choix identiques entre les deux champs à comparer par le plus grand nombre de choix effectués dans l'un ou l'autre des champs à comparer.For a multiple choice list type field, the level of relevance is calculated by dividing the number of correct answers by the number of choices to make if the latter is fixed. In the case where the number of choices to be made is free, the relevance calculation can consist in dividing the number of identical choices between the two fields to be compared by the greatest number of choices made in one or other of the fields. to be compared.
Pour un champ de type liste triée ou classée, le calcul de pertinence peut consister à comparer élément par élément, les valeurs respectives attribuées à chacun des éléments de la liste.For a field of sorted or classified list type, the relevance calculation can consist of comparing element by element, the respective values assigned to each of the elements of the list.
A partir des niveaux de pertinence calculés pour chaque champ du profil des fiches à comparer, on calcule ensuite un niveau de pertinence global pour la fiche consistant en une combinaison algébrique, selon le caractère éliminatoire ou non des champs, et incluant des coefficients de pondération choisis en fonction de l'importance relative que l'on souhaite attribuer à chacun des champs.From the relevance levels calculated for each field of the profile of the files to be compared, we then calculate a global level of relevance for the file consisting of an algebraic combination, depending on whether or not the fields are eliminatory, and including selected weighting coefficients depending on the relative importance that you want to assign to each of the fields.
Les formules de calcul appliquées pour calculer un niveau de pertinence pour chaque champ d'un profil et pour calculer un niveau de pertinence global pour le profil en fonction des niveaux de pertinence calculés pour les champs sont définies dans le profil, sous la forme de paramètres et de références à des fonctions (ou méthodes) du module générique 16.The calculation formulas applied to calculate a level of relevance for each field of a profile and to calculate a global level of relevance for the profile according to the levels of relevance calculated for the fields are defined in the profile, in the form of parameters and references to functions (or methods) of generic module 16.
Lorsqu'il s'agit de comparer deux fiches d'un profil, les champs à comparer entre eux peuvent être croisés.When it is a question of comparing two files of a profile, the fields to compare between them can be crossed.
Chaque application 10 est un programme exécutable par un terminal 2 à 4, et est conçue pour gérer et traiter certains profils. Par conséquent, si l'on souhaite qu'un terminal soit capable de gérer et traiter un profil supplémentaire, il est nécessaire d'installer dans le terminal une nouvelle application capable de traiter en plus ce profil supplémentaire. Ainsi, le système selon l'invention peut
comprendre un générateur d'application 5 couplé à un serveur d'application 6 à partir duquel les terminaux peuvent télécharger des applications, par exemple par l'intermédiaire d'une liaison Bluetooth, d'un réseau mobile 7 et d'un protocole de transmission de données tel que WAP, ou encore par l'intermédiaire du réseau Internet. Le serveur d'application 6 est par exemple conçu pour permettre à un utilisateur via une interface homme/machine adaptée, de définir un profil symétrique ou deux profils appairés, c'est-à-dire pour chaque profil un format de fiche, les dialogues permettant de saisir une fiche de ce format, et les méthodes de calcul de pertinence à appliquer.Each application 10 is a program executable by a terminal 2 to 4, and is designed to manage and process certain profiles. Therefore, if you want a terminal to be able to manage and process an additional profile, it is necessary to install in the terminal a new application capable of processing this additional profile in addition. Thus, the system according to the invention can comprise an application generator 5 coupled to an application server 6 from which the terminals can download applications, for example via a Bluetooth link, a mobile network 7 and a transmission protocol data such as WAP, or even via the Internet. The application server 6 is for example designed to allow a user via a suitable man / machine interface to define a symmetrical profile or two paired profiles, that is to say for each profile a form of file, the dialogues allowing you to enter a file in this format, and the relevance calculation methods to apply.
Avantageusement, on prévoit également des profils sécurisés avec mot de passe permettant aux utilisateurs de former des groupes fermés.Advantageously, provision is also made for secure profiles with password enabling users to form closed groups.
Pour les fiches ayant un tel profil sécurisé, on peut appliquer le traitement décrit ci-avant prévoyant la transmission de la fiche si le destinataire a fournit le code du profil de la fiche dans la liste des codes de profils transmise à la suite de la signature, et l'application d'un calcul de pertinence au champ de type mot de passe. Cette solution présente l'avantage d'utiliser le même processus de traitement que les autres fiches, mais n'empêche pas la transmission d'une fiche à une personne disposant du profil mais pas du mot de passe. Une fois reçue et stockée, la fiche peut alors être lue par des moyens détournés.For files with such a secure profile, the processing described above can be applied, providing for the transmission of the file if the recipient has provided the profile profile code in the list of profile codes transmitted after signing. , and the application of a relevance calculation to the password type field. This solution has the advantage of using the same processing process as the other files, but does not prevent the transmission of a file to a person with the profile but not the password. Once received and stored, the form can then be read by devious means.
Une autre solution consiste à réserver une plage entière de codes de profils aux profils sécurisés par mot de passe et à inclure le mot de passe dans le code de profil transmis pour émettre et/ou recevoir une fiche d'un profil sécurisé. A cet effet, on applique une fonction de codage produisant un code à partir du mot de passe de l'utilisateur et du code de profil, le code obtenu étant transmis en tant que code de profil dans la liste des codes de profils. Cette fonction de codage consiste par exemple en une fonction de hachage telle que MD5 qui est appliquée au mot de passe sur M octets, en utilisant le code du profil comme valeur d'initialisation, pour le transformer en un code dont la taille correspond à celle d'un code de profil et appartenant à la plage de codes réservée aux profils sécurisés. En raison du choix d'une fonction de hachage, la probabilité que deux mots de passe distincts produisent deux codes identiques est très faible. Pour réduire encore le risque qu'une fiche soit indûment transmise, on peut prévoir d'appliquer des tests supplémentaires par exemple portant sur la taille de la fiche, afin d'interrompre la communication en cas d'échec d'un de ces tests.
Un tel échange de fiches de profil sécurisé peut être avantageusement utilisé lorsque deux terminaux en communication ont détecté parmi des fiches reçues une fiche pertinente créée par l'utilisateur de l'autre terminal.
Another solution is to reserve a whole range of profile codes for profiles secured by password and to include the password in the profile code transmitted to send and / or receive a record from a secure profile. To this end, a coding function is applied which produces a code from the user's password and the profile code, the code obtained being transmitted as profile code in the list of profile codes. This coding function consists for example of a hashing function such as MD5 which is applied to the password on M bytes, using the profile code as initialization value, to transform it into a code whose size corresponds to that a profile code belonging to the code range reserved for secure profiles. Due to the choice of a hash function, the probability that two separate passwords will produce two identical codes is very low. To further reduce the risk of a file being improperly transmitted, provision may be made to apply additional tests, for example relating to the size of the file, in order to interrupt communication if one of these tests fails. Such an exchange of secure profile files can be advantageously used when two terminals in communication have detected among the files received a relevant file created by the user of the other terminal.