U.S. patent application number 09/846376 was filed with the patent office on 2002-10-03 for method and system for tracking the online status of active users of an internet-based instant messaging system.
Invention is credited to Mendiola, Dennis, Schlotman, Brian.
Application Number | 20020143916 09/846376 |
Document ID | / |
Family ID | 26898729 |
Filed Date | 2002-10-03 |
United States Patent
Application |
20020143916 |
Kind Code |
A1 |
Mendiola, Dennis ; et
al. |
October 3, 2002 |
Method and system for tracking the online status of active users of
an internet-based instant messaging system
Abstract
A system and a method for establishing or specifying the online
status of a user forming part of an instant messaging system. The
IM system (11) includes a plurality of clients having IM client
applications of the same or different types, including: a PC-based
instant messaging client application program (101); a GSM device
(102) forming part of a GSM network: an internet browser based
client application (103); and an email-based client application
(104). An IM system server (13) including an IM server (111) and a
user information database (112) is selectively connected to each of
the clients via the internet (113). The user database (112) stores
an activity status for each user of the IM system (11) in relation
to its activity with the IM server system (13). The activity status
includes: (i) a time variable signifying the time of or time since
the last prescribed involvement of the user with the IM server; and
(ii) a probability variable signifying the likelihood of the user
still being online. Monitoring means is provided to continuously
monitor user activity with said IM server and to continuously
update the activity status of users stored on the database (112)
involved with the activity. Checking means is also provided to
check the activity status of each user stored on the database (112)
and adjust said probability variable in a prescribed manner having
regard to the time variable.
Inventors: |
Mendiola, Dennis; (New York,
NY) ; Schlotman, Brian; (Cincinnati, OH) |
Correspondence
Address: |
FINNEGAN, HENDERSON, FARABOW, GARRETT &
DUNNER LLP
1300 I STREET, NW
WASHINGTON
DC
20005
US
|
Family ID: |
26898729 |
Appl. No.: |
09/846376 |
Filed: |
May 2, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60203583 |
May 11, 2000 |
|
|
|
Current U.S.
Class: |
709/223 ;
709/203 |
Current CPC
Class: |
H04L 67/54 20220501;
G06Q 10/107 20130101; H04L 51/04 20130101; H04L 51/58 20220501 |
Class at
Publication: |
709/223 ;
709/203 |
International
Class: |
G06F 015/173; G06F
015/16 |
Foreign Application Data
Date |
Code |
Application Number |
May 11, 2000 |
SG |
PCT/SG00/00069 |
Claims
The claims defining the invention are as follows
1. A system for establishing or specifying the online status of a
user forming part of an instant messaging system comprising a
plurality of clients having IM client applications of the same or
different types and an IM server selectively connected to each of
said clients via a computer network, the system comprising: a user
database for storing an activity status for each user of the IM
system with respect to the IM server, said activity status
including: (i) a time variable signifying the time of or time since
the last prescribed involvement of the user with said IM server;
and (ii) a probability variable signifying the likelihood of the
user still being online; monitoring means to continuously monitor
user activity with said IM server and to continuously update the
activity status of users stored on said database involved with said
activity; and checking means to check the activity status of each
user stored on said database and adjust said probability variable
in a prescribed manner having regard to said time variable.
2. A system as claimed in claim 1, wherein said client types
include clients connected to the computer network via: (i) a
PC-based instant messaging client application program; (ii) a GSM
device on a GSM network; (iii) an internet browser-based client
application; or (iv) an email-based client application.
3. A system as claimed in claim 1 or 2, wherein said prescribed
involvement with said IM server includes: (i) one client sending a
message to another; (ii) one client successfully receiving a
message sent from another; (iii) one checking the activity status
of another user(s); and (iv) other activities, involving the IM
server system. that can be detected by computer and electronic
methods.
4. A system as claimed in any one of the preceding claims, wherein
said computer network is the internet and/or any direct electronic
link.
5. A system as claimed in any one of the preceding claims, wherein
said client types connected to the computer network via the GSM
network have SMS capability and are initially connected to the
computer network via an SMSC server to control and manage said SMS
therebetween, said SMSC server and said IM server being directly
interconnected via said computer network, and wherein said SMSC
server provides an indication to said monitoring means of the
activity of targeted recipient GSM clients in response to messages
sent to the SMSC server for delivery thereto by said IM server.
6. A method for establishing or specifying the online status of a
user forming part of an instant messaging system comprising a
plurality of clients having IM applications of the same or
different types, selectively interconnected to an IM server by way
of a computer network, the method comprising the following steps:
storing an activity status for each user of the IM system with
respect to the IM server, said activity status including: (i) a
time variable signifying the time of or time since the last
prescribed involvement of the user with said IM server; and (ii) a
probability variable signifying the likelihood of the user still
being online; continuously monitoring user activity with said IM
server continuously updating the stored activity status of users
involved with said activity; checking the stored activity status of
each user; and adjusting said probability variable in a prescribed
manner having regard to said time variable.
7. A system for establishing or specifying the online status of a
user forming part of an instant messaging system substantially as
herein described with reference to the accompanying drawings as
appropriate.
8. A method for establishing or specifying the online status of a
user forming part of an instant messaging system substantially as
herein described with reference to the accompanying drawings as
appropriate.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to a computer network based
instant messaging system and more particularly to a method and
system for tracking and specifying the online status of users of
the system.
[0002] The invention has particular, although not exclusive,
utility for users that use client applications such as Global
System for Mobile Communications ("GSM") network devices, eg mobile
phones, and internet browsers for accessing an instant messaging
system. The invention also has utility for users that use personal
computer-based client application and/or an email-based client
application for accessing the system.
[0003] Throughout the specification, unless the context requires
otherwise, the word "comprise" or variations such as "comprises" or
"comprising", will be understood to imply the inclusion of a stated
integer or group of integers but not the exclusion of any other
integer or group of integers.
BACKGROUND ART
[0004] Instant messaging ("IM") systems have become very popular in
recent times with the increasing use of the internet and email by
all sectors of the community as a communication medium. With
internet use pervading the areas of the domestic market and being
taken up by younger, computer-literate generations as a social
medium in its own right, a need has arisen for spontaneous and
"instantaneous" messages to be exchanged between two or more
parties connected to the internet simultaneously. This need has not
been able to able to be satisfied by the use of traditional email
systems and consequently, IM systems have spawned as an alternative
or adjunct to email. "Instantaneous" in the context of IM means the
ability to receive messages without prompting a message-handling
server. This is in contrast to the way typical emails are sent and
received by internet users.
[0005] To send and receive messages, popular personal
computer-based email applications such as Eudora.TM. or Microsoft
Outlook.TM., employ the Simple Mail Transfer Protocol ("SMTP") and
the Post Office Protocol ("POP"). Using POP requires the recipient
of an email to query or prompt an email server to which it has
subscribed, for messages to download to the user's personal
computer ("PC") or any other internet-connected device.
[0006] Email messages are sent by a user from an email PC client
application (e.g., Eudora.TM., Microsoft Outlook.TM.) on that users
PC to a mail server to which it has subscribed using SMTP. The mail
or SMTP server then forwards the message to the desired recipient's
mail server via the internet.
[0007] Instant messaging systems work in a different fashion to
email, requiring minimal if any user action, to receive messages.
Messages are forwarded from a sender's client application, normally
a PC-based IM client application program, to the intended
recipient's client application via an IM server or directly to the
recipient's client, almost in "real time" from the time that a
message is sent by the sender, or received by the IM server
system--hence "instant". No querying is needed to get a message to
its intended recipient, reflecting more of a "pushing" technology,
than a "pulling" of information. Examples of some popular IM
systems in the market include AOL's AIM.TM. and ICQ.TM..
[0008] A characteristic of most IM systems is that a client user is
able to set up a network of friends or colleagues, more commonly
known as "buddies" with or amongst whom messages can be exchanged
instantly. In most of the PC-based client applications, an IM
sender must be authorized by the recipient (both are considered
"buddies" of one another) to be able to receive messages from the
sender. in such cases, an authorization is made by a user
specifically instructing the IM server to allow messages to be
received from particular senders
[0009] In some IM systems, authorizations are not required for
users to be included in a buddy list. This means that instant
messages may be freely sent amongst existing users and a target
user can be added to a particular buddy list of a user without that
user requiring the explicit permission of the target user to be so
included.
[0010] Authorizations may also be required by users to allow them
to be detected by other users as being "online". "Online" in the
context of IM means that a client user is connected to the internet
or is otherwise capable of receiving instant messages at a
particular moment. The capability of being able to determine who
amongst a user's group of buddies is online is an important
functionality of IM systems. However, the extent to which existing
IM systems can establish whether in fact certain types of client
user are online or not, is limited.
[0011] Another limitation with current IM systems is that some are
not designed to interconnect with particular types of client
applications or different IM systems. For example, other client
applications may include email-based client applications (eg
Eudora.TM., Microsoft Outlook.TM.) and browser based client
applications (eg Internet Explorer.TM. and Netscape.TM.) on the
internet, and also devices connected into a GSM network, such as
mobile phones.
[0012] GSM networks have their own form of IM system for
communicating short textual messages between different subscribers
known as "Short Message Service" ("SMS"). With SMS, a "Short
Message Service Centre" ("SMSC") provides a server through which
all SMS messages that are sent and received by client subscribers
are handled The messages are short, typically limited to 160
characters in length, and are sent between subscribers of the GSM
network, with the SMSC processing the messages for delivery to the
right destination using the GSM mobile number of the intended
receiver. Under the SMS protocol, the textual message from the
sender is initially sent to the SMSC server using the cellular
telephone network. The SMSC then stores the message and allocates
it to the intended recipient for downloading, in accordance with
normal GSM protocol, when the recipient is identified to be active
within a cell.
[0013] SMS messaging is normally only provided between GSM clients
that specifically subscribe to it, however, by virtue of the SMSC
server, it is possible to connect to the internet using a
particular protocol, dependent upon the particular GSM phone and
network manufacturer. For example, Nokia.TM. uses Computer
Interface Message Distribution protocol version Two (CIMD2).
[0014] Although the online status of users connected to the
internet by way of a PC-based client application is relatively
simple, establishing the online status of users having
browser-based client applications and GSM client applications is
more difficult and generally is not undertaken in the art.
[0015] "Online" detection of the GSM client user deserves special
mention. Due to the less than perfect coverage and stability of GSM
carrier networks, a GSM subscriber may experience intermittent
interruptions of coverage and hence inability to receive SMS.
Further, the carriers themselves may be reluctant to allow third
parties to alter their GSM system settings to allow detection by
others of whether a GSM subscriber is within the coverage area of
the GSM network or not--and hence whether they are online.
DISCLOSURE OF THE INVENTION
[0016] It is an object of the present invention to provide for
establishing or specifying the online status of users who may be
capable of instant messaging having browser-based or GSM device
client applications.
[0017] In accordance with one aspect of the present invention,
there is provided a system for establishing or specifying the
online status of a user forming part of an instant messaging system
comprising a plurality of clients having IM client applications of
the same or different types and an IM server selectively connected
to each of said clients via a computer network, the system
comprising:
[0018] a user database for storing an activity status for each user
of the IM system with respect to the IM server, said activity
status including: (i) a time variable signifying the time of or
time since the last prescribed involvement of the user with said IM
server; and (ii) a probability variable signifying the likelihood
of the user still being online;
[0019] monitoring means to continuously monitor user activity with
said IM server and to continuously update the activity status of
users stored on said database involved with said activity; and
[0020] checking means to check the activity status of each user
stored on said database and adjust said probability variable in a
prescribed manner having regard to said time variable.
[0021] Preferably, said client types include clients connected to
the computer network via:
[0022] (i) a PC-based instant messaging client application
program;
[0023] (ii) a GSM device on a GSM network;
[0024] (iii) an internet browser-based client application; or
[0025] (iv) an email-based client application.
[0026] Preferably, said prescribed involvement with said IM server
includes:
[0027] (i) one client sending a message to another;
[0028] (ii) one client successfully receiving a message sent from
another;
[0029] (iii) one checking the activity status of another user(s);
and
[0030] (iv) other activities, involving the IM server system, that
can be detected by computer and electronic methods.
[0031] Preferably, said computer network is the internet and/or any
direct electronic link.
[0032] Preferably, said client types connected to the computer
network via the GSM network have SMS capability and are initially
connected to the computer network via an SMSC server to control and
manage said SMS therebetween, said SMSC server and said IM server
being directly interconnected via said computer network, and
wherein said SMSC server provides an indication to said monitoring
means of the activity of targeted recipient GSM clients in response
to messages sent to the SMSC server for delivery thereto by said IM
server.
[0033] In accordance with another aspect of the present invention,
there is provided a method for establishing or specifying the
online status of a user forming part of an instant messaging system
comprising a plurality of clients having IM applications of the
same or different types, selectively interconnected to an IM server
by way of a computer network, the method comprising the following
steps:
[0034] storing an activity status for each user of the IM system
with respect to the IM server, said activity status including: (i)
a time variable signifying the time of or time since the last
prescribed involvement of the user with said IM server; and (ii) a
probability variable signifying the likelihood of the user still
being online;
[0035] continuously monitoring user activity with said IM
server;
[0036] continuously updating the stored activity status of users
involved with said activity;
[0037] checking the stored activity status of each user; and
[0038] adjusting said probability variable in a prescribed manner
having regard to said time variable.
BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The invention will be better understood in the light of the
following description of one specific mode thereof. The description
is made with reference to the accompanying drawings, wherein:
[0040] FIG. 1 is a schematic block diagram showing the general
arrangement of the IM system with different client applications
connected to the IM server;
[0041] FIG. 2 is a schematic diagram showing the online tracking
relationship between a user and the IM server;
[0042] FIG. 3 is a schematic diagram showing the online tracking
relationship between a user using a GSM device connected to a GSM
network and the IM server;
[0043] FIG. 4 is a block diagram flow chart showing the method
followed in updating, checking and adjusting the activity status of
a GSM user after the IM server receives a message or command from
the GSM user;
[0044] FIG. 5 is a block diagram flow chart showing the method
followed in updating, checking and adjusting the activity status of
a GSM user after a message for that user is sent to the SMSC server
by the IM server from another user;
[0045] FIG. 6 is a schematic diagram showing the online tracking
relationship between a browser-based user and the IM server;
[0046] FIG. 7 is a block diagram flow chart showing the method
followed in updating, checking and adjusting the activity status of
a user after receiving a message or command from a browser-based
user; and
[0047] FIG. 8 is a block diagram flow chart showing the method
followed in updating, checking and adjusting the activity status of
a browser-based user after a message for that user from another
user is sent to the user by the lM server.
MODE FOR CARRYING OUT THE INVENTION
[0048] The particular mode for carrying out the preferred
embodiment of the invention is directed towards a system for
establishing or specifying the online status of a user and a method
for performing the same, which forms part of an instant messaging
("IM") system.
[0049] As shown in FIG. 1 of the drawings, the IM system 11 of the
present mode essentially comprises a plurality of clients having IM
client applications of the same or different types 101, 102, 103
and 104 and an IM server system 13. The IM server system 13
comprises a plurality of discrete IM servers 111 and a user
information database 112, and is selectively connected to each of
the clients via the internet 113 for sending and receiving messages
and commands as represented by the arrow 105 amongst the IM
community. The users or clients may be selectively connected to the
IM server system 13 via the internet 113 using any or all of the
following terminals or appliances:
[0050] a PC-based client 101 connected via an Internet Service
Provider ("ISP") 115, where PC internet signals 116 are
communicated between the PC client application 101 and the ISP
115,
[0051] a GSM mobile client 102 connected via a GSM cell site 117
and SMSC server 106, where SMS messages are transmitted 107 between
the GSM device 102 and the SMSC server 106,
[0052] an internet browser client 103 via an ISP 118, where HTML
traffic 119 is conveyed between the browser client 103 and the ISP
118, and
[0053] an email client 104 via an ISP 120, where email messages 121
are communicated between the email client 104 and the ISP 120.
[0054] The IM server system 13 employs an activity- and time-based
method for specifying the "online" status of the IM system's users.
This entails the IM server system 13 assessing the online status of
a user by constantly checking to see when its last activity took
place and attaching a decreasing probability to that user being
"online" as time goes by.
[0055] With respect to a GSM client 102, certain SMSC server
systems 106, or SMS messaging systems operated thereby, indicate
readily whether a subscriber client to SMS on the GSM network is
reachable or unreachable by SMS, when an actual SMS message is sent
to the GSM client user. This gives a more definitive statement of
the online status of the GSM client user than would otherwise be
the case and is used to advantage by the IM server system 13 in
establishing the online status of GSM client users of the IM
system.
[0056] It should be noted that a user is said to be "online" within
an IM context, if that user can be reached by, or can receive,
instant messages. However, due to the less than perfect stability
and coverage of the different clients (PC application 101, GSM
device 102, internet browser 103, and email clients 104), "online"
is not a definitive status but more of a probabilistic statement as
to whether that user can receive instant messages.
[0057] As shown in FIG. 2, the present mode is concerned with
tracking activity 201 between a user or member 203 of the IM
community and the IM server system 11. More specifically, this
involves a method for assigning "online" status flags that are
based on user activity 201 involving the IM system 11.
[0058] Activity is more broadly defined as anything that involves
the IM server system 13 that can detected by computer and
electronic methods. In the present mode, these activities include
the following:
[0059] sending a message to an IM user,
[0060] successfully receiving a message from an IM user, and
[0061] the user proactively interacting with the IM server system,
such as checking other "online" users through an electronic trigger
or command.
[0062] For the purpose of the preferred embodiment of the present
mode, however, the method of tracking activity is limited to
sending and receiving messages, and to checking other online
users.
[0063] It should be appreciated, however, that the requisite amount
of activity that may occur for establishing whether an IM community
member or user is online, and the method employed for tracking and
updating the status of this member or user, is highly dependent
upon the particular client type involved. In some cases a greater
degree of accuracy is achieved by using direct feedback mechanisms
that may be provided by the client device itself, such as GSM
clients using SMS 107, browser-based clients using HTML documents
119 containing executable content, and PC-based client applications
using signals sent over the Internet.
[0064] PC-based client applications 101, in particular, can be
customised to have a constant "ping-ing" capability back to the IM
server system 13. Ping-ing involves sending a prescribed set of
signals to another computer--the IM server, in this
instance--through the computer network. In such instances, the
"ping-ing" action provides a constant notification to the IM server
system 13 that the user of the application is still connected to
the internet, or otherwise, and thus is "online".
[0065] In the present mode, each "activity" event that is detected
by the IM server system 13 is noted and time-stamped. Time stamping
means that the IM server notes the instant time when the detected
activity took place.
[0066] This process is as follows:
[0067] The IM server notes some activity taking place.
[0068] The IM server then determines who is responsible for the
activity.
[0069] The user(s) is(are) identified.
[0070] A "flag" is put up for the user and the time noted, ie a
time variable X is given a time.
[0071] That time connotes the last time the user had any activity
concerning the IM server and hence, represents the last time that
the user was DEFINITELY online.
[0072] All things equal, the IM server assumes that the user is
"probably" capable of receiving instant messages the closer the
time from when a detected activity occurred; as time elapses, the
less the probability that the user is capable of receiving instant
messages.
[0073] In order to perform this method, the user information
database 112 stores an activity status for each user of the IM
system. This activity status includes: (i) a time variable
signifying the time of or time since the last prescribed
involvement of the user with said IM server; and (ii) a probability
variable signifying the likelihood of the user still being
online.
[0074] The IM server system 13 is programmed to provide monitoring
means to continuously monitor user activity with the IM server and
to continuously update the activity status of users stored on the
database 112 associated with any detected activity with the IM
server system. Thus, whenever the monitoring means detects user
activity, it notes the activity, flags the user, and time stamps
the event.
[0075] The IM server system 13 is also programmed to provide
checking means to check the activity status of each user stored on
the database 112 and adjust the probability variable having regard
to the time variable in a manner that will be described in more
detail below. At regular intervals, the checking means accesses the
stored time variable to determine how much time has elapsed since
the last activity occurred. The adjustment of the probability
variable simply involves toggling a set of labels identifying the
online status of the user as certain time threshold points are
reached.
[0076] A user's online status label can be made definitive; either
the user is `Online` or `Offline`, The preferred embodiment,
however, introduces varying degrees of being online, e.g., `Likely
Online` or `Likely Offline`. Thus different time thresholds are
specified within the system, which if reached, toggle a user's
status accordingly.
[0077] In the case of IM community members being users of devices
under the GSM network, as shown in FIG. 3, monitoring of activity
between the GSM device 102 and the IM server system 13 is
undertaken. Activity such as a GSM user sending a message or a
command to query list online buddies is represented by arrow 305,
and activity such as a GSM user receiving a message or receiving a
list of online buddies in response to a command requesting same, is
represented by arrow 307.
[0078] As mentioned earlier, certain GSM messaging systems (e.g.,
Nokia.TM. SMSC) have immediate feedback mechanisms that can inform
the sender whether an SMS message has been successfully delivered
to a GSM device 102 of the user--hence suggesting the user is
Online or Offline. This feature is used by the monitoring means of
the IM server system 13 to establish a GSM subscriber's/user's
online status. Hence, when an instant message or SMS is sent 307 to
a GSM subscriber 102 via the SMSC server 106, the IM server system
13 gets immediate feedback as to whether the message was
successfully delivered to the GSM client device 102 or not. With
Nokia's.TM. SMSC server, for instance, a status feedback is made
available to the IM server 13, which says that the message was
received either successfully or unsuccessfully by the GSM client
device 102.
[0079] An illustration of the logic flow of this arrangement where
a GSM client user operates under a GSM carrier using Nokia's.TM.
SMSC messaging system is shown in FIGS. 4 and 5.
[0080] The activities that are noted and time stamped by the
monitoring means of the IM server system are:
[0081] 1. An instant message sent by any monitored user.
[0082] 2. An instant message successfully received or downloaded by
the client of the user.
[0083] 3. An instant message sent to the SMSC server and
successfully downloaded to the GSM client device.
[0084] 4. Querying of the IM server for Buddy Online lists.
[0085] The status flags that are used as probability variables and
the time thresholds that are used as time variables in the user
information database are as follows:
1 Status Flag Time elapsed from activity "Online" t < 15 minutes
"Offline" 30 minutes .ltoreq. t
[0086] In the case of an instant message sent by GSM client user
(GSM Sender) 401 to another user, this activity represented by
arrow 403, the logical flow of operation of the IM server system 13
is as follows:
[0087] Time=0
[0088] GSM Sender's probability variable activity status is
"Offline".
[0089] GSM Sender sends message 403.
[0090] IM server detects the activity, ie receives the message or
command 405.
[0091] IM server initiates the message/command handling process
407.
[0092] IM server checks whether the probability variable activity
status for the user
[0093] is "Offline" 409, and if so, flags or toggles GSM Sender as
"Online" 411.
[0094] IM server time stamps the event by entering the time
variable activity status
[0095] 30 minutes into the future 413.
[0096] Time=5 minutes
[0097] IM server waits for more activity 415.
[0098] No activity detected.
[0099] IM server constantly monitors time elapsed 417.
[0100] GSM Sender still flagged "Online".
[0101] Time=15 minutes
[0102] IM server waits for more activity 415.
[0103] No activity detected.
[0104] Time=30 minutes
[0105] No activity detected and 30 minutes has elapsed.
[0106] IM server flags GSM Sender probability variable as "Offline"
419.
[0107] In the case of an instant message received by a GSM client
user (GSM Recipient) from another user, this activity represented
by arrow 501, the logical flow of operation of the IM server system
13 is as follows:
[0108] Time=0
[0109] Other IM user sends an instant message to GSM Recipient.
[0110] IM server facilitates conversion of message into SMS form
and sends message to SMSC server 501.
[0111] SMSC server sends message to GSM Recipient 503.
[0112] IM server checks whether user on conditional state 505, and
if not, toggles user into conditional state 507 and sets time stamp
5 minutes into the future 509.
[0113] IM server checks whether GSM device has acknowledged receipt
of message 511.
[0114] If receipt is not acknowledged, IM server checks whether
time stamp has elapsed 513, and if not checks again for
acknowledgement 511--it continuously does this until either the
time stamp matures, or the GSM device acknowledges reception of
message.
[0115] If GSM device has acknowledged receipt of message, the SMSC
server relays this event to the IM server which removes the
conditional state of the user 517.
[0116] IM server sets time stamp to 30 minutes ahead 519.
[0117] IM server flags GSM Recipient as "Online" and waits for more
activity 521.
[0118] Time=5 minutes
[0119] No further activity detected by IM server.
[0120] If receipt of message previously sent was not acknowledged
by GSM device, the IM server checks whether time stamp has elapsed
513, and if so, toggles user status to offline 515.
[0121] Time=15 minutes
[0122] No further activity detected by IM server.
[0123] Time=20 minutes
[0124] Another IM user sends an instant message to GSM
Recipient.
[0125] SMSC server sends message to GSM Recipient.
[0126] GSM device fails to accept SMS and does not acknowledge
within 5 minutes (i,e., time>25 minutes),
[0127] SMS stored at SMSC server for later transmission, when the
GSM device is available to download SMS.
[0128] SMSC server notes this unavailability, and relays status to
IM server.
[0129] IM server notes the conditional state, the overdue timestamp
and SMSC server response and promptly keeps the GSM Recipient flag
"Offline".
[0130] Time=35 minutes
[0131] SMSC server finally detects the availability of the GSM
device to receive SMS.
[0132] SMS is downloaded into the GSM Recipient's GSM device.
[0133] The SMSC server relays the status back to the IM server.
[0134] IM server flags GSM Recipient "Online."
[0135] In the case of IM community members being users of an
internet browser client. the monitoring of activity between a
browser client user 103 and the IM server system 13 is similar to
that of a GSM client user. As shown in FIG. 6, activities such as
sending a message or a command querying for buddies online are sent
as HTML format requests as represented by arrow 601, and activities
such as receiving a message or a list of online buddies as
requested by a command, are provided as HTML pages, as represented
by arrow 603.
[0136] As with all client users types, the IM server system 13
constantly checks for when the last activity occurred and checks
the time elapsed to see if certain thresholds have been reached.
The activity status of the browser user is flagged accordingly.
[0137] As shown in FIG. 7, a IM community member/user 701 using a
Web browser client application for connecting to the IM system
sends a message to a user or a command to the IM server 13 for a
list of online buddies, as an HTML request represented by arrow
703. This is detected by the IM server as an activity indicating
that the user 701 is online and thus invokes a routine which
follows the following logical flow:
[0138] IM server receives the message/command 705 and the
message/command handling process is invoked 707.
[0139] IM server checks the probability variable of the activity
status of the user to see if the user was previously recorded as
offline 709.
[0140] If so, the probability variable is flagged or toggled to
indicating the user as being online 711.
[0141] If the user was not previously offline, or after toggling to
being online, the time variable of the activity status is time
stamped to 30 minutes into the future 713 and the IM server waits
for further activity 715.
[0142] IM server subsequently checks whether the time stamp entered
for the time variable of the user has expired 717. If so, the
probability variable is flagged or toggled to indicating that the
user is offline 719, in the event of there being no further
activity detected for that user.
[0143] If the time stamp has not expired, the IM server maintains
checking 717.
[0144] Feedback mechanisms for browser-based clients would normally
have been limited to when the user queries or prompts the IM server
13 with an activity via the browser. However, with the introduction
of certain browser application modules, such as the JAVA.TM.
Applets.TM. and scripts, it is possible for the browser client to
regularly inform the IM server of the user's online status (ie
whether the user is connected to the internet using their browser).
This is possible even if the browser client does not engage in any
of the activities described herein.
[0145] This is possible if the web browser is served with a web
page containing executable content. This content directs the
browser to query the server for messages to the user at set
intervals, and also notifies the IM system that the user is still
online. As long as the user's browser contains that web page, it
will always, at set intervals, cause its time stamp entry in the
time variable of the activity status recorded for the user on the
IM server, to be refreshed.
[0146] Furthermore, if the user exits from their browser, or clicks
on a button saying logout, then the IM server can be notified
directly.
[0147] The IM server is designed to send a message refresh to the
browser that the executable content in the Web page directs the
browser to acknowledge. Every message refresh sent to the browser
makes the IM server toggle the user's status into a conditional
state that can only be reset by an acknowledgment received from the
user's web browser. It could also be the other way around: the Web
page with the executable content sends a message refresh to the IM
server that is acknowledged by the IM server. Every message refresh
sent to the IM server tells the IM server to retain the user's
online, and the IM server time stamps the event by entering the
time variable activity status into the future in defined time
increments.
[0148] As shown in FIG. 8, the logical flow of operation that
occurs as a result of a internet browser user receiving a message
or being provided with a list of online buddies, represented by
arrow 801 is as follows:
[0149] IM server sends message or list of buddies to user 803.
[0150] IM server checks if user's status is in conditional state
805.
[0151] If not, IM server changes user's status to conditional state
807 and enters time stamp into time variable of activity status for
user 5 minutes into the future 809.
[0152] If user's status was already in a conditional state, or
after changing to such,
[0153] IM server checks if user's browser has confirmed receipt of
message or list of buddies 811.
[0154] If not, IM server checks whether time stamp entry into time
variable of activity status has elapsed 813, if so, toggles
probability variable for user to offline 815, or if not continues
to check if users browser has confirmed receipt of message/list
811.
[0155] If confirmation of receipt of message/list received from
user, IM server removes conditional state 817 from user status,
changes time stamp to 30 minutes ahead 819 and waits for more
activity 821.
[0156] It should be noted that the preferred embodiment of the
present mode of the invention provides for a general method for
flagging IM users as to their online status, which is primarily
activity- and time-based. However, depending on the client type,
enhancements to the process exist, which can dramatically improve
accuracy.
[0157] Thus with certain GSM messaging systems, for instance,
having feedback mechanisms that allow the IM server system to
detect if SMS messages have been successfully downloaded by the GSM
device--hence, suggesting that the GSM client user is online--the
preferred embodiment provides for a specific methodology to
accommodate the same to achieve greater accuracy. Similarly with
browser-based clients having JAVA.TM. Applets.TM. and scripts, for
instance, Web pages can be programmed to send regular status reads
to the IM server. Accordingly the preferred embodiment again
provides for a specific methodology to accommodate the same and
thus achieves greater accuracy.
[0158] It should be appreciated that the scope of the present
invention is not limited to the specific mode and the embodiment
thereof described herein. Accordingly changes and improvements to
the embodiment that amount to no more than common general knowledge
are not considered to depart from the spirit or scope of the
invention.
* * * * *