CA2445768C - Mobile instant messaging and presence service - Google Patents

Mobile instant messaging and presence service Download PDF

Info

Publication number
CA2445768C
CA2445768C CA2445768A CA2445768A CA2445768C CA 2445768 C CA2445768 C CA 2445768C CA 2445768 A CA2445768 A CA 2445768A CA 2445768 A CA2445768 A CA 2445768A CA 2445768 C CA2445768 C CA 2445768C
Authority
CA
Canada
Prior art keywords
attribute
client device
qualifier
server
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA2445768A
Other languages
French (fr)
Other versions
CA2445768A1 (en
Inventor
Ari Salomaeki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FI20012158A external-priority patent/FI114429B/en
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CA2445768A1 publication Critical patent/CA2445768A1/en
Application granted granted Critical
Publication of CA2445768C publication Critical patent/CA2445768C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1091Recording time for administrative or management purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/125Finance or payroll
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/186Processing of subscriber group data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Abstract

The invention relates to mobile messaging and presence services. According to one aspect of the invention, a client device of the mobile messaging system adds a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute. A client device receiving a presence attribute processes the received presence attribute according to the qualifier parameters in said received attribute. Another aspect of the invention is the showing of how to assemble and store presence items with names, attributes and values in a single presence set within a role having an associated authorization group of members that have the right to subscribe to the whole or part of the presence set of the same role.

Description

Mobile Instant Messaging and Presence Service Background of the Invention The present invention relates to messaging in mobile telecommunica-tion systems and more particularly to presence attributes in a mobile instant messaging and presence service.
An instant messaging service provides the end users with a means for fast, interactive, mainly text-based communication. The utility of instant mes-saging is greatly enhanced by the addition of a service that will keep track of the online status and availability of your chat partners or "friends"; as well as notify you of changes to their status or availability. This type of service is called a "presence service". In general, presence can be considered containing various dynamic information on a user or client connected to the instant messaging ser-vice via various means. Examples of this information is reachability, availability and location of the user for communication. The combination of instant messag-ing and presence services is called an instant messaging and presence service (IMPS). This kind of service has been available for wireline Internet users but the interconnectivity between wireline users and mobile users has been missing.
Wireless Village initiative has been established to define specifica-tions for mobile instant messaging and presence service. The Wireless Village Instant Messaging and Presence Service (IMPS) includes four primary features:
presence, instant messaging, groups and shared content. Shared content allows users and operators to setup their own storage area where they can post pic-tures, music and other multimedia content while enabling the sharing with other individuals and groups in an IM or chat session. The Wireless Village initiative enables both operators and end-users to create and manage groups. Presence is the key enabling technology for the Wireless Village initiative. In the existing Internet-based instant messaging service, the presence values are usually very simple, such as user is active, absent, not willing to communicate etc. These values are selected from the predefined sets of values. A white paper has been published on the Wireless Village mobile IMPS solution: "Wireless Village, The Mobile IMPS Initiative: White Pape?', dated on 26th April 2001. The existing mo-bile terminal can be considered a personal tool which reflects the personal status more accurately than a desktop computer. Considering the wide range of information that may be obtained from the user and the mobile terminal, the an-ticipation of the presence information domain is very difficult. Thus a mechanism
2 should be developed to enable easy usage and addition of new types of presence information.
Disclosure of Invention An object of the invention is to provide a solution for creation of new presence attributes besides already determined presence attributes.
Another object of the invention is to show how to organize and store presence attributes for use by clients.
According to a first aspect of the invention, a client device of a mobile messaging system adds a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute. A client device receiving a presence attribute processes the received presence attribute according to the qualifier parameters in the received attribute. A presence attribute is a collection of data describing presence information on a certain user and/or a client device, the presence information intended for other users. A presence attribute may also contain information for machine-to-machine communication between the client devices.
In further accord with the first aspect of the present invention, a mobile messaging system comprising at least one client device and a server, wherein the client device comprises means for transmitting presence information as presence attributes to the server and means for receiving presence attributes from the server, the presence information being categorized by a plurality of presence attribute types identified by attribute name, and the server comprises means for maintaining presence information based on the received presence attributes, wherein the client device comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and the client device comprises means for processing a received presence attribute according to the qualifier parameters in the received attribute.
According to a second aspect of the invention, the client device composes presence information attributes that are identified by a combination of an authorizer, an attribute name and a qualifier, wherein the authorizer specifies the body responsible for maintaining the attribute and the qualifier specifies the use of the attribute. When receiving a presence attribute, the server and the client device search for already stored attributes containing same identifiers as the received attribute. An attribute already stored is replaced with the received attribute if the combination of identifiers of the received attribute is identical to that of the already stored attribute. Otherwise the received attribute is added without replacing
3 any previous attribute.
In further accord with the second aspect of the present invention, a mobile messaging system comprising at least one client device and a server, wherein the client device comprises means for transmitting presence information as presence attributes to the server and means for receiving presence attributes from the server, the presence information being categorized by a plurality of presence attribute types identified by attribute name, and the server comprises means for maintaining presence Information based on received presence attributes, wherein the client device comprises means for composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, the server comprises means for searching for an already stored attribute containing same identifiers as a received attribute and means for replacing the already stored attribute with the received attribute if the combination of identifiers of the received attribute is identical to that of the already stored attribute or otherwise adding the received attribute, and the client device comprises means searching for an already stored attribute containing same identifiers as a received attribute and means for replacing the already stored attribute with the received attribute if the combination of identifiers of the received attribute is identical to that of the already stored attribute or otherwise adding the received attribute.
In further accord with the first and second aspects of the present invention, the system is characterized in that the client device comprises means for specifying in the qualifier the presentation settings of the attribute, and the client device comprises means for presenting the received attribute on the basis of the qualifier.
In still further accord with the first and second aspects of the present invention, the system Is characterized In that the client device comprises means for specifying in the qualifier the application to which the attribute should be addressed, and the client device comprises means for addressing the received attribute to the application indicated by the qualifier.
Still further in accord with the first and second aspects of the invention, the system is characterized in that the server comprises means for determining on the basis of the qualifier whether to send the attribute to one or more client devices.
According further to the first and second aspects of the invention, the
4 system is characterised in that the presence attributes received from the client device by the server are stored in a database according to a publisher user in association with a presence group.
In accordance still further to the first and second- aspects of the invention, the system is characterized in that each presence attribute is part of an item including an attribute name element and an attribute value. The name element may include an authority string Indicative of an authority responsible for keeping the name element and attribute value unique.
According still further to the first and second aspects of the present invention, the system is characterized in that a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
In still further accord with the first and second aspects of present invention, a mobile messaging system is characterized in that a user of the client device as a publisher Is able to use the client device or more than one client device in more than one publisher role.
According to a third aspect of the present invention, a mobile client device for mobile messaging system, the client device comprising means for transmitting presence information as presence attributes to a server, the presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein the client device further comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute-According to a fourth aspect of the present invention, a mobile client device for mobile messaging system, the client device comprising means for receiving presence attributes from a server, the presence information being categorized by, plurality of presence attribute types identified by attribute name wherein the client device further comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and means for processing a received presence attribute according to the qualifier parameters in the received attribute.
According to a fifth aspect of the present invention, a mobile client device for mobile messaging system, the client device comprising means for transmitting presence information as presence attributes to the server, and means for receiving presence attributes from the server, the presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein the client device further comprises means for composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, means for searching for an already stored attribute containing same identifiers as a received attribute, and means for replacing the already stored attribute with the received attribute if the combination of identifiers of the received attribute is identical to that of the already stored attribute or otherwise adding the received attribute.
According further to the third, fourth and fifth aspects of the present invention, a mobile client device is characterized in that each presence attribute is part of an item including an attribute name element and an attribute value.
The name element may include an authority string indicative of an authority responsible for keeping the name element and attribute value unique.
In further accord with the third, fourth and fifth aspects of the present invention, the mobile client device is characterized in that a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
In still further accord with the third, fourth and fifth aspects of the present invention, the mobile client device is characterized in that a user of the mobile client device as a publisher is able to use the client device or more than one. client device in more than one publisher role.
According to a sixth aspect of the present invention, a server for a mobile messaging system, the server comprising means for maintaining presence information based on received presence attributes, the presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein the server further comprises means for searching for an already stored attribute containing same Identifiers as a received attribute, and means for replacing the already stored attribute with the received attribute if the combination of identifiers of the received attribute is identical to that of the already stored attribute or otherwise adding the received attribute.
In further accord with the sixth aspect of the present invention, the server is characterized in that the presence attributes received from a client device by the server is stored in a database according to a publisher user in association with a presence group.
In still further accord with the sixth aspect of the present invention, the server is characterized in that each presence attribute is part of an item including an attribute name element and an attribute value. The name element may include an authority string indicative of an authority responsible for keeping the name element and attribute value unique.
Still further in accord with the sixth aspect of the present invention, the server is characterized in that a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group. A user of a client device in communication with the server acting as a publisher is able to use the client device or more than one client device in more than one publisher role.
According to a seventh aspect of the present invention, a presence system, comprises at least one physical device having at least one presence client for enabling a presence user to interact with the system as a publisher or a subscriber, and a server for maintaining valid values of presence sets of attributes of a publisher for access by subscribers according to associated presence groups.
In further accord with the seventh aspect of the present invention, a presence system is characterized in that each attribute is part of an item including an attribute name element and an attribute value. The name element may include a qualifier having information related to attribute usage. The name element may include an authority string indicative of an authority responsible for keeping the name element and attribute value unique.
In still further accord with the seventh aspect of the present invention, the presence system is characterized in that a presence set comprises one or more attributes belonging to a single publisher role in association with a single presence group. The user interacting with the system as a publisher is able to use the presence client or more than one presence client in more than one publisher role. Each attribute may be part of an item including an attribute name element an attribute value.
Still further in accord with the seventh aspect of the present invention, the at least one physical device is a mobile physical device.
According to an eighth aspect of the present invention, a computer-readable medium embodying a computer program for storage in a physical device, wherein the computer program is a presence client program comprising code for enabling a presence user to interact with a presence system as a publisher of at least one presence set of attributes for access by one or more subscribers according to an associated at least one presence group.
In further accord with the eighth aspect of the present invention, the presence client program is characterized in that the program enables a presence user to interact with the presence system as a subscriber to at least one set of attributes associated with a presence group in which the subscriber is a member.
In still further accord with the eighth aspect of the present invention, the presence client program is characterized in that each attribute is part of an item including an attribute name element and an attribute value. The name element may include a qualifier having information related to attribute usage.
According further to the eighth aspect of the present invention, the presence client program is characterized in that the name element includes an authority string indicative of an authority responsible for keeping the name element and attribute value unique.
In accordance still further with the eighth aspect of the present invention, the presence client program is characterized in that a presence set comprises one or more attributes belonging to a single publisher role in association with a single presence group. A user interacting with the system as a publisher is able to use the presence client program or more than one presence client program In more than one publisher role. Each attribute may part of an item including an attribute name element and an attribute value.
Still further in accord with the eighth aspect of the present invention, the presence client program is characterized in that the physical device is a mobile physical device.
According to a ninth aspect of the present invention, a physical device having a computer program embodied in a computer-readable medium stored therein, is characterized in that the program is a presence client program according to the eighth aspect of the present invention.
According to a tenth aspect of the present invention, a computer-readable medium embodying a data structure for storage in a physical device, wherein the data structure is a presence database for storing valid values of presence sets of attributes of one or more publishers for access by subscribers according to presence groups associated with said presence sets.
In further accord with the tenth aspect of the present invention, a data structure is characterized in that each attribute is part of an item including an attribute name element and an attribute value. The name element may include a qualifier having information related to attribute usage. The name element may include an authority string indicative of an authority responsible for keeping the name element and attribute value unique.

In still further accord with the tenth aspect of the present invention, a presence set comprises one or more attributes belonging to a single publisher role in association with a single presence group.
Further still in accord with the tenth aspect of the present invention, the data structure is characterized in that a user Interacting with the physical device as a publisher is able to use the data structure to publish more than one publisher role, each role having distinct presence sets in association with distinct presence groups.
In accordance still further with the tenth aspect of the present invention, a data structure is characterized in that the physical device is a mobile device.
According to an eleventh aspect of the present invention, a physical device having a data structure embodied in a computer-readable medium stored therein, is characterized in that the data structure is a presence database according to the tenth aspect of the present invention.
According to a twelfth aspect of the present invention, an apparatus comprising means configured to transmit presence information as presence attributes to a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, and means configured to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
According to a thirteenth aspect of the present invention, an apparatus comprising means configured to receive presence information from a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and means configured to process a received presence attribute according to the qualifier parameters in said received attribute.
According to a fourteenth as aspect of the present invention, an apparatus comprising moans configured to transmit presence information as presence attributes to a server, means configured to receive presence information from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to compose a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, means configured to search for an already stored attribute containing the 8a same identifiers as a received attribute, and means configured to replace said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.
According to a fifteenth aspect of the present invention, an apparatus comprising means configured to maintain presence information based on received presence attributes, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to receive a presence attribute comprising a qualifier, the qualifier comprising one or more parameters specifying the use of the attribute, and means configured to process a received presence attribute according to the qualifier parameters in said received attribute.
According to a sixteenth aspect of the present invention, a method comprising transmitting presence information as presence attributes to a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, and adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
According to a seventeenth aspect of the present invention, a method comprising receiving presence information from a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and processing a received presence attribute according to the qualifier parameters in said received attribute.
According to an eighteenth aspect of the present invention, a method comprising transmitting presence information as presence attributes to a server, receiving presence information from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, searching for an already stored attribute containing the same identifiers as a received attribute, and replacing said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.

8b According to a nineteenth aspect of the present invention, a method comprising maintaining presence information based on received presence attributes, said presence information being categorized by a plurality of presence attribute types identified by attribute name, receiving a presence attribute comprising a qualifier, the qualifier comprising one or more parameters specifying the use of the attribute, and processing a received presence attribute according to the qualifier parameters in said received attribute.
According to a twentieth aspect of the present invention, a computer-readable medium embodying a computer program for storage in a physical device, said computer program comprising computer program code for causing the physical device to transmit presence information as presence attributes, the presence information being categorized by a plurality of presence attributes identified by attribute name, and to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
Advantages of the invention are that it is possible to adjust predetermined presence attributes by adding a qualifier. The qualifier may be used to add a new attribute (as an attribute with a qualifier can be uniquely identified, i.e.
functionally separated from an attribute with same attribute name but without qualifier). Thus e.g. users or application developers can easily determine new presence attributes best fitting their needs or describing their current actual status without being limited to the predetermined types. The use of the qualifier brings another advantage as it enables the sender of presence information (the owner) to further specify how the presence information is to be used in the receiving client device.
In one embodiment of the invention the application to which the attribute should be addressed is specified in the qualifier. The received attribute is addressed to the application indicated in the qualifier. The further advantage of this embodiment is that the sending client device may define the used applica-tion and thereby use qualifier to direct certain presence information to a certain application.
Another advantage of the invention is the showing of how to assem-ble presence items with names, attributes and values in a single presence set within a role having an associated authorization group of members that have the right to subscribe to the whole or part of the presence set of the same role.

Brief Description of the Drawings In the following, the invention will be described in further detail by means of preferred embodiments and with reference to the accompanying draw-ings, in which Figure 1 is a block diagram illustrating a mobile IMPS system;
Figure 2 is a signalling diagram illustrating the transmission of pres-ence attributes; and Figure 3 is a signalling diagram illustrating the usage of a qualifier.
Figure 4 shows one embodiment of a mobile messaging system comprising at least one client device and a server, according to the present in-vention.
Figure 5 shows another embodiment of a mobile messaging system comprising at least one client device and a server, according to the present in-vention.
Figure 6 shows a presence framework, according to the present in-vention.
Figure 7 shows a presence database, according to the present inven-tion.
Figure 8 shows flow diagrams of unsubscribed presence, according to the present invention.
Figure 9 shows subscribed delivery of presence information, accord-ing to the present invention.
Figure 10 shows management of user groups and presence sets, ac-cording to the present invention.

Best Mode for Carrying out the Invention Figure 1 illustrates a mobile IMPS system. A number of mobile clients (MC) can be connected via a mobile network MNW and possibly one or more in-termediary networks ONW to an IMPS server S. Typically the Internet is used as the intermediary network, also non-mobile clients C may be served by the IMPS
system. The IMPS server S can be, as regards presence services, functionally divided into server elements: A publisher server PS that is the home service element for a publishing client owning the presence information and a sub-
5 scriber server SS that is the home for a subscribing or requesting client.
Thus the client MC is served by both servers; the MC updates its presence informa-tion to the PS and acts as a publishing client and on the other hand requests and receives presence information relating to other clients as presence attrib-utes from the subscriber server SS. The server PS maintains presence data and 10 manages its distribution based on the users' publishing preferences relating to presence information. The functions of SS and PS may be carried out on one physical server device or distributed to a plurality of server devices.
It should be noted that the present description focuses on presence related service capabilities. Other important mobile IMPS service capabilities are messaging capabilities, user group management capabilities, content manage-ment capabilities, subscriber management capabilities, and client capabilities.
Mobile IMPS services are created by using these service capabilities. For in-stance, a client MC may belong to several user groups and the server S man-ages the group memberships, handles instant messaging and delivers presence information between the members of the group. One important role of the server is also to control information flow; the server may have filters on the basis of user preferences defining e.g. what presence or other information can be deliv-ered to members of a group `Friends', to members of a group `Work colleagues' or publicly to any client.
Various transport layer protocols may be used and the IP protocol is typically used to provide a network layer service. Different lower layer transmis-sion protocols may be used. The mobile network MNW can be any wireless network, such as a cellular network supporting the GSM service, a network sup-porting also the GPRS service (General Packet Radio Service), a third-3o generation mobile communication network, such as a UMTS network (Universal Mobile Telecommunications System), a wireless local area network WLAN or a private network. Also short range infrared or radio connections, such as a Blue-tooth TM communication, may be used as a part of the communications path be-tween the MC and the server S. The mobile client device MC may be e.g. a mo-bile station, a PDA device or a laptop computer comprising or being connected to a wireless modem. The mobile IMPS messages may be transferred using a circuit-switched data call, a packet-switched data transmission context, messag-ing services such as SMS or MMS (Multimedia Messaging Service), for-instance. Figure 2 illustrates the usage of presence attributes. As the mobile cli-ent MC has determined 201 one or more presence attributes to be published, it updates 202 presence attributes to the publisher server PS, i.e. publishes one or more presence attributes. The determination 201 of presence attributes can be done when the client is establishing a logical mobile IMPS session with the mo-bile IMPS server or automatically or by a user initiative when some presence in-formation has changed. For instance, phase 201 may be initiated automatically at a pre-determined time, data, or by a change of user profile at the mobile client MC. When a client MC (A) accesses mobile IMPS services of a server SS, it may request 203 presence information on another client (B). The subscriber server SS requests 204 this information from the publisher server PS (of client A). The PS sends 205 one or more presence attributes to SS, if this is allowed by the publication preferences (of client B). It is possible that the publication preferences set by client B prevent some part of the requested information from being sent (to client A or in general). The SS may also automatically request presence information on the basis of the user preferences (of A) when the client establishes a logical connection with the service of the SS. The SS forwards the presence attributes to the receiving client MC (A).
The subscriber server SS (and the publication server PS) typically send the client-originated presence attributes towards the client unmodified.
However, there may exist a content adaptation mechanism implemented in the server PS. Content adaptation addresses the issue of modifying a presence at-tribute in such a way that it matches the client capabilities of the receiving client.
In addition to the transmission of presence information as a response to a re-quest from a client, it is also possible to push presence information to available clients MC (that are logically connected to the service) according to the publica-tion preferences. The push-type presence notification can be triggered by three mechanisms: when the publisher server receives an update from the publisher client, when the publisher server detects a change in the attribute value or by implementation-specific internal triggers updating the value.
The client MC is thus configured to update one or more presence at-tributes to the PS, to receive and handle 207 the presence attributes received from the SS and to present presence information obtained from at least one presence attribute to the user. The MC preferably stores presence information (presence attribute values) until new presence attribute values are received in an update message used to carry presence attributes (or the client finishes the mobile IMPS session). Further, as will be illustrated in more detail later, the cli-ent device may automatically utilize received presence information to adjust its function accordingly. In addition to the signallings shown in Figure 2, an authori-zation may be requested from the publisher of the presence information before sending presence attributes to a requesting client. Figure 2 does not show any status messages by which the server may respond, e.g. after the message 202.
A client originated presence attribute is one which has its value field filled in by the publishing client. A server originated presence attribute is one which has its value field filled in by the publisher server. A presence attribute is client-server originated when one part of the value field is filled in by the client and the rest by the publisher server. According to a preferred embodiment of the invention, users or organizations may define new presence attributes besides the predetermined set of attributes. The presence attributes can be divided into the following classes:
Client Status: Presence attributes describing the availability of the cli-ent device for communication; network reachability, GPRS attached, on/off status, operator, for instance. Thus the attributes in mobile IMPS service are very different than in IMPS used for non-mobile cli-ent devices.
User Status: Presence attributes describing the availability of the user for communication; ready, meeting, busy, away, on the phone, chat-ting, do not disturb, for instance.
- Local Information: Presence attributes describing the local environ-ment at the user; local time, noisy/silent environment, in-door, out-door, location of the user, in terms of, for'instance, geographical loca-tion, visited PLMN, city/street, premises, for instance. For instance, the exact location of the mobile client may be obtained for the local information attribute directly and the availability status (in a meeting, in a summer cottage, etc) may be readily available via user profile settings of the mobile client MC.
Personal Status: Various personal attributes describing personal user status; mood, personal interests and intentions, for instance.

- Client Capabilities: Presence attributes describing the capabilities of the client device to support different means of communication, differ-ent media types and different features.
User Attributes: Presence attributes allowing the client device or the user to define their own textual presence values and references to ex-ternal values.
Extended Presence Information: Vendor specific or service provider dynamically defined non-standard presence attributes which however need to be passed through standard presence servers.
Thus there may be different presence attributes for mobile client de-vices and actual users. For instance, the user may be defined as not being available for receiving messages but the user's client device is defined as being on-line. The user may also be defined to be able to receive messages and not being online if SMS is used as a bearer.
GENERAL STRUCTURE AND IDENTIFICATION
OF PRESENCE ATTRIBUTES

Table 1 describes the general structure of presence attributes. A
presence attribute generally comprises an identifier part and a plurality of value fields. The Req field determines whether the element is mandatory M, optional O or conditional C. Attribute information is in XML format (Extensible Markup Language).

Information Req Type J Description Element NameSpec M XML Attribute identity information Value M XML Value for the attribute Table 1. Presence Attribute Structure The sub-elements of the Namespec element are described in Table 2.

NameSpec Re Type Description Name M String Name of the attribute Qualifier 0 String Information related to the scope of at-tribute usage Authority C String The authority responsible for the fact that attribute NameSpec and value field names are unique Table 2. The NameSpec element The name of the attribute is a string given by the information element 'Name'. The Name information element is defined for all presence attributes in the format defined in Table 3.

Informa- Name tion element Data String type Format Free text format Descrip- Name of a presence attribute tion Table 3. The Name element The format of the Qualifier element is illustrated in Table 4.
Informa- Qualifier tion element Data String type Format Free text format Descrip- Modifies the scope of attribute usage tion Table 4. The Qualifier element The Qualifier element is used to specify the scope of the attribute us-age. The qualifier can be used especially for two purposes: to add a new attrib-ute or to enable the sender of presence information (the publisher) to specify how the presence information is to be used in the receiving client device.
Thus 10 the qualifier string may be used as a parameter for one or more applications in the receiving client device.
For instance, if the publisher wants to limit the knowledge of his exact location (e.g. the street address) to only some of the users (call it group A) and give a more approximate location (e.g. only a city name) to others (call it group 15 B), he may publish a location attribute with the city name to group B. For group A he attaches a Qualifier (say'My best friends') to the location attribute.
This ef-fectively creates a new attribute with Qualifier'My best friends'. He then includes the street address in this new attribute and publishes it to group A. As these at-tributes are different, the server PS is able to keep their values separate.
Also if a person belongs to both groups A and B, the client device of this person can be configured to distinguish between these two attributes. The client device may be configured to present (and possibly utilize) the attribute according to the group which the user has activated. The possible Qualifier values may be preassigned by the client and the service provider or they may be assigned dynamically by the user (publisher). A service provider may also limit the number of dynamically assigned Qualifier values.

The authority element determines the body who is responsible for keeping the attribute and its contents unique. This relates to the attribute exten-sion mechanism.

Informa- Authority tion ele-ment Data type String Format URL
Descrip- Identifies the body responsible for the uniqueness of the tion attribute Table 5. The Authority element When predetermined presence attributes are used unmodified, the Authority string can be omitted. Use of a Qualifier string is not a modification to the attribute that requires the use of the Authority element. It must be used when introducing a new attribute (a new Name) or when adding a new value field to an already specified attribute. In both of these cases the attribute is considered to be a new one and the Authority is responsible for maintaining this new attribute.
Generally a Value field name must be unique within an attribute.
Thus, the introduction of a new value field to an existing attribute must be han-dled by the rules set by the body who has defined the attribute. Adding a new value field transforms the old attribute into a new one. This must be signalled by the presence of the Authority field in order to allow both the new and the old at-tribute to co-exist. It is also possible that a stakeholder releases an attribute for public maintenance. This kind of attribute is registered by a proper authority, such as IANA (Internet Assigned Numbers Authority), and also signaled in the Authority field. In this case any stakeholder may register additional value fields for the attribute without having to change the Authority field. The server (PS, SS) does not remove a value field from an attribute even though it would not under-stand the semantics of the value field. The client MC ignores all the value fields in the attribute that it does not understand.
An attribute is identified and made unique by the element NameSpec.
Figure 3 shows an example of the use of the NameSpec element and the quali-fier. A qualifier is determined 301 for an attribute in client device MCI. It is pos-sible that the user determines the qualifier or that the client device MC
deter-mines it. The qualifier may be defined in order to specify the desired the user group, determine how to present the presence information in a receiving client device (MC2), or otherwise to specify how the receiving client device MC2 should use the attribute. It is possible to utilize the user profiles of the mobile cli-ent MC when determining the qualifier. For instance, the MCI composes pres-ence attribute on the basis of the current profile (e.g. on a meeting), calendar entries (meeting ends at 12.00) and the local time. By using the qualifier, the presence attribute can be easily modified to include a lot of useful information for the receiving client MC2. The attribute is sent 302 to the server PS.
PS compares 303 the NameSpec element of the received attribute to already stored attributes. The PS first compares the Authority strings with each other. An attribute not containing an Authority string is different from any attrib-ute that has an Authority string. Next the attribute names are compared.
Finally the Qualifier strings are compared. An attribute that does not contain a Qualifier string is different from any attribute that has a Qualifier string. Two attributes are the same only when all of these three comparisons give the same result. Thus it is possible to functionally separate the received attribute with the qualifier from attributes with same attribute name but with a different qualifier.
The publication server PS does this kind of comparison to determine whether the value fields of the received attribute shall replace some already ex-isting presence information or whether the attribute is a new one to be added to the presence information storage of the MC2. On the basis of the comparison, the PS stores 303 the information in the received attribute. The PS replaces previous presence information of an already stored attribute with the presence information of said received attribute if all identifiers of said received attribute are the same as in already stored attribute. Otherwise the PS adds the presence information of said received attribute without replacing any previous information.
PS sends 304 the attribute to at least one client device MC2 (either automati-cally pushes it or as a response to a request from the MC2). According to an 3o embodiment, the qualifier determines a group to which the attribute is directed.
Further, the qualifier may be used to present presence information in different ways for private contacts and public contacts in a phone book, for instance.
Thus the PS may determine the receiving client devices on the basis of the qualifier. Service capabilities for a dynamic phone book service will be de-scribed later, after first describing the client status attributes, user status attrib-utes and personal status attributes more fully below.

Also the receiving client MC2 decides, after a similar comparison 305 as in PS, whether and how to store the information of the received presence at-tribute. This kind of ternary identification of presence attributes enables very flexible usage, management and creation of presence attributes.
There are many ways in which the qualifier may be used to specify the usage of the attribute in the client device MC2. Typically the client device MC is capable of supporting a plurality of applications. According to a first em-bodiment, the client device MCI adds a qualifier specifying an application to be used. Application refers generally to any application entity which can be identi-fled e.g. by a port number. The application may be the same as used to process the presence information of the attribute in the client device MCI or another ap-plication. The receiving client device MC2 addresses 305 the received attribute to the application indicated by the qualifier. For instance, by using the qualifier, the same presence information may be sent to a phone book application and a game application. These applications may use the presence information differ-ently and thus it is possible also to tailor attributes exactly for application needs.
According to a second embodiment, the client device MCI adds a qualifier specifying the presentation of the attribute. The receiving client device MC2 presents 305 the received attribute on the basis of the qualifier. The quali-fier may determine e.g. whether the information is shown to the user at all or not or which parts of the information are shown. The qualifier may also determine various user interface settings such as colors, fonts etc. Thus the UI of the is configured 305 on the basis of the settings in the qualifier.

CLIENT STATUS ATTRIBUTES

According to a preferred embodiment, the mobile clients MC utilize a presence attribute which describes the current transmission capabilities of a mobile client MC. A structure for this kind of attribute is illustrated in Table 6.
This attribute, referred to as a Modem attribute, gives presence information on those user terminal parts or functions that are dealing with mobile bearers.

Infor- Req Type Value Description mation Ele-ment Name M String Modem Name of the attribute Spec.
Name Value M XML See Table 7 Value for the attribute.
below Type is a structure Table 6. Modem Attribute Structure Modem.Value Req Sin- Description gle/Multi le Status M S Name of the Value field CommAddr 0 S Name of the Value field CS Status 0 S Name of the Value field PS Status 0 S Name of the Value field Roaming- 0 S Name of the Value field Status CS CallStatus 0 M Name of the Value field PDP ContexS 0 M Name of the Value field tatus Table 7. Value fields of Modem attribute The Status value field as illustrated in Table 8 indicates the status of the mobile modem.

Informa- Status tion ele-ment Data type Enumerated String Format Following values:
ON - The modem part of the terminal is powered on OFF - The modem part of the terminal is powered off or out of coverage DIS - The value fields (if any) given by this attribute are invalid. All the value fields obtained from earlier updates are invalid Descrip- Status field of the modem attribute tion Range ON OFF DIS
Table 8. Status value field of Modem The Status value field indicates whether the modem is turned on or 5 off. According to a preferred embodiment, a presence attribute includes a DIS
indication preferably in the mandatory Status value field of the attribute.
When DIS is set in an attribute, all values given in the attribute are invalid. The receiv-ing mobile client MC is thus able to ignore the value fields of the attribute.
Also previous values of the presence attribute are removed (and nulled). Thus it is 1o practical to send an attribute with DIS indication but no other value fields. This kind of attribute requires very little space and thus critical bandwidth over the ra-dio interface can be saved. This is very useful especially with attributes describ-ing user attributes.
Referring again to Table 7, the CommAddr value field of the Modem 15 attribute includes the communication address of the modem (MC). It contains two parts: the communication means and the contact address. The means part carries information about the supported communication methods, especially whether the modem supports packet-switched (PS) data, circuit-switched (CS) data or voice, SMS or MMS. The Contact part includes the address, e.g. an 20 MSISDN number.
The CS Status value field indicates the circuit switched status of the modem (registered or not registered). The PS_Status value field indicates the packet switched status of the modem (attached or not attached). The Roam-ingStatus value field indicates the home PLMN (Public Land Mobile Network) and possibly the PLMN in which the modem is currently roaming. The CS_CallStatus value field gives the in-call status of a CS bearer (data or voice;
active or not active). The modem attribute may have a list of these in-call sta-tuses in case if multicall capability is supported by the modem. The PDP_Context Status value field includes information about the PDP (Packet Data Protocol) context, such as QoS (Quality of Service) information.
In addition to above examples, the modem value field may be used to carry other information related to transmission capabilities of the mobile client. In a first example a maximum bit rate of the mobile client is delivered in the Mode attribute. The receiving client device can then configure its transmission rate so that the maximum bit rate is not exceeded. In a second example the client de-vice determines that only the packet-switched transmission mode is to be used when sending data files to the client device. A third example is that a roaming device orders that only certain type of communication is enabled (e.g. only voice calls are allowed and data files shall not be sent).

USER STATUS ATTRIBUTES
According to one preferred embodiment, an attribute is defined for the willingness of the user to engage in an activity. The activity is specified by the value fields belonging to this Availability attribute. Table 9 illustrates the structure for the Availability attribute.

Infor- Req Type Value Description mation Ele-ment Name M String Availability Name of the attribute Spec.
Name Value M XML See Table 10 Value for the attribute.
below Table 9. Availability Attribute Structure Table 10 describes the value fields of the Availability attribute.

Availability- Req Single/ Description Extension- Multiple Value Status M S Value field name CommAvail 0 S Value field name PhoneAvail 0 S Value field name SMSAvail 0 S Value field name MMSAvail 0 S Value field name IMAvail 0 S Value field name EmailAvail 0 S Value field name Image 0 M Value field name Text 0 M Value field name Table 10. Availability attribute values The status value field as illustrated in Table 11 indicates the status of availability information.

Informa- Status tion ele-ment Data type An enumerated String Format One of the following values:
ENA - The value fields included in this attribute contain up-to-date information. The value fields updated earlier and not included in this attribute are still up-to-date DIS - The value fields (if any) included in this attribute contain invalid information. The value fields updated earlier are invalid.
Descrip- Defines the publishing status of availability attribute tion Range ENA DIS
Table 11. Status field The Status value field indicates whether the publishing of availability information is enabled or not. The DIS indication may be used as already de-scribed to invalidate the values of the Availability attribute. For instance, the server PS may send an availability attribute with DIS indication after the mobile client MC has closed the mobile IMPS session. This kind of message may also be sent when a connection to client is suddenly lost. Thus the receiving mobile client can remove all availability information relating to the user and the client device that are no longer present in the mobile IMPS system.

The CommAvail value field in Table 10 indicates whether the user is willing to engage into any form of remote communication. The PhoneAvail value field indicates whether the user is willing to engage in a telephone call. The SMSAvail value field indicates whether the user is willing to engage in an SMS
exchange. The MMSAvail value field indicates whether the user is willing to en-gage in an MMS (Multimedia Messaging Service) exchange. IMAvail value field indicates whether the user is willing,to engage in an IM (Instant Messaging) ex-change. The EmailAvail value field indicates whether the user is willing to en-gage in an EMAIL exchange.

The structure for Image value field is illustrated in Table 12.
Image Req Description Containedl- C An image included in the attribute in transfer mage encoded form Referredl- C A URL to the image mage Value Field M The name of any Value Field in this attribute I except Status, Image or Text Table 12. Image This value field associates an image with any of the value fields in the Availability attribute except in the Status, Text or Image field. The Containedl-mage value field includes the image, the size or the format of the image may however be restricted. The Referredlmage value field includes a URL to re-source having the associated image. The ValueField value field defines the value field the image is associated with. For instance, the publisher may associ-ate an image with the value field PhoneAvail which currently has value 'DISC' (meaning that the user is limitedly available for telephony, for instance) in order to convey pictorial semantic information about the meaning of DISC. The Image value field may have multiple instances in this attribute. Whenever this value field is included in the attribute, its target value field must also be included in the same attribute. The association is valid only as long as the target value field is valid. When the target value field is updated or invalidated, any old association with this attribute must be discarded by the receiving client.

The structure for Text value field is illustrated in Table 13.
Text Re Description Contained- M A text string Text ValueField M The name of any Value Field in this attrib-I except Status, Image or Text Table 13. Text Text value field associates a text string with any of the value fields in the Avail-ability attribute except in the Status, Image or Text field. The Text value field in-cludes the text string in ContainedText and the name of the associated value field in ValueField. The size of the text may be limited in the ContainedText ele-ment. For example, the publisher may associate a text with value field Pho-neAvail which currently has value 'NAVE' (e.g. 'in meeting until 14:00') in order to convey additional semantic information about the meaning of NAVL. The Text value field may have multiple instances in this attribute, i.e. the same text may be associated with a multiple value fields. Whenever this value field is included in the attribute, its target value field must also be included in the same attribute.
The association is valid only as long as the target value field is valid. When the target value field is updated or invalidated any old associations with this value field must be discarded by the receiving client. Images and text may also be automatically added to a presence attribute.

PERSONAL STATUS ATTRIBUTES

PersonalStatus attribute indicates the personal status of the pub-lisher. The options and details are specified by the value fields belonging to this 5 attribute. Table 14 illustrates attribute structure for the PersonalStatus.

Informa- Req Type Value Description tion Ele-ment Name- M String Personal- Name of the attribute Spec.Na Status me Value M XML See Table 15 Value for the attribute below Table 14. Persona/Status attribute structure 10 Table 15 illustrates the value fields of the PersonalStatus attribute.
Personal- Req Sin- Description Status.Value gle/Multi pie Status M S Name of the value field Text 0 S Name of the value field Mood 0 S Name of the value field Time 0 S Name of the value field Image 0 M Name of the value field Table 15. PersonalStatus attribute values The status value field as illustrated in Table 16 indicates the status of 15 PersonalStatus information.

Informa- Status tion ele-ment Data type An enumerated String Format One of the following values:
ENA - The value fields included in this attribute contain up-to-date information. The value fields updated earlier and not included in this attribute are still up-to-date DIS - The value fields (if any) included in this attribute contain invalid information. The value fields updated ear-lier are invalid.
Descrip- Defines the publishing status of location attribute tion Range ENA DIS
Table 16. Status of PersonalStatus attribute This field indicates whether the publishing of this information is en-abled or not. The DIS indication may also be used with the PersonalStatus at-tribute.
The Text value field indicates the status of the publisher in a free text form. The Mood value field indicates the mood of the publisher. The Time value field gives the local time of the publisher.
According to a preferred embodiment, an image may also be utilized in the PersonalStatus attribute. As already illustrated in Table 12 the Image value field associates an image with any of the value fields in this attribute ex-cept in the Status or Image field. For instance, the publisher may associate an image with value field Mood which currently hasvalue 'IN_LOVE' in order to convey pictorial semantic info about the meaning of IN_LOVE. The Image value field may be used in a similar way as already illustrated with attribute Availability.
The present invention can be implemented in the existing client de-vices and servers. They all have processors and memory with which the inven-tive functionality described above may be implemented. A computer program may be loaded from an internal or external memory to the processor of the server or the client device, causing, when executed in the processor, the means to implement the inventive functionality. Also hardware implementation or a combination of software and hardware implementation may be used.
Fig. 4 shows a client device 402 in communication with a server 404, according to the present invention. The client device may be similar to one or more of the mobile clients or the non-mobile client of Fig. 1 or any of the other mobile clients shown in Figs. 2 and 3. Likewise, the server 404 may be similar to the server shown in Fig. I or any of the other servers shown in Figs. 2 and 3.
The client device 402 includes means 406 for transmitting or requesting pres-ence information as presence attributes to the server on a signal line 408.
Transmitting presence information would correspond for instance to the step 302 of Fig. 3 in which presence attributes are sent from MCI to PS or the step 202 of Fig. 2 in which presence attribute(s) are updated by the MC and sent to the PS. Requesting presence information on the line 408 would be comparable to the request step 203 of Fig. 2 wherein the MC requests a presence attribute from the SS. The transmission on the line 408 from the client device 402 to the server 404 could be similar to the transmission path shown in Fig. 1 from a mo-bile client (MC) through a mobile network (MNW) via an intermediary network ONW to the IMPS server(s). Or, it could be similar to the path from the non-mobile client C through the intermediary network ONW to the server S. Of course other possible paths are contemplated as well and the invention does not depend on the path of the physical media or combination of physical media used. The client device 402 also includes means 410 for receiving presence at-tributes from the server 404 on a signal line 412. Such presence information is categorized by a plurality of presence attribute types identified by attribute name.
The server 404 includes means 414 for receiving/transmitting attrib-utes and for maintaining presence information based on the received presence attributes.
According to the invention, the client device 402 additionally includes means 416 for adding a qualifier to a presence attribute wherein the qualifier comprises one or more parameters specifying the use of the attribute. The added qualifier is provided on a signal line 418 for transmission by the means 406 on the line 408 to the server 404. This may be done via a means 420 for determining presence attributes in accordance with instructions received on a line 422 from an application 424. The application can also utilize the means for requesting presence attributes. In either event, a signal may be provided on a line 426 from the means 420 to the means 406 for transmitting or requesting presence attributes on the line 408. In case the means 416 has added a quali-fier, for instance in updating a presence attribute as per step 202 of Fig. 2, the signal on the line 408 will include a presence attribute with a qualifier having one or more parameters specifying use of the attribute.
For handling presence attributes incoming on the line 412 from the server 404, the client device 402 will also include means 428 for processing a received presence attribute on the line 412 from the server 404 according to qualifier parameters in the received attribute. The received presence attribute on the line 412 may be received by the means 410 and provided on a line 430 to the means 428 for processing the received attribute. After processing, the means 428 may provide a signal on a line 432 to the application 424 for further use by the application.
The means for adding a qualifier 416 may include means 434 for specifying in the qualifier presentation settings of the attribute so that the client receiving the attribute from the server 404 will be able to present the attribute on the basis of the presentation settings. Consequently, a client device such as the client device 402 of Fig. 4 will include means 436 for presenting received attrib-utes on the basis of such a qualifier specified by another client device and re-ceived from the server 404 on the line 412.
Likewise, the means 416 may include a means 438 for specifying in the qualifier to be sent to the server 404 an application to which the attribute should be addressed in the receiving client. For such a client device 402 receiv-ing a qualifier specifying the application to which the attribute should be ad-dressed, it will have means 440 for interpreting such an attribute received on the line 430 for addressing a received attribute to the application indicated by the qualifier.
Turning now to the server 404 in more detail, it may also include means 444 for determining on the basis of a qualifier whether to send an attrib-ute to one or more client devices such as specified by a presence group in a presence database in the server. Such a determination may also depend on an authorization provided on a line 446 from a means 448 for providing such au-thorization. If the qualifier and authorization indicate that the attribute should be sent to one or more client devices, then the server 404 will do so, for instance to the client device 402 as well as similar devices, if appropriate.

It may be that a presence attribute intended for a particular client may not match that client's capabilities, according to information known to the server.
Such information may be provided for instance by the means 444 on a line 450 to a means 452 for modifying the presence attribute to match the client's capa-bilities. The modified attribute may be provided back to the means 444 on the line 450. On the other hand, in cases where presence attributes are provided according to a "push" technology, the modified presence attribute may be pro-vided on a line 454 to a means 456 which is capable of taking the appropriate steps to push the modified presence attribute to the client or to more than one client, as appropriate. This may be signalled for instance on a line 458 to the means 444.
It should be realized that the functional blocks shown in Fig. 4 may be carried out using discrete hardware, specialized integrated circuits, microcontrol-lers, software, firmware, etc., as will be apparent to those of skill in the art.
Moreover, the functions attributed to distinct functional blocks in the figure need not be separate but can be incorporated in other blocks by free addition or sub-traction of functions into or from other functional blocks. Likewise, the coopera-tive relationships between the functional blocks may be modified in their order and interrelationships while at the same time carrying out the same end results mentioned above. It should also be realized that the details of the client device and server device shown in Fig. 4 can take other forms which are similar to those shown, according to the invention. Other aspects of the invention can be illustrated in a similar but by no means identical way.
For instance, Fig. 5 shows a client device 502 communicating with a server device 504 with means 506 similar to the means 420 of Fig. 4 for trans-mitting presence information as presence attributes on a line 508 to a means 510 for receiving and maintaining presence attributes within the server 504, similar to the means 414 within the server 404 of Fig. 4. Likewise, the client de-vice 502 may include means 512 for receiving presence attributes indicative of presence information on a line 514 from the means 510 of the server 504. Simi-lar to the means 420 and 416 of the client device 402 of Fig. 4, the client device 502 of Fig. 5 may include means 516 for composing a presence information at-tribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying a body responsible for maintaining the attrib-ute and the qualifier specifying the use of the attribute. The so-composed at-tribute may be provided on a line 518 to the means 506 for transmittal on the line 508 to the server 504, as shown. The server 504 may include means 520 that is responsive to the so-composed attribute received on a line 522 from the means 510 for searching for already stored attributes containing the same com-bination of authorization, attribute name and qualifier. If the combination of 5 identifiers of the received attribute is identical to that of the already stored attrib-ute, for instance stored in a storage means 524, the received attribute is used to replace the already stored attribute over a signal line 526. In this way, if the at-tribute parameters have changed, the updated parameters will be stored in the storage means 524. Otherwise, the received attribute is added to the storage 10 means as a new attribute. This function may be carried out in the means 520 as described above, or may be carried out in a completely separate means 528 which receives the received attribute on a line 530 from the means 520 and in-cludes functions for replacing the already stored attributes with the received at-tributes if the combination of identifiers are the same and otherwise adding the 15 received attribute over a connection line 532 between itself and the storage means 524.
The client device 502 will include similar functionalities as just de-scribed above as shown for instance by a means 540 which receives incoming attributes on a line 542 from the means 512 and searches for already stored at-20 tributes containing the same identifiers as the received attribute and means 542 for replacing the already stored attribute with the received attribute if the combi-nation of identifiers of the received attribute is identical to that of the already stored attribute. Otherwise, the received attribute is added to a storage means 544. The means 540 for searching may include the means 542 within or they 25 may be separate as shown in the figure. In the latter case, a signal line provides attribute information concerning the received attribute from the means 540 to the means 542. The storage means 544 may be in bi-directional com-munication over line 548 with the means 542 for replacing or adding attributes and the line 550 with the means 540 for searching for already stored attributes.
30 As mentioned above, the service capabilities for a dynamic phone-book service embodiment of the present invention will now be described. A dy-namic phonebook service can be viewed as a rich call service. It is useful "be-fore the call" to enrich cases where B party's presence information is shown to the A party. In this case, the B party is one or more of the user phonebook en-tries. The presence information can be divided into the same categories as mentioned above, i.e., (1) client availability, (2) user availability, (3) local condi-tions, (4) personal status, (5) client capabilities, (6) user attributes, and (7) ex-tended presence service:

Conceptually, the Presence System consists of Presence Clients 602, 604, 606, Presence Users 608, 610, 612, Presence User Roles 614, 616, 618, 620, 622, 624, Presence Proxies 626 and Presence Servers 628, 630, as shown in Fig. 6. A Presence Client is the software or program which enables for the user an interaction with the Presence System. The User is a person who inter-acts with the Presence System using the Presence Client. A physical device 632, 634, e.g., mobile handset or PC, may have one 606, or in special cases, multiple presence client instances 602, 604. A presence client is owned by a single user. A user may own more than one client but then these clients are typically in different devices.
Users 608, 610, 612 are conceptually classified in Publishers and Subscribers. A publisher is the originator of presence information. A
subscriber is the receiver of presence information. A User may be both publisher of own presence information and subscriber of some other publisher's presence infor-mation at the same time. A user may have one or more Roles. A publisher role is associated with a set of presence values called Presence Set. The presence values of two different presence sets of the same user are independent of each other and are associated with different roles. A subscriber role is the logical re-ceiver of presence information of identical publisher role i.e. of the same pres-ence set.
A Presence Proxy 626 is an optional network element that improves the scalability of the Presence Service. A proxy temporarily stores presence val-ues of different presence sets traveling uplink from the publisher to the server or downlink from the server to a subscriber. When a client comes on-line the proxy may update the client with current presence information. Also when a publisher sends a new presence value to the server the proxy may update all the sub-scriber clients that are registered with the proxy. A proxy can cache the pres-ence values only temporarily. Even when the presence info is coming from the publisher the proxy cannot assume that all the updates of this presence info is taking place via the same proxy. If the proxy is not aware of the subscriber group associated with a presence set then the proxy may ask for this informa-tion from the server.

A presence Server 628, 630 is a network element that maintains valid presence values and information on groups that are associated with each pres-ence set. The server communicates with presence clients either directly or through a proxy. The server informs the proxy about the validity period of pres-ence values cached by the proxy. When the validity period expires the proxy must either discard the values or refresh them from the server. The server as-signs the validity periods presence item by item basis by monitoring how fre-quently the presence values change. The validity period is dynamic i.e. it may change during the lifetime of the presence item.
A presence server exchanges presence information also with other presence servers, as shown in Fig. 6. For instance, if the publisher and sub-scriber belong admistratively to different presence servers then the presence info must go through both servers. In case the servers are incompatible there needs to be a gateway function on one or both servers.
Figure 7 shows the structure of a presence database 702, according to the invention. A single presence item 704 has three properities: name 708, at-tributes 710 and value 712. A presence set 714 consists of a single or more presence items. The presence set 714 belongs to a single role 716 of the user.
There cannot be more than one presence set for a single role. In addition there is a single authorisation group 718 that belongs to a single role 716. The au-thorisation group consists of members that have the right to subscribe the the whole or a part of the presence set of the same role.
The items 704, 720, ..., 722 in a presence set are unique i.e they can be distinguished from each other. The items are primarily distinguished from each other by their name. In case the presence set contains two or more items with the same name then there must be an attribute in each item that carries the id's of these items. The members 724, 726, ..., 728 of a group 718 are unique.
Different presence sets in different roles 716, 730, ..., 732 of the same publisher 734 may contain items with the same name or id. Different groups may likewise contain the same members.
A role 716 may be identified by a Role ID, Group ID or Presence Set ID. For instance, the Group ID may be assigned by the service provider and is unique within the service providers domain. Therefore, the following ID's would be needed to address individual elements in the presence database:
GroupiD, ItemName In case the presence set contains more than one item with the same name the ItemName must have the ItemID attribute assigned.
Note that ID's such as UserlD, DevicelD and ClientlD are not needed.
A. EXEMPLARY PRESENCE PROTOCOL

A.1.0 Unsubscribed Presence (Fig. 8) The presence information of a user can be obtained separately from messaging services by issuing a query to the presence server, as indicated for instance in the message flows presented in steps 203, 204, 205, 206 of Fig. 2, or by subscribing and receiving presence items as in Fig. 9, or by getting pres-ence items as shown in Fig. 8.
The user of a presence service may, at any suitable time, update his presence information in the presence server by sending update presence mes-sage as shown in Fig. 8. As mentioned, a user may issue a get presence mes-sage to request the presence information of some other user as also shown in Fig. 8. The presence information is delivered back to the requesting user.
The publisher may update his presence information only partially.
Similarly, the user may request only partial presence information.
If the user does not have authorisation for a requested presence in-formation an empty content is sent to the user.
The authorisation of presence information for a given user is done by including the user into the group corresponding to the presence set. This is de-scribed below in the part labeled 'Management of presence database'.
A.1.1 UpdatePresence Direction: Presence Client -> Presence Server Content Model: (TransactionlD, GrouplD, Presence) Attributes: None Usage: This primitive updates the values of one or more presence items on the presence server. The presence items to be updated are carried in the information element Presence. If there are items in the Presence that do not exist in the server for the given GrouplD then the server allocates storage for these new items and copies the contents from this message. Otherwise the server replaces the old value with the new value.

No UseriD or PublisherlD is needed in the content. The association between the publisher and the XML-document containing the UpdatePresence primitive is made in the authentication protocol.

A.1.2 TransactionlD
Content Model: (#PCDATA) Attributes: None Usage: This is a unique idenfier that associates the request from cli-ent to server with the corresponding response from server to client. The client may have sent more than one request to the server before it gets the first re-sponse back. The first response does not necessarily refer to the first request.
Therefore there needs to be a mechanism that associates requests and re-sponses together. Typically a TransactionlD is a sequence number. It is as-signed by the client in the request and used by the server in the response.
A.1.3 GrouplD
Content Model: (#PCDATA) Attributes: None Usage: This id uniquely identifies within the service provider domain the publisher role including the authorisation group and presence set. It is as-signed by the presence service provider.

A.1.4 UpdateStatus Direction: Presence Server -> Presence Client Content Model: (TransactionlD, StatusCode) Attributes: None Usage: This primitive is the response from the presence server to the client UpdatePresence request. The StatusCode may have following values: not supported, new allocation, success, failure.
A.1.5 GetPresence Direction: Presence Client -> Presence Server Content Model: (Transaction ID, ((GrouplD, PresenceNames?)*) ~
PresenceNames?) Attributes: None Usage: This primitive is used to request presence information from the presence server. There may be zero or more GrouplDs. For each GrouplD
there may be coupled an optional PresenceNames. When the GrouplD is not used then the request scope is all the groups the user is a member. The server 5 associates the requesting user's identity to the request by the authentication protocol. The PresenceNames is defined later in this document. It lists those presence items by name from which the value is requested. It is optional. It is ei-ther coupled with GrouplDs or may be alone when no GrouplDs are listed.
When coupled with GrouplDs the server limits the search of the presence items 10 for the given group. When not present the values of all presence items is re-quested.

A.1.6 Presenceltems Direction: Presence Server -> Presence Client 15 Content Model: (TransactionlD, StatusCode, (GrouplD, Presence)*) Attributes: None Usage: This primitive supplies the list of presence items requested and the result status of the request. The element Presence is the presence set corresponding to a given GrouplD and is defined later in this document. The 20 StatusCode may have following values: not authorised, item not available, suc-cess, failure.

A.2.0 Subscribed Presence (Fig. 9) Another mechanism to deliver presence information is to subscribe 25 someone's presence information. The message flow is presented in Fig. 9.
The requesting user sends a subscribe presence message A.2.1 to the presence server to subscribe someones presence information.
When the subscription of presence information is complete, the re-questing user will receive new presence information A.2.2 initially and always 30 when the other party updates its presence information.
When the requesting user does not any more want to receive the presence information, he may unsubscribe A.2 the presence information. Alter-natively, the presence information may be subscribed to a time period and the unsubcribe message is not needed.
35 The requesting user may subscribe only part of the presence informa-tion that he is authorised to get.

A.2.1 SubsPresence Direction: Presence Client -> Presence Server Content Model: (TransactionlD, SubsPeriod?, ((GrouplD, Presence-Names?)*) I PresenceNames?) Attributes: None Usage: This primitive is used to subscribe presence information from publisher roles for which the subscriber is authorised. The optional GrouplD
specifies the publisher role which is subscribed. When the GrouplD is missing then all the roles for which the subscriber is authorised are subscribed. Each GrouplD may be associated with a PresenceNames which limits the subscribed items within the group to those listed in the PresenceNames. The optional Sub-sPeriod specifies the length in time for the subscription. When it is missing the subscription lasts until an corresponding UnsubsPresence primitive is invoked or until the service provider terminates subscription. The PresenceNames specifies the presence items that are subscribed from the authorised set. When it is miss-ing then all the presence items that the user is authorised for within the pres-ence set (GrouplD) are subscribed. When used alone without a GrouplD then the named items from all authorised groups are subscribed. PresenceNames is defined later in this document.
The identity of the subscriber is discovered in the authentication pro-tocol.

A.2.2 SubsPeriod Content Model: (#PCDATA) Attributes: None Usage: This defines the length of the subscription period. The time unit is TBD. Alternatively the content may indicate the date when the subscrip-tion ends.
A.2.3 PushPresence Direction: Presence Server -> Presence Client Content Model: (GrouplD, Presence)+
Attributes: None Usage: This primitive pushes the subscribed presence items that have been modified by the publisher to the users. The GrouplD identifies the role.

A.2.4 UnsubsPresence Direction: Presence Client -> Presence Server Content Model: (TransactionlD, ((GrouplD, PresenceNames?)*) PresenceNames?) Attributes: None Usage: This primitive is used to unsubscribe presence information.
The termination of subscription may be limited to given groups and can further be limited to given presence items. When no GrouplD is given it is possible to limit the subscription termination for the named presence items in all the groups.
When no GrouplD and no PresenceNames is given then the whole subscription of the user is terminated.

A.2.5 SubsStatus Direction: Presence Server -> Presence Client Content Model: (TransactionlD, StatusCode, (GrouplD, Presence-2o Names)*) Attributes: None Usage: This primitive returns the StatusCode for the unsubscribe op-eration and lists the presence items and groups that are still subscribed. The StatusCode may have following values: not supported, non-existent item, non-subscribed item, success, failure.

A.3Ø Management of Presence Database The presence user may manage his user groups and presence sets in the presence server.
A role containing a user group and presence set is created using CreatePresGroup message A.3.1. The presence server will reply with Pres-GroupStatus message A.3.6 indicating the status of the requested operation and an id for the created group. A Presencelnfo message A.3.7 is sent to members of the group indicating the presence items they are authorised to get or sub-scribe.

The presence user may request group info with the GetPresGroup-Status message A.3.8. The group info request is limited to the owner of the group.
The presence user owning the user group may add and delete mem-bers of the group or presence items for the presence set.
The publisher may send delete a group by message DeletePres-Group.

A.3.1 CreatePresGroup Direction: Presence Client -> Presence Server Content Model: (TransactionlD, MemberList, Presence) Attributes: None Usage: This primitive requests the server to create a role in the pres-ence server. The authorisation group contains the members in the memberlist and the presence set is contained in Presence.

A.3.2 MemberList Content Model: (MemberDescription)+
Attributes: None Usage: The list of members. The description is originated from the user.

A.3.3 MemberDescription Content Model: (UserOriginatedMD?, ServerOriginatedMD?) Attributes: None Usage: The user originated part is a description of a member as seen by the user. The server originated part is a description of a member as stored in the server database.

3o A.3.4 UserOriginatedMD
Content Model: (#PCDATA) Attributes: None Usage: This is a user originated means to identify a person. It may be a name, an MSISDN of one of the phones of the target person, an email ad-dress, a SIP address etc. It may also be a combination of these. The dataformat of the description is not within the scope of this document but known formats such as vCard should be used.

A.3.5 ServerOriginatedMD
Content Model: (#PCDATA) Attributes: None Usage: This is a server originated means to idenfy a person. It may be a name, an MSISDN of one of the phones of the target person, an email ad-dress, a SIP address etc. It may also be a combination of these as stored in the server database. The dataformat of the description is not within the scope of this document but known formats such as vCard should be used.

A.3.6 PresGroupStatus Direction: Presence Server -> Presence Client Content Model: (TransactionlD, StatusCode, (GrouplD, MemberList, PresenceNames)*) Attributes: None Usage: This primitive returns the GroupiD's of the currently existing publisher roles together with the group members and presence item names for the role. The server has assigned a new GrouplD for the new role if the opera-tion was succesful. The server has filled the server originated part of the mem-berlist. This allows the publisher to verify that the group contains the right mem-bers. The server should not give any confidential or personal information in the memberlist beyond the level already existing in the user originated part or a level that is needed to uniquely identify a person. This is TBD. The StatusCode may get following values: not supported, unknown member, unknown presence item, success, failure.

A.3.7 Presencelnfo Direction: Presence Server -> Presence Client Content Model: (GrouplD, Presence?)+
Attributes: None Usage: This primitive advertises the new presence items to the au-thorisation group. The message contains all the presence items of the given au-thorisation group - both subscribed and unsubscribed. This message is sent to new members in the group if the group membership has changed or to all the members of the group if new presence items have been added. The message is sent to removed group members so that there is no presence set (Presence) associated with the GrouplD.

5 A.3.8 GetPresGroupStatus Direction: Presence Client -> Presence Server Content Model: (TransactionlD, GrouplD*) Attributes: None Usage: This primitive requests the PresGroupStatus message from 10 the server. The user may only request info from his own groups. The GrouplD
limits the info to the given groups. When no GrouplD exist then the status is re-turned from all the groups owned by the requestor.

A.3.9 AddMembers 15 Direction: Presence Client -> Presence Server Content Model: (TransactionlD, (GrouplD, MemberList)+) Attributes: None Usage: This primitive requests the server to add the named members into given groups.
A.3.10 RemoveMembers Direction: Presence Client -> Presence Server Content Model: (TransactionlD, (GrouplD, MemberList)+) Attributes: None Usage: This primitive requests the server to remove the named members from the given groups. The MemberList is filled with the server origi-nated info.

A.3.11 DeletePresGroup Direction: Presence Client -> Presence Server Content Model: (TransactionlD, GrouplD*) Attributes: None Usage: This primitive requests the server to remove one or more of the publisher roles. The GrouplD identifies the role that is to be removed.
When no GrouplD is given then all the publisher roles are removed.

A.3.12 AddPresence Direction: Presence Client -> Presence Server Content Model: (TransactionlD, (GrouplD, Presence)+) Attributes: None Usage: This primitive requests the server to add given presence items into given roles.

A.3.13 RemovePresence Direction: Presence Client -> Presence Server Content Model: (TransactionlD, (GrouplD, Presence?)+) Attributes None Usage: This primitive requests the server to remove given presence items from the given roles. When there is no Presence element associated with GrouplD then all the presence items are removed from the role.
A.3.14 Dynamic Client Change A publisher or subscriber may change his client at any time. Typically also the client device changes. In a rare case the user may only change the cli-ent instance in the same device. The new device may be a TE and the old a MT
or vice versa. Also change to a new MT is possible. The client change requires the user to copy or synchronize his presence data from the old client to the new client. In case of a publisher there might be some client specific presence data that is static for a given client and is not included in the synchronisation set. The synchronisation may take place locally or may be network assisted. In any case the existing synchronisation protocols should be used. This is not within the scope of the presence protocol.
Another issue brought by the subscriber client change is the registry of the new client to be the active client that receives the presence related push messages. The registry may take place automatically (no user confirmation 3o needed), semi-automatically (user confirmation required) or manually (user must initiate the registry) depending whether - User activates a new client in the same device (automatic);
- User SIM changes to the new device (automatic);
- User has a different SIM in the new device but only the new device is turned on (semi-automatic); or - User has a different SIM in the new device and both the new device and old device are on (manual).
In all the cases the registry may be handled by lower level protocols.
For example if the SIP-protocol is the chosen transport protocol for presence documents then this protocol can also be used for the registry.

A.4.O DTD for the Presence Protocol <!-- Root element -->
<!ELEMENT PresProtocol ( UpdatePresence I UpdateStatus I Get-Presence I Presenceltems SubsPresence I PushPresence I UnsubsPrecence I
SubsStatus CreatePresGroup I PresGroupStatus I Presencelnfo GetPres-GroupStatus AddMembers I RemoveMembers I DeletePresGroup I AddPres-ence RemovePresence) >

<!ATTLIST PresProtocol Version NMTOKENS #REQUIRED >
<!ELEMENT UpdatePresence (TransactionlD, GrouplD, Presence) >
<!ELEMENT TransactionlD (#PCDATA) >
<!ELEMENT GrouplD (#PCDATA) >

<!ELEMENT Presence (#PCDATA) >

<!ELEMENT UpdateStatus (TransactionlD, StatusCode) >
<!ELEMENT StatusCode (#PCDATA) >
<!ELEMENT GetPresence (TransactionlD, ((GrouplD, PresenceNames?)*) PresenceNames?) >
<!ELEMENT PresenceNames (#PCDATA) >
<!ELEMENT Presenceltems (TransactionlD, StatusCode, (GrouplD, Presence)*) >

<!ELEMENT SubsPresence (TransactionlD, SubsPeriod?, ((GroupiD, PresenceNames?)*) I PresenceNames?) >
<!ELEMENT SubsPeriod (#PCDATA) >

<!ELEMENT PushPresence ((GrouplD, Presence)+) >

<!ELEMENT UnsubsPresence (TransactionlD, ((GrouplD, PresenceNames?)*) I PresenceNames?) >

<!ELEMENT SubsStatus (TransactionlD, StatusCode, (GrouplD, PresenceNames)*) >
<!ELEMENT CreatePresGroup (TransactionlD, MemberList, Presence) >

<!ELEMENT MemberList ((MemberDescription)+) >
<!ELEMENT MemberDescription (UserOriginatedMD?, ServerOriginatedMD?) >

<!ELEMENT UserOriginatedMD (#PCDATA) >
<!ELEMENT ServerOriginatedMD (#PCDATA) >
<!ELEMENT PresGroupStatus (TransactionlD, StatusCode, (GrouplD, MemberList, PresenceNames)*) >
<!ELEMENT Presenceinfo ((GrouplD, Presence?)+) >
<!ELEMENT GetPresGroupStatus (TransactionlD, GrouplD*) >

<!ELEMENT AddMembers (TransactionlD, (GrouplD, MemberList)+) <!ELEMENT RemoveMembers (TransactionlD, (GrouplD, MemberList)+) >

<!ELEMENT DeletePresGroup (TransactionlD, GrouplD*) >
<!ELEMENT AddPresence (TransactionlD, (GrouplD, Presence)+) >
<!ELEMENT RemovePresence (TransactionlD, (GrouplD, Presence?)+) >
<!-- End of DTD -->

B. EXEMPLARY PRESENCE CONTENT FORMAT
As stated above, the presence content can be divided in the following classes:
Client Availability: Presence attributes describing the availability of the client for communication, for instance, network reachability, GPRS attached, on/off status.
User Availability: Presence attributes describing the availability of the user for communication, for instance, ready, meeting, busy, away, in call, chat-ting, don't disturb, etc.
Local Conditions: Presence attributes describing the local environ-ment at the user, for instance, local time, noisy/silent environment, in-door, out-door, location of the user, in terms of, for instance, geographical location, visited PLMN, city/street, premises.
Personal Status: Various personal attributes describing personal user status, for instance, mood, personal interests and intentions.
Client Capabilities: Presence attributes describing the capabilities of the client, for instance, to support different means of communication, different media types and different features.
User Attributes: Presence attributes allowing the client or the user to define their own textual presence values and references to external values.
Extended Presence Service: Service provider dynamically defined non-standard presence attributes which however need to be passed through standard presence servers and proxies.

B.1. DESIGN GOALS
The bulk of presence communication is sending the changes in the value part of presence items to the subscribers. Often only a single value has changed. In order to minimize the amount of transferred data the design goal is 5 to keep the hierarchical representation of presence items as flat as possible. For this reason the presence items are scoped under the presence classes de-scribed above. Instead the classes may be given in the presence items as an optional attribute.

10 D.2 COMMON ATTRIBUTES
The presence elements contain a variety of attributes most of which can be used in any presence item.

D.2.1 Version 15 Content Syntax: NMTOKENS
Mandatory: yes Usage: This gives the version of the presence content format D.2.2 Class 20 Content Syntax: NMTOKEN
Mandatory: no Usage: This indicates the class the attribute belongs to.
Possible values are: CLIENT AVAILABILITY, USER AVAILABILITY, LOCAL-CONDITIONS, 25 PERSONAL_STATUS, CLIENT CAPABILITIES, USER ATTRIBUTES, EXT PRES SERVICE.

D.2.3 ID
Content Syntax: PUBIDLITERAL
30 Mandatory: no Usage: This is a unique ID for a named presence item. It is assigned by the client.

D.2.4 Cacheability 35 Content Syntax: NMTOKEN
Mandatory: no Usage: This indicates whether the presence item can be cached by proxies or not. The possible values are:
YES, NO.It is assigned by the client. If this attribute is missing a value of NO is assumed.
D.2.5 ValidityPeriod Content Syntax: NMTOKEN
Mandatory: no Usage: This is a validity period for the cached presence item.
The value is time in seconds. It is assigned by the presence server.

D.2.6 DeviceName Content Syntax: NMTOKEN
Mandatory: no Usage: This is the name of the client device. It is assigned by the client.

D.2.7 Accuracy Content Syntax: NMTOKEN
Mandatory: no Usage: This is the accuracy of a positioning device. It is given in meters.

D.2.8 ImageType Content Syntax: NMTOKEN
Mandatory: no Usage: This is the content encoding of an image. Some possible values are: JPEG, GIF, BMP.
D.2.9 SoundType Content Syntax: NMTOKEN
Mandatory: no Usage: This is the type of sound codec used to encode the sound. Some possible values are: AMR, EFR, MP3, AAC, MIDI

D.2.10 ExtRef Content Syntax: PUBIDLITERAL
Mandatory: no Usage: This is a URL giving an external reference.
D.2.11 ExtRefChange Content Syntax: NMTOKEN
Mandatory: no Usage: This indicates that the content of an external reference has changed. The possible values are: YES, NO
D.2.12 ContentChange Content Syntax: NMTOKEN
Mandatory: no Usage: This is a counter from 0 to 255 which indicates a change in the content value. The server or proxy may store the contents (but is not required to) of the last 32 values. Same values for two contents within the last 32 values should correspond to same content D.3 Client Availability D.3.1 DeviceOn Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, DeviceName Usage: This gives the on/off status of the user terminal. The publisher adds this item into the role in the server by using the group management messages. Thereafter the value part is maintained by the network. The user may have more than one terminal in his presence information. In this case the use of ID attribute is mandatory. The content can have values "ON" or "OFF". When the user's terminal is on but outside network coverage the network assigns value "OFF" for this item.

D.3.2 DeviceRoaming Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, DeviceName Usage: This indicates to the subscriber that the publisher is roaming in a visited network. The user may have more than one terminal in his presence information. In this case the use of ID attribute is mandatory. The content can have values "YES" or "NO"
D.3.3 NetworkType Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, Va(dityPeriod, DeviceName Usage: This indicates the type of mobile network the publisher is currently attached. The content can have values "2G", "3G-99", "3G-R4" or "3G-R5". The user may have more than one terminal in his presence information. In this case the use of ID attribute is mandatory.

D.4 User Availability D.4.1 UserStatus Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This indicates the current status of the publisher in terms of amount of distraction he is willing to accept.
The following values are defined: "available", "silent", "in-car", "busy".

3o D.4.2 Preferred Contact Content Model: (#PCDATA) Attributes: Class, ID, Cachebility, ValidityPeriod Usage: This indicates what is the current preferred contact method for the publisher. Following values are defined:
"PHONE", "VOICE_MESSAGE", "MESSAGE", "MAIL", "NO CONTACT".

D.4.3 Preferred Defaults Content Model: ((TimePeriod, PrefCont)*) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This is presence metainformation that the publisher may send to presence server. The information is associated to a role as other presence information but this item is not available to subscribers. Instead it controls the values of the element 'P referred Contact'. It specifies a default preferred contact for given time periods. User specified time periods may overlap or a time period may even completely enclose another. The server changes the value of Preferred Contact element according to the Preferred Defaults at the expiration of given periods. It however does not block a user changing the PreferredContact value directly. Also the user changing the Preferred Contact value directly does not block the server changing it again when a period expires. The user may remove the default mechanism by sending this element with empty contents to the server.

D.4.4 TimePeriod Content Model: (PeriodStart, PeriodEnd, Repetition Period?, Period-Precedence) Attributes: None Usage: This desribes the start of a period e.g. start time, the end of the period e.g. end time, the repetion period e.g.
'DAY' and the presedence of the period.
D.4.5 PeriodStart Content Model: (#PCDATA) Attributes: None Usage: This is the start period. It may be Time, Time-DayofWeek, Time-DayofMonth or a full date..

D.4.6 PeriodEnd Content Model: (#PCDATA) Attributes: None Usage: This is the start period. It may be Time, Time-5 DayofWeek, Time-DayofMonth or a full date. The resolution must be the same as in PeriodStart.

D.4.7 Repetition Period Content Model: (#PCDATA) 10 Attributes: None Usage: This gives the repetition period for the start-end. It must be one of the following values: "DAY", "WEEK", "MONTH". When this element is not included in the period description then it is assumed that no repetion is 15 applied.

D.4.8 Period Precedence Content Model: (#PCDATA) Attributes: None 20 Usage: This element resolves the conflict between overlapping periods. It can have a numeric value between 0 and 9.
Number 0 is the highest precedence. When two or more periods overlap then the server takes the contact preference associated with the highest precedence 25 value.

D.4.9 PrefCont Content Model: (#PCDATA) Attributes: None 30 Usage: This indicates what is the period associated default preferred contact method for the publisher. It can have the same values as the element 'Preferred Contact'.

D.5 Local Conditions D.5.1 LocalTime Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives the local time of the publisher D.5.2 Measured Location Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, Accuracy Usage: This gives the measured position of the client device.
The measurements may be either sensor based (e.g.
GPS) or network based or combination of both. The attibute Accuracy gives indication of the average positioning accuracy achieved by the method. The content includes at least the lateral position (x- and y-coordinates) but may include also the vertical position.
If the service provider supports 'Converted Location' described below then the Measured Location may be input information for the service provider conversion process e.g. map matching.
D.5.3 Converted Location Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This information is typically originated from the service provider but may also originate from the publisher. It gives the location of the user given in a human understandable text form such as a name of a street.
The information is derived by converting a measured position into this form by e.g. map matching.
D.5.4 Stated Location Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This is the location of the publisher as stated by the publisher himself. The content is a short text string.

D.5.5 UserEnvironment Content Model: (EnvAttributes+) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives some environmental attributes about the user.

D.5.6 EnvAttributes Content Model: (#PCDATA) Attributes: None Usage: The attributes defined are: "INDOOR", "OUTDOOR", "QUIET", "NOISY", "ALONE", "IN_GROUP".

D.6 Personal Status D.6.1 StatusText Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This is a short text (about 30 characters) that the user may write.
D.6.2 Statuslmage Content Model: (#CDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, ImageType Usage: This is an image the user may attach to his status information. It is carried in the XML content in a transfer encoded form e.g. base64. The ImageType attribute describes the content encoding of the image e.g. jpeg.
D.6.3 StatusSound Content Model: (#CDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, SoundType Usage: This is a short (about 5 to 30 seconds) sound clip the user may attach to his status information. It is carried in the XML content in a transfer encoded form e.g.
base64. The SoundType attribute describes the content encoding of the sound e.g. AMR, MP3, AAC, MIDI etc.

D.7 Client Capabilities The client capabilities in the context of presence mean the capability of the device hosting the client for various types of human to human communication. This is very much different and simpler issue than the case of allowing an application software to take maximum advan-tage of the existing hw and sw capabilities of the client device.
The classes of human to human communication are: messaging, e-mail, voice call and multimedia call. In particular presence is excluded from the communication classes. The purpose of presence is to make others aware of the communication means and other user attributes but not to be a two way communication means itself. For this reason the use of the term 'Client Capabilities' to classify presence infor-mation is somewhat misleading.
The client capabilities are scoped with the network capabilities. This means for example that the publisher has the video call capability only when his client device has this capability AND the network he is currently roaming supports this capability. This makes the client capability information dynamic.
D.7.1 MessagingCapabilities Content Model: (MessType*) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives the dynamic messaging capability list of the client device. An empty list means that no messaging capabilities currently exist.

D.7.2 MessType Content Model: (#PCDATA) Attributes: None Usage: This gives the messaging capability type of the client device. The content may be one of the following:
"SMS", "MMS" or "X-message application name". The field message application name is a device specific messaging method e.g. smart messaging.

D.7.3 EmailClient Content Model: (EmailClientType*) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives the dynamic e-mail capabilities of the client device. An empty list means that no e-mail capabilities currently exist.

D.7.4 EmailClientType Content Model: (#PCDATA) Attributes: None Usage: This gives the e-mail client type of the client device.
The content may be one of the following: "SMTP", "POPS", "IMAP4" or "X-mail application name". The client software should not render the mail protocol names as such to the user. Instead the client software should understand the user device email environment and interpret these names in the scope of this email environment. The information presented to the user should be also meaningful to the user.
D.7.5 VoiceCallCapability Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives the dynamic voice call capabilities of the client device. The content is one of the following:
"NONE", "VOICE_CALL", "RICH_VOICE_CALL".

D.7.6 MultimediaCallCapabilities Content Model: (MMCap*) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This gives the dynamic one-way and two-way multimedia communication capabilities of the user. An empty list indicates that no capabilities currently exist.
D.7.7 MMCap Content Model: (#PCDATA) Attributes: None Usage: This gives the multimedia call capability type. It may be one of the following: "UPLINK-VIDEO-STREAMING", "DOWNLINK-VIDEO-STREAMING", "VIDEO_CALL", 5 "RICH-VIDEO-CALL".

D.8 User Attributes This class contains both user defined and client specific presence data.
D.8.1 UserPresenceltem Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, ExtRef, ExtRef-Change Usage: This gives a means for the user to defined their own presence items. If more than one user specified presence item is defined for the same role then the use of ID attribute is mandatory. The content may be a short text. The optional attribute ExtRef is a URL of an external object referenced by this presence item. The URL may refer to another part of the multipart MIME
that carries the XML-document of the presence item or it may be a reference to an external object. The optioanal attribute ExtRefChange may be used to indicate the subscribers that the external object has changed.

D.8.2 ClientTypeRequest Content Model: (EMPTY) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: This is a special element used by the publisher to request the client types of his subscribers. When a publisher includes this element into his presence data for a given role then the server sends this to all the subscribers of the presence information with the PushPresence message. Optionally it may also be included in the Presenceltems message used by non-subscribers to request specific presence items. This element is not advertised in the Presencelnfo message.
It is not a presence element that can be subscribed to.
The presence server after having first time sent this item to the subscribers may periodically include this item also to further PushPresence messages to make sure that all the subscriber clients have this item.
The clients upon receiving this item send their client types to the presence server. In addition a client should send it's type to the server every time the client is activated when this item is the pres-ence info stored in the client.
An alternative way of the publisher getting to know the client types of his subscribers would have been for the publisher to subscribe their client types. This however is a different business model. A publisher may not always want to be a subscriber of his own subscribers. This element allows the publisher to get the client types within the existing contractual frame between the publisher and the presence service provider. In addition this method mandates the subscriber client to send their types to the server. If the publisher would have used the subscription model to get the client types then the authorisation of this information to the publisher would have been at the discretion of the subscriber.

D.8.3 ClientType Content Model: (ClientName, ClientManufacturer, ClientVersion) Attributes: Class, ID, Cacheability, ValidityPeriod Usage: Knowledge of the subscriber client types is used by publishers to enable client specific extensions to the presence set. It does not make sense for a publisher to use these extension items if his subscriber clients are not able to decode them.
A subscriber client sends the cliend type info to the presence server using the UpdatePresence message. The GrouplD used in the message belongs to the publisher's role and not to the subsriber's own role. This is an exception from the general rule that a user is allowed to update the presence information of his own role only. The presence server sends the information of this element to the pub-lisher using the PushPresence message. The GrouplD used belongs to the pub-lisher role. From the publisher point of view then he is getting presence informa-tion from his own presence set.
A publisher may include his own client type into his presence set.
Then this information is handled like any other presence information and does not imply any special behaviour in presence servers or subsciber clients.
D.8.4 ClientName Content Model: (#PCDATA) Attributes: None Usage: This element gives the name of the presence client application D.8.5 ClientManufacture Content Model: (#PCDATA) Attributes: None Usage: This element gives the name of the presence client manufacture D.8.6 ClientVersion Content Model: (#PCDATA) Attributes: None Usage: This element gives the version of the client application.
D.8.7 ClientPresenceItem Content Model: (ClientType, CliPresitem) Attributes: Class, ID, Cacheability, ValidityPeriod, ContentChange Usage: This element is the publisher client application specific presence item. The ClientType is the client type of the publisher's presence client. No attributes are used in the ClientType item when used as part of this element.
If the publisher defines more than one client specific presence item then the use of the ID attribute is mandatory. The optional attribute ContentChange is a counter from 0 to 255. When used it is increased by one every time the content of the presence item changes. This provides an alternative means for the presence server to detect change in the content of a non-standard presence item. The other alternative would have been for the presence server to assume that the content changes every time this item is sent to the server with the same ID attribute. The server behaves in this way when the ContentChange attribute is not used by the client. When two items with the same ID attribute have the same counter value in ContentChange then the content of these two items is the same.
D.8.8 CliPresltem Content Model: (#PCDATA) Attributes: None Usage: This element is the client specific presence extension.
It's syntax and structure is assumed to be known to the client but not to the network elements.

D.9 Extended Presence Service The extended presence service class is meant to provide a service provider specific extension to the presence service. Like the client application specific extension only the service end points (i.e. the publisher and the subscriber clients) need to be able to decode the extensions. It is possible that the presence server also understands the extensions but this is not mandated by this document. The difference between the client specific extension method and this method is that the service provider controlled clients do not need to implement the standard presence items. It is assumed that the presence items are completely defined by the service provider and there is a means to update the user device hosted clients with new features. One possible update method is sw downloading via air. If a service provider creates new types of presence items then he needs to update the existing clients to support these new types. The service provider controlled client communicates with the presence server directly and not via a standard presence client. A standard presence client ignores all elements of this class.
An extended presence service uses primarily the elements of this class. It is allowed to use also the standard presence element defini-tions. It uses the standard presence protocol.

D.9.1 ExtPresence Content Model: (#PCDATA) Attributes: Class, ID, Cacheability, ValidityPeriod, ContentChange Usage: The use of ID attribute is mandatory if more than one presence item is defined by this mechanism. The optional ContentChange attribute is available also for this element. The syntax and represantation of the contents are not in the scope of this document. The presence servers and proxies should allow the contents to refer to objects carried in the same multipart MIME
as the XML-documents containing this element.
D.10 DTD for the presence content format <!-- Root element -->

<!ELEMENT Presence ( DeviceOn I DeviceRoaming I NetworkType I
UserStatus I Preferred Contact I Preferred Defaults I LocalTime I MeasuredLoca-tion I ConvertedLocation I StatedLocation I UserEnvironment I StatusText I
Statuslmage I StatusSound I MessagingCapabilities I EmailClient I VoiceCall-Capability I MultimediaCallCapabilities I UserPresenceltem I ClientTypeRequest ClientType I ClientPresenceItem I ExtPresence) >

<!ATTLIST Presence Version NMTOKENS #REQUIRED >
<!ELEMENT DeviceOn (#PCDATA) >
<!ATTLIST DeviceOn Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
5 DeviceName NMTOKEN #IMPLIED >
<!ELEMENT DeviceRoaming (#PCDATA) >
<!ATTLIST DeviceRoaming 10 Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
DeviceName NMTOKEN #IMPLIED >
<!ELEMENT NetworkType (#PCDATA) >
<!ATTLIST NetworkType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
DeviceName NMTOKEN #IMPLIED >
<!ELEMENT UserStatus (#PCDATA) >
<!ATTLIST UserStatus Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT PreferredContact (#PCDATA) >

<!ATTLIST Preferred Contact Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT Preferred Defaults ((TimePeriod, PrefCont)*) >

<!ATTLIST Preferred Defaults Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT TimePeriod (PeriodStart, PeriodEnd, Repetition Period?, Period Precedence) >

<!ELEMENT PeriodStart (#PCDATA) >
<!ELEMENT PeriodEnd (#PCDATA) >
<!ELEMENT Repetition Period (#PCDATA) >
<!ELEMENT Period Precedence (#PCDATA) >
<!ELEMENT PrefCont (#PCDATA) >

<!ELEMENT LocalTime (#PCDATA) >
<!ATTLIST LocalTime Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED

ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT Measured Location (#PCDATA) >
<!ATTLIST Measured Location Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
Accuracy NMTOKEN #IMPLIED >
<!ELEMENT Converted Location (#PCDATA) >

<!ATTLIST Converted Location Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT StatedLocation (#PCDATA) >
<!ATTLIST StatedLocation Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT UserEnvironment (EnvAttributes+) >
<!ATTLIST UserEnvironment Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED

Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT EnvAttributes (#PCDATA) >
<!ELEMENT StatusText (#PCDATA) >
<!ATTLIST StatusText Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT Statusimage (#CDATA) >
<!ATTLIST Statusimage Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ImageType NMTOKEN #IMPLIED >

<!ELEMENT StatusSound (#CDATA) >
<!ATTLIST StatusSound Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
SoundType NMTOKEN #IMPLIED >

<!ELEMENT MessagingCapabilities (MessType*) >

<!ATTLIST MessagingCapabilities Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT MessType (#PCDATA) >

<!ELEMENT EmailClient (EmaiiClientType*) >
<!ATTLIST EmailClientType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT EmailClientType (#PCDATA) >
<!ELEMENT VoiceCallCapability (#PCDATA) >
<!ATTLIST VoiceCallCapability Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT MultimediaCallCapabilities (MMCap*) >
<!ATTLIST MultimediaCallCapabilities Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED

ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT MMCap (#PCDATA) >

5 <!ELEMENT UserPresenceltem (#PCDATA) >
<!ATTLIST UserPresenceltem Class NMTOKEN #IMPLIED
10 ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ExtRef PUBIDLITERAL #IMPLIED
ExtRefChange NMTOKEN #IMPLIED >
<!ELEMENT ClientTypeRequest (EMPTY) >
<!ATTLIST ClientTypeRequest Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT ClientType (ClientName, ClientManufacturer, ClientVer-sion) >

<!ATTLIST ClientType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT ClientName (#PCDATA) >

<!ELEMENT ClientManufacture (#PCDATA) >

<!ELEMENT ClientVersion (#PCDATA) >

<!ELEMENT ClientPresenceltem (ClientType, CliPresltem) >
<!ATTLIST ClientPresenceltem Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ContentChange NMTOKEN #IMPLIED >

<!ELEMENT CliPresltem (#PCDATA) >
<!ELEMENT ExtPresence (#PCDATA) >
<!ATTLIST ExtPresence Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ContentChange NMTOKEN #IMPLIED >
<!-- End of DTD -->

D.11 DTD for PresenceNames The DTD for PresenceNames is the same as for Presence except that only the presence item names and attributes are included. No presence values are used.

<!-- Root element -->

<!ELEMENT PresenceNames ( DeviceOn I DeviceRoaming I Net-workType I UserStatus I Preferred Contact I Preferred Defaults I LocalTime MeasuredLocation I Converted Location StatedLocation I UserEnvironment StatusText I Statuslmage I StatusSound MessagingCapabilities I EmailClient I
VoiceCallCapability I Multimedia Call Capabilities I UserPresenceltem I Client-TypeRequest I ClientType I ClientPresenceltem I ExtPresence) >

<!ATTLIST PresenceNames Version NMTOKENS #REQUIRED >
<!ELEMENT DeviceOn (EMPTY) >

<!ATTLIST DeviceOn Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
DeviceName NMTOKEN #IMPLIED >
<!ELEMENT DeviceRoaming (EMPTY) >
<!ATTLIST DeviceRoaming Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
DeviceName NMTOKEN #IMPLIED >
<!ELEMENT NetworkType (EMPTY) >
<!ATTLIST NetworkType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED

DeviceName NMTOKEN #IMPLIED >

<!ELEMENT UserStatus (EMPTY) >
<!ATTLIST UserStatus Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT PreferredContact (EMPTY) >
<!ATTLIST PreferredContact Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT Preferred Defaults (EMPTY) >
<!ATTLIST Preferred Defa u Its Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT LocalTime (EMPTY) >
<!ATTLIST LocalTime Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED

ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT MeasuredLocation (EMPTY) >
<!ATTLIST MeasuredLocation Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
Accuracy NMTOKEN #IMPLIED >
<!ELEMENT Converted Location (EMPTY) >

<!ATTLIST Converted Location Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT StatedLocation (EMPTY) >

<!ATTLIST StatedLocation Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT UserEnvironment (EMPTY) >
<!ATTLIST UserEnvironment Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED

Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT StatusText (EMPTY) >

<!ATTLIST StatusText Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
10 Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT Statuslmage (EMPTY) >

15 <!ATTLIST Statuslmage Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
20 ValidityPeriod NMTOKEN #IMPLIED
ImageType NMTOKEN #IMPLIED >
<!ELEMENT StatusSound (EMPTY) >

25 <!ATTLIST StatusSound Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
30 ValidityPeriod NMTOKEN #IMPLIED
SoundType NMTOKEN #IMPLIED >
<!ELEMENT MessagingCapabilities (EMPTY) >

35 <!ATTLIST MessagingCapabilities Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT EmailClient (EMPTY) >
<!ATTLIST EmailClientType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT VoiceCallCapability (EMPTY) >
<!ATTLIST VoiceCallCapability Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >

<!ELEMENT MultimediaCallCapabilities (EMPTY) >
<!ATTLIST MultimediaCallCapabilities Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT UserPresenceltem (EMPTY) >

<!ATTLIST UserPresenceltem Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ExtRef PUBIDLITERAL #IMPLIED
ExtRefChange NMTOKEN #IMPLIED >
<!ELEMENT ClientType (EMPTY) >

<!ATTLIST ClientType Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED >
<!ELEMENT ClientPresenceltem (EMPTY) >
<!ATTLIST ClientPresenceltem Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ContentChange NMTOKEN #IMPLIED >
<!ELEMENT ExtPresence (EMPTY) >

<!ATTLIST ExtPresence Class NMTOKEN #IMPLIED
ID PUBIDLITERAL #IMPLIED
Cacheability NMTOKEN #IMPLIED
ValidityPeriod NMTOKEN #IMPLIED
ContentChange NMTOKEN #IMPLIED >

<!-- End of DTD -->

It will be evident to those skilled in the art that as technology ad-vances, the inventive concept can be implemented in many different ways.
Therefore the invention and its embodiments are not limited to the above exam-ples but may vary within the scope and spirit of the appended claims.

Claims (55)

What is claimed is:
1. A mobile messaging system comprising at least one client device and a server, wherein the client device comprises means for transmitting presence information as presence attributes to the server and means for receiving presence attributes from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, and the server comprises means for maintaining presence information based on the received presence attributes, wherein the client device comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and the client device comprising means for processing a received presence attribute according to the qualifier parameters in said received attribute.
2. A system according to claim 1, wherein the client device comprises means for specifying in the qualifier presentation settings of the attribute, and the cllent device comprises means for presenting the received attribute on the basis of the qualifier.
3. A system according to claim 1, wherein the client device comprises means for specifying in said qualifier an application to which the attribute should be addressed, and the client device comprises means for addressing the received attribute to the application indicated by the qualifier.
4. A system according to any one of claims 1 to 3, wherein the server comprises means for determining on the basis of the qualifier whether to send the attribute to one or more client devices.
5. A mobile messaging system comprising at least one client device and a server, wherein the client device comprises means for transmitting presence information as presence attributes to the server and means for receiving presence attributes from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein the server comprises means for maintaining presence information based on received presence attributes, wherein the client device comprises means for composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, wherein the server further comprises means for searching for an already stored attribute containing the same identifiers as a received attribute and means for replacing said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute, and the client device further comprises means for searching for an already stored attribute containing same identifiers as a received attribute and means for replacing said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.
6. A mobile messaging system according to any one of claims I to 5, wherein the presence attributes received from the client device by the server are stored in a database according to a publisher user in association with a presence group.
7. A mobile messaging system according to any one of claims I to 6, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
8. A mobile messaging system according to claim 7, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
9. A mobile messaging system according to any one of claims 1 to 8, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
10. A mobile messaging system according to claim 9, wherein a user of said client device as a publisher is able to use said client device or more than one client device in more than one publisher role.
11. A mobile client device for mobile messaging system, said client device comprising means for transmitting presence information as presence attributes to a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein said client device further comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
12. A mobile client device for mobile messaging system, said client device comprising means for receiving presence information from a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein said client device further comprises means for adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and means for processing a received presence attribute according to the qualifier parameters in said received attribute.
13. A mobile client device for mobile messaging system, said client device comprising means for transmitting presence information as presence attributes to a server, and means for receiving presence attributes from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, wherein said client device further comprises means for composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, means for searching for an already stored attribute containing the same identifiers as a received attribute, and means for replacing said already stored attribute with said received attribute If the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.
14. A mobile client device according to any one of the claims 11 to 13, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
15. A mobile client device according to claim 14, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
16. A mobile client device according to any one of the claims 11 to 15, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
17. A mobile client device according to claim 16, wherein a user of said mobile client device as a publisher is able to use said client device or more than one client device in more than one publisher role.
18. A server for a mobile messaging system, said server comprising means for maintaining presence information based on received presence attributes, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means for receiving a presence attribute comprising a qualifier, the qualifier comprising one or more parameters specifying the use of the attribute, and means for processing a received presence attribute according to the qualifier parameters in said received attribute.
19. A server according to claim 18, wherein the presence attributes received from a client device by the server is stored in a database according to a publisher user in association with a presence group.
20. A server according to claim 18 or 19, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
21. A server according to claim 20, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
22. A server according to any one of the claims 18 to 21, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
23. A server according to claim 22, wherein a user of a client device in communication with said server acting as a publisher is able to use said client device or more than one client device in more than one publisher role.
24. An apparatus comprising means configured to transmit presence information as presence attributes to a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, and means configured to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
25. An apparatus comprising means configured to receive presence information from a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and means configured to process a received presence attribute according to the qualifier parameters in said received attribute.
26. An apparatus comprising means configured to transmit presence information as presence attributes to a server, means configured to receive presence information from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to compose a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, means configured to search for an already stored attribute containing the same identifiers as a received attribute, and means configured to replace said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.
27. An apparatus according to any one of the claims 24 to 26, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
28. An apparatus according to claim 27, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
29. An apparatus according to any one of the claims 24 to 28, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
30. An apparatus according to claim 29, wherein a user of said mobile client device as a publisher is able to use said client device or more than one client device in more than one publisher role.
31. An apparatus comprising means configured to maintain presence information based on received presence attributes, said presence information being categorized by a plurality of presence attribute types identified by attribute name, means configured to receive a presence attribute comprising a qualifier, the qualifier comprising one or more parameters specifying the use of the attribute, and means configured to process a received presence attribute according to the qualifier parameters in said received attribute.
32. An apparatus according to claim 31, wherein the presence attributes received from a client device by the server is stored in a database according to a publisher user in association with a presence group.
33. An apparatus according to claim 31 or 32, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
34. An apparatus according to claim 33, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
35. An apparatus according to any one of the claims 31 to 34, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
36. An apparatus according to claim 35, wherein a user of a client device in communication with said server acting as a publisher is able to use said client device or more than one client device in more than one publisher role.
37. A method comprising transmitting presence information as presence attributes to a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, and adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
38. A method comprising receiving presence information from a server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, adding a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute, and processing a received presence attribute according to the qualifier parameters in said received attribute.
39. A method comprising transmitting presence information as presence attributes to a server, receiving presence information from the server, said presence information being categorized by a plurality of presence attribute types identified by attribute name, composing a presence information attribute identified by a combination of an authorizer, an attribute name and a qualifier, the authorizer specifying the body responsible for maintaining the attribute and the qualifier specifying the use of the attribute, searching for an already stored attribute containing the same identifiers as a received attribute, and replacing said already stored attribute with said received attribute if the combination of identifiers of said received attribute is identical to that of said already stored attribute or otherwise adding said received attribute.
40. A method according to any one of the claims 37 to 39, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
41. A method according to claim 40, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
42. A method according to any one of the claims 37 to 41, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
43. A method according to claim 42, wherein a user of said mobile client device as a publisher is able to use said client device or more than one client device in more than one publisher role.
44. A method comprising maintaining presence information based on received presence attributes, said presence information being categorized by a plurality of presence attribute types identified by attribute name, receiving a presence attribute comprising a qualifier, the qualifier comprising one or more parameters specifying the use of the attribute, and processing a received presence attribute according to the qualifier parameters in said received attribute.
45. A method according to claim 44, wherein the presence attributes received from a client device by the server is stored in a database according to a publisher user in association with a presence group.
46. A method according to claim 44 or 45, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
47. A method according to claim 46, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
48. A method according to any one of the claims 44 to 47, wherein a presence set comprises one or more presence attributes belonging to a single publisher role of a publisher user in association with a single presence group.
49. A method according to claim 48, wherein a user of a client device in communication with said server acting as a publisher is able to use said client device or more than one client device in more than one publisher role.
50. A computer-readable medium embodying a computer program for storage in a physical device, said computer program comprising computer program code for causing the physical device to transmit presence information as presence attributes, the presence information being categorized by a plurality of presence attributes identified by attribute name, and to add a qualifier to a presence attribute, the qualifier comprising one or more parameters specifying the use of the attribute.
51. A computer-readable medium according to claim 50, wherein each presence attribute is part of an item including an attribute name element and an attribute value.
52. A computer-readable medium according to claim 51, wherein said name element includes an authority string indicative of an authority responsible for keeping said name element and attribute value unique.
53. A computer-readable medium according to any one of claims 50 to 52, wherein a presence set comprises one or more presence attributes belong to a single publisher role of a publisher user in association with a single presence group.
54. A computer-readable medium according to claim 53, wherein a user of said physical device as a publisher is able to use said physical device in more than one publisher role.
55. A physical device having a computer-readable medium stored therein according to any one of claims 50 to 54.
CA2445768A 2001-05-11 2002-05-10 Mobile instant messaging and presence service Expired - Lifetime CA2445768C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29012301P 2001-05-11 2001-05-11
US60/290,123 2001-05-11
FI20012158 2001-11-07
FI20012158A FI114429B (en) 2001-11-07 2001-11-07 Mobile instant messaging system has client device which adds qualifier with attribute use specifying parameters to presence attribute to be sent, and processes received presence attribute based on qualifier
PCT/FI2002/000403 WO2002093959A1 (en) 2001-05-11 2002-05-10 Mobile instant messaging and presence service

Publications (2)

Publication Number Publication Date
CA2445768A1 CA2445768A1 (en) 2002-11-21
CA2445768C true CA2445768C (en) 2012-10-23

Family

ID=26161233

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2445768A Expired - Lifetime CA2445768C (en) 2001-05-11 2002-05-10 Mobile instant messaging and presence service

Country Status (16)

Country Link
US (1) US9848305B2 (en)
EP (2) EP1528754B1 (en)
JP (2) JP2004532478A (en)
KR (1) KR100653935B1 (en)
CN (1) CN100446579C (en)
AT (2) ATE293871T1 (en)
AU (1) AU2002255030B2 (en)
CA (1) CA2445768C (en)
CY (1) CY1107212T1 (en)
DE (2) DE60224455D1 (en)
DK (1) DK1528754T3 (en)
ES (1) ES2240734T3 (en)
HK (1) HK1076557A1 (en)
MX (1) MXPA03010213A (en)
PT (1) PT1528754E (en)
WO (1) WO2002093959A1 (en)

Families Citing this family (279)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US8364136B2 (en) 1999-02-01 2013-01-29 Steven M Hoffberg Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system
US7701925B1 (en) * 2000-03-22 2010-04-20 Tekelec Presence registration and routing node
ATE293871T1 (en) 2001-05-11 2005-05-15 Nokia Corp MOBILE INSTANT MESSAGING AND PRESENCE SERVICE
US8644475B1 (en) 2001-10-16 2014-02-04 Rockstar Consortium Us Lp Telephony usage derived presence information
US7192235B2 (en) * 2001-11-01 2007-03-20 Palm, Inc. Temporary messaging address system and method
US7299286B2 (en) * 2001-12-27 2007-11-20 Nortel Networks Limited Personal user agent
GB0202370D0 (en) * 2002-02-01 2002-03-20 Symbian Ltd Pinging
JP2005518114A (en) * 2002-02-14 2005-06-16 アバイア テクノロジー コーポレーション Presence tracking and namespace interconnect technology
US8918073B2 (en) * 2002-03-28 2014-12-23 Telecommunication Systems, Inc. Wireless telecommunications location based services scheme selection
US9154906B2 (en) 2002-03-28 2015-10-06 Telecommunication Systems, Inc. Area watcher for wireless network
US6771991B1 (en) * 2002-03-28 2004-08-03 Motorola, Inc. Graphics and variable presence architectures in wireless communication networks, mobile handsets and methods therefor
US8027697B2 (en) 2007-09-28 2011-09-27 Telecommunication Systems, Inc. Public safety access point (PSAP) selection for E911 wireless callers in a GSM type system
US8126889B2 (en) 2002-03-28 2012-02-28 Telecommunication Systems, Inc. Location fidelity adjustment based on mobile subscriber privacy profile
US20030186699A1 (en) * 2002-03-28 2003-10-02 Arlene Havlark Wireless telecommunications location based services scheme selection
US8290505B2 (en) 2006-08-29 2012-10-16 Telecommunications Systems, Inc. Consequential location derived information
US7426380B2 (en) 2002-03-28 2008-09-16 Telecommunication Systems, Inc. Location derived presence information
US7139797B1 (en) 2002-04-10 2006-11-21 Nortel Networks Limited Presence information based on media activity
US7035923B1 (en) 2002-04-10 2006-04-25 Nortel Networks Limited Presence information specifying communication preferences
US7702726B1 (en) * 2002-04-10 2010-04-20 3Com Corporation System and methods for providing presence services in IP network
US7552204B2 (en) * 2002-05-15 2009-06-23 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US6996409B2 (en) * 2002-06-26 2006-02-07 Level Z, L.L.C. Multi-party concurrence through short message service exchanges
US6757722B2 (en) * 2002-07-16 2004-06-29 Nokia Corporation System and method for providing partial presence notifications
US8392609B2 (en) 2002-09-17 2013-03-05 Apple Inc. Proximity detection for media proxies
US7555108B2 (en) * 2002-10-01 2009-06-30 Nortel Networks Limited Presence information for telephony users
WO2004034719A1 (en) * 2002-10-09 2004-04-22 Nokia Corporation A communication system
US7848767B2 (en) 2002-10-15 2010-12-07 Tekelec Methods and systems for migrating between application layer mobile signaling protocols
US7023980B2 (en) * 2002-12-04 2006-04-04 Avaya Technology Corp. Outbound dialing decision criteria based
US8666397B2 (en) 2002-12-13 2014-03-04 Telecommunication Systems, Inc. Area event handling when current network does not cover target area
US8335860B2 (en) * 2002-12-19 2012-12-18 Nokia Corporation Filtering application services
US20040122901A1 (en) * 2002-12-20 2004-06-24 Nortel Networks Limited Providing computer presence information to an integrated presence system
US7523165B2 (en) * 2002-12-24 2009-04-21 Telefonaktiebolaget L M Ericsson (Publ) Transmission of application information and commands using presence technology
US7257218B2 (en) * 2002-12-30 2007-08-14 Nortel Networks Limited Presence enabled queue management
US20040128391A1 (en) * 2002-12-31 2004-07-01 Robert Patzer Method and system for managing a validity period in association with a presence attribute
US7711810B2 (en) 2003-01-03 2010-05-04 Nortel Networks Limited Distributed services based on presence technology
US7474741B2 (en) * 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
EP1786173B1 (en) 2003-01-22 2013-06-26 NEC Corporation Dynamic buddy list generation method
EP1458161A1 (en) * 2003-03-14 2004-09-15 Siemens Aktiengesellschaft Method and apparatus for interoperability between the presence services according to the Wireless Village standard and the IP Multimedia Subsystem standard
US7835504B1 (en) 2003-03-16 2010-11-16 Palm, Inc. Telephone number parsing and linking
US7231229B1 (en) 2003-03-16 2007-06-12 Palm, Inc. Communication device interface
CN1301018C (en) * 2003-04-02 2007-02-14 华为技术有限公司 Information treatment method in communication system
US20040201668A1 (en) * 2003-04-11 2004-10-14 Hitachi, Ltd. Method and apparatus for presence indication
EP1629457B1 (en) * 2003-05-20 2011-11-23 America Online, Inc. Presence and geographic location notification
US20040248597A1 (en) * 2003-06-09 2004-12-09 Mathis James Earl Direct response system with instant messaging and role based contact lists for replacing a dispatch system
US7363378B2 (en) 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
FR2857479A1 (en) * 2003-07-09 2005-01-14 France Telecom DEVICE AND METHOD FOR PROCESSING PRESENCE DATA
US20050009537A1 (en) * 2003-07-11 2005-01-13 Crocker Ronald T. Method and apparatus for facilitating wireless presence-based services
US7660898B2 (en) * 2003-07-29 2010-02-09 At&T Intellectual Property I, L.P. Presence enhanced telephony service architecture
DE10340386B3 (en) * 2003-08-29 2005-01-27 Siemens Ag Updating method for keeping data on presence current as allocated to a user of a communications service transmits data about the status of a registered user's presence to a server for storage
US20050055405A1 (en) * 2003-09-04 2005-03-10 International Business Machines Corporation Managing status information for instant messaging users
US20050055412A1 (en) * 2003-09-04 2005-03-10 International Business Machines Corporation Policy-based management of instant message windows
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US20050060423A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US7162256B2 (en) * 2003-09-30 2007-01-09 Avaya Technology Corp. Presence-based telecommunications system
US7366532B2 (en) * 2003-10-09 2008-04-29 Motorola, Inc. Group call management through receive/transmit synchronization
KR100584316B1 (en) * 2003-10-17 2006-05-26 삼성전자주식회사 System and method for synchronizing the presence attributes between the terminal and data server
CN1307832C (en) * 2003-11-11 2007-03-28 华为技术有限公司 Method for helping user select connecting mode for communication terminal
JP4349100B2 (en) * 2003-11-21 2009-10-21 沖電気工業株式会社 Voice communication system and management server
US9118574B1 (en) 2003-11-26 2015-08-25 RPX Clearinghouse, LLC Presence reporting using wireless messaging
US7451190B2 (en) * 2003-11-26 2008-11-11 Yahoo! Inc. Associating multiple visibility profiles with a user of a real-time communication system
US7424293B2 (en) 2003-12-02 2008-09-09 Telecommunication Systems, Inc. User plane location based service using message tunneling to support roaming
US9026653B2 (en) * 2003-12-03 2015-05-05 At&T Mobility Ii Llc Identifying a device to a network
EP1542430A1 (en) * 2003-12-09 2005-06-15 Siemens Aktiengesellschaft Method and arrangement for automated predictive presence service
US7260186B2 (en) 2004-03-23 2007-08-21 Telecommunication Systems, Inc. Solutions for voice over internet protocol (VoIP) 911 location services
US20080126535A1 (en) 2006-11-28 2008-05-29 Yinjun Zhu User plane location services over session initiation protocol (SIP)
US20080090546A1 (en) 2006-10-17 2008-04-17 Richard Dickinson Enhanced E911 network access for a call center using session initiation protocol (SIP) messaging
US8443092B2 (en) * 2003-12-23 2013-05-14 Alcatel Lucent Presentity filtering for user preferences
GB2409787B (en) 2003-12-29 2007-10-03 Nokia Corp A communications system
US8443115B2 (en) * 2003-12-31 2013-05-14 Motorola Mobility Llc Method and system for managing access to presence attribute information
US20050169223A1 (en) * 2004-01-16 2005-08-04 Crocker Ronald T. Method and apparatus for facilitating a PTT session initiation using an IP-based protocol
US8171084B2 (en) 2004-01-20 2012-05-01 Microsoft Corporation Custom emoticons
US8458277B2 (en) * 2004-01-22 2013-06-04 Verizon Business Global Llc Method and system for providing universal relay services
CN100396060C (en) * 2004-02-06 2008-06-18 华为技术有限公司 Method for implementing messenger message transfer
US20050198545A1 (en) * 2004-02-12 2005-09-08 Sony Corporation Automatic user device presence registration system
US20050186940A1 (en) * 2004-02-23 2005-08-25 Schatzberger Richard J. System and method for managing content of a remote device based on use probability
US20050188403A1 (en) * 2004-02-23 2005-08-25 Kotzin Michael D. System and method for presenting and editing customized media streams to a content providing device
US20050188406A1 (en) * 2004-02-23 2005-08-25 Gielow Christopher C. System and method for managing applications and media content of a wireless communication device
US9398152B2 (en) 2004-02-25 2016-07-19 Avaya Inc. Using business rules for determining presence
JP4317061B2 (en) * 2004-03-16 2009-08-19 株式会社日立製作所 Presence information sharing method and system
US20050210514A1 (en) * 2004-03-18 2005-09-22 Kittlaus Dag A System and method for passive viewing of media content and supplemental interaction capabilities
US7272634B2 (en) * 2004-03-18 2007-09-18 Sony Corporation System and method for integrating multiple messaging systems
US20050210508A1 (en) * 2004-03-19 2005-09-22 Lau Vincent W System and method for managing time-go-live information of media content
US8229454B1 (en) 2004-03-22 2012-07-24 Avaya Inc. Personal location information management
DE102004015261B4 (en) * 2004-03-29 2007-04-12 Siemens Ag Method for automatically generating current presence information and apparatus for carrying out the method
CN1939033B (en) * 2004-03-29 2012-01-11 诺基亚西门子通信有限责任两合公司 Method for managing presence data of a telecommunications subscriber group and device for carrying out said method
JP4202309B2 (en) 2004-03-30 2008-12-24 富士通株式会社 Presence system and presence management method
FI117313B (en) 2004-04-05 2006-08-31 Nokia Corp Message handling method in telecommunication system, involves obtaining capability data relating to client terminal and checking whether obtained data comprises upper-level application that is supported by client terminal
JP4214941B2 (en) * 2004-04-09 2009-01-28 日本電気株式会社 Presence information providing system, method and server
US20050256959A1 (en) * 2004-04-13 2005-11-17 Magnus Svensson Method of and system for multimedia messaging system interoperability
US20050232184A1 (en) * 2004-04-15 2005-10-20 Utstarcom, Incorporated Network presence updating apparatus and method
US7496623B2 (en) 2004-04-23 2009-02-24 Yahoo! Inc. System and method for enhanced messaging including a displayable status indicator
US7496633B2 (en) * 2004-04-23 2009-02-24 Yahoo! Inc. System and method facilitating a shared content experience using enhanced messaging including a displayable status indicator
US7379461B2 (en) * 2004-04-26 2008-05-27 Alcatel Lucent System and method for indicating network quality of service capability as a presence attribute of an end-user
US7698307B2 (en) 2004-05-01 2010-04-13 Microsoft Corporation System and method for synchronizing between a file system and presence of contacts on a network
US7607096B2 (en) * 2004-05-01 2009-10-20 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US8239452B2 (en) * 2004-05-01 2012-08-07 Microsoft Corporation System and method for discovering and publishing of presence information on a network
CN100370790C (en) * 2004-05-27 2008-02-20 腾讯科技(深圳)有限公司 Method for controlling instant messages in instant messaging system
US20050289096A1 (en) * 2004-06-23 2005-12-29 Nokia Corporation Method, system and computer program to enable SIP event-based discovery of services and content within a community built on context information
JP4829111B2 (en) * 2004-06-25 2011-12-07 一 福嶋 Communication model, signal, method and apparatus
DE102004048552A1 (en) * 2004-10-04 2006-04-13 Nec Europe Ltd. A method for providing information concerning broadcast content to a user
SE0402396D0 (en) * 2004-10-05 2004-10-05 Ericsson Telefon Ab L M Refresh or cached terminal capabilities data
US7509093B2 (en) * 2004-10-07 2009-03-24 Nokia Corporation Apparatus and method for indicating proximity co-presence for social application using short range radio communication
US7113128B1 (en) * 2004-10-15 2006-09-26 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US7629926B2 (en) * 2004-10-15 2009-12-08 Telecommunication Systems, Inc. Culled satellite ephemeris information for quick, accurate assisted locating satellite location determination for cell site antennas
US6985105B1 (en) * 2004-10-15 2006-01-10 Telecommunication Systems, Inc. Culled satellite ephemeris information based on limiting a span of an inverted cone for locating satellite in-range determinations
US7921193B2 (en) * 2004-10-16 2011-04-05 Alcatel Lucent System and method for leveraging end-users' preferences for efficient communications
US7454781B2 (en) * 2004-11-08 2008-11-18 Nokia Corporation Method enabling multiple sessions and applications in instant messaging and presence service
JP5069814B2 (en) * 2004-11-19 2012-11-07 株式会社ホロン Judgment method of measured value
US20060112177A1 (en) * 2004-11-24 2006-05-25 Microsoft Corporation Method and system for controlling access to presence information on a peer-to-peer basis
US7593743B2 (en) * 2004-12-03 2009-09-22 Sony Ericsson Mobile Communications, Ab Methods, systems, and computer program products for updating availability information in voice-call applications
US7689655B2 (en) * 2004-12-06 2010-03-30 Aol Inc. Managing and collaborating with digital content using a dynamic user interface
US20060167977A1 (en) * 2004-12-15 2006-07-27 Alcatel Presence system and method for transforming device view of presentity preferences into media view
GB0428533D0 (en) * 2004-12-30 2005-02-09 Nokia Corp Presence services in a wireless communications network
US7921369B2 (en) * 2004-12-30 2011-04-05 Aol Inc. Mood-based organization and display of instant messenger buddy lists
US20060195532A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Client-side presence documentation
FR2883436A1 (en) * 2005-03-21 2006-09-22 Alcatel Sa Presence service providing method for e.g. public radiotelephone network, involves querying databases to provide information constituting characteristics of presence context of calling user for determining characteristics of context
JP4977329B2 (en) * 2005-03-29 2012-07-18 日本電気株式会社 Presence service system, presence device, presence service method, and program
JP4416686B2 (en) * 2005-04-01 2010-02-17 株式会社日立製作所 Status information management system, status information management server, status information management program
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US20060239234A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Application programming interface for discovering endpoints in a serverless peer to peer network
US20060248184A1 (en) * 2005-04-29 2006-11-02 Alcatel System and method for managing user groups in presence systems
US20060248185A1 (en) * 2005-04-29 2006-11-02 Morris Robert P System and method for utilizing a presence service to advertise activity availability
KR100709010B1 (en) * 2005-05-24 2007-04-18 에스케이 텔레콤주식회사 Method and apparatus for differentially providing my presence in mobile instant messenger service and system including the apparatus
US7567553B2 (en) 2005-06-10 2009-07-28 Swift Creek Systems, Llc Method, system, and data structure for providing a general request/response messaging protocol using a presence protocol
CN100461774C (en) * 2005-06-20 2009-02-11 华为技术有限公司 Method for subscribing presence information
US8660573B2 (en) 2005-07-19 2014-02-25 Telecommunications Systems, Inc. Location service requests throttling
CN100426802C (en) * 2005-07-22 2008-10-15 华为技术有限公司 Method of providing existant information
US7650337B2 (en) * 2005-07-26 2010-01-19 Microsoft Corporation Managing rich presence collections
US20070027915A1 (en) * 2005-07-29 2007-02-01 Morris Robert P Method and system for processing a workflow using a publish-subscribe protocol
US7697941B2 (en) 2005-08-02 2010-04-13 Sony Ericsson Mobile Communications Ab Updating presence in a wireless communications device
CN101218572B (en) * 2005-08-15 2011-07-27 富士通株式会社 Communication method and computer system
US20070049288A1 (en) * 2005-08-24 2007-03-01 Lamprecht Leslie J Creating optimum temporal location trigger for multiple requests
CN100417243C (en) * 2005-09-23 2008-09-03 华为技术有限公司 Method and system of obtaining information
US9282451B2 (en) 2005-09-26 2016-03-08 Telecommunication Systems, Inc. Automatic location identification (ALI) service requests steering, connection sharing and protocol translation
EP1768366A1 (en) * 2005-09-27 2007-03-28 Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO Determination of presence information about a presentity by analysing an audio signal from a terminal associated with the presentity
CN1852303B (en) * 2005-09-28 2010-12-08 华为技术有限公司 Chat room relate information obtaining method
WO2007037018A1 (en) * 2005-09-29 2007-04-05 Fujitsu Limited Presence communication system
US7825780B2 (en) * 2005-10-05 2010-11-02 Telecommunication Systems, Inc. Cellular augmented vehicle alarm notification together with location services for position of an alarming vehicle
US7907551B2 (en) 2005-10-06 2011-03-15 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) location based 911 conferencing
US8467320B2 (en) 2005-10-06 2013-06-18 Telecommunication Systems, Inc. Voice over internet protocol (VoIP) multi-user conferencing
EP1775912B1 (en) * 2005-10-11 2016-01-20 Alcatel Lucent Method for evaluating an additional service for a device of a user of a telecommunication system
US20070088839A1 (en) * 2005-10-19 2007-04-19 Nortel Networks Limited Local time related presence automation and session control
EP1788762B1 (en) * 2005-11-21 2009-12-23 Research In Motion Limited A method for regulating instant messaging traffic
US20070124386A1 (en) * 2005-11-21 2007-05-31 Research In Motion Limited Method for regulating instant messaging traffic
JP4616758B2 (en) * 2005-11-30 2011-01-19 富士通株式会社 Presence management method and presence management apparatus
US7889716B2 (en) * 2005-12-01 2011-02-15 Tekelec Methods, systems, and computer program products for using an E.164 number (ENUM) database for message service message routing resolution among 2G and subsequent generation network systems
US7512880B2 (en) * 2005-12-23 2009-03-31 Swift Creek Systems, Llc Method and system for presenting published information in a browser
US20070168420A1 (en) * 2005-12-30 2007-07-19 Morris Robert P Method and apparatus for providing customized subscription data
CN100428677C (en) * 2006-01-21 2008-10-22 华为技术有限公司 Authorized rule for extending public group in presenting authorized strategy
US7587450B2 (en) 2006-02-01 2009-09-08 Swift Creek Systems, Llc HTTP publish/subscribe communication protocol
WO2007091646A1 (en) * 2006-02-08 2007-08-16 Matsushita Electric Industrial Co., Ltd. Imps system, imps client device, imps server device, imps providing method, and imps providing program
EP1989894B1 (en) * 2006-02-15 2019-02-13 Tekelec Global, Inc. Methods, systems, and computer program products for selectively processing or redirecting signaling connection control part (sccp) messages
US8150363B2 (en) 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
US8059789B2 (en) 2006-02-24 2011-11-15 Telecommunication Systems, Inc. Automatic location identification (ALI) emergency services pseudo key (ESPK)
US9167553B2 (en) 2006-03-01 2015-10-20 Telecommunication Systems, Inc. GeoNexus proximity detector network
US7899450B2 (en) 2006-03-01 2011-03-01 Telecommunication Systems, Inc. Cellular augmented radar/laser detection using local mobile network within cellular network
US7471236B1 (en) * 2006-03-01 2008-12-30 Telecommunication Systems, Inc. Cellular augmented radar/laser detector
US20070208702A1 (en) * 2006-03-02 2007-09-06 Morris Robert P Method and system for delivering published information associated with a tuple using a pub/sub protocol
CN100484106C (en) 2006-03-24 2009-04-29 华为技术有限公司 Method for processing exposure information
CN101047523B (en) * 2006-03-29 2012-01-04 松下电器产业株式会社 Server and method for providing on-line person state
US8108345B2 (en) 2006-03-31 2012-01-31 Microsoft Corporation Managing rich presence collections in a single request
US9462069B2 (en) * 2006-03-31 2016-10-04 Alcatel Lucent Presence management proxying methods and devices
US8843560B2 (en) * 2006-04-28 2014-09-23 Yahoo! Inc. Social networking for mobile devices
US8208605B2 (en) 2006-05-04 2012-06-26 Telecommunication Systems, Inc. Extended efficient usage of emergency services keys
JP4812508B2 (en) * 2006-05-12 2011-11-09 富士通株式会社 System that handles presence information
US8804573B2 (en) * 2006-06-15 2014-08-12 Oracle International Corporation Method and system for inferring presence of a principal based on past presence information
US9112881B2 (en) * 2006-06-15 2015-08-18 Oracle International Corporation Presence-based caller identification
US8964955B2 (en) * 2006-06-15 2015-02-24 Oracle International Corporation Presence-based message waiting indicator and missed calls
US20080005294A1 (en) * 2006-06-30 2008-01-03 Morris Robert P Method and system for exchanging messages using a presence service
US8688822B2 (en) * 2006-07-05 2014-04-01 Oracle International Corporation Push e-mail inferred network presence
US7787445B2 (en) 2006-07-20 2010-08-31 Tekelec Methods, systems, and computer program products for routing and processing ENUM queries
EP2858307B1 (en) 2006-08-14 2019-05-08 Samsung Electronics Co., Ltd System and method for presence notification based on presence attribute
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
WO2008034252A2 (en) * 2006-09-20 2008-03-27 Mobivox Corp. Method and system for triggering internet applications using messages
US8316117B2 (en) 2006-09-21 2012-11-20 At&T Intellectual Property I, L.P. Personal presentity presence subsystem
US20080077653A1 (en) * 2006-09-26 2008-03-27 Morris Robert P Methods, systems, and computer program products for enabling dynamic content in a markup-language-based page using a dynamic markup language element
US20080082613A1 (en) * 2006-09-28 2008-04-03 Yahoo! Inc. Communicating online presence and mood
US20080082820A1 (en) * 2006-10-03 2008-04-03 Motorola, Inc. Method and apparatus for determining availability of a remote party based on interaction with coupled devices
US7752554B2 (en) * 2006-10-05 2010-07-06 Microsoft Corporation Bot identification and control
US7966013B2 (en) 2006-11-03 2011-06-21 Telecommunication Systems, Inc. Roaming gateway enabling location based services (LBS) roaming for user plane in CDMA networks without requiring use of a mobile positioning center (MPC)
DE102006054284A1 (en) 2006-11-17 2008-05-21 Deutsche Telekom Ag Accessibility managing method for electronic management system, involves signalizing contact request of contact over communication medium to terminal, where terminal is composed of information, which is not accessed by related user
US20080120337A1 (en) * 2006-11-21 2008-05-22 Fry Jared S Method And System For Performing Data Operations Using A Publish/Subscribe Service
US20080134088A1 (en) * 2006-12-05 2008-06-05 Palm, Inc. Device for saving results of location based searches
US20080133599A1 (en) * 2006-12-05 2008-06-05 Palm, Inc. System and method for providing address-related location-based data
US20080134030A1 (en) * 2006-12-05 2008-06-05 Palm, Inc. Device for providing location-based data
US8285312B2 (en) 2006-12-06 2012-10-09 Research In Motion Limited Method and apparatus for deriving presence information using message traffic analysis
US8254551B2 (en) * 2006-12-07 2012-08-28 Tekelec, Inc. Methods, systems, and computer program products for providing quality of service using E.164 number mapping (ENUM) data in a communications network
US9330190B2 (en) * 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
US20080167018A1 (en) * 2007-01-10 2008-07-10 Arlene Havlark Wireless telecommunications location based services scheme selection
US8150003B1 (en) 2007-01-23 2012-04-03 Avaya Inc. Caller initiated undivert from voicemail
US20080183816A1 (en) * 2007-01-31 2008-07-31 Morris Robert P Method and system for associating a tag with a status value of a principal associated with a presence client
US8050386B2 (en) 2007-02-12 2011-11-01 Telecommunication Systems, Inc. Mobile automatic location identification (ALI) for first responders
US20080208982A1 (en) * 2007-02-28 2008-08-28 Morris Robert P Method and system for providing status information relating to a relation between a plurality of participants
US9203918B2 (en) 2007-03-15 2015-12-01 Nokia Technologies Oy Pulling information from information sources via refer requests
EP2130169A1 (en) * 2007-03-23 2009-12-09 Telefonaktiebolaget LM Ericsson (PUBL) Internet exchange broker method and system
US20080254811A1 (en) * 2007-04-11 2008-10-16 Palm, Inc. System and method for monitoring locations of mobile devices
US9031583B2 (en) * 2007-04-11 2015-05-12 Qualcomm Incorporated Notification on mobile device based on location of other mobile device
US9140552B2 (en) 2008-07-02 2015-09-22 Qualcomm Incorporated User defined names for displaying monitored location
US20080270546A1 (en) * 2007-04-30 2008-10-30 Morris Robert P Methods And Systems For Communicating Task Information
US20080285542A1 (en) * 2007-05-18 2008-11-20 Alcatel Lucent Location based presence groups
DE102007023841A1 (en) * 2007-05-21 2008-12-04 Vodafone Holding Gmbh Method for providing presence information over availability status of terminal of subscriber, involves assigning call number to internet identifier, which is gathered from two terminals to assemble communication connection
US9083758B2 (en) * 2007-06-11 2015-07-14 Nokia Technologies Oy System and method for using presence information
US7996541B2 (en) * 2007-06-15 2011-08-09 Tekelec Methods, systems, and computer program products for identifying a serving home subscriber server (HSS) in a communications network
US20090037582A1 (en) * 2007-07-31 2009-02-05 Morris Robert P Method And System For Managing Access To A Resource Over A Network Using Status Information Of A Principal
US8538000B2 (en) * 2007-08-10 2013-09-17 Tekelec, Inc. Methods, systems, and computer program products for performing message deposit transaction screening
CN101809605B (en) * 2007-08-14 2014-04-09 三星电子株式会社 Method and system for SIP based dynamic advertisement of presence information
EP2196014A4 (en) 2007-09-17 2014-12-24 Telecomm Systems Inc Emergency 911 data messaging
KR101442168B1 (en) 2007-11-05 2014-09-19 삼성전자주식회사 Method for Displaying a Other Party's Terminal Information by Using the Presence and Mobile Terminal Thereof
US20090132660A1 (en) * 2007-11-16 2009-05-21 Arenanet, Inc. Network chat device and methods thereof
US7929530B2 (en) 2007-11-30 2011-04-19 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
US9130963B2 (en) 2011-04-06 2015-09-08 Telecommunication Systems, Inc. Ancillary data support in session initiation protocol (SIP) messaging
FR2926178A1 (en) * 2008-01-03 2009-07-10 Alcatel Lucent Sas METHOD FOR NOTIFYING THE ENVIRONMENT OF A USER TO HELP CHOOSE A MEDIA RESOURCE
US8645474B2 (en) * 2008-02-29 2014-02-04 Microsoft Corporation Self-described rendering of data
EP2258128B1 (en) 2008-03-07 2017-01-11 Tekelec Global, Inc. Methods, systems, and computer readable media for routing a message service message through a communications network
US20090254970A1 (en) * 2008-04-04 2009-10-08 Avaya Inc. Multi-tier security event correlation and mitigation
US8244782B2 (en) 2008-05-05 2012-08-14 Motorola Solutions, Inc. Role-based operational communications directory
EP2117189B1 (en) 2008-05-09 2010-07-14 Research In Motion Limited System and method for updating presence information in instant messaging applications on a mobile device
US8600923B2 (en) * 2008-05-29 2013-12-03 Blackberry Limited Method and system for adding an aspect trigger to an aspect
WO2009152512A2 (en) * 2008-06-13 2009-12-17 Tekelec Methods, systems, and computer readable media for providing presence data from multiple presence information providers
US8930828B2 (en) * 2008-06-22 2015-01-06 Microsoft Corporation Distinguishing conference participants
US8068587B2 (en) 2008-08-22 2011-11-29 Telecommunication Systems, Inc. Nationwide table routing of voice over internet protocol (VOIP) emergency calls
US8892128B2 (en) 2008-10-14 2014-11-18 Telecommunication Systems, Inc. Location based geo-reminders
US8525681B2 (en) 2008-10-14 2013-09-03 Telecommunication Systems, Inc. Location based proximity alert
US8831645B2 (en) * 2008-11-24 2014-09-09 Tekelec, Inc. Methods, systems, and computer readable media for providing geo-location proximity updates to a presence system
WO2010060087A2 (en) 2008-11-24 2010-05-27 Tekelec Systems, methods, and computer readable media for location-sensitive called-party number translation in a telecommunications network
CN101753475B (en) * 2008-12-04 2015-02-25 上海智臻网络科技有限公司 Method and device for realizing real-time communication among a plurality of members in real-time communication group
US9021014B2 (en) * 2009-03-25 2015-04-28 Tekelec, Inc. Methods, systems, and computer readable media for providing home subscriber server (HSS) proxy
US9301191B2 (en) 2013-09-20 2016-03-29 Telecommunication Systems, Inc. Quality of service to over the top applications used with VPN
US8867485B2 (en) 2009-05-05 2014-10-21 Telecommunication Systems, Inc. Multiple location retrieval function (LRF) network having location continuity
WO2010132436A2 (en) * 2009-05-11 2010-11-18 Tekelec Methods, systems, and computer readable media for providing scalable number portability (np) home location register (hlr)
EP2254309A1 (en) * 2009-05-20 2010-11-24 Thomson Licensing Method for sending data of a service
US9258376B2 (en) * 2009-08-04 2016-02-09 At&T Intellectual Property I, L.P. Aggregated presence over user federated devices
US8301581B2 (en) 2009-09-24 2012-10-30 Avaya Inc. Group compositing algorithms for presence
US8958306B2 (en) 2009-10-16 2015-02-17 Tekelec, Inc. Methods, systems, and computer readable media for providing diameter signaling router with integrated monitoring functionality
TWI409692B (en) * 2009-10-29 2013-09-21 Mitac Int Corp Method of simultaneously displaying states of a plurality of internet communication software of a plurality of contacts in address books of and related communication device
WO2011106690A2 (en) 2010-02-25 2011-09-01 Tekelelec Systems, methods, and computer readable media for using a signaling message routing node to provide backup subscriber information management service
US8995965B1 (en) * 2010-03-25 2015-03-31 Whatsapp Inc. Synthetic communication network method and system
US9628831B2 (en) 2010-03-25 2017-04-18 Whatsapp, Inc. Multimedia transcoding method and system for mobile devices
KR20110121888A (en) * 2010-05-03 2011-11-09 삼성전자주식회사 Apparatus and method for determining the pop-up menu in portable terminal
US20120006610A1 (en) 2010-07-09 2012-01-12 Erik Wallace Telematics enhanced mobile device safety interlock
WO2012005769A1 (en) 2010-07-09 2012-01-12 Telecommunication Systems, Inc. Location privacy selector
FR2965437A1 (en) * 2010-09-27 2012-03-30 France Telecom MODULE AND METHOD FOR COLLECTING NON-DECLARATIVE INFORMATION IMPLEMENTED BY A TELECOMMUNICATIONS TERMINAL
US8688087B2 (en) 2010-12-17 2014-04-01 Telecommunication Systems, Inc. N-dimensional affinity confluencer
US8942743B2 (en) 2010-12-17 2015-01-27 Telecommunication Systems, Inc. iALERT enhanced alert manager
CN102546970B (en) * 2010-12-20 2015-04-22 阿尔卡特朗讯 Method and device for issuing presence information
CN103385012B (en) 2010-12-23 2016-08-10 泰克莱克股份有限公司 For revising the method for Diameter signaling message, system and the equipment of billing function node to be mail to
US8682321B2 (en) 2011-02-25 2014-03-25 Telecommunication Systems, Inc. Mobile internet protocol (IP) location
CN103493522B (en) 2011-03-03 2016-12-07 泰科来股份有限公司 For enriching the method for Diameter signaling message, system and computer-readable medium
CN103493436B (en) 2011-03-18 2016-10-05 泰科来股份有限公司 Method, apparatus and system for configurable diameter address resolution
US8649806B2 (en) 2011-09-02 2014-02-11 Telecommunication Systems, Inc. Aggregate location dynometer (ALD)
US9479344B2 (en) 2011-09-16 2016-10-25 Telecommunication Systems, Inc. Anonymous voice conversation
WO2013048551A1 (en) 2011-09-30 2013-04-04 Telecommunication Systems, Inc. Unique global identifier for minimizing prank 911 calls
US9313637B2 (en) 2011-12-05 2016-04-12 Telecommunication Systems, Inc. Wireless emergency caller profile data delivery over a legacy interface
US9264537B2 (en) 2011-12-05 2016-02-16 Telecommunication Systems, Inc. Special emergency call treatment based on the caller
US9100796B2 (en) 2011-12-15 2015-08-04 Tekelec, Inc. Methods, systems, and computer readable media for seamless roaming between diameter and non-diameter networks
US8984591B2 (en) 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9384339B2 (en) 2012-01-13 2016-07-05 Telecommunication Systems, Inc. Authenticating cloud computing enabling secure services
US8688174B2 (en) 2012-03-13 2014-04-01 Telecommunication Systems, Inc. Integrated, detachable ear bud device for a wireless phone
US9544260B2 (en) 2012-03-26 2017-01-10 Telecommunication Systems, Inc. Rapid assignment dynamic ownership queue
US9307372B2 (en) 2012-03-26 2016-04-05 Telecommunication Systems, Inc. No responders online
US9338153B2 (en) 2012-04-11 2016-05-10 Telecommunication Systems, Inc. Secure distribution of non-privileged authentication credentials
US20130346517A1 (en) * 2012-06-26 2013-12-26 Magnet Systems, Inc. Personal mode contextual presence
WO2014028712A1 (en) 2012-08-15 2014-02-20 Telecommunication Systems, Inc. Device independent caller data access for emergency calls
US8990375B2 (en) 2012-08-31 2015-03-24 Facebook, Inc. Subscription groups in publish-subscribe system
US9208346B2 (en) 2012-09-05 2015-12-08 Telecommunication Systems, Inc. Persona-notitia intellection codifier
US9578128B2 (en) * 2012-10-29 2017-02-21 Google Inc. Systems and methods for message delivery to mobile devices supporting multiple users
US9456301B2 (en) 2012-12-11 2016-09-27 Telecommunication Systems, Inc. Efficient prisoner tracking
US8855654B2 (en) 2013-01-28 2014-10-07 Tekelec Global, Inc. Methods, systems, and computer readable media for tracking and communicating long term evolution (LTE) handset communication capability
US9189510B2 (en) 2013-02-26 2015-11-17 Facebook, Inc. System and method for implementing cache consistent regional clusters
US8983047B2 (en) 2013-03-20 2015-03-17 Telecommunication Systems, Inc. Index of suspicion determination for communications request
JP5973378B2 (en) * 2013-04-26 2016-08-23 ビッグローブ株式会社 Communication terminal, communication system, communication method, and program
KR20170142215A (en) * 2013-07-02 2017-12-27 콘비다 와이어리스, 엘엘씨 Mechanisms for semantics publishing and discovery
US9408034B2 (en) 2013-09-09 2016-08-02 Telecommunication Systems, Inc. Extended area event for network based proximity discovery
US9516104B2 (en) 2013-09-11 2016-12-06 Telecommunication Systems, Inc. Intelligent load balancer enhanced routing
US9479897B2 (en) 2013-10-03 2016-10-25 Telecommunication Systems, Inc. SUPL-WiFi access point controller location based services for WiFi enabled mobile devices
CN105024835B (en) * 2015-07-23 2017-07-11 腾讯科技(深圳)有限公司 Group management and device
US10204098B2 (en) * 2017-02-13 2019-02-12 Antonio GONZALO VACA Method and system to communicate between devices through natural language using instant messaging applications and interoperable public identifiers

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2962060B2 (en) 1992-07-17 1999-10-12 富士ゼロックス株式会社 Collaborative work method and apparatus
US6047327A (en) * 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
JPH09312622A (en) 1996-03-19 1997-12-02 Casio Comput Co Ltd Transmission reception system, receiver and charging method
US5903845A (en) 1996-06-04 1999-05-11 At&T Wireless Services Inc. Personal information manager for updating a telecommunication subscriber profile
CN1241343A (en) * 1996-12-23 2000-01-12 摩托罗拉公司 Method and apparatus for registering portable messaging unit in communication system
JPH10334051A (en) 1997-05-30 1998-12-18 Hitachi Ltd Information processor to control sharing of service information
JPH11177476A (en) 1997-12-12 1999-07-02 Hitachi Ltd Satellite data distribution system
CA2316386A1 (en) 1997-12-23 1999-07-01 Software.Com, Inc. System and method for controlling personal information and information delivery to and from a telecommunications device
US6512930B2 (en) 1997-12-30 2003-01-28 Telefonaktiebolaget Lm Ericsson (Publ) On-line notification in a mobile communications system
JP2000099417A (en) 1998-09-21 2000-04-07 Casio Comput Co Ltd Device and method for delivering mail
SE9900710L (en) 1999-02-25 2000-08-26 Ericsson Telefon Ab L M Method and device relating to communication networks for mobile phones
JP3840831B2 (en) 1999-03-25 2006-11-01 カシオ計算機株式会社 Information processing device
WO2000070807A2 (en) 1999-05-14 2000-11-23 Utok Inc. A method and system for user communication through internet notes
JP2000332814A (en) 1999-05-18 2000-11-30 Casio Comput Co Ltd Mail data output device, mail data proxy output device and storage medium
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
KR20010021111A (en) 1999-07-23 2001-03-15 스테븐 디.피터스 Messaging and status indication for wireless communication devices
US6549768B1 (en) * 1999-08-24 2003-04-15 Nokia Corp Mobile communications matching system
IL149180A0 (en) * 1999-10-22 2002-11-10 Comverse Ltd Personal instant communication system
US20020065894A1 (en) * 1999-12-03 2002-05-30 Dalal Siddhartha R. Local presence state and user-controlled presence and message forwarding in unified instant messaging
US7603411B1 (en) 1999-12-14 2009-10-13 Nortel Networks Limited Presence management system
EP1254573A2 (en) 2000-01-26 2002-11-06 Invertix Corporation Method and apparatus for sharing mobile user event information between wireless networks and fixed ip networks
US6697840B1 (en) * 2000-02-29 2004-02-24 Lucent Technologies Inc. Presence awareness in collaborative systems
JP4442007B2 (en) * 2000-03-30 2010-03-31 Kddi株式会社 System for providing group communication to mobile terminals
US6781972B1 (en) 2000-03-31 2004-08-24 Lucent Technologies Inc. Method and system for subscriber-configurable communications service
GB2367451A (en) 2000-05-22 2002-04-03 Fonepark Ltd Communication of location information
US6968179B1 (en) 2000-07-27 2005-11-22 Microsoft Corporation Place specific buddy list services
US6668173B2 (en) * 2000-12-15 2003-12-23 Motorola, Inc. Instant message user location tracking system
CN1249973C (en) 2000-12-29 2006-04-05 诺基亚公司 Presence and session handling information
US20020116336A1 (en) * 2001-02-05 2002-08-22 Athanassios Diacakis Method and device for displaying contact information in a presence and availability management system
US6714791B2 (en) * 2001-02-23 2004-03-30 Danger, Inc. System, apparatus and method for location-based instant messaging
US20030018704A1 (en) * 2001-03-08 2003-01-23 Vasilis Polychronidis Network presence and location agent
AU2002241198A1 (en) * 2001-03-14 2002-09-24 Nokia Corporation Separation of instant messaging user and client identities
ATE293871T1 (en) 2001-05-11 2005-05-15 Nokia Corp MOBILE INSTANT MESSAGING AND PRESENCE SERVICE
FI114429B (en) 2001-11-07 2004-10-15 Nokia Corp Mobile instant messaging system has client device which adds qualifier with attribute use specifying parameters to presence attribute to be sent, and processes received presence attribute based on qualifier
US7124372B2 (en) * 2001-06-13 2006-10-17 Glen David Brin Interactive communication between a plurality of users
US6658095B1 (en) * 2002-03-19 2003-12-02 Nortel Networks Limited Customized presence information delivery

Also Published As

Publication number Publication date
JP2004532478A (en) 2004-10-21
DK1528754T3 (en) 2008-03-31
WO2002093959A1 (en) 2002-11-21
EP1528754A1 (en) 2005-05-04
JP4668952B2 (en) 2011-04-13
EP1397923A1 (en) 2004-03-17
HK1076557A1 (en) 2006-01-20
JP2007280416A (en) 2007-10-25
ATE383026T1 (en) 2008-01-15
CN1526246A (en) 2004-09-01
US9848305B2 (en) 2017-12-19
CA2445768A1 (en) 2002-11-21
US20030065788A1 (en) 2003-04-03
DE60203798T2 (en) 2006-02-09
DE60224455D1 (en) 2008-02-14
AU2002255030B2 (en) 2006-08-10
EP1397923B1 (en) 2005-04-20
EP1528754B1 (en) 2008-01-02
PT1528754E (en) 2008-02-08
KR20030096373A (en) 2003-12-24
CY1107212T1 (en) 2012-11-21
MXPA03010213A (en) 2004-03-10
CN100446579C (en) 2008-12-24
KR100653935B1 (en) 2006-12-04
ATE293871T1 (en) 2005-05-15
DE60203798D1 (en) 2005-05-25
ES2240734T3 (en) 2005-10-16

Similar Documents

Publication Publication Date Title
CA2445768C (en) Mobile instant messaging and presence service
AU2002255030A1 (en) Mobile instant messaging and presence service
US7293271B2 (en) Systems and methods for event semantic binding in networks
EP2490409B1 (en) System and method for managing multiple external identities of users with local or network based address book
CN101355797B (en) Method for obtaining user terminal equipment information and communication service function entity
KR101635906B1 (en) Method for providing the communication history
US20040255302A1 (en) Systems and methods for content and service registration, query and subscription, and notification across local service discovery domains
US20050235038A1 (en) Method of and apparatus for server-side management of buddy lists in presence based services provided by a communication system
US20060133407A1 (en) Content sharing in a communication system
BRPI0502439B1 (en) METHOD AND SERVER FOR CREATING AND MANAGING A MOBILE STATION GROUP FOR A COMMUNICATION SESSION IN A COMMUNICATION NETWORK, AND MOBILE STATION, DETELECOMMUNICATION SYSTEM AND MEDIA THAT CAN BE READ ON CORRELATED MACHINE
US8064575B1 (en) Method and system for transmission of messages via multiple messaging servers
CN101115094B (en) Method for providing communication service and system and trigger device
Salinas Advantages and disadvantages of using presence service
CN102007784A (en) Cpm service provisioning system and method for interworking with non-cpm service
KR100976317B1 (en) Method and apparatus for storage and interaction of a subscriber identification of a wireless terminal
FI114429B (en) Mobile instant messaging system has client device which adds qualifier with attribute use specifying parameters to presence attribute to be sent, and processes received presence attribute based on qualifier
Schmidt et al. Service Location using the Session Initiation Protocol (SIP)
BRPI0209592B1 (en) mobile messaging, mobile client device, server, presence system, presence client program, physical device, and data structure
Devlić et al. Location-aware content delivery service using publish/subscribe
KR101180768B1 (en) System and method for making out a party address book to provide party members&#39; mobile phone
Akerkar Improving'Presence'Situation in the SIP Based IP Telephony Networks

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20220510