Skyhook Wireless, Inc. v. GOOGLE, INC.
Filing
45
DECLARATION of Susan Baker Manning in Support of Google Inc.'s Motion for Summary Judgement of Indefiniteness And, In the Alternative, Opening Claim Construction Brief by GOOGLE, INC.. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Exhibit D, # 5 Exhibit E, # 6 Exhibit F)(Manning, Susan)
EXHIBIT D
111111111111111111111111111111111111111111111111111111111111111111111111111
US007433694B2
United States Patent
(10)
Morgan et al.
(12)
(45)
(54)
LOCATION BEACON DATABASE
(75)
Inventors: Edward James Morgan, Needham, MA
(US); Farshid Alizadeh-Shabdiz,
Wayland, MA (US); Russel Kipp Jones,
Roswell, GA (US); Michael George
Shean, Boston, MA (US)
(73)
(*)
6,888,811 B2
Assignee: Skyhook Wireless, Inc., Boston, MA
(US)
Notice:
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.c. 154(b) by 404 days.
(21)
Appl. No.: 111261,848
(22)
Filed:
Oct. 28, 2005
(65)
Prior Publication Data
US 2006/0106850 Al
May 18, 2006
Related U.S. Applicatiun Data
(60)
Provisional application No. 60/623,108, filed on Oct.
29,2004.
(51)
Int. Cl.
H04Q 7/20
U.S. Cl.
(52)
(2006.01)
. 455/456.1; 455/456.5; 455/433;
7011201; 7011209; 370/328
(58)
Field of Classification Search
455/456.1,
455/456.5,433; 370/328; 7011201,209
See application file for complete search history.
References Cited
(56)
U.S. PATENT DOCUMENTS
4,415,771
5,315,636
5,564,121
6,678,611
A * III 1983
A * 5/1994
A * 10/1996
B2
112004
Calculated
Martinez
Patel ....
Chow et al.
Khavakh et al.
Patent No.:
US 7,433,694 B2
Date of Patent:
Oct. 7,2008
379/43
379/201.07
455/25
5/2005 Eaton et al.
(Continued)
OTHER PUBLICATIONS
U.S. Appl. No. 111261,848, filed Oct. 25, 2005, Morgan et aI.
(Continued)
Primary Examiner-Danh C Le
(74) Attorney, Agent, or Firm-Wilmer Cutler Pickering Hale
& DorrLLP
(57)
ABSTRACT
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, periodically receive the GPS coordinates of the GPS device. While traversing the target area,
detecting Wi-Fi signals from Wi-Fi access points in range of
the Wi-Fi device and recording identity information of the
detected Wi-Fi access point in conjunction with GPS location
information of the vehicle when the detection of the Wi-Fi
access point was made. The location information is used to
reverse triangulate the position of the detected Wi-Fi access
point; and the position ofthe detected access point is recorded
in a reference database. A user-device having a Wi-Fi radio
may be located. A reference database of calculated locations
ofWi-Fi access points in a target area is provided.
2 Claims, 11 Drawing Sheets
Positioning with Re:f~I:etll~~~Jllmetry
loeationof
Access Points
602
calculated
Location of
User
603
GSHFED_0000041
US 7,433,694 B2
Page 2
u.s. PATENT DOCUMENTS
7,123,928
2004/0039520
2004/0058640
2004/0087317
2005/0037775
2006/0095348
2006/0095349
2006/0200843
2006/0217131
B2
10/2006 Moeglein et al.
Al * 2/2004 Khavakh et al.
701120 I
Al * 3/2004 Root et al.
455/3.01
5/2004 Caci
Al
Al
2/2005 Moeglein et al.
5/2006 Jones et al.
Al
Al
5/2006 Morgan et al.
Al
9/2006 Morgan et al.
Al
9/2006 Alizadeh-Shabdiz et al.
OTHER PUBLICATIONS
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.
"Delta Encoding", Wikipedia, retrieved from http://en.wikipedia.
org/wiki/Delta_encoding, Mar. 2006.
Griswold et aI., "ActiveCarnpus-Sustaining Educational Communities through Mobile Technology." UCSD CSE Technical Report
#CS200-0714, Jul. 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, Mar. 2006.
Kawabata, K., "Estimating Velocity Using Diversity Reception,"
IEEE, Mar. 1994.
Kim, M., et aI., "Risks ofusingAP locations discovered through war
driving," Lecture Notes in Computer Science, vol. 3968, Mar. 2006.
Kirsner, S., "One more way to find yourself." The Boston Globe, May
23, 2005. Retrieved from www.boston.com.
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 Progrannning 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, Oct. 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 ContinuousTome 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
GSHFED_0000042
~
7J).
•
,.., . .
Wi
~
802.11
j
access,.point
access point
:
···'·&?2.11
----3.'_..L'----"
1"'"'
~
~
102
!
102.. . ,
~
I
..........
802.11
.,../
../"
User DeVICe
. . . . . ..,.
~
....
802.11
/
/ //
/
/
//
I
Reference
Database
104!
I
I
I
' '- ,
L--!f--------lII::---....J
access point
102
I
I
i
Positioning
software
103
...................., r
~
t'--
101
.........
- -..- -..-
-.-..-..-
_
...l
.......
,..
~
.........
"
/
802.11
m
1°
o
o
o
o
o
~
Co)
access point
access point
102
QO
rJ'1
=-
('D
('D
....
....
....
....
....
o
102
d
r.n
......:J
~
W
W
CJ)
"T1
N
o
o
""
802.11
:::I:
~......:J
...
..../
G)
...
~
••••••••••• __••••••••••••••••••__•••••••• _••••••••• _•••••••••_ •• _._••••••••••••••••••••••••••••••••••••••'1
···'~I·
~
o
¥ .......
....
=
102
/
..
........
.,.
access point
~
0-.,
Figure 1
\C
~
=
N
~
7J).
•
GPS satelliite
..,GPS satellite
"
"
204
~
GPS satellite
204
"
~
204
~
~
=
~
Horizon
o
...
~
~......:J
N
802.11
/
access point!
203 /
802.11
access point
203
/
'"
o
o
QO
802.11
access point
203
rJ1
=-
('D
('D
....
N
o
....
....
....
d
r.n
Scanning Vehicle
201
G)
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
~
~
......:J
~
W
W
0-.,
Figure 2
\C
~
=
N
~
7J).
•
~
Figure 3: Example scanning scenario showing arterial bias
~
~
~
Calculated
location of
Access Point 303
=
~
•
~
~
o
...
~
802.11
Access Point
309
~......:J
N
~
o
o
c
ie -----------------------------,
QO
Street 306
Public Streets
'802;11
•
rJ1
'A~tess Point
=-
('D
('D
....
(,H
o
....
....
....
802. II
•
-S;';';;307mmmmmn
c-.
o
nmm_!'!:t~!?:?_~~________
Access Point
m
~-I
I
Scanning
Vehicle301
1 '~
i
d
r.n
......:J
G)
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
~
01
~
W
W
0-.,
\C
~
=
N
~
Figure _4: Chinese Postman routing
7J).
•
~
Calculated
location of
Access Point 403
~
~
~
=
~
~
802.1 i
, Access-Point, ,
:o~
~~,-;V
•
-----------------------------,
I -----------------------------,
802.1 1
Access Point
409
a -----------------------------',
o
...
~
~......:J
N
o
o
QO
Public Streets
rJ1
=-
('D
('D
.....
~
A
802.11
"Access Point
o
....
....
....
d
r.n
......:J
G)
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
~
en
~
W
W
0-.,
\C
~
=
N
~
7J).
Figure 5: Lack of Reference Symmetry
,
Calculated
location of
Access Points
502
•
~
_. ..---;-----;-----;-- <..........,~
~
I
~
~
=
~
....
.,........
....
\..
\
-------------- e
,
n
,
I
"
mnm
\
o
'.
\
\
m_mmmm_
...
~
~......:J
N
o
o
\
QO
I
\
I
)
Calculated
Location of
User
503
I
j
_____
----------------------------_. ~
__ /
//'
,.../
I
I
I
/
(j
"T1
m
1°
o
o
o
o
o
~
......
I
I
,
!O
..~. ;
;,
I
:::I:
Ul
o
....
....
....
I
nnnmmnn
I
CJ)
=-
....
m
,
I
I
G)
rJ1
('D
('D
......"
............................._ _..__
I
.
~.
...
/
\
i
Radio range
of user
device
d
r.n
......:J
~
W
W
0-.,
\C
~
=
N
~
7J).
•
Figure 6: Positioning with R~.fer.eIlee····£.yU!.!!1etry
Calculated
location of
Access Points
..> ,.~ •.• ~......
I
"
I
I
i
~
...' .....". . . ,
~
I
~
....
~
,.,..,..
602
=
....~
o o
Public Streets
~
\\
o
-----------------------------. lI!!IIlr~--~.",.
i
I
I
...
\
Calculated
Location of
User
\
\
603
'
\
\
J
"\."
.......
.............
~
I
I
I
I
I
:::I:
"T1
m
1°
o
o
o
o
o
~
00
/
rJ1
=-
('D
('D
....
0\
o
....
....
....
/
...../ ..
J ...-..
··..·· ··i:·..··..·· ·.._ , / / .
CJ)
o
o
--------------------~~----_.
./"
~.
-------~~------------------_.
...
G)
~......:J
N
I
1"'- - - - - - - - - - - - - - - . . . ,
0/
~
QO
i
o
o
...
I
I
I
I
I
RaUio range
of user
device
604
d
r.n
......:J
~
W
W
0-.,
\C
~
=
N
~
7J).
•
~
GPS satell:ite,
~
~
708
~
~
=
~
Horiz~
\
802.11
access point
i
It;;
-L
o
...
~
~......:J
N
802.11
\\
o
o
/
QO
access point/
707 i
/
\~
access point
707
Directional
Antennas
707
709
rJ1
=-
('D
('D
....
......:J
o
....
....
....
Figure 7: Client
Scanning Device
d
r.n
......:J
G)
CJ)
Scanning Vehicle 701
I
:::I:
"T1
m
1°
o
o
o
o
o
~
CD
j
~
W
W
0-.,
\C
~
=
N
~
7J).
•
Figure 8: Central Network Server
~
~
~
~
I
I
I
I
Fleet
Management
Module
Parser &
Filter
803
Scanning
Vehicles
801
I
: ..... ~
I···
•••
806
.••••• I
•
.···l...... I
Data
Communication +.
.::::...
Mo duIe
+..
Reverse
Triangulation
807
804
Regional
Data Pack
Builder
805
I
I········
•••••
I
...
/
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
01
o
~
o
...
~
~......:J
N
o
o
QO
rJ1
=-
('D
('D
....
QO
o
••.• I
Central
Network
Database
802
{
.. I h
....
....
....
I•••
Map
Builder
: ..... b-c}-J
808
I
I
G)
.
~
=
I
I
d
r.n
......:J
~
W
W
0-.,
\C
~
=
N
r·················..·······..···························
_
I
902
Request
Locatio1
802.11
I~
List of MAC addresses
and signal characteristics
903
!
j
Lookup MAC
addresses
!
i
Locations of known
access points
802.11
..
Beacon
Broadcast
~
Access
Points 904
Beacon
Probe
Radio
Scanner
~
7J).
•
Scan
Request
1
..
~
~
~
=
~
.......,
r
';/U)
Access
Point
Reference
'- Database
---
o
...
~
~......:J
N
o
o
QO
Location
Application
.....
901
Locator
906
~
List
Bad data
filter
907
Send
List
Location
Calculati on
908
Loca
Location
Smoothing
909
rJ1
=-
('D
('D
..
;
I
i
....
\0
o
....
....
....
!
i
i
i
Location delivered via API
,
,
..
COM
Port
Locaton delivered
via NMEA stream
._.
._._ •.__._•._ .•
G)
"T1
m
1°
o
o
o
o
o
01
....Jo.
...d
r.n
••_.__._._ •._. _••....••• _ ••.._.__.•.•_ •.__.
103
CJ)
:::I:
910
(911)
I
L_. __ •._ .
Application
interface
Figure 9: Positioning Software
.__•. _.__•
•..
..J
._.
......:J
~
W
W
0-.,
\C
~
=
N
~
7J).
~
~
EJ
EJ
•
Data Manage;:.,
r...:.l.=..OO::.:I:........_--"
System Manager 1002
~
~
~
~
GPS
Radio
GPS
Backup
Data
Recorder
1008
1006
Radio
Manager
1013
1012
Error
Handling
and Logging
=
~
1015
File
ManagerlOI
o
o
...
~
802.11
Radio
1007
User
Interface
Controller
Scanning
Data
Wi-Fi
Recorder
lOll
1009
System
Reset
~......:J
1016
o
o
1014
N
QO
rJ1
Upload Manager 1003
Hotspot
Detector
Create
Connection
1017
=-
Hotspot
Authenticatio
n
Upload &
VerifY Data
1021
1018
1019
Check
New Client
Version
1022
('D
('D
....
....
....
....
....
Install
New Version
o
o
1023
704
Central
Network
Server
1025
d
r.n
......:J
~
G)
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
01
I\)
W
W
Figure 10: Scanning Client
0-.,
\C
~
=
N
~
Random Scanning Model
Chinese Postman Scanning Model
7J).
•
~
~
~
x
~
Raw scanning
readings of
Access Point
1103
=
~
Raw scanning
readings of
Access Point
X
%
X
1106 X X
X
X
~
x
Xx
X
Xx
X
X
XX X
Calculated
position of
~ccess Point
Xxy 1102
X
X X x:x.
Xx
X
~~
X
¢
X
150 meters
X
X
X
Access
Point
1101
x
Calculated
position of
Access Point
ll05
X
X
X X
~
Error =
meters
~10
X
Access
Point
1104
X
X
0
~
x
X
X
X
l
X
X
X
X
X XX
X
XX
~......:J
N
0
0
QO
rJ1
=-
('D
('D
....
x
l
...
Xx X
X
X
....
....
0
....
....
....
*
l
d
r.n
......:J
X
~
G)
W
CJ)
:::I:
"T1
m
1°
o
o
o
o
o
01
Co)
x
Figure 11: comparison of scanning models
"'w
0'1
\C
~
=
N
US 7,433,694 B2
1
2
LOCATION BEACON DATABASE
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, Jan 2Hazas, M., Scott, J., Krurmn, 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 tacing this model are the cost ofthe 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 syrmnetry among the reference
points resulting in a calculated positioning well inland ofthe
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 cormnunity web sites. (See,
e.g., LaMarca, A., et. aI., 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
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
ofthese databases calculates the access point location differently and each with a rudimentary weighted average fonnula.
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 cormnercial offerings of
Wi-Fi location systems targeted at indoor positioning. (See,
CROSS-REFERENCE TO RELATED
APPLICATIONS
This application claims the benefit under 35 U.S.c. § 19(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:
Server for Updating Location Beacon Database;
Location-Based Services that Choose Location Algorithms Based on Number of Detected Access Points
Within Range of User Device; and
Method and System for Building a Location Beacon Database.
BACKGROUND
1. Field of the Invention
U.S. patent application Ser. No. 11/261,898, entitled
Server for Updating Location Beacon Database;
2. Discussion of Related Art
U.S. patent application Ser. No. 11/261,988, entitled Location-BasedServices 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.
The Global Positioning System (GPS) operated by the US
Govermnent 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
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 cormnunicate
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 infonnation about the clock offsets
ofthe GPS satellites and the general location ofthe user based
10
15
20
25
30
35
40
45
50
55
60
65
GSHFED_0000054
US 7,433,694 B2
3
4
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., Scoll, 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 environment 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 tor 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
scenarlO.
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-FiFoFnm. 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.
order of tens of miles is recorded in a computer-readable
medinm. It includes 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 of
the 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.
10
BRIEF DESCRIPTION OF DRAWINGS
15
20
25
30
35
40
DETAILED DESCRIPTION
45
50
Perfo11llance
Local Search/Advertising
E911
Tmn-by-turn driving directions
Gaming
Friend finders
Fleet management
Indoor asset tracking
Reliability
<100 meters 85% of the time
<150 meters 95% of the time
10-20 meters 95% of the time
<50 meters 90% of the time
<500 meters 80% of the time
<10 meters 95% of the time
<3 meters 95% of the time
55
60
SUMMARY
The invention provides a location beacon database and
server, method of building location beacon database, and
location based service using same.
Under another aspect ofthe invention, a database ofWi-Fi
access points for at least one target area having a radius on the
In the drawing,
FIG. 1 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;
FIG. 4 depicts an example using a prograntmatic 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-Pi access points according to certain embodiments of the invention;
FIG. 9 depicts an exemplary architecture of positioning
software according to certain embodiments ofthe 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.
65
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 of location
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-detennination 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.
GSHFED_0000055
US 7,433,694 B2
5
6
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 infonnation 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
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 detennines its geographic coordinates in the fonn
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 infonnation 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 infonnation 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 detennine 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 adj us ted 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 commnnicate 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.
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 perfonn 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 ofaccess 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.
10
15
20
25
30
35
40
45
50
Gathering of Scan Data to Build Reference Database
55
60
65
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 progrannnatic 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 scanning devices track the location of the scanning
vehicle every second using signal from GPS satellites [204].
GSHFED_0000056
US 7,433,694 B2
7
8
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 o[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
destination routes. A destination route is when a driver needs
to get from A to 13 and seeks the tastest 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 surronnding roads. In FIG. 3, arteries [304] and [305] are heavily
traversed by the scanning vehicles resulting in a healthy
amonnt 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 scanned 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] 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 scanning vehicle 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 Scanning 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 unifo= distribution of scan data for
access point 1104 than for access 1102. So the Chinese Postman Scanning model not only gathers more access points
unifo=ly across a target area but the resulting data produces
more accurate calculations of access point locations.
10
Higher Quality AP Locations
15
20
25
30
35
40
45
50
55
60
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
create a power proD.le representing the radio propagation o[
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 surrounding 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 conjunction with
the calculated access point location to drive high accuracy tor
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 dete=ine a device location merely by finding the
one position where the observed signal strengths match the
combined fingerprints. Preferred embodiments ofthis 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.
GSHFED_0000057
US 7,433,694 B2
9
10
ReferenceSyrrunetry
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
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 checks the Central Network Server to determine ifthere is a new version of the client software available
for the device. If there 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 enconnters 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 IlIa 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.11 b/g/n
operates using 14 channels of the nnlicensed 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.
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 syrrunetry 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 lackofsyrrunetry 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
range [604] of the device's 802.11 radio. The resulting position calculation [603 J 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
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
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 ofthat 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
10
15
20
25
30
35
40
45
50
55
60
65
GSHFED_0000058
US 7,433,694 B2
11
12
Central Network Server
If the corresponding recorded GPS location ofaccess point
i is denoted by {Lati , LongJ, and the calculated access point
location is denoted by {Lati , Long i }, the triangulated position
is found by applying the algorithm as follows:
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
data is evaluated for quality issues. In some cases the GPS
receiver may record erroneous or error records for some
period of time, 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% of the 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 1)
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:
n
.----RSS
j/lO Lati
.L ~ 10
Latu = ~i=:.:.1C-n
_
I
10
~
lO RSS;/10
i=l
.L ~ 10
n
15
.----RSSj/lO Long
Long = ~i=:.:.1_n
u
I
j
_
~ lO RSS;/10
i=l
20
25
The quad root of power is selected to ease the implementation of the algorithm, since quad root is synonymous to
taking two square roots.
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.,
~~
u C !.at;
30
l.atu = --.:;::.:~1~-----;===_
!~
i=l
35
~~
u C Long
j
Long = --.:i=::.:1'-----_===,----u
40
!~
i=l
45
50
55
60
65
The Parameter C can be any number and it does not impact
the results, theoretically. Since, the weighted average is based
on the ratio of the coefficients and not the absolute value,
theoretically, dividing all the coefficients by a constant value,
C, does not impact the results, but it changes the dynamic
range of the coefficient values.
This final {Lati , LongJ is then used as the final centroid
value for the location of that access point. The latitude and
longitude will then be stored in the database including a
timestamp to indicate the freshness of the triangulation calculation.
After the Central Network Database has been updated and
each access point has been repositioned, the Data Pack
Builder [805] creates subsets ofthe database based on regions
ofthe country or world. The pack builder facilitates distribution of the database for a variety of use cases in which only
region certain geographies are of interest. The pack builder is
configured with region coordinates representing countries,
time zones and metropolitan areas. Utilizing this technique a
user can download just the location data for the west coast of
the United States. The pack builder segments the data records
and then compresses them.
The Fleet Management Module [806] helps operations
personnel manage the scanning vehicles and ensure they are
GSHFED_0000059
US 7,433,694 B2
13
14
adhering the routing procedures. This module processes all
the scan data and builds the location track for each vehicle in
the system. The operations manager can create maps of the
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
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.
What is claimed is:
1. 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 of the Wi-Fi
access point at different locations around the Wi-Fi access
point so that the multiple readings avoid arterial bias in the
calculated position information ofthe Wi-Fi access point, and
wherein the database records for substantially all Wi-Fi
access points in the target area provide reference symmetry
within the target area.
2. The database of claim 1 having database records for a
plurality of target areas, said database records being organized by target areas.
10
15
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.
* * * * *
GSHFED_0000060
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?