Skyhook Wireless, Inc. v. GOOGLE, INC.

Filing 50

AFFIDAVIT in Support re 49 Preliminary Claim Construction Briefs. (Attachments: # 1 Exhibit 1, # 2 Exhibit 2, # 3 Exhibit 3, # 4 Exhibit 4, # 5 Exhibit 5, # 6 Exhibit 6, # 7 Exhibit 7, # 8 Exhibit 8, # 9 Exhibit 9, # 10 Exhibit 10, # 11 Exhibit 11, # 12 Exhibit 12, # 13 Exhibit 13, # 14 Exhibit 14, # 15 Exhibit 15)(Lu, Samuel)

Download PDF
EXHIBIT 3 111111111111111111111111111111111111111111111111111111111111111111111111111 US007414988B2 (54) (75) United States Patent (10) Jones et al. (12) (45) Patent No.: US 7,414,988 B2 Date of Patent: Aug. 19, 2008 7,167,715 B2 * Notice: (21) Filed: 455/456 * 2004/0039520 Al 5/2004 Caci (Continued) OTHER PUBLICATIONS Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.c. 154(b) by 337 days. "Delta Encoding", Wikipedia, retrieved from http://en.wikipedia. org/wiki/Delta_encoding, 2006. (Continued) Primary Examiner-Rafael Perez-Gutierrez Assistant Examiner-Nimesh Patel (74) Attorney, Agent, or Firm-Wilmer Cutler Pickering Hale & DorrLLP Oct. 28, 2005 Prior Publication Data (65) US 2006/0095348 Al 455/457 2/2004 Khavakh et al. 2004/0087317 Al Appl. No.: 111261,898 (22) 370/315 7/2003 Riley et al. Assignee: Skyhook Wireless, Inc., Boston, MA (US) ( *) 4/2007 Garahi et al. 2003/0125045 Al Inventors: Russel Kipp Jones, Roswell, GA (US); Farshid Alizadeh-Shabdiz, Wayland, MA (US); Edward James Morgan, Needham, MA (US); Michael George Shean, Boston, MA (US) (73) 1/2007 Stanforth 7,206,294 B2 * SERVER FOR UPDATING LOCATION BEACON DATABASE May 4, 2006 (57) ABSTRACT Related U.S. Application Data (60) Provisional application No. 60/623,108, filed on Oct. 29,2004. (51) Int. Cl. H04B 7/212 (2006.01) U.S. Cl. 370/328; 7081160; 340/572.4; 342/357.02; 455/456.5; 455/456.6; 707/6; 707/16; 711/165 Field of Classification Search 370/328; 340/572.4; 342/357.02; 455/456.5,456.6, 455/456.1; 707/6,16; 711/165; 7081160 See application file for complete search history. (52) (58) A location beacon database and server, method of building location beacon database, and location based service using same. Wi-Fi access points are located in a target geographical area to build a reference database oflocations ofWi-Fi access points. At least one vehicle is deployed including at least one scanning device having a GPS device and a Wi-Fi radio device and including a Wi-Fi antenna system. The target area is traversed in a programmatic route to avoid arterial bias. The programmatic route includes substantially all drivable streets in the target geographical area and solves an Eulerian cycle problem ofa graph represented by said drivable streets. While traversing the target area, Wi-Fi identity information and GPS location information is detected. The location information is used to reverse triangulate the position of the detected Wi-Fi access point; and the position of the detected access point is recorded in a reference database. References Cited (56) U.S. PATENT DOCUMENTS 5,940,825 6,678,611 6,888,811 7,123,928 A * 8/1999 B2 112004 B2 * 5/2005 B2 10/2006 Castelli et al. ... ... ... ... ..... 707/6 Khavakh et al. Eaton et al. 370/338 Moeglein et al. ~GPSsaliell'ite -"1' 802.11 access point 707 Client Scanning Device 708 3 Claims, 11 Drawing Sheets ~ • .. GPS satelUte i ! 708 ~ GPS satellite, .-1t- 708 US 7,414,988 B2 Page 2 u.s. PATENT DOCUMENTS 2005/0037775 2005/0108306 2005/0164710 2006/0046709 2006/0095348 2006/0095349 2006/0200843 2006/0217131 Al * Al * Al * Al * Al Al Al Al 2/2005 5/2005 7/2005 3/2006 5/2006 5/2006 9/2006 9/2006 Moeglein et al. 455/456.1 Martizano Catalasan 708/160 Beuck 455/456.1 Krumm et al. 455/422.1 Jones et al. Morgan et al. Morgan et al. Alizadeh-Shabdiz et al. OTHER PUBLICATIONS Griswold et aI., "ActiveCarnpus-Sustaining Educational Communities through Mobile Technology." UCSD CSE Technical Report #CS200-0714,2002. Hellebrandt, M., et aI., "Estimating Position and Velocity of Mobile in a Cellular Radio Network," IEEE Transactions on Vehicular Technology, vol. 46, No.1, Feb. 1997. Hazas, M., et aI., "Location-Aware Computing Comes of Age," IEEE, vol. 37, Feb. 2004. "Huffman Coding", Wikipedia, retrieved from http://en.wikipedia. org/wiki/Huffman_coding, 2006. Kawabata, K., "Estimating Velocity Using Diversity Reception," IEEE,1994. Kim, M., et aI., "Risks ofusingAP locations discovered through war driving," Lecture Notes in Computer Science, vol. 3968, 2006. Kirsner, S., "One more way to find yourself," The Boston Globe, May 23, 2005, Retrieved from www.boston.com. U.S. Appl. No. 111261,848, filed Oct. 25, 2005, Morgan et al. U.S. Appl. No. 111359,154, filed Feb. 22, 2006, Morgan et al. U.S. Appl. No. 111359,144, filed Feb. 22, 2006, Morgan et al. U.S. Appl. No. 111359,271, filed Feb. 22, 2006, Morgan et al. U.S. Appl. No. 111430,079, filed May 8, 2006, Alizadeh-Shabdiz et al. U.S. Appl. No. 111430,224, filed May 8, 2006, Alizadeh-Shabciz et al. U.S. Appl. No. 111430,222, filed May 8, 2006, Alizadeh-Shabdiz et al. U.S. Appl. No. 111429,862, filed May 8, 2006, Alizadeh-Shabdiz et al. U.S. Appl. No. 111730,064, filed May 8, 2006, Alizadeh-Shabdiz et al. Krumm, J., et aI., "LOCADIO: Inferring Motion and Location from Wi-Fi Signal Strengths," First Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, Aug. 2004. Kwan, M., "Graphic Progranuning Using Odd or Even Points," Chinese Math. 1, 1962. LaMarca, A., et aI., "Place Lab: Device Positioning Using Radio Beacons in the Wild," Intel Corporation, 2004. Muthukrishnan, K., et aI., "Towards Smart Surroundings: Enabling Techniques and Technologies for Localization," Lecture Notes in Computer Science, vol. 3479, May 2005. "Terminal Equipment and Protocols for Telematic Services: Information Technology-Digital Compression and Coding of Continuous-Tome Still Images-Requirements and Guidelines," International Telecommunication Union, Sep. 1992. International Search Report, International Application No. PCT/ US05/39208, mailed Jan. 29, 2008. (3 pages). Written Opinion of the International Searching Authority, International Application No. PCTIUS05/39208, mailed Jan. 29, 2008. (3 pages). * cited by examiner ~ 7J). • ~ ~ ' ' , ",'l(02.l1 , I . !i ....., , ~ ,r .. 101 . Reference Database 104 / / / 802.11 access point 102 .... ~1J:i N o o QO rFJ =.... o .... .... .... ..... ... ./ ~ ('D ('D ' _ i L. / .... ~ ~ r------------:::::==::=----' I "--~ ~=:;/.;:===--__~.: .: . ~.~_ 802.11 access point 102 = / Positioning software 103 ~ 802.11 access point 102 ......./ / User Device ......- ....., ....,...- /' """·.1 ....... I ,.../,... i , " Figure 1 / .......! i i "', ...........................~ ~ i I i access point :t. 10£-." , I ~ 802.11 access point 102 ' .................., , ~,....., "", I " 802.11 access point 102 d rJl ......:J ~ ~ """'" \c QO QO = N 204 " ~a.·:"" rI--~- " \ J I i i 802.11 ... 7J). • 204 ~ ~ / / Horizon i I ~ 4-1< GPS satellite, .. GPS satell!ite I J J ~ ~ = ~ ~ ~ .... / 802.11 • ~1J:i I N access pomt! 203 / 802.11 o o QO access point 203 access point rFJ 203 =- ('D ('D ..... N .... .... .... o d Scanning Vehicle 201 Figure 2 rJl ......:J ~ ~ """'" \c QO QO = N ~ Figure 3: Example scanning scenario showing arterial bias 7J). • ~ Calculated location of Access Point 303 ~ ~ ~ = ~ • ~ 802.11 Access Point ~ ~ .... 309 C' ~1J:i ~ S----------------------------_. N o o QO ~ Street 306 rFJ =- ('D ('D ..... (.H .... .... .... o 802.11 • -S~~t307-m-mm-m--~ _m ~~_~?m __m o Access Point --,~-I V~:;,:;;~, ~ t-----I d rJl ......:J ~ ~ """'" \c QO QO = N ~ Figure 4: Chinese Postman routing 7J). z Calculated location of Access Point 403 -------., '" I •• • ~ ~ I ~ ~ = ,802,11 • \A~<:> Point ~ ~ 802.11 Access Point 40 • 0 802.11 Access Point 409 ~ ~ .... ~1J:i -----------------------------. I -----------------------------. .. -----------------------------, Public Streets N o o QO _~2.11 W\)cess Point rFJ =- ('D ('D ..... ·80All ·vsPoint ,j;o,. A " .... .... .... o 802.11 Access Point Scanning Vehicle 401 802.11 Access Point 408 Physical Building d 802.11. Acces(j>int rJl ......:J I 1 I I I I I I I I ~ I I ~ ~ """'" \c QO QO = N ~ 7J). Figure 5: Lack of Reference Symmetry Calculated location of Access Points 502 • ~ ~'------i-----' ------~ / ,/ '/ / A:/ V:l ,j / Public Streets I = , i : / ~ ~ ~ '"'\ \ -- - - - ------- --_. e--- ----- - ---_. -- I I I ~ I , i ~ 1\ ~ .... ~1J:i N o o QO i rFJ =- Calculated Location of User 503 ('D ('D ...... Ul .... .... .... o I / I ,/ I I I // I I <) I I Physical Builging I ;0 ............................._ _ I ~ ......... / d Radio range of user device rJl ......:J ~ ~ """'" \c QO QO = N ~ Figure 6: Positioning with Reierenee····£·Yll1.metry .................... Calculated location of Access Points 602 r-, ~--=""" ...:.::-..,-,-~--" ..• , .. 7J). • . ~ -~ .•, ..- - - . , I .--, ............. ~ , ~ ......... = '\ <> <> <> Public Streets ~ <> ~ \ Calculated Location of User 603 -----------------------------' ~X--~ i i .... ~1J:i N o o QO . i ~ ~ i , <> rFJ =- ('D ('D ...... 0\ .... .... .... o '\. <> ",...... ...... --------~,------------------' ....., <> Physical Building, ........ 'j .......' ~-.,~-L---i-- ~- <> , , , I I I I I I d Ral:lio range of user device 604 rJl ......:J ~ ~ """'" \c QO QO = N ~ 7J). • ~ ~ ~ / ~ ~ = ~ Horizon ~ / I I I ! I i ~ 802.11 access point ~ ~ .... ~'oCi N 802.11 access point 707 802.11 access point I / 707 Directional Antennas 707 709 o o QO rFJ =- ('D ('D ..... ......:J .... .... .... o GPS Device Figure 7: Client Scanning Device 705 Scanning ........-+- Client 704 802.11 radio 706 d rJl ......:J Scanning Vehicle 701 I I ~ ~ """'" \c QO QO = N ~ Figure 8: Central Network Server 7J). • ~ ~ ~ ~ Scanning Vehicles 801 Fleet Management Module Parser & Filter 803 ~ .... ~1J:i N o o QO 806 rFJ =- ('D ('D ..... QO I '..•• I { 804 805 ~ ~ Reverse Triangulation Regional Data Pack Builder = / Central Network Database 802 ... Map Builder 808 •• I •••• •••• I •• I I I I I I .... .... .... o d rJl ......:J ~ ~ """'" \c QO QO = N , _.__ _ _ _ _ ••..•• •..•• •• •..••..•..•..•• ••..•••.._.._..•__·_ ··1 ~ 7J). • Scan Request Reauest Locatiollj Scanner 902 ~ 802.11 Radio 903 List of MAC addresses and signal characteristics Beacon Probe .. ~ l ;02.11 --'- ~ j ~ccess ~ Poi ~ts 904 Beacon Broadcast ~ = ~ ! i ! LookuoMAC addresses I j t ! ; Locations of known access points j --..., I"'--.. ..-/ 'V:J ~ Access Point Reference ......... Database ~ .... ~1J:i N o o QO Location Application 901 Locator 906 Send .. List Bad data filter 907 Send List Location Calculati on 908 Loca riefl- Location Smoothing 909 rFJ =- ('D ('D ..... • IJ:i .... .... .... o I 1 ; Location delivered via API I .. , Loca!ion delivered via NMEA stream , i COM Port (911) Application interface 910 +- ,------------------------------------------------------i03----------------------------------- Figure 9: Positioning Software I I .J d rJl ......:J ~ ~ """'" \c QO QO = N r···..··········..· · . · ·. · · . ·· ··············..·.· ~ ~ _ II EJ EJ Data Manag~r 100 I ~ 7J). I i . System Manager 1002 • ~ ~ GPS Radio 1006 H GPS Recorder 1008 ~ ~ 1 File ManagerlOI I~ I~ Radio Manager Scanning Data lOll 1-1 User Interface Controller Data 1012 Error Handling and Logging 1013 ---il Radio ------, Acce ss Point ----' Wi..Fi Recorder 1007 1009 lJ;r1 Il ~ 1015 0 802.11 = 1014 ~ System Reset II 1016 ~ .... ~1J:i N o o QO i !, Upload Manager 1003 Hotspot Detector 1017 II Create Connection 1018 II Authe~ticatio Hotspot 1019 Upload Server Authenticatio n rFJ Check New Client Version Upload & Verify Data 1021 II ..... Install New Version 1023 1022 1020 =.... o o .... .... .... ('D ('D 704 Central Network Server 1025 Figure 10: Scanning Client d Access Point Database rJl 1026 ~ ......:J ~ """'" \c QO QO = N Random Scanning Model Chinese Postman Scanning Model ~ 7J). • ~ ~ x ~ ~ Raw scanning readings of Access Point 1103 Raw scanning readings of Access Point 11 06 X X:%- X XX X X = ~ X XX ~ X X X X Xx X X }{ Xx X Calculated position of ~ccess Point ~y 1102 ~. X 150 meters X X X l X Access Point 1101 X Calculated position of Access Point 1105 X X o ~ X Yx Error = meters ~IO X X X XX X xX N 0 0 QO =.... .... .... .... .... ('D ('D X X 0 X X X X .... ~1J:i rFJ Access Point 1104 X ~ X l X X > = X X XXX X X ..... * l d rJl ......:J ~ X X Figure 11: comparison of scanning models ~ """'" \c QO QO = N US 7,414,988 B2 1 2 SERVER FOR UPDATING LOCATION BEACON DATABASE effectively, the radio signals must reach the received with little or no interference. Weather, buildings or structures and foliage can cause interference because the receivers require a clear line-of-sight to three or more satellites. Interference can also be caused by a phenomenon known as multi-path. The radio signals from the satellites bounce offphysical structures causing multiple signals from the same satellite to reach a receiver at different times. Since the receiver's calculation is based on the time the signal took to reach the receiver, multipath signals confuse the receiver and cause substantial errors. Cell tower triangulation is another method used by wireless and cellular carriers to determine a user or device's location. The wireless network and the handheld device corrnnunicate with each other to share signal information that the network can use to calculate the location of the device. This approach was originally seen as a superior model to GPS since these signals do not require direct line of site and can penetrate buildings better. Unfortunately these approaches have proven to be suboptimal due to the heterogeneous nature of the cellular tower hardware along with the issues of multi-path signals and the lack of uniformity in the positioning of cellular towers. Assisted GPS is a newer model that combines both GPS and cellular tower techniques to produce a more accurate and reliable location calculation for mobile users. In this model, the wireless network attempts to help GPS improve its signal reception by transmitting information about the clock offsets ofthe GPS satellites and the general location ofthe user based on the location of the counected cell tower. These techniques can help GPS receivers deal with weaker signals that one experiences indoors and helps the receiver obtain a 'fix' on the closest satellites quicker providing a faster "first reading". These systems have been plagued by slow response times and poor accuracy-greater than 100 meters in downtown areas. There have been some more recent alternative models developed to try and address the known issues with GPS, A-GPS and cell tower positioning. One of them, known as TV-GPS, utilizes signals from television broadcast towers. (See, e.g., Muthukrishnan, Maria Lijding, Paul Havinga, Towards Smart Surroundings: Enabling Techniques and Technologies for Localization, Lecture Notes in Computer Science, Volume 3479, January 2Hazas, M., Scott, J., Krurrnn, J.: Location-Aware Computing Comes ofAge. IEEE Computer, 37(2):95-97, February 2004 005, Pa005, Pages 350-362.) The concept relies on the fact that most metropolitan areas have 3 or more TV broadcast towers. A proprietary hardware chip receives TV signals from these various towers and uses the known positions of these towers as reference points. The challenges facing this model are the cost of the new hardware receiver and the limitations of using such a small set of reference points. For example, if a user is outside the perimeter of towers, the system has a difficult time providing reasonable accuracy. The classic example is a user along the shoreline. Since there are no TV towers out in the ocean, there is no way to provide reference syrrnnetry among the reference points resulting in a calculated positioning well inland of the user. Microsoft Corporation and Intel Corporation (via a research group known as PlaceLab) have deployed a Wi-Fi Location system using the access point locations acquired from amateur scauners (known as "wardrivers") who submit their Wi-Fi scan data to public corrnnunity web sites. (See, e.g., LaMarca, A., et. a!., Place Lab: Device Positioning Using Radio Beacons in the Wild.) Examples include WiGLE, Wi-FiMaps.com, Netstumbler.com and NodeDB. Both Microsoft and Intel have developed their own client software that utilizes this public wardriving data as reference CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit under 35 U.S.c. §119 (e) of U.S. Provisional Patent Application No. 60/623,108, filed on Oct. 29, 2004, entitled Wireless Data Scanning Network for Building Location Beacon Database, which is herein incorporated by reference in its entirety. This application is related to the following U.S. Patent Applications, filed on an even date herewith: U.S. patent application Ser. No. 11/261,848, entitled Location Beacon Database; U.S. patent application Ser. No. 11/261,988, entitled Location-Based Services that Choose Location Algorithms Based on Number of Detected Access Points Within Range of User Device; and U.S. patent application Ser. No. 11/261,987, entitled Method and System for Building a Location Beacon Database. 10 15 20 BACKGROUND 25 1. Field of the Invention The invention generally related to location-base services and, more specifically, to methods and systems of determining locations ofWi-Fi access points and using such information to locate a Wi-Fi-enabled device. 2. Discussion of Related Art In recent years the number of mobile computing devices has increased dramatically creating the need for more advanced mobile and wireless services. Mobile email, walkie-talkie services, multi-player gaming and call following are examples of how new applications are emerging on mobile devices. In addition, users are beginning to demand! seek applications that not only utilize their current location but also share that location information with others. Parents wish to keep track of their children, supervisors need to track the location of the company's delivery vehicles, and a business traveler looks to find the nearest pharmacy to pick up a prescription. All of these examples require the individual to know their own current location or that of someone else. To date, we all rely on asking for directions, calling someone to ask their whereabouts or having workers check-in from time to time with their position. Location-based services are an emerging area of mobile applications that leverages the ability of new devices to calculate their current geographic position and report that to a user or to a service. Some examples ofthese services include local weather, traffic updates, driving directions, child trackers, buddy finders and urban concierge services. These new location sensitive devices rely on a variety of technologies that all use the same general concept. Using radio signals coming from known reference points, these devices can mathematically calculate the user's position relative to these reference points. Each ofthese approaches has its strengths and weaknesses based on the radio technology and the positioning algorithms they employ. The Global Positioning System (GPS) operated by the US Goverrnnent leverages dozens of orbiting satellites as reference points. These satellites broadcast radio signals that are picked up by GPS receivers. The receivers measure the time it took for that signal to reach to the receiver. After receiving signals from three or more GPS satellites the receiver can triangulate its position on the globe. For the system to work 30 35 40 45 50 55 60 65 US 7,414,988 B2 3 4 locations. Because individuals voluntarily supply the data the systems suffer a number of performance and reliability problems. First, the data across the databases are not contemporaneous; some ofthe data is new while other portions are 3-4 years old. The age of the access point location is important since over time access points can be moved or taken offline. Second, the data is acquired using a variety of hardware and software configurations. Every 802.11 radio and antenna has different signal reception characteristics affecting the representation ofthe strength ofthe signal. Each scanning software implementation scans for Wi-Fi signals in different ways during different time intervals. Third, the user-supplied data suffers from arterial bias. Because the data is self-reported by individuals who are not following designed scanning routes, the data tends to aggregate around heavily traffic areas. Arterial bias causes a resulting location pull towards main arteries regardless of where the user is currently located causing substantial accuracy errors. Fourth, these databases include the calculated position of scanned access points rather than the raw scanning data obtained by the 802.11 hardware. Each of these databases calculates the access point location differently and each with a rudimentary weighted average formula. The result is that many access points are indicated as being located far from their actual locations including some access points being incorrectly indicated as if they were located in bodies of water. There have been a number of commercial offerings of Wi-Fi location systems targeted at indoor positioning. (See, e.g., Kavitha Muthukrishnan, Maria Lijding, Paul Havinga, Towards Smart Surroundings: Enabling Techniques and Technologies for Localization, Lecture Notes in Computer Science, Volume 3479, Jan 2Hazas, M., Scott, J., Krumm, J.: Location-Aware Computing Comes ofAge. IEEE Computer, 37(2):95-97, February 2004 005, Pa005, Pages 350-362.) These systems are designed to address asset and people tracking within a controlled enviroument like a corporate campus, a hospital facility or a shipping yard. The classic example is having a system that can monitor the exact location of the crash cart within the hospital so that when there is a cardiac arrest the hospital staffdoesn't waste time locating the device. The accuracy requirements for these use cases are very demanding typically calling for 1-3 meter accuracy. These systems use a variety oftechniques to fine tune their accuracy including conducting detailed site surveys of every square foot ofthe campus to measure radio signal propagation. They also require a constant network connection so that the access point and the client radio can exchange synchronization information similar to how A-GPS works. While these systems are becoming more reliable for these indoor use cases, they are ineffective in any wide-area deployment. It is impossible to conduct the kind of detailed site survey required across an entire city and there is no way to rely on a constant communication channel with 802.11 access points across an entire metropolitan area to the extent required by these systems. Most importantly outdoor radio propagation is fundamentally different than indoor radio propagation rendering these indoor positioning algorithms almost useless in a wide-area scenarIO. There are numerous 802.11 location scanning clients available that record the presence of 802.11 signals along with a GPS location reading. These software applications are operated manually and produce a log file of the readings. Examples of these applications are Netstumber, Kismet and Wi-FiFoFum. Some hobbyists use these applications to mark the locations of 802.11 access point signals they detect and share them with each other. The management ofthis data and the sharing of the information is all done manually. These application do not perform any calculation as to the physical location of the access point, they merely mark the location from which the access point was detected. Performance and reliability of the underlying positioning system are the key drivers to the successful deployment ofany location based service. Performance refers to the accuracy levels that the system achieves for that given use case. Reliability refers to the percentage of time that the desired performance levels are achieved. 10 Performance Local Search/Advertising 15 E911 Turn-by-turn driving directions Gaming Friend finders Fleet management 20 Indoor asset tracking Reliability <100 meters <150 meters 10-20 meters 85% of the time 95% of the time 95% of the time <50 meters <500 meters <10 meters <3 meters 90% 80% 95% 95% of the time of the time of the time of the time SUMMARY 25 30 35 40 45 50 55 The invention provides a location beacon database and server, method of building location beacon database, and location based service using same. Under another aspect of the invention, a Wi-Fi location server includes a database ofWi-Fi access points for at least one target area having a radius on the order of tens of miles, said database being recorded in a computer-readable medium and including database records for substantially all Wi-Fi access points in the target area, each record including identification information for a corresponding Wi-Fi access point and calculated position information for the corresponding Wi-Fi access point, wherein said calculated position information is obtained from recording multiple readings ofthe Wi-Fi access point to provide reference symmetry when calculating the position ofthe Wi-Fi access point and to avoid arterial bias in the calculated position information. The server also includes computer-implemented logic to add records to the database for newly-discovered Wi-Fi access points said computer logic including logic to recalculate position information for Wi-Fi access points previously stored in the database to utilize the position information for the newly-discovered WiFi access points. Under another aspect of the invention, the server includes computer-implemented clustering logic to identify position information based on error prone GPS information. Under another aspect of the invention, the clustering logic includes logic to determine a weighted centroid position for all position information reported for an access point and logic to identifY position information that exceeds a statisticallybased deviation threshold amount away from the centroid position and excludes such deviating position information from the database and from influencing the calculated positions of the Wi-Fi access points. BRIEF DESCRIPTION OF DRAWINGS 60 65 In the drawing, FIG.! depicts certain embodiments ofa Wi-Fi positioning system; FIG. 2 depicts scanning vehicles including scanning devices according to certain embodiments of the invention; FIG. 3 depicts an example of a scanning scenario to illustrate the problem of arterial bias in data collection; US 7,414,988 B2 5 6 FIG. 4 depicts an example using a programmatic route for a scanning vehicle according to certain embodiments of the invention; FIG. 5 depicts an example scenario to illustrate the problem oflack of reference symmetry ofWi-Fi access points in locating a user device; FIG. 6 depicts an example scenario to illustrate reference symmetry ofWi-Fi access points in locating a user device; FIG. 7 depicts scanning vehicles including scanning devices according to certain embodiments of the invention; FIG. 8 depicts a central network server including a central database ofWi-Fi access points according to certain embodiments of the invention; FIG. 9 depicts an exemplary architecture of positioning software according to certain embodiments of the invention; FIG. 10 depicts an exemplary architecture of a scanning client according to certain embodiments ofthe invention; and FIG. 11 compares and contrasts the effects of a random scanning model with one using a model from the Chinese postman routing algorithm. gathering system has collected. The power profile is a collection of readings that represent the power of the signal from various locations. Using these known locations, the client software calculates the relative position of the user device [101] and determines its geographic coordinates in the form of latitude and longitude readings. Those readings are then fed to location- based applications such as friend finders, local search web sites, fleet management systems and E911 servIces. The positioning software is described in greater detail with reference to FIG. 9, which depict exemplary components of positioning software 103. Typically there is an application or service [901] that utilizes location readings to provide some value to an end user (example, driving directions). This location application makes a request of the positioning software for the location of the device at that particular moment. That request initiates the scanner [902], which makes a "scan request" to the 802.11 radio [903] on the device. The 802.11 radio sends out a probe request to all 802.11 access points [904] within range. According to the 802.11 protocol, those access points in receipt of a probe request will transmit a broadcast beacon containing information about the access point. That beacon includes the MAC address of the device, the network name, the precise version of the protocol that it supports and its security configuration along with information about how to connect to the device. The 802.11 radio collects this information from each access point that responds, calculates the signal strength of each access point and sends that back to the scanner. The scanner passes this array of access points to the Locator [906] which checks the MAC addresses of each observed access point against the Access Point Reference Database [905]. This database can either be located on the device or remotely over a network connection. The Access Point Reference Database returns the location data for each of the observed access points that are known to the system. The Locator passes this collection of location information along with the signal characteristics returned from each access point to the Bad Data Filter [907]. This filter applies a number of comparison tests against each access point to determine if any ofthe access points have moved since they were added to the access point database. After removing bad data records, the Filter sends the remaining access points to the Location Calculation component [908]. Using the reference data from the access point database and the signal strength readings from the Scanner, the Location Calculation component computes the location of the device at that moment. Before that location data is sent back to the Locator, it is processed by the Smoothing engine [909] which averages a past series oflocation readings to remove any erratic readings from the previous calculation. The adjusted location data is then sent back to the Locator. The calculated location readings produced by the Locator are communicated to these location-based applications [901] through the Application Interface [910] which includes an application programming interface (API) or via a virtual GPS capability [911]. GPS receivers communicate their location readings using proprietary messages or using the location standard like the one developed by the National Marine Electronics Association (NMEA). Connecting into the device using a standard interface such as a COMport on the machine retrieves the messages. Certain embodiments ofthe invention include a virtual GPS capability that allows any GPS compatible application to communicate with this new positioning system without have to alter the communication model or messages. 10 15 20 DETAILED DESCRIPTION Preferred embodiments of the present invention provide a system and a methodology for gathering reference location data to enable a commercial positioning system using public and private 802.11 access points. Preferably, the data is gathered in a programmatic way to fully explore and cover the streets of a target region. The programmatic approach identifies as many Wi-Fi access points as possible. By gathering location information about more access points, preferred embodiments not only provide a larger collection oflocation information about access points, but the location information for each access point may be calculated with more precision. Subsequently this larger set ofmore precise data may be used by location services to more precisely locate a user device utilizing preferred embodiments of the invention. Certain embodiments use techniques to avoid erroneous data in determining the Wi-Fi positions and use newly-discovered position information to improve the quality of previously gathered and determined position information. Certain embodiments use location-determination algorithms based on the context of the user device at the time the user requests a location. For example, the location-determination algorithm will be based on the number of Wi-Fi access points identified or detected when a location request is made, or based on the application making the request. FIG. 1 depicts a portion of a preferred embodiment of a Wi-Fi positioning system (WPS). The positioning system includes positioning software [103] that resides on a computing device [101]. Throughout a particular coverage area there are fixed wireless access points [102] that broadcast information using control/common channel broadcast signals. The client device monitors the broadcast signal or requests its transmission via a probe request. Each access point contains a unique hardware identifier known as a MAC address. The client positioning software receives signal beacons from the 802.11 access points in range and calculates the geographic location of the computing device using characteristics from the signal beacons. Those characteristics include the unique identifier of the 802.11 access point, known as the MAC address, and the strengths of the signal reaching the client device. The client software compares the observed 802.11 access points with those in its reference database [104] of access points, which mayor may not reside on the device as well. The reference database contains the calculated geographic locations or power profile of all the access points the 25 30 35 40 45 50 55 60 65 US 7,414,988 B2 7 8 The location calculations are produced using a series of positioning algorithms intended to turn noisy data flows into reliable and steady location readings. The client software compares the list of observed access points along with their calculated signal strengths to weight the location of user to determine precise location of the device user. A variety of techniques are employed including simple signal strength weighted average models, nearest neighbor models combined with triangulation techniques and adaptive smoothing based on device velocity. Different algorithms perform better under different scenarios and tend to be used together in hybrid deployments to product the most accurate final readings. Preferred embodiments of the invention can use a number of positioning algorithms. The decision of which algorithm to use is driven by the number of access points observed and the user case application using it. The filtering models differ from traditional positioning systems since traditional systems rely on known reference points that never move. In the model of preferred embodiments, this assumption of fixed locations of access points is not made; the access points are not owned by the positioning system so they may move or be taken offline. The filtering techniques assume that some access points may no longer be located in the same place and could cause a bad location calculation. So the filtering algorithms attempt to isolate the access points that have moved since their position was recorded. The filters are dynamic and change based on the number of access points observed at that moment. The smoothing algorithms include simple position averaging as well as advanced bayesian logic including Kalman filters. The velocity algorithms calculate device speed by estimating the Doppler effect from the signal strength observations of each access point. destination routes. A destination route is when a driver needs to get from A to B and seeks the fastest route to get there. So the driver looks for the shortest route to the nearest main artery whether it be a highway or a main thoroughfare. As a result, over time the random driving covers more and more ground by the cumulative coverage shows a bias to the main roads, or arteries at the expense of the smaller and surrounding roads. In FIG. 3, arteries [304] and [305] are heavily traversed by the scarming vehicles resulting in a healthy amount of scanning data for those streets. But streets [306] and [307] are rarely, if ever, covered because there is no frequent destination on those streets and the arteries are more optimal travel roads. The result is that access points [308] and [309] are not scarmed at all by the scanning vehicles so the positioning system will struggle to identify a user who is traveling on streets [306] and [307]. The result is that when the system attempts to calculate the location of the access point from the scan data it is limited to a biased collection of input data. FIG. 11 shows the difference in resulting data quality. As the scanning vehicle drives near the Access Point [11 01 L it records a reading and its location continuously. The positioning system must then calculate the location of the Access Point [1102] using the entire set of observed data [1103]. In the Random Scanning model the set of data is limited to one main road passing by the access point. That forces the system to calculate the access point's location near that road rather than close to the access point itself. Another approach is develop routing algorithms that include every single street in the target area so as to avoid arterial bias in the resulting collection of data thus producing a more reliable positioning system for the end users. FIG. 4 describes an optimized routing algorithm known as the Chinese Postman to calculate the most efficient driving route for covering every single street in a target area. The Chinese Postman routing algorithm is a known technique used by postal agencies, utilities and census agencies and is a variant of the Eulerian cycle problem. The Eulerian cycle is a problem asking for the shortest tour of a graph which visits each edge at least once. (See, e.g., Kwan, M. K. "Graphic Programming Using Odd or Even Points." Chinese Math. 1,273-277, 1962.) Preferred embodiments of the invention include a methodology for identifYing a target region for coverage and then using the Chinese Postman routing algorithm for planning the vehicle route. The scarming vehicle [401] follows the optimal route according to the algorithm showing no bias to any street ensuring that all observable access points are detected and mapped by the system. So, by way of example, access points [408] and [409] are added to the access point database using the Chinese Postman model but would have been missed using the Random model. Referring back to FIG. 11, with the Chinese Postman Scarming model, the vehicle travels every single road getting as complete a set of scanning records [1106] for the Access Point [1104]. The system can then calculate the location [11 05] ofthe access point with less error since it has a more uniform distribution of scan data for access point 1104 than for access 1102. So the Chinese Postman Scanning model not only gathers more access points uniformly across a target area but the resulting data produces more accurate calculations of access point locations. 10 15 20 25 30 Gathering of Scan Data to Build Reference Database 35 FIG. 2 depicts the components used to gather location information for the various access points. A large fleet of vehicles [201] is deployed to build the reference database (104 ofFIG. 1) for the positioning system. These vehicles 201 follow a progranmlatic route through target scan areas to gather data in the most optimal fashion producing the highest quality data. The target scan areas typically represent a large metropolitan area including every single drivable street in 15-20 mile radius. These vehicles are equipped with scanning devices [202] designed to record the locations and characteristics of 802.11 signals while traversing the coverage area. The scarming devices track the location of the scanning vehicle every second using signal from GPS satellites [204]. The scanning device also tracks the presence of any 802.11 access point within range and records the radio characteristics ofthat access point signal along with the GPS location of the scanning vehicle. The quality of the data collected is greatly affected by the scanning methodology employed by the scanning vehicles. Each model has its own benefits and limitations. One approach, known as the Random Model, places scanning devices in vehicles as they are conducting daily activities for business or personal use. These vehicles could be delivery trucks, taxi cabs, traveling salesman or just hobbyists. The concept is that over time these vehicles will cover enough streets in their own random fashion in order to build a reliable reference database. The model does in fact provide a simple means to collect data but the quality of the resulting data is negatively affected due to issues of "arterial bias". FIG. 3 describes the challenge of the random model. When scanning vehicles traverse routes designed to solve other problems than gathering data (e.g. delivering packages, people commuting to and from work) they tend to follow 40 45 50 55 60 Higher quality AP Locations 65 Once collected (or partially collected), the scanning data is uploaded back to a central access point database (described later in this application) where it is processed. The raw observation points for each access point are used to reverse triangulate the actual physical location of the access points or US 7,414,988 B2 9 10 create a power profile representing the radio propagation of that access point. In order to produce the most accurate calculated location for a particular access points or to create the most accurate power profile, the scanning vehicle must observe the access point from as many different angles as possible. In the random model [FIG. 3], many access points are observed from only one street forcing the system to calculate their location directly on the street [303]. These locations exhibit a directional bias and are significantly different than the actual locations of these access points [302]. Errors are introduced into a positioning system when its reference point locations are inaccurate. So in this positioning system, the accuracy of the access point locations playa large role in the accuracy of the end user positioning accuracy. Using the Chinese Postman model [FIG. 4] the scanning vehicles detect a particular access point from as many sides as possible ofthe building housing the access point. This additional data greatly improves the results ofthe reverse triangulation formula used to calculate the location of the access points [403]. More details on the access point location quality is described in connection with FIG. 11. The scanning data collected from this system represents a reliable proxy for the signal propagation pattern for each access point in its specific environment. Every radio device and associated surronnding environment produces a unique signal fingerprint showing how far the signal reaches and how strong the signal is in various locations within the signal fingerprint. This fingerprint data is used in conjnnction with the calculated access point location to drive high accuracy for the positioning system. This fingerprint is also known as a "power profile" since the signal strengths at each position is measured as signal power in watts. The positioning system can interpret the fingerprint data to indicate that a particular signal strength of an 802.11 access point radio is associated with a particular distance from that access point. Signal fingerprinting techniques are used in indoor Wi-Fi positioning but have proved difficult to replicate in the wider area outdoor environments because the difficulty associated with collecting the fingerprint data. When the fingerprints or power profiles of multiple access points are overlayed, the positioning system can determine a device location merely by finding the one position where the observed signal strengths match the combined fingerprints. Preferred embodiments of this invention provide a reliable system for obtaining this fingerprint data across a massive coverage area with millions of access points in order to utilize fingerprint-based positioning algorithms. range [604] of the device's 802.11 radio. The resulting position calculation [603] has reduced location bias and is more accurate as a result. FIG. 11 is another example showing the impact of quality location calculations. Scanning Device 10 15 20 25 30 35 40 45 ReferenceSYillllletry 50 Positioning systems typically work by having three or more reference points around the device being tracked. These positioning systems use the radio signals from these reference points in various ways to calculate the device's current location. Significant errors occur when there are an insufficient number ofreference points or when the reference points lack balance or sYillllletry around the user. As illustrated in FIG. 5, the arterial bias that emerges from the random model introduces many scenarios where the end user [501] moves into physical areas in which there are only recorded access point locations [502] on one side ofthem. This lack of sYillllletry in the distribution ofreference points around the end user causes the positioning algorithms to calculate the device location [503] with a great deal of error. With Chinese Postman model of scanning for access points, the user typically encounters a physical location [FIG. 6] in which there are numerous access point locations [602] on all sides of the user [601] within the 55 60 65 FIG. 7 depicts the details of a preferred embodiment of a scanning device 702 used to detect and identifY the various Wi-Fi access points. A scanning vehicle [701] contains a scanning device [702] that continuously scans the airways for radio signals from GPS satellites [708] and 802.11 access points [707]. The scanning device runs the scanning client software [704] that controls the entire process. The scanning client activates both the GPS receiver [705] and the 802.11 radio [706]. The GPS receiver is set into a continuous reception mode calculating the geographic location of the device every second. That calculation is read by the scanning client and stored in the local data storage [703]. The scanning client initiates the 802.11 radio and begins sending out 802.11 probe requests using directional antennas [709]. Any 802.11 access point [707] within range of that probe request responds with a signal beacon as per the 802.11 protocol. The responding signal beacons contains the network name ofthe access point (known as an SSID), the MAC address of the access point device as well as other meta information about the access point. The responding signals reach each of the directional antennas with a different strength of signal based on the vector of origin and the proximity of the access point. That vector is recorded along with the identifier of that particular antenna and the meta information about the access point. This probe-receive-record process occurs continuously every tenth of a second. The scanning device deployed is a combination of the iPAQ 4155 Pocket PC and Powered GPS PDA Mount Cradle with integrated SiRF II type GPS receiver with XTrac v. 2.0 firmware. The Scanning Client 704 of certain embodiments is described in connection with FIG. 10. The client consist of three main components, the Data Manager [1001], the System Manager [1002] and the Upload Manager [1003]. The Data Manager [1001] controls the operations ofboth the GPS radio [1006] and the 802.11 radio [1007]. The Data Manager controls when and how often these radios scan for signals and process those signals. The GPS radio once activated receives signals from GPS satellites [1004] and calculates its geographic location. The GPS recorder [1008] logs all of those readings every second and sends them to the File Manager [1010]. The Wi-Fi Recorder [1009] activates the 802.11 Radio to scan every tenth of a second, and associates those 802.11 readings with the GPS readings coming from the GPS radio and sends the resulting data to the File Manager. The File Manager receives scan data from both the GPS Recorder and Wi-Fi Recorder and creates storage files on the device. This process continues the entire time the device is operational and both radios are functioning In the Upload Manager [1003] there is a Hotspot Detector [1017] that monitors the 802.11 scanning results to look for the configured network of public hotspots [1024] (e.g. T-mobile) that the device is authorized to access. Once it detects a valid Hotspot it notifies the user of its presence. The user can select to connect to the hotspot by activating the Create Connection component [1018]. This component associates with the hotspot's access point and creates an 802.11 connection. Then the Hotspot Authentication module [1019] supplies valid authentication information for the device. The hotspot validates the acconnt and then provides network access to the device. The Upload Manager then initiates the Upload Server US 7,414,988 B2 11 12 Authentication process [1020] to connect to the Central Network Server [1025] and provides valid authentication information. Once authenticated, the Upload & Data Verification module [1021] is initiated. This module retrieves the scan data from the Scanning Data store [1011] and uploads the data to the Central Network Server using FTP. The Central Network Server initiates a process to store all the data in the Central Access Point Database. After the upload is complete the upload process moves the scan data from the Scanning Data store [1011] to the Backup Data store [1012] on the device. Once the upload is completed and verified, the New Version module [1022] checks the Central Network Server to determine if there is a new version of the client software available for the device. Ifthere is a new version, the software is downloaded and the New Version Installation [1023] process begins to upgrade the client software. Once the installation process is completed the connection with the Central Network Server is terminated, the connection with the hotspot is terminated and the device returns to normal scanning operation. Included in the Scanning Client 704 are a set ofutilities that help to manage the device and reduce system errors. The Radio Manager [1013] monitors the operation of the GPS Radio and the Wi-Fi Radio to make sure they are functioning properly. If the Radio Manager encounters a problem with one of the radios, it will restart the radio. The User Interface Controller [1014] presents the tools and updates to the user so they can operate the device effectively. The Error Handling and Logging [1015] records all system issues to the device and alerts the user so they can address. The System Restart module [1016] is called when issues cannot be resolved. This module shuts down the device and restarts the hardware, operating system and scanning client to ensure proper operation. The lflO of a second 802.11 scanning interval was chosen since it provides the optimal scanning period for 802.11 under these conditions using off the shelf hardware. 802.llb/g/n operates using 14 channels of the unlicensed spectrum. An individual access point broadcasts its signal beacon over one of those channels at any given time. The scanning device needs to survey each channel in order to observe as many access points as possible. The scanning interval is correlated with the average speed of the scanning vehicle to optimize how the scanning client covers the frequency real estate of a particular region. data is evaluated for quality issues. In some cases the GPS receiver may record erroneous or error records for some period oftime, which could negatively affect the final access point location calculation. The parser and filter process identifies these bad records and either corrects them or removes them from the system. The filtering process users clustering techniques to weed out error prone GPS readings. For example, if90% ofthe readings are within 200 meters ofeach other but the remaining 10% ofthe readings are 5 kilometers away then those outliers are removed by the filter and stored in a corrupted table of the database for further analysis. In particular, the system first calculates the weighted centroid for the access point using all reported data. It then determines the standard deviation based on the distribution of the reported locations. The system uses a definable threshold based on the sigma of this distribution to filter out access points that are in error. Once these error records are marked, the centroid is recalculated with the remaining location records to determine the final centroid using the Reverse Triangulation method described below. Note that the error records may be the result of an access point that has moved. In this instance, the centroid for the access points will quickly "snap" to the new location based on the preponderance of records. An additional enhancement to the algorithm would include a weighting value based on the age of the records such that new records represent a more significant indication of the present location for a given access point. Once the parsing process has been completed the central network system initiates the Reverse Triangulation model [804] begins processing the new data. During this process I) new access points are added to the database and their physical location is calculated and 2) existing access points are repositioned based on any new data recorded by the scanners. The reverse triangulation algorithm factors in the number of records and their associated signal strengths to weight stronger signal readings more than weaker signals with a quasi weighted average model. During data gathering, a WPS user is equipped with a Wi-Fi receiver device which measures Received Signal Strength (RSS) from all the available Wi-Fi access points, and then extracts location information of corresponding access points. RSS value of access points are shown as follows: 10 15 20 25 30 35 40 45 Central Network Server With reference to FIG. 8, the fleet ofvehicles perform their scanning routines while driving their pre-designed routes. Periodically each vehicle [801] will connect to an available 802.11 access point and authenticate with the Data Communications Module [807] of the Central Network Server. Typically the access points used for communicating with the Central Network Server are public hotspots like those operated by T-Mobile ensuring reliable and metered access. The provisioning of this connection could be done via any available public access point. The scanning vehicle stops at a nearby hotspot location and begins the process of connecting to the access point. Once authenticated, the scanning client [704] identifies all the recently collected scan data from the local storage [703] and uploads that data to the Central Network Database [802]. Once the data has been uploaded to the database, the Parser and Filter process [803] begins. The Parser and Filter process reads all of the upload scanning data and loads it up into the appropriate tables of the database. During this exercise the 50 {RSSj, RSS 2 , · · . RSS n } If the corresponding recorded GPS location ofaccess point i is denoted by {Lat" Long,}, and the calculated access point location is denoted by {Lat" Long,}, the triangulated position is found by applying the algorithm as follows: t Latu = 55 ~ lO RSS;/10 Lat; i=l -'--'--n- - - - - L~ lO RSS;/10 i=l t ~ lO RSS;/10 Long; i=l 60 Longu = - ' - - ' - - n - - - - - L~ lO RSS;/10 1=1 65 The quad root of power is selected to ease the implementation of the algorithm, since quad root is synonymous to taking two square roots. US 7,414,988 B2 13 14 The second point is referring to adjusting the dynamic range of coefficients. If the dynamic range of coefficients is a concern, the coefficient of the algorithm can be divided by a constant number, e.g., verifY completion of coverage and to identify missed areas. This ability to audit and verifY uniform coverage ensures that the system is getting the best data possible. The module also calculates the driving time ofthe vehicle to determine average speed and to subtract any idle time. These outputs are used to monitor efficiency of the overall system and in planning of future coverage. It will be appreciated that the scope ofthe present invention is not limited to the above described embodiments, but rather is defined by the appended claims; and that these claims will encompass modifications of and improvements to what has been described. f' U ~ lO RSS;/10 C Lat; i=l Latu = --'--''-----~==~- !~ i=l f' u ~lQRSs;;lO 10 What is claimed is: 1. A Wi-Fi location server, comprising: 15 i=l a database ofWi-Fi access points for at least one target area Longu = ----===~ having a radius on the order of tens of miles, said database being recorded in a computer-readable medium and i=l including database records for substantially all Wi-Fi access points in the target area, each record including 20 identification information for a corresponding Wi-Fi The Parameter C can be any number and it does not impact access point and calculated position information for the the results, theoretically. Since, the weighted average is based corresponding Wi-Fi access point, wherein said calcuon the ratio of the coefficients and not the absolute value, lated position information is obtained from recording theoretically, dividing all the coefficients by a constant value, multiple readings of the Wi-Fi access point at different C, does not impact the results, but it changes the dynamic 25 locations around the Wi-Fi access point so that the mulrange of the coefficient values. tiple readings have reference symmetry relative to other This final {Lat" Long,} is then used as the final centroid Wi-Fi access points in the target area and so that the value for the location of that access point. The latitude and calculation of the position of the Wi-Fi access point longitude will then be stored in the database including a avoids arterial bias in the calculated position informatimestamp to indicate the freshness of the triangulation cal- 30 tion; and culation. computer-implemented logic to add records to the database After the Central Network Database has been updated and for newly-discovered Wi-Fi access points said computer each access point has been repositioned, the Data Pack logic including logic to recalculate position information Builder [805] creates subsets ofthe database based on regions for Wi-Fi access points previously stored in the database of the country or world. The pack builder facilitates distribu- 35 to utilize position information for the newly-discovered tion of the database for a variety of use cases in which only readings of previously stored Wi-Fi access points. region certain geographies are of interest. The pack builder is 2. The server of claim 1 further including computer-impleconfigured with region coordinates representing countries, mented clustering logic to identifY position information time zones and metropolitan areas. Utilizing this technique a user can download just the location data for the west coast of 40 based on error prone GPS information. 3. The server of claim 2 wherein the clustering logic the United States. The pack builder segments the data records includes logic to determine a weighted centroid position for and then compresses them. all position information reported for an access point and logic The Fleet Management Module [806] helps operations to identifY position information that exceeds a statisticallypersonnel manage the scanning vehicles and ensure they are adhering the routing procedures. This module processes all 45 based deviation threshold amount away from the centroid position and excludes such deviating position information the scan data and builds the location track for each vehicle in from the database and from influencing the calculated posithe system. The operations manager can create maps of the tions of the Wi-Fi access points. vehicle track using the Map Builder [808] to visually inspect the coverage for a particular region. The GPS tracking data from each device is reviewed with route mapping software to * * * * * C Long; !~

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?