System and method for location-based configuration of an information handling system

A system and method for location-based configuration of an information handling system are disclosed. A method may include detecting an available network for communication with the information handling system. Based on at least the detected available network, a current location of the information handling system may be determined. Based on the determined current location of the information handling system, one or more parameters of the information handling system associated with the determined current location may be automatically configured.

TECHNICAL FIELD

The present disclosure relates in general to network configuration, and more particularly to a system and method for configuration of a network requiring little or no user input.

BACKGROUND

The use of networking in information handling systems has become increasingly ubiquitous in recent years. In fact, many information handling systems are often equipped to communicate with networks via a plurality of networking technologies, standards, and protocols. For example, an information handling system may be able to communicate with one or more local area networks (LANs) (e.g., via Ethernet connections), one or more wireless LANs (WLANs) (e.g., via a Wireless Fidelity or “Wi-Fi” connection), one or more wide area networks (WANs) (e.g., via a dial-up and/or leased line connection), and one or more wireless wide area networks (WWANs) (e.g., via a third-generation wireless or “3G” connection). In addition, information handling systems, particularly portable information handling systems (also known as “laptops” or “notebooks”) are often able to connect to different networks based on the location of the particular information handling system. For example, an information handling system may couple to a first network while it is at one location (e.g., its user's place of employment), and may couple to a second network while at another location (e.g., its user's home).

However, when moving an information handling system from location to location, a user must often reconfigure various location-based settings for the information handling system. For example, when taking home an information handling system from a place of employment to home, a user may have to reconfigure various parameters, including without limitation printer settings (e.g., default printer), Internet start page, virtual private network (VPN) settings (e.g., enabled or disabled), Bluetooth settings (e.g., enabled or disabled), global positioning system (GPS) settings (e.g., enabled or disabled), Ultra-Wide Band module settings, mapped network drives, shared folders, security settings (e.g., whether Internet connection sharing, printer sharing, folders sharing, and/or a firewall should be enabled or disabled), applications settings (e.g., which applications to launch when information handling system is at a particular location), and/or other parameters. When the user returns to work, the parameters may again need to be reconfigured. Such manual configuration may sometimes also include selection of the “best” network to use at a particular location (e.g., if a LAN and WLAN are available, it may be considered better to connect to a LAN).

Accordingly, a need has arisen for systems and methods that intelligently configure information handling system parameters based on a location of the information handling system.

SUMMARY

In accordance with the teachings of the present disclosure, disadvantages and problems associated with configuring an information handling system for network connectivity may be substantially reduced or eliminated.

In accordance with one aspect of the present disclosure, a method for location-based automatic configuration of an information handling system may be provided. The method may include detecting an available network for communication with the information handling system. Based on at least the detected available network, a current location of the information handling system may be determined. Based on the determined current location of the information handling system, one or more parameters of the information handling system associated with the determined current location may be automatically configured.

In accordance with another aspect of the present disclosure, an information handling system may include a processor, a memory communicatively coupled to the processor, a network interface communicatively coupled to the processor, and a computer-readable medium having stored thereon a program of instructions. The program of instructions may be operable to, when executed: (a) detect an available network communicatively coupled to the network interface; (b) based on at least the detected available network, determine a current location of the information handling system; and (c) based on the current location of the information handling system, automatically configure one or more parameters of the information handling system associated with the determined current location.

In accordance with a further aspect of the present disclosure, a program of instructions may be embodied in a computer-readable medium. The program of instructions may be operable to, when executed: (a) detect an available network communicatively coupled to an information handling system; (b) based on at least the detected available network, determine a current location of the information handling system; and (c) based on the determined current location of the information handling system, automatically configure one or more parameters of the information handling system associated with the determined current location.

Other technical advantages will be apparent to those of ordinary skill in the art in view of the following specification, claims, and drawings.

DETAILED DESCRIPTION

Preferred embodiments and their advantages are best understood by reference toFIGS. 1-3E, wherein like numbers are used to indicate like and corresponding parts.

For the purposes of this disclosure, the term “wire-line transmissions” may be used to refer to all types of electromagnetic communications over wires, cables, or other types of conduits. Examples of such conduits include, but are not limited to, metal wires and cables made of copper or aluminum, fiber-optic lines, and cables constructed of other metals or composite materials satisfactory for carrying electromagnetic signals. Wire-line transmissions may be conducted in accordance with teachings of the present disclosure over electrical power lines, electrical power distribution systems, building electrical wiring, conventional telephone lines, Ethernet cabling (10baseT, 100baseT, etc.), coaxial cables, T-1 lines, T-3 lines, ISDN lines, ADSL, and/or any other suitable medium.

For the purposes of this disclosure, the term “wireless transmissions” may be used to refer to all types of electromagnetic communications which do not require a wire, cable, or other types of conduits. Examples of wireless transmissions which may be used include, but are not limited to, personal area networks (PAN) (e.g., BLUETOOTH), local area networks (LAN), wide area networks (WAN), narrowband personal communications services (PCS), broadband PCS, circuit switched cellular, cellular digital packet data (CDPD), radio frequencies, such as the 800 MHz, 900 MHz, 1.9 GHz and 2.4 GHz bands, infra-red and laser.

Examples of wireless transmissions for use in local area networks (LAN) include, but are not limited to, radio frequencies, especially the 900 MHZ and 2.4 GHz bands, for example IEEE 802.11 and BLUETOOTH, as well as infrared, and laser. Examples of wireless transmissions for use in wide area networks (WAN) include, but are not limited to, narrowband personal communications services (nPCS), personal communication services (PCS such as CDMA, TMDA, GSM) circuit switched cellular, and cellular digital packet data (CDPD), etc.

FIG. 1illustrates a block diagram of an example network system100, in accordance with an embodiment of the present disclosure. As depicted, system100may include an information handling system102, a local area network (LAN)114, a wireless LAN (WLAN)116, a wide area network (WAN)118, and a wireless WAN (WWAN)120. In this disclosure, LAN114, WLAN116, WAN118and WLAN120each may be referred to generally as a “network.” In addition, LAN114, WLAN116, WAN118and WLAN120may be referred to collectively as “networks114-120.”

Information handling system102may generally be operable to receive data from, and/or transmit data to networks114-120. In some embodiments, information handling system102may be a portable computer (e.g., a “laptop” or “notebook”). As shown inFIG. 1, information handling system102may include a processor103, a memory104communicatively coupled to processor103, a user interface106, a local storage resource108, and a network interface112.

Memory104may be communicatively coupled to processor103and may comprise any system, device, or apparatus operable to retain program instructions or data for a period of time (e.g., computer-readable media). Memory104may comprise random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to information handling system102is turned off.

User interface106may be communicatively coupled to processor103and may include any instrumentality or aggregation of instrumentalities by which a user may interact with information handling system102. For example, user interface106may permit a user to input data and/or instructions into information handling system102(e.g., via a keyboard, pointing device, and/or other suitable means), and/or otherwise manipulate information handling system102and its associated components. User interface106may also permit information handling system102to communicate data to a user, e.g., by means of a display device.

Local storage resource108may be communicatively coupled to processor103and/or memory104and may include any system, device, or apparatus operable to retain program instructions or data for a period of time (e.g., computer-readable media) and that retains data after power to information handling system102is turned off. Local storage resource108may include one or more hard disk drives, magnetic tape libraries, optical disk drives, magneto-optical disk drives, compact disk drives, compact disk arrays, disk array controllers, and/or any computer-readable medium operable to store data. As depicted inFIG. 1, storage resource108may include location profile file110. Location profile file110may include any database, table, and/or other data structure operable to store data regarding configuration parameters of information handling system102, and the locations to which those configuration parameters apply, as shown in greater detail inFIG. 2.

FIG. 2illustrates example contents of a location profile file110, in accordance with an embodiment of the present disclosure. As shown inFIG. 2, location profile file110may contain one or more locations associated with information handling system102. For example, location profile file110may include a location profile named HOME corresponding to configuration parameters associated with the information handling system102while being used in its user's home. Other location profiles may correspond to other locations in which a user may use the information handling system (e.g., WORK-NY for a user's New York-based office, WORK-LA for a user's Los Angeles-based office, AIRPORT for use in an airport, and CAFE for use in coffee shop.

Location profile file110may also include various configuration parameters associated with each location. For example, location profile file110may include network names, printers, and Internet start pages associated with each location, as well as whether a virtual private network (VPN) tunnel should be on or off for each location. Thus, when information handling system102is at location HOME, it may couple to a WAN network named “ISP” (e.g., a dial-up Internet service provider) and/or a WLAN network named “HomeWiFi” (e.g., a WiFi network), may print to printer named “HomePrint,” may have “http://www.dell.com” as its default Internet browser start page, and may have VPN on. Similarly, when information handling system102is at location WORK-NY, it may couple to a LAN network named “ISP” (e.g., via an Ethernet connection) and/or a WLAN network named “WiFiNY” (e.g., a WiFi network), may print to printer named “PrinterNY1” and/or “PrinterNY2” may have “http://intranet/” as its default Internet browser start page, and may have VPN off.

In addition, location profile file110may track priority assigned to the various networks associated with a location. For example, at location HOME, it may be preferable for information handling system102to couple to network ISP rather than network HomeWiFi, which may be indicated by virtue of network ISP being listed above network HomeWiFi in location profile file110. Accordingly, when information handling system102is brought into location HOME, it will attempt to configure connectivity to the network connection with the highest priority, if such network is available.

AlthoughFIG. 2depicts that each location profile may include parameters regarding network names, network types, printers, Internet start page, and VPN connectivity, location profiles may include any suitable parameters and/or settings for information handling system102, particularly any such parameters that vary based on a location of information handling system102.

Turning again toFIG. 1, network interface112may include any suitable system, apparatus, or device operable to serve as an interface between information handling system102and networks114-120. Network interface112may enable information handling system102to communicate to networks114-120using any suitable transmission protocol (e.g., TCP/IP) and/or standard (e.g., IEEE 802.11, Wi-Fi). In certain embodiments, network interface112may include a network interface card (NIC). In the same or alternative embodiments, network interface112may provide physical access to a networking medium and/or provide a low-level addressing system (e.g., through the use of Media Access Control addresses).

LAN114may include any network suitable to communicatively couple information handling systems and/or other components to each other via wire-line transmissions in a relatively small geographic area. For example, LAN114may permit information handling systems and/or other components to communicate with each other via cable, fiber optics link, and/or other suitable device using Ethernet, token ring, fiber distributed data interface (FDDI), ARCNET, and/or another suitable communications standard/transmission protocol. In certain embodiments, LAN114may serve information handling systems and/or other components located substantially close together (e.g., generally in the same building and/or within approximately two miles of each other). In the same or alternative embodiments, LAN114may allow users to share software, hardware, and/or data.

WLAN116may include any network suitable to communicatively couple information handling systems and/or other components to each other via wireless transmissions in a relatively small geographic area. In certain embodiments, WLAN116may serve information handling systems and/or other components located substantially close together (e.g., generally in the same building and/or group of buildings). In the same or alternative embodiments, WLAN116may allow users to share software, hardware, and/or data. WLAN116may couple to network interface112via the IEEE 802.11 standard (e.g., “Wi-Fi”).

WAN118may include any network suitable to communicatively couple information handling systems and/or other components to each other via wire-line transmissions in a relatively large geographic area. For example, WAN118may permit information handling systems and/or other components to communicate with each other via a leased line, circuit switch (e.g., phone line), and/or a packet switch using Point-to-Point Protocol (PPP), High-Level Data Link Control (HDLC) Protocol, Synchronous Data Link Control (SDLC) Protocol, Integrated Services Digital Network (ISDN), and/or other suitable protocol.

WWAN120may include any network suitable to communicatively couple information handling systems and/or other components to each other via wireless transmissions in a relatively large geographic area. For example, WWAN120may permit information handling systems and/or other components to communicate with each other via cellular network technologies (e.g., 3G and/or another suitable cellular technology).

AlthoughFIG. 1depicts information handling system102, coupled to networks114-120, any suitable number and/or type of networks (e.g., personal area networks, metropolitan area networks, campus area networks) may be coupled to information handling system102.

FIGS. 3A-3Eillustrate a flow chart of an example method300for location-based configuration of an information handling system. According to one embodiment, method300preferably begins at step302. As noted above, teachings of the present disclosure may be implemented in a variety of configurations of system100. As such, the preferred initialization point for method300and the order of the steps302-372comprising method300may depend on the implementation chosen.

At step302, information handling system102may scan for networks114-120with which it may communicate. In some embodiments, step302may execute after a user boots and/or logs into information handling system102. At step304, information handling system102may determine whether a network114-120was detected. If a network114-120is not detected, method300may proceed to step344. Otherwise, if a network114-120is detected, method300may proceed to step306.

At step306, information handling system102may determine whether the detected network114-120is associated with a location profile stored in location profile file110. For example, referring toFIG. 2, if HomeWiFi is the detected network114-120, information handling system102may determine that the detected network114-120is associated with location profile HOME. If the detected network114-120is associated with a location profile, method300may proceed to step308. Otherwise, if the detected network114-120is not associated with a location profile, method300may proceed to step324.

At step308, information handling system102may determine if the detected network114-120is associated with more than one location profile. If the detected network114-120is associated with more than one location profile, method300may proceed to step310. If the detected network114-120is associated with only one location profile, method300may proceed to step312.

At step310, in response to a determination that the detected network114-120is associated with more than one location profile, information handling system102may prompt the user to select one of the associated location profiles. At step312, the information handling system102may set the detected network114-120as the active network, set the location profile associated with the active network as the active location profile, may configure itself with parameters associated with the location profile, and communicatively couple to the active network. For example, if the detected network is HomeWiFi, information handling system102may configure itself to communicate with network HomeWiFi, set the active network as WiFi, set the active location profile to HOME, and configure itself to use printer HomePrint, Internet start page http://www.dell.com/, enable VPN, and other parameters associated with location profile HOME.

At step314, information handling system102may determine if a network114-120other than the active network has a higher priority within the active location profile. For example, if network HomeWiFi was detected at step304, information handling system102may determine that network ISP is of higher priority for the active location profile HOME. If a network114-120of higher priority is associated with the active location profile, method300may proceed to step316. Otherwise, method300may proceed to step336.

At step316, information handling system102may determine if switching from the active network to a higher priority network114-120will cause loss of VPN connectivity. If switching to the higher priority network114-120will cause loss of VPN connectivity, method300may proceed to step318. Otherwise, if switching to the higher priority network114-120will not cause loss of VPN connectivity, method300may proceed to step322.

At step318, in response to a determination that switching to a higher priority network114-120may cause loss of VPN connectivity, information handling system102may prompt a user to switch to the higher priority network114-120. At step320, information handling system102may determine whether the user desires to switch to the higher priority network114-120. If the user desires to switch to the higher priority network114-120, method300may proceed to step322. Otherwise, if the user does not desire to switch to the higher priority network114-120, method300may proceed to step336. At step322, in response to a determination that the user desires to switch to the higher priority network114-120, information handling system may set the higher priority network114-120as the active network. After completion of step322, method300may proceed to step336.

At step324, in response to a determination that a detected network114-120is not associated with a location profile (see steps306and348), information handling system102may prompt a user to choose an existing location profile from the list of location profiles stored in location profile file110or to create a new location profile. At step326, information handling system102may determine whether the user has selected an existing location profile to use. If the user selects an existing location profile, method300may proceed to step312where information handling system102may be configured with parameters associated with the selected location profile. Otherwise, if the user does not select an existing location profile, method300may proceed to step328.

At step328, information handling system102may determine whether the use has selected the option to create a new location profile. If the user opts to create a new location profile, method300may proceed to step330. Otherwise, if the user does not opt to create a new location profile, method300may proceed to step332.

At step330, in response to a determination that a user opts to create a new user profile for the detected network114-120, information handling system102may create a new location profile to be stored in location profile file110. After completion of step330, method300may proceed to step312where information handling system102may be configured with parameters associated with the newly-created location profile and may associate the newly-created location profile with the detected network114-120.

At step332, in response to a determination that a user opts not to create a new user profile for the detected network114-120and set the detected network as the active network, information handling system102may configure itself to communicate with the detected network114-120without associating the network114-120to a location profile. At step334, information handling system102may begin a timer for later prompting the user to associate the detected network114-120with a location profile.

At step336, information handling system102may monitor its connectivity to the network114-120to which it was most-recently configured for network communication. At step338, information handling system102may determine whether it remains coupled to the active network114-120. If information handling system102determines it is not longer coupled to the active network114-120, method300may proceed to step340. Otherwise, if information handling system102remains coupled to the active network114-120, method300may proceed to step344.

At step340, information handling system102may attempt to couple to another network114-120in the active location profile. At step342, information handling system102may determine whether it is able to couple to another network114-120in the active location profile. If information handling system102is able to couple to another network114-120in the active location profile, method300may proceed to step343. Otherwise, if information handling system102is unable to couple to another network114-120in the active location profile, method300may proceed to step302. At step343, in response to a determination that information handling system102is able to couple to another network114-120in the active location profile, information handling system102may configure itself for communication with such network114-120and set the network as the active network. After completion of step343, method300may proceed to step314.

At step344, in response to a determination that information handling system102remains connected to a network114-120(step338) or cannot initially detect a network114-120which to connect (step304), information handling system102may monitor for other networks114-120. At step346, information handling system102may determine if another network114-120is detected. If another network114-120is not detected, method300may proceed to step348. Otherwise, if another network114-120is detected, method300may proceed to step350.

At step348, in response to the determination that another network114-120has not been detected (step346) or that a user opts not to configure a discovered network (step368), information handling system102may determine whether a timer for again prompting a user to associate a network114-120with a location profile has expired (see step334). If the timer has not expired, method300may proceed to step344, where information handling system102may again monitor for other networks114-120. Otherwise, if the timer has expired, method300may proceed to step324, where the user may be prompted again to add the previously-detected network114-120to a location profile.

At step350, in response to the detection of another network114-120, information handling system102may determine whether the discovered network114-120has an existing network profile and/or configuration stored on storage resource108. If an existing network profile and/or configuration does not exist for the discovered network114-120, method300may proceed to step366. Otherwise, if an existing network profile and/or configuration exists for the discovered network114-120, method300may proceed to step352.

At step352, in response to a determination that the discovered network114-120has an existing network profile, information handling system102may determine whether the discovered network114-120is in the active location profile. If the discovered network114-120is not in the active location profile, method300may proceed to step353. Otherwise, if the discovered network114-120is in the active location profile, method300may proceed to step314.

At step353, in response to a determination that the discovered network114-120is not in the active location profile, information handling system102may determine whether there exists an active location profile. If there is an active location profile, method300may proceed to step356. Otherwise, if there is not an active location profile, method300may proceed to step354.

At step354, if response to a determination that there is no active location profile, information handling system102may determine whether any location profiles exist in location profile file110. If no location profiles exist in location profile file110, method300may proceed to step356. Otherwise, if one or more location profiles exist in location profile file110, method300may proceed to step306.

At step356, information handling system102may prompt a user whether to set the discovered network114-120as the active network for communication with information handling system102. At step358, information handling system102may determine whether the user opts to set the discovered network114-120as the active network. If the user opts to set the discovered network114-120as the active network, method300may proceed to step306. Otherwise, if the user does not opt to set the discovered network114-120as the active network, method300may proceed to step360.

At step360, information handling system102may prompt a user whether to associate the discovered network114-120with the active location profile if an active location profile exists. At step362, information handling system102may determine whether the user opts to associate the discovered network114-120with the active location profile. If the user opts to associate the discovered network114-120with the active location profile, method300may proceed to step364. Otherwise, if the user opts not to associate the discovered network114-120with the active location profile, method300may proceed to step344.

At step364, in response to determining that a user desires to add the discovered network114-120to the active location profile, information handling system102may add the discovered network114-120to the active location file. After completion of step364, method300may proceed to step344.

At step366, if response to determining that a discovered network does not have an existing network profile (see step350), information handling system102may prompt a user of information handling system102to configure a network connection for the discovered network. At step368, information handling system102may determine whether the user opts to configure a network connection for the discovered network. If the user opts to configure a network connection for the discovered network, method300may proceed to step370. Otherwise, if the user does not opt to configure a network connection for the discovered network, method300may proceed to step348.

At step370, information handling system102may configure a network connection for the discovered network according to user preferences. In certain embodiments, configuring a network connection may include associating the network with a location profile. At step372, information handling system102may determine if the discovered network has been associated with a location profile. If the discovered network has been associated with a location profile, method300may proceed to step314. Otherwise, if the discovered network has not been associated with a location profile, method300may proceed to step344.

AlthoughFIGS. 3a-3E disclose a particular number of steps to be taken with respect to method300, it is understood that method300may be executed with greater or lesser steps than those depicted inFIGS. 3A-3E. In addition, althoughFIGS. 3A-3Edisclose a certain order of steps to be taken with respect to method300, the steps comprising method300may be completed in any suitable order. Method300may be implemented using system100or any other system operable to implement method300. In certain embodiments, method300may be implemented partially or fully in software embodied in tangible computer-readable media.

Using the methods and systems disclosed herein, a network system may be provided that allows for the location-based auto-configuration of information handling system parameters and/or settings, thus reducing or eliminating difficulties associated with configuration of an information handling system. For example, when a user transports an information handling system to a different location, the information handling system may detect a network at the location and determine the location of the information handling system. Having determined the location, the information handling system may then set various parameters and/or settings based on the location. In addition, having determined the location, the information handling system may determine which network associated with that location has the highest priority, thus allowing the information handling system to connect to the “best” network available.