Patents - stay tuned to the technology

Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees

Patent application title: UPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT

Inventors:  Gerhard Dietrich Klassen (Waterloo, CA)
Assignees:  RESEARCH IN MOTION LIMITED
IPC8 Class: AG06F1516FI
USPC Class: 709206
Class name: Electrical computers and digital processing systems: multicomputer data transferring computer conferencing demand based messaging
Publication date: 2012-04-19
Patent application number: 20120096102



Abstract:

A contact is determined to be unavailable if a predetermined period of time has elapsed since an instant message was sent to the contact and an expected notification for the instant message was not received during that predetermined period of time by the device that sent the instant message. If the expected notification is a delivered notification, then the contact is deemed unreachable. If the expected notification is a read notification and a delivered notification for the instant message has been received by the device that sent the instant message, then the contact is deemed busy.

Claims:

1. A method comprising: sending, by a communication device, an instant message to a contact; and determining, by the communication device, that the contact is unreachable if the communication device has not received a delivered notification for the instant message within a predetermined period of time since the communication device sent the instant message.

2. The method of claim 1 wherein said determining includes displaying an indication that the contact is unreachable.

3. The method of claim 1 further comprising, after said determining: determining, by the communication device, based on receipt of the delivered notification after the predetermined period of time, that the contact is reachable.

4. The method of claim 3 further comprising: in response to determining after the predetermined period of time that the contact is available, the communication device displaying an indication that the contact is reachable.

5. The method of claim 4 wherein the indication is displayed by the communication device.

6. The method of claim 4 wherein the indication is provided by at least one of a vibrator, a sound source and a light source of the communication device.

7. The method of claim 4 further comprising: the communication device displaying a query whether to send another message to the contact.

8. The method of claim 1 further comprising after said determining: displaying, by the communication device, a user interface with which an alert can be set to be notified when the contact becomes reachable.

9. The method of claim 1 further comprising, after said determining: determining, by the communication device, that the contact is reachable but busy based on the communication device having received the delivered notification but not a read notification within the predetermined period of time since the communication device sent the instant message.

10. The method of claim 9 further comprising: in response to said determining that the contact is reachable but busy, the communication device providing an indication that the contact is reachable but busy.

11. The method of claim 1 further comprising: changing the predetermined period of time based on network delays.

12. The method of claim 1 further comprising, before said determining: displaying an indication that the instant message was successfully communicated to a network with which the communication device communicates.

13. The method of claim 1 wherein the communication device is a wireless mobile communication device.

14. The method of claim 1 wherein the contact receives the instant message using a wireless mobile communication device.

15. A method comprising: sending, by a communication device, an instant message to a contact; receiving, by the communication device, a delivered notification for said instant message; and displaying, by the communication device, in response to receiving the delivered notification, both an indication that the contact is reachable and a query whether to send another message to the contact.

16. The method of claim 15 further comprising: receiving, by the communication device, a read notification for said instant message; and displaying, by the communication device, in response to receiving the read notification, a query whether to send another message to the contact.

17. The method of claim 15 further comprising, before said displaying: displaying, by the communication device, an indication that the contact is unreachable.

18. The method of claim 15 further comprising, before said displaying: displaying an indication that the instant message was successfully communicated to a network with which the communication device communicates.

19. The method of claim 15 wherein the communication device is a wireless mobile communication device.

20. The method of claim 15 wherein the contact receives the instant message using a wireless mobile communication device.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This is a continuation of U.S. application Ser. No. 12/235562, filed Sep. 22, 2008, which is a continuation of U.S. application Ser. No. 11/176263, filed Jul. 8, 2005, now U.S. Pat. No. 7,444,135, all the above applications hereby incorporated herein by reference.

BACKGROUND

[0002] Instant messages are short text messages with no subject and no attachments sent directly from terminal to terminal within an instant messaging (IM) community. The messages are generally displayed to the user as part of a conversation. A member of an instant messaging (IM) community has a unique identifier ("contact name") in that community and can be added to the contact list of another member of the community using that identifier. For example, SMS is available only within the community of mobile telephone users, and the unique identifier is the telephone number.

