WO2001033825A1 - Spatial toolkits for wireless location based services - Google Patents

Spatial toolkits for wireless location based services Download PDF

Info

Publication number
WO2001033825A1
WO2001033825A1 PCT/US2000/030479 US0030479W WO0133825A1 WO 2001033825 A1 WO2001033825 A1 WO 2001033825A1 US 0030479 W US0030479 W US 0030479W WO 0133825 A1 WO0133825 A1 WO 0133825A1
Authority
WO
WIPO (PCT)
Prior art keywords
location
information
wireless
service
set forth
Prior art date
Application number
PCT/US2000/030479
Other languages
French (fr)
Inventor
James A. Fitch
Roy Kligfield
Original Assignee
Signalsoft Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Signalsoft Corp. filed Critical Signalsoft Corp.
Priority to AU15848/01A priority Critical patent/AU1584801A/en
Publication of WO2001033825A1 publication Critical patent/WO2001033825A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/46Real-time negotiation between users and providers or operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8038Roaming or handoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/18Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place wireless networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/20Technology dependant metering
    • H04M2215/2026Wireless network, e.g. GSM, PCS, TACS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/32Involving wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/34Roaming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/56On line or real-time flexible agreements between service providers and telecoms operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/74Rating aspects, e.g. rating parameters or tariff determination apects
    • H04M2215/7442Roaming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/04Special services or facilities for emergency applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/14Special services or facilities with services dependent on location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/30Determination of the location of a subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Definitions

  • the present invention relates in general to the provisioning of location based services in a wireless network, e.g., a network for analog or digital voice, video and/or data communications including a wireless telephone, pager, data terminal or other wireless unit.
  • a wireless network e.g., a network for analog or digital voice, video and/or data communications including a wireless telephone, pager, data terminal or other wireless unit.
  • the present invention relates to the provisioning of spatial algorithms and related information for use in locating a wireless unit within the network and/or relating a wireless unit location to a service zone of a wireless location service provider.
  • a variety of location based services applications have been proposed. Generally, these applications involve providing services to a wireless network subscriber, or recording business or other information relating to services accessed or otherwise used by a wireless network subscriber, based on a location of the wireless unit.
  • the location of the wireless unit maybe determined based on knowledge of the cell sector or other subdivision of the network where the wireless unit is located, or based on information obtained from location finding equipment. Accordingly, the location of the wireless unit may be determined to varying accuracies depending on the nature of location technology employed, and maybe expressed in terms of geographic coordinates, uncertainty regions and/or wireless network or other zone areas.
  • Examples of proposed location based service applications include location-based billing, 911 call routing and local traffic or service information.
  • location based billing applications a wireless subscriber is billed for calls within a wireless network depending on the location of the call. For example, a subscriber may be billed a lower rate for calls placed from a home, office or other defined location, or a subscriber may be billed for calls based on network area codes or the like.
  • 911 call routing applications the location of a wireless unit placing an emergency call is matched to an emergency network dispatcher zone so that the call can be properly routed to facilitate a rapid emergency response.
  • local traffic or service information applications a wireless subscriber can receive information regarding local traffic conditions and/or food, lodging or other services, based on the location of the subscriber's wireless unit. Many other types of wireless location service applications are possible.
  • Each of these applications involves comparing a wireless unit location to a service location, e.g., the location of a service provider or service zone.
  • a service location e.g., the location of a service provider or service zone.
  • the location determination may involve determining whether a wireless unit is in or out of a service zone such as a home zone, area code region or other billing zone (e.g., in the case of location-based billing applications) or particular dispatcher zones (e.g., in the case of 911 call routing).
  • the location determination may involve identifying the closest service provider for a given type of services.
  • the geographic coordinates of dispatcher zones may be stored in a look-up table or other data structure, such that the location of a wireless unit can be compared to such zones for emergency call routing.
  • the location determination may involve comparing a wireless unit location to the locations of various service providers by way of distance determinations and/or related calculations to find the closest service provider or the service provider that can be reached in the least amount of driving distance or time.
  • Customized algorithms have been designed or envisioned for each such application.
  • the present invention provides certain toolkits and libraries including spatial algorithms for facilitating development and deployment of a variety of location based service applications.
  • the present invention provides a mechanism for efficiently provisioning and re-provisioning network or other service zone geometries such that location determinations can be based on current service zone geometry without requiring substantial manual database revision. The invention thereby facilitates efficient location based service application development, deployment and maintenance.
  • a method for provisioning wireless unit related information using a library of spatial algorithms.
  • the library includes a number of spatial algorithm tools where each tool is useful for performing a location comparison between first and second geographic information.
  • the geographic information can be coordinates, uncertainty regions and/or other areas.
  • Each of the tools implements at least one type of spatial algorithm such as an overlap comparison algorithm (e.g., point-in-polygon, circle overlap, etc.) and/or a time/distance comparison algorithm (e.g., closest service point algorithm) such that the resulting toolkit provides at least two different spatial algorithms.
  • an overlap comparison algorithm e.g., point-in-polygon, circle overlap, etc.
  • a time/distance comparison algorithm e.g., closest service point algorithm
  • the associated method includes the steps of: accessing the spatial algorithm library; selecting one of the spatial algorithm tools from the library, storing service information defining service locations relative to geographic information; obtaining input location information regarding the location of a wireless unit based on signals transmitted within the wireless network; using the selected spatial algorithm relative to the stored service information and obtained input location information to identify a service location for the wireless unit; and using the identified service location for one of providing services and recording business information concerning the wireless unit.
  • the library may be accessed, for example, prior to implementation of a wireless location services application (such as during application development), during application execution (such as upon receiving wireless unit location information) and/or in response to a location request from a wireless location services application or user.
  • the tool is preferably selected based on the nature of the subject location determination. For example, a point-in-polygon or other overlap comparison algorithm may be selected for a service zone identification application (e.g., emergency call routing or location based billing) whereas a time/distance comparison algorithm may be employed for a local traffic/services application.
  • the stored service information may include geographic coordinates (e.g., the latitude and longitude of service providers), polygon or other area boundaries (e.g., defining emergency dispatch zones) or other area information (e.g., the geographic location corresponding to a network cell sector).
  • geographic coordinates e.g., the latitude and longitude of service providers
  • polygon or other area boundaries e.g., defining emergency dispatch zones
  • area information e.g., the geographic location corresponding to a network cell sector.
  • the input location information can vary depending, for example, on the localization technology or technologies employed.
  • LFE location finding equipment
  • area localization technologies include GPS based systems and triangulation systems such as angle of arrival systems that determine location based on the angle of arrival of signals at a wireless unit and/or cell site or other antennae.
  • Area localization technologies include cell sector systems where the wireless unit location is approximated based on the cell sector handling wireless unit communications.
  • the input location information may include information obtained by combining multiple inputs from the same or separate LFEs and/or area localization systems.
  • the selected spatial algorithm maybe used to identify a service zone where the wireless unit is located, to identify local services, or otherwise to identify a service location. This service location can then be used for any of various location based service application objectives such as recording a billing zone or rate for a call or routing an emergency call.
  • a geographic information system (GIS) application is used to provision location information in a wireless network.
  • the GIS application is operative for correlating geographic coordinate information with network information such as street address information, street network topology, and service zone maps.
  • the associated method includes the steps of: providing a location based services application for execution on a platform associated with said wireless network; providing a GIS application; receiving input information regarding a geographic locale (such as a cell sector, street address or service zone) for use by the location based services application in making service related determinations; employing the GIS application to provide processed location information for use by the location based service application based on the input information; and employing the location based service application to make service related determinations using the processed location information provided by the GIS application.
  • a geographic locale such as a cell sector, street address or service zone
  • wireless unit location information and service location information is stored as geographic information and one or both is interpreted as current topological information as required for location determinations.
  • each of the wireless unit location information and service information can be stored, for example, as geographic coordinates defining a point and/or geographic information defining an uncertainty region, a service zone or a service boundary.
  • the geographic information can be interpreted, for example, in terms of a network geometry (e.g., a cell sector location), "pixels" or grid elements of a quadtree system, a service area (e.g., a billing zone or rate zone) or other reference geometry.
  • a network geometry e.g., a cell sector location
  • pixels or grid elements of a quadtree system
  • service area e.g., a billing zone or rate zone
  • location information is stored independent of network subdivisions, service area or other service locations that may change from time-to-time.
  • Fig.2 illustrates a processor system for use in implementing the present invention
  • Fig. 3 illustrates a wireless network for implementing a subscriber delivered service information application in accordance with the present invention
  • Fig. 4 illustrates a wireless network using multiple LFEs in accordance with the present invention
  • Figs. 5A-5E illustrate various spatial algorithms in accordance with the present invention
  • Fig. 6 is a flowchart illustrating a process for use in providing driving instructions in accordance with the present invention
  • Fig. 7 is a flowchart illustrating a process for using GIS data for processing location information in an OLTP environment in accordance with the present invention.
  • Fig. 8 illustrates a layered architecture for implementing location based services in accordance with the present invention
  • Fig. 9 is a flowchart illustrating a process for developing a location based services application using the architecture of Fig. 8;
  • Fig. 10 illustrates a process for implementing a location based services application using the architecture of Fig. 8.
  • the invention is set forth in the context of various location based service applications. Many such applications have been proposed and various aspects of the invention are broadly applicable to a broad range of such services. Accordingly, it will be appreciated that the invention is not limited to the various exemplary applications described below.
  • An important aspect of the present invention relates to facilitating the development and maintenance of various types of location based service applications for wireless networks as well as enhancing the functionality of such applications, for example, by allowing access to GIS information on a in an OLTP environment.
  • the present invention is based, in part, on the recognition of problems that potentially arise in the wireless environment (e.g., due to changing network boundaries), the recognition of the varying nature of the location information that may be available in a wireless environment or the types of location determinations that may be required, and the recognition of the value of accessing GIS by wireless location-based services applications operating in an OLTP environment.
  • the following description includes 1) a description of an exemplary wireless network; 2) a description of various types of location finding technologies; 3) a description of various types of location based services applications; 4) a description of various spatial algorithms for use in deriving location information; and 5) a description of a layered architecture and various toolkits for supporting numerous location based services applications based on a number of generic tools.
  • the present invention is directed to the provision of location information in a wireless network, e.g., the determination of whether a location associated with a wireless station is within a particular area of interest.
  • the noted determination is of particular use with respect to cellular telephones (e.g., analog, digital and PCS). While the invention will be described with respect to a wireless telephone, it should be understood that the invention can be used to make the noted determination with any type of wireless unit, provided a location can be associated with the wireless unit.
  • the wireless telephone system 120 operates to establish telephone connections for wireless telephones within a service area 122.
  • the service area 122 is sub-divided into cells 124A-124C that respectively include base stations 126A-126C for relaying communications to and from wireless telephones 128 located in the cell.
  • Each of the base stations 126A-126C is in communication with a switch 130 such as a mobile switching center (“MSC”) 130 that operates to establish a connection between a wireless telephone in the service area 122 and another telephone device. If the other telephone device is not another wireless telephone in the service area 122, the switch 130 communicates via an external communication path 132 with the appropriate switching stations to establish the connection.
  • MSC mobile switching center
  • the switch 130 uses the external communication path 132 to communicate with the switching station that services the land line telephone to establish the communication channel.
  • the base station associated with the wireless telephone 128 that is attempting to place a call or to receive a call and the switch 30 cooperate to establish a communication channel between the wireless telephone and the other telephone device. Once the communication channel is established, communications can occur between the wireless telephone and the other telephone device for as long as the wireless telephone remains in the service area 122 or, in the case of roaming service, another service area 122.
  • a platform 134 associated with the switch 130 is operative for supporting a variety of service applications including location based service applications, or tools for use by external location based service applications, as will be described below.
  • the determination of whether the location associated with wireless telephone is within an area of interest is implemented on a computer system that may be resident at platform 134 (Fig. 1).
  • the computer system includes a processor 238, memory 240 and input/output port 242.
  • the processor 238 executes a program that makes use of certain spatial algorithms as described below to determine whether a location associated with a wireless telephone is within a predetermined area of interest or to otherwise access/provide services based on the location of the wireless telephone.
  • the location associated with the wireless telephone is provided to the input side of the port 242.
  • a disk drive 244 is an optional element of the system 236 that can be used to store a portion of the program executed by the processor 238 and load the portion of the program into memory 240 when needed. All or a portion of the spatial algorithm tool can also be stored on the disk drive 244 and loaded into memory when needed in an operation known as caching. Caching permits portions of the spatial algorithm tool to be loaded into memory when needed rather than having to retain the entire tool and associated data structure in the memory 240. This is particularly useful if there are constraints on the use of the memory 240. For instance, the size of the memory may be limited.
  • the computer system 236 also optionally includes other peripherals, such as keyboards and monitors, that may be useful in executing and/or monitoring the program.
  • FIG. 3 illustrates a wireless telecommunications network 300 for implementing such applications.
  • the network 300 is divided into a number of service areas or cell as described above.
  • Each cell includes cell site equipment 308 for receiving RF signals from wireless telephones 302 of network subscribers and transmitting RF signals to the wireless telephones 302.
  • the cell site equipment 308 of multiple cells are, in turn, connected to an switch 310 typically by wireline connections.
  • the switch 310 as described above, is used in establishing voice channels for communication between the calling and called phones.
  • the switch also provides information for generating call detail records or other billing records.
  • one or more platforms 312 are generally provided for implementing a variety of subscriber or network service functions.
  • the platform 312 may implement an application for routing calls based on subscriber data.
  • the platform 312 is used to run logic for implementing a location based services application whereby service information is delivered to a subscriber based on the location of the telephone 302.
  • the illustrated network 300 also includes a data server 320 associated with the platform 312 and the switch 310.
  • the data server 320 provides an interface by which information can be communicated between the platform 312 and subscribers or third parties.
  • the data server 320 may also receive signals from the switch 310 such as call start signals, call stop signals and the like that may be transmitted to billing systems or other applications.
  • the data server 320 receives an input from the platform 312 that may include location-based service information to be transmitted to the subscriber or third parties.
  • location-based service information such as the location of a local service provider or a menu of service providers
  • the switch may transmit service request information to an application associated with platform 312.
  • the application responds, with call routing information that prompts the switch 310 to establish a communication channel between the phone 302 and the data server 320.
  • This channel is then used to communicate the location-based service information from the data server 320 to the phone 302 for audible or visual presentation to the subscriber.
  • the data server 320 may also or alternatively be used to transmit data to third parties such as an identified service provider 324. For example, upon identification of the service provider 324 based on the subscriber's service request, the subscriber may request a direct voice connection to the service provider 324 or may request that financial information or other data be transmitted to the service provider 324 to process a service transaction.
  • an appropriate voice and/or data link 322 may be established between the data server 320 or the switch 310 and the service provider 324 via the network 300 and/or a further network such as the Internet. It will thus be appreciated that the interactive location-based service process of the present invention may involve a series of communications with the phone 302.
  • the illustrated phone 102 is an enhanced phone, i.e., a phone adapted for voice and data communication with a built-in processor.
  • the phone includes a conventional keypad 306, a roller ball, arrow keys, touchpad or other data input device 304, and a screen 305 for displaying data.
  • the subscriber can enter service requests via the keypad 306 or data input device 304, and can receive service information audibly or via the display 305. Additional elements of the system 300 are described below in connection with particular applications for delivering service information to a subscriber. 2. Location Finding Technologies
  • a wireless telecommunications network including multiple
  • LFEs is generally identified by the reference numeral 400.
  • the network includes a switch 412, such as described above, for use in routing wireless communications to or from wireless stations 402, a network platform 414 associated with the switch 412 for implementing a variety of subscriber or network service functions, and a variety of LFE and/or area localization systems 404, 406, 408 and 410.
  • the network platform is used to run a Location Manager (LM) 416 in accordance with the present invention, a GIS application 420 and a number of wireless location applications 418.
  • LM Location Manager
  • LM 416, GIS application 420 and wireless location applications 418 are illustrated as being resident on the network platform 414, it will be appreciated that the elements 416 and 418 may be located elsewhere in the network 400, maybe resident on separate platforms, or the functionality of each of these elements 416 and 418 may be spread over multiple platforms. In addition, other applications not depicted in Figure 4 may be resident on the platform 414.
  • LFE LFE equipment in the handset. Examples include certain GPS and TDOA systems.
  • location information may be encoded into signals transmitted from the handset to a cell site or other receiver, and the information may then be transferred to the platform 414 via the switch 412 or otherwise.
  • Other LFE systems i.e., embedded systems, use equipment associated with individual cell sites such as specialized antennae to make location determinations such as by triangulation and, again, the resulting location information may be transferred to the platform 414 via the switch 412 or otherwise.
  • Still other LFE systems employ a network of dedicated LFE equipment that is overlayed relative to the wireless network. Such systems may communicate location information to the platform 414 independent of the switch 412 and network cell site equipment.
  • some LFE technologies can be implemented via equipment resident in the handset, in cell sites or other network locations and/or in dedicated LFE sites such that the data pathway of the location information may vary even for a given LFE technology.
  • such systems may include network based systems such as AOA and
  • the illustrated network based systems determine the location of a wireless station 402 based on communications between the wireless station and the cell site equipment of multiple cell sites. For example, and as will be described in more detail below, such systems may receive information concerning a directional bearing of the wireless station 402 or a distance of the wireless station 402 relative to each of multiple cell sites. Based on such information, the location of the wireless station 402 can be determined by triangulation or similar geometric/mathematic techniques.
  • External systems such as GPS systems, determine the wireless station location relative to an external system. In the case of GPS systems, the wireless station 402 is typically provided with a GPS receiver for determining geographic position relative to the GPS satellite constellation. This location information is then transmitted across an air interface to the network 400.
  • the illustrated cell sector system 410 may be associated with cell site equipment for communicating with the wireless station 402.
  • the cell site equipment may include three or more directional antennas for communicating with wireless stations within subsections of the cell area. These directional antennas can be used to identify the subsection of a cell where the wireless station 402 is located.
  • ranging information obtained from signal timing information may be obtained to identify a radius range from the cell site equipment where the wireless station 402 is located, thereby yielding a wireless station location in terms of a range of angles and a range of radii relative to the cell site equipment.
  • This cell/sector location information can be transmitted to the LM 416 via the switch 412 or possibly via other network information or structure.
  • the LM 416 receives location information from the various LFE systems 404, 406, 408 and 410.
  • location information is described in more detail in U.S. Patent Application Serial No. 60/106,816 entitled “Data Fusion For Wireless Location-Based Applications," and U.S. Patent Application Serial No. , which are incorporated herein by reference.
  • such information is processed by the LM 416 to provide location outputs for use by any of various wireless location applications 418 in response to location requests from the application 418.
  • Such applications may include any wireless location services applications such as 911 , vehicle tracking and location-based billing programs.
  • the GIS application may interface with the LM 416 or applications 418 to associate geographic coordinate information with mapping information and vice versa.
  • Figure 5 A generally shows the coverage area 500 of a cell sector.
  • the cell site equipment for a particular cell of a wireless telecommunications system may include a number, e.g., three or more, of directional antennas. Each antenna thus covers an angular range relative to the cell site bounded by sides 502. In the case of a three sector cell, each antenna may cover about 120° - 150° relative to the cell site.
  • the coverage range for the antenna defines an outer perimeter 504 of the coverage area 500. As shown, the range varies with respect to angle defining a somewhat jagged outer perimeter 504. Accordingly, the actual uncertainty regarding the location of a wireless station located in the illustrated cell sector is defined by the coverage area 500.
  • the location determination output from a cell/sector LFE is therefore effectively defined by the coordinates of the coverage area 500.
  • Figure 5B depicts a TOA based LFE.
  • the wireless station's range from a cell sector antenna is determined, based on time of signal arrival or signal transit time to within a radius range, e.g., about 1000 meters.
  • the wireless station's location can be determined to be within an area bounded by sides 506 (based on the angular range of the cell sector antenna) and inner 508 and outer 510 arcs (defined by the ranging uncertainty).
  • the output from a TOA based LFE is effectively defined by the coordinates of the sides 506 and the axes 508 and 510.
  • AOA based LFE determines the location of a wireless station based on the angle of arrival of signals, generally indicated by rays 512 and 514, from the wireless station as measured by two or more cell sites 516 and 518. Each angle measurement has an angular uncertainty generally indicated by line segments 520 and 522. Consequently, the uncertainty region for a given location determination is defined by a polygon having 2n sides, where n is the number of cell sites 516 and 518 involved in the measurement.
  • Figure 5D illustrates a TDOA based LFE.
  • the illustrated system is cell site based, the TDOA system may alternatively be handset based.
  • multiple cell sites measure the time of arrival of signals from a wireless station. Based on such measurements, each cell site can provide information regarding wireless station location in terms of a hyperbola 524 or 526 and an uncertainty, generally indicated by segments 528 and 530.
  • the resulting uncertainty region is defined by a multi-sided region (where each wall is curved) having 2n walls, where n is the number of cell sites involved in the determination.
  • Figure 5E illustrates a GPS based LFE.
  • the wireless station includes a GPS transceiver for receiving signals indicating the wireless station's location relative to multiple satellites in the GPS constellation. Based on these signals, the geographic coordinates of the wireless station's location is determined to an accuracy of perhaps 20 meters as generally indicated by circle 532. This information is then transmitted to the wireless network across an air interface.
  • the LM can receive location requests from various applications, query or otherwise obtain location information from one or more LFEs, and provide location outputs to the applications. Such outputs may be based on a single LFE input or combinations thereof.
  • the LM utilizes a standardized data format and standardized communications protocols thereby defining a common logical platform for a variety location based services applications such as described below.
  • location based services applications Many different types of location based services applications have been implemented or proposed. The nature of the location based service application and other factors may determine what type of spatial algorithm is required. Accordingly, a number of different types of location based services applications will now be described to provide a better understanding of the present invention.
  • a number of location based services applications involve determining whether a mobile unit such as a wireless telephone is located within an area of interest. Examples of these applications include emergency or "911" applications, location dependent call billing, cell-to-cell handoff, vehicle tracking and local service information applications. In 911 applications, the location of a wireless station is determined when the station is used to place an emergency call. The location is then transmitted to a local emergency dispatcher to assist in responding to the call.
  • the location of a wireless station is determined, for example, upon placing or receiving a call. This location is then transmitted to a billing system that determines an appropriate billing value based on the location of the wireless station. For example, a carrier may offer a lower rate for calls that are placed from an area associated with a subscriber's home, office or other location. Alternatively, different rates may apply to calls placed or received within different area codes or other network subdivisions.
  • a wireless location is determined in order to coordinate handoff of call handling between network cells. Vehicle tracking applications are used, for example, to track the location of stolen vehicles. In this regard, the location of a car phone or like in a stolen vehicle can be transmitted to the appropriate authorities to assist in recovering the vehicle.
  • a system for determining whether a wireless station is within an area of interest such as a home billing zone. This determination can then be reported to a billing application.
  • the home billing zone may be defined for particular subscribers by reference to then existing cell sector boundaries or other communications network areas.
  • the location of the call may be defined, by a cell sector system or the like, by reference to current cell sector boundaries or other communications network areas.
  • geographical data corresponding to the home billing zone may be stored rather than merely a cell sector or other network identifier for the home zone.
  • this geographical data can be translated into current communications network information, e.g., a cell or cell sector identifier.
  • the translated home zone information can then be compared to the corresponding location information for the call to determine if the call location is within the home zone.
  • the call/zone comparison is conducted based on current network geometry.
  • the platform 312 of Fig. 3 includes ports for accessing and receiving optional subscriber profile information 314, inputs 316 from LFEs as discussed above, and service information 318.
  • the subscriber profile information 314 may include information regarding individual subscribers that is useful in personalizing the location based services and in processing individual service requests.
  • Some examples of such information include: 1) financial information for use in executing a location based service transaction such as credit card numbers and expiration dates, back account numbers or corporate account information; 2) service preference information such as hotel room requirements, information regarding discount programs or club memberships and preferred chains or other service providers;
  • Such profile information may be entered by a carrier or other location based service administrator upon signing up for the service and may be periodically revised or automatically revised based on adaptive logic.
  • the illustrated platform 312 also accesses and receives service information.
  • service information may be provided for various location based services.
  • the service information may include a database of service providers indexed to corresponding service locations.
  • Such service locations may be stored in the form of latitude/longitude data, corresponding street address data, zip codes or other regional/service area indicators, or any other appropriate identifiers.
  • a GIS application may be employed to correlate typological information (e.g., street addresses and street boundaries) to geographical coordinate information.
  • stored information for particular areas or locations may be updated on a regular basis or, alternatively, the platform 312 may be linked to an external source of real time or near real time information.
  • the service information may involve stored or substantially real-time information regarding the location of a service provider.
  • the subscriber profile information 314, service information 318 and LFE information 316 or enhanced position information is used in the illustrated system to provide location-based service information. It will be appreciated that this location-based service information can, optionally, be personalized based on the subscriber profile information 314.
  • the location-based service information can include not only information regarding service providers in the vicinity of the subscriber, but can also identify local service providers or services meeting criteria specified by the profile information 314.
  • the location-based service information may therefore identify a local hotel that has a four star rating and conference rooms, and that accepts credits cards and participates in a particular corporate discount plan, or it may identify the closest ATM machine that does not charge a transaction fee.
  • the location of a wireless unit is compared to certain areas of interest. For example, in 911 applications, the location from which an emergency call is placed is compared to dispatcher service areas in order to properly route the call. In location dependent billing applications, the location of a call may be compared to certain billing zones of a carrier. Similarly, in certain subscriber delivered service information applications, the information delivered to the subscriber is selected based on the service area within which the wireless unit is located. For example, the location of a wireless unit may be compared to pizza delivery zones, towing service dispatch zones or the like to identify an appropriate service provider and/or route a call.
  • the location based services application is not necessarily concerned with determining whether the mobile unit is located within an area of interest but, rather, is concerned with identifying the closest service provider, the most relevant local service information, driving instructions to a particular location taking into account local traffic conditions, etc.
  • area of interest type applications involve a comparison of location information for the mobile unit to stored information regarding the area or areas of interest.
  • the areas of interest maybe of various shapes.
  • Other applications involve a comparison of the location of the mobile unit to the locations of various potential service providers in order to identify the closest suitable service provider.
  • Still other applications, such as driving instructions may involve a hybrid determination considering both the distance to relevant service providers as well as local traffic conditions in order to identify a service provider that can be reached in the least amount of driving time. Accordingly, different types of spatial algorithms may be employed to meet the needs of different applications. 4. Spatial Algorithms
  • an operating zone of the application In a variety of applications, it is desired to determine whether a wireless unit is within an operating zone of the application or to determine within which operating zone the wireless unit is located.
  • the operating zones can be simple or complex in shape. Moreover, an operating zone may include multiple areas that are not contiguous. Two examples of point-in-area type algorithms are provided below.
  • Point in polygon algorithms are useful in a variety of applications where it is desired to determine whether a wireless unit is within an area of interest which can be defined as a polygon.
  • Such point in polygon algorithms can be implemented in many ways. For example, in a simple case where the polygon is rectilinear having sides that are oriented along particular longitudes and latitudes, a point in polygon determination can be made by comparing the point (e.g., a latitude and longitude of a mobile unit) to the vertices of the polygon to determine whether the point is between the vertices. In more complicated settings, e.g., involving more complicated polygon shapes, the point may be mathematically compared to line segments between polygon vertices or to a mathematical representation of an area circumscribed by the polygon edges.
  • point in area algorithms are a generalization of the point in polygon algorithms described above, and are applicable to areas having straight or curved boundaries.
  • the point in area determination can be made by mathematically defining the region circumscribed by the area edges and then comparing the point at issue to the defined region.
  • a line segment or ray may be defined extending, for example, from the point to an end of the coverage area.
  • a line segment or ray may extend along a longitudinal or latitudinal line intersecting the point at issue.
  • This line segment or ray can then be compared to the edges of the region to determine the number of intersections therebetween, e.g., by simultaneously solving the associated mathematical equations. Based on this comparison, the point will be determined to be inside the region if there is an odd number of intersections and outside if there is an even number.
  • Yet another type of spatial algorithm that may be used to determine whether a point may be within a region of interest are circle overlap algorithms. This type of algorithm is useful in accounting for uncertainties inherent in wireless location determinations. For example, a particular location sensitive billing program may provide a lower billing rate when a subscriber places calls at or near a home location, office location other location. Accordingly, when a subscriber places a call, the associated application may access a database of stored home zone information defining "home locations" of various subscribers, receive subscriber location information regarding the location of the subscriber, and compare the received location information to home location information for the subscriber to determine a billing rate or rate zone for the call. However, there may be uncertainties associated with the home location and subscriber location.
  • each of these locations may be defined based on a cell sector identifier or by geographic coordinates and an uncertainty.
  • each of the home location and subscriber location may be defined as a circle (or other shape) defining the respective locations with due regard for the associated uncertainties.
  • the resulting circles can then be mathematically compared for overlap.
  • the call may be deemed to be within the home zone because the possibility that the call is within the home zone has not been eliminated.
  • Quadtree Data Structure A quadtree data structure for use in the online transaction processing (OLTP) environment is disclosed in copending United States Patent Application No. 09/258,228 entitled “Method for Determining if the Location of a Wireless Communication Device is Within a Specified Area", filed February 26, 1999 and commonly assigned with the present application. That application is incorporated herein by reference in its entirety.
  • the invention uses a "quadtree" computer data structure that represents the area of interest.
  • the quadtree representation of the area of interest facilitates iteratively and quickly determining an area in which the location associated with the wireless station is situated.
  • the quadtree structure further provides an indication of whether or not the quadrant is part of the area of interest.
  • the quadtree data structure can also be updated to reflect changes in the area of interest or to add new areas of interest with little impact upon the telecommunication system in which the invention is implemented.
  • the quadtree is a multi-level structure with each level representing the same surface area of the earth but higher levels representing the surface area with a higher degree of resolution.
  • the first level of the quadtree represents the entire surface of the earth and is conceptualized as a "square".
  • the second level of the quadtree represents the four quadrants of the earth's surface, where the first quadrant extends from 0° to 180° longitude and from 0° to 90° latitude; the second quadrant extends from 0° to 180° longitude and from 0° to -90° latitude; the third quadrant extends from 0° to -180° longitude and from 0° to 90° latitude, and the four quadrant extends from 0° to 180° longitude and from 0° to -90° latitude.
  • the second level of the quadtree can be conceptualized as four smaller "squares". These four smaller squares are the four quadrants of the "square" associated with the first level.
  • the third level of the quadtree represents sixteen "squares", four groups of four "squares". Each group of four "squares” represents all of the quadrants of one of the squares represented by the second level of the quadtree. So, for example, if one of the "squares" associated with the second level of the quadtree represented the portion of the earth's surface that includes North America, each of the group of four "squares" at the third level that comprise the "square" at the second level that is would represent one of the quadrants of North America.
  • the area of the earth's surface represented by a "square" at a level decreases as the level increases.
  • the area of the earth's surface represented by a "square” at the third level of the quadtree is considerably less than the area of the earth's surface represented by one of the "squares" at the second level of the quadtree.
  • a quadtree representation of the earth's surface that includes 32 levels provides accuracy to within one centimeter.
  • the quadtree structure is adapted to identify one or more areas of interest by associating with each square at the highest level, i.e., the smallest squares, a flag or other indication that the square is part of the area of interest. For example, if the quadtree representation of earth's surface has been extended to 10 levels and the area of interest is Los Angeles, a certain number of the squares at level 10 will be identified or "flagged" as representing Los Angeles. In one embodiment, the portions of the quadtree structure that have been
  • the location associated with the wireless station is in area represented by the level-9 "square” to which the "flag" has been moved from the four level-10 “squares"
  • the determination will be made sooner because the flag associated with the level-9 "square” will be detected sooner than a flag associated with a level-10 "square".
  • a location which is typically expressed in terms of latitude and longitude. The location is normally the center of the square.
  • the location associated with each of the "squares" of the quadtree does not have to be stored. Rather, it can be quickly calculated.
  • the center of the level- 1 "square” that is representative of the earth's surface is at 0° longitude and 0° latitude.
  • the longitude of the level-1 "square” extends from -180° to +180°, and the latitude from -90° to +90°.
  • the longitude of the centers of the level-2 "squares" can be determined using a lookup table and the direction of the square from the location associated with the level- 1 square. For instance, with respect to the level-2 square that is northwest of the location of the level-1 square, the lookup table would indicate that the longitude value for a level- 2 square is 90° and the "west" portion of the direction means that the longitude of the northwest square is -90°.
  • the latitude value obtained from the lookup table would be 45° and "north" portion of the direction means that the latitude is +45°.
  • This concept is extended to higher levels of the quadtree by simply adding the result of the lookup table query and sign designation to the appropriate coordinate of the lower level square. For instance, with respect to the level-3 square that is northeast of the location (-90° long., +45° lat.) of the level-2 square, the lookup table would indicate that a latitude value of 22.5° is appropriate and the "north" portion of the direction would dictate that a latitude of +22.5° should be added to the latitude associated with the level-2 square to produce a latitude of 67.5°.
  • the present invention provides the ability to determine whether the location associated with a wireless unit is within an area of interest. This determination is accomplished by initially comparing the location associated with the wireless unit to the location associated with the square of the first level. Based on this comparison, the quadrant of the first level square in which the location associated with the wireless station is found can be determined. For example, if the location associated with the wireless station is in Los Angeles and the square represented by the first level covered the entire earth, the comparison would show that the location of the wireless unit was in the northwest quadrant of the square. This determination is subsequently used to point to the smaller square represented at the second level quadtree that will be subject to the same comparison and to calculate the location associated with this smaller square.
  • the determination at the first level would point to the second level square that contained Los Angeles, i.e., the northwest quadrant of the earth.
  • the location associated with this second level square is calculated and compared with the location associated with the wireless unit to determine which one of the quadrants of the northwest quadrant contains the location associated with the wireless unit. This process continues until a square is reached that indicates that location is either in an area of interest or it is not. If a "flag" is associated with this square, then the location associated with the wireless station is within the area of interest. The absence of a "flag" and any pointers to squares at a higher level indicates that the location of the wireless unit is not in an area of interest.
  • the present invention also provides the ability to build a quadtree data structure suitable for use in determining whether a location associated with a wireless unit is within an area of interest.
  • the process is typically initiated by a customer of a wireless service provider giving the service provider a map that identifies one or more areas of interest. For instance, the municipality responsible for responding to "911" calls may station emergency response teams at various locations and make each of these teams responsible for a particular area of the city.
  • a computer map is generated that defines the boundary of each area as a series of lines connected to one another to form a polygon. At this point, a determination is made as to whether the quadrants that form the square represented by the first level of the quadtree are at least partially contained within the polygon.
  • the quadtree can be condensed, as previously discussed. Namely, if all of the squares of a group of four squares that constitute the quadrants of a square at the next highest level are "flagged", the square at the next highest level can be flagged and the four squares deleted from the quadtree.
  • the condensation process begins at the highest level of the quadtree and sequentially proceeds through lower levels. The condensation process terminates when a level does not have four squares that satisfy the noted condition.
  • a quadtree that has been condensed has lower storage requirements relative to a quadtree that has not been condensed. Further, a condensed quadtree will increase, in certain situations, the speed at which the determination is made of whether the location associated with the wireless unit is within the area of interest.
  • Also provided by the present invention is the ability to update a quadtree data structure used in making the above-noted determination with little effect upon the telecommunication system in which quadtree structure is implemented. Updating involves assessing the consequences of the proposed changes to the areas of interest. For example, the reduction in size of an area of interest is likely to require that the "flags" associated with one or more of the squares represented at a level of the quadtree be deleted. Once this assessment has been made, a replacement for the portion of the quadtree data structure that requires changes is constructed and inserted into the quadtree data structure. After the replacement has been inserted, the old portion of the quadtree data structure is deleted.
  • the replacement portion is inserted before the portion being replaced is deleted, the ability to make a determination of whether a location associated with a wireless unit is in an area of interest is substantially unaffected. Furthermore, the insertion and deletion process can be accomplished in a very quickly so as not to disturb the telecommunication system that is implementing the process.
  • the foregoing method for determining if a location is within an area of interest is preferably carried out on a computer system.
  • the computer system includes: (1) a memory that contains (a) a program that performs the operations necessary to determine if the location associated with a wireless unit is within a predetermined area and (b) at least a portion of the quadtree data structure described above; (2) a processor that executes the program and, in so doing, accesses the quadtree data structure stored in memory; and (3) an input output structure for receiving the locational data associated with the wireless unit and transmitting an indication of whether or not the location associated with the wireless unit is within an area of interest.
  • the computer system also includes a disk drive for storing all or a portion of the quadtree data structure.
  • the location based services application can iteratively compare the subscriber location to the locations of acceptable service providers or outlets. Such comparisons can involve simple geometric distance calculations or may take network topology into account as described below.
  • Network topology may involve local street grid and traffic flow information, local transportation line information, or other network information affecting travel.
  • network topology may be used to provide driving instructions or to identify a closest service provider in terms of driving time or driving distance.
  • a location based services application may execute the following steps as illustrated in Fig.
  • location based services applications may entail accessing GIS applications, for example, GIS based information that has been previously stored.
  • GIS applications are operative for interpreting a geographic location in relation to mapping information such as street address information, street network topology and service zone maps.
  • mapping information such as street address information, street network topology and service zone maps.
  • street address information may be converted to geographical coordinate information or vice versa.
  • MAPS SignalSoft Corp. of Boulder, Colorado under the name MAPS.
  • the GIS application may be accessed , for example, to convert a subscriber location (e.g., provided to define a home billing zone of a location-based billing application) provided by way of a street location into geographical coordinates, or to convert a service provider location or service area boundary provided in terms of street/address information into geographic coordinate information for purposes of a closest location, area of interest or other analysis.
  • a subscriber location e.g., provided to define a home billing zone of a location-based billing application
  • GIS provisioned data for a location comparison or other transaction. In accordance with the present invention, this can be accomplished as illustrated in Fig.
  • the service request may be processed in accordance with the nature of the specific location based service application such as described above, for example, to determine whether a mobile unit is within an area of interest, to identify a service provider, or to provide location information such as traffic or weather conditions.
  • the GIS application may be used periodically, for example, in connection with updating operating zones of a location based services application and may be accessed at or near the time of a service request.
  • at least portions of the GIS application and services application, or functional units provided as separate applications may be colocated on a common network platform or node such as a platform associated with a switch of a wireless network.
  • the present invention facilitates the development and operation of a variety of different types of location based service applications by providing certain standardized components that can support multiple applications. These components may be provided as separate toolkits to application developers and/or may be made available via a public or private network for access by developers and applications.
  • Such standardization may involve: 1 ) an understanding of the different types of spatial analysis that may be desired for various types of location based services applications; 2) an identification of a set of spatial algorithms for supporting the applications; 3) an understanding of the different types of positional data and data formats that may be available from LFE's or other location finding technologies; 4) an understanding of the different requirements or priorities that different applications may have regarding, for example, accuracy or timeliness of location information; and 5) the provision of a system or layered architecture for interfacing location based services applications with available location finding technologies without requiring that the subject applications and location finding technologies be specifically adapted for one another and for providing access to a variety of spatial algorithms for a variety of applications such that the need for custom algorithms is reduced.
  • Fig. 8 shows a layered architecture 800 for implementing location based services applications using components that are common to multiple applications.
  • the architecture is divided into an applications layer 802, a middleware layer 804 and a core class libraries layer 806.
  • the application in the applications layer (802) can call or access the middleware components to implement specific functions, and the middleware components access the core class libraries to implement such functions.
  • the characterization of a particular element, for example, as an application of the applications layer or a middleware component can vary depending on the specific context.
  • Fig. 8 illustrates an important advantage of the present invention; namely, that through standardization, common resources can be used to support multiple applications, even though those applications may have different objectives and different requirements regarding location data and the like.
  • the spatial algorithms operate independent of any particular application. That is, the algorithms can receive location information expressed in a standard format and perform spatial analyses such as described above without requiring knowledge concerning the type of application being implemented. Moreover, a standard interface is provided for accessing the spatial algorithms and other tools so that developers can write applications that are compatible with the tools and/or that can access the tools using the known interface. Accordingly, the illustrated layered architecture 800 facilitates application development and implementation. In this regard, the illustrated middleware 804 and certain core class libraries 806 maybe provided as separate toolkits to developers.
  • the illustrated architecture 800 includes multiple location based services applications in the applications layer 802.
  • such applications may include a location based billing application 808, a 911 application 810, a hotel locator application 812 and a driving instructions application 814.
  • Each of these applications may access one or more of the middleware components.
  • the illustrated middleware components include a Location Manager component 816, a spatial algorithms library 818 and a GIS application 820.
  • any of the location based services programs may access the Location Manager 816 to request mobile unit location information and to specify certain parameters for the information such as accuracy or timeliness of the information.
  • any of the location based services applications may access the spatial algorithms 818 based on the objectives of the application.
  • the location based billing and 911 applications may access point-in-polygon, point-in-area, circle overlap or quadtree logic and the hotel locator and driving instructions applications may access closest location logic for use in conjunction with data provisioned by the GIS application 820.
  • Any of the location based services applications may access the GIS application to correlate street address or other mapping data to geographical coordinates data, or vice versa.
  • the middleware components may access any of various core class libraries 806 to implement the requested functions. These core class libraries 806 may include core mathematical routines 822 for use in implementing the spatial algorithms 818, network service area databases 824, a database of cached or otherwise stored "current" mobile unit location information 826, quadtree data structures 828, network topology databases 830 etc.
  • Fig. 9 illustrates a process for developing a location based services application using the architecture of Fig. 8 and or a toolkit in accordance with the present invention.
  • the process is initiated by determining (902) the application objectives. For example, the developer may wish to develop a location based billing, 911, driving instructions or other application such as discussed above or any other services application making use of mobile unit location. Based on the application objectives, the developer may then identify (904) a spatial algorithm type appropriate for the application. For example, for a location based billing or 911 application, a developer may determine that a point-in- polygon or point-in-area algorithm is appropriate depending, for example, on the nature of the dispatcher service areas involved. The developer can then access (906) the spatial algorithm library to select an appropriate algorithm.
  • the developer may simply acquire a spatial algorithm tool from an available toolkit.
  • the application may be linked to the tool via a public or private network.
  • the developer may access (908) any other appropriate tools such as a GIS application or the like.
  • any relevant application specific data may be ported (910) to the tool and/or the associated core class libraries.
  • information regarding the relevant billing zones may need to be ported for use by the spatial algorithms and/or any information regarding the timeliness or accuracy of the required location data may need to be ported to a location manager component.
  • the application may then be ported (912) to the OLTP environment.
  • a location sensitive billing application may be resident, at least in part, on a platform associated with a switch so as to enable near real time access to location finding equipment inputs, phone call data and other data as required.
  • the application can then be implemented (914) by activating the program to receive service requests or other inputs for initiating a location based services transaction.
  • Fig. 10 illustrates a process for implementing a location based services application using the architecture of Fig. 8.
  • Fig. 10 illustrates the operation of a location based services application for identifying the closest hotel to a subscriber meeting certain criteria, determining a driving path for reaching the identified hotel, and providing driving instructions to the subscriber.
  • the location of the various process steps relative to the system architecture may be varied.
  • the sequence of steps may be varied. For example, rather than identifying a closest hotel and then determining a driving path, the location of hotels may be considered concurrently with network topology information in order to identify the hotel having the shortest driving path or driving time relative to the location of the subscriber.
  • the illustrated process is initiated by establishing (1002) a hotel locator application and receiving a service request.
  • the service request may indicate that the subscriber wishes to obtain driving instructions to the closest hotel relative to a current location of the subscriber.
  • the service request may be entered, for example, by entering "*HOTEL" on the keyboard of a wireless telephone.
  • the hotel locator application may access ( 1004) a location manager tool which is conceptualized as part of the middleware layer for purposes of Fig. 10.
  • the signal transmitted to the location manager may identify the subscriber and may also specify certain information regarding the accuracy and timeliness of the location data that is desired.
  • the hotel locator application may require very recent data regarding the subscriber location in order to properly identify the closest hotel.
  • the location manager may access ( 1006) mobile unit location information by querying any available finding equipment in order to obtain current location data.
  • the location manager may scan a location cache to determine whether timely and accurate location data is available.
  • the location manager may identify the location of the wireless unit by noting the location of a cell or cell sector from which the service request was placed. Once the location manager obtains appropriate location information for the identified subscriber, the location is reported to and received ( 1008) by the hotel locator application. In this regard, implementation of the present invention is facilitated by the standardized data format and application interface of the Location Manger System as described in copending application serial numbers 60/106,816 and 09/396,235.
  • the hotel locator application may access (1010) the spatial algorithms library of the middleware layer in order to select a closest location algorithm.
  • the associated spatial algorithm logic may access (1012) various databases or libraries of the core class layer. For example, a database of GIS provisioned data regarding hotel locations may be accessed to identify candidate hotels.
  • a user preferences database may be accessed in order to identify any preferences that the subscriber may have previously entered regarding hotel accommodations.
  • the spatial algorithms logic may access certain core mathematical routines for implementing the requested spatial algorithm.
  • the hotel locator application may access (1016) a network topology database for driving information.
  • a network topology database may include information regarding street locations and traffic flow data.
  • the hotel locator application can use this network topology information to iteratively investigate alternative driving paths so as to select a shortest or quickest driving path to reach the identified hotel.
  • the hotel locator application can transmit driving instructions (1020) to the subscriber. These driving instructions maybe reported to the subscriber, for example, audibly or visibly.
  • the driving instructions may be automatically displayed on a display of the subscribers telephone using a paging feature.
  • a voice channel may be established with the subscribers telephone such that a recorded message can be played.

