Method and system of determining a location of a dual-mode device

A method and system for determining a location of a wireless communication device (WCD) provisioned to operate in (a) a first access network that defines a first plurality of coverage areas and (b) a second access network that defines a second plurality of coverage areas. A location system may receive a request to determine a location of the WCD. In response, the location system may identify (a) a first coverage area of the first access network in which the WCD is located and (b) a second coverage area of the second access network in which the WCD is located. Thereafter, the location system may determine an overlapping area between the first coverage area and the second coverage area. In turn, the location system may determine an indication of the overlapping area's location, which the location system may define as a low precision indication of the WCD's location.

BACKGROUND

Cellular wireless communication devices (WCDs), such as a mobile phones and personal digital assistants, have become increasingly common in recent years. In general, a WCD communicates over an air interface with a wireless carrier's network, which provides the device with access to other network resources, such as a communication channel to interact with other devices or with network servers.

In a typical wireless carrier network, multiple base stations are positioned throughout a market area, and each base station radiates to define a cell and, in turn, cell sectors, in which WCDs can operate. Air interface communication between a given base station and a WCD may operate in accordance with various air interface protocols, well known examples of which include CDMA (e.g., 1xRTT, 1xEV-DO), iDEN, TDMA, AMPS, GSM, GPRS, UMTS, EDGE, and WiMAX (e.g., IEEE 802.16), among others. One or more base stations are then typically coupled or integrated with a base station controller, which manages air interface operation such as use of air interface channels and handoff of devices between sectors. In turn, one or more base station controllers may be coupled with a switch (e.g., mobile switching center) or gateway (e.g., packet data serving node) that provides connectivity with a transport network such as the public switched telephone network (PSTN) or the Internet. Within this arrangement, a WCD may communicate via a base station, base station controller, and the switch or gateway, with entities on the transport network.

As wireless communication technologies advance, new forms of air-interface communication are developed, and wireless carriers may seek to upgrade or expand their networks to offer the latest technologies to subscribers. Because this upgrade or expansion is usually a gradual process, wireless carriers may operate multiple networks simultaneously for some period of time, with each network employing a different air interface communication technology. In this respect, the access networks may be overlaid upon one another, and may serve WCDs operating in substantially the same market area. As an example, a wireless carrier may operate both a 3G network (e.g., CDMA) and a 4G network (e.g., WiMAX) simultaneously in the same market area for some period of time. During this time, the wireless carrier may then offer their subscribers dual-mode WCDs that are capable of operating in each of the networks.

An important feature of contemporary cellular wireless carrier networks is an ability to locate the geographical position of a WCD. Such a feature was initially developed to assist emergency services in locating a WCD. However, the availability of location information to support E911 services has given rise to the development of many other location-based service (LBS) applications as well. For example, given the location of a WCD, an LBS provider (e.g., a wireless cellular carrier or third party) can provide the WCD's user with information related to that location, such as a weather or traffic report, a list of services or establishments (e.g., restaurants, parks, or theatres), and/or a map of the user's location with directions for travel between the user's location and another location. Many other examples are possible as well.

In practice, when a requesting entity wants to determine the location of a WCD, the entity may send a location request to the wireless carrier that serves the WCD. In one example, the location request may be a “low precision request” that seeks a low precision indication of the WCD's location, such as an indication of the location of the cell/sector in which the WCD is currently located (e.g., the geographic location of the cell/sector's centroid). As another example, the location request may be a “high precision request” that seeks a high precision indication of the WCD's location, such as a more precise indication of the geographic position of the WCD itself (e.g., a geographic location determined using satellite-based positioning data). In this respect, a low precision indication of the WCD's location may be used in determining the high precision indication of the WCD's location. Further, if the determination of a high precision indication of the WCD's location fails, the low precision indication of the WCD's location may be used as a fall back option.

As can be seen, the ability to determine a low precision indication of the WCD's location plays an important role in location determination. Accordingly, an improved location method for determining an accurate low precision indication of a WCD's location is desirable.

Overview

The present invention is directed to methods and systems for determining a location of a wireless communication device (WCD) that is provisioned to operate in (a) a first access network that defines a first plurality of coverage areas and (b) a second access network that defines a second plurality of coverage areas. Preferably, the methods and systems described herein will provide an accurate low precision indication of a WCD's location.

In one embodiment, the present invention may take the form of a method that includes (a) receiving a request to determine a location of the WCD, (b) identifying a first coverage area of the first access network in which the WCD is located and a second coverage area of the second access network in which the WCD is located, (c) determining an overlapping area between the first coverage area and the second coverage area; (d) determining an indication of a location of the overlapping area, and (e) defining the indication of the location of the overlapping area as an indication of the location of the WCD.

In another embodiment, the present invention may take the form of a method that includes (a) receiving a request to determine a location of the WCD, (b) sending a request seeking an indication of the location of the WCD to a first location system coupled to the first access network, (c) receiving from the first location system an indication of a first coverage area of the first access network in which the WCD is located, (d) sending a request seeking an indication of the location of the WCD to a second location system coupled to the second access network, (e) receiving from the second location system an indication of a second coverage area of the second access network in which the WCD is located, (f) determining an overlapping area between the first coverage area and the second coverage area, (g) determining an indication of a location of the overlapping area, and (h) defining the indication of the location of the overlapping area as an indication of the location of the WCD.

These as well as other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that the embodiments described in this summary and elsewhere are intended to be examples only and do not necessarily limit the scope of the invention.

DETAILED DESCRIPTION

Referring to the drawings,FIG. 1is a simplified block diagram of a telecommunications system10in which an exemplary embodiment of the invention can be implemented. It should be understood, however, that this and other arrangements described herein are set forth for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, functions, orders of functions, etc.) can be used instead, some elements may be added, and some elements may be omitted altogether. Further, as in most telecommunications applications, those skilled in the art will appreciate that many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location. Still further, various functions described herein as being performed by one or more entities may be carried out by hardware, firmware and/or software logic. For instance, various functions may be carried out by a processor executing a set of machine language instructions stored in memory.

As shown, the system10includes at its core a first access network14aand a second access network14b. The first access network14aserves wireless communication devices (WCDs)12operating in a first coverage area Ca, which is defined by the first access network's one or more antenna structures16a. Within the first coverage area Ca, the antenna structures16amay transmit RF radiation patterns that provide one or more air interfaces18athrough which the WCDs12may communicate with the first access network14a. Similarly, the second access network14bserves WCDs12operating in a second coverage area Cb, which is defined by the second access network's one or more antenna structures16b. Within the second coverage area Cb, the antenna structures16bmay transmit RF radiation patterns that provide one or more air interfaces18bthrough which the WCDs12may communicate with the second access network14b. Within this general configuration, each of the access networks14aand14bmay provide the WCDs12with access to various network resources, including a circuit-switched network20(e.g., the public-switched telephone network (PSTN) and/or a signaling network) and/or a packet-switched network22(e.g., the Internet)

Preferably, as shown, the first access network14aand the second access network14bwill be overlaid upon one another, such that the first coverage area Caand the second coverage area Cbsubstantially overlap. In this respect, the first access network14aand the second access network14bmay each have respective antenna structures16aand16bdefining the overlapping coverage area, and may also share one or more of the antenna structures16a/b.

Additionally, the first coverage area Caand the second coverage area Cbwill preferably each contain a plurality of smaller coverage areas, or “sub-coverage” areas (e.g., cells and/or sectors). In this respect, the layout of the sub-coverage areas within each of the coverage areas Caand Cbwill depend on the implementation (e.g., location, antenna orientation, air-interface protocol, etc.) of the given access network's respective antenna structures16. As such, the sub-coverage areas Saof the first coverage area Caand the sub-coverage areas Sbof the second coverage area Cbmay be independent of one another, and may thus have different parameters. For example, the sub-coverage areas Saof the first coverage area Caand the sub-coverage areas Sbof the second coverage area Cbmay have different locations, shapes, sizes, and/or orientations. In turn, the first coverage area Caand the second coverage area Cbmay also contain a different quantity of sub-coverage areas.

The air interfaces for each access network14aand14bmay carry communications according to any of a variety of protocols, including CDMA (e.g., 1xRTT, IS-856), iDEN, TDMA, AMPS, GSM, GPRS, UMTS, EDGE, WiMAX (e.g., IEEE 802.16), LTE, microwave, satellite, MMDS, Wi-Fi (e.g., IEEE 802.11), Bluetooth, infrared, and other protocols now known or later developed. In this respect, the overlaid access networks14aand14bwill preferably employ different air-interface protocols. For example, the first access network14amay employ a third generation (3G) protocol such as CDMA (e.g., 1xRTT, IS-856), UMTS, or EDGE, and the second access network14bmay employ a fourth generation (4G) protocol such as WiMAX (e.g., IEEE 802.16), WiBro, or LTE. Many other examples are possible as well.

The WCDs12may be dual-mode devices that are capable of communicating according to at least two air-interface protocols. For example, a dual-mode WCD12may be capable of communicating according to both a CDMA protocol and a WiMAX protocol. Many other examples are possible as well. In turn, the dual-mode WCDs12may be capable of being provisioned, registering, and potentially operating, in both the first access network14aand the second access network14b. In this respect, a dual-mode WCD12may be able to receive service from both the first access network14aand the second access network14b.

Within this arrangement, at any given time, a dual-mode WCD12may be located in both the first coverage area Caand the second coverage area Cb. More particularly, a WCD12may be located in both a sub-coverage area Saof the first access network14aand a sub-coverage area Sbof the second access network14b, where the first access network's sub-coverage area Saand the second access network's coverage area Sbat least partially overlap.FIG. 2illustrates a given WCD12located in overlapping sub-coverage areas of the first access network14aand the second access network14b, according to an example of the present invention. While located in these overlapping sub-coverage areas, a dual-mode WCD12provisioned to operate both the first access network14aand the second access network14bcan then receive service in both the first access network's sub-coverage area Saand the second access network's sub-coverage area Sb.

FIG. 3is a simplified diagram of the system10with an exemplary first access network14aand an exemplary second access network14b. The exemplary first access network14amay facilitate air interface communications according to a CDMA protocol, and the exemplary second access network14bmay facilitate air interface communications according to a WiMAX protocol. For purposes of illustration, some of the elements depicted inFIG. 1are not shown.

As shown, the CDMA network14amay include, among other entities, a plurality of CDMA base transceiver stations (BTSs)42, a plurality of base station controllers (BSCs)44, a mobile switching center (MSC)46, and a packet data serving node (PDSN)48. Each CDMA BTS42may include, among other components, at least one of the above-described antenna structures16a. As such, each CDMA BTS42may provide one or more air interfaces18afor communication with the WCDs12according to a CDMA protocol. Further, the CDMA BTSs42may define the coverage area Caand sub-coverage areas Saof the CDMA network14a. In one example, each CDMA BTS42may define a single cell that contains 3 sectors, each of which has a radius of approximately 2 miles and a beam width of 120 degrees. Other examples are possible as well.

Each CDMA BTS42may then couple to a corresponding BSC44, which may function to communicate with the CDMA BTS42and control aspects of the CDMA BTS42as well as aspects of the air interface communication with the WCDs12. Each CDMA BTS42and its corresponding BSC44may be referred to as a “Base Station.” (AlthoughFIG. 2depicts each BTS42coupling to a different BSC44, it should be understood that multiple BTSs42may couple to a single BSC44). Each BSC44may then communicatively couple to one or more transport networks. For example, as shown, each BSC44may couple to (or be integrated with) the MSC46, which may provide connectivity with a circuit-switched network20(e.g., PSTN or an SS7 network). As another example, each BSC44may couple to (or be integrated with) the PDSN48, which may provide connectivity with the packet-switched network22(e.g., the Internet). Other examples are possible as well.