[0003] Some IM systems include presence information about the availability of one's contacts for communication. Presence information is particularly important when a contact uses a wireless-enabled mobile device, because the contact may become unavailable with short notice due to battery loss, poor network coverage, and the like. Moreover, for wireless-enabled mobile devices that are always connected, the contact may appear to be available even if he or she is not.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals indicate corresponding, analogous or similar elements, and in which:

[0005] FIG. 1 is a simplified illustration of an exemplary communication system used for instant messaging, according to an embodiment;

[0006] FIG. 2 is a flowchart of an exemplary method implemented by an instant messaging client on a device, according to some embodiments;

[0007] FIGS. 3A-3D, 4A-4D, 5A-5C and 6A-6C are illustrations of an exemplary device and its display, according to some embodiments; and

[0008] FIG. 7 is a block diagram illustration of an exemplary device, according to some embodiments.

[0009] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity.

DETAILED DESCRIPTION

[0010] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. However it will be understood by those of ordinary skill in the art that the embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the embodiments.

[0011] FIG. 1 is a simplified illustration of an exemplary communication system 100 used for instant messaging (IM), according to an embodiment. System 100 includes devices 102, 104 and 106, respectively identified by identifiers 112, 114 and 116 in the instant messaging community. A non-exhaustive list of examples for devices 102, 104 and 106 includes workstations, notebook computers, laptop computers, desktop personal computers, personal digital assistants (PDAs), hand-held computers, cellular telephones, smart cellphones, electronic mail (Email) clients, programmable consumer electronics, network PCs, and the like.

[0012] Devices 102 and 104 communicate to each other and to other devices in the instant messaging community via a network 120, and device 106 communicates to other devices in the instant messaging community via a network 130. A non-exhaustive list of examples for networks 120 and 130 includes

[0013] a) wired networks such as the Internet, intranets, Ethernet networks, token rings, Universal Serial Bus (USB), wired networks according to the IEEE 1394-1995, IEEE 1394a-2000, and IEEE 1394b standards (commonly known as "FireWire"), or any combination thereof;

[0014] b) cellular networks such as Direct Sequence--Code Division Multiple Access (DS-CDMA) cellular radiotelephone communication, Global System for Mobile Communications (GSM) cellular radiotelephone, North American Digital Cellular (NADC) cellular radiotelephone, Time Division Multiple Access (TDMA), Extended-TDMA (E-TDMA) cellular radiotelephone, wideband CDMA (WCDMA), General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), 3G and 4G communication, and the like;

[0015] c) wireless local area networks such as 802.11, Bluetooth®, Zigbee®, ultra wideband (UWB) and the like; and

[0016] d) optical communication networks.

[0017] Networks 120 and 130 may include any combination of additional communication devices (not shown) such as gateways, routers, switches, and the like.

[0018] An IM client 140 is installed on each of devices 102, 104 and 106. IM client 140 may be implemented in software, hardware, firmware or any combination thereof. When the user of device 102 sends an instant message to the user of device 104, the instant message is handled by IM client 140 on device 102, communicated to network 120, communicated to a relay computer or computers 150, and passed back to network 120 for communication to device 104. When the user of device 106 sends an instant message to the user of device 104, the instant message is handled by IM client 140 on device 106, communicated to network 130, communicated to relay computer(s) 150, and passed to network 120 for communication to device 104.

[0019] Relay computer(s) 150 identifies the contact through its unique identifier in the IM 15 community and enables the instant message to be addressed to the appropriate device. If the instant message cannot be delivered to the contact's device, relay computer(s) 150 may store the instant message and attempt redelivery for a specified period of time, for example, 24 hours or 48 hours.

[0020] In some IM systems, an IM server 160 is incorporated into or coupled to relay computer(s) 150. In other IM systems, the IM functionality is enabled by IM clients 140 and no 20 specific IM server is required.

