Patent ID: 6792421
Filing Date: 2004-09-14
Classification: G06F,Y10S

Abstract:
A method of retrieving site data pertaining to one or more sites of a plurality of sites in a site set, wherein each site in said site set is located in a location space, wherein said location space is partitioned into cells so that each site in said site set is associated with exactly one cell, wherein site data pertaining to sites in said site set is contained in a site data repository, wherein said site data comprises a site identifier for each site, and wherein said method comprises the steps of:(a) generating at least one linkcell, each linkcell being a cell having at least one site associated therewith, wherein the location of each site in said location space is defined by one or more coordinates, wherein a cell identifier derived from said coordinates is assigned to each linkcell such that each cell identifier uniquely identifies the linkcell with which a site in said site set is associated from the location of the site, and wherein each linkcell is linked to at least one data table for storing site identifiers of sites associated with said linkcell; (b) receiving a user's location; (c) receiving a user request to retrieve site data pertaining to a specified number of sites closest to said user's location; (d) defining a core cell, wherein said core cell is in a searchable area defined in said location space; (e) defining a cursor cell, wherein said cursor cell traverses a path of cells in said searchable area starting with said core cell until either said cursor cell has traversed all of said searchable area or said cursor cell has traversed one or more predefined layers of cells containing at least the specified number of sites, and wherein the following substeps are performed: (1) deriving a cell identifier for each cell in said path traversed by said cursor cell, determining if there exists a linkcell to which the respective derived cell identifier has been assigned, and where so determined, identifying sites associated with that linkcell from the site identifiers stored in one or more data tables linked thereto, and (2) for each site identified in substep (1), determining storing the site identifier therefor and the distance between the user's location and the identified site and storing the site identifier therefor and said determined distance in a result table; (f) determining any additional linkcells in said searchable area that could have sites associated therewith that are closer to the user's location than any of the sites identified in step (e); (g) identifying sites associated with said any additional linkcells; (h) for each site associated with said any additional linkcells, determining the distance between the user's location and said site and storing the site identifier therefor and said determined distance in a said result table; (i) determining the specified number of sites closest to said user's location from the distances stored in said result table; (j) retrieving site data pertaining to the specified number of sites closest to said user's location determined in step (i); and (k) outputting site data retrieved in step (j)to a user.