The WiMAX network14bmay include, among other entities, a plurality of WiMAX BTSs52and an ASN gateway54. Each WiMAX BTS52may include, among other components, at least one of the above-described antenna structures16b. As such, each WiMAX BTS52may provide one or more air interfaces18bfor communication with the WCDs12according to a WiMAX protocol. Further, the WiMAX BTSs52may define the coverage area Cband sub-coverage areas Sbof the WiMAX network14b. In one example, each WiMAX BTS52may define a single cell that contains 3 sectors, each of which has a radius of approximately 1 mile and a beam width of approximately 120 degrees. In this respect, because the WiMAX sub-coverage areas Sbare typically smaller than the CDMA sub-coverage areas Sa, the WiMAX network14bmay require more BTSs than the CDMA network14ato provide service in the same market area. Other examples are possible as well.

Each WiMAX BTS52may then couple to the ASN gateway54, which may function to communicate with the WiMAX BTS52and control aspects of the WiMAX BTS52as well as aspects of the air interface communication with the WCDs12. In turn, the ASN gateway54may provide connectivity with the packet-switched network22(e.g., the Internet).

Referring back toFIG. 1, the system10may also include a location system24for each of the access networks14aand14b. More particularly, the system10may include (a) a first location system24afor determining a WCD's location within the first access network's coverage area Caand (b) a second-location determination system16bfor determining a WCD's location within the second access network's coverage area Cb. (It should be understood that the location systems24aand24bmay each support multiple access networks. For example, the first location system24amay support all access networks employing a CDMA protocol, and the second location system24amay support all access networks employing a WiMAX protocol).

Each of the location systems24aand24bmay be coupled to its respective access network(s) via one or more networks. For example, as shown, the first location system24amay be coupled to first access network14avia the circuit-switched network20(e.g., an SS7 network), and the second location system24bmay be coupled to the second access network14bvia the packet-switched network22. In turn, each of the location systems24aand24bmay communicate with WCDs12operating in its respective access network(s) via either “control plane” signaling or “user plane” signaling, concepts which are well known in the art.

The location systems24aand24bmay take a variety of forms. In one example, as shown, the first location system24aand the second location system24bmay be separate entities. Alternatively, the first location system24aand the second location system24bmay be incorporated into a single entity. In another example, as shown, each of the location systems24aand24bmay include a location gateway26(e.g., a mobile positioning center (MPC) or gateway mobile location center (GMLC)) and a location engine28(e.g., a position determining entity (PDE) or serving mobile location center (SMLC)). In still another example, each of the location systems24aand24bmay include a front-end location server (not shown). Other examples are possible as well.

Each of the location systems24aand24bmay also include or have access to a database30, known as a base station almanac (BSA), which maintains data regarding the entities and/or coverage areas of the access network(s) that the location system supports. For example, a given location system's BSA30may maintain, for each access network that the given location system supports, data indicating (a) one or more identifiers of each antenna structure16(e.g., Network ID, System ID, Base Station ID, etc.) and corresponding sub-coverage areas (e.g., carrier frequency, PN offset, etc.) within the given access network, (b) a location of each antenna structure16(e.g., geographic location) and corresponding sub-coverage areas (e.g., centroid location, radius, antenna azimuth, beam width, etc.), and/or (c) one or more operating parameters of each antenna structure16(e.g., air-interface protocol(s)). (It should be understood that a sub-coverage area's centroid location may be considered both an indication of the sub-coverage area's location and the sub-coverage area itself). Other examples are possible as well. Each of the location systems24aand24bmay then use its respective BSA during the location-determination process.

In practice, a given location system (e.g., the first location system24aor the second location system24b) may initiate a location process after receiving a location request for a given WCD12. For example, the given location system may receive a location request from an emergency system entity (e.g., a public safety answering point (PSAP)). As another example, the given location system may receive a location request from a commercial location-based service (LBS) application server. As yet another example, the given location system may receive a location request from one of the WCDs, such as the given WCD12. Other examples are possible as well.

In one aspect, the given location system may receive a location request seeking a low precision indication of the given WCD's location, such as a location of a coverage area in which the given WCD12is currently located (e.g., the geographic location of a cell/sector centroid). In response, the given location system may determine a low precision indication of the given WCD's location.

After receiving the location request seeking a low precision indication of the given WCD's location, the given location system may first determine the access network in which the given WCD12is located. In this respect, the given location system may query a database (e.g., home location register (HLR) or authentication, authorization, and accounting (AAA) server) to identify a node (e.g., MSC or ASN gateway) that is currently serving, or has most recently served, the given WCD12. For example, the given location system may send to an HLR an IS-41 “Location Request” (LOCREQ) or IS-637 “SMS Request” (SMSREQ) message that includes an identifier of the given WCD12, and as a result receive from the HLR an identifier of the node that is currently serving, or has most recently served, the given WCD12(e.g., in a LOCREQ return result (locreq_rr) or SMSREQ return result (smsreq_rr) message). Other examples are possible as well. This serving node will be part of a given access network (e.g., the first access network14aor the second access network140.

The given location system may then send to the serving node a low precision location request seeking an identifier of a sub-coverage area of the given access network in which the given WCD12is located. For example, the given location system may send an IS-881 Inter-System Position Request (ISPOSREQ)) to an MSC, or a similar message to an ASN gateway. In turn, the serving node may receive the low precision location request from the given location system, and the serving node may then work with other entities of the given access network to determine the sub-coverage area in which the given WCD12is located.

In one example, an entity of the given access network (e.g., an MSC or ASN gateway) may already be maintaining data identifying the sub-coverage area in which the given WCD12is located (e.g., if the given access network has a traffic channel in a given sector assigned to the given WCD12), in which case the given access network may determine the sub-coverage area by simply accessing that data. In another example, the given access network may need to contact the given WCD12to determine the sub-coverage area in which the given WCD12is located. For instance, the given access network may page the given WCD12in one or more of the given access network's sub-coverage areas. In turn, a given base station of the given access network may receive a page response from the given WCD12(e.g., via an access channel). Based on the identity of the base station and/or the particular channel on which the given access network receives the page response, the given access network may then determine the sub-coverage area in which the given WCD12is located. Other examples for determining the sub-coverage area in which the given WCD12is located within the given access network may exist as well.

After determining the sub-coverage area in which the given WCD12is located, the serving node may send to the given location system an identifier of that sub-coverage area. For example, an MSC may send the given location system an IS-881 ISPOSREQ return result (isposreq_rr) message, or an ASN gateway may send the given location system a similar message. In turn, the given location system may use the identifier of the sub-coverage area in which the given WCD12is located to determine an indication of the sub-coverage area's location, such as by querying a BSA to obtain a centroid location of the sub-coverage area. The indication of the sub-coverage area's location may then be returned as the low precision indication of the WCD's location. In this respect, the accuracy of the low precision indication of the WCD's location may depend on the size of the sub-coverage areas defined by the given access network.

In another aspect, the given location system may receive a location request seeking a high precision indication of the given WCD's location, such as an indication of the geographic position of the given WCD12itself (rather than its sector's centroid location). In response, the given location system may determine a high precision indication of the given WCD's location.

More particularly, the given location system may first obtain an indication of the sub-coverage area in which the given WCD12is located, such as by using the methods described above. The given location system may then use that indication of the sub-coverage area in which the given WCD12is located to identify (e.g., look up) which satellite(s) the WCD12should use to obtain satellite-based positioning information. Thereafter, the given location system may request that the given WCD12obtain satellite-based positioning data from the identified satellite(s). For example, the given location system may send an IS-881 SMDPP message to an MSC, which may in turn send an IS-801 PD Request message to the given WCD12. After receiving the request, the given WCD12may obtain satellite-based positioning data from the identified satellite(s) and then return that satellite-based positioning data to the given location system. For example, the given WCD12may send an IS-801 PD Response message to an MSC, which may in turn send an IS-881 smdpp_rr message to the given location system. Many other examples are possible as well.

After receiving the satellite-based positioning data, the given location system may attempt to determine a high precision indication of the WCD's location using a variety of methods. For example, the given location system may use the well known “Assisted GPS” (AGPS) computation to calculate the WCD's location. As another example, the given location system may use a hybrid satellite-network fix computation (e.g., based on some satellite-based positioning information and some BSA data) to calculate the given WCD's location. As yet another example, the given location system may use a mixed cell advanced forward link trilateration (AFLT) computation (e.g., based on BSA data for at least three BTSs in communication with the given WCD12) to calculate the given WCD's location. Other examples may exist as well. If the above methods for determining a high precision indication of the given WCD's location fail, however, the given location system may return an indication of the identified sub-coverage area's location as the indication of the given WCD's location.

As can be seen, the ability to determine a low precision indication of the WCD's location (e.g., a centroid location of the sub-coverage area in which the WCD is located) is integral to location determination. In some cases, a low precision indication of the WCD's location may have sufficient precision for certain applications, in which case entities may request only a low precision indication of the WCD's location in the first instance. In other cases, the low precision indication of the WCD's location may be used as a basis to determine a high precision indication of the WCD's location, either in identifying the satellites from which to obtain more precise location data and/or as a fall back option when attempts to determine a high precision indication of the WCD's location fail. Thus, it would be desirable to improve the accuracy of the low precision indication of the WCD's location without sacrificing the simplicity and efficiency of the method for determining that low precision indication of the WCD's location.

To facilitate this, the system10may additionally include a dual-mode location system32. As shown, the dual-mode location system32may be communicatively coupled to (and/or integrated with) the first location system24aand the second location system24b. Additionally, the dual-mode location system32may be coupled to the circuit-switched network20and/or the packet-switched network22. The dual-mode location system32may then function to (a) handle location requests from requesting entities (e.g., an LBS application server, an emergency service entity, WCDs12, etc.) to the location systems24and (b) determine a more accurate low precision indication of a dual-mode WCD's location based on location data obtained from both the first location system24aand the second location system24b, as described in more detail below.

The dual-mode location system32may take a variety of forms. In one example, as shown, the dual-mode location system32may be a separate entity from the location systems24aand24b. Alternatively, the dual-mode location system32may be incorporated into the first location system24a, the second location system24b, and/or some other entity of the system10. As another example, the dual-mode location system32may include (a) location middleware for handling incoming location requests to the location systems24and (b) a dual-mode location module for determining a low precision indication of a dual-mode WCD's location. Other examples are possible as well.

The dual-mode location system32may also include and/or have access to a profile database34that maintains data for WCDs capable of operating in the first access network14aand/or the second access network14b. The profile database34may include, for each WCD12, one or more identifiers of (a) the WCD (e.g., Mobile Station Identifier (MSID), Media Access Control Identifier (MAC ID), etc.), (b) a user of the WCD (e.g., a subscriber name), (c) each air-interface protocol over which the WCD is capable of communicating, and (d) each access network in which the WCD is provisioned to operate and/or registered. The device profile database may include other data as well.

FIG. 4is a flow chart depicting a method of determining a location of a given WCD12that is provisioned to operate in both the first access network14aand the second access network14b, according to an example of the present invention. In a preferred example, the method described herein will be carried out by an improved location system that may include the dual-mode location system32working together with the first location system24aand the second location system24b.

At step62, the location system may receive a first request to determine a location of the given WCD12(e.g., from a requesting entity). In one example, the first request may seek a low precision indication of the given WCD's location. In another example, the first request may seek a high precision indication of the given WCD's location.

At step64, the method may include determining that the given WCD12is operating as a dual-mode device. For example, the dual-mode location system32may obtain data for the given WCD12from the profile database34and, based on that data, determine that the given WCD12is provisioned to operate and/or registered in both the first access network14aand the second access network14b. Other examples are possible as well.

At step66, conditioned on a determination that the WCD12is operating as a dual-mode device, the location system may identify a first sub-coverage area Saof the first access network14ain which the given WCD12is located. For example, the location system may communicate with the first access network14ato obtain an indication of the first sub-coverage area Sa. In this respect, if the first request is a request seeking a low precision indication of the WCD's location, the location system may (a) send a low precision request to the first access network14aand, as a result, (b) receive from the first access network14aan identifier of the first sub-coverage area Sa. Alternatively, if the first request is a request seeking a high precision indication of the WCD's location, the location system may (a) receive from the first access network14aan identifier of the first sub-coverage area Sawhile attempting to determine a high precision indication of the given WCD's location and then (b) fail to determine the high precision indication of the given WCD's location.

At step68, the location system may identify a second sub-coverage area Sbof the second access network14bin which the given WCD12is located. For example, the location system may communicate with the second access network14bto obtain an identifier of the second sub-coverage area Sb. In this respect, the location system may (a) send a low precision request to the second access network14band, as a result, (b) receive from the second access network14ban identifier of the second sub-coverage area Sb.

At step70, the location system may determine an overlapping area between the first sub-coverage area Saand the second sub-coverage area Sb. For example, the location system may (a) use the received identifier of the first sub-coverage area Sato obtain parameters for the first sub-coverage area Sa, (b) use the received identifier of the second sub-coverage area Sbto obtain parameters for the second sub-coverage area Sb, and (c) calculate the overlapping area between those sub-coverage areas based on the parameters for the first sub-coverage area Saand the second sub-coverage area Sb. In this respect, the location system may use the received identifiers to obtain data for the sub-coverage areas from the BSAs30aand30b. The parameters for the sub-coverage areas may include centroid location, radius, antenna azimuth, and/or beam width for instance.

At step72, the location system may determine an indication of a location of the overlapping area. For example, the location system may calculate a centroid location of the overlapping area as the indication of the overlapping area's location. In turn, at step74, the location system may define the indication of the location of the overlapping area as an indication of the given WCD's location. The location system may then send the indication of the given WCD's location to the requesting entity.

Advantageously, the location method described herein may provide a more accurate estimation of a dual-mode WCD's location. More particularly, because the overlapping area between the first sub-coverage area Saand the second sub-coverage area Sbwill likely be smaller than either the first or second sub-coverage area, the location system can narrow down the area in which the given WCD12is located. In turn, this narrowed area allows the location system to provide a more accurate estimation of the given WCD's location.

FIG. 5is a simplified message flow diagram that illustrates in more detail an exemplary method for determining a location of a given WCD12provisioned to operate in both the first access network14aand the second access network14b. For purposes of illustration, the following description will assume that the first access network14ais the exemplary CDMA network described above, and the second access network14bis the exemplary WiMAX network described above. It should be understood, however, that the first access network14aand the second access network14bmay alternatively employ other air-interface protocols.

The sequence may begin at step82when the dual-mode location system32receives from a requesting entity a location request seeking a low precision indication of the given WCD's location. In one example, the dual-mode location system32may receive the location request from a network entity, such as an LBS application server or an emergency service entity (e.g., a PSAP). In another example, the dual-mode location system32may receive the location request from one of the WCDs, such as the given WCD12or another WCD. Other examples are possible as well.

After receiving the location request seeking the low precision indication of the given WCD's location, the dual-mode location system32may first determine whether the given WCD12is operating as a dual-mode device. In this respect, the dual-mode location system32may obtain data for the given WCD12from the profile database34, which may indicate whether the given WCD12is operating as a dual-mode device. For example, the profile database34may include data indicating whether the given WCD12is capable of communicating over a single air-interface protocol or multiple air-interface protocols. As another example, the device profile database34may include data indicating whether the given WCD12is provisioned to operate and/or registered in a single access network or multiple access networks of the system10. Other examples are possible as well.

If the dual-mode location system32determines that the given WCD12is operating as a single-mode device (e.g., the given WCD12is only capable communicating over a single air-interface protocol or is only provisioned to operate and/or registered in a single access network), the dual-mode location system32may initiate a typical single-mode location method. More particularly, the dual-mode location system32may pass the received location request on to the location system24supporting the access network14in which the given WCD12is capable of operating (e.g., the first location system24aif the given WCD12is operating in the CDMA network14a). In turn, that location system24may handle the location request as described above.

Alternatively, if the dual-mode location system32determines that the given WCD12is operating as a dual-mode device (e.g., the given WCD12is capable of communicating over two air-interface protocols and is provisioned to operate and/or registered in two access networks), the dual-mode location system32may initiate a dual-mode location method. More particularly, at step84, the dual-mode location system32may (a) send to the first location system24aa request seeking an indication of a sub-coverage area Saof the CDMA network14ain which the given WCD12is currently located and (b) send to the second location system24aa request seeking an indication of a sub-coverage area Sbof the WiMAX network14bin which the given WCD12is currently located. In one example, the requests may take the form of Mobile Location Protocol (MLP) or Open Location Services (OpenLS) messages. As shown, the dual-mode location system32may send the requests to the first and second location systems24aand24bsubstantially simultaneously. Alternatively, the dual-mode location system32may initially send a request to only one of the location systems24, and may then send a request to the other location system at a later time (e.g., after receiving a result from the first location system).

At step86, the first location system24amay receive the request from the dual-mode location system32. In turn, the first location system24amay function to determine an indication of the sub-coverage area Saof the CDMA network14ain which the given WCD12is currently located according to any method now known or later developed, such as the method described above.

For example, at step88, the first location system24amay send to the MSC44a low precision location request seeking an identifier of the CDMA network's sub-coverage area Sain which the given WCD12is located. At step90, the MSC44may receive the low precision location request from the first location system24a. In response, at step92, the MSC44may determine the sub-coverage area Sain which the given WCD12is located and then send an identifier of that sub-coverage area Sato the first location system24a. At step94, the first location system24amay receive from the CDMA network14athe identifier of the sub-coverage area Sain which the given WCD12is located.

At step96, after receiving the identifier of the CDMA network's sub-coverage area Sa, the first location system24amay send an indication of that sub-coverage area Sato the dual-mode location system32(e.g., in an MLP or OpenLS message). In one example, the first location system24amay responsively send the received identifier of the CDMA network's sub-coverage area Sato the dual-mode location system32. As another example, the first location system24amay use the received identifier of the CDMA network's sub-coverage area Sato determine a centroid location of the sub-coverage area Sa, such as by querying the BSA30a, in which case the first location system24amay then send the centroid location to the dual-mode location system32. In either case, at step98, the dual-mode location system32may receive the indication of the CDMA network's sub-coverage area Sain which the given WCD12is located.

Similarly, at step100, the second location system24bmay receive the request from the dual-mode location system32. In turn, the second location system24bmay function to determine an indication of the sub-coverage area Sbof the WiMAX network14bin which the given WCD12is currently located according to any method now known or later developed, such as the method described above.

For example, at step102, the second location system24bmay send to the ASN gateway54a low precision location request seeking an identifier of the WiMAX network's sub-coverage area Sbin which the given WCD12is located. At step104, the ASN gateway54may receive the low precision location request from the second location system24b. In response, at step106, the ASN gateway may determine the sub-coverage area Sbin which the given WCD12is located and then send an identifier of that sub-coverage area Sbto the second location system24b. At step108, the second location system24bmay receive from the WiMAX network14bthe identifier of the sub-coverage area Sbin which the given WCD12is located.

At step110, after receiving the identifier of the WiMAX network's sub-coverage area Sb, the second location system24bmay send an indication of the WiMAX network's sub-coverage area Sbto the dual-mode location system32. In one example, the second location system24bmay responsively send the received identifier of the WiMAX network's sub-coverage area Sbto the dual-mode location system32. As another example, the second location system24bmay use the identifier of the WiMAX network's sub-coverage area Sbto determine a centroid location of the sub-coverage area Sb, such as by accessing the BSA30b, in which case the second location system24bmay send the centroid location to the dual-mode location system32. In either case, at step112, the dual-mode location system32may then receive the indication of the WiMAX network's sub-coverage area Sb in which the given WCD12is located.

Thereafter, the dual-mode location system32may determine an overlapping area of the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sb. More particularly, the dual-mode location system32may use the indication of the CDMA network's sub-coverage area Sareceived at step98to obtain parameters of that sub-coverage area Sa(e.g., base station location, centroid location, radius, antenna azimuth, beam width, etc.), such as by accessing the first location system's BSA30a. Similarly, the dual-mode location system32may use the indication of the WiMAX network's sub-coverage area Sbreceived at step112to obtain parameters of that sub-coverage area Sb(e.g., base station location, centroid location, radius, antenna azimuth, beam width, etc.), such as by accessing the second location system's BSA30b. In this respect, the dual-mode location system32may communicate with the BSAs either directly or via one or more entities of the location systems24aand24b.

The dual-mode location system32may then use the parameters for the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sbto calculate an overlapping area between those serving sectors Saand Sb. For example, based on the parameters for the CDMA network's sub-coverage area Sa, the dual-mode location system32may determine the geographic boundaries of the CDMA network's sub-coverage area Sa, such as by modeling the boundaries using a first algebraic equation (e.g., y=f1(x)). Similarly, based on the parameters for the WiMAX network's sub-coverage area Sb, the dual-mode location system32may determine the geographic boundaries of the WiMAX network's sub-coverage area Sb, such as by modeling the boundaries using a second algebraic equation (e.g., y=f2(x)).

Once the dual-mode location system32has determined the geographic boundaries of the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sb, the dual-mode location system32may calculate the geographic boundaries of the overlapping area between the sub-coverage areas using various algorithms. For example, after modeling the geographic boundaries of the sub-coverage areas, the dual-mode location system32may determine intersecting points between the two sub-coverage areas, such as by solving the first and second algebraic equations. The dual-mode location system32may then model the overlapping area by using the first algebraic equation (e.g., y=f1(x)) on one side of the intersecting points and the second algebraic equation (e.g., y=f2(x)) on the other side of the intersection points.

Once the overlapping area has been calculated, the dual-mode location system32may then determine an indication of the overlapping area's location. Preferably, the dual-mode location system32will calculate a centroid location of the overlapping area as the indication of the overlapping area's location. For example, if the overlapping area is modeled using the first algebraic equation (e.g., y=f1(x)) on one side and the second algebraic equation (e.g., y=f2(x)) on the other side, the dual-mode location system32may calculate an x coordinate of the centroid location using the following equation:

In one example, the dual-mode location system32may calculate the geographic boundaries and/or the indicated location of the overlapping area between a CDMA network's sub-coverage area and a WiMAX network's sub-coverage area each time the dual-mode location system32receives a location request for the given WCD12. Due to the static nature of sub-coverage area locations and layouts, however, the dual-mode location system32may only need to calculate the geographic boundaries and/or the indicated location of the overlapping area between each pair of overlapping sub-coverage areas once. In this respect, the dual-mode location system32may store data indicating the calculated geographic boundaries and/or location of each possible overlapping area. Thereafter, when the dual-mode location system32determines that the given WCD12is located in both the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sb, the dual-mode location system32may simply lookup the indicated location (e.g., centroid) of the overlapping area between the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sb.

After determining the indication of the overlapping area's location, the dual-mode location system32may then define the indication of the overlapping area's location as an indication of the given WCD's location. At step114, the dual-mode location system32may then send this low precision indication of the given WCD's location to the requesting entity.

FIG. 6is another simplified message flow diagram that illustrates in more detail an exemplary method for determining a location of a given WCD12provisioned to operate in both the first access network14aand the second access network14b. For purposes of illustration, the following description will assume that the first access network14ais the exemplary CDMA network described above, and the second access network14bis the exemplary WiMAX network described above. It should be understood, however, that the first access network14aand the second access network14bmay alternatively employ other air-interface protocols.

The sequence may begin at step122when the dual-mode location system32receives from a requesting entity a location request seeking a high precision indication of the given WCD's location. After receiving the location request seeking the high precision indication of the given WCD's location, the dual-mode location system32may first determine whether the given WCD12is operating as a dual-mode device, such as by obtaining from the profile database34data indicating whether the given WCD12is operating as a dual-mode device.

If the dual-mode location system32determines that the given WCD12is operating as a single-mode device, the dual-mode location system32may initiate a typical single-mode location method. More particularly, the dual-mode location system32may pass the received location request on to the location system24supporting the access network14in which the given WCD14is capable of operating (e.g., the first location system24aif the given WCD12is operating in the CDMA network14a). In turn, that location system24may handle the location request as described above.

Alternatively, if the dual-mode location system32determines that the given WCD12is operating as a dual-mode device, the dual-mode location system32may initiate a dual-mode location method. More particularly, at step124, the dual-mode location system32may send a location request (e.g., an MLP or OpenLS message) seeking a high precision indication of the given WCD's location to one of the location systems24(e.g., the first location system24aor the second location system24b). In this respect, the dual-mode location system32may use various criteria in determining whether to first send the location request to the first location system24aor the second location system24b. As one of many possible examples, the dual-mode location system32may select the location system based on the identity of the requesting entity. For purposes of illustration, the following description will assume that the dual-mode location system32sends the location request to the first location system24a.

At step126, the first location system24amay receive the location request from the dual-mode location system32. In turn, the first location system24amay attempt to determine a high precision indication of the WCD's location according to any method now known or later developed, such as one of the methods described above (e.g., AGPS, hybrid satellite-network fix, and/or AFLT).

For example, at step128, the first location system24amay communicate with the CDMA network14ato determine a high precision indication of the given WCD's location. If the first location system's attempts to determine a high precision indication of the given WCD's location fail, however, the first location system24amay return an indication of a location (e.g., a centroid location) of the sub-coverage area in which the given WCD12is located as the determined indication of the given WCD's location.

At step130, the first location system24amay send to the dual-mode location system32one or more indications of the given WCD's location, such as location coordinates and/or an estimated error. In turn, at step132, the dual-mode location system32may receive the one or more indications and then determine whether the first location system24areturned a high precision indication of the given WCD's location or a low precision indication of the given WCD's location. For example, the dual-mode location system32may use the one or more indications to perform a lookup in the first location system's BSA30a. In this respect, if the dual-mode location system32successfully looks up the one or more indications in the BSA30a, then the dual-mode location system32may determine that the first location system24areturned a low precision indication; otherwise, the dual-mode location system32may determine that the first location system24areturned a high precision indication. In another example, the one or more indications of the given WCD's location may include an indication of the method by which the first location system24adetermined the given WCD's location, which the dual-mode location system32may rely upon to determine whether the first location system24areturned a high or low precision indication of the given WCD's location. Other examples are possible as well.

If the dual-mode location system32determines that the first location system24areturned a high precision indication of the given WCD's location, the dual-mode location system32may send that high precision indication of the given WCD's location to the requesting entity and terminate the location-determination method. Alternatively, if the dual-mode location system32determines that the first location system24areturned a low precision indication of the given WCD's location, and specifically an indication the CDMA network's sub-coverage area Sain which the given WCD12is located, the dual-mode location system32may request an indication of a sub-coverage area Sbof the WiMAX network14bin which the given WCD12is located.

More particularly, at step134, the dual-mode location system32may send to the second location system24ba request seeking an indication of the sub-coverage area Sbof the WiMAX network14bin which the given WCD12is located. (It should be understood that the dual-mode location system32may alternatively send the request to the second location system24bbefore determining whether the first location system24areturned a low precision indication of the given WCD's location).

At step136, the second location system24bmay receive the request from the dual-mode location system32. In turn, the second location system24bmay function to determine an indication of the sub-coverage area Sbof the WiMAX network14bin which the given WCD12is currently located according to any method now known or later developed, such as the method described above.

For example, at step138, the second location system24bmay send to the ASN gateway54a low precision location request seeking an identifier the WiMAX network's sub-coverage area Sbin which the given WCD12is located. At step140, the ASN gateway54may receive the low precision location request from the second location system24b. In response, at step142, the ASN gateway54may determine the sub-coverage area Sbin which the given WCD12is located and then send an identifier of that sub-coverage area Sbto the second location system24b. At step144, the second location system24bmay receive from the WiMAX network14bthe identifier of the sub-coverage area Sbin which the given WCD12is located.

At step146, after receiving the identifier of the WiMAX network's sub-coverage area Sb, the second location system24bmay send an indication of the WiMAX network's sub-coverage area Sbto the dual-mode location system32. In one example, the second location system24bmay responsively send the received identifier of the WiMAX network's sub-coverage area Sbto the dual-mode location system32. As another example, the second location system24bmay use the identifier of the WiMAX network's sub-coverage area Sbto determine a centroid location of the sub-coverage area Sb, such as by accessing the BSA30b, in which case the second location system24bmay send the centroid location to the dual-mode location system32. In either case, at step148, the dual-mode location system32may then receive the indication of the WiMAX network's sub-coverage area Sbin which the given WCD12is located.

Thereafter, the dual-mode location system32may determine an overlapping area of the CDMA network's sub-coverage area Saand the WiMAX network's sub-coverage area Sb, as described above with reference toFIG. 5. In turn, the dual-mode location system32may determine an indication of the overlapping area's location. The dual-mode location system32may then define the indication of the overlapping area's location as an indication of the given WCD's location. At step150, the dual-mode location system32may then send this low precision indication of the given WCD's location to the requesting entity.

FIG. 7is a simplified block diagram of the dual-mode location system32of the system10, showing functional components that can operate to carry out aspects of the present invention. As shown inFIG. 7, the dual-mode location system32may include, without limitation, an requesting entity interface162, a location system interface164, a profile database interface166, a processor168, and data storage170, all interconnected by a system bus or other connection mechanism172.

The requesting entity interface162preferably functions to receive and respond to incoming location requests from requesting entities. As such, the requesting entity interface162may be coupled to one or more networks (e.g., the packet-switched network22), which may in turn couple the dual-mode location system32to various requesting entities (e.g., LBS application servers, emergency service entities, WCDs, etc.). The requesting entity interface162may take the form of an Ethernet network interface module, a chipset and antenna adapted to facilitate wireless communication according a desired protocol, and/or any other form that provides for wireless and/or wired communication. The requesting entity interface162may also include multiple requesting entity interfaces, such as one requesting entity interface for each different network to which the dual-mode location system32is coupled. Other configurations are also possible.

The location system interface164preferably functions to communicatively couple the dual-mode location system32to location entities of the system10, such as the first location system24a, the second location system24b, the first BSA30a, and/or the second BSA30b. (It should be understood that the dual-mode location system32may alternatively be integrated together in whole or in part with one or more of the location entities). In turn, the location entities may communicatively couple to access networks, such as the first access network14aand the second access network14b. The location system interface164may take the form of an Ethernet network interface module, a chipset and antenna adapted to facilitate wireless communication according a desired protocol, and/or any other form that provides for wireless and/or wired communication with location entities. The location system interface164may also include multiple location system interfaces, such as one location system interface for each location entity to which the dual-mode location system32is coupled. Other configurations are also possible.

The profile database interface166preferably functions to communicatively couple the dual-mode location system32to the profile database34. (It should be understood that the dual-mode location system32may alternatively be integrated together with the profile database34). As such, the profile database interface166may take the form of an Ethernet network interface module, a chipset and antenna adapted to facilitate wireless communication according a desired protocol, and/or any other form that provides for wireless and/or wired communication with the profile database34. Other configurations are also possible. In one example, two or more of the dual-mode location system's communication interfaces, including the requesting entity interface162, the location system interface164, and/or the profile database interface166, may be integrated together in whole or in part.

The processor168may comprise one or more general purpose microprocessors and/or dedicated signal processors. (The term “processor” encompasses either a single processor or multiple processors that could work in combination.) Data storage170, in turn, may comprise memory and/or other storage components, such as optical, magnetic, organic or other memory or disk storage, which can be volatile and/or non-volatile, internal and/or external, and integrated in whole or in part with the processor168. Data storage170preferably contains or is arranged to contain (i) program data174and (ii) program data174. Although these components are described herein as separate data storage elements, the elements could just as well be physically integrated together or distributed in various other ways. In a preferred example, the program data174would be maintained in data storage separate from the program logic176, for easy updating and reference by the program logic176.

In one example, the dual-mode location system32may be a separate entity from the single-mode location systems, in which case the dual-mode location system's processor168and/or data storage170will be separate elements from the single-mode location systems' processor and/or data storage. In another example, the dual-mode location system32may be integrated together with one or more single-mode location systems, such as the first location system24aand/or the second location system24b, in which case the dual-mode location system's processor168and/or data storage170may be integrated together in whole or in part with the single-mode location systems' processor and/or data storage.

Program data174may contain incoming location requests received via the requesting entity interface162. For example, program data174may contain low precision requests and/or high precision requests. As another example, program data174may contain location requests for single-mode devices and/or dual-mode devices. As yet another example, program data174may contain location requests that need to be processed by the first location system24aand/or the second location system24b. Other examples are possible as well.

Program data174may also contain data obtained from the location systems24aand24b. For example, program data174may contain a low precision indication of a given WCD's location, such as data indicating a sub-coverage area of the first access network14aand/or the second access network14bin which a given WCD12is operating. As another example, program data174may contain a high precision indication of a given WCD's location, such as a geographic location of the given WCD12itself. In either case, program data174may also contain an indication of a method used by a given location system to determine a given WCD's location.

Program data174may further contain data obtained from the BSAs30aand30b. For example, program data174may contain parameters for sub-coverage areas of the first access network14aand/or the second access network14b. More particularly, for each sub-coverage area, program data174may include an identifier of the sub-coverage area, such as a carrier frequency, a PN offset, and/or corresponding base station's identifier, and an indication of the sub-coverage area's location, such as a centroid location, a radius, an antenna azimuth, a beam width, and/or a corresponding base station's geographic location. Other examples are possible as well. The dual-mode location system32may then use these sub-coverage area parameters to calculate an overlapping area of two sub-coverage areas.

Program data174may additionally contain data obtained from the profile database34. For example, program data174may contain, for a given WCD12, one or more identifiers of (a) the WCD (e.g., MSID, MAC ID, etc.), (b) a user of the given WCD12(e.g., a subscriber name), (c) each air-interface protocol over which the WCD is capable of communicating, and (d) each access network in which the given WCD12is provisioned to operate and/or registered. Other examples are possible as well. The dual-mode location system32may then use this data to determine whether a given WCD12is operating as a dual-mode device.

Program logic176preferably comprises machine language instructions that may be executed or interpreted by processor to carry out functions according to examples of the present invention. It should be understood, however, that the program logic176and its associated functions are described herein by way of example only. As such, those skilled in the art will appreciate that other program logic176and/or functions may be used instead, some program logic176and/or functions may be added, and some program logic176and/or functions may be omitted altogether. Further, the various functions described herein can be embodied in software, hardware, and/or firmware.

The program logic176may be executable by the processor168to handle location requests received via the requesting entity interface162. For example, the program logic176may be executable by the processor168to cause the dual-mode location system32to (a) receive a location request for a given WCD12from a requesting entity via the requesting entity interface162, (b) determine whether the given WCD12is operating as a dual-mode device (e.g., by querying the profile database34via the profile database interface166), (c) route location requests to the appropriate location system(s)24, and (d) send a determined indication of the given WCD's location to a requesting entity via the requesting entity interface162.

The program logic176may also be executable by the processor168to determine a low precision indication of a dual-mode WCD's location. For example, the program logic176may be executable by the processor168to cause the dual-mode location system32to (a) identify a first sub-coverage area of the first access network14ain which the given WCD12is located (e.g., by requesting and receiving from first location system24aan indication of the first sub-coverage area), (b) identify a second sub-coverage area of the second access network14bin which the given WCD12is located (e.g., by requesting and receiving from the second location system24ban indication of the second sub-coverage area), (c) determine an overlapping area between the first sub-coverage area and the second sub-coverage area, (d) determine an indication of a location of the overlapping area, and (e) define the indication of the overlapping area's location as an indication of the given WCD's location. The program logic176may be executable by the processor168to carry out other functions as well.

Exemplary embodiments of the present invention have been described above. Those skilled in the art will understand, however, that changes and modifications may be made to the embodiments described without departing from the true scope and spirit of the present invention, which is defined by the claims.