Maintaining communication connections during temporary network disruptions
First Claim
1. A method for operating during temporary disruptions of network connectivity between a client device running a presence application comprising Instant Messaging (IM) capability and a communications server that processes IM notifications, the method executing on a processor of the communications server, the method comprising:
- (a) establishing a communications channel between the client device and the communications server;
(b) accepting login information from a user of the client device and changing the status of the client device from logged out to logged in;
(c) receiving a heartbeat request from the logged in client device;
(d) in response to receiving the heartbeat request, waiting a period of time to send a heartbeat response to the logged in client device, wherein a length of the period of time is configured by the communications server based on the network connectivity between the logged in client device and the communications server;
(e) automatically identifying a data disconnection with the logged in client device when the communications server is not able to send a message over the communications channel;
(f) determining whether the data disconnection is a temporary disconnection or a longer-lasting disconnection; and
(1) when it is determined that the data disconnection is the temporary disconnection then, during a period of temporary disconnection;
maintaining the client device as logged in even though there is a data disconnection;
caching one or more incoming presence status updates for each of one or more contacts of the user of the client device;
setting an away status for the user during the period of the temporary disconnection; and
automatically attempting to re-establish a data connection with the client device; and
(2) when it is determined that the data disconnection is the longer-lasting disconnection, changing the status of the client device to logged out and changing the status of the user to offline.
2 Assignments
0 Petitions
Accused Products
Abstract
Network disconnections are automatically detected between a client application and a server When a disconnection is detected by either the client or server, a determination is made as to whether the disconnection is a temporary disconnection or a longer-lasting disconnection. While disconnected, attempts are made to automatically reconnect the client and server. During the disconnected period, a subset of communication functions remain operable. When the connection is restored, presence/availability information is automatically delivered to the client.
31 Citations
12 Claims
-
1. A method for operating during temporary disruptions of network connectivity between a client device running a presence application comprising Instant Messaging (IM) capability and a communications server that processes IM notifications, the method executing on a processor of the communications server, the method comprising:
-
(a) establishing a communications channel between the client device and the communications server; (b) accepting login information from a user of the client device and changing the status of the client device from logged out to logged in; (c) receiving a heartbeat request from the logged in client device; (d) in response to receiving the heartbeat request, waiting a period of time to send a heartbeat response to the logged in client device, wherein a length of the period of time is configured by the communications server based on the network connectivity between the logged in client device and the communications server; (e) automatically identifying a data disconnection with the logged in client device when the communications server is not able to send a message over the communications channel; (f) determining whether the data disconnection is a temporary disconnection or a longer-lasting disconnection; and (1) when it is determined that the data disconnection is the temporary disconnection then, during a period of temporary disconnection; maintaining the client device as logged in even though there is a data disconnection; caching one or more incoming presence status updates for each of one or more contacts of the user of the client device; setting an away status for the user during the period of the temporary disconnection; and automatically attempting to re-establish a data connection with the client device; and (2) when it is determined that the data disconnection is the longer-lasting disconnection, changing the status of the client device to logged out and changing the status of the user to offline. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A server computer that processes IM messages, the server computer comprising:
-
a processor; and memory communicatively coupled to the processor, the memory storing computer-readable instructions that when executed by the processor cause the server computer to establish a communications channel between a client device and the server computer; accept log in information from the client device and change a status of the client device from logged out to logged in; receive a heartbeat request from the logged in client device; in response to receiving the heartbeat request, waiting a period of time to send a heartbeat response to the logged in client device, wherein a length of the period of time is configured by the server based on the network connectivity between the logged in client device and the server; automatically identify a data disconnection with the client device running a presence application comprising Instant Messaging (IM) capability when the server is not able to send a message to the logged in client device over the communications channel; determine whether the data disconnection is a temporary disconnection or a longer-lasting disconnection; when it is determined that the data disconnection is the temporary disconnection then, during a period of temporary disconnection; maintain the status of the client device as logged in even though the data connection is disconnected; cache one or more incoming presence status updates for one or more contacts of the user of the client device; set user status for a user of the client device to away during the period of temporary disconnection; and automatically attempt to re-establish the data connection with the client device; and when it is determined that the disconnection is the longer-lasting disconnection, change the status of the client device-to logged out and change the status of the user to offline. - View Dependent Claims (9, 10)
-
-
11. A system for operating during temporary disruptions of network connectivity, comprising:
-
a processor and a computer-readable medium; an operating environment stored on the computer-readable medium and executing on the processor; a network interface unit configured to connect with a server; a connection manager operating on the processor; and
configured to perform tasks, comprising;establishing a data connection with the server; signing into the server with a login; sending a heartbeat request to the server; automatically identifying a data disconnection when a response to the heartbeat request is not received from the server within a time period, wherein the response from the server is one of an empty heartbeat response and a notification response and a length of the time period is based on the network connectivity; determining whether the data disconnection is a temporary disconnection or a longer-lasting disconnection; and during a period of temporary disconnection; maintaining the login with the server even though the data connection is disconnected; performing IM operations during the temporary disconnection; automatically attempting to re-establish a data connection; and converting an IM to a Short Message Service (SMS) message and delivering the SMS message instead of the IM message during the temporary disconnection; and during a period of the longer-lasting disconnection, signing out the user from the server and setting the presence status of the user to offline. - View Dependent Claims (12)
-
Specification