Abstract

A system is provided for allowing access to a library of spatial algorithms and access to other common resources for supporting the development and implementation of multiple location based services applications. In one embodiment, a multilayered architecture (800) is employed. The architecture (800) includes an applications layer (802), a middle ware layer (804) and a core class libraries layer (806). The application in the applications layer (802) can call or access the components in the middleware layer (804) to implement specific functions, and the middleware components can access libraries of the core class layer (806) to implement such functions. Common resources can thus be used to support multiple applications, even though those applications may have different objectives and different requirements regarding location data.

Description

SPATIAL TOOLKITS FOR WIRELESS LOCATION BASED SERVICES
FIELD OF THE INVENTION
The present invention relates in general to the provisioning of location based services in a wireless network, e.g., a network for analog or digital voice, video and/or data communications including a wireless telephone, pager, data terminal or other wireless unit. In particular, the present invention relates to the provisioning of spatial algorithms and related information for use in locating a wireless unit within the network and/or relating a wireless unit location to a service zone of a wireless location service provider.
BACKGROUND OF THE INVENTION A variety of location based services applications have been proposed. Generally, these applications involve providing services to a wireless network subscriber, or recording business or other information relating to services accessed or otherwise used by a wireless network subscriber, based on a location of the wireless unit. In this regard, the location of the wireless unit maybe determined based on knowledge of the cell sector or other subdivision of the network where the wireless unit is located, or based on information obtained from location finding equipment. Accordingly, the location of the wireless unit may be determined to varying accuracies depending on the nature of location technology employed, and maybe expressed in terms of geographic coordinates, uncertainty regions and/or wireless network or other zone areas.
Examples of proposed location based service applications include location-based billing, 911 call routing and local traffic or service information. In location based billing applications, a wireless subscriber is billed for calls within a wireless network depending on the location of the call. For example, a subscriber may be billed a lower rate for calls placed from a home, office or other defined location, or a subscriber may be billed for calls based on network area codes or the like. In 911 call routing applications, the location of a wireless unit placing an emergency call is matched to an emergency network dispatcher zone so that the call can be properly routed to facilitate a rapid emergency response. In local traffic or service information applications, a wireless subscriber can receive information regarding local traffic conditions and/or food, lodging or other services, based on the location of the subscriber's wireless unit. Many other types of wireless location service applications are possible.
Each of these applications involves comparing a wireless unit location to a service location, e.g., the location of a service provider or service zone. However, the nature of the location determination may vary depending on the objectives of the application and other factors. For example, in location-based billing or 911 call routing applications, the location determination may involve determining whether a wireless unit is in or out of a service zone such as a home zone, area code region or other billing zone (e.g., in the case of location-based billing applications) or particular dispatcher zones (e.g., in the case of 911 call routing). In local service applications, the location determination may involve identifying the closest service provider for a given type of services.
Due to the varying nature of location-based service application objectives and attendant location determination methodologies, application developers have often designed or envisioned custom location determination algorithms. Thus, for example, the geographic coordinates of dispatcher zones may be stored in a look-up table or other data structure, such that the location of a wireless unit can be compared to such zones for emergency call routing. In at least one case, it has been proposed to define home billing areas by reference to a circle of defined radius centered at a subscriber home location, so that call rating can be based on a determination of whether the call is inside or outside of circular home billing area boundaries. In other cases, the location determination may involve comparing a wireless unit location to the locations of various service providers by way of distance determinations and/or related calculations to find the closest service provider or the service provider that can be reached in the least amount of driving distance or time. Customized algorithms have been designed or envisioned for each such application.
It will be appreciated that developing custom algorithms on an application-by- application basis is a complicated and time consuming process which delays and adds to the expense of development of new location based services applications. Moreover, the operation of such algorithms with respect to stored databases of location information can be problematic. In this regard, it will be appreciated that the relevant location information may change from time-to-time. For example, network geometry may change due to the addition of cell site equipment to increase capacity or overall service area, or service provider zones may change for various reasons. As a result, significant revision of databases may be required so that the spatial algorithms can yield useful information. Such revision of databases, in turn, may result in significant system down time or deter development and/or full implementation of data intensive applications such as location- based billing employing subscriber specific home zones.
SUMMARY OF THE INVENTION It has been recognized that various types of location based applications share or can be designed to share similar location determination characteristics. For example, various types of applications involve comparing a wireless unit location to service zones or making a distance determination relating to a wireless unit location and a service provider location. It has also been recognized that storing location information in terms of network or service area geometries which may change is inefficient for certain applications. Accordingly, the present invention provides certain toolkits and libraries including spatial algorithms for facilitating development and deployment of a variety of location based service applications. In addition, the present invention provides a mechanism for efficiently provisioning and re-provisioning network or other service zone geometries such that location determinations can be based on current service zone geometry without requiring substantial manual database revision. The invention thereby facilitates efficient location based service application development, deployment and maintenance.
According to one aspect of the present invention, a method is provided for provisioning wireless unit related information using a library of spatial algorithms. The library includes a number of spatial algorithm tools where each tool is useful for performing a location comparison between first and second geographic information. The geographic information can be coordinates, uncertainty regions and/or other areas. Each of the tools implements at least one type of spatial algorithm such as an overlap comparison algorithm (e.g., point-in-polygon, circle overlap, etc.) and/or a time/distance comparison algorithm (e.g., closest service point algorithm) such that the resulting toolkit provides at least two different spatial algorithms. The associated method includes the steps of: accessing the spatial algorithm library; selecting one of the spatial algorithm tools from the library, storing service information defining service locations relative to geographic information; obtaining input location information regarding the location of a wireless unit based on signals transmitted within the wireless network; using the selected spatial algorithm relative to the stored service information and obtained input location information to identify a service location for the wireless unit; and using the identified service location for one of providing services and recording business information concerning the wireless unit.
The library may be accessed, for example, prior to implementation of a wireless location services application (such as during application development), during application execution (such as upon receiving wireless unit location information) and/or in response to a location request from a wireless location services application or user. The tool is preferably selected based on the nature of the subject location determination. For example, a point-in-polygon or other overlap comparison algorithm may be selected for a service zone identification application (e.g., emergency call routing or location based billing) whereas a time/distance comparison algorithm may be employed for a local traffic/services application. The stored service information may include geographic coordinates (e.g., the latitude and longitude of service providers), polygon or other area boundaries (e.g., defining emergency dispatch zones) or other area information (e.g., the geographic location corresponding to a network cell sector).
The input location information can vary depending, for example, on the localization technology or technologies employed. In this regard a variety of location finding equipment (LFE) technologies and area localization technologies are possible. Such LFE technologies include GPS based systems and triangulation systems such as angle of arrival systems that determine location based on the angle of arrival of signals at a wireless unit and/or cell site or other antennae. Area localization technologies include cell sector systems where the wireless unit location is approximated based on the cell sector handling wireless unit communications. In addition, the input location information may include information obtained by combining multiple inputs from the same or separate LFEs and/or area localization systems. The selected spatial algorithm maybe used to identify a service zone where the wireless unit is located, to identify local services, or otherwise to identify a service location. This service location can then be used for any of various location based service application objectives such as recording a billing zone or rate for a call or routing an emergency call.
According to another aspect of the present invention, a geographic information system (GIS) application is used to provision location information in a wireless network. The GIS application is operative for correlating geographic coordinate information with network information such as street address information, street network topology, and service zone maps. The associated method includes the steps of: providing a location based services application for execution on a platform associated with said wireless network; providing a GIS application; receiving input information regarding a geographic locale (such as a cell sector, street address or service zone) for use by the location based services application in making service related determinations; employing the GIS application to provide processed location information for use by the location based service application based on the input information; and employing the location based service application to make service related determinations using the processed location information provided by the GIS application. In this manner, the GIS application is used for provisioning location information in a form that can be readily handled by a wireless location-based services application in an On-Line Transaction Processing (OLTP) environment. According to a further aspect of the present invention, wireless unit location information and service location information is stored as geographic information and one or both is interpreted as current topological information as required for location determinations. Thus, each of the wireless unit location information and service information can be stored, for example, as geographic coordinates defining a point and/or geographic information defining an uncertainty region, a service zone or a service boundary. When making a location determination, the geographic information can be interpreted, for example, in terms of a network geometry (e.g., a cell sector location), "pixels" or grid elements of a quadtree system, a service area (e.g., a billing zone or rate zone) or other reference geometry. In this manner, location information is stored independent of network subdivisions, service area or other service locations that may change from time-to-time. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present invention and further advantages thereof, reference is now made to the following detailed description taken in conjunction with the drawings in which: Fig. 1 illustrates a cell structure of a wireless network in which the present invention may operate;
Fig.2 illustrates a processor system for use in implementing the present invention; Fig. 3 illustrates a wireless network for implementing a subscriber delivered service information application in accordance with the present invention; Fig. 4 illustrates a wireless network using multiple LFEs in accordance with the present invention;
Figs. 5A-5E illustrate various spatial algorithms in accordance with the present invention;
Fig. 6 is a flowchart illustrating a process for use in providing driving instructions in accordance with the present invention;
Fig. 7 is a flowchart illustrating a process for using GIS data for processing location information in an OLTP environment in accordance with the present invention;.
Fig. 8 illustrates a layered architecture for implementing location based services in accordance with the present invention; Fig. 9 is a flowchart illustrating a process for developing a location based services application using the architecture of Fig. 8; and
Fig. 10 illustrates a process for implementing a location based services application using the architecture of Fig. 8.
DETAILED DESCRIPTION
In the description below, the invention is set forth in the context of various location based service applications. Many such applications have been proposed and various aspects of the invention are broadly applicable to a broad range of such services. Accordingly, it will be appreciated that the invention is not limited to the various exemplary applications described below. An important aspect of the present invention relates to facilitating the development and maintenance of various types of location based service applications for wireless networks as well as enhancing the functionality of such applications, for example, by allowing access to GIS information on a in an OLTP environment. The present invention is based, in part, on the recognition of problems that potentially arise in the wireless environment (e.g., due to changing network boundaries), the recognition of the varying nature of the location information that may be available in a wireless environment or the types of location determinations that may be required, and the recognition of the value of accessing GIS by wireless location-based services applications operating in an OLTP environment. For a better understanding of the invention and its advantages in the wireless network context, the following description includes 1) a description of an exemplary wireless network; 2) a description of various types of location finding technologies; 3) a description of various types of location based services applications; 4) a description of various spatial algorithms for use in deriving location information; and 5) a description of a layered architecture and various toolkits for supporting numerous location based services applications based on a number of generic tools.
1. Wireless Network Environment The present invention is directed to the provision of location information in a wireless network, e.g., the determination of whether a location associated with a wireless station is within a particular area of interest. The noted determination is of particular use with respect to cellular telephones (e.g., analog, digital and PCS). While the invention will be described with respect to a wireless telephone, it should be understood that the invention can be used to make the noted determination with any type of wireless unit, provided a location can be associated with the wireless unit.
Referring to Fig. 1, the basic components of a wireless telephone system 120 are illustrated. The wireless telephone system 120 operates to establish telephone connections for wireless telephones within a service area 122. The service area 122 is sub-divided into cells 124A-124C that respectively include base stations 126A-126C for relaying communications to and from wireless telephones 128 located in the cell. Each of the base stations 126A-126C is in communication with a switch 130 such as a mobile switching center ("MSC") 130 that operates to establish a connection between a wireless telephone in the service area 122 and another telephone device. If the other telephone device is not another wireless telephone in the service area 122, the switch 130 communicates via an external communication path 132 with the appropriate switching stations to establish the connection. For instance, if the other telephone device is a conventional land line telephone, the switch 130 uses the external communication path 132 to communicate with the switching station that services the land line telephone to establish the communication channel. In operation, the base station associated with the wireless telephone 128 that is attempting to place a call or to receive a call and the switch 30 cooperate to establish a communication channel between the wireless telephone and the other telephone device. Once the communication channel is established, communications can occur between the wireless telephone and the other telephone device for as long as the wireless telephone remains in the service area 122 or, in the case of roaming service, another service area 122. A platform 134 associated with the switch 130 is operative for supporting a variety of service applications including location based service applications, or tools for use by external location based service applications, as will be described below.
Referring to Fig. 2, the determination of whether the location associated with wireless telephone is within an area of interest is implemented on a computer system that may be resident at platform 134 (Fig. 1). The computer system includes a processor 238, memory 240 and input/output port 242. The processor 238 executes a program that makes use of certain spatial algorithms as described below to determine whether a location associated with a wireless telephone is within a predetermined area of interest or to otherwise access/provide services based on the location of the wireless telephone. During this determination at least a portion of the program and at least a portion of the spatial algorithm tool are located in the memory 240. The location associated with the wireless telephone is provided to the input side of the port 242. The determination of whether the location associated with the wireless telephone is within a particular area of interest is made by a program by the processor 238 and resulting service information or other information depending on the application is provided to the output portion of the port 242. A disk drive 244 is an optional element of the system 236 that can be used to store a portion of the program executed by the processor 238 and load the portion of the program into memory 240 when needed. All or a portion of the spatial algorithm tool can also be stored on the disk drive 244 and loaded into memory when needed in an operation known as caching. Caching permits portions of the spatial algorithm tool to be loaded into memory when needed rather than having to retain the entire tool and associated data structure in the memory 240. This is particularly useful if there are constraints on the use of the memory 240. For instance, the size of the memory may be limited. The computer system 236 also optionally includes other peripherals, such as keyboards and monitors, that may be useful in executing and/or monitoring the program.
For certain wireless location services applications, service information is transmitted to a user or subscriber based on the location of a wireless telephone. Fig. 3 illustrates a wireless telecommunications network 300 for implementing such applications. Although not shown, the network 300 is divided into a number of service areas or cell as described above. Each cell includes cell site equipment 308 for receiving RF signals from wireless telephones 302 of network subscribers and transmitting RF signals to the wireless telephones 302. The cell site equipment 308 of multiple cells are, in turn, connected to an switch 310 typically by wireline connections. Among other things, the switch 310, as described above, is used in establishing voice channels for communication between the calling and called phones. The switch also provides information for generating call detail records or other billing records.
In connection with the switch 310, one or more platforms 312 are generally provided for implementing a variety of subscriber or network service functions. For example, the platform 312 may implement an application for routing calls based on subscriber data. In the illustrated embodiment, the platform 312 is used to run logic for implementing a location based services application whereby service information is delivered to a subscriber based on the location of the telephone 302.
The illustrated network 300 also includes a data server 320 associated with the platform 312 and the switch 310. The data server 320 provides an interface by which information can be communicated between the platform 312 and subscribers or third parties. The data server 320 may also receive signals from the switch 310 such as call start signals, call stop signals and the like that may be transmitted to billing systems or other applications. As shown, the data server 320 receives an input from the platform 312 that may include location-based service information to be transmitted to the subscriber or third parties. In the case of location-based service information (such as the location of a local service provider or a menu of service providers) to be transmitted to the subscriber, such information is communicated to the subscriber via the switch 310 and cell site equipment 308. More specifically, upon receiving a service request, the switch may transmit service request information to an application associated with platform 312. The application responds, with call routing information that prompts the switch 310 to establish a communication channel between the phone 302 and the data server 320. This channel is then used to communicate the location-based service information from the data server 320 to the phone 302 for audible or visual presentation to the subscriber. The data server 320 may also or alternatively be used to transmit data to third parties such as an identified service provider 324. For example, upon identification of the service provider 324 based on the subscriber's service request, the subscriber may request a direct voice connection to the service provider 324 or may request that financial information or other data be transmitted to the service provider 324 to process a service transaction. In this regard, an appropriate voice and/or data link 322 may be established between the data server 320 or the switch 310 and the service provider 324 via the network 300 and/or a further network such as the Internet. It will thus be appreciated that the interactive location-based service process of the present invention may involve a series of communications with the phone 302.
The illustrated phone 102 is an enhanced phone, i.e., a phone adapted for voice and data communication with a built-in processor. The phone includes a conventional keypad 306, a roller ball, arrow keys, touchpad or other data input device 304, and a screen 305 for displaying data. In this manner, the subscriber can enter service requests via the keypad 306 or data input device 304, and can receive service information audibly or via the display 305. Additional elements of the system 300 are described below in connection with particular applications for delivering service information to a subscriber. 2. Location Finding Technologies
As noted above, many different location finding technologies are available, some of which include dedicated LFE's. The present invention supports applications that can utilize any of various location finding technologies or combinations thereof. Referring to Figure 4, a wireless telecommunications network including multiple
LFEs is generally identified by the reference numeral 400. Generally, the network includes a switch 412, such as described above, for use in routing wireless communications to or from wireless stations 402, a network platform 414 associated with the switch 412 for implementing a variety of subscriber or network service functions, and a variety of LFE and/or area localization systems 404, 406, 408 and 410. In the illustrated embodiment, the network platform is used to run a Location Manager (LM) 416 in accordance with the present invention, a GIS application 420 and a number of wireless location applications 418. Although the illustrated LM 416, GIS application 420 and wireless location applications 418 are illustrated as being resident on the network platform 414, it will be appreciated that the elements 416 and 418 may be located elsewhere in the network 400, maybe resident on separate platforms, or the functionality of each of these elements 416 and 418 may be spread over multiple platforms. In addition, other applications not depicted in Figure 4 may be resident on the platform 414.
As shown in Figure 4, multiple LFE systems 404, 406, 408 and cell/sector system
410 may be associated with the network 400. These systems 404, 406, 408 and 410 may employ any of a variety of location finding technologies such as angle of arrival (AOA), time difference of arrival (TDOA), Global Positioning System ( GPS) and cell/sector technologies and the various systems 404, 406 and 408 may be the same as or different from one another. It will be appreciated that the nature of the data obtained from the systems 404, 406, 408 and 410 as well as the path by which the data is transmitted varies depending on the type of LFE employed, and the ability to accommodate a variety of LFEs is an important advantage of the present invention. Some types of LFEs include LFE equipment in the handset. Examples include certain GPS and TDOA systems. In such cases, location information may be encoded into signals transmitted from the handset to a cell site or other receiver, and the information may then be transferred to the platform 414 via the switch 412 or otherwise. Other LFE systems, i.e., embedded systems, use equipment associated with individual cell sites such as specialized antennae to make location determinations such as by triangulation and, again, the resulting location information may be transferred to the platform 414 via the switch 412 or otherwise. Still other LFE systems employ a network of dedicated LFE equipment that is overlayed relative to the wireless network. Such systems may communicate location information to the platform 414 independent of the switch 412 and network cell site equipment. In addition, some LFE technologies can be implemented via equipment resident in the handset, in cell sites or other network locations and/or in dedicated LFE sites such that the data pathway of the location information may vary even for a given LFE technology.
Three of the illustrated systems 404, 406 and 408 operate separate from the switch
412. For example, such systems may include network based systems such as AOA and
TDOA systems and external systems such as GPS. Generally, the illustrated network based systems determine the location of a wireless station 402 based on communications between the wireless station and the cell site equipment of multiple cell sites. For example, and as will be described in more detail below, such systems may receive information concerning a directional bearing of the wireless station 402 or a distance of the wireless station 402 relative to each of multiple cell sites. Based on such information, the location of the wireless station 402 can be determined by triangulation or similar geometric/mathematic techniques. External systems such as GPS systems, determine the wireless station location relative to an external system. In the case of GPS systems, the wireless station 402 is typically provided with a GPS receiver for determining geographic position relative to the GPS satellite constellation. This location information is then transmitted across an air interface to the network 400. The illustrated cell sector system 410 may be associated with cell site equipment for communicating with the wireless station 402. In this regard, the cell site equipment may include three or more directional antennas for communicating with wireless stations within subsections of the cell area. These directional antennas can be used to identify the subsection of a cell where the wireless station 402 is located. In addition, ranging information obtained from signal timing information may be obtained to identify a radius range from the cell site equipment where the wireless station 402 is located, thereby yielding a wireless station location in terms of a range of angles and a range of radii relative to the cell site equipment. This cell/sector location information can be transmitted to the LM 416 via the switch 412 or possibly via other network information or structure. As shown, the LM 416 receives location information from the various LFE systems 404, 406, 408 and 410. The nature of such information and handling of such information is described in more detail in U.S. Patent Application Serial No. 60/106,816 entitled "Data Fusion For Wireless Location-Based Applications," and U.S. Patent Application Serial No. , which are incorporated herein by reference. Generally, however, such information is processed by the LM 416 to provide location outputs for use by any of various wireless location applications 418 in response to location requests from the application 418. Such applications may include any wireless location services applications such as 911 , vehicle tracking and location-based billing programs. The GIS application may interface with the LM 416 or applications 418 to associate geographic coordinate information with mapping information and vice versa.
A number of different location finding technologies are depicted in Figures 5A- 5D for purposes of illustration. Figure 5 A generally shows the coverage area 500 of a cell sector. As noted above, the cell site equipment for a particular cell of a wireless telecommunications system may include a number, e.g., three or more, of directional antennas. Each antenna thus covers an angular range relative to the cell site bounded by sides 502. In the case of a three sector cell, each antenna may cover about 120° - 150° relative to the cell site. In addition the coverage range for the antenna defines an outer perimeter 504 of the coverage area 500. As shown, the range varies with respect to angle defining a somewhat jagged outer perimeter 504. Accordingly, the actual uncertainty regarding the location of a wireless station located in the illustrated cell sector is defined by the coverage area 500. The location determination output from a cell/sector LFE is therefore effectively defined by the coordinates of the coverage area 500.
Figure 5B depicts a TOA based LFE. In this case, the wireless station's range from a cell sector antenna is determined, based on time of signal arrival or signal transit time to within a radius range, e.g., about 1000 meters. Accordingly, the wireless station's location can be determined to be within an area bounded by sides 506 (based on the angular range of the cell sector antenna) and inner 508 and outer 510 arcs (defined by the ranging uncertainty). The output from a TOA based LFE is effectively defined by the coordinates of the sides 506 and the axes 508 and 510.
An AOA based LFE is generally illustrated in Figure 5C. AOA based LFEs determine the location of a wireless station based on the angle of arrival of signals, generally indicated by rays 512 and 514, from the wireless station as measured by two or more cell sites 516 and 518. Each angle measurement has an angular uncertainty generally indicated by line segments 520 and 522. Consequently, the uncertainty region for a given location determination is defined by a polygon having 2n sides, where n is the number of cell sites 516 and 518 involved in the measurement.
Figure 5D illustrates a TDOA based LFE. Although the illustrated system is cell site based, the TDOA system may alternatively be handset based. In TDOA systems, multiple cell sites measure the time of arrival of signals from a wireless station. Based on such measurements, each cell site can provide information regarding wireless station location in terms of a hyperbola 524 or 526 and an uncertainty, generally indicated by segments 528 and 530. The resulting uncertainty region is defined by a multi-sided region (where each wall is curved) having 2n walls, where n is the number of cell sites involved in the determination.
Figure 5E illustrates a GPS based LFE. In GPS systems, the wireless station includes a GPS transceiver for receiving signals indicating the wireless station's location relative to multiple satellites in the GPS constellation. Based on these signals, the geographic coordinates of the wireless station's location is determined to an accuracy of perhaps 20 meters as generally indicated by circle 532. This information is then transmitted to the wireless network across an air interface. As described in copending application Serial Nos. 60/106,816 and 09/396,235, the LM can receive location requests from various applications, query or otherwise obtain location information from one or more LFEs, and provide location outputs to the applications. Such outputs may be based on a single LFE input or combinations thereof. To facilitate such servicing of multiple applications by multiple LFEs, the LM utilizes a standardized data format and standardized communications protocols thereby defining a common logical platform for a variety location based services applications such as described below.
3. Location Based Service Applications Many different types of location based services applications have been implemented or proposed. The nature of the location based service application and other factors may determine what type of spatial algorithm is required. Accordingly, a number of different types of location based services applications will now be described to provide a better understanding of the present invention. A number of location based services applications involve determining whether a mobile unit such as a wireless telephone is located within an area of interest. Examples of these applications include emergency or "911" applications, location dependent call billing, cell-to-cell handoff, vehicle tracking and local service information applications. In 911 applications, the location of a wireless station is determined when the station is used to place an emergency call. The location is then transmitted to a local emergency dispatcher to assist in responding to the call. In typical location dependent call billing applications, the location of a wireless station is determined, for example, upon placing or receiving a call. This location is then transmitted to a billing system that determines an appropriate billing value based on the location of the wireless station. For example, a carrier may offer a lower rate for calls that are placed from an area associated with a subscriber's home, office or other location. Alternatively, different rates may apply to calls placed or received within different area codes or other network subdivisions. In handoff applications, a wireless location is determined in order to coordinate handoff of call handling between network cells. Vehicle tracking applications are used, for example, to track the location of stolen vehicles. In this regard, the location of a car phone or like in a stolen vehicle can be transmitted to the appropriate authorities to assist in recovering the vehicle.
A particularly advantageous implementation for area of interest type applications is described in copending United States Patent Application entitled "Method and System for Dynamic Location-Based Zone Assignment for a Wireless Communication Network" (Serial No. not yet assigned) filed concurrently herewith which is incorporated herein by reference. As described in that application, a system is provided for determining whether a wireless station is within an area of interest such as a home billing zone. This determination can then be reported to a billing application. The home billing zone may be defined for particular subscribers by reference to then existing cell sector boundaries or other communications network areas. Similarly, when a call is placed, the location of the call may be defined, by a cell sector system or the like, by reference to current cell sector boundaries or other communications network areas.
To accommodate communications network changes without the need to manually re-enter data on a subscriber-by-subscriber basis, geographical data corresponding to the home billing zone may be stored rather than merely a cell sector or other network identifier for the home zone. At or near the time that the call is placed, this geographical data can be translated into current communications network information, e.g., a cell or cell sector identifier. The translated home zone information can then be compared to the corresponding location information for the call to determine if the call location is within the home zone. Importantly, even though the home zone information may have been recorded some length of time before the call, the call/zone comparison is conducted based on current network geometry. Thus, network changes do not necessitate undue re-entry of data.
In addition to applications such as discussed above where location information is reported to a third party, a number of applications have been proposed where service information is delivered to a subscriber. Such applications are described in detail in copending United States Patent Application Serial No. 09/119,493 entitled "Subscriber Delivered Location-Based Services" which is incorporated by reference herein in its entirety. These applications may be understood by reference to Fig. 3. The platform 312 of Fig. 3 includes ports for accessing and receiving optional subscriber profile information 314, inputs 316 from LFEs as discussed above, and service information 318. The subscriber profile information 314 may include information regarding individual subscribers that is useful in personalizing the location based services and in processing individual service requests. Some examples of such information include: 1) financial information for use in executing a location based service transaction such as credit card numbers and expiration dates, back account numbers or corporate account information; 2) service preference information such as hotel room requirements, information regarding discount programs or club memberships and preferred chains or other service providers;
3) information regarding the subscriber's service usage profiles such as typical travel times roads, types of services most often requested by the subscriber and demographic information; and 4) the subscriber's willingness or desire to receive complimentary service information and advertisements. Such profile information may be entered by a carrier or other location based service administrator upon signing up for the service and may be periodically revised or automatically revised based on adaptive logic.
The illustrated platform 312 also accesses and receives service information. Various types of service information maybe provided for various location based services. For example, for services such as locating outlets, hotels, service stations, towing services, or other service providers in the vicinity of the subscriber, the service information may include a database of service providers indexed to corresponding service locations. Such service locations may be stored in the form of latitude/longitude data, corresponding street address data, zip codes or other regional/service area indicators, or any other appropriate identifiers. In this regard, a GIS application may be employed to correlate typological information (e.g., street addresses and street boundaries) to geographical coordinate information. For other types of services such as, for example, traffic or road conditions, stored information for particular areas or locations may be updated on a regular basis or, alternatively, the platform 312 may be linked to an external source of real time or near real time information. Alternatively, as described in more detail below, the service information may involve stored or substantially real-time information regarding the location of a service provider.
The subscriber profile information 314, service information 318 and LFE information 316 or enhanced position information is used in the illustrated system to provide location-based service information. It will be appreciated that this location-based service information can, optionally, be personalized based on the subscriber profile information 314. For example, in the case of providing local food outlet, service station or hotel information, the location-based service information can include not only information regarding service providers in the vicinity of the subscriber, but can also identify local service providers or services meeting criteria specified by the profile information 314. The location-based service information may therefore identify a local hotel that has a four star rating and conference rooms, and that accepts credits cards and participates in a particular corporate discount plan, or it may identify the closest ATM machine that does not charge a transaction fee. In many of the above-noted applications, the location of a wireless unit is compared to certain areas of interest. For example, in 911 applications, the location from which an emergency call is placed is compared to dispatcher service areas in order to properly route the call. In location dependent billing applications, the location of a call may be compared to certain billing zones of a carrier. Similarly, in certain subscriber delivered service information applications, the information delivered to the subscriber is selected based on the service area within which the wireless unit is located. For example, the location of a wireless unit may be compared to pizza delivery zones, towing service dispatch zones or the like to identify an appropriate service provider and/or route a call.
In other cases, the location based services application is not necessarily concerned with determining whether the mobile unit is located within an area of interest but, rather, is concerned with identifying the closest service provider, the most relevant local service information, driving instructions to a particular location taking into account local traffic conditions, etc.
It will be appreciated that different types of calculations may be required depending on the nature of the location based service application. In this regard, area of interest type applications involve a comparison of location information for the mobile unit to stored information regarding the area or areas of interest. The areas of interest maybe of various shapes. Other applications involve a comparison of the location of the mobile unit to the locations of various potential service providers in order to identify the closest suitable service provider. Still other applications, such as driving instructions, may involve a hybrid determination considering both the distance to relevant service providers as well as local traffic conditions in order to identify a service provider that can be reached in the least amount of driving time. Accordingly, different types of spatial algorithms may be employed to meet the needs of different applications. 4. Spatial Algorithms
Based on the foregoing, it will be appreciated that various types of spatial algorithms may be required to support various types of applications. Some examples of types of spatial algorithms follow.
a) Point in area
In a variety of applications, it is desired to determine whether a wireless unit is within an operating zone of the application or to determine within which operating zone the wireless unit is located. The operating zones can be simple or complex in shape. Moreover, an operating zone may include multiple areas that are not contiguous. Two examples of point-in-area type algorithms are provided below.
i) Point-in-Polygon.
Point in polygon algorithms are useful in a variety of applications where it is desired to determine whether a wireless unit is within an area of interest which can be defined as a polygon. Such point in polygon algorithms can be implemented in many ways. For example, in a simple case where the polygon is rectilinear having sides that are oriented along particular longitudes and latitudes, a point in polygon determination can be made by comparing the point (e.g., a latitude and longitude of a mobile unit) to the vertices of the polygon to determine whether the point is between the vertices. In more complicated settings, e.g., involving more complicated polygon shapes, the point may be mathematically compared to line segments between polygon vertices or to a mathematical representation of an area circumscribed by the polygon edges.
ii) Point-in- Area of Arbitrary Shape
These point in area algorithms are a generalization of the point in polygon algorithms described above, and are applicable to areas having straight or curved boundaries. Again, the point in area determination can be made by mathematically defining the region circumscribed by the area edges and then comparing the point at issue to the defined region. Alternatively, a line segment or ray may be defined extending, for example, from the point to an end of the coverage area. Conveniently, such a line segment or ray may extend along a longitudinal or latitudinal line intersecting the point at issue. This line segment or ray can then be compared to the edges of the region to determine the number of intersections therebetween, e.g., by simultaneously solving the associated mathematical equations. Based on this comparison, the point will be determined to be inside the region if there is an odd number of intersections and outside if there is an even number.
b) Circle Overlap
Yet another type of spatial algorithm that may be used to determine whether a point may be within a region of interest are circle overlap algorithms. This type of algorithm is useful in accounting for uncertainties inherent in wireless location determinations. For example, a particular location sensitive billing program may provide a lower billing rate when a subscriber places calls at or near a home location, office location other location. Accordingly, when a subscriber places a call, the associated application may access a database of stored home zone information defining "home locations" of various subscribers, receive subscriber location information regarding the location of the subscriber, and compare the received location information to home location information for the subscriber to determine a billing rate or rate zone for the call. However, there may be uncertainties associated with the home location and subscriber location. In this regard, each of these locations may be defined based on a cell sector identifier or by geographic coordinates and an uncertainty. In accordance with the "circle overlap" spatial algorithms, each of the home location and subscriber location may be defined as a circle (or other shape) defining the respective locations with due regard for the associated uncertainties. The resulting circles can then be mathematically compared for overlap. In the case where the circles overlap in a home zone billing application as described above, the call may be deemed to be within the home zone because the possibility that the call is within the home zone has not been eliminated.
c) Quadtree Data Structure A quadtree data structure for use in the online transaction processing (OLTP) environment is disclosed in copending United States Patent Application No. 09/258,228 entitled "Method for Determining if the Location of a Wireless Communication Device is Within a Specified Area", filed February 26, 1999 and commonly assigned with the present application. That application is incorporated herein by reference in its entirety. Generally, for an area of interest analysis, to determine whether the location associated with a wireless station is within a predetermined area of interest, the invention uses a "quadtree" computer data structure that represents the area of interest. The quadtree representation of the area of interest facilitates iteratively and quickly determining an area in which the location associated with the wireless station is situated. Once this area (known as a quadrant) has been determined, the quadtree structure further provides an indication of whether or not the quadrant is part of the area of interest. The quadtree data structure can also be updated to reflect changes in the area of interest or to add new areas of interest with little impact upon the telecommunication system in which the invention is implemented.
The quadtree is a multi-level structure with each level representing the same surface area of the earth but higher levels representing the surface area with a higher degree of resolution. In one embodiment, the first level of the quadtree represents the entire surface of the earth and is conceptualized as a "square". The second level of the quadtree represents the four quadrants of the earth's surface, where the first quadrant extends from 0° to 180° longitude and from 0° to 90° latitude; the second quadrant extends from 0° to 180° longitude and from 0° to -90° latitude; the third quadrant extends from 0° to -180° longitude and from 0° to 90° latitude, and the four quadrant extends from 0° to 180° longitude and from 0° to -90° latitude. The second level of the quadtree can be conceptualized as four smaller "squares". These four smaller squares are the four quadrants of the "square" associated with the first level. It should be noted that the portions of the earth's surface that are represented by these four smaller squares are not actually squares due to the curvature of the earth's surface. As such, the term "square" is used to aid in visualizing the quadtree. The third level of the quadtree represents sixteen "squares", four groups of four "squares". Each group of four "squares" represents all of the quadrants of one of the squares represented by the second level of the quadtree. So, for example, if one of the "squares" associated with the second level of the quadtree represented the portion of the earth's surface that includes North America, each of the group of four "squares" at the third level that comprise the "square" at the second level that is would represent one of the quadrants of North America. I t s h o u l d b e appreciated that the area of the earth's surface represented by a "square" at a level decreases as the level increases. For example, the area of the earth's surface represented by a "square" at the third level of the quadtree is considerably less than the area of the earth's surface represented by one of the "squares" at the second level of the quadtree. A quadtree representation of the earth's surface that includes 32 levels provides accuracy to within one centimeter.
The quadtree structure is adapted to identify one or more areas of interest by associating with each square at the highest level, i.e., the smallest squares, a flag or other indication that the square is part of the area of interest. For example, if the quadtree representation of earth's surface has been extended to 10 levels and the area of interest is Los Angeles, a certain number of the squares at level 10 will be identified or "flagged" as representing Los Angeles. In one embodiment, the portions of the quadtree structure that have been
"flagged" ( i.e., belong to the area of interest) are reviewed to determine if the quadtree structure can be condensed. This review involves assessing whether each "square" of a group of four "squares" that represent a larger "square" of a preceding level of the quadtree is associated with the area of interest. If each of these "squares" is associated with the area of interest, the "flag" can be moved to the larger "square" and the smaller "squares" can be deleted from the quadtree. For instance, if all four "squares" of a group of four "squares" at level-10 are "flagged" as being associated with Los Angeles, it is sufficient to associate the "flag" with the level-9 "square" that encompasses the four level-10 squares. If the "flag" is moved to a lower level square, the amount of memory required to store the quadtree is reduced. Further, a quicker determination of whether the location associated with the wireless station is within the area of interest is possible in certain situations. To continue with the same example, if the location associated with the wireless station is in area represented by the level-9 "square" to which the "flag" has been moved from the four level-10 "squares", the determination will be made sooner because the flag associated with the level-9 "square" will be detected sooner than a flag associated with a level-10 "square". Also associated with each "square" is a location, which is typically expressed in terms of latitude and longitude. The location is normally the center of the square. Advantageously, by using a quadtree that represents the entire surface of the earth, the location associated with each of the "squares" of the quadtree does not have to be stored. Rather, it can be quickly calculated. To elaborate, the center of the level- 1 "square" that is representative of the earth's surface is at 0° longitude and 0° latitude. Further, the longitude of the level-1 "square" extends from -180° to +180°, and the latitude from -90° to +90°. The longitude of the centers of the level-2 "squares" can be determined using a lookup table and the direction of the square from the location associated with the level- 1 square. For instance, with respect to the level-2 square that is northwest of the location of the level-1 square, the lookup table would indicate that the longitude value for a level- 2 square is 90° and the "west" portion of the direction means that the longitude of the northwest square is -90°. Similarly, the latitude value obtained from the lookup table would be 45° and "north" portion of the direction means that the latitude is +45°. This concept is extended to higher levels of the quadtree by simply adding the result of the lookup table query and sign designation to the appropriate coordinate of the lower level square. For instance, with respect to the level-3 square that is northeast of the location (-90° long., +45° lat.) of the level-2 square, the lookup table would indicate that a latitude value of 22.5° is appropriate and the "north" portion of the direction would dictate that a latitude of +22.5° should be added to the latitude associated with the level-2 square to produce a latitude of 67.5°.
With a quadtree structure constructed according to the foregoing, the present invention provides the ability to determine whether the location associated with a wireless unit is within an area of interest. This determination is accomplished by initially comparing the location associated with the wireless unit to the location associated with the square of the first level. Based on this comparison, the quadrant of the first level square in which the location associated with the wireless station is found can be determined. For example, if the location associated with the wireless station is in Los Angeles and the square represented by the first level covered the entire earth, the comparison would show that the location of the wireless unit was in the northwest quadrant of the square. This determination is subsequently used to point to the smaller square represented at the second level quadtree that will be subject to the same comparison and to calculate the location associated with this smaller square. To continue with the example, the determination at the first level would point to the second level square that contained Los Angeles, i.e., the northwest quadrant of the earth. At this point, the location associated with this second level square is calculated and compared with the location associated with the wireless unit to determine which one of the quadrants of the northwest quadrant contains the location associated with the wireless unit. This process continues until a square is reached that indicates that location is either in an area of interest or it is not. If a "flag" is associated with this square, then the location associated with the wireless station is within the area of interest. The absence of a "flag" and any pointers to squares at a higher level indicates that the location of the wireless unit is not in an area of interest.
The present invention also provides the ability to build a quadtree data structure suitable for use in determining whether a location associated with a wireless unit is within an area of interest. The process is typically initiated by a customer of a wireless service provider giving the service provider a map that identifies one or more areas of interest. For instance, the municipality responsible for responding to "911" calls may station emergency response teams at various locations and make each of these teams responsible for a particular area of the city. Once the area or areas of interest have been identified, a computer map is generated that defines the boundary of each area as a series of lines connected to one another to form a polygon. At this point, a determination is made as to whether the quadrants that form the square represented by the first level of the quadtree are at least partially contained within the polygon. This is done by determining if at least one boundary line of the polygon intersects an edge of the quadrant. For each quadrant with an edge that is intersected by a boundary line, the process is repeated at the second level of the quadtree. This process continues until all the squares represented by the highest level of the quadtree (i.e., the smallest squares) that have an edge that is intersected by a boundary line of the polygon have been identified. At this point, a decision has to be made whether the squares that are not wholly within the polygon are to be identified ("flagged") as being associated with the area of interest. One basis for making this decision is to include the square if the center of the square is within the polygon and otherwise to exclude the square. Other bases for making this decision are, however, feasible. At this juncture all of the squares represented at the highest level that are going to be associated with an area of interest have been identified and the quadtree can be used in a system for determining if the location associated with a wireless station is within an area of interest.
In certain instances the quadtree can be condensed, as previously discussed. Namely, if all of the squares of a group of four squares that constitute the quadrants of a square at the next highest level are "flagged", the square at the next highest level can be flagged and the four squares deleted from the quadtree. The condensation process begins at the highest level of the quadtree and sequentially proceeds through lower levels. The condensation process terminates when a level does not have four squares that satisfy the noted condition. A quadtree that has been condensed has lower storage requirements relative to a quadtree that has not been condensed. Further, a condensed quadtree will increase, in certain situations, the speed at which the determination is made of whether the location associated with the wireless unit is within the area of interest.
Also provided by the present invention is the ability to update a quadtree data structure used in making the above-noted determination with little effect upon the telecommunication system in which quadtree structure is implemented. Updating involves assessing the consequences of the proposed changes to the areas of interest. For example, the reduction in size of an area of interest is likely to require that the "flags" associated with one or more of the squares represented at a level of the quadtree be deleted. Once this assessment has been made, a replacement for the portion of the quadtree data structure that requires changes is constructed and inserted into the quadtree data structure. After the replacement has been inserted, the old portion of the quadtree data structure is deleted. Advantageously, since the replacement portion is inserted before the portion being replaced is deleted, the ability to make a determination of whether a location associated with a wireless unit is in an area of interest is substantially unaffected. Furthermore, the insertion and deletion process can be accomplished in a very quickly so as not to disturb the telecommunication system that is implementing the process. The foregoing method for determining if a location is within an area of interest is preferably carried out on a computer system. The computer system includes: (1) a memory that contains (a) a program that performs the operations necessary to determine if the location associated with a wireless unit is within a predetermined area and (b) at least a portion of the quadtree data structure described above; (2) a processor that executes the program and, in so doing, accesses the quadtree data structure stored in memory; and (3) an input output structure for receiving the locational data associated with the wireless unit and transmitting an indication of whether or not the location associated with the wireless unit is within an area of interest. In one embodiment, the computer system also includes a disk drive for storing all or a portion of the quadtree data structure. This permits portions of the quadtree data structure to be brought into memory as needed by the processor in an operation that is typically referred to as "caching." Consequently, the caching ability permits implementation on a computer system in which a limited amount of memory can be dedicated to the quadtree data structure.
d) Closest Location
For many applications, it may be desirable to identify the closest service provider location such as the closest hotel meeting the subscriber's requirements, the closest taxi, closest restaurant, etc. In such cases, location information for various service providers or outlets as well as any subscriber preferences can be stored in a database. Upon receiving a service request and associated subscriber location information, the location based services application can iteratively compare the subscriber location to the locations of acceptable service providers or outlets. Such comparisons can involve simple geometric distance calculations or may take network topology into account as described below.
e) Network Topology
For some applications, it may be desirable to consider network topology rather than merely abstract geography. Network topology may involve local street grid and traffic flow information, local transportation line information, or other network information affecting travel. For example, such network topology may be used to provide driving instructions or to identify a closest service provider in terms of driving time or driving distance. In the latter regard, a location based services application may execute the following steps as illustrated in Fig. 6: 1) receive (602) a location of subscriber; 2) associate (604) the location with a network location (e.g., a street location); 3) access (606) a database of network topology information, for example, describing a local street grid including information regarding one-way streets, exit ramps and the like; 4) establish (608) travel constraints based on the network topology; 5) access (610) service provider location information and associate such locations with network locations as required, for example, using a GIS system (this may be done at the time the location information is entered into the database or at some other time prior to receiving the subscriber location) ; and 6) iteratively derive (612) driving paths between the subscriber and the various service providers based on the network topology information, subscriber location information and service provider location information. The selection of an appropriate service provider/driving path may further take into account historical or current traffic flow conditions relative to the driving paths under consideration.
It will be appreciated that many other types of spatial algorithms are possible and can be supported in accordance with the present invention. In addition, it will be appreciated that the operation of various location based services applications may entail accessing GIS applications, for example, GIS based information that has been previously stored. As noted above, such GIS applications are operative for interpreting a geographic location in relation to mapping information such as street address information, street network topology and service zone maps. Thus, for example, street address information may be converted to geographical coordinate information or vice versa. One such GIS application is marketed by SignalSoft Corp. of Boulder, Colorado under the name MAPS. The GIS application may be accessed , for example, to convert a subscriber location (e.g., provided to define a home billing zone of a location-based billing application) provided by way of a street location into geographical coordinates, or to convert a service provider location or service area boundary provided in terms of street/address information into geographic coordinate information for purposes of a closest location, area of interest or other analysis. In such cases, it may be desirable to access GIS provisioned data for a location comparison or other transaction. In accordance with the present invention, this can be accomplished as illustrated in Fig. 7 by: 1) obtaining (702) input location information for use by a location based services application; 2) identifying (704) at least a portion of the input location information for interpretation using GIS data; 3) accessing (706) a GIS application for interpretation of the identified portion of the location information; 4) receiving (708) GIS interpreted data from the GIS application; 5) receiving (710) a location based services request; and 6) processing the service request based on the GIS interpreted data. In this regard, the service request may be processed in accordance with the nature of the specific location based service application such as described above, for example, to determine whether a mobile unit is within an area of interest, to identify a service provider, or to provide location information such as traffic or weather conditions. The GIS application may be used periodically, for example, in connection with updating operating zones of a location based services application and may be accessed at or near the time of a service request. To facilitate such cooperation between the location based services application and GIS application, at least portions of the GIS application and services application, or functional units provided as separate applications (such as a Location Manager for supporting location based services applications) may be colocated on a common network platform or node such as a platform associated with a switch of a wireless network.
5. Layered Architecture and Toolkits
The present invention facilitates the development and operation of a variety of different types of location based service applications by providing certain standardized components that can support multiple applications. These components may be provided as separate toolkits to application developers and/or may be made available via a public or private network for access by developers and applications. Such standardization may involve: 1 ) an understanding of the different types of spatial analysis that may be desired for various types of location based services applications; 2) an identification of a set of spatial algorithms for supporting the applications; 3) an understanding of the different types of positional data and data formats that may be available from LFE's or other location finding technologies; 4) an understanding of the different requirements or priorities that different applications may have regarding, for example, accuracy or timeliness of location information; and 5) the provision of a system or layered architecture for interfacing location based services applications with available location finding technologies without requiring that the subject applications and location finding technologies be specifically adapted for one another and for providing access to a variety of spatial algorithms for a variety of applications such that the need for custom algorithms is reduced.
Fig. 8 shows a layered architecture 800 for implementing location based services applications using components that are common to multiple applications. For purposes of illustration, the architecture is divided into an applications layer 802, a middleware layer 804 and a core class libraries layer 806. Generally, the application in the applications layer (802) can call or access the middleware components to implement specific functions, and the middleware components access the core class libraries to implement such functions. It will be appreciated that the characterization of a particular element, for example, as an application of the applications layer or a middleware component can vary depending on the specific context. However, Fig. 8 illustrates an important advantage of the present invention; namely, that through standardization, common resources can be used to support multiple applications, even though those applications may have different objectives and different requirements regarding location data and the like. In particular, the spatial algorithms operate independent of any particular application. That is, the algorithms can receive location information expressed in a standard format and perform spatial analyses such as described above without requiring knowledge concerning the type of application being implemented. Moreover, a standard interface is provided for accessing the spatial algorithms and other tools so that developers can write applications that are compatible with the tools and/or that can access the tools using the known interface. Accordingly, the illustrated layered architecture 800 facilitates application development and implementation. In this regard, the illustrated middleware 804 and certain core class libraries 806 maybe provided as separate toolkits to developers.
As shown in Fig. 8 the illustrated architecture 800 includes multiple location based services applications in the applications layer 802. For example, such applications may include a location based billing application 808, a 911 application 810, a hotel locator application 812 and a driving instructions application 814. Each of these applications may access one or more of the middleware components. The illustrated middleware components include a Location Manager component 816, a spatial algorithms library 818 and a GIS application 820. For example, any of the location based services programs may access the Location Manager 816 to request mobile unit location information and to specify certain parameters for the information such as accuracy or timeliness of the information. Similarly, any of the location based services applications may access the spatial algorithms 818 based on the objectives of the application. In this regard, the location based billing and 911 applications may access point-in-polygon, point-in-area, circle overlap or quadtree logic and the hotel locator and driving instructions applications may access closest location logic for use in conjunction with data provisioned by the GIS application 820. Any of the location based services applications may access the GIS application to correlate street address or other mapping data to geographical coordinates data, or vice versa. The middleware components may access any of various core class libraries 806 to implement the requested functions. These core class libraries 806 may include core mathematical routines 822 for use in implementing the spatial algorithms 818, network service area databases 824, a database of cached or otherwise stored "current" mobile unit location information 826, quadtree data structures 828, network topology databases 830 etc.
Fig. 9 illustrates a process for developing a location based services application using the architecture of Fig. 8 and or a toolkit in accordance with the present invention. The process is initiated by determining (902) the application objectives. For example, the developer may wish to develop a location based billing, 911, driving instructions or other application such as discussed above or any other services application making use of mobile unit location. Based on the application objectives, the developer may then identify (904) a spatial algorithm type appropriate for the application. For example, for a location based billing or 911 application, a developer may determine that a point-in- polygon or point-in-area algorithm is appropriate depending, for example, on the nature of the dispatcher service areas involved. The developer can then access (906) the spatial algorithm library to select an appropriate algorithm. In this regard, the developer may simply acquire a spatial algorithm tool from an available toolkit. Alternatively, the application may be linked to the tool via a public or private network. Similarly, the developer may access (908) any other appropriate tools such as a GIS application or the like. Once the developer has identified and selected the appropriate tools to be accessed by the location based services application, any relevant application specific data may be ported (910) to the tool and/or the associated core class libraries. For example, in the case of a location based billing application, information regarding the relevant billing zones may need to be ported for use by the spatial algorithms and/or any information regarding the timeliness or accuracy of the required location data may need to be ported to a location manager component. The application may then be ported (912) to the OLTP environment. For example, a location sensitive billing application may be resident, at least in part, on a platform associated with a switch so as to enable near real time access to location finding equipment inputs, phone call data and other data as required. The application can then be implemented (914) by activating the program to receive service requests or other inputs for initiating a location based services transaction.
Fig. 10 illustrates a process for implementing a location based services application using the architecture of Fig. 8. For purposes of illustration, Fig. 10 illustrates the operation of a location based services application for identifying the closest hotel to a subscriber meeting certain criteria, determining a driving path for reaching the identified hotel, and providing driving instructions to the subscriber. It will be appreciated that the location of the various process steps relative to the system architecture may be varied. In addition, the sequence of steps may be varied. For example, rather than identifying a closest hotel and then determining a driving path, the location of hotels may be considered concurrently with network topology information in order to identify the hotel having the shortest driving path or driving time relative to the location of the subscriber. In addition, although a specific application is shown for purposes of illustration, it will be appreciated that a great variety of applications may be implemented using the architecture of Fig. 8. Referring to Fig. 10, the illustrated process is initiated by establishing (1002) a hotel locator application and receiving a service request. For example, the service request may indicate that the subscriber wishes to obtain driving instructions to the closest hotel relative to a current location of the subscriber. The service request may be entered, for example, by entering "*HOTEL" on the keyboard of a wireless telephone.
In response to the service request, the hotel locator application may access ( 1004) a location manager tool which is conceptualized as part of the middleware layer for purposes of Fig. 10. In this regard, the signal transmitted to the location manager may identify the subscriber and may also specify certain information regarding the accuracy and timeliness of the location data that is desired. For example, the hotel locator application may require very recent data regarding the subscriber location in order to properly identify the closest hotel. Accordingly, the location manager may access ( 1006) mobile unit location information by querying any available finding equipment in order to obtain current location data. Alternatively, the location manager may scan a location cache to determine whether timely and accurate location data is available. In other implementations, the location manager may identify the location of the wireless unit by noting the location of a cell or cell sector from which the service request was placed. Once the location manager obtains appropriate location information for the identified subscriber, the location is reported to and received ( 1008) by the hotel locator application. In this regard, implementation of the present invention is facilitated by the standardized data format and application interface of the Location Manger System as described in copending application serial numbers 60/106,816 and 09/396,235.
Upon receiving the location data from the location manager, the hotel locator application may access (1010) the spatial algorithms library of the middleware layer in order to select a closest location algorithm. In conjunction with implementing this algorithm, the associated spatial algorithm logic may access (1012) various databases or libraries of the core class layer. For example, a database of GIS provisioned data regarding hotel locations may be accessed to identify candidate hotels. In addition, a user preferences database may be accessed in order to identify any preferences that the subscriber may have previously entered regarding hotel accommodations. Moreover, the spatial algorithms logic may access certain core mathematical routines for implementing the requested spatial algorithm. Once the closest location has thereby been identified, location information can be transmitted to and received (1014) by the hotel locator application.
In the illustrated application, it is desired to provide driving instructions to the identified hotel. Accordingly, upon receiving the closest location information, the hotel locator application may access (1016) a network topology database for driving information. Among other things, such a database may include information regarding street locations and traffic flow data. The hotel locator application can use this network topology information to iteratively investigate alternative driving paths so as to select a shortest or quickest driving path to reach the identified hotel. Upon receiving this driving information, the hotel locator application can transmit driving instructions (1020) to the subscriber. These driving instructions maybe reported to the subscriber, for example, audibly or visibly. For example, the driving instructions may be automatically displayed on a display of the subscribers telephone using a paging feature. Alternatively, a voice channel may be established with the subscribers telephone such that a recorded message can be played.
While various embodiments of the present invention have been described in detail, it is apparent that further modifications and adaptations of the invention will occur to those skilled in the art. However, it is to be expressly understood that such modifications and adaptations are within the spirit and scope of the present invention.

Claims

What Is Claimed Is:
1. A method for use in providing location related information in a wireless network, comprising the steps of: storing service information defining service locations relative to geographic information; obtaining input location information regarding a location of a wireless unit based on signals transmitted within said wireless network including said wireless unit; accessing a library including logic for implementing a plurality of spatial algorithms, wherein each of said spatial algorithms is useful for performing a location comparison between first geographic information and second geographic information; selecting one of said plurality of spatial algorithms; first using said selected spatial algorithm relative to said stored service information and said obtained input information to identify a service location for said wireless unit; and second using said identified service location in connection with providing services for a user of said wireless unit, wherein said identified service location can be used for one of providing desired services and recording business information based on the location of said wireless unit.
2. A method as set forth in Claim 1, wherein said step of storing service information comprises storing geographical coordinates of a location of a service provider.
3. A method as set forth in Claim 1, wherein said step of storing service information comprises storing geographical coordinate information defining operating zones of a location based services application.
4. A method as set forth in Claim 1 , wherein said step of storing service information comprises receiving an input and processing said input using a GIS application to obtain said service information.
5. A method as set forth in Claim 1, wherein said step of obtaining input location information comprises receiving information regarding a subdivision of said wireless network in which said wireless unit is located.
6. A method as set forth in Claim 1, wherein said step of obtaining input location information comprises receiving coordinate information from location finding equipment.
7. A method as set forth in Claim 1 , wherein said step of selecting comprises calling logic for comparing said location of said wireless unit to a location of an operating zone.
8. A method as set forth in Claim 1 , wherein said step of selecting comprises calling logic for determining a distance between said wireless unit and a service location.
9. A method as set forth in Claim 1 , wherein said step of selecting comprises calling logic for comparing a first area to a second area for overlap.
10. A method as set forth in Claim 1, wherein said step of first using comprises identifying an operating zone of a location based services application based on said location of said wireless unit.
11. A method as set forth in Claim 1, wherein said step of first using comprises identifying a local location of a service provider.
12. A method as set forth in Claim 1, wherein said step of second using comprises routing a call based on said identified service location.
13. A method as set forth in Claim 1, wherein said step of second using comprises establishing a call rating value based on said service location.
14. A method as set forth in Claim 1, wherein said step of second using comprises providing one of local service information and local traffic information via said wireless unit.
15. A method for use in providing location related information in a wireless network, comprising the steps of: providing a location based services application for use in a wireless network, said location based services application being operative to make service related determinations based on locations of wireless units in relation to defined service locations; receiving an input regarding a geographic location for use by said location based services application in making a first service related determination, said input comprising a first one of network topology information and coordinate information wherein coordinate information relates to geographical coordinates and network topology information relates to a predefined reference location of a network; providing a geographic information system (GIS) application for making correlations between geographical coordinates and network information; establishing communication between a platform running said location based services application and said GIS application such that said GIS application can be used to express said input in terms that can be readily handled by said location-based services application; first using said input and said GIS application to derive processed location information, said processed location information comprising a second one of said network information and said coordinate information different from said first one; and second using said location based services application and said second one of said network information and said coordinate information to provide location based services for a user of a wireless unit.
16. A method as set forth in Claim 15, wherein said step of receiving an input comprises receiving network service area information regarding said defined service areas wherein said network service area information includes said network information, and said step of first using comprises employing said GIS application to derive said coordinate information based on said network information, wherein said coordinate information is provisioned for said location based services application based on said network service area information.
17. A method as set forth in Claim 16, wherein said step of receiving network service area information comprises receiving information expressed in terms of street network.
18. A method as set forth in Claim 16, wherein said step of receiving network service area information comprises receiving information expressed in terms of subdivisions of said wireless network.
19. A method for use in providing location related information in a wireless network, comprising the steps of: storing reference information defining a reference geometry relative to geographic information, said reference geometry including a number of reference zones; storing operating zone information defining a number of operating zones relative to geographic information, each of said operating zones comprising an area for use by a location based services application; obtaining input location information regarding a location of a wireless unit based on signals transmitted within said wireless network including said wireless unit; based on said input information regarding said location of said wireless unit, using both the reference information and the operating zone information to identify an operating zone of said wireless unit for use by said location based services application; and using said identified operating zone in connection with providing services for a user of said wireless unit, wherein said identified operating zone can be used for one of providing desired services and recording business information based on the location of said wireless unit.
20. A method as set forth in Claim 19, wherein said step of storing reference information comprises storing information defining a number of wireless network subdivisions in terms of geographic coordinates.
21. A method as set forth in Claim 19, wherein said step of storing reference information comprises storing information defining a number of pixels of a quadtree data structure.
22. A method as set forth in Claim 19, wherein said step of storing operating zone information comprises storing information defining a home zone of a subscriber for use by a location-based billing application.
23. A method as set forth in Claim 19, wherein said step of storing operating zone information comprises storing information defining service zones of a service provider.
24. A method as set forth in Claim 19, wherein aid step of obtaining comprises receiving one of subdivision information regarding a wireless network subdivision in which said wireless unit is located and location information from location finding equipment.
25. A method as set forth in Claim 19, wherein said step of using both the reference information and the operating zone information comprises expressing the operating zone information in terms of the reference geometry i8n order to facilitate a location comparison as between the location of the wireless unit and the operating zones.
26. A method as set forth in Claim 19, wherein said step of using said identified operating zone corpses routing a call to or from said wireless unit based on said identified operating zone.
27. A method as set forth in Claim 19, wherein said step of using said identified operating zone comprises establishing a call rating value for a call by said wireless unit.
28. A method as set forth in Claim 19, wherein said step of using said identified operating zone comprises providing information to said wireless unit based on said identified operating zone.
29. A method for use in providing location related information in a wireless network, comprising the steps of: providing a library including logic for implementing a plurality of spatial algorithms wherein each of said spatial algorithms is useful for performing a location comparison between first geographic information and second geographic information; first providing access to said library in connection with a first wireless location based services application such that said first wireless location based services application can access a first of said plurality of spatial algorithms for use in locating first wireless units so as to provide a first type of wireless location based services; and second providing access to said library in connection with a second wireless location based services application such that said second wireless location based services application can access a second of plurality of spatial algorithms for use in locating second wireless units so as to provide a second type of wireless location based services.
30. A method as set forth in Claim 29, wherein said step of providing a library comprises developing said plurality of spatial algorithms that operate independent of any specific application.
31. A method as set forth in Claim 29, wherein said plurality of spatial algorithms includes at least two of the following algorithm types: point in area, circle overlap and closest location.
32. A method as set forth in Claim 29, wherein said step of first providing access comprises providing a toolkit to a developer for use in developing said first wireless location based services application.
33. A method as set forth in Claim 29, wherein said step of second providing comprises providing a standard interface for accessing said plurality of algorithms during use of said second wireless location based services application.
34. A method as set forth in Claim 29, wherein aid first wireless location based services application comprises an emergency services application and said second wireless location based services application comprises one of a location based billing application and a local services application.
PCT/US2000/030479 1999-11-05 2000-11-03 Spatial toolkits for wireless location based services WO2001033825A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU15848/01A AU1584801A (en) 1999-11-05 2000-11-03 Spatial toolkits for wireless location based services

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43540499A 1999-11-05 1999-11-05
US09/435,404 1999-11-05