[0021] FIG. 2 is a flowchart of an exemplary method implemented by an instant messaging client on a device, according to some embodiments. The method of FIG. 2 will be explained with reference to FIGS. 3A-3D, 4A-4D, 5A-5C and 6A-6C, which are illustrations of an exemplary device and its display, according to some embodiments. In the exemplary device shown 25 in FIGS. 3A-3D, 4A-4D, 5A-5C and 6A-6C, the user of the device has a contact name "Test", and the contact to whom the user of the device is sending instant messages has a contact name "User A".

[0022] At 202, the IM client of a device sends an instant message to a contact. For example, in FIG. 3A, User A is listed in Test's contact list as available. In FIG. 3B, the checkmark next to 30 the instant message with the text "Test" indicates that that instant message was successfully communicated to the network with which the device communicates.

[0023] At 204, the IM client starts a timer. The timer counts a predetermined period of time, which may be configurable. If before this predetermined period of time has elapsed an expected notification is received by the device, which is checked at 206, then at 208, the contact is reachable and/or available. If the predetermined period of time has elapsed, as checked at 210, and the 5 expected notification has not yet been received by the device, then at 212 the IM client determines that the contact is unavailable.

[0024] For example, the expected notification may be a delivered notification for the instant message. It may be inferred from the lack of a timely delivered notification that the contact is unreachable. For example, if the contact has a wireless-enabled mobile device, low battery and/or 10 poor network coverage may cause the instant message to not arrive at the contact's device.

[0025] At 214, the IM client may display to the user of the device that the contact is unavailable. Since the device belonging to Test has not received a timely delivered notification for the instant message, FIG. 3c shows User A as unavailable, and FIG. 3D shows more information about the contact's state, namely that User A is unreachable.

[0026] In another example, the expected notification may be a read notification for the instant message. If the device receives a delivered notification for the instant message but does not receive a read notification for the instant message, it may be inferred from the lack of a timely read notification that the contact is reachable but busy.

[0027] FIG. 4A shows that User A is available. FIG. 4B shows that Test has successfully sent an instant message, destined for User A with the text "Test", to the network. Since the device belonging to Test has received a delivered notification for the instant message but has not received a timely read notification for the instant message, FIG. 4c shows User A as unavailable, and FIG. 4D shows more information about the contact's state, namely that User A is busy.

[0028] If the contact is unavailable, then at 216, the user of the device may wish to set an alert to be notified when the contact becomes available or reachable. For example, FIG. 5A shows an exemplary user-interface that enables the user of the device to set the alert for the unavailable contact User A. FIG. 5B shows that the alert has been set. FIG. 5c shows that after the alert has been set, User A is still shown as unavailable.

[0029] If the expected notification is received after the predetermined period of time has elapsed, as at 218, then at 220 the IM client of the device determines that the contact is reachable (for example, in the case of a belated delivered notification) or available (for example, in the case of a belated read notification). At 222, the IM client may display to the user of the device the updated availability status of the contact.

[0030] If an alert has been set at 216, then at 224, one or more user interface elements of the device are used to notify the user of the device that the contact is now reachable or available, as appropriate. A non-exhaustive list of examples for the one or more user interface elements includes a vibrator, a sound source, a light source, and any other suitable user interface element. As shown in FIG. 6A, once the device has determined that User A is available, the user of the device is notified by way of a dialog box displayed on the display of the device. FIG. 6B shows that User A is available, and FIG. 6c shows more information about the contact's state, namely that User A is active.

[0031] An example for the predetermined period of time may be about 2 minutes. Other values for the predetermined period of time are also contemplated. If the predetermined period of time is too short, then the status of contacts will be changed too often. The predetermined period of time may be set taking into account network and natural delays in receiving the expected notification. If the predetermined period of time is too long, then the status of contacts may be changed too slowly. For example, a contact who appears to be available but is in fact unavailable will continue to appear available for too long.

[0032] FIG. 7 is a block diagram illustration of an exemplary device, for example, device 102, according to some embodiments. Device 102 includes a processor 702 and a memory 704 coupled to processor 702. Memory 704 stores the unique identifier 112 of device 102 in the IM community, and also stores IM client 140 or the software portion thereof.

