| US 7,532,571 B1 | ||
| Providing online connectivity across a range of electronic communications systems | ||
| Michael Price, San Diego, Calif. (US); Alec Dun, Redmond, Wash. (US); Gulsen Demiroz, Redmond, Wash. (US); Ronald Eric Gray, Redmond, Wash. (US); David Raissipour, Issaquah, Wash. (US); and Aaron Hartwell, Duvall, Wash. (US) | ||
| Assigned to Microsoft Corporation, Redmond, Wash. (US) | ||
| Filed on Jun. 27, 2003, as Appl. No. 10/608,944. | ||
| Int. Cl. H04L 12/26 (2006.01) | ||
| U.S. Cl. 370—225 [370/392; 379/93.35; 709/239] | 47 Claims |

| 1. A method of monitoring and providing online connectivity sources, comprising;
monitoring a connectivity status of one or more connectivity sources, the one or more connectivity sources comprising at least
a first connectivity source and a second connectivity source;
selecting one of one or more available connectivity sources for use for online communications;
connecting a user's computer to a remote computing system via the selected available connectivity source;
monitoring whether the connection to the remote computing system via the selected connectivity source has failed;
if the connection is detected as failed, then scheduling a poll on a background software thread;
if the poll fails, then generating a notification that the connection to the remote computing system via the selected connectivity
source is disconnected, wherein the selected connectivity source comprises the first connectivity source;
attempting reconnection to the remote computing system;
if the selected connectivity source is lost, determining whether the second connectivity source is available;
if the second connectivity source is available, automatically connecting the user's computer to the remote computing system
via the second connectivity source without user action;
reducing an interval at which reconnection to the remote computing system is allowed from a first interval to a second interval
after not being able to connect to the remote computing system using the first connectivity source for a given time period
so that a connection attempt may be made to the remote computing system via the second connectivity source after the reduced
interval;
resetting the time period upon detecting a network change, the network change comprising a hardware change at the user's computer;
switching back to the first interval upon detecting the network change; and
marking the one or more connectivity sources as inoperable while the user's computer is shutting down to prevent subsequent
online communication events from adding to shutdown delays.
|