1. Field of the Invention
This invention relates generally to location based wireless services, and more specifically, to location enabled applications for wireless mobile devices.
2. Background of Related Art
Most mobile station (cell phone) GPS implementations depend on network access to a ‘location server’ for base station almanac (BSA) data and/or computational support. The IP address, port and type of connection must be known to the mobile station in order for the mobile station software and GPS chipset to communicate with this location server. Many Tier 1 carriers pre-configure their devices with this information.
Most location based applications rely on the device being pre-configured by the carrier with the correct location server configuration information. If this configuration is incorrect or does not exist, location services are not available.
The location configuration is static and must be established in advance by the wireless carrier. Existing GPS capable phones cannot be reconfigured (except manually) to access a new location server. When TCS sells its location platform into a new carrier, it is not possible to turn on location services on devices that are already deployed.
In accordance with the principles of the invention, a method and apparatus for configuring a mobile device comprises transmitting a request for location configuration data. The location configuration data is received in response to the request for location configuration data. Navigation hardware is initialized with the location configuration data.
In accordance with the principles of the invention, a system for configuring a mobile device comprises a mobile device to transmit a request for location configuration data, a location configuration data server to receive the request for location configuration data and to formulate a database query, and a database to store the location configuration data. A wireless network communicates the request for location configuration data and the location configuration data between the mobile device and the location configuration server.
Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:
This invention addresses two problems related to management of the location server configuration data on the mobile station. First, many Tier 2 carriers are not able, for business and/or technical reasons, to pre-configure their devices with the required information. This places the burden of configuration on the application provider. Second, location services should be available even when the mobile station is roaming on a partner network that maintains its own location server and proprietary BSA data.
Both of these problems are resolved by a mechanism that dynamically establishes the location server configuration based on the current carrier network.
In accordance with the principles of the present invention, on startup, the mobile station application will determine the current carrier network and submit a query to an application server that will return the correct location server configuration for the specified network. This information will be used on the mobile station to dynamically configure the device through the available GPS chipset API.
Very importantly, this invention disclosed herein allows applications to run on devices that have not been pre-configured with a location server configuration. In addition, applications using this invention are able to provide location services outside of the primary network as long as alternate location servers for the current network are available.
The present invention has particularly application for developers of location enabled wireless applications.
In particular, as shown in
Instead of manually entering location configuration data into any of wireless devices 110a, 110b, and 110c or being pre-configured with location configuration data, in accordance with the principles of the present invention a request for location configuration data is transmitted by any of wireless devices 110a, 110b, and 110c. The transmitted request for location configuration data is packaged into one or more data packets for transmission over the wireless network 120 to location configuration server 130, as is known within the art.
The various wireless devices 110a, 110b, and 110c can include any class of device such as, cellular telephones, personal data assistants (PDAs), laptop computers, etc., that contain navigation hardware that require location configuration data for access to a location server. As discussed above, such a location server 150 can provide base station almanac (BSA) data 160 and/or computational support.
The various wireless devices 110a, 110b, and 110c must be properly configured with an IP address, port and type of connection to the mobile station. Proper configuration allows for mobile station software used by the various wireless devices 110a, 110b, and 110c and navigation hardware, such as a GPS chipset, to communicate with the location server 150.
A client application operating on the various wireless devices 110a, 110b, and 110c may receive multiple configurations in a single response. These configurations may be labeled as ‘Test’ or “Production” location servers or may provide secondary server configuration data to be used if the primary server is not available.
Wireless network 120 allows the various wireless devices 110a, 110b, and 110c to communicate with a location configuration server 130. Any wireless network can be employed that allows data communications for transmitting a request for and receiving location configuration data between the various wireless devices 110a, 110b, and 110c and a location configuration server 130.
Location configuration server 130 receives requests for location configuration data from wireless network 120. A database query is formulated by the location configuration server 130 from parameters associated with the received request for location configuration data. Such parameters can include a carrier network identification and at least one application identification. The database query is submitted by the location configuration server 130 to the location configuration database 140 to search the content of location configuration database 140 for entries that match the received parameters, as is known within the art.
The location configuration database 140 can be managed by any number of database programs, such as, Oracle, Sybase, mySQL, Lotus Approach, Microsoft Access, Filemaker, etc. Any database program that allows for the retrieval of location configuration data from parameters can be used with the invention; parameters such as carrier network identification and at least one application identification.
Location configuration server 130 and location configuration database 140 are described herein for simplicity as being separate components. However, location configuration database 140 can exist within the location configuration server 130. In such an instance, the description above of location configuration server 130 submitting a database query to the location configuration database 140 would remain the same.
In particular, as shown in
Header potion 210 can include source and destination addresses, error-checking fields, etc., as is well known within the art.
Data payload portion 220 can include carrier network identification data and at least one application identification that are both associated with a various wireless devices 110a, 110b, and 110c transmitting a request for location configuration data.
Depending upon the wireless network employed and network traffic therein, the data packet for submitting a request for location configuration data 200 may be fragmented into a plurality of data packets. The plurality of data packets are then reassembled at the receiving end, as is known within the art.
In particular, as shown in
Header potion 310 can include source and destination addresses, error-checking fields, etc., as is well known within the art.
Data payload portion 320 can include configuration information and carrier network identification. The configuration information can include an Internet Protocol (IP) address, a port number, and a protocol type. A plurality of configuration data can be returned in response to a single request for location configuration data, respectively corresponding to application identification supplied in the request for location configuration data 200.
Depending upon the wireless network employed and network traffic therein, the data packet for transmitted location configuration data 300 may be fragmented into a plurality of data packets. The plurality of data packets are then reassembled at the receiving end, as is known within the art.
In particular, a method of submitting a request for location configuration information 400 begins with step 410, of
In step 420, software within any of wireless devices 110a, 110b, and 110c determines the current carrier network identification associated with any of wireless devices 110a, 110b, and 110c. As is known within the art, carrier network identifications can often change as any of wireless devices 110a, 110b, and 110c roam.
In step 430, a request for location configuration data is formulated at any of wireless devices 110a, 110b, and 110c. The request for location configuration data is submitted to the location configuration server 130 using the exemplary data packet for submitting a request for location configuration data 200, shown in
A response to the request for location configuration data submitted to the location configuration server 130 is received in step 440. The response to the request for location configuration data is received from the location configuration server 130 using the exemplary data packet for transmitting location configuration data 300, shown in
In step 450, the carrier network identification received in step 440 is saved within memory in any of wireless devices 110a, 110b, and 110c.
In step 460, the initialization of software application that began in step 410 proceeds.
A determination is made if the current carrier network identification is the same as the carrier network identification saved in step 450, in step 470. As discussed above, a carrier network identification could possible change at some time between steps 420 and 450 because of a roaming condition. If the determination in step 470 is that the current carrier network identification is not the same as the carrier network identification saved in step 450, the method of submitting a request for location configuration information 400 branches to step 420. If the determination in step 470 is that the current carrier network identification isare the same as the carrier network identification saved in step 450, the method of submitting a request for location configuration information 400 branches to step 480.
In step 480, the location configuration data received in step 440 is used to initialize/re-initialize navigation hardware associated with any of wireless devices 110a, 110b, and 110c, such as a GPS chipset.
The carrier network identification is saved in step 490. Any of wireless devices 110a, 110b, and 110c submitting a request for location configuration data are then configured. The method of submitting a request for location configuration information 400 ends.
In particular, a method of responding to a request for location configuration information 500 begins with step 510, of
In step 520, a database query is formulated by the location configuration server 130 with the parameters supplied in the data packet for submitting a request for location configuration data 200.
In step 530, the database query formulated in step 520 is submitted to location configuration database 140.
In response to the submission of the database query in step 530, in step 540 at least one set of location configuration data is received by the location configuration server 130 from the location configuration database 140.
In step 550, the location configuration data received in step 530 is formatted into the exemplary data packet for transmitting location configuration data 300, shown in
In step 560, the exemplary data packet for transmitting location configuration data 300, shown in
The methods disclosed in
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.
The present application is a continuation of U.S. patent application Ser. No. 12/222,892, entitled “Dynamic Configuration of Mobile Station Location Services”, filed on Aug. 19, 2008; which claims priority from U.S. Provisional Application 60/960,019, entitled “DYANMIC CONFIGURTION OF MOBILE STATION LOCATION SERVICES” to Gill et al., filed Sep. 11, 2007, the entirety of both of which are expressly incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5359529 | Snider | Oct 1994 | A |
5832408 | Tamai | Nov 1998 | A |
6064941 | Nimura | May 2000 | A |
6119013 | Maloney | Sep 2000 | A |
6185427 | Krasner | Feb 2001 | B1 |
6317686 | Ran | Nov 2001 | B1 |
6377810 | Geiger | Apr 2002 | B1 |
6401034 | Kaplan | Jun 2002 | B1 |
6424912 | Correia | Jul 2002 | B1 |
6434482 | Oshida | Aug 2002 | B1 |
6466571 | Dynarski | Oct 2002 | B1 |
6470189 | Hill et al. | Oct 2002 | B1 |
6480783 | Myr | Nov 2002 | B1 |
6487495 | Gale | Nov 2002 | B1 |
6507785 | Stefan | Jan 2003 | B1 |
6529143 | Mikkola | Mar 2003 | B2 |
6571169 | Miyaki | May 2003 | B2 |
6587782 | Nocek | Jul 2003 | B1 |
6628938 | Rachabathuni | Sep 2003 | B1 |
6636803 | Hartz | Oct 2003 | B1 |
6813503 | Zillikens | Nov 2004 | B1 |
6820092 | Nakano | Nov 2004 | B2 |
6862524 | Nagda | Mar 2005 | B1 |
6940407 | Miranda-Knapp | Sep 2005 | B2 |
6954697 | Smith | Oct 2005 | B1 |
6963748 | Chithambaram | Nov 2005 | B2 |
6976253 | Wierman | Dec 2005 | B1 |
7054743 | Smith | May 2006 | B1 |
7093286 | King | Aug 2006 | B1 |
7155339 | Tu | Dec 2006 | B2 |
7212829 | Lau | May 2007 | B1 |
7373246 | O'Clair | May 2008 | B2 |
7379729 | Holland | May 2008 | B2 |
7409219 | Levitan | Aug 2008 | B2 |
7480566 | Laverty | Jan 2009 | B2 |
7546202 | Oh | Jun 2009 | B2 |
7565239 | De Silva et al. | Jul 2009 | B2 |
7627656 | Anand | Dec 2009 | B1 |
7706977 | Soehren | Apr 2010 | B2 |
7853403 | Tanaka | Dec 2010 | B2 |
7873370 | Shim | Jan 2011 | B2 |
8095434 | Puttick | Jan 2012 | B1 |
8265864 | Kaufman | Sep 2012 | B1 |
8296062 | Yamane | Oct 2012 | B2 |
20010021894 | Sakamoto | Sep 2001 | A1 |
20010038626 | Dynarski | Nov 2001 | A1 |
20010047241 | Khavakh | Nov 2001 | A1 |
20010048387 | Sheynblat | Dec 2001 | A1 |
20010055394 | Vanttinen | Dec 2001 | A1 |
20020021231 | Schlager | Feb 2002 | A1 |
20020042819 | Reichert | Apr 2002 | A1 |
20020082774 | Bloebaum | Jun 2002 | A1 |
20020098851 | Walczak | Jul 2002 | A1 |
20020147023 | Sawada | Oct 2002 | A1 |
20020171581 | Sheynblat | Nov 2002 | A1 |
20020190861 | Wentworth | Dec 2002 | A1 |
20030033083 | Nakashima | Feb 2003 | A1 |
20030050075 | Rangarajan | Mar 2003 | A1 |
20030055555 | Knockeart | Mar 2003 | A1 |
20030071728 | McDonald | Apr 2003 | A1 |
20030095525 | Lavin | May 2003 | A1 |
20030128211 | Watanabe | Jul 2003 | A1 |
20030182052 | Delorme | Sep 2003 | A1 |
20030227911 | Trossen | Dec 2003 | A1 |
20040003125 | Ichimura | Jan 2004 | A1 |
20040023645 | Olsen | Feb 2004 | A1 |
20040027258 | Pechatnikov | Feb 2004 | A1 |
20040067773 | Rachabathuni | Apr 2004 | A1 |
20040105433 | Seo | Jun 2004 | A1 |
20040158829 | Beresin | Aug 2004 | A1 |
20040183724 | Sheynblat | Sep 2004 | A1 |
20040185870 | Matsuda | Sep 2004 | A1 |
20040203603 | Pierce | Oct 2004 | A1 |
20040203873 | Gray | Oct 2004 | A1 |
20040215641 | Kothuri | Oct 2004 | A1 |
20040224702 | Chaskar | Nov 2004 | A1 |
20040225437 | Endo | Nov 2004 | A1 |
20040249568 | Endo | Dec 2004 | A1 |
20040266455 | Lee | Dec 2004 | A1 |
20050037775 | Moeglein | Feb 2005 | A1 |
20050038876 | Chaudhuri | Feb 2005 | A1 |
20050075119 | Sheha | Apr 2005 | A1 |
20050105496 | Ambrosino | May 2005 | A1 |
20050148342 | Sylvain | Jul 2005 | A1 |
20050149253 | Nambata | Jul 2005 | A1 |
20050188333 | Hunleth | Aug 2005 | A1 |
20050215240 | Urakawa | Sep 2005 | A1 |
20050245249 | Wierman | Nov 2005 | A1 |
20050251331 | Kreft | Nov 2005 | A1 |
20050288033 | McNew | Dec 2005 | A1 |
20060015513 | Poyhonen | Jan 2006 | A1 |
20060023626 | Krausz | Feb 2006 | A1 |
20060034211 | Kojima | Feb 2006 | A1 |
20060055693 | Sylthe | Mar 2006 | A1 |
20060064235 | Ishikawa | Mar 2006 | A1 |
20060069503 | Suomela | Mar 2006 | A1 |
20060089788 | Laverty | Apr 2006 | A1 |
20060105782 | Brock | May 2006 | A1 |
20060135178 | Allyn | Jun 2006 | A1 |
20060155679 | Kothuri | Jul 2006 | A1 |
20060167616 | Yamane | Jul 2006 | A1 |
20060167621 | Dale | Jul 2006 | A1 |
20060173841 | Bill | Aug 2006 | A1 |
20060174209 | Barros | Aug 2006 | A1 |
20060200304 | Oh | Sep 2006 | A1 |
20060200308 | Arutunian | Sep 2006 | A1 |
20060206586 | Ling | Sep 2006 | A1 |
20060223518 | Haney | Oct 2006 | A1 |
20060227047 | Rosenberg | Oct 2006 | A1 |
20060246922 | Gasbarro | Nov 2006 | A1 |
20060251008 | Wu | Nov 2006 | A1 |
20060253247 | De Silva et al. | Nov 2006 | A1 |
20060264239 | Tominaga | Nov 2006 | A1 |
20070010942 | Bill | Jan 2007 | A1 |
20070015518 | Winter | Jan 2007 | A1 |
20070036318 | Gits | Feb 2007 | A1 |
20070055672 | Stevens | Mar 2007 | A1 |
20070072620 | Levitan | Mar 2007 | A1 |
20070083649 | Zuzga | Apr 2007 | A1 |
20070105554 | Clark | May 2007 | A1 |
20070118520 | Bliss | May 2007 | A1 |
20070153983 | Bloebaum | Jul 2007 | A1 |
20070155401 | Ward | Jul 2007 | A1 |
20070156334 | Vu | Jul 2007 | A1 |
20070162942 | Hamynen | Jul 2007 | A1 |
20070185985 | Shim | Aug 2007 | A1 |
20070213043 | Son | Sep 2007 | A1 |
20070219706 | Sheynblat | Sep 2007 | A1 |
20070219708 | Brasche | Sep 2007 | A1 |
20070238472 | Wanless | Oct 2007 | A1 |
20070253642 | Berrill | Nov 2007 | A1 |
20070281717 | Bharadwaj | Dec 2007 | A1 |
20070288613 | Sudame | Dec 2007 | A1 |
20070298812 | Singh | Dec 2007 | A1 |
20080071465 | Chapman | Mar 2008 | A1 |
20080082262 | Silva et al. | Apr 2008 | A1 |
20080111737 | Haverkamp | May 2008 | A1 |
20080112372 | Thomson | May 2008 | A1 |
20080112551 | Forbes | May 2008 | A1 |
20080113671 | Ghozati | May 2008 | A1 |
20080130597 | Kalhan | Jun 2008 | A1 |
20080139114 | Ranganathan | Jun 2008 | A1 |
20080140307 | Chen | Jun 2008 | A1 |
20080146207 | Razdan | Jun 2008 | A1 |
20080153550 | Otaka | Jun 2008 | A1 |
20080171559 | Frank | Jul 2008 | A1 |
20080177462 | Yoshioka | Jul 2008 | A1 |
20080177839 | Chang | Jul 2008 | A1 |
20080180320 | Tysowski | Jul 2008 | A1 |
20080218407 | Norda | Sep 2008 | A1 |
20080227463 | Hizume | Sep 2008 | A1 |
20080249983 | Meisels | Oct 2008 | A1 |
20080261560 | Ruckert | Oct 2008 | A1 |
20080268822 | Johnson | Oct 2008 | A1 |
20080270366 | Frank | Oct 2008 | A1 |
20080275637 | Kim | Nov 2008 | A1 |
20080280599 | Cheng | Nov 2008 | A1 |
20080280600 | Zhou | Nov 2008 | A1 |
20080307445 | Garg | Dec 2008 | A1 |
20080319652 | Moshfeghi | Dec 2008 | A1 |
20080319653 | Moshfeghi | Dec 2008 | A1 |
20090009397 | Taylor | Jan 2009 | A1 |
20090029693 | Liwell | Jan 2009 | A1 |
20090055087 | Beacher | Feb 2009 | A1 |
20090061852 | Feher | Mar 2009 | A1 |
20090061862 | Alberth | Mar 2009 | A1 |
20090070445 | Gill | Mar 2009 | A1 |
20090100037 | Scheibe | Apr 2009 | A1 |
20090144247 | Wistrand et al. | Jun 2009 | A1 |
20090192702 | Bourne | Jul 2009 | A1 |
20090237307 | Tsai | Sep 2009 | A1 |
20090298505 | Drane | Dec 2009 | A1 |
20090325615 | Mckay | Dec 2009 | A1 |
20100037057 | Shim et al. | Feb 2010 | A1 |
20100094550 | Tsurutome et al. | Apr 2010 | A1 |
20100113072 | Gibson | May 2010 | A1 |
20100214117 | Hazzani | Aug 2010 | A1 |
20100232405 | Kikuchi | Sep 2010 | A1 |
20100285817 | Zhao | Nov 2010 | A1 |
20110003578 | Chen et al. | Jan 2011 | A1 |
20110035141 | Barker | Feb 2011 | A1 |
Number | Date | Country |
---|---|---|
WO2006125291 | May 2005 | CA |
1128163 | Aug 2001 | EP |
2008 039698 | Feb 2008 | JP |
Entry |
---|
Ahern et al., “World Explorer: Visualizing Aggregate Data from Unstructured Text in Geo-Referened Collections,” Jun. 18-23, 2007, ACM, JCDL'07. |
International Search Report in PCT/US2008/10543 dated Aug. 19, 2010. |
International Search Report in PCT/US2008/10542 dated Aug. 19, 2010. |
Internal Search Report received in PCT/US2008/10542 dated Nov. 26, 2008. |
Internal Search Report received in PCT/US2008/10543 dated Dec. 11, 2008. |
International Search Report in PCT/US2009/05486 dated Jan. 21, 2010. |
Internal Search Report received in PCT/US2008/12621 dated Jan. 8, 2009. |
Internal Search Report received in PCT/US2009/02016 dated May 27, 2009. |
European Search Report received in European Appl. No. 09819547.2 dated Oct. 16, 2012. |
European Search Report received in European Appl. No. 09819546.4 dated Oct. 15, 2012. |
John Krumm et al, “Map Matching with Travel Time Constraints”, SAE 2007 World Congress, Apr. 19, 2007. |
Smith, Don; How to: Use the Nokia N95 GPS/A-GPS, Aug. 16, 2007, http://www.simplysymbian.com/2007/08/16/how-to-use-the-nokia-n95-gpsa-gps. |
Guim, Mark; GPS Lock Taking Too Long? Try Google Location Server supl.google.com, Dec. 16, 2009, http:thenokiablog.com/2009/12/16/google-location-server-supl/. |
Number | Date | Country | |
---|---|---|---|
20150011245 A1 | Jan 2015 | US |
Number | Date | Country | |
---|---|---|---|
60960019 | Sep 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12222892 | Aug 2008 | US |
Child | 14494774 | US |