[0033] Device 102 includes a display 724 and a keyboard 726, both coupled to processor 702, and may include additional user interface components that are not shown in FIG. 7. Keyboard 726 may be embedded in full or in part within display 724, i.e. display 724 may be a "touch screen". A timer 722 may be controlled by processor 702, and may be implemented by software, by hardware or by any combination thereof.

[0034] Device 102 includes a communication interface 728, coupled to processor 702, that is able to communicate with network 120. If network 120 is a cellular network or any other type of wireless network, communication interface 728 may include a radio 730 and an antenna 732. Otherwise, if network 120 is a wired network, communication interface 728 may include other interfacing elements suitable to interact with network 120.

[0035] A non-exhaustive list of examples for processor 702 includes a microprocessor, a microcontroller, a central processing unit (CPU), a digital signal processor (DSP), a reduced instruction set computer (RISC), a complex instruction set computer (CISC) and the like. Furthermore, processor 702 may comprise more than one processing unit, may be part of an application specific integrated circuit (ASIC) or may be a part of an application specific standard product (ASSP).

[0036] Memory 704 may be fixed in or removable from device 102. Memory 704 may be coupled to processor 702 or partly embedded in processor 702. A non-exhaustive list of examples for memory 704 includes any combination of the following:

[0037] a) semiconductor devices such as registers, latches, read only memory (ROM), mask ROM, electrically erasable programmable read only memory devices (EEPROM), flash memory devices, non-volatile random access memory devices (NVRAM), synchronous dynamic random access memory (SDRAM) devices, RAMBUS dynamic random access memory (RDRAM) devices, double data rate (DDR) memory devices, static random access memory (SRAM), universal serial bus (USB) removable memory, and the like;

[0038] b) optical devices, such as compact disk read only memory (CD ROM), and the like; and

[0039] c) magnetic devices, such as a hard disk, a floppy disk, a magnetic tape, and the like.

[0040] A non-exhaustive list of examples for antenna 732 includes a dipole antenna, a monopole antenna, a multilayer ceramic antenna, a planar inverted-F antenna, a loop antenna, a shot antenna, a dual antenna, an omnidirectional antenna and any other suitable antenna.

[0041] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.


Patent applications by Gerhard Dietrich Klassen, Waterloo CA

Patent applications by RESEARCH IN MOTION LIMITED

Patent applications in class Demand based messaging

Patent applications in all subclasses Demand based messaging


User Contributions:

Comment about this patent or add new information about this topic:

CAPTCHA
Images included with this patent application:
UPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and imageUPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and image
UPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and imageUPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and image
UPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and imageUPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and image
UPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and imageUPDATING AVAILABILITY OF AN INSTANT MESSAGING CONTACT diagram and image
Similar patent applications:
DateTitle
2012-07-05Creating implicit instant messaging contact list groups
2012-04-26Placing objects on hosts using hard and soft constraints
2012-07-05Managing delivery of electronic meeting content
2009-05-07Adaptive instant messaging awareness
2012-06-21Augmenting personal availability using a mobile device
New patent applications in this class:
DateTitle
2022-05-05Embeddings-based discovery and exposure of communication platform features
2022-05-05Session setup control for messaging interoperability
2022-05-05Method and system for selecting multiple target nodes within social network
2022-05-05Systems and methods for a proactive two-way conversation
2022-05-05Access and routing of interactive messages
New patent applications from these inventors:
DateTitle
2021-12-16Method and communication device for processing data for transmission from the communication device to a second communication device
2016-03-31Visual representation of contact location
2016-02-04Capturing and processing multi-media information using mobile communication devices
2015-07-16Method and communication device for processing data for transmission from the communication device to a second communication device
2015-04-09Nfc-capable holder for mobile communications device
Top Inventors for class "Electrical computers and digital processing systems: multicomputer data transferring"
RankInventor's name
1International Business Machines Corporation
2Jeyhan Karaoguz
3International Business Machines Corporation
4Christopher Newton
5David R. Richardson
Website © 2025 Advameg, Inc.