Publications (1)

Publication Number Publication Date
WO2001033825A1 true WO2001033825A1 (en) 2001-05-10

Family

ID=23728251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/030479 WO2001033825A1 (en) 1999-11-05 2000-11-03 Spatial toolkits for wireless location based services

Country Status (2)

Country Link
AU (1) AU1584801A (en)
WO (1) WO2001033825A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003086000A1 (en) * 2002-04-11 2003-10-16 Accenture Global Services Gmbh Localization of radio-frequency transceivers
WO2004008795A1 (en) * 2002-07-10 2004-01-22 Ekahau Oy Positioning technique
WO2004039000A1 (en) * 2002-10-22 2004-05-06 Huawei Technologies Co., Ltd. A location service full mesh networking system and method therefor
EP1420563A2 (en) 2002-11-15 2004-05-19 Microsoft Corporation System and method for providing dynamic location information
WO2004060008A1 (en) * 2002-12-31 2004-07-15 International Business Machines Corporation Monitoring changeable locations of client devices in wireless networks
DE10353796A1 (en) * 2003-11-13 2005-06-23 Deutsche Telekom Ag Digital service e.g. short messaging service, executing method for e.g. terrestrial trunked radio, involves searching database system to find whether to evoke/stop service if mobile device moves to/from cell that is marked as trigger area
US6968195B2 (en) 2001-03-01 2005-11-22 Openwave Systems Inc. Enhanced PDE selection
US7035647B2 (en) 2002-02-07 2006-04-25 Openwave Systems Inc. Efficient location determination for mobile units
US7062279B2 (en) 2000-06-22 2006-06-13 Openwave Systems Inc. Anonymous positioning of a wireless unit for data network location-based services
WO2007013796A1 (en) * 2005-07-29 2007-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Closest user terminal search method for a telecommunication network and service node applying such a method
US7231218B2 (en) 2003-03-18 2007-06-12 Openwave Systems Inc. Lawful intercept service
EP1840695A2 (en) * 2006-03-31 2007-10-03 Sap Ag Automated generation of context information
US7440875B2 (en) 2002-01-23 2008-10-21 M-Spatial Lmited Schematic generation
US8948785B1 (en) 2002-10-03 2015-02-03 Sprint Spectrum L.P. Method and system for managing mobile station location information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568153A (en) * 1995-05-30 1996-10-22 Telefonaktiebolaget Lm Ericsson Individually defined personal home area for subscribers in a cellular telecommunications network
US5802468A (en) * 1995-06-28 1998-09-01 Mci Corporation System and method for identifying calling areas within a communication system
US5835907A (en) * 1995-12-20 1998-11-10 Mci Communications Corporation Emergency PCS system for identification and notification of a subscriber's location

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568153A (en) * 1995-05-30 1996-10-22 Telefonaktiebolaget Lm Ericsson Individually defined personal home area for subscribers in a cellular telecommunications network
US5802468A (en) * 1995-06-28 1998-09-01 Mci Corporation System and method for identifying calling areas within a communication system
US5835907A (en) * 1995-12-20 1998-11-10 Mci Communications Corporation Emergency PCS system for identification and notification of a subscriber's location

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112099B2 (en) 2000-06-22 2012-02-07 Openwave Systems, Inc. Anonymous positioning of a wireless unit for data network location-based services
US8548498B2 (en) 2000-06-22 2013-10-01 Unwired Planet, Inc. Anonymous positioning of a wireless unit for data network location-based services
US8774841B2 (en) 2000-06-22 2014-07-08 Unwired Planet, Llc Anonymous positioning of a wireless unit for data network location-based services
US9264858B2 (en) 2000-06-22 2016-02-16 Unwired Planet, Llc Method and apparatus for providing location-based services
US7062279B2 (en) 2000-06-22 2006-06-13 Openwave Systems Inc. Anonymous positioning of a wireless unit for data network location-based services
US6968195B2 (en) 2001-03-01 2005-11-22 Openwave Systems Inc. Enhanced PDE selection
US7440875B2 (en) 2002-01-23 2008-10-21 M-Spatial Lmited Schematic generation
US7035647B2 (en) 2002-02-07 2006-04-25 Openwave Systems Inc. Efficient location determination for mobile units
US7079850B2 (en) 2002-04-11 2006-07-18 Accenture Global Services Gmbh Localization of radio-frequency transceivers
US7640026B2 (en) 2002-04-11 2009-12-29 Accenture Global Services Gmbh Localization of radio-frequency transceivers
WO2003086000A1 (en) * 2002-04-11 2003-10-16 Accenture Global Services Gmbh Localization of radio-frequency transceivers
EP1355505A1 (en) * 2002-04-11 2003-10-22 Accenture Global Services GmbH Localization of radio-frequency transceivers
WO2004008795A1 (en) * 2002-07-10 2004-01-22 Ekahau Oy Positioning technique
US7299059B2 (en) 2002-07-10 2007-11-20 Ekahau Oy Positioning technique
US8948785B1 (en) 2002-10-03 2015-02-03 Sprint Spectrum L.P. Method and system for managing mobile station location information
WO2004039000A1 (en) * 2002-10-22 2004-05-06 Huawei Technologies Co., Ltd. A location service full mesh networking system and method therefor
US7383316B2 (en) 2002-11-15 2008-06-03 Microsoft Corporation System and method for providing dynamic location information
EP1420563A3 (en) * 2002-11-15 2006-09-13 Microsoft Corporation System and method for providing dynamic location information
EP1420563A2 (en) 2002-11-15 2004-05-19 Microsoft Corporation System and method for providing dynamic location information
CN100450269C (en) * 2002-12-31 2009-01-07 国际商业机器公司 Monitoring changeable locations of client devices in wireless networks
AU2003285575B2 (en) * 2002-12-31 2009-04-23 International Business Machines Corporation Monitoring changeable locations of client devices in wireless networks
KR100734733B1 (en) 2002-12-31 2007-07-04 인터내셔널 비지네스 머신즈 코포레이션 Monitoring changeable locations of client devices in wireless networks
US7212828B2 (en) 2002-12-31 2007-05-01 International Business Machines Corporation Monitoring changeable locations of client devices in wireless networks
WO2004060008A1 (en) * 2002-12-31 2004-07-15 International Business Machines Corporation Monitoring changeable locations of client devices in wireless networks
US7231218B2 (en) 2003-03-18 2007-06-12 Openwave Systems Inc. Lawful intercept service
DE10353796A1 (en) * 2003-11-13 2005-06-23 Deutsche Telekom Ag Digital service e.g. short messaging service, executing method for e.g. terrestrial trunked radio, involves searching database system to find whether to evoke/stop service if mobile device moves to/from cell that is marked as trigger area
WO2007013796A1 (en) * 2005-07-29 2007-02-01 Telefonaktiebolaget Lm Ericsson (Publ) Closest user terminal search method for a telecommunication network and service node applying such a method
EP1840695A3 (en) * 2006-03-31 2007-10-24 Sap Ag Automated generation of context information
EP1840695A2 (en) * 2006-03-31 2007-10-03 Sap Ag Automated generation of context information
US7606583B2 (en) 2006-03-31 2009-10-20 Sap Ag Automated generation of context information

Also Published As

Publication number Publication date
AU1584801A (en) 2001-05-14

Similar Documents

Publication Publication Date Title
US7035647B2 (en) Efficient location determination for mobile units
US7522927B2 (en) Interface for wireless location information
US6611687B1 (en) Method and apparatus for a wireless telecommunication system that provides location-based messages
US20060135180A1 (en) Method, system, and program product for providing services and information to wireless mobile devices
RU2419255C2 (en) Method to detect physical location of mobile phone at this time
US6212392B1 (en) Method for determining if the location of a wireless communication device is within a specified area
US6836667B1 (en) Method and apparatus for a wireless telecommunication system that provides location-based messages
US20020193121A1 (en) Location information management system and method for mobile communications unit
US20050202834A1 (en) System and method for determination of meeting place utilizing telephone auto location system
US20040219932A1 (en) Efficient tracking method for location determination of mobile units
US7376433B1 (en) Subscriber delivered location-based services
MXPA02005540A (en) Location services in a telecommunications system.
US20090240428A1 (en) Mobile phone having gps navigation system
JPH11506275A (en) Individually defined personal home areas for subscribers in cellular communication networks
WO2001033825A1 (en) Spatial toolkits for wireless location based services
EP2829052B1 (en) System and method for efficient operation of cellular communication networks
EP1374605A1 (en) Managing wireless location information in a multi-source environment
KR20020015122A (en) Method for collecting information and providing information service based on location and geographic information
US7925272B2 (en) Arrangement and method for a location database
WO2023142923A1 (en) Electronic map switching method, electronic map processing method, terminal, server, and storage medium
JP2003503986A (en) Method for determining position of mobile station in telecommunication system
US20130178206A1 (en) System and method for efficient operation of cellular communication networks
US20040147244A1 (en) Method, device and system to show heading in a cellular network
EP1377085A1 (en) Positioning based on a reference
KR20010027327A (en) Method for choosing the subscriber's homezone area for homezone service

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase