Determining a location of a mobile device using a location database
First Claim
1. A computer-implemented method, comprising:
- receiving, by a server and from a mobile device, a request for updating a remote location database stored on the mobile device, the request including an identifier of a first wireless access point;
identifying, from a server location database, a center cell, the server location database storing a plurality of cells, each cell corresponding to a geographic grid and one or more access point locations, each access point location being associated with a wireless access point that is estimated to be located inside the corresponding geographic grid, the center cell being one of the cells that includes an access point location associated with the identifier of the first wireless access point;
determining, from the plurality of cells, one or more neighbor cells, each neighbor cell neighboring the center cell, a group of the center cell and the one or more neighbor cells covering a predetermined geographic area;
determining a set of one or more second wireless access points, each second wireless point being associated with an access point location that is estimated to be located in the center cell or the one or more neighbor cells; and
providing, by the server and to the mobile device as a response to the request, an identifier of each second wireless access point and a corresponding access point location of the second wireless access point for updating the remote location database, wherein the server comprises one or more computers.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, program products, and systems for determining a location of a mobile device using a location database are described. The mobile device can host the location database, which can store locations associated with access points. The locations can be distributed in a group of cells of a geographic grid. When the mobile device moves and connects to an access point associated with a location that is outside the group of cells, the mobile device can request an update of the location database. The mobile device can calculate a current location of the mobile device using current access points that are within a communication range of the mobile device by performing a lookup in the location database using identifiers of the current access points. The mobile device can calculate the current location using the locations corresponding to the current access points in the location database.
-
Citations
18 Claims
-
1. A computer-implemented method, comprising:
-
receiving, by a server and from a mobile device, a request for updating a remote location database stored on the mobile device, the request including an identifier of a first wireless access point; identifying, from a server location database, a center cell, the server location database storing a plurality of cells, each cell corresponding to a geographic grid and one or more access point locations, each access point location being associated with a wireless access point that is estimated to be located inside the corresponding geographic grid, the center cell being one of the cells that includes an access point location associated with the identifier of the first wireless access point; determining, from the plurality of cells, one or more neighbor cells, each neighbor cell neighboring the center cell, a group of the center cell and the one or more neighbor cells covering a predetermined geographic area; determining a set of one or more second wireless access points, each second wireless point being associated with an access point location that is estimated to be located in the center cell or the one or more neighbor cells; and providing, by the server and to the mobile device as a response to the request, an identifier of each second wireless access point and a corresponding access point location of the second wireless access point for updating the remote location database, wherein the server comprises one or more computers. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a server comprising one or more computers; a non-transitory storage device storing instructions operable to cause the server to perform operations comprising; receiving, from a mobile device, a request for updating a remote location database stored on the mobile device, the request including an identifier of a first wireless access point; identifying, from a server location database, a center cell, the server location database storing a plurality of cells, each cell corresponding to a geographic grid and one or more access point locations, each access point location being associated with a wireless access point that is estimated to be located inside the corresponding geographic grid, the center cell being one of the cells that includes an access point location associated with the identifier of the first wireless access point; determining, from the plurality of cells, one or more neighbor cells, each neighbor cell neighboring the center cell, a group of the center cell and the one or more neighbor cells covering a predetermined geographic area; determining a set of one or more second wireless access points, each second wireless point being associated with an access point location that is estimated to be located in the center cell or the one or more neighbor cells; and providing, to the mobile device as a response to the request, an identifier of each second wireless access point and a corresponding access point location of the second wireless access point for updating the remote location database. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory storage device storing instructions operable to cause a server to perform operations comprising:
-
receiving, from a mobile device, a request for updating a remote location database stored on the mobile device, the request including an identifier of a first wireless access point; identifying, from a server location database, a center cell, the server location database storing a plurality of cells, each cell corresponding to a geographic grid and one or more access point locations, each access point location being associated with a wireless access point that is estimated to be located inside the corresponding geographic grid, the center cell being one of the cells that includes an access point location associated with the identifier of the first wireless access point; determining, from the plurality of cells, one or more neighbor cells, each neighbor cell neighboring the center cell, a group of the center cell and the one or more neighbor cells covering a predetermined geographic area; determining a set of one or more second wireless access points, each second wireless point being associated with an access point location that is estimated to be located in the center cell or the one or more neighbor cells; and providing, to the mobile device as a response to the request, an identifier of each second wireless access point and a corresponding access point location of the second wireless access point for updating the remote location database. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification