Location based pattern for scanning for wireless local area networks

A mobile device having a wireless local area network interface and one or more other wireless interfaces identifies a location of the mobile device via one or more of the other wireless interfaces, estimates a likelihood of finding a wireless local area network at the location, and scans for wireless local area networks while at the location during scan sessions that are separated by intervals, where the intervals are determined by the estimated likelihood.

BACKGROUND

Scanning is the process of identifying existing wireless local area networks (WLANs). A WLAN client device may implement a scanning pattern, which comprises scan sessions and intervals that separate these scan sessions. In between the scan sessions, the WLAN client device may conserve power by deactivating parts of its WLAN interface, for example a radio and/or a controller. The duration of the intervals between successive scan sessions is typically increased until it reaches an upper limit. The same scanning pattern is used by the WLAN client device regardless of its location or the number of WLAN networks nearby. For example, if the user of the WLAN client device happens to be in a small town, camping, hiking, or simply in a location where there are no WLAN networks, then scanning for WLANs is performed just as frequently as when the user happens to be in a location with plentiful WLAN coverage.

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

A mobile device having a WLAN interface and one or more other wireless communication interfaces, may estimate a likelihood of finding any and/or any particular wireless local area network at any particular location from information collected by the mobile station via the WLAN interface and one or more of the other wireless interfaces. The mobile device may define a pattern for scanning for wireless local area networks at any particular location according to the estimated likelihood. The pattern comprises scan sessions during which the mobile device is to scan for one or more wireless local area networks, and intervals of time between the consecutive scan sessions. The mobile device may define patterns that differ from each other by at least the length of the intervals between the consecutive scan sessions. The mobile device may collect information about its WLAN activities while at a particular location.

FIG. 1is a block diagram of an exemplary mobile device100. A non-exhaustive list of examples for mobile device100includes a wireless-enabled laptop, a wireless-enabled cellphone, a wireless-enabled personal digital assistant (PDA), a wireless-enabled smart phone, a wireless-enabled video camera, a wireless-enabled gaming console, a wireless Internet Protocol (IP) phone and any other suitable mobile device.

Mobile device100comprises a processor102and a memory104coupled to processor102. Memory104stores code106that, when executed by processor102, may implement the methods described herein.

Mobile device100comprises a WLAN interface108, compatible with one or more standards of the family of IEEE 802.11 wireless communication standards or with one or more ETSI HiperLAN standards. WLAN interface108is coupled to processor102and includes at least a baseband controller110, a radio112, and an antenna114.

Mobile device100comprises a wireless communication interface116and/or a Global Positioning System (GPS) receiver118, coupled to processor102. Wireless communication interface116is compatible with one or more wireless cellular communication standards. Cellular interface116comprises at least a baseband controller120and a radio122. Cellular interface116may comprise an antenna124or may share antenna114. GPS receiver118may be able to receive signals that originate from GPS satellites and comprises at least a radio126and an antenna128. Mobile device100may comprise other components that, for clarity, are not shown inFIG. 1.

FIG. 2is a flowchart of an exemplary method in mobile device100for location driven power saving. For the purpose of the method ofFIG. 2, a “location” may be defined in any desired and appropriate way. In one example given hereinbelow, a location is a “cellular location”. In another example given hereinbelow, a location is a geographical location.

At200, mobile device100collects information related to a particular location via WLAN interface108and any of cellular interface116and/or GPS receiver118. Exemplary methods of collecting information are described hereinbelow with respect toFIGS. 4 and 7.

At202, mobile device100estimates the likelihood of finding any and/or any particular wireless local area network at the particular location or in the vicinity thereof from information collected at200. Examples for estimating the likelihood are described hereinbelow.

At204, mobile device100defines one or more patterns for scanning for wireless local area networks at the particular location or in the vicinity thereof according to the likelihood estimated at202. At206, mobile device100scans for WLAN at the particular location or in the vicinity thereof using the one or more patterns defined or selected at204. Defining the patterns may comprise selecting the patterns from a predefined set of patterns.

FIG. 3is an illustration of an exemplary communications environment300in which mobile device100is found. Environment300comprises cellular base stations and WLAN access points (AP). Base stations304,306and308create a cell310, base stations312,314and308create a cell316, and base stations318,320and308create a cell322. Although presented inFIG. 3as hexagons, cells may have any physical shape. While located in any of cells310,316and322, mobile device100is able to communicate with one or more of the base stations. The base stations transmit identification signals that may identify the cells. An area in which mobile device100is able to identify a particular cell is referred to hereinbelow as a “cellular location”.

Directed cells are known in the art of cellular communications. An area in which mobile device100is able to identify a particular directed cell is referred to hereinbelow as a “cellular location” and any references hereinbelow to cell IDs are equally applicable to directed cell IDs.

APs324,326,328and330are located in cell316. Similarly, APs are located in cells310and322. Although coverage areas of the APs are presented inFIG. 3as circles, coverage areas may have any physical shape. Mobile device100may detect an AP while located in its coverage area and may associate itself with a detected AP.

A user of mobile device100may carry mobile device100to different places at different times, for example, as illustrated inFIG. 3by a trajectory332. The likelihood of mobile device100finding any wireless local area network or a particular wireless local area network may differ from place to place.

Mobile device100may maintain location records130for different cells, each location record130comprising information regarding the activity of mobile device100while located in the cell. An exemplary implementation of location records will now be described. Mobile device100may maintain a list of cells it roams to. Each item in the list is a record as follows:

LocationInfo RECORD {CellIDnumSelectionsnumAssociations}
where CellID is the code identifying the cell the device just roamed to, numSelections is the number of times that mobile device100has roamed to the cell identified by CellID, and numAssociations is the number of times that mobile device100associated with any WLAN while connected to the cell identified by CellID.

FIG. 4is a flowchart of an exemplary method in mobile device100to collect information related to WLANs at a cellular location. At402, mobile device100roams to a particular cell and obtains the CellID of the particular cell. For example, mobile device100may have roamed into cell316, and CellID, identifying cell316, may be obtained from signals transmitted by base station308,312or314. If mobile device100does not already have a location record for this CellID, as checked at404, then a new location record for this CellID is created at406, with the numSelections and numAssociations fields zeroed.

At408, the numSelections field of the location record that either previously existed or was created at406, is incremented by one to record that mobile device100has roamed to this cell.

If mobile device100has associated with a WLAN while located in the cell, as checked at410, then the numAssociations field is incremented by one.

If mobile device100is no longer at the cellular location, either because it has disconnected from the cell or roamed to another cell, as checked at414, the method terminates. Otherwise it is checked at416whether the mobile device100is associated to a WLAN. If so, the method proceeds to414and otherwise, to410.

Consider, for example, trajectory332inFIG. 3. As mobile device100is carried along trajectory332, mobile device100may record, using the method ofFIG. 4, one selection of cell310, in which there were two WLAN associations; one selection of cell322, in which there was one WLAN association; and one selection of cell316, in which there were four WLAN associations.

Another trajectory334is shown inFIG. 3. If on another occasion mobile device100is carried along trajectory334, mobile device100may record, using the method ofFIG. 4, another selection of cell310, in which there were two WLAN associations; and another selection of cell316, in which there was one WLAN association. After being carried along trajectories332and334, the location record for cell310will have two in its numSelections field and four in its numAssociations field; the location record for cell316will have two in its numSelections field and five in its numAssociations field; and the location record for cell322will have one in its numSelections field and one in its numAssociations field.

Returning to the method ofFIG. 2, mobile device100may use the information collected with the method ofFIG. 4to estimate at202the likelihood L of finding any wireless local area network at a particular location. The likelihood L may be estimated in any desired way. For example, the likelihood L may be calculated as a function of the values of the numSelections and numAssociations fields of the location record. One non-limiting example is given in Equation (1):

Equations 2, 3 and 4 show the likelihoods L for cells310,316and322, respectively, using the cumulative example of trajectories332and334:

The method ofFIG. 4may be modified to record not only associations with WLANs while located in the cell but also detections of WLANs while located in the cell (limited, for example, to one detection of a particular WLAN per instance of the mobile device having roamed to the cell). To accommodate this modification, mobile device100may maintain a list of cells it roams to, with each item in the list being a record as follows:

LocationInfo RECORD {CellIDnumSelectionsnumDetectionsnumAssociations}
where numDetections is the number of times that mobile device100has detected any WLAN while connected to the cell identified by CellID (subject, to limitations such as described above). In this modification, the likelihood L of finding any wireless local area network at a particular location may be estimated as a function of the values of the numSelections, numDetections and numAssociations fields of the location record. One non-limiting example is given in Equation (5):

L=w1⁡(numDetections)+w2⁡(numAssociations)+1numSelections(5)
where w1and w2are normalized weights. w2may be larger than w1, to give greater weight to WLANs with which mobile device100actually associated while located in the cell.

At204of the method ofFIG. 2, mobile device100may use the likelihood values shown in equations 2, 3 and 4 to define patterns for scanning for WLAN in the respective locations. The patterns may be defined in any desired way. One non-limiting example is given in Equation 6:

D⁡(Location)={DMIN,D0L<DMIND0L,DMIN≤D0L≤DMAX⁡(L)DMAX⁡(L),D0L>DMAX⁡(L)(6)
where D is the time interval between successive scan sessions for WLANs at a location, and D0represents a series of default time intervals that define a pattern for scanning for WLAN. These intervals are generally known as backoff intervals. In equation 5, DMAX(L) represents a maximal limit and DMINrepresents a minimal limit for D.

DMAX(L) may be equal to a constant DMAXvalue for all values of likelihood L. A non-limiting example of DMAXis 256 seconds. Alternatively, DMAX(L) may be derived from a constant DMAXvalue, for example using Equation 7:

Scan pattern502is an adjustment of scan pattern500according to equation 6 with a likelihood L of 2/3. Scan pattern502comprises scan sessions508,510,512and514. Intervals D0—1, D0—2and D0—3of pattern500are replaced with longer intervals D1—1, D1—2and D1—3, respectively, in pattern502.

Scan pattern504is an adjustment of scan pattern500according to equation 6 with a likelihood L of 1. Scan pattern504comprises scan sessions508,510,512and514. Intervals D0—1, D0—2and D0—3of pattern500are replaced with equivalent intervals D2—1, D2—2and D2—3, respectively, in pattern504.

Scan pattern506is an adjustment of scan pattern500according to equation 6 with a likelihood L of 5/3.Scan pattern506comprises scan sessions508,510,512and514. Intervals D0—1, D0—2and D0—3of pattern500are replaced with shorter intervals D3—1, D3—2and D3—3, respectively, in pattern506.

FIG. 6is an illustration of an exemplary communications environment600in which mobile device100is found. Environment600comprises WLAN access points at different geographical locations602and604which, for simplicity, are shown to have square shapes. Geographical locations may be defined by any one of many different ways and may have different sizes and shapes. For example, a geographical location may be defined by a single longitude/latitude point and a radius around that point. In another example, a geographical location may be defined by two longitude/latitude points that define a rectangular area.

Environment600also comprises GPS satellite system606that includes satellites608of which only two are shown. Mobile device100comprises GPS receiver118and via GPS receiver is able to receive signals transmitted by satellites608. Mobile device100may further be able to estimate its geographic longitude and latitude coordinates (to some degree of certainty) from signals received from satellites608.

AP610is located in geographical location602and APs612,614,616and618are located in geographical location604. Although coverage areas of the APs are presented inFIG. 6as circles, coverage areas may have any physical shape. Mobile device100may detect an AP while located in its coverage area and may associate itself with a detected AP.

A user of mobile device may carry mobile device100to different places at different times, for example, as illustrated inFIG. 6by a trajectory630. The likelihood of mobile device100finding any wireless local area network or a particular wireless local area network may differ from place to place.

Mobile device100may maintain location records130for different geographical locations, each location record130comprising information regarding the activity of mobile device100while located in the geographical location. An exemplary implementation of location records will now be described. Mobile device100may maintain a list of geographical locations it enters. Each item in the list is a record as follows:

LocationInfo RECORD {LocIDnumSelectionsnumAssociations}
where LocID is an identification of the geographical location or a reference or partial information which mobile device100can further interpret, numSelections is the number of times that mobile device100has entered the geographical location identified by LocID, and numAssociations is the number of times that mobile device100associated with any WLAN while located in the geographical location identified by LocID.

FIG. 7is a flowchart of an exemplary method in mobile device100to collect information related to WLANs at a geographical location. At702, mobile device100enters a particular geographical location and identifies the geographical location, for example, by comparing its own longitude and latitude coordinates to information stored in the LocID field of various existing location records.

If mobile device100does not already have a location record for this LocID, as checked at704, then a new location record for this LocID is created at706, with the numSelections and numAssociations fields zeroed. Mobile device100may store in memory104rules138how to define new geographical locations.

At708, the numSelections field of the location record that either previously existed or was created at706, is incremented by one to record that mobile device100has entered this geographical location.

If mobile device100has associated with a WLAN while located in the cell, as checked at710, then the numAssociations field is incremented by one.

If mobile device100is no longer at the geographical location, for example, because its current longitude and latitude coordinates are no longer within the geographical location, as checked at714, the method terminates. Otherwise it is checked at716whether the mobile device100is associated to a WLAN. If so, the method proceeds to714and otherwise, to710.

Consider, for example, trajectory630inFIG. 6. As mobile device100is carried along trajectory630, mobile device100may record, using the method ofFIG. 6, two entries into geographical location604, where there were five WLAN associations, and four entries into geographical location602, where there was one WLAN association.

Returning to the method ofFIG. 2, mobile device100may use the information collected with the method ofFIG. 7to estimate at202the likelihood L of finding any wireless local area network at a particular location. The likelihood L may be estimated in any desired way. One non-limiting example in given above in Equation 1.

Equations 8 and 9 shows the likelihoods L for the locations602and604, respectively, using the example of trajectory630:

The method ofFIG. 7may be modified to record not only associations with WLANs while located in the geographical location but also detections of WLANs while located in the geographical location (limited, for example, to one detection of a particular WLAN per instance of the mobile device having entered the geographical location). To accommodate this modification, mobile device100may maintain a list of geographical locations it enters, with each item in the list being a record as follows:

LocationInfo RECORD {LocIDnumSelectionsnumDetectionsnumAssociations}
where numDetections is the number of times that mobile device100has detected any WLAN while located in the geographical location identified by LocID (subject, to limitations such as described above). In this modification, the likelihood L of finding any wireless local area network at a particular location may be estimated as a function of the values of the numSelections, numDetections and numAssociations fields of the location record. One non-limiting example of such a function is given in Equation (5) above.

At204of the method ofFIG. 2, mobile device100may use the likelihood values shown in equations 8 and 9 to define patterns for scanning for WLAN in the respective locations. The patterns may be defined in any desired way. One non-limiting example is given in Equation 6 above.

Scan pattern804is an adjustment of scan pattern500according to equation 6 with a likelihood L of 6/2. Scan pattern804comprises scan sessions508,510,512and514. Intervals D0—1, D0—2and D0—3of pattern500are replaced with shorter intervals D5—1, D5—2and D5—3, respectively, in pattern804.

The preceding description describes the collection and use of the numAssociations and/or numDetections parameters on a per-cell or per-geographical location basis, where the values of those parameters may count different WLANs with which mobile device100associated or which mobile device100detected while located in the cell or geographical location.

The methods and records described hereinabove may be modified to collect and use the numAssociations and/or numDetections parameters on a per-WLAN basis within each cell or geographical location.FIG. 9is an illustration of a modified location record930in which one or more WLAN records932are stored. A WLAN record932identifies the WLAN for which the record is being kept with a WLANID field934. The value of the WLANID field934may be any identifier that uniquely identifies the WLAN within the cell or geographical location. For example, the value may be the service set identifier (SSID) of the WLAN. Each WLAN record932has its own numAssociations and/or numDetections fields.

An exemplary implementation of such location records will now be described. Mobile device100may maintain a list of cells it roams to. Each item in the list is a record as follows:

LocationInfo RECORD {CellIDnumSelectionsWLANInfo[MAX_WLANS]}
and the record WLANInfo is as follows:

Likewise, mobile device100may maintain a list of geographical locations it enters. Each item in the list is a record as follows:

LocationInfo RECORD {LocIDnumSelectionsWLANInfo[MAX_WLANS]}
where the record WLANInfo is as described above.

FIGS. 10 and 11are flowcharts of exemplary alternative methods for collecting WLAN information. The method ofFIG. 10differs from the method ofFIG. 4(and the method ofFIG. 11differs from the method ofFIG. 7) in that after a new WLAN association is identified at410(710), it is checked at1010whether a WLAN record for the newly associated WLAN exists within the location record. If not, then a new WLAN record with a WLANID that identifies the WLAN and with numAssociations zeroed is created at1011. Then the method proceeds to412(712). The number of WLAN records kept per cell or geographical location may be unlimited, or may be limited, for example, to no more than three.

The method ofFIG. 2may then be modified to estimate the likelihood of finding a particular WLAN at the location, defining a pattern for scanning for the particular WLAN at the location, and scanning for the particular WLAN at the location according to the defined pattern. For example, the values of numAssociations and/or numDetections used to calculate the estimated likelihood L are the values stored in the WLAN record932of the location record930.

Computer-executable instructions for managing communications such as in the above-described methods may be stored on a form of computer readable media. Computer readable media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer readable media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired instructions and which can be accessed by Internet or other computer network forms of access.