METHOD, DEVICE AND SYSTEM FOR CONDITIONAL FORWARDING OF AN IM MESSAGE
Field of the invention
The present invention relates in general to digital communications. More particularly, the present invention relates to a computer-implemented method for conditional forwarding of an IM message, for execution by a client computer operatively connected to an IM server through a computer network. The invention also relates to a client computer operating in accordance with the method, and a computer program operating in accordance with the method. The invention also relates to an IM system for conditional forwarding of an IM message.
Background of the invention
The Internet has changed traditional ways of communication. For instance, e-mail has virtually replaced conventional letters as the choice for correspondence. Recently, another form of Internet communication, Instant Messaging (IM), has gained popularity. With IM, messages are sent between two or more participants virtually in real time, i.e. "instantly".
Well-known examples of present IM systems include the AOL Instant messenger, the Yahoo! Messenger and the Microsoft MSN Messenger.
An instant messaging system typically notifies users of changes in state of other users. A user can thus determine if another user is currently connected to the instant messaging system, and can determine whether that user changes his or her connection state.
When a user logs into the IM system, that user transmits presence information to the IM system, announcing his or her presence on the system. When the user logs out of the IM system, or terminates the connection to the IM system, the presence information for that user is updated in order to indicate that the user is offline.
The transmission of short messages among mobile telephony users is also well- known in the art. Also, systems for combining short messaging in telecommunication systems and instant messaging via the Internet are known. Thus, previous solutions exist wherein an IM server is arranged to forward an IM message as an SMS message to a mobile terminal in the case that the intended receiver's presence information indicates that the user is offline, or when the user has set his presence state to a passive online state.
The AOL 9.0 Optimized is a prior art instant messenger system which provides forwarding of a message as an SMS message to a mobile temiinal. Such forwarding is performed on the condition that the message recipient is offline or not present.
However, even with such presence-based routing, some messages may not reach the recipient in the expected way. This may happen if the recipient leaves the client computer without bothering to log out or notify the IM server, and if an IM message for the recipient arrives to the IM server in the intermediate time period after he has left the computer, and before the presence information changes its state automatically. In this case, the IM system judges the recipient to be online and active, and it will perform the notification and delivery procedure just as if he were present. This may mean that the message is displayed on the screen, in an open chat window, of the client computer. No forwarding to SMS will take place, and the recipient will be able to read the message when he returns to his client computer.
Another drawback of such prior art solutions is that the sender will not be notified that the recipient has not read the message.
Summary of the invention
An objective of the present invention is to provide a computer-implemented method, a client computer, a computer program and an IM system whereby at least some of the above mentioned drawbacks of the prior art are overcome.
Another objective of the present invention is to provide a computer-implemented method, a client computer, a computer program and an IM system which involves enhanced user- friendliness and improved reliability of IM services. In accordance with a first aspect of the present invention, there is provided a computer-implemented method for execution by a client computer operatively connected to an IM server through a computer network, as indicated in the appended independent claim 1.
In accordance with a second aspect of the present invention, there is provided a client computer as indicated in the appended independent claim 11.
In accordance with a third aspect of the present invention, there is provided a computer program as indicated in the appended independent claim 12.
In accordance with a fourth aspect of the present invention, there is provided an IM system as indicated in the appended independent claim 15. In accordance with a fifth aspect of the present invention, there is provided an IM system as indicated in the appended independent claim 19.
Further advantageous embodiments of the invention are set forth in the dependent claims.
Additional features and principles of the present invention will be recognized from the detailed description below.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Brief description of the drawings
The accompanying drawings illustrate a preferred embodiment of the invention. In the drawings,
Fig. 1 is an exemplary block diagram illustrating an IM system which includes a client computer operating in accordance with the invention, Fig. 2 is an exemplary block diagram illustrating the structure of an IM client computer operating in accordance with the invention,
Fig. 3 is an exemplary flow chart illustrating a method in accordance with the invention.
Detailed description of the invention Reference will now be made in detail to the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Fig. 1 is an exemplary block diagram illustrating an IM system which includes a client computer operating in accordance with the invention.
In the illustrated system, a first client computer 80 and a second client computer 100 are both operatively connected to the Internet by means of communication connections 70 and 90, respectively. Both client computers 80, 100 are provided with IM -client software, enabling them to communicate with Instant Messaging, in cooperation with the IM server computer 50, which is also connected to the Internet 60.
Further in the illustrated system in fig. 1, a first mobile tenninal 10 such as a mobile telephone, and a second mobile terminal 20 such as a mobile telephone, are both operatively connected to a mobile communication network 30, such as a GSM/GPRS network, through cellular base stations 12, 22. The mobile communication network 30 is arranged to provide a messaging service, such as the SMS (Short Message Service) included in the GSM type mobile communication network.
The IM server 50 is arranged to communicate with the mobile communication network using the SMS-C (Short Message Service Center) 32, which is connected to the mobile communication network 30.
The Short Message Service Center (SMS-C) 32 is a network device arranged for storing and forwarding short messages in the mobile network 30.
The IM server 50 is arranged to receive an incoming IM message from the first client computer 80 or from the second client computer 100. The IM server 50 is further arranged to receive an incoming IM message from the SMS-C, which has originated as an SMS submitted by one of the mobile terminals 10, 20, respectively.
The IM server 50 is further arranged to notify a recipient about the incidence of an incoming IM message. The identification of the recipient is derived from the header of the message. The recipient is basically an end user which communicates with the IM server by means of a client computer 80, 100.
The IM server 50 holds certain data associated with a user, including an identification of a mobile telephone number associated with the user.
The IM server 50 is arranged to receive a request from the client computer of submitting an undelivered IM message to the client computer. Upon such receipt, the IM server is arranged to submit the IM message to the client computer.
The IM server 50 is further arranged to receive a request of forwarding an IM message to a mobile terminal associated with the user that is identified as the recipient of the IM message. Upon such receipt of a forwarding request, the IM server 50 is arranged to forward the content of the IM message as an SMS to the mobile terminal associated with the recipient.
Fig. 2 is an exemplary block diagram illustrating the structure of an IM client computer according to the invention.
The illustrated structure is a hardware environment in which the method according to the invention advantageously may be performed. A suitable hardware environment may be a regular personal computer, comprising a bus 104 which interconnects and enables communication between a central processing unit 102, a memory 110, a storage device adapter 140, a network adapter 150, a display adapter 120, and an input adapter 130. A display 122, such as an LCD screen or a CRT monitor, is connected to the display adapter 120. A keyboard 132 and a pointing device 134, such as a mouse, are connected to the input adapter 130. A storage device 142 such as a hard disk drive, and an optical storage medium reader 144, such as a CD-ROM drive, is connected to the storage device adapter 140. A communication connection 90 is connected to the network adapter 150, enabling the client computer to communicate with an external computer network, in particular the Internet.
During operation of the present invention, the memory 110 contains an IM client code portion 112, containing a sequence of instructions which provides IM client functionality to the client computer 100 when the code portion is executed by the central processing unit 102. The IM client code portion 112 may be loaded into the memory from the hard disk drive 142, or from the CD-ROM drive 144, or alternatively downloaded from an external server through the Internet by means of propagated signal received by the network adapter 150.
The features of the IM client code 112 constitute a novel and distinctive characteristic of the present invention.
Since these features causes the client computer to operate in a unique way, the programmed client computer is itself a novel and distinct invention.
In particular, the IM client code 112 is arranged to cause the client computer to perforai a method according to the invention, as described below with reference to fig. 3.
The detailed implementation of a computer program code for carrying out the invention is an ordinary task for a skilled person, with basis in the specification below of the method illustrated in fig. 3.
Fig. 3 is an exemplary flow chart illustrating a computer-implemented method according to the invention.
The method is executed by the client computer 100, which is operatively connected to the IM server 50 through the computer network 60, as previously illustrated with reference to fig. 1. The purpose of the method is to provide conditional forwarding of an IM message addressed to the user (the recipient) of the client computer 100. The method starts at reference 202.
The method is typically performed as a part of the execution of an IM client computer program executed at the client computer 100. More specifically, the method is typically performed when a chat window is open at the display 122 of the client computer 100. The identity of the user of the client computer 100 is known to the IM server 50, e.g. by a login/password authentication routine well-known in the art.
First, in steps 204 and 206, a signal is received from the IM server through the connection 90. The signal indicates the incidence at the IM server 50 of an incoming IM message for the recipient identified as the user of the client computer 100. More specifically, the step 204 of waiting for an incoming IM message is repeated until an incoming message is notified.
The IM message may originate from another client computer, e.g. the client computer 80 in fig. 1. Alternatively, the IM message may be transmitted from the SMS-C, in the case that the message originally was an SMS submitted by a mobile teraiinal such as the first mobile terminal 10 in fig. 1. Next, in step 208, a notification of the incoming message is presented to the user. More specifically, the notification is displayed on the display 122 of the client computer 100, preferably in the open chat window. Alternatively or in addition, an audible alert is given to the user by means of an audio interface in the client computer. If a chat window is not open, a new chat window may be opened by the IM client as a part of the notification step.
An advantageous feature of an embodiment of the invention is that the actual content of the message is hidden from the user at this point. Only the notification is displayed. In an another embodiment of the invention, as will be described later, the content or a part of the message content is also displayed to the user.
The presented notification advantageously comprises an identification of the message sender. This identification is derived from the signal received from the IM server during steps 204, 206 above. The notification also comprises a request for a user activity at the client computer, such as the statement ("Move mouse to see message").
Further, the presented notification advantageously comprises data which represent content size and/or content type of the incoming IM message.
Most preferably, the presented notification comprises both an identification of the message sender, data representing the content size and data representing the content type.
Next, in step 210, user activity at the client computer within a predetermined timeout period is determined. More particularly, an input device action, such as the operation ,of a key on the keyboard 132 or a movement of the mouse 134, is detected within the timeout period.
The determining step 210 is thus terminated upon the detection of a key operation, upon the detection of a mouse movement or upon the end of the timeout period, whichever occurs first.
The timeout period is advantageously in the range of 10 seconds to 10 minutes, giving the user time to react, while maintaining the near-instant user experience of SMS messaging.
The timeout period value may e.g. be identical to the timeout period associated with presence status in a "presence based routing" feature in the IM server, as discussed in the Prior art section above.
The actual timeout period may be preset by the user as a part of the preferences in the user interface of the IM client computer program. Alternatively, the actual timeout period value may be received from the IM server, e.g. as a parameter submitted with the signal indicating the incidence of an incoming message.
If the result of the detennining step 210 is that user activity is detected within the timeout period, it is assumed that the user is present at the client computer, ready to receive and read the IM message. In this case the step 2l2 of requesting and receiving the IM message from the IM server is performed, followed by the step 214 of displaying the received IM message in the chat window. Step 212 is optional if the message content is included in the incoming message notification 206.
Then, the overall process is reiterated from step 204. On the other hand, if the result of step 210 is that user activity is not detected within the timeout period, the forwarding request step 216 is performed.
In the forwarding request step 216, a request of forwarding the IM message to a mobile tenninalin a mobile communication network is transmitted from the IM client 100 to the IM server 50. As a response to this step, the IM server forwards the content of the IM message to the SMS-C and further to a mobile tenninal (e.g., the mobile terminal 20).
The mobile terminal is identified by a telephone number. This telephone number may be stored in the IM server, in a storage area associated with the IM client user. Alternatively, the identification of the mobile terminal may be submitted by the IM client. In the latter case, the identification will be transmitted as a part of the forwarding request in step 216.
When the request is transmitted, the IM client process is reiterated from step 204.
The process may be interrupted or tenninated by the user at any time, e.g. by shutting down the client. Several modifications and adaptations of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.
For instance, the mobile communication network 30 may be any mobile communication network which provides a messaging service between end users, such as GPRS enabled network, or a 3G network, operating according to the UMTS or CDMA2000 technologies.
Although the detailed description refers to SMS messages, any type of messages in mobile communication systems may be employed, such as MMS, by example.
The detailed description refers to the client computer as a personal computer. The skilled person will however readily realize that desktop workstations, laptops or palmtop computers may be applicable as client computers in accordance with the invention.
As an alternative, the logic associated with the invention may be executed on the IM server instead of the client, except for the display and input device handling. Also, the various steps and/or functions may be shared or allocated between the client, the network and the server, in such a way that the overall IM system is arranged to put into effect the steps of indicating the incidence of an incoming IM message, presenting a notification to a user, detecting user activity within a predetermined timeout period, and if user activity is not detected within said timeout period, requesting the forwarding of the IM message to a mobile tenninal in a mobile communication network.
The computer program according to the invention advantageously comprises further portions, resulting in an overall IM client computer program with various additional features. Such features may comprise appearance features, e.g. user-selectable skin and language options. Further features include various connection and network features, such as automatic connection to a particular IM server on start-up, authentication/login procedures, and credentials handling. The IM client may further provide a buddy list feature, wherein SMS buddies and IM buddies of different IM platforms may be identified. The buddies are advantageously arranged into groups. IM client actions such as "open chat window", "send file" or "delete buddy", amongst others, are advantageously available for each buddy. Features for adding and editing buddies may also be available in the IM client computer program. Further possible features include presence status management, chat session management, and emoticon handling.
As mentioned above with reference to the method illustrated in fig. 3, the IM message content may either be received in a separate receiving step 212 , after the determining step 210 has.proved that user activity was detected within the timeout period, or as a part of the incoming message notification step 206. In the latter case, the IM message content or a part of the IM message content may advantageously be presented to the user by displaying it before or simultaneously with the displaying of the notification of the incoming IM message in step 208.
In an advantageous embodiment, the above mentioned forwarding request step 216 may be completed on the condition that forwarding is actually enabled. Such enabling may be set as a user option by the IM client computer.
Even more advantageously, the forwarding request step 216 may be initiated by a message origin deteraiinating substep. In this substep, the origin of the IM message is determined. In particular, it is deteraiined if the IM message originates from the mobile communication network 30, e.g. if it originates from an SMS or MMS submitted by a mobile tenninal, or if it originates from the computer network 60, e.g. if it originates from an IM message generated by another IM client computer operatively connected to the Internet. Further in this embodiment, the message forwarding is invariably enabled in the forwarding request step 216 if the IM message originates from the mobile communication network 30. On the other hand, if the IM message originates from the computer network 60, the enabling of the message forwarding may be set by a user option by the IM client computer. Use example
An exemplary scenario illustrating the technical effect and usefulness obtained by the invention will now be described, with reference to the above detailed description, in particular to fig. 1.
An SMS message is submitted from the first mobile terminal at a message sender. The SMS message is addressed to the IM server 50, and the SMS identifies the message recipient as a registered user at the IM service provided by the IM server 50. The telephone number of the second mobile tenninal 20 is associated with the message recipient, i.e. the registered user, and data representing this telephone number is stored at the IM server 50.
The SMS message sent from the first mobile terminal 10 causes a corresponding IM message to be submitted from the SMS-C 32 to the IM server 50. Upon the receipt of this IM message, the IM server 50 provides a signal to the recipient, i.e. the registered user of the client computer 100, indicating the incidence of the incoming IM message. The client computer receives the signal. As a result, a notification is presented to the recipient, requesting a user activity such as a mouse movement. If such user activity is detected by the client computer within the preset timeout period, the client computer requests and receives the actual IM message, and the IM message is displayed in a chat window. If, on the other hand, the timeout period expires without any client user activity detected, forwarding to SMS is requested.
The above detailed description of the invention, has been presented for purposes of illustration. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from the practicing of the invention.