Note: Descriptions are shown in the official language in which they were submitted.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
PRESENCE MANAGEMENT SYSTEM USING CONTEXT INFORMATION
Background of the Invention
Field of the Invention
This invention relates to a presence management system for
use in a multiple access communications network, and in
particular, but not limited to, a presence management system
that is arranged to accept input information about non
communication related events which occur outside said
multiple access communications network.
Description of the urior art
Telecommunication users of today are faced with ever
increasing choice over how they communicate. A typical user
has several different kinds of communications terminal such
as mobile telephones, fax machines, personal computers, lap-
top computers . Also a typical user also often has more that
one of a given type of communications terminal, for example,
more than on E-mail account, or home and work telephone
numbers. This produces complexity and confusion both for
senders and receivers of communications.
Receivers of communications have to work hard to field
all incoming communications and such users often find that
interruptions from alerts, such as telephone calls and
instant messages, are intrusive.
Typically, receivers of communications have little
control over what communications are received, at which
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
2
times, and in which modes. In face to face communications,
humans are able to control the degree of interaction which
they allow with particular people or groups. However, with
today's communication networks the degree and resolution of
the control of electronically mediated communications is much
less. For. example, telephone numbers are often fully public
(in a directory) and are typically issued on demand to others
who explicitly ask and know the full address. Also, a
telephone number, once released to others, has continuing
validity unless the telephone number is changed at great
inconvenience and expense. Similar problems apply for email
addresses. This means that it is easy for others, such as
salesmen or nuisance callers to contact you more times than
desired. In order to prevent this problem, telephone numbers
and email addresses may be withheld but this gives the
disadvantage of isolating the "owner" of the telephone number
or email address.
Senders of communications also experience problems
because they are often unsure about which mode of
communication to use at a given time for a particular
destination. In order to determine the most appropriate
method of access there are many factors to be considered.
These include factors to do with the sender such as what they
are. trying to communicate and factors to do with the receiver
such as where the intended recipient is and what they are
doing at the time.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
3
Two examples of instant messaging services are now
described:
Microsoft Network (MSN) messenger service
MSN messenger service is an instant messaging service
for use on the Internet. Users are able to identify when
others are online and to send and receive instant messages.
By identifying when others are online it is possible to send
an instant message to other online individuals or to
communicate with several other online individuals at once.
In this way the communication and messages are more "real
time" than conventional email for example, where an email
message may simply remain in an individual's email inbox for
some time before it is accessed. The service enables a user
to identify when another party in an Internet conversation is
typing at their computer terminal keyboard. That is, using
the instant message service it is possible to "talk" to more
than one person at a time in a similar way to an online chat
session. Tl~e user is also able to control which other
parties are able to identify or "see" when the user is online
and also to control who is able to send messages to the user.
In this respect the MSN service differs from conventional
online chat programs. Automatic notification of receipt of
messages is provided. However, instant messages in MSN
messenger service have a temporary quality. Unless the user
deliberately saves.these messages they are lost when the
message service is shut down. This contrasts with
conventional email messages in most email systems which
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
4
remain until a user actively deletes them. Information about
MSN messenger service is provided on the Internet at
htta: Jimessenaer .m.sn.com.
ICQ ("I seek you°)
ICQ,is an instant messaging-service for Internet users.
It is a program that enables users to identify others who are
online and which alerts users when specified individuals log
onto the ICQ service. This removes the need for a directory
search to be made each time a user wants to communicate with
a specific person.
Using ICQ, messages, files and web pages can be sent to
other online users of ICQ in real time and ICQ also supports
chat, voice, message board, data conferencing and Internet
games. When a new user installs ICQ the user is prompted to
register.at a server which is connected to a broad network of
other servers spanning the Internet. In the registration
process the user receives a unique ICQ identifier'number and
is able to enter personal information. When the registered
user logs onto the Internet the ICQ system detects this and
allows other ICQ users to recognise that that user has logged
on. The registered user is able to compile a list of friends
and associates (these friends and associates must also be
registered with ICQ or a compatible instant messaging
service) and the ICQ system determines when these individuals
are logged onto the Internet. Alerting messages are sent to
the user to inform him or her when members of the list of
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
friends and associates sign on or off the ICQ system. Users
are also able to control who contacts them and to hide their
presence on the Internet when this is required. Information
about ICQ is given on the Internet at htt~:1%u~~,a.i~.-.:~.Com.
5 Some instant messaging services include so called "buddy
lists" which are lists of other users of that instant
messaging service which have been selected by an individual
user as being those of interest. The individual user is then
informed whether or not the members of the "buddy list" are
currently using and available for contact via the instant
messaging service. Such buddy lists are essentially
attributes of the owning user and do not have any autonomous
status in the instant messaging system, thus playing only a
passive role therein.
Other instant messaging systems such as America On-
line's Instant Messenger (trade mark) offer broadly similar
capabilities to ICQ.
Known instant messaging systems such as MSN and ICQ do
not deal with multiple access communications networks and are
based on the Internet only. This is disadvantageous because
the functions of the instant messaging systems are only
available via the Internet.
Unified messaging systems are known, such as Nortel
Network's own product CALL PILOT (trade mark). This enables
fax, email and voice mail messages to be received via a
single "in box" and users are able to set up filters to allow
only certain messages to reach them. For example, users are
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
6
able to listen to textual email messages converted
automatically into speech using their mobile telephone and
are able to filter out non-urgent messages. However, this is
not a presence management system and does not monitor the
activity of users on a communications network.
Products are available which act as communications
network based "secretaries" to take a user's calls. For
example, WILDFIRE (trade mark) produced by Wildfire
communications, Inc and PORTICO (trade mark) produced by
General Magic, Inc. The WILDFIRE product uses speech
recognition to help users manager their phone, fax and email
communications. This product dials outgoing calls, announces
callers using a voice recording that is played back, records
contact details and is able to route incoming calls to any
telephone specified by a user. However, this system is not a
presence management system because it does not obtain and
manage information about the activities of users and monitor
their "presence" on the communications network. Also, it is
not an instant messaging system and does not enable users who
are trying to contact another user to obtain information
about the best mode and time to do this. Details about the
WILDFIRE product are available on the Internet at
~,~nv~,a.~,a.~_~nf.i..re.~~om.. Details about PORTICO are available on the
Internet at yl7VTyY. ~eneral.Tr;aay.c . cc~n. PORTICO is similar to
WILDFIRE and is limited in the same respects as PORTICO.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
7
It is accordingly an object of the present invention to
provide a presence management system which overcomes or at
least mitigates one or more of the problems noted above.
Summary of the Iaveatioa
According to an aspect of the present invention there is
provided, a presence management system suitable for.use in a
multiple access communications network, by watching parties
and watched parties, said presence management system
comprising:
(i) A first input arranged to receive notification requests
from watching parties in use, each notification request
being in respect of a watched party;
(ii) A second input arranged to receive information about
events, relating to said watched parties, at least some
of said events being non-communication related events
which occur outside said multiple access communications
network; and
(iii) A processor arranged such that in use, when information
about an event relating to a particular watched party is
received, any watching parties who made notification
requests about. that particular watched party are
notified about the event.
A corresponding computer program stored on a computer
readable medium is also provided, said computer program being
adapted to control a presence management system, said
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
8
presence management system being suitable for use in a
multiple access communications network by watching parties
and watched parties, said computer program being arranged to
control said presence management system such that:-
(i) notification requests are received from watching
parties, each notification request being in respect of a
watched party;
(ii) information about events is received, relating to said
watched parties, at least some of said events being non
communication related events which occur outside said
multiple access communications network; and
(iii)when information about an event relating to a particular
watched party is received, any watching parties who made
notification requests about that particular watched
party are notified about the event.
According to another aspect of the present invention there is
provided a multiple access communications network comprising
a presence management system, said presence management system
being arranged to manage connections between watching parties
and watched parties, said presence management system
comprising:-
(i) A first input arranged to receive notification requests
from watching parties in use, each notification request
being in respect of a watched party;
(ii) A second input arranged to receive information about
events, relating to said watched parties, at least some
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
9
of said events being non-communication related events
which occur outside said multiple access communications
network; and
(iii) A processor arranged such that in use, when information
about an event relating to a particular watched party is
received, any watching parties who made notification
requests about that particular watched party are
notified about the event.
A corresponding method of operating a presence
management system suitable for use in a multiple access
communications network is provided, said presence management
system being for use by watching parties and watched parties,
at least one of said parties being an automated service, said
method comprising the steps of:
(i) receiving notification requests from watching parties in
use, each notification request being in respect of a
watched party;
(ii) Receiving information about events, relating to said
watched parties, at least some of said events being non
communication related events which occur outside said
multiple access communications network; and
(ii) when information about an event relating to a particular
watched party is received, notifying any watching
parties who made notification requests about that
particular watched party, about the event.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
This provides the advantage that information about
events occuring outside the multiple access communications
network is available to the presence management system and
this improves the performance and ability of the system. For
5 example, information about credit card transactions involving
a watched party are used by the presence management system to
provide information about the geographical location and
current activity of a watched party. Such information
enables cross-checks to be made on the other information
10 available to the presence management system and is also
accurate and up-to-date. Also, large amounts of context
information are provided from such events. For example,
hotel registration events may be provided by a third party
hotel company to the presence management system. A hotel
check-in event provides a wealth of context information about
the current activity and likely future activity of a watched
party. For these reasons the performance of the presence
management system is improved.
Further benefits and advantages of the invention will
become apparent from a consideration of the following
detailed description given with reference to the accompanying
drawings, which specify and show preferred embodiments of the
invention.
Brief descri~tioa of the drawings
Figure 1 is a schematic diagram of a presence management
system.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
11
Figure 2 is a schematic diagram of the presence management
system of Figure 1 with a conference call service as a
watching party.
Figure 3 is a schematic diagram of the presence management
system of Figure 1 with a ticket agency service as a watched
party.
Figure 4 is a schematic diagram of the presence management'
system of Figure 1 with an aggregate of watching parties and
an aggregate of watched parties.
Figure 5 is a schematic diagram of a presence management
system.
Figure 6 is a schematic diagram of an event gateway.
Figure 7 is a flow diagram for another example of a computer
program for controlling a presence management system.
Figure 8 is a schematic diagram illustrating the use of
"partially interpreted event triggers".
Detailed description of the invention
Embodiments of the present invention are described below
by way of example only. These examples represent the best
ways of putting the invention into practice that are
currently known to the Applicant although they are not the
only ways in which this could be achieved.
The term "multiple acces s communications network" is
used to refer to a communications network which comprises
several different types of communications network and which
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
12
can be accessed using a plurality of different types of
terminal which also comprise part of the communications
network. The ,communications network can be accessed by a
plurality of such terminals at any one time. For example, a
public switched telephone network that is connected to a
mobile telephone network is a multiple access communications
network. This is because the overall network is made up of
two different types of communications network and the overall
network can be accessed using many different types of
terminal such as a conventional telephone handset, a
facsimile machine, a mobile telephone or a modem. A multiple
access communications network can be thought of as a
"federated" network and the component communications networks
within a multiple access communications network can be
connection-less networks (e. g. the Internet) or connection
oriented networks (e. g. public switched telephone networks).
The term "access communications network" is used to
refer to a communications network which is situated on the
'edge or periphery of a core communications network and
through which users gain access to the core communications
network.
The term "presence management system" is used to refer
to an automated system for use in a communications network
which provides a single point of presence for a user of that
communications network. A point of presence is a~source of
information about whether a user is available for contact on
a communications network, where that user is located on the
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
13
network, and in which mode that user should preferably be
contacted in. A presence management system provides a single
point of presence despite the fact that a user has more than
one terminal for accessing the communications network in
different modes and possibly by different access
communications networks. A presence management system also
provides context information rather than just raw presence
information. Raw presence information is unprocessed
information about the availability, location and capability
of a user on the communications network. A presence
management system processes raw presence information
according to rules or other pre-specified criteria about
users in order to provide context information that is simpler
and easier for human operators to understand.
Figure 1 illustrates a presence management system 10
which is connected to a multiple access communications
network 11. Also connected to the multiple access
communications network 11 are a plurality of watching parties
12 and a plurality of watched parties 13. In Figure 1, each
watching party 12 and each watched party 13 is shown as
having a single connection to the multiple access
communications network 11. However, this is not necessarily
the case. For example, a watched party 13 can be an
individual who has access to the multiple access
communications network' via a mobile telephone, a lap-top
computer and via two different personal computers.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
14
Similarly, a watching party may have more than one connection
to the multiple access communications network.
Each' watched party 13 registers with the presence
management system 10, and is given a unique presence
management identifier. During the registration process each
watched party 13 enters personal information which is
recorded in a store 14 in the presence management system 10.
For example, this information includes the watched party's
email address, telephone number, and other contact details.
Context information is also included, such as information
about whether the watched party is a home worker or a
travelling salesman. Details about the watched party's
preferences are also recorded, such as which modes of
communication are preferred at which times, for example,
email messages may be permitted at any time, whilst telephone
calls may only be preferred during work hours. Some of this
information is stored in the form of rules 15 within the
presence management system. Some rules may be default rules
that are preconfigured and others are entered by watched
parties. However, it is not essential to store this
information in the form of rules 15. Any suitable form for
the information may be used.
A first input 16 is provided to the presence management
system 10 from the multiple access communications network 11.
This input 16 is termed an events input and may be provided
in the form of an events gateway (described in more detail
below). Via this first input 16 information about events
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
that occur in the multiple access communications network are
provided to the presence management system 10. In this way
events that are associated with the watched parties 13, for
example, the event of a watched party logging onto the
5 Internet, are accessed by the presence management system 10.
Other examples of events include movement of a watched party
between cells of a cellular communications network, remote
login events, or keyboard presses by a watched party on an
Internet terminal.
10 If ~a watching party 12 requires to contact a watched
party a contact request is sent to the presence management
system 10 by the watching party 12. The contact request
reaches the presence management system via a second input 17
which is termed a connection request input. These requests
15 may be received via protocols such as ICQ, IMPP (Instant
messaging and presence protocol(s)), or WAP (Wireless Access
Protocol, trade mark). In order to make this request the
watching party does not need to know any of the watched
party's direct contact details; the presence management
system identifier for the watched party is used.
A watching party 12 is also able to make a notification
request in respect of a watched party and, optionally, a
specific event. In this case the watching party 12 is
requesting to be notified when a particular type of event
occurs rather than requesting to establish contact with a
watched party. When users enter their preference details to
the presence management system, these may include
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
16
notification preferences. That is, preferences about when,
how and under what circumstances notifications should be
provided or accepted.
When the presence management system receives a contact
request it determines whether the required watched party is
available for contact and provides information about this to
the watching party who made the request. For example, the
presence management system may respond by providing a
particular contact detail for the watched party such as a
telephone number. In doing this, the presence management
system chooses the best mode of communication (e.g. cellular
phone, email or fax) after taking into account the watched
parties preferences as explained by the rules and identity of
the watching party. Alternatively, the presence management
system may inform the watching party that the watched party
is unavailable.
The watching party is able to set up a monitor by which
the presence management system informs the watching party
once the watched party becomes available. That is, the
presence management system is arranged such that when a
change of state of a watched party occurs, notifications
about that change of state are sent to watching parties who
have lodged an interest in that watched party.
In determining whether the required watched party is
available for contact, the presence management system uses
the stored information 14 about the watched party,
information about the required connection (e.g. size and
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
17
type) and also the rules 15. In addition, information about
events from the multiple access network 11 is used. For
example, a request to send an instant message at 10 pm may be
made. If the watched party is online but has configured
rules 15 such that no instant messages should be accepted
after 9 pm then the presence management system refuses the
request. However, the watched party may have set preferences
to allow family members to send instant messages at any time.
In this case, the request could be granted.
The presence management system allows watching parties
to send messages and communications to watched parties even
when those watched parties are not "present" or available on
the communications network. For example, when a watched
party is not logged onto the Internet he or she may allow the
presence management system to forward email messages and
faxes. In this respect the presence management system
differs from an instant messaging system.
Services
One or more watched parties 13 may be services and
similarly one or more watching parties 12 may be services.
For example, as shown in Figure 2 a watching party may be a
conference call service 20.
The term "service" is used to refer to an automated
service which is operable without human intervention. For
example, a computerised cinema ticket service. By allowing
watching parties or watched parties to be such services it is
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
18
possible for users of a presence management system to be
notified of conditions or availability of goods or services
without the intervention of a human operator.
Referring to Figure 2, the conference call service 20 is
able to send connection requests to the presence management
system in the same way that any other watching party 12 may,
as described above. If the conference call service is
required to set up a conference call between three or more
watched parties 13, it subscribes with the presence
management system 10 in order to be notified when changes in
the state of the required watched parties occur. The
presence management system 10 will then inform the watching
party, which in this case is a conference call service 20,
when each required watched party 13 becomes available. In
this way the conference call service 20 is able to set up a
conference call once each required watched party is
available.
However, the information about availability from the
presence management system is effectively "real time" so that
if a change in state of a watched party occurs just after the
conference call is attempted, then that party may not join
the conference call. In one example, the conference call
service may advantageously form the required watched parties
into a group or aggregate as described in more detail below.
Then, once notifications of availability are given for a
certain number of group members, or a quorum of group
members, the conference call is attempted.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
19
The watched parties 13 may record preferences and rules
about services such as conference call services 20 and these
will be taken into account by the presence management system
when it responds to requests from a conference call
5 service 20. Similarly, for other services that are watching
parties 12, watched party preferences, information and rules
are taken into account.
It is also possible for a watched party to be a service.
For example, Figure 3 illustrates a ticket agency service 30
10 which is a watched party. As for any other watched party 13,
a watched party that is a service is able to store
information 14, and rules 15 in the presence management
system 10 and to register with the system 10. G~latching
parties may send connect or notification requests to the
presence management system 10 in respect of the ticket agency
service. The notification requests contain additional
information as well a simple request to be notified of a
change of state in the ticket agency service. For example,
the notification request could be a request to be notified
about a particular type of concert ticket. Many such
notification requests by different watching parties 12 may be
made of the presence management system 10. Then, once
tickets for the particular concert become available, the
ticket agency service 30 provides information about this to
the presence management system. This information is provided
to the presence management system by virtue of an agreement
between the ticket agency service provider and the presence
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
management system provider. As such the event of the tickets
' becoming available is an example of a "partially interpreted
event trigger" as described in more detail below. The
presence management system is then able to send notifications
5 to each of the interested watching parties to inform them
that the tickets are available.
Other examples of services that may be watched parties
include news services, sports scoring services, and share
dealing services. Any suitable type of service such as those
10 where members or subscribers require to be informed of
changes may be a watched party.
Other examples of services that may be watching parties
include security services and fraud detection services.
Another example is a service which informs a user of the
15 nearest available car parking. This could use information
about geographical location of watched parties from the
presence management system. Any suitable type of service
such as those where it is required to gain information about
activities and communication states of watched parties may be
20 a watching party. Other examples include sales contact
services which initiate contacts when watched parties are
available and expected to be most receptive.
Aggregates
It is also possible for a watched party to be an
aggregate or group of watched parties. Similarly a watching
party may be an aggregate of watching parties. For example,
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
21
Figure 4 shows a situation with an aggregate of watched
parties 40 and an aggregate of watching parties 41. A group
of watched parties may advantageously be formed for many
reasons. For example, several watched parties with a common
interest such as friends may form an aggregate in order that
watching parties can monitor the presence of the group of
friends as a whole. This could be useful to arrange meetings
between the members of the group of friends. In another
example, an association of building contractors in a certain
geographical region might form an aggregate of watched
parties in order that they might be easily contactable as a
group rather than individually. A further example involves a
sales department which have several operators taking calls
(which may be telephone calls, email messages or any other
suitable type of call). An aggregate of operators is formed
in order that watching parties who request a contact with the
aggregate are allocated to the first available operator with
the relevant communication means. In another example., a
workflow application requires a purchase requisition to be
signed by two out of a group of five authorised signatories.
By using an aggregate for the authorised signatories the
request for approval is directed to the most appropriate pair
of signatories taking into account factors such as presence
of the signatories in the office and current activity of the
signatories. There are also many similar reasons why a
group of watching parties may be formed.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
22
Aggregates differ from "Buddy lists" in several
respects. (Buddy lists are described in the Prior Art
section above.) Aggregates have an autonomous status from
the "point of view" of the presence management system 10 and
are able to take actions on their own behalf whereas this is
not the case for Buddy Lists. By creating aggregates which
have an autonomous status it is possible to enable aggregates
to be used in any ways in which watched parties or watching
parties can be used. However, Buddy lists are only used for
a limited function which is pre-specified.
In order to control membership and existence of an
aggregate each aggregate may be allocated an owner. This
owner may be a member of the aggregate but this is not
essential and only the owner is able to modify or destroy the
aggregate. In this way membership and existence of the
aggregate are controlled. However, other control mechanisms
can also be used which do not involve an owner who is a
watching party or a watched party. For example, a rule base
within the presence management system could perform this
function.
Aggregates may be formed by individual watching parties
or watched parties contacting others and forming a group.
Alternatively, aggregates may be formed dynamically by an
application or service, for example, for a specific task. In
the case of the conference call service discussed above, this
service could form an aggregate of all the watched parties
(or conferencees) who are required members of the conference
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
23
call. The conference call service monitors the status of the
aggregate until say, 80~ of the aggregate members are
available for a conference call. The conference call is then
set up, starting with the owner of the aggregate (for
example). Once the call is set-up the aggregate is either
destroyed or persists until the call is finished so that late
comers can be joined to the ongoing call.
An aggregate is able to interact with the presence
management system 10 in the same way as either a watched
party 13 or a watching party 12 as described above except
that a "quorum" condition is used. For example, when a
watched party is an aggregate, when should the presence
management system indicate to watching parties that there has
been a change of state in the aggregate? Should this be when
50~ of the members of the aggregate have changed state or
only when all members have changed state? This issue is
addressed by setting a threshold -level or "quorum" condition
as to the number of aggregate members required to change
state before the aggregate as a whole is deemed to have
changed state. Similarly, when a watching party is an
aggregate, a "quorum" condition may be used to determine
factors to do with the requests made by the watching party.
For example, when should a request be made and what should
the request be? A watched party or a watching party may be a
member of more than one aggregate.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
24
Anonymity
In another example, the presence management system 10 is
arranged to provide a connection address for the watched
party. This connection address may either be a direct
address for that watched party or an indirect or forwarding
address. This enables the anonymity of watched parties to be
managed in particular situations. For example, the address
may be given to the watching party or alternatively may be
used by the presence management system 10 to forward a
connection request from the watching party to the watched
party. In this latter case, the watching party does not find
out what the connection address for the watched party is.
This gives four possibilities. The presence management
system 10 can provide a direct connection address to the
watching party. For example, this may be desired for family
members and others that are specified by the watched party.
In the second case, the presence management system 10 can
provide an indirect connection address to the watched party.
In this situation, the watched party sends communications to
a forwarding address such as a P. O. Box or similar entity
and that entity forwards the communications to the watched
party. This means that the watching party does not gain
access to the watched party's direct connection address. In
a third case, the presence management system 10- itself
forwards communications from the watching party direct to the
watched party. Again, in this case, the watching party does
not gain access to the watched party's direct connection
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
address. Finally, in the fourth case, the presence
management system 10 forwards communications from the
watching party to a forwarding address such as a P. 0. Box or
similar entity. Again the watching party does not gain
5 access to the watched party's direct connection address but
also, the presence management system 10 itself does not
' "know" this direct address.
The watched party, is able to store criteria 14 and rules
15 in the presence management system 10 which are used to
10 determine the manner and type of connection address that is
provided.
In one example, the presence management system provides
an indirect connection address to the watching party that is
only operable for a limited number of operations. This
15 provides the advantage that the watched party is. able to
receive calls from, say, sales people, but is able to limit
the number of times that the sales person is able to make
contact. In this way, the watched party is able to control
the degree of interaction with particular watched parties.
20 Similarly, the presence management system can be arranged to
forward connection requests from a watching party only for.a
certain limited period of time. It is also possible to use a
combination of these two situations, by providing an indirect
connection address to the watching party that is only
25 operable for a limited number of operations within a limited
time period. For example, a connection address for use up to
four times within one week could be issued.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
26
In another example, the presence management system
provides an indirect connection address to the watching party
that is valid only for a limited number of calls or
connection attempts. Further criteria can be used, such as
limiting validity to a certain number of successful calls or
by terminating validity if an unsuccessful call attempt is
made. Also, the presence management system can be arranged
to forward connection requests from a watching party only for
a certain limited number of calls or connection attempts.
Partially interpreted event triggers
The capabilities of the presence management system 10
are extended by using so called "partially interpreted event
triggers". These comprise non-communication related events
that are provided from a third party service and which occur
outside the multiple access communications network.
Information about these events is provided to the presence
management system 10 via the events input or gateway 16.
Figure 8 is a schematic diagram illustrating the use of
partially interpreted event triggers. A third party service
902 such as a hotel registration system or an airline check-
in system is provided and the operator of this system 902
enters into a business relationship 905 with the provider of
a presence management system 900. A watched party 903
subscribes to the presence management system 900 in the
manner described above in order to benefit from the presence
management system service. When this watched party 903
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
27
checks into a hotel using the hotel registration service 902,
then by virtue of the prior agreement 905 between the hotel
registration service 902 and the presence management system
900, information about the check-in event is provided to the
presence management system 900. The check-in event is
referred to as a "partially interpreted event trigger° and is
provided to the presence management system 900 via an event
gateway 904 in a multiple access communications network (not
shown ) . .
When the watched party 903 subscribes to the presence
management system 900, the watched party 903 is able to
specify. whether check-in events from the third party hotel
registration (or other ) service should be made available to
the presence management system. Alternatively, the watched
party, on using the external service 902 , is able to specify
whether or not partially interpreted event triggers from that
service 902 should be supplied to the presence management
system.
The external service 902 itself may involve human input
and non-automated aspects, however, the part of the externa l
service 902 which provides the partially interpreted event
triggers to the event gateway 904 is automated.
Partially interpreted event trigger information is
extremely useful because it is up-to-date and accurate.
Responses to watching party requests are then improved.as a
result of using the partially interpreted event' trigger
information. The use of partially interpreted event triggers
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
28
in this way adds to the richness -and precision of the
information provided by the presence management system 10.
The presence management system effectively models the
presence of watched parties with respect to the multiple
access communications network and the partially interpreted
event trigger information. .
One problem is that if the presence management system
gives incorrect responses to watching parties, the
consequences are often severe. For example, if a business
contract fails because of failed communication between the
parties then a user's trust in the presence management system
is quickly damaged. This typically leads users to stop using
the presence management system. . Because of this care is
taken to reduce errors and incorrect responses and use of
partially interpreted event triggers is one way in which this
is achieved. Without partially interpreted event triggers,
the information provided by a presence .management system 10
must be conservative in its specifications in order to avoid
rejection of the presence management system by users.
Examples of external services which may provide
partially interpreted event triggers include: security badge
swipe systems, hotel registration systems, airline check-in
systems and calling card systems.. The term "partially
interpreted" is used to refer to the fact that more
information is available from partially interpreted events
than just geographical location information. That is,
context information is gained, associated with different
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
29
types of events. For example, an airline check-in event at a
particular airport generally means not only that the user is
geographically at the location of the airport but also that
the user is about to board a plane (for example). This
context information is gained quickly, without the need for
the presence management system 10 to determine that the
geographical location is in the airport (for example, from
the user's mobile telephone location) and then infer that in
the context of an airport, the likely outcome is that the
user is going to board a plane. The check-in information
provides this information quickly and accurately. For
example, the presence management system, without the
partially interpreted event trigger, may have inferred
wrongly that the user was going to board a plane, when in
fact they were visiting the airport to collect someone.
More details about the presence management system are .
now described. The watching parties are also referred to as
"watchers" and the watched parties as "individuals" or
"entities" or "clients". Several definitions are now given:-
Presence: a quality exhibited by an entity within a network.
It consists of location, availability and capability.
Location: some form of spatial co-ordinates for an entity.
These may be geographical or more abstract e.g., in terms of
network topology. A location may correspond to some
addresses.
Availability: the ability of an entity to communicate at
given time. In addition to "on-line" / "off-line" status;
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
availability can represent an entity's willingness to engage
in communication.
Capability: a measure of forms and capacity of communication
an entity can engage in, e.g. due to constraints imposed by
5 the available devices.
Entity: the subject of presence information. An entity may be
a person or a service. Also referred to as a watched party or
an individual.
10 Group: a set of entities that is also itself an entity. That
is, a group has an exposed presence and may be the subject of
a subscription.
In~atcher: the target for presence information. A watcher may
be a person or a service. A person (or service) may be'both
15 an entity and a watcher. Note that different watchers may
perceive a different presence for the same entity.
Subscribe: an action of a watcher when it registers an
interest in the presence of an entity.
20 Notify: an action directed at a watcher relating to a change
in presence of an entity that was previously the subject of a
subscribe.
Presence indicator: an event external to the presence system
25 that is pertinent to an entity's presence
Raw presence: an unprocessed collection of presence
indicators (which may be related to a single entity).
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
31
Context Presence: an abstract state derived from an entity's.
raw presence according to rules defined for that entity. Not
every new presence indicator results in a change to the
context presence.
Exposed presence: a view of an entity's (context) presence
that is exposed to a watcher. It is derived according to
rules defined for that entity. Note that an entity may
exhibit a different exposed presence to different audiences.
Audience: a class of potential watchers defined by, or in
relation to, an entity. An actual watcher may be part of
several audiences for a given entity.
Partial subscribe: a subscribe action that registers interest
in part of the presence of an entity. Changes to other parts
of that entity's presence will not lead to a notification.
Note that, although an entity can be composed of other
entities (see Group) it may also have components that are not
themselves entities but can- still be discussed in terms of
their presence.
Micro-subscribe: a subscribe action that is qualified by the
watcher to facilitate differentiation by an entity's rules
between subscriptions by the same watcher. That is, two
different views of presence could be exposed to a watcher,
regarding the same entity, related to separate micro
subscriptions.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
32
Communication: an interaction involving more than one
participant in which information is transferred. A
communication is characterised by the pattern of the
interaction and by the media of the information transfer.
Interaction pattern: a message interaction, a conversational
interaction or a stream interaction, (in the context of this
architecture).
Massage interaction: an instant message, a deferred message
or an acknowledged message.
Instant massage: a message that is delivered to the other
participants) without explicit action on their part.
Deferred message: a message that is delivered to the other
participants) only after explicit action on their part, e.g.
e-mail and voice-mail.
Acknowledge massage: a message that a sender expects to
receive from the recipient.
Sender: the initiator of a message interaction.
Conversational interaction: an (interleaved) exchange of
messages, e.g. an Internet chat session.
Stream interaction: an interaction involving one or more
continuous data flows between the participants. Separate
flows may go in opposite direction between participants.
There may be several distinct flows between the same
participants in the same direction. A stream interaction can
be classified as simplex, half-duplex or (full) duplex. Note
that a 2-way voice call is a stream interaction at the
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
33
terminal level. The conversational pattern is only imposed in
the minds of the (human) participants.
Caller: the initiator of a conversational interaction or a
stream interaction.
Media: a form of representation used for transferring
information. Possible media are, files (various), text, audio
(including speech), fax and video.
Mediation: the action of transforming one kind o.f
communication into another. This may entail a media
transformation and/or an interaction pattern transformation.
Mediated communication: a communication that includes a
mediation action.
Proxy communication: a communication in which there is an
intermediary between the participants.
Third-party communication: a communication that is initiated
by a non-participant.
Service discovery: the process by which something becomes
aware of the existence of a relevant service.
Service description: a representation of what a service does
in a form that is understood by the service provider and by
the user of the service.
Service: an entity, e.g. an autonomous software component
that can participate in a communication.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
34
Figure 5 shows the presence management system 10 of
Figure 1 in more detail. Here, a plurality of watchers 12
and a plurality of watched parties 13 have access to the
presence management system 10 via a multiple access
communications network 11. In this example the multiple
access communications network comprises an Internet Protocol
communications network 50, a wireless communications network
51, and a public switched telephone network (PSTN) 52.
However, this is not essential, different types and
combinations of communications networks could be used to form
the multiple access communications network.
Inputs from the multiple access communications network
11 to the presence management system 10 are provided in the
form of event gateways 53. Also, connection requests, from
watchers 12 to the presence management system are accepted
via connection request inputs which, for example, may be
provided using the IMPP protocol 60, WAP protocol 61 or ICQ
protocol 59. Event, gateways 53 and are described in more.
detail below. In the case that the presence management
system 10 is used to establish connections between watching
parties and watched parties, then a connection from the
presence management system to the multiple access
communications network 11 is provided in the form of connect
gateways 54.
Watched party information 14 and rules 15 are stored in
the presence management system 10. When a watched party 13
registers to use the presence management system 10 a profile
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
of that watched party 13 is built up and stored in the
presence management system. A profile management system 56
within the presence management system is provided to manage
these profiles.
5 For example, an entity's profile contains the following
items which may be entered by the entity or watched party or
may be default information that is prespecified
~ Contact addresses for that entity on each of a number -of
access communications networks or component parts of an
10 access communications network.
~ A set of the possible context presence values for the
entity, e.g. "at-home", "at-work", "travelling", "not-able-
to-contact" or "unknown". For many of these the system also
holds attributes, e.g. geographical location.
15 ~ Minor changes to the default rules for moving from one
context presence to another.
~ The entity's own view of what potential audiences its
exposed presence has, e.g. family, friends, colleagues.
Members of each potential audience see a different
20 projection of the entity's presence. In application to
enterprises, the administrator is able to provide audience
definitions common to many entities (cf. E-mail
distribution lists).
~ A watcher authentication level for each audience to allow
25 the .entity to have safeguards that a watcher really does
belong to an audience.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
36
~ For some sorts of communication (e. g. instant messages
informing of new E-mail) the entity may~wish to exercise
fine-grained control and insist on the watcher making a
micro-subscription. The attributes of such a subscription
can also be subject to an entity's rules (cf. E-mail
filters)
When an entity is first registered with a presence
management system server 10 there is a substantial amount of
data capture required. In order that the work-load of the
entity is reduced reliance is put on default information and
a type of "wizard" is used to help the user enter the
required information quickly and easily. Later, the data can
be subsequently modified by the watched party or entity.
These functions are carried out by the profile management
system 56.
For example, in the case of an entity representing a
human user the interaction provided by the "wizard" data
capture process can be as follows:
~ The user chooses from a number of life-styles, "office-
worker", "travelling-salesman" or "executive". Each life-
style being represented by a template with default values.
~ Each choice leads to a dialog tailored for that choice.
For example, to establish the geographical location of the
home and of the office. Additional locations are created if
appropriate.
~ In one embodiment, the presence management system is able
to detect and capture details about the devices that the
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
37
entity uses for communicating.
~ Definitions of potential audiences for the user's presence
(family, friends etc.)
~ Finally, the user will decide which contact information is
notified to members of which audiences for what changes in
context presence.
Some parts of the configuration are complicated and these are
initially masked from the user until they press the "advanced
options" button.
The presence management system also contains a raw
presence manager 55 which manages an unprocessed collection
of presence indicators. The raw presence manager 55 orders
the presence indicators into a table or other structure which
is indexed by entity. In this way each presence indicated is
accessible on the basis of the entity to which it relates.
Large volumes of presence indicators can be stored by the raw
presence manager 55. However, by their very nature, presence
indicators become redundant once more recent presence
indicators about a given entity become available and a
process for updating presence.indicators or giving weights to
these indicators on the basis of age is provided.
The multiple access communications network 11 is made up
of one or more communications networks, such as a public
switched telephone network 52 and a wireless communications
network 51. An event gateway, specific to the type of
communications network, is provided for each communications
network or each technology, such as mobile telephones and
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
38
copper wire telephones. Note that the Internet is logically
a federation of several access networks and a core data
network using a common Internet Protocol (IP) substrate.
Event gateways receive raw data from the access
networks, pre-process this and pass it onto the raw presence
manager via one or more event inputs 16. Examples of these
events are keyboard activity on a terminal, movement between
cells in a cellular communications network and change of VLR
(Visitor Location Register) and off-hook events in a PSTN.
Other events include use of the "last offered incoming call's
service on a public switched telephone network, details from
calendar services and the opening of a Palm Pilot 7 (trade
mark) lid. Event gateways produce an authenticated, time
ordered series of location data events that have been
filtered and homogenised. That is, only information about
users being tracked by this presence system is passed to the
raw presence manager. This is achieved by using a filter in
the event gateway or in the events input 16. Also, events
are presented to the raw presence manager in a technology
neutral format (all the idiosyncrasies of different access
network technology are hidden by the event gateway as far as
possible).
An event gateway is divided into two parts. A first
part interfaces with the presence management system 10 whilst
a second part interfaces with the access network. The two
parts of the event gateway communicate using a protocol over
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
39
an interface. Different types of event gateway are provided
according to the type of access network used.
As described above a subscription is made when a watcher
registers an interest in the presence of an entity. A
subscription manager 57 is provided within the presence
management system 10 in order to manage the subscription
process.
Users or services (watching parties) outside of the
presence management system may subscribe to presence
information about particular clients (watched parties) of the
presence system. If the presence management system comprises
multiple servers this request is routed to the home server
for the client (watched party) in question. The subscription
request is made over one of a number of protocols: IMPP, WAP
or possibly ICQ. In each case the subscription request
contains a return address for notifications (e. g. an IMPP
address), some identification information for the subscriber
or watching party (so that the presence client's propagation
restrictions can be obeyed) and the identity of the presence
client about whom presence information is sought..
In one example, the lifetime of a subscription is
controlled by the subscriber, i.e.(the subscriber (watching
party) declares when its interest in a given presence client
is over. However, if the watching party does not take this
action to declare the end of its interest then old
subscriptions eventually become garbage. In one case,
subscriptions are held persistently (for fault recovery) and
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
this creates an issue of garbage collection. For example,
all subscriptions that are inactive for one hour may be
deleted.
In the case of Instant Message notification of an
5 awaiting e-mail, for example, the decision on whether the
client is "'on-line" to a particular e-mail notification may
be a function of the sender, the size and possibly of
keywords within the subject of the e-mail. Rather than the
subscriber presenting this, second order, information at the
10 point of sending the Instant Message, the initial
subscription may capture all the information upon which the
reachability decision is made. What might have been a single
subscription by an e-mail notification service regarding a
single client may then be replaced by a set of fine-grained
15 subscriptions each regarding that client's willingness to
receive a certain e-mail notification.
In this case, IMPP is extended to carry additional
parameters. This may be in the form of an XML string. For
example, in the case of an e-mail notification service, the
20 IMPP subscribe also contains <subscription-detail type="IM"
reftype="e-mail" from="fred">. One possibility is that the
presence system responds to such a subscription by asking for
further information. e.g., if the rules asserted by the
client cover the "to" field of the e-mail (i.e. who else
25 has/will receive it) then the response is to refuse the
subscription giving an appropriate reason.
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
41
The presence management system 10 also comprises an
exposed presence manager 58 as illustrated in Figure 5. As
described above '"exposed presence" is a view of an entity's
presence that is exposed to a watcher. It is derived
according to rules defined for that entity and in this way,
an entity exhibits different exposed presences to different
audiences. The function of the exposed presence manager 58
is to "decide" what information to make available to watching
parties on the basis of rules 15 and other criteria set by
watched parties or defined as defaults.
In the case that there is a change in the information
available, for example, because new information arrives via
an event gateway 53 , then the exposed presence manager 58 is
triggered. The exposed presence. manager then checks for
active subscriptions to the watched party in respect of whom
the new information has arrived. If some active
subscriptions are present, the exposed presence manager 58
consults the rules 15 and .determines what (if any)
information to make available to the watching parties who
have active subscriptions.
The presence management system 10 may also have an
interface 59 to ICQ and/or IMPP 60 or WAP 61 protocol
outputs. Information that is made available to watching
parties who have active subscriptions can be made via this
interface 59 or these outputs.
The presence management system also comprises a
connection manager 5'9 in some examples. In the cases that
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
42
the presence management system itself forwards communication
requests direct to watched parties, the connection manager 59
provides this forwarding facility using connect. gateways 54.
At least one connect gateway 54 is provided for each type of
access network. Part of the function of the connection
manager 59 is to "decide" which connect gateway 54 should be
used for a particular communication. request and to manage
changes between connect gateways 54 according to the
communication requirements. As well as this the connection
manager determines which access media is used for a given
interaction in the event that more than one access medium is
available and suitable.
In one embodiment the connection manager 59 comprises a
mediation component 62. This enables messages in one format.
e.g. voice to be changed into another format e.g. email, in
order to provide flexibility for watched parties and watching
parties. The mediation comporient 62 uses rules to decide
whether and how best to change the format of a given message.
The presence management system also comprises a raw
presence manager 55. The raw presence manager 55 obtains and
stores information from the event gateways 53 and processes
this information to form a "context presence" for each
watched party. A plurality of default contexts are, defined
such as "at home", "at work desk", "travelling" and
information received from the event gateways 53 together with
other watched party information is used to determine which
context applies for a given watched party at a particular
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
43
time. Rules are used to aid this determination process. For
example, rules for mapping location indicators onto presence
contexts are pre-defined. Watched parties are also able to
enter their own rules and presence contexts for use by the
raw presence manager 55.
The rules used by the raw presence manager 55 and the
exposed presence manager 58 are always locally resolvable.
Many of the other components of the presence management
system use rules. These may be stored in one rule base or
alternatively stored in conjunction with the particular
components of the presence management system. For example,
the connection manager 59 uses rules to decide which of
several possible connection options to prefer.
The interface between the raw presence manager 55 and
the exposed presence manager 58 may be distributed. The two
managers 55, 58 have different requirements. The raw
presence manager 55 makes only local updates to a data store
14 based on its input data. It exhibits a low latency so that
location data from event gateways 53 need not be backed up
persistently. That is, once processed by the raw presence
manager 55 any significant changes are held in the data store
14.
The exposed presence manager 58 has to engage in a
number of external interactions, over a variety of protocols
to propagate presence information to subscribers. It is
either triggered directly from the data store 14, as a reflex
to the updates made by the raw presence manager 55 or there
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
44
is a direct interface between the two.
In one embodiment a computer program stored on a
computer readable medium is provided. Figure 6 is a flow
diagram of the method implemented by the computer program.
This computer program is adapted to control a presence
management system such that connections are managed between
watching parties and watched parties. This presence
management system is suitable for use in a multiple access
communications network, and said computer program is arranged
to control said presence management system such that:-
(i) a store of watched party information is created (box 701
of Figure 6);
(ii) a set of rules about connection criteria are formed (box
702 of Figure 6);
(iii) information about events that occur in said multiple
access communications network is received in use via an
input (box 703 of Figure 6); and
(iv) connection requests are received from watchers in use;
and on receipt of a request from a watching party for a
connection with a watched party, information about
whether that watched party currently permits connections
to be established with it is provided, said information
being determined on the basis of said store, said rules
and said input information about events; and wherein at
least one party is a service (box 704 of Figure 6)..
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
Figure 7 is a flow diagram of another example of such a
method implemented by a computer program. In this case,
watched parties first register 801 with a presence management
system and input information 802 which is used to form rules.
5 This information is about the watched party's communication
criteria and preferences, such as what types of terminal he
or she uses and which modes of communication are preferred at
different times of the day.
The presence management system may then receive a number
10 of different types of input. For example, a subscription 803
from a watching party may be received, in which case the
subscription details are recorded 809. For example, this
could be a request by a watching party -to be informed about
any change of state in a watched party.
15 The presence management system may also receive an
incoming event 804. In this case, the method involves
checking 805 all the current subscriptions to see if the
incoming event is relevant to any of these. If so,
notifications are sent out 806 to the watching parties who
20 made the relevant subscriptions. The record of the
subscriptions is then updated 805. For example, a
subscription may be arranged to be activated only once and
then deleted.
The presence management system may also receive an
25 incoming connection request 807 from a watching party. In
this case the presenc a management system checks the
availability of the watched party and if appropriate
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
46
establishes a connection or forwards the connection request
to the watched party 808.
In one example, a presence management system comprises:
a first input arranged to receive requests from watching
parties in use, each of which may be of one of three types:
(a) a notification request being in respect of a watched
party and, optionally, a specific event, (b) a contact
request in respect of a watched party, or (c) a fetch request
in respect of a watched party. The presence management
system also has a second input arranged to receive
information about events, relating to said watched parties,
that occur in said multiple access communications network in
use. As well as this a third input is provided, arranged to
receive and store information entered by a watched party.
This information relates to the said watched party and is
used to transform the incoming events and control watching
parties in respect of the information that they may receive
about the watched party. The information is stored so that
it can be associated with the watched party to which it
relates. The presence management system has a processor
arranged such that in use, when information about an event
relating to a particular watched party is received, the
information is transformed in accordance with the information
previously received from the watched party. When information
about an event relating to a particular watched party is
received, any watching parties' who made notification requests
about that particular watched party are notified. This is
CA 02394317 2002-06-13
WO 01/45322 PCT/GB00/04500
47
done provided that the stored information does not forbid or
restrict the transmission of a notification at that time.
For example, the watching party may have specified that he or
she should not be interrupted between 9 am and 10 am. If a
contact request is received, contact is only established by
the presence management system if the required terminals are
available and if the user preferences of both parties allow
contact to be established. If a fetch request is received,
part or all of the information relating to a watched party is
transmitted to the watching party, according to user
preferences and criteria set by the watched party. In this
way a watching party can quickly and easily obtain all
available information about a watched party.
A range of applications are within the scope of the
present invention., These include any presence management
systems in which input information about events occurring in
a communications network are used which provide context
information. The invention also encompasses a computer
program for controlling such a presence management system and
a multiple access communications network which comprises such
a presence management system.