WO2004034295A2 - Dispositif pour gerer des informations de presence d’utilisateurs issues d’une pluralite de systemes de gestion de presence. - Google Patents
Dispositif pour gerer des informations de presence d’utilisateurs issues d’une pluralite de systemes de gestion de presence. Download PDFInfo
- Publication number
- WO2004034295A2 WO2004034295A2 PCT/FR2003/002791 FR0302791W WO2004034295A2 WO 2004034295 A2 WO2004034295 A2 WO 2004034295A2 FR 0302791 W FR0302791 W FR 0302791W WO 2004034295 A2 WO2004034295 A2 WO 2004034295A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- communication
- presence management
- function
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the present invention relates to a device for unifying and managing presence information originating from a plurality of presence management systems, within the framework of applications for connecting people through telecommunication means.
- Presence management is based on the following concepts.
- Presence is a binary state (present, absent) indicating that a user is registered with a presence management system.
- Presence information can be obtained in different ways, for example, when the user connects to a network by means of a communication terminal, when the user accesses his workplace by means of a identification badge, or even during a service access session, etc.
- This concept differs from the reachability of a user which implies the existence of at least one accessible terminal. Indeed, a user of a mobile telephone in service can be considered "present" by the mobile telephone network, even if he is unreachable at a given time, because located in an area not covered by the mobile telephone network.
- This notion of presence is also distinguished from the notion of availability of the user: a user can be present vis-à-vis the presence management system, although he does not wish to give his state of presence or to be contacted.
- the instant messaging services make it possible to signal the presence (or absence) of the user in an "automatic” way when launching (or shutdown) of the instant messaging software. Some of these services even allow user activity to be detected (keyboard and mouse operation) and can therefore transmit availability information. Most of these systems are based on proprietary technology and are mono-terminal, that is to say that the notion of the presence of a user is determined with respect to a single terminal, even if the user can be reached by through several terminals at a given time.
- Presence management systems themselves have a much wider scope. Some even offer multi-terminal and multi-network solutions.
- the Hotsip system for example offers a gateway between a GSM network and an IP network.
- Many presence management servers are based on standard protocols such as SIMPLE (SIP for Instant Messaging and Presence Leveraging Extensions) of IETF (Internet Engineering Task Force) derived from SIP (Session Initiation Protocol) or that of "Wireless Village” (protocol proposed by a consortium of mobile operators).
- Multi-terminal or multi-network systems also have the drawback of not managing a global state of presence of a user.
- the object of the present invention is to eliminate this drawback. This objective is achieved by providing a device to manage presence information of users from a plurality of presence management systems with respect to at least one respective communication means, this device being connected to presence management servers connected to digital data transmission networks for collect information on the presence of users' communication media.
- this device comprises a presence management module designed independently of the communication means of users and presence management servers, and comprising:
- storage means gathering information necessary for the presence management module to identify the users and their respective communication means, the presence information of the users, and information necessary for collecting the presence information of the latter from the servers of presence management, and
- the device according to the invention further comprises a respective adaptation module per presence management server, designed to adapt the interface to the specifics of the respective presence management server and to the specifics of a communication protocol between the communication module. presence management and the respective presence management server.
- the storage means are designed to record several identifiers of communication means for the same user, and to collect the presence information of each of these communication means.
- the application interface provides access to a service providing the presence information of all the communication means of a given user.
- the interface with the servers of presence management comprises a recording function for a means of communication of a user, with a presence management server to request the presence management server to transmit to the presence management module notifications relating to the state presence of the user's communication means, a deregistration function for canceling a registration made using the registration function, and a function designed to receive presence management servers of the relative presence change notifications to a user communication medium.
- the application interface provides access to insertion and deletion services in the storage means of a user identified by a unique identifier independent of a means of communication used by the user.
- the application interface provides access to services for inserting and deleting information relating to a means of communication of a user in the storage means.
- the application interface is designed in accordance with the specifications of the PAM Forum.
- the adaptation modules comprise at least one function for receiving notification of change of presence state of a user communication means.
- one of the adaptation modules conforms to the SIMPLE, XMPP or "Wireless Village" protocol and includes an authentication function making it possible to identify the presence management system with the respective presence management server, and registration and deregistration functions of a user communication medium.
- FIG. 1 schematically represents a multi-network or multi-terminal presence management system according to the invention
- FIG. 2 schematically shows the organization of the storage means used by the device shown in FIG. 1.
- the presence management system comprises a presence management module 1 intended to be integrated into an application 2 using a presence management function, this module being intended to be put in communication with a or several communication networks 3, 4 in particular for receiving presence states delivered by presence management servers 5, 6, 7 connected to these networks and concerning communication means 8, 8 ′, 9 of users also connected to these networks.
- the presence management module 1 is designed generically comprising standard components 11 to 14, that is to say designed independently of the application 2, of the networks 3, 4 or of the management servers. presence 5, 6, 7 with which the module 1 must operate, and specific components.
- the standard components include a central module 11 performing the actual presence management function, an application interface 12 gathering the commands which an application may need with regard to presence management, an interface 13 with the presence management servers. , and a database management system 14 making it possible to manage the content of a database 15.
- the specific components are specific adapters 16, 17, 18 of the networks and presence management servers which the user must use. application 2, and a database 15 whose structure is standard and the specific content of the application in which the module 1 is integrated.
- the application interface 12 is a standard component since it is considered that it is for the application to adapt to the specifics of this interface.
- the standard components 11 to 14 are preferably produced in the form of what is called a "white brick” which is a generic software element performing a particular function and the input and output interfaces of which are perfectly defined.
- a software brick is designed to be able to be adapted to an environment and to an application program in which it is intended to be integrated. In this way, this software brick can be integrated into a large number of applications, which brings a significant saving of time in the design and the realization of such applications, and also improves the reliability of the latter if such a brick is produced. in an industrial context, that is to say perfectly tested and proven.
- the adapters 16, 17, 18 make it possible to adapt the presence management module 1, and in particular the interface 13 to the specific features of the presence management servers which can be of very diverse types.
- the database 15 contains all the information necessary to provide the presence status of different users who can be present on the different networks 3, 4 and each use several communication terminals 8, 8 ', 9.
- this database comprises a user table 21, a communication media table 22, a table 24 of presence management servers (SGP) and a presence table 24.
- SGP presence management servers
- Each record of the table d the users 21 associate a user identifier with respect to the application in which the management module is intended to be integrated, with an identifier of the communication means, the latter identifier possibly being for example a telephone number, an email address, etc.
- the table 21 contains several records comprising the identifier of the user.
- Each record in the media table 22 includes an identifier of the communication means, as can be found in the user table 21, an identifier of the communication means seen by the presence management server 5, 6, 7 which manages the presence of the user on this means of communication, an identifier of the presence management server, and a code defining the type of means of communication, for example landline telephone, mobile telephone, electronic messaging, instant messaging, etc.
- a means of communication is uniquely defined by the pair (identifier of the means of communication seen by the presence management server, identifier of the presence management server).
- the presence management systems table 23 includes a record by presence management server 5, 6, 7 capable of being connected to the presence management module 1, each record comprising an identifier of the presence management server, the address of the server on the network 3, 4 connecting the application 2 to the presence management server 5, 6, 7, the communication port to be used by the application 2 to communicate with the server and a protocol identifier to be used for these communications.
- the presence table 24 comprises a recording by means of communication referenced in table 22, each of these records comprising an identifier of means of communication as can be found in table 22, a binary state of presence of the user of this means of communication with respect to it, a "note” field giving information about the user in relation to this means of communication, and an expiration date giving a date beyond which the presence information is no longer considered reliable.
- the presence state indicates, in the case of a terminal of the personal computer type connectable to a network or a mobile telephone, whether the terminal is connected to the network or not.
- the “note” field makes it possible in particular to store information on the availability of the user with respect to the associated means of communication, supplied by the user.
- the interface 13 with the presence management servers is designed to allow the central module 1 1 to operate with different types of presence management servers. Most servers have a specific interface, communications between the interface 13 and the servers are carried out via adapter modules 16, 17, 18.
- the interface 13 provides the following functions:
- this function sends a request to the server to register with it as recipient of relative notifications in the state of presence of the user's communication means.
- this function sends a request to the presence management server asking it to no longer send to the module 1 of notifications of change of presence state for this means of communication.
- this function receives from the presence management server changes in the state of presence of a means of communication and determines the local identifier of the means of communication to update the presence table 24 according to the presence information received.
- the application interface 12 which is in the form of an API (Application Programming Interface) is designed so as to give access to the various functions of the central module 11.
- this interface is advantageously carried out in accordance with the specifications of the PAM (Presence and Availability Management) forum, the aim of which is to define specifications of presence and availability service interfaces which allow software designers and service providers to perform services. interoperable.
- PAM Presence and Availability Management
- the application interface 12 groups the PAM functions of identity management, management of communication means, allocation of communication means to users, and obtaining presence states of the communication means and of the users. All these functions also receive, as an input parameter, authentication information "auth" from the entity which calls them, these functions being executed only if the calling entity is correctly identified.
- the identity management functions include the following functions:
- Createldentity (identity, identityTypes [], auth): this function allows the application to declare a user to allow him to use the functionality of the presence management service. To this end, this function triggers the creation of an entry in the user table 21 containing the input parameter "identity” providing the identifier of the user to be created, and the optional input parameter "identity Types” providing associated identity types (for example a user group).
- Deleteldentity (identity, auth): this function makes it possible to deregister a user, ie to delete from table 21 all the records containing the identifier "identity” passed in parameter.
- Isldentity (identity, auth): this function is used to test whether a user determined by his "identity" identifier is registered or not, that is to say if he is listed in table 21.
- the communication management functions include the following functions:
- This function allows you to add a new means of communication identified by "agentldentity” in media table 22 and issues a declaration to the corresponding presence management server 5, 6, 7 in order to receive presence notifications regarding this means of communication. It also receives as an input parameter the "identity Types" parameter containing types of associated means of communication.
- DeleteAgent (agentldentity, auth): this function makes it possible to delete a means of communication from table 22, from its identifier "agentldentity”.
- IsAgent (agentldentity, auth): this function makes it possible to test whether a means of communication determined by its identifier "agentldentity" appears or not in table 22.
- IsCapableOf (agentldentity, capability, auth): this function makes it possible to test in table 22 if the means of communication "agentldentity” has the capacity "capability", that is to say the possibility for the means to participate in communications of a given type identified by the "capability" parameter (for example SMS, WAP, instant message, ...) and for exchanging data or transmitting interesting information about its environment (for example geographic location, temperature, speed, ). This capacity information is stored in table 22.
- EnableCapabilities (agentldentity, capability [], auth): this function allows you to associate one or more "capability" capabilities with a means of communication identified by "agentldentity” in the media table 22.
- DisableCapabilities (Agentldentity, Capabilityf], auth): this function makes it possible to delete one or more capacities specified by “capability” from a means of communication identified by "agentldentity” in the media table 22.
- the functions for allocating means of communication to users include the following functions:
- AssignAgent (identity, agentldentity, auth): this function allows a user identified by “identity” to be associated with a means of communication identified by "agentldentity”, by completing the registration corresponding to the user in the users table 21 or by adding a new record to this table.
- UnassignAgent (identity, agentldentity, auth): this function makes it possible to delete a record from the table of users 21. For this purpose, this function receives as input parameter a user identifier "identity” and an identifier of means of communication "agentldentity”.
- ListAssignedAgents This function provides the list of all the records in the user table 21 relating to the same user identified by "identity”, that is to say all the means of communication registered for the same user.
- IsIdentityCapableOf (identity, capability, auth): this function makes it possible to test whether among the means of communication of a user specified in table 21, there is at least one means of communication having the capacity "capability", the capacities of the means of communication being specified in table 22. For this purpose, this function receives as input parameters a user identifier "identity” and a means of communication means "capability”.
- ListCapabilitiesOfldentity (identity, auth): this function provides the list of all the capacities of the user identified by "identity” from all the means of communication associated with the user in table 21 and of the capacities of these means of communication specified in table 22.
- ListAssignedAgentbyCapability (identity, capability, auth): this function provides the list of all the means of communication of a user identified by “identity” and having a capacity specified by the input parameter “capability”. To this end, this function searches in table 21 for all of the communication means associated with the user identified by the "identity” parameter and selects from among the communication means found, those which in table 22 have the capacity given in parameter d entry of this function.
- the functions for obtaining presence states of the communication means and of the users include the following functions.
- GetldentityPresence (identity, identityType, attribute [], auth): this function provides a list of values of the attributes specified by "attribute []” for each means of communication used by a user whose identity is “identity”.
- the attributes used by the system are the presence status and the information note which are stored in the presence table 24.
- GetAgentPresence (agentldentity, agentType, attribute [], auth): this function provides a list of attribute values for a means of communication identified by "agentldentity” and for all the attributes specified in the "attributeO" list.
- GetCapabilityPresence (agentldentity, agentType, capbility, attribute [], auth): this function provides a list of attribute values for a means of communication identified by "agentldentity”, for the means of communication specified by “capability” and for all the attributes specified in the "attribute []” list.
- the presence management server adapters 16, 17, 18 depend on the protocol used by the presence management server 5, 6, 7. This protocol is for example SIMPLE, XMPP, or even "Wireless Village".
- the adapters 16, 17, 18 comprise at least one function for receiving notifications of change in the presence state of a communication means of a user, sent by the presence management server. This function filters and retransmits the notifications received to the central module 11 via the interface 13.
- the adapter 16, 17, 18 also includes an authentication function, a registration function and a user deregistration function. In addition, it maintains a list of identifiers of all the users it treats, with the date of their last registration.
- the authentication function consists in identifying oneself with the presence management server. This function is launched when application 2 starts by providing an identifier specific to module 1.
- the registration and deregistration functions update the list of user identifiers and declare registration or deregistration to the management server. of presence.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
Pour gérer des informations de présence d’utilisateurs issues de systèmes de gestion de présence vis-à-vis de moyens de communication (8, 8’, 9) respectifs d’utilisateurs, ce dispositif comprend un module de gestion de présence (1) conçu de manière indépendante des moyens de communication d’utilisateurs et des serveurs de gestion de présence (5, 6, 7) et comportant : un module central (11) gérant les informations de présence ; une interface applicative (12) permettant d’exploiter la fonction de gestion de présence ; des moyens de mémorisation (15) rassemblant des informations pour identifier les utilisateurs et leurs moyens de communication et les informations de présence ; et une interface (13) avec les serveurs de gestion de présence pour assurer les communications entre le module central et les serveurs de gestion de présence ; ces communications étant effectuées via des modules d’adaptation (16, 17, 18), pour tenir compte des spécificités des serveurs de gestion de présence et des protocoles de communication utilisés.
Description
DISPOSITIF POUR GERER DES INFORMATIONS DE PRESENCE D'UTILISATEURS ISSUES D'UNE PLURALITE DE SYSTEMES DE GESTION DE PRESENCE.
La présente invention concerne un dispositif pour unifier et gérer des informations de présence issues d'une pluralité de systèmes de gestion de présence, dans le cadre d'applications de mise en relation de personnes par l'intermédiaire de moyens de télécommunication.
La gestion de présence repose sur les notions suivantes.
La présence est un état binaire (présent, absent) indiquant qu'un utilisateur est enregistré vis-à-vis d'un système de gestion de présence. L'information de présence peut être obtenue de différentes manières, par exemple, lors de la connexion de l'utilisateur à un réseau au moyen d'un terminal de communication, lorsque l'utilisateur accède à son lieu de travail au moyen d'un badge d'identification, ou bien encore, lors d'une session d'accès à un service, etc. Cette notion se distingue de la joignabilité d'un utilisateur qui implique l'existence d'au moins un terminal accessible. En effet, un utilisateur d'un téléphone mobile en service peut être considéré "présent" par le réseau de téléphonie mobile, même s'il est injoignable à un moment donné, car situé dans une zone non couverte par le réseau de téléphonie mobile. Cette notion de présence se distingue également de la notion de disponibilité de l'utilisateur : un utilisateur peut être présent vis-à-vis du système de gestion de présence, bien qu'il ne souhaite pas donner son état de présence ou être joint.
A l'heure actuelle, il existe des systèmes spécialement conçus pour effectuer de la gestion de présence comme les systèmes DynamicSoft, Indigo Software, et également Hotsip. Il existe également dans ce domaine des systèmes dont le rôle principal n'est pas de gérer la présence des utilisateurs, mais qui mettent en œuvre une telle fonction car nécessaire à leur application. Il s'agit par exemple des systèmes de messagerie instantanée par exemple comme Jabber, AOL, Microsoft et Yahoo, qui utilisent une fonction de gestion de présence pour indiquer aux utilisateurs avec quelles autres personnes ils peuvent dialoguer en direct à un instant donné.
Les services de messagerie instantanée permettent de signaler la présence (ou l'absence) de l'utilisateur de manière "automatique" lors du lancement (ou de
l'arrêt) du logiciel de messagerie instantanée. Certains de ces services permettent même de détecter l'activité de l'utilisateur (actionnement du clavier et de la souris) et peuvent ainsi transmettre des informations de disponibilité. La plupart de ces systèmes se basent sur une technologie propriétaire et sont mono terminal, c'est-à-dire que la notion de présence d'un utilisateur est déterminée par rapport à un seul terminal, même si l'utilisateur peut être joint par l'intermédiaire de plusieurs terminaux à un instant donné.
Les systèmes de gestion de présence proprement dits ont un champ d'application beaucoup plus large. Certains offrent même des solutions multi terminaux et multi réseaux. Le système Hotsip par exemple offre une passerelle entre un réseau GSM et un réseau IP. De nombreux serveurs de gestion de présence se basent sur des protocoles standards tels que SIMPLE (SIP for Instant Messaging and Présence Leveraging Extensions) de IETF (Internet Engineering Task Force) dérivé du protocole SIP (Session Initiation Protocol) ou celui de "Wireless Village" (protocole proposé par un consortium d'opérateurs de téléphonie mobile).
Ces systèmes ne permettent pas de gérer la présence d'un utilisateur tout au long de son activité journalière (bureau, réunion, déplacements, ...). Il est donc nécessaire de faire appel à plusieurs systèmes de gestion de présence (un par terminal ou par réseau de télécommunication) pour couvrir l'ensemble des activités ou situations d'un utilisateur. En outre, certains de ces systèmes fonctionnent de manière notificative, c'est-à-dire qu'ils notifient tout changement d'état de présence d'un utilisateur, mais ne permettent pas une interrogation directe de l'état d'un utilisateur.
Par ailleurs, il apparaît des besoins de plus en plus nombreux d'applications intégrant une fonction de gestion de présence, chacune d'elles nécessitant le développement d'éléments logiciels spécifiques à chaque système pour pouvoir fonctionner avec ces derniers, ce qui est coûteux en temps de développement et d'intégration.
Les systèmes multi terminaux ou multi réseaux présentent également l'inconvénient de ne pas gérer un état global de présence d'un utilisateur.
La présente invention a pour but de supprimer cet inconvénient. Cet objectif est atteint par la prévision d'un dispositif pour gérer des informations de présence
d'utilisateurs issues d'une pluralité de systèmes de gestion de présence vis-à-vis d'au moins un moyen de communication respectif, ce dispositif étant relié à des serveurs de gestion de présence connectés à des réseaux de transmission de données numériques pour recueillir des informations de présence des moyens de communication des utilisateurs.
Selon l'invention, ce dispositif comprend un module de gestion de présence conçu de manière indépendante des moyens de communication d'utilisateurs et des serveurs de gestion de présence, et comprenant :
- un module central assurant une fonction de gestion de présence,
- une interface applicative rassemblant des commandes nécessaires pour exploiter la fonction de gestion de présence,
- des moyens de mémorisation rassemblant des informations nécessaires au module de gestion de présence pour identifier les utilisateurs et leurs moyens de communication respectifs, les informations de présence des utilisateurs, et des informations nécessaires pour collecter les informations de présence de ces derniers auprès des serveurs de gestion de présence, et
- une interface avec les serveurs de gestion de présence pour assurer les communications entre le module central et les serveurs de gestion de présence.
Le dispositif selon l'invention comprend en outre un module d'adaptation respectif par serveur de gestion de présence, conçu pour adapter l'interface aux spécificités du serveur de gestion de présence respectif et aux spécificités d'un protocole de communication entre le module de gestion de présence et le serveur de gestion de présence respectif.
Avantageusement, les moyens de mémorisation sont conçus pour enregistrer plusieurs identifiants de moyens de communication pour un même utilisateur, et rassembler les informations de présence de chacun de ces moyens de communication.
Selon une particularité de l'invention, l'interface applicative donne accès à un service fournissant les informations de présence de tous les moyens de communication d'un utilisateur donné.
Selon une autre particularité de l'invention, l'interface avec les serveurs de
gestion de présence comprend une fonction d'enregistrement pour un moyen de communication d'un utilisateur, auprès d'un serveur de gestion de présence pour demander au serveur de gestion de présence de transmettre au module de gestion présence des notifications relatives à l'état de présence du moyen de communication de l'utilisateur, une fonction de désenregistrement pour annuler un enregistrement effectué à l'aide de la fonction d'enregistrement, et une fonction conçue pour recevoir des serveurs de gestion de présence des notifications de changement de présence relatives à un moyen de communication d'utilisateur.
Selon encore une autre particularité de l'invention, l'interface applicative donne accès à des services d'insertion et de suppression dans les moyens de mémorisation d'un utilisateur identifié par un identifiant unique indépendant d'un moyen de communication employé par l'utilisateur.
Selon encore une autre particularité de l'invention, l'interface applicative donne accès à des services d'insertion et de suppression d'informations relatives à un moyen de communication d'un utilisateur dans les moyens de mémorisation.
De préférence, l'interface applicative est conçue conformément aux spécifications du Forum PAM.
Selon une autre particularité de l'invention, les modules d'adaptation comprennent au moins une fonction de réception de notification de changement d'état de présence d'un moyen de communication d'utilisateur.
Avantageusement, l'un des modules d'adaptation est conforme au protocole SIMPLE, XMPP ou "Wireless Village" et comprend une fonction d'authentification permettant d'identifier le système de gestion de présence auprès du serveur de gestion de présence respectif, et des fonctions d'enregistrement et de désenregistrement d'un moyen de communication d'utilisateur.
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 d'une manière schématique un système de gestion de présence multi réseaux ou multi terminaux, selon l'invention ;
La figure 2 montre schématiquement l'organisation des moyens de mémorisation utilisés par le dispositif représenté sur la figure 1.
Sur la figure 1, le système de gestion de présence selon l'invention comprend un module 1 de gestion de présence destiné à être intégré dans une application 2 utilisant une fonction de gestion de présence, ce module étant destiné à être mis en communication avec un ou plusieurs réseaux de communication 3, 4 notamment pour recevoir des états de présence délivrés par des serveurs de gestion de présence 5, 6, 7 connectés à ces réseaux et concernant des moyens de communication 8, 8', 9 d'utilisateurs également connectés à ces réseaux.
Selon l'invention, le module de gestion de présence 1 est conçu de manière générique comprenant des composants standards 11 à 14, c'est-à-dire conçus indépendamment de l'application 2, des réseaux 3, 4 ou des serveurs de gestion de présence 5, 6, 7 avec lesquels le module 1 doit fonctionner, et des composants spécifiques. Les composants standards comprennent un module central 11 réalisant la fonction de gestion de présence proprement dite, une interface applicative 12 rassemblant les commandes dont peut avoir besoin une application en ce qui concerne la gestion de présence, une interface 13 avec les serveurs de gestion de présence, et un système de gestion 14 de base de données permettant de gérer le contenu d'une base de données 15. Les composants spécifiques sont des adaptateurs 16, 17, 18 spécifiques des réseaux et des serveurs de gestion de présence que doit utiliser l'application 2, et une base de données 15 dont la structure est standard et le contenu spécifique de l'application dans laquelle le module 1 est intégré.
L'interface applicative 12 est un composant standard puisque l'on considère que c'est à l'application de s'adapter aux spécificités de cette interface.
Les composants standards 11 à 14 sont réalisés de préférence sous la forme de ce que l'on appelle une "brique blanche" qui est un élément logiciel générique réalisant une fonction particulière et dont les interfaces d'entrée et de sortie sont parfaitement définies. Une telle brique logicielle est conçue pour pouvoir être adaptée à un environnement et à un programme applicatif dans lequel elle est
destinée à être intégrée. De cette manière, cette brique logicielle peut être intégrée dans un grand nombre d'applications, ce qui apporte un gain de temps important dans la conception et la réalisation de telles applications, et également améliore la fiabilité de ces dernières si une telle brique est réalisée dans un contexte industriel, c'est-à-dire parfaitement testée et éprouvée.
Les adaptateurs 16, 17, 18 permettent d'adapter le module de gestion de présence 1, et en particulier l'interface 13 aux spécificités des serveurs de gestion de présence qui peuvent être de types très divers.
La base de données 15 contient toutes les informations nécessaires pour fournir l'état de présence de différents utilisateurs qui peuvent être présents sur les différents réseaux 3, 4 et utiliser chacun plusieurs terminaux de communication 8, 8', 9.
Sur la figure 2, cette base de données comprend une table d'utilisateurs 21, une table 22 de média de communication, une table 24 de serveurs de gestion de présence (SGP) et une table de présence 24. Chaque enregistrement de la table d'utilisateurs 21 associe un identifiant d'utilisateur vis-à-vis de l'application dans laquelle le module de gestion est destiné à être intégré, avec un identifiant de moyen de communication, ce dernier identifiant pouvant être par exemple un numéro de téléphone, une adresse de messagerie électronique, etc. Ainsi, lorsqu'un utilisateur est joignable par plusieurs moyens de communication 8, 8', 9, la table 21 contient plusieurs enregistrements comportant l'identifiant de l'utilisateur.
Chaque enregistrement de la table média 22 comprend un identifiant de moyen de communication, tel que l'on peut le trouver dans la table utilisateur 21, un identifiant du moyen de communication vu par le serveur de gestion de présence 5, 6, 7 qui gère la présence de l'utilisateur sur ce moyen de communication, un identifiant de serveur de gestion de présence, et un code définissant le type de moyen de communication, par exemple téléphone fixe, téléphone mobile, messagerie électronique, messagerie instantanée, etc. Un moyen de communication est défini de façon unique par le couple (identifiant du moyen de communication vu par le serveur de gestion de présence, identifiant du serveur de gestion de présence).
La table des systèmes de gestion de présence 23 comprend un enregistrement
par serveur 5, 6, 7 de gestion de présence susceptible d'être connecté au module de gestion de présence 1, chaque enregistrement comprenant un identifiant de serveur de gestion de présence, l'adresse du serveur sur le réseau 3, 4 reliant l'application 2 au serveur de gestion de présence 5, 6, 7, le port de communication à utiliser par l'application 2 pour communiquer avec le serveur et un identifiant de protocole à employer pour ces communications.
La table de présence 24 comprend un enregistrement par moyen de communication référencé dans la table 22, chacun de ces enregistrements comprenant un identifiant de moyen de communication tel que l'on peut le trouver dans la table 22, un état binaire de présence de l'utilisateur de ce moyen de communication vis-à-vis de celui-ci, un champ "note" donnant des informations sur l'utilisateur par rapport à ce moyen de communication, et une date d'expiration donnant une date au delà de laquelle l'information de présence n'est plus considérée comme fiable. L'état de présence indique, dans le cas d'un terminal de type ordinateur personnel connectable à un réseau ou un téléphone mobile, si le terminal est connecté ou non au réseau.
Le champ "note" permet notamment de mémoriser des informations de disponibilité de l'utilisateur vis-à-vis du moyen de communication associé, fournies par l'utilisateur.
L'interface 13 avec les serveurs de gestion de présence est conçue pour permettre au module central 1 1 de fonctionner avec différents types de serveurs de gestion de présence. La plupart des serveurs ayant une interface spécifique, les communications entre l'interface 13 et les serveurs sont effectuées par l'intermédiaire des modules adaptateurs 16, 17, 18.
L'interface 13 assure les fonctions suivantes :
- une fonction d'enregistrement d'un moyen de communication utilisé par un utilisateur auprès d'un serveur de gestion de présence 5, 6, 7 : cette fonction envoie une requête au serveur pour s'inscrire auprès de lui comme destinataire de notifications relatives à l'état de présence du moyen de communication de l'utilisateur.
- une fonction de désenregistrement d'un moyen de communication auprès d'un serveur de gestion de présence : cette fonction émet une requête au serveur de gestion de présence pour lui demander de ne plus envoyer au
module 1 des notifications de changement d'état de présence pour ce moyen de communication.
- une fonction de mise à jour de l'état de présence d'un moyen de communication : cette fonction reçoit du serveur de gestion de présence des changements d'état de présence d'un moyen de communication et détermine l'identifiant local du moyen de communication pour mettre à jour la table de présence 24 en fonction des informations de présence reçues.
L'interface applicative 12 qui se présente sous la forme d'une API (Application Programming Interface) est conçue de manière à donner un accès aux différentes fonctions du module central 11. Afin de faciliter son intégration et de la rendre la plus évolutive possible, cette interface est avantageusement réalisée conformément aux spécifications du forum PAM (Présence and Availability Management) dont le but est de définir des spécifications d'interfaces de services de présence et de disponibilité qui permettent aux concepteurs de logiciels et aux fournisseurs de services de réaliser des services inter opérables.
L'interface applicative 12 regroupe les fonctions PAM de gestion d'identité, de gestion des moyens de communication, d'attribution de moyens de communication aux utilisateurs, et d'obtention d'états de présence des moyens de communication et des utilisateurs. Toutes ces fonctions reçoivent également en paramètre d'entrée des informations d'authentification "auth" de l'entité qui les appelle, ces fonctions n'étant exécutées que si l'entité appelante est correctement identifiée.
Les fonctions de gestion d'identité comprennent notamment les fonctions suivantes :
Createldentity (identity, identityTypes[], auth) : cette fonction permet à l'application de déclarer un utilisateur pour lui permettre d'utiliser les fonctionnalités du service de gestion de présence. A cet effet, cette fonction déclenche la création d'une entrée dans la table utilisateur 21 contenant le paramètre d'entrée "identity" fournissant l'identifiant de l'utilisateur à créer, et le paramètre d'entrée facultatif "identity Types" fournissant des types d'identité associés (par exemple un groupe d'utilisateurs).
Deleteldentity (identity, auth) : cette fonction permet de désenregistrer un utilisateur, c'est-à-dire de supprimer de la table 21 tous les enregistrements contenant l'identifiant "identity" passé en paramètre.
Isldentity (identity, auth) : cette fonction permet de tester si un utilisateur déterminé par son identifiant "identity" est ou non enregistré, c'est-à-dire s'il figure dans la table 21.
Les fonctions de gestion des moyens de communication regroupent les fonctions suivantes :
CreateAgent (agentldentity, identityTypes[], auth) : cette fonction permet d'ajouter un nouveau moyen de communication identifié par "agentldentity" dans la table média 22 et émet une déclaration à destination du serveur de gestion de présence 5, 6, 7 correspondant afin de recevoir les notifications de présence concernant ce moyen de communication. Elle reçoit en paramètre d'entrée également le paramètre "identity Types" contenant des types de moyens de communication associés.
DeleteAgent (agentldentity, auth) : cette fonction permet de supprimer un moyen de communication de la table 22, à partir de son identifiant "agentldentity".
IsAgent (agentldentity, auth) : cette fonction permet de tester si un moyen de communication déterminé par son identifiant "agentldentity" figure ou non dans la table 22.
IsCapableOf (agentldentity, capability, auth) : cette fonction permet de tester dans la table 22 si le moyen de communication "agentldentity" possède la capacité "capability", c'est-à-dire la possibilité pour le moyen de participer à des communications d'un type donné identifié par le paramètre "capability" (par exemple SMS, WAP, message instantané, ...) et à l'échange de données ou de transmettre des informations intéressantes sur son environnement (par exemple localisation géographique, température, vitesse, ...). Cette information de capacité est mémorisée dans la table 22.
EnableCapabilities (agentldentity, capability [], auth) : cette fonction permet d'associer une ou plusieurs capacités "capability" à un moyen de
communication identifié par "agentldentity" dans la table média 22.
DisableCapabilities (Agentldentity, Capabilityf], auth) : cette fonction permet de supprimer une ou plusieurs capacités spécifiées par "capability" à un moyen de communication identifié par "agentldentity" dans la table média 22.
ListEnabledCapabilities (agentldentity, auth) : cette fonction permet d'obtenir la liste de toutes les capacités d'un moyen de communication identifié par "agentldentity" dans la table média 22.
Les fonctions d'attribution de moyens de communication aux utilisateurs comprennent les fonctions suivantes :
AssignAgent (identity, agentldentity, auth) : cette fonction permet d'associer un utilisateur identifié par "identity" à un moyen de communication identifié par "agentldentity", en complétant l'enregistrement correspondant à l'utilisateur dans la table des utilisateurs 21 ou en ajoutant un nouvel enregistrement dans cette table.
UnassignAgent (identity, agentldentity, auth) : cette fonction permet de supprimer un enregistrement de la table des utilisateurs 21. A cet effet, cette fonction reçoit en paramètre d'entrée un identifiant d'utilisateur "identity" et un identifiant de moyen de communication "agentldentity".
ListAssignedAgents (identity, auth) : cette fonction fournit la liste de tous les enregistrements de la table utilisateurs 21 relatives à un même utilisateur identifié par "identity", c'est-à-dire tous les moyens de communication enregistrés pour un même utilisateur.
ListAssociatedldentitiesOfAgent (agentldentity, auth) : cette fonction fournit la liste de tous les enregistrements de la table utilisateurs 21 relatives à un même moyen de communication identifié par "agentldentity", c'est-à-dire tous les utilisateurs utilisant le moyen de communication.
IsIdentityCapableOf (identity, capability, auth) : cette fonction permet de tester si parmi les moyens de communication d'un utilisateur spécifiés dans la table 21, se trouve au moins un moyen de communication ayant la capacité "capability", les capacités des moyens de communication étant spécifiées dans
la table 22. A cet effet, cette fonction reçoit en paramètres d'entrée un identifiant d'utilisateur "identity" et une capacité de moyen de communication "capability".
ListCapabilitiesOfldentity (identity, auth) : cette fonction fournit la liste de toutes les capacités de l'utilisateur identifié par "identity" à partir de tous les moyens de communication associés à l'utilisateur dans la table 21 et des capacités de ces moyens de communication spécifiées dans la table 22.
ListAssignedAgentbyCapability (identity, capability, auth) : cette fonction fournit la liste de tous les moyens de communication d'un utilisateur identifié par "identity" et ayant une capacité spécifiée par le paramètre d'entrée "capability". A cet effet, cette fonction recherche dans la table 21 tous les moyens de communication associés à l'utilisateur identifié par le paramètre "identity" et sélectionne parmi les moyens de communication trouvés, ceux qui dans la table 22 ont la capacité donnée en paramètre d'entrée de cette fonction.
Les fonctions d'obtention d'états de présence des moyens de communication et des utilisateurs comprennent les fonctions suivantes.
GetldentityPresence (identity, identityType, attribute[], auth) : cette fonction fournit une liste de valeurs des attributs spécifiés par "attribute[]" pour chaque moyen de communication utilisé par un utilisateur dont l'identité est "identity". Les attributs utilisés par le système sont l'état de présence et la note d'information qui sont mémorisés dans la table de présence 24.
GetAgentPresence (agentldentity, agentType, attribute[], auth) : cette fonction fournit une liste de valeurs d'attributs pour un moyen de communication identifié par "agentldentity" et pour tous les attributs spécifiés dans la liste "attributeO".
GetCapabilityPresence (agentldentity, agentType, capbility, attribute[], auth) : cette fonction fournit une liste de valeurs d'attributs pour un moyen de communication identifié par "agentldentity", pour la capacité de moyen de communication spécifiée par "capability" et pour tous les attributs spécifiés dans la liste "attribute[]".
Les adaptateurs 16, 17, 18 de serveur de gestion de présence dépendent du
protocole employé par le serveur de gestion de présence 5, 6, 7. Ce protocole est par exemple SIMPLE, XMPP, ou encore "Wireless Village".
Les adaptateurs 16, 17, 18 comprennent au moins une fonction de réception de notifications de changement d'un état de présence d'un moyen de communication d'un utilisateur, émises par le serveur de gestion de présence. Cette fonction filtre et retransmet les notifications reçues au module central 11 par l'intermédiaire de l'interface 13.
Certains protocoles comme SIMPLE ou XMPP (Jabber) requièrent un enregistrement préalable des utilisateurs et l'authentification de l'application à qui sont notifiés les changements d'état de présence. Dans ce cas, l'adaptateur 16, 17, 18 comprend également une fonction d'authentification, une fonction d'enregistrement et une fonction de désenregistrement d'un utilisateur. En outre, il gère une liste d'identifiants de tous les utilisateurs qu'il traite, avec la date de leur dernier enregistrement.
La fonction d'authentification consiste à s'identifier auprès du serveur de gestion de présence. Cette fonction est lancée au démarrage de l'application 2 en fournissant un identifiant propre au module 1. Les fonctions d'enregistrement et de désenregistrement mettent à jour la liste des identifiants d'utilisateurs et déclarent l'enregistrement ou le désenregistrement au serveur de gestion de présence.
Claims
1. Dispositif pour gérer des informations de présence d'utilisateurs issues d'une pluralité de systèmes de gestion de présence vis-à-vis d'au moins un moyen de communication (8, 8', 9) respectif, ce dispositif étant connecté à des serveurs de gestion de présence (5, 6, 7) connectés à des réseaux de transmission de données numériques (3, 4) pour recueillir des informations de présence des moyens de communication des utilisateurs, caractérisé en ce qu'il comprend un module de gestion de présence (1) conçu de manière indépendante des moyens de communication (8, 8', 9) d'utilisateurs et des serveurs de gestion de présence (5, 6, 7), et comprenant :
- un module central (11) comprenant des moyens pour gérer des informations de présence,
- une interface applicative (12) rassemblant des commandes d'exploitation des moyens de gestion d'informations de présence,
- des moyens de mémorisation (15) rassemblant des informations nécessaires au module de gestion de présence (1) pour identifier les utilisateurs et leurs moyens de communication (8, 8', 9) respectifs, les informations de présence des utilisateurs, et des informations nécessaires pour collecter les informations de présence de ces derniers auprès des serveurs de gestion de présence (5, 6, 7), et
- une interface (13) pour gérer les communications entre le module central (11) et les serveurs de gestion de présence, le dispositif de gestion d'informations de présence comprenant en outre des moyens (16, 17, 18) pour adapter l'interface (13) aux spécificités de chacun des serveurs de gestion de présence et aux spécificités de protocoles de communication utilisés par les serveurs de gestion de présence.
2. Dispositif selon la revendication 1, caractérisé en ce que les moyens de mémorisation (15) sont conçus pour enregistrer plusieurs identifiants de moyens de communication (8, 8', 9) pour un même utilisateur, et rassembler les informations de présence de chacun de ces moyens de communication.
3. Dispositif selon la revendication 1 ou 2, caractérisé en ce que l'interface applicative (12) donne accès à un service fournissant les informations de présence de tous les moyens de communication (8, 8', 9) d'un utilisateur donné.
4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que l'interface (13) avec les serveurs de gestion de présence (5, 6, 7) comprend une fonction d'enregistrement pour un moyen de communication (8, 8', 9) d'un utilisateur, auprès d'un serveur de gestion de présence pour demander au serveur de gestion de présence de transmettre au module de gestion présence (1) des notifications relatives à l'état de présence du moyen de communication de l'utilisateur, une fonction de désenregistrement pour annuler un enregistrement effectué à l'aide de la fonction d'enregistrement, et une fonction conçue pour recevoir des serveurs de gestion de présence des notifications de changement de présence relatives à un moyen de communication d'utilisateur.
5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que l'interface applicative (12) donne accès à des services d'insertion et de suppression dans les moyens de mémorisation (15) d'un utilisateur identifié par un identifiant unique indépendant d'un moyen de communication (8, 8', 9) employé par l'utilisateur.
6. Dispositif selon l'une des revendications 1 à 5, caractérisé en ce que l'interface applicative (12) donne accès à des services d'insertion et de suppression d'informations relatives à un moyen de communication (8, 8', 9) d'un utilisateur dans les moyens de mémorisation (15).
7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce que l'interface applicative (12) est conçue conformément aux spécifications du Forum PAM.
8. Dispositif selon l'une des revendications 1 à 7, caractérisé en ce que les moyens d'adaptation (16, 17, 18) comprennent au moins une fonction de réception de notification de changement d'état de présence d'un moyen de communication (8, 8', 9) d'utilisateur.
9. Dispositif selon l'une des revendications 1 à 8, caractérisé en ce que l'un des moyens d'adaptation (16, 17, 18) est conforme au protocole SIMPLE, XMPP ou de "Wireless Village" et comprend une fonction d'authentification permettant d'identifier le système de gestion de présence auprès du serveur de gestion de présence respectif, et des fonctions d'enregistrement et de désenregistrement d'un moyen de communication (8, 8', 9) d'utilisateur.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR02/12471 | 2002-10-08 | ||
FR0212471A FR2845500B1 (fr) | 2002-10-08 | 2002-10-08 | Dispositif pour gerer des informations de presence d'utilisateurs issue d'une pluralite de systemes de gestion de presence |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004034295A2 true WO2004034295A2 (fr) | 2004-04-22 |
WO2004034295A3 WO2004034295A3 (fr) | 2004-05-27 |
Family
ID=32011497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2003/002791 WO2004034295A2 (fr) | 2002-10-08 | 2003-09-23 | Dispositif pour gerer des informations de presence d’utilisateurs issues d’une pluralite de systemes de gestion de presence. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR2845500B1 (fr) |
WO (1) | WO2004034295A2 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0418411D0 (en) * | 2004-08-18 | 2004-09-22 | King S College London | A method of discovering contact means for network access devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001045368A2 (fr) * | 1999-12-14 | 2001-06-21 | Nortel Networks Limited | Gregats dans un systeme de gestion de presence |
WO2002063486A1 (fr) * | 2001-02-05 | 2002-08-15 | Personity, Inc. | Procede et dispositif d'affichage d'informations de contact dans un systeme de gestion de presence et de disponibilite |
-
2002
- 2002-10-08 FR FR0212471A patent/FR2845500B1/fr not_active Expired - Fee Related
-
2003
- 2003-09-23 WO PCT/FR2003/002791 patent/WO2004034295A2/fr active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001045368A2 (fr) * | 1999-12-14 | 2001-06-21 | Nortel Networks Limited | Gregats dans un systeme de gestion de presence |
WO2002063486A1 (fr) * | 2001-02-05 | 2002-08-15 | Personity, Inc. | Procede et dispositif d'affichage d'informations de contact dans un systeme de gestion de presence et de disponibilite |
Non-Patent Citations (2)
Title |
---|
APPELZELLER G ET AL: "The Mobile People Architecture" TECHNICAL REPORT CSL-TR-00000, COMPUTER SYSTEMS LABORATORY, STANFORD UNIVERSITY, janvier 1999 (1999-01), XP002173449 California Extrait de l'Internet: <URL:http://mpa.stanford.edu/publications/ CSL-TR-99-777.ps> [extrait le 2001-07-30] * |
ROSENBERG J ET AL: "SIP For Presence" INTERNET ENGINEERING TASK FORCE, BELL LABORATORIES, 13 novembre 1998 (1998-11-13), XP002173451 Columbia, U Extrait de l'Internet: <URL:http://www.alternic.org/drafts/drafts -r-s/draft-rosenberg-sip-pip-00.txt> [extrait le 2001-07-30] * |
Also Published As
Publication number | Publication date |
---|---|
FR2845500B1 (fr) | 2005-07-08 |
FR2845500A1 (fr) | 2004-04-09 |
WO2004034295A3 (fr) | 2004-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2013010582A (es) | Mensajeria para clientes a base de notificacion. | |
EP0928534A1 (fr) | Procede et systeme de communication interactive entre deux appareils telephoniques via le reseau internet | |
WO2001082575A1 (fr) | Messagerie anonyme au moyen de telephones mobiles | |
EP2504986A1 (fr) | Sélection d'un mode de communication | |
EP2002674A2 (fr) | Procede et systeme de transmission d'un message instantane vers un terminal | |
EP2169911A1 (fr) | Procédé permettant la communication interopérable entre communautés réelles et virtuelles | |
US20170006445A1 (en) | Systems, Methods, Circuits and Associated Software for Managing Communications from a Mobile Device to Other Parties and Retrieving and Managing Data Stored on the Mobile Device and Associated with the Communications to Other Parties | |
WO2013076420A1 (fr) | Procede de gestion de la mise en relation numerique | |
FR3108819A1 (fr) | Procédé et dispositif de gestion des appels entrants dans un terminal de communication. | |
EP1935149B1 (fr) | Procede et systeme de notification de reception de messages asynchrones | |
WO2004034295A2 (fr) | Dispositif pour gerer des informations de presence d’utilisateurs issues d’une pluralite de systemes de gestion de presence. | |
EP1744508A2 (fr) | Procédé de mise en relation interpersonnelle | |
EP3682623A1 (fr) | Procede de mise en liaison telephonique d'un terminal de communication a numero multiple | |
EP1974534B1 (fr) | Procédé et dispositif de gestion des communications personnelles d'au moins un utilisateur | |
EP2843923A2 (fr) | Dispositif et procédé d'enrichissement d'une communication | |
FR3071993A1 (fr) | Procede de gestion d'un echec d'etablissement d'une communication entre un premier et un second terminal | |
EP1330752A1 (fr) | Procede et systeme de gestion de l'accessibilite de l'adresse electronique d'un terminal local par un ou plusieurs terminaux distants | |
US20190281423A1 (en) | Systems, methods, circuits and associated software for managing communications from a mobile device to other parties and retrieving and managing data stored on the mobile device and associated with the communications to other parties | |
BE1019612A3 (fr) | Systeme pour l'obtention d'une carte de visite electronique. | |
EP1820328B1 (fr) | Procédé et système de journal unifié des appels | |
FR2857479A1 (fr) | Dispositif et procede de traitement de donnees de presence | |
EP3337208A1 (fr) | Procédé et dispositif de transmission d'un message | |
FR2869178A1 (fr) | Systeme de filtrage d'interactions sur des reseaux de communication mobiles ou fixes | |
FR2848693A1 (fr) | Systeme de transmission automatique d'informations | |
FR3007927A1 (fr) | Depot et consultation de messages par des utilisateurs de reseaux sociaux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
122 | Ep: pct application non-entry in european phase |