USRE45750E1 - Data processing system using geographical locations - Google Patents

Data processing system using geographical locations Download PDF

Info

Publication number
USRE45750E1
USRE45750E1 US14/464,329 US201414464329A USRE45750E US RE45750 E1 USRE45750 E1 US RE45750E1 US 201414464329 A US201414464329 A US 201414464329A US RE45750 E USRE45750 E US RE45750E
Authority
US
United States
Prior art keywords
region
sub
allocated
owner
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US14/464,329
Inventor
Craig Morrison
Joel Cockrill
Johnathan Jones Morris
Robert Spaull
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Movix (UK) Ltd
Original Assignee
Movix (UK) Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Movix (UK) Ltd filed Critical Movix (UK) Ltd
Priority to US14/464,329 priority Critical patent/USRE45750E1/en
Application granted granted Critical
Publication of USRE45750E1 publication Critical patent/USRE45750E1/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • G06F17/30241
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • G06F17/30528

Definitions

  • This invention relates to a data processing system which can resolve DNS queries using geographical locations.
  • IP addresses and Uniform Resource Locators to identify data processing machines, domains and web pages, for example.
  • the Domain Name Service allows more easily understood names to be used to locate specific sites or pages, as opposed to 32 bit (IPv4) or 128 bit (IPv6) addresses.
  • IPv4 32 bit
  • IPv6 128 bit addresses.
  • the present invention concerns a system which uses similar technology to identify geographical locations and to allow easy access to content associated with such locations.
  • the invention provides a data processing system comprising data storage which stores coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth;
  • each region can be allocated to an owner and the data storage is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
  • the data processing system permits sub-allocation by an owner of an allocated region of at least one of: (i) a sub-region of the allocated region; (ii) an object within the allocated region; (ii) a sub-object of an object within the allocated region; (iv) an object within a sub-region of the allocated region; and (v) a sub-object of an object within a sub-region of the allocated region;
  • the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; and wherein the data processing system is configured to resolve a descriptor based DNS query
  • the data processing system is configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the owner domain allocated to that region.
  • the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the data processing system being further configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
  • each region, sub-region, object or sub-object is associated with a unique descriptive, location based, uniform resource locator.
  • the present invention provides a data processing system comprising data storage means which stores coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth;
  • each region can be allocated to an owner and the data storage means is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region; wherein sub-regions of an allocated region, and objects and sub-objects within an allocated region or within a sub-region of an allocated region, may be sub-allocated by an owner of that allocated region, and the data storage means is configured to store, in respect of any sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; and wherein the arrangement is such that the data processing system can resolve a descriptor based DNS query specifying a region, or a sub-region, object or sub-object of such a region, so as to return data comprising the network address for the owner domain allocated to that region.
  • the invention provides a method of processing data using a data processing system which comprises data storage means, the method comprising:
  • the invention provides a computer program product comprising instructions which when executed on data process apparatus comprising data storage will cause the data processing apparatus to carry out a method comprising the steps of:
  • a method comprising the steps of establishing, in data processing apparatus, a grid defining a plurality of regions of a space, storing coordinate data for regions and sub-regions, allocating ownership of a region to a party, storing domain data in respect of a domain specified by that party as associated with the allocated region, receiving a DNS query specifying a region or a sub-region, and resolving the query to return the domain data in respect of the domain specified by the party.
  • FIG. 1 is a schematic view of a data processing system in accordance with the invention
  • FIG. 2 is a view of a computer monitor on which is displayed a picture of the earth, with a geodesic grid superimposed;
  • FIG. 3 is a view of a computer monitor on which is displayed a picture of the earth, with the geodesic grid superimposed, at higher magnification than in FIG. 2 ;
  • FIG. 4 is a view of a computer monitor on which is displayed amore specific geographical region, with cells of a geodesic grid superimposed;
  • FIG. 5 is a view similar to FIG. 4 , showing a particular cell selected
  • FIG. 6 is a view showing the selected cell at greater magnification
  • FIG. 7 is a view showing sub-regions within the cell that have been allocated
  • FIG. 8 is a view similar to FIG. 7 , with the URL shown;
  • FIG. 9 is a view similar to FIG. 7 , showing sub-regions selected for purchase.
  • FIG. 10 is a view similar to FIG. 7 , showing how sub-regions and objects can be selected;
  • FIG. 11 shows how an owner can view details of, and administer, allocated regions and objects.
  • FIG. 12 is a diagram illustrating the parent/child relationship between triangles of a grid.
  • a method of processing data using a data processing system which comprises data storage means, the method comprising: storing in the data storage means coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth; allocating a region to an owner and storing in the data storage means, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region; in the event that sub-region of an allocated region, or an object or sub-object within an allocated region or within a sub-region of an allocated region, is sub-allocated by an owner of that allocated region, storing in the data storage means in respect of any such sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; receiving a descriptor based DNS query specifying
  • the coordinate data may be in any convenient form, for example using decimal coordinates as in a Global Positioning System (GPS) such as 51.500795-0.142264, or conventional latitude and longitude coordinates such as 51° 30′ 2.8614′′, 0° 8′ 32.1504′′ (both sets defining the location of Buckingham Palace, London).
  • GPS Global Positioning System
  • latitude and longitude coordinates such as 51° 30′ 2.8614′′, 0° 8′ 32.1504′′ (both sets defining the location of Buckingham Palace, London).
  • a triangular geodesic cell there would be, for example, three sets of coordinates defining three points of the triangle. However, there could be other ways of defining the coordinates, for example by starting with one set of coordinates for one point, and defining the directions and distances to the other two points. In general an equilateral triangle will be used. Other shapes of cell may also be used, with different numbers of points (corners) for example hexagonal or rectangular, if they can be fitted reasonably into
  • the regions need not be all of the same shape or size. For example, in a large expanse of sea a region may be larger than in a city. In the case of triangular cells, for example, there could be a single cell defining a region in an area of dense population and a plurality of cells, such as three or more, defining a region in an area such as the sea.
  • the unique identifier for a region could be the coordinate data or a value derived from the coordinate data. It could be an ID generated in another way, such as automatically as regions are identified or allocated. It a typical implementation of the invention there will be a table of region identifiers with their associated coordinate data
  • Hierarchical descriptor for a region.
  • the hierarchical descriptor provides means for identifying the region in a more understandable way. For example, the introductory part of descriptor for a region in London could be:
  • europe/england/london using a simple hierarchy of continent, country, and region such as a city or county. Then the descriptor will define the region more specifically, perhaps using a common name for the general area, or a major landmark in the area. For example, a cell which includes the Houses of Council and Riverside Abbey might be called “Westminster”. Such a designation for a region will not be a perfect fit—because in normal usage by the public areas are not defined with reference to a geodesic cell. A region designated as “Westminster” would not match the boundaries of the “City of Riverside”.
  • the choice of the final part of the descriptor for a region can be the responsibility of a person to whom the region is allocated. It should meet certain criteria, such as the whole descriptor being exclusive, but the final part of the descriptor does not have to be exclusive itself. For example, there could be two different cities with a region called “Chinatown”—one in “europe/england/london” and one in “united states/california/losangeles”. The descriptor does not have to include full words and thus the descriptor last mentioned could be “usa/ca/la”.
  • the hierarchical descriptor leading to the region will be determined by the provider of the system, and the descriptor for the region itself can be chosen by the allocated owner of that region.
  • the owner allocated to a region will normally host content relating to the region. That domain will have a network address and that is also stored by the system. In practice, there may be stored further address details, designating a sub-address, web page and so forth where the information is located.
  • an owner can sub-allocate regions and objects.
  • a sub-region can be any part of the region that the owner wishes to designate and is not restricted to, for example, a sub-cell of a geodesic grid.
  • a sub-region could be a post code or zip code, road, area and so forth.
  • objects and sub-objects such as buildings, other structures or landmarks. Examples could be “Westminster Abbey”, “Westminster Bridge”, “10 Downing Street”, “Houses of Parliament” and so forth.
  • Sub-objects for “Houses of Parliament” could be, for example, “House of Commons” and “House of Lords”.
  • the full hierarchical descriptor for the “House of Lords” could be:
  • the system operator When the owner of the region “Westminster” sub-allocates “Parliament Square” or “the House of Lords”, the system operator is advised and records the transaction and details concerning the sub-allocated sub-region, object or sub-object.
  • a person to whom a sub-region has been allocated may be designated as a sub-owner, with responsibility for the sub-allocation of further sub-regions, objects and sub-objects within that sub-region.
  • the data processing system may store data concerning such a sub-owner.
  • the data processing system serves to resolve descriptor based DNS queries, using a dedicated naming system This gives rise to a new URL protocol, for example ddd://. Accordingly, a link to the House of Lords could be in the form: ddd://ddd.europe.london.westminster/parliamentsquare/houses_of_parliament/house_of_lords.
  • This link could, for example, be used on web pages in respect of Riverside so as to re-direct a reader to information specifically concerning the House of Lords.
  • a search service in which users could input search terms and the possible results would be returned, for the user to select from. For example, a search for “Chinatown” could return two results—one for London and one for Los Angeles.
  • Such a link would be submitted to the data processing system in accordance with the invention, which would return the appropriate network address.
  • the content in respect of regions is the responsibility of the owners (and sub-owners) to whom the regions, sub-region, objects and sub-objects have been allocated.
  • the operators of the system could provide a filter system at the name resolution level, allowing content creators to prevent particular visitors seeing, or not seeing, particular content by means of flagging, marking or otherwise noting particular database entries which are deemed appropriate or inappropriate to certain viewers.
  • the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the data processing system being further configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
  • the data processing system could be provided by a single data processing machine, such as a server. However, in preferred embodiments the data processing system comprises a plurality of data processing machines. The data processing machines may be at a single location or may be distributed over a plurality of locations.
  • a cell within a geodesic grid is essentially two dimensional, consisting of part of a surface—although that surface is curved.
  • a three dimensional character For example, a floor of a building and an office on that floor could be designated:
  • a region is a cell of a geodesic grid applied to the surface of the earth
  • a region is a cell of a geodesic grid applied to the surface of a spherical or spheroidal body.
  • the principles invention are applied to other types of region, such as regions of space. In such a case, a region could be a portion of the surface of a sphere around the earth. A region could be defined by reference to a particular structure, such as a galaxy.
  • the invention is applicable to virtual environments as well as to real environments such as the earth. It is not necessary for there to be geodesic grid, for example, provided there is a way of identifying a region uniquely, for example using coordinates or in the case of a virtual environment using a unique identifier for a object which is the region.
  • a data processing system comprising data storage means which stores data defining a plurality of unique regions of a space; wherein each region can be allocated to an owner and the data storage means is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region; wherein sub-regions of an allocated region, and objects and sub-objects within an allocated region or within a sub-region of an allocated region, may be sub-allocated by an owner of that allocated region, and the data storage means is configured to store, in respect of any sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; and wherein the arrangement is such that the data processing system can resolve a descriptor based DNS query in respect of a region,
  • Embodiments of the invention may be put into effect by a computer program comprising instructions which when carried out by data processing apparatus will cause the data processing apparatus to be configured to operate as described above, or to carry out a method as described above.
  • the computer program could be provided on a data storage device such a CD. DVD, solid state memory module or the like, or may be provided from a remote location as a download over a suitable communications link such as a WAN. LAN or the Internet.
  • a hierarchical descriptor for a region is stored by the data processing means. For a given region, this may be done in various ways but in general it is preferred that the individual record for a region does not contain the full descriptor data such as
  • europe.london.westminster For example a database may store geographical data in a hierarchical manner, with associated ID's—for example the top level could be continents, then countries and so forth. The record for a particular region could then contain the ID's for the higher levels that it is in. The descriptor for that particular region (such as “Westminster”) could be stored in the data for that region. Alternatively, it could be stored on the main geographical database, and an ID for the region stored on the record.
  • a region or sub-region can be linked to an external location.
  • a registered triangle or subdivided triangle may be used as a type of geo-link to an external internet based resource.
  • a company may purchase a triangle and use the triangle as a link to their word wide web based corporate website; or a rock band may purchase a subdivision of a triangle, such as the area of a stadium and link it to their MyspaceTM/FacebookTM/YouTubeTM pages or other internet resource; or a photographer may purchase a triangle or subdivided area of a national park and link it to a photography portfolio on an image hosting service.
  • the purchased regions or sub-regions can be keyword tagged.
  • the user when visiting one of the above scenarios, the user is re-directed to the chosen internet resource, thus creating a type of geo-location based hyperlink and locational/regional keyword searching tool.
  • the platform in accordance with the invention can display different layers or “worlds” allowing different types of user interaction or viewing.
  • the platform can combine alternate databases to display layers or parallel worlds in addition to, or as an alternative to, the main database. For example:
  • FIG. 1 a data processing system configured to implement the present invention.
  • the servers and clients in the system may be specific of general purpose computers, running an operating system and application programs. Each will typically include a central processing unit including a processor, random access memory, read only memory, a non volatile bulk storage device such as a hard drive, an output device such as a monitor, and one or more input devices such as a keyboard and mouse.
  • the clients and servers may have network interfaces.
  • Each server indicated in FIG. 1 may consist of one or more physical machines and/or virtual machines, which may be in the same location or distributed over a plurality of locations.
  • An operator of the system has a central name database server 1 and an owner database serve 2 , which communicate over a local area network, LAN 3 .
  • These access servers 5 and 6 are also connected to the Internet 7 .
  • An owner to whom a region has been allocated has an owner server 8 connected to the Internet 7 , a local name database server 9 connected to the owner server, and an owner admin client 10 connected to both servers.
  • a user client 10 is connected to the Internet 7 , and may communicate with the public access server 6 and the owner server 8 .
  • URI uniform resource identifier
  • URN uniform resource name
  • FIG. 2 shows how an image of the earth 12 is divided into regions by a geodesic grid 13 , the image being displayed on a computer monitor 14 .
  • FIG. 3 shows an enlarged view, with the level of zoom being adjusted by a zoom control 15 .
  • FIG. 4 shows a zoomed-in view, looking at a region 16 of a city with triangular cells of the geodesic grid 13 superimposed.
  • a particular cell, such as cell 17 shown highlighted in FIG. 5 , and in single cell view in FIG. 6 will be identified by means of the coordinates of the three coordinates of the triangle.
  • This data is stored in the central name database. Also stored in the central name database is a “user-friendly” descriptive identifier for the region designated by the cell, using a hierarchical system.
  • the full hierarchical descriptor for the cell may be: usa.ny.ny/eastst.
  • this full hierarchical descriptor using abbreviations, there may also be provided a label using more colloquial language and omitting the full hierarchy, such as “East Street, New York”, as shown by way of example on FIGS. 5 and 6 .
  • the main cell 17 shown in FIG. 6 has been allocated to an owner, who was responsible for choosing the name “East Street” in respect of this cell.
  • the owner database stores information about ownership of the cell, and the chosen name is stored in the central name database.
  • the user of the user client 11 can view a model of the earth, rotate and zoom to identify a general region, and then by clicking on appropriate portions of the screen, drill down to a particular region.
  • an application similar to Google EarthTM could be running on the user client.
  • the cells can be identifiable my means of linking to the public access server 6 and the central name database server 1 .
  • the individual cells are “active, so that a user can click on a cell and obtain information about that cell, such as the name as shown in FIGS. 5 and 6 .
  • FIG. 7 shows how further information about a cell can be displayed, by selecting a suitable option.
  • the total area of the cell 17 is shown, in this case 10,000 m 2 .
  • the owner of the cell has also sub-allocated regions of the cell 17 , as shown by sub-regions indicted at 18 by way of example.
  • the display shows the sub-cells that have been allocated, and also shows the remaining area within cell 17 that is available for sub-allocation.
  • FIG. 8 is similar to FIG. 7 , but shows the URL of the cell 17 .
  • FIG. 9 shows how a number of sub-cells 19 have been selected.
  • the display indicates the area of the selected region, the price that the owner is charging, and the total price for being allocated these sub-cells. It is not necessary to for a user to select grid cells, although in the preferred embodiment the grid is infinitely scalable and thus versatile. It is possible to designate objects within a cell, such as streets, buildings, and even individual offices within buildings. It is also possible to select a sub-region my means of drawing a path around a region, which may be regular (such as rectangular, another polygon, or circular) or irregular.
  • a region so marked may then be divided up into a suitable number of small sub-cells.
  • a region 20 designated by a path 21 and then divided into triangular sub-cells 22 by the system is shown in FIG. 10 .
  • the owner of a main cell uses a content management system to view information about the cell, record details about any transactions and so forth.
  • a content management system to view information about the cell, record details about any transactions and so forth.
  • the owner may view and/or input information on a screen such as that shown in FIG. 11 .
  • the owner of a cell, or of a sub-region, object or sub-object within a cell may link information to that property.
  • the “owner” of the Statue of Liberty in New York might be a commercial organisation which organises boat trips to visit the Statue of Liberty, or a non-commercial organisation which provides historical and other information about the Statue of Liberty.
  • each basic equilateral triangular cell has an area of approximately 10,000 square metres, representing a triangle side of approximately 152 metres.
  • the system provides a calculator which allows an owner to assign any price for any size of area within a cell or group of cells.
  • An area to be sub-allocated can be delineated by the use of a simple marquee tool or similar, allowing the selection of irregularly shaped areas.
  • the area of a selected space may be calculated at a predefined price per square metre, and payment is made through an integrated e-commerce system, after which ownership of the area is assigned to the new user in the central owner database. In the course of this transaction, the operator may take a percentage based commission for registration of the transaction in the database.
  • the system could be operated using a mobile device such as a phone or portable digital assistant (PDA) enabled with a global positioning service.
  • PDA portable digital assistant
  • This could provide a proximity system, employing push notification, to provide a user with information on the availability of land areas for sale within the central database, which are within a certain, predefined distance from the users current location, and are within certain parameters set by the user. For example, a user may set the device to update on areas for sale within a 1 kilometre radius, under the price of $5.00 per square metre with at least a footprint area of 800 square metres. This provides an alternative to dealing with everything in a virtual environment. Instead of just looking at images on a screen, a user occupies a real space and looks then at nearby areas available.
  • the system could use a publicly owned and locally hosted database.
  • An interface for accessing the system may be capable of being navigated in a non-language based (i.e. purely visual) manner.
  • a touch screen technology interface will facilitate simple operation on hand held devices such as PDA's or mobile phones.
  • a process could be:
  • Searches for content can be exclusive and limited to the boundaries of the current cell
  • the above example uses three touches and one or two open up actions. This is convenient, visual and non language based navigation.
  • a purchaser can use a simple way of selecting any number of cells in the grid in any shape they want—for example by using a marquee tool, rather than just bisections of triangles.
  • a purchaser When a purchaser buys a cell, they can become an administrator of that cell (if they wish) and may be provided with content management software which provides various options for buying and selling other cells within the main cell, setting the prices for those cells, subdividing and joining cells, and so forth.
  • This software would be linked to the main database of the operator of the system and would immediately update the system should any changes be made, such as changes of ownership, pricing and calculation of any commission payable to the system operator for sales.
  • the application can generate default but individual names for any newly generated subsets of cells within an area, or allow the owner to set names for these new cells.
  • This software is preferably capable of running as an application on a portable hand-held device.
  • a cash transaction system for buying/selling cells could use a local currency converter, and allow the user to have various methods for quickly calculating the cost per square metre when selecting an area to purchase, or to set this price when selling cells. Subsequent purchasers of a group of cells can also use this calculator to set the price of cells—increasing or decreasing it as they wish. For example, someone buys a 1 Km 2 triangular cell area of coastline at the standard price of $9.99. They then offer approximately half these cells (the sea) for sale at $5.00 per m 2 , but the land for sale at $100.00 per m 2 . A line can be drawn across the cell using the marquee tool following the coastline where it bisects the cell to separate the two price bands.
  • the calculator quickly works out the number of cells in each price band, updates the central database with this information, and shows this area as available and at what price within the main application.
  • the calculator can also allow for an owner to sell cells by auction of various types (private, open, sealed bid etc.) to set reserve prices and start and end dates for the auction.
  • the main operator of the system does not host any of the content.
  • Hosting is provided either by the users themselves or through 3 rd party hosting companies.
  • an owner may receive the following:
  • a content management application to control transactions, and to sub-divide and rename areas of cells.
  • the grid consists of a database of registration details indexed by a hierarchical geodesic subdivision of a sphere overlaid on to the Earth.
  • One system utilises the GIS extensions of MySQLTTM to store a geometric representation of the grid as a spatial index.
  • the database is seeded with a set of triangles each approximately 0.9 km square.
  • the system requires that the entire grid is generated and stored regardless of whether a triangle has data associated with it or not. This results in the vast majority of the data being redundant. This redundancy increases as the triangles are subdivided because each subdivision yields, for example, four new triangles and it is possible that only one of these will have data attached.
  • An alternative proposal is to replace the static storage of geometric data with a process which generates the data in response to search requests.
  • the preferred grid in some embodiments is created through repeated subdivision of a “seed” octahedron.
  • the octahedron is initially divided into eight triangles. These may have unique identifiers 0, 1, 2, 3, 4, 5, 6 and 7. There can then be repeated subdivisions of each triangle into four new triangles, each of which has a unique index of 0, 1, 2 or 3. This index is appended to the parent id to form a unique identifier for that triangle.
  • id 0 of an octagon. This is subdivided into four triangles with id's 00 , 01 , 02 and 03 .
  • Triangle 01 can then be subdivided into a further four triangles 010 , 011 , 012 and 013 .
  • Triangle 011 can then be subdivided into triangles 0110 , 0111 , 0112 and 0113 .
  • Triangle 0111 can then be subdivided into triangles 01110 , 01111 , 01112 and 01113 .
  • the process can continue with subdivision into as small a set of four triangles as is desired.
  • identifier generation implicitly links each triangle to its parent, since removing the final digit of the id of a triangle will yield the parent id. It will be appreciated that id of a base triangle in an octagon will also be preceded by a unique identifier for that octagon, which again can be provided in a hierarchical manner.
  • Client Software Requests Triangles are generated in response to two primary requests from the client software. These are POINT and AREA.
  • POINT consists of a coordinate (expressed as latitude, longitude), and is generated a result of a user selection (click) within the grid.
  • the results of a search initiated by this request are used to display or update the data associated with the selected triangle.
  • AREA consists of two coordinates (expressed as south west and north east) which represent a rectangle. This is generated when an area of the grid is exposed by panning or zooming by the user. The results of searches initiated by this request are used to render the grid in the client server response to the POINT Request.
  • the process starts with the seed octahedron as described above.
  • the requested subdivision level can be numerically specified in the request or implied by a condition such as the first level with associated data.
  • the next step is to find the triangle containing POINT. If the requested subdivision level is reached then the process returns to search using the triangle id. Otherwise, the process subdivides the current triangle and return to the AREA Request.
  • the process then again starts with the seed octahedron, and the level of detail can be fixed or specified in the request.
  • the process finds all triangles intersecting the AREA. If the requested level of detail is reached, then the process returns to triangles. Otherwise, for each triangle the process subdivides and return. Both of these methods allow for an infinitely variable resolution grid.
  • a system in which regions and sub regions are defined using a grid of top level parent triangles each having a unique identifier, each top level parent triangle being repeatedly sub-divisible into four lower level triangles in a cascading parent/child relationship, wherein each lower level triangle has a unique identifier comprising the unique identifier of its parent triangle and an identifier to distinguish it from the other three children of that parent triangle.
  • the top level parent triangles are arranged in groups of eight forming an octagon, each top level parent triangle in an octagon having a unique identifier which comprises a unique identifier for the octagon and an identifier to distinguish it from the other seven triangles in that octagon.
  • the octagons and the triangles may be part of a geodesic grid, for example one in respect of the surface of the earth.

Abstract

A data processing system (1,2) stores coordinate data defining a plurality of unique regions (17), for example defined by a cell of a geodesic grid (13) applied to the surface of the earth (12). Each region can be allocated to an owner and there is stored a unique identifier for that region, a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region. An owner of a region may sub-allocate sub-regions (18) or objects of an allocated region and there is stored in respect of any sub-region or object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region or object. The data processing system can resolve a descriptor based DNS query specifying a region, or a sub-region, or object of such a region, so as to return data comprising the network address for the owner domain allocated to that region.

Description

FIELD OF THE INVENTION
This invention relates to a data processing system which can resolve DNS queries using geographical locations.
BACKGROUND TO THE INVENTION
Current Internet protocols provide IP addresses and Uniform Resource Locators to identify data processing machines, domains and web pages, for example. The Domain Name Service allows more easily understood names to be used to locate specific sites or pages, as opposed to 32 bit (IPv4) or 128 bit (IPv6) addresses. The present invention concerns a system which uses similar technology to identify geographical locations and to allow easy access to content associated with such locations.
SUMMARY OF THE INVENTION
Viewed from one aspect, the invention provides a data processing system comprising data storage which stores coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth;
wherein each region can be allocated to an owner and the data storage is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
the data processing system permits sub-allocation by an owner of an allocated region of at least one of: (i) a sub-region of the allocated region; (ii) an object within the allocated region; (ii) a sub-object of an object within the allocated region; (iv) an object within a sub-region of the allocated region; and (v) a sub-object of an object within a sub-region of the allocated region;
the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
and wherein the data processing system is configured to resolve a descriptor based DNS query specifying a region, so as to return data comprising the network address for the owner domain allocated to that region.
In some embodiments the data processing system is configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the owner domain allocated to that region.
In some embodiments, the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the data processing system being further configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
In some embodiments, each region, sub-region, object or sub-object is associated with a unique descriptive, location based, uniform resource locator.
Viewed from another aspect the present invention provides a data processing system comprising data storage means which stores coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth;
wherein each region can be allocated to an owner and the data storage means is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
wherein sub-regions of an allocated region, and objects and sub-objects within an allocated region or within a sub-region of an allocated region, may be sub-allocated by an owner of that allocated region, and the data storage means is configured to store, in respect of any sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
and wherein the arrangement is such that the data processing system can resolve a descriptor based DNS query specifying a region, or a sub-region, object or sub-object of such a region, so as to return data comprising the network address for the owner domain allocated to that region.
Viewed from another aspect, the invention provides a method of processing data using a data processing system which comprises data storage means, the method comprising:
storing in the data storage means data defining a plurality of unique regions of a space;
allocating a region to an owner and storing in the data storage means, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
in the event that sub-region of an allocated region, or an object or sub-object within an allocated region or within a sub-region of an allocated region, is sub-allocated by an owner of that allocated region, storing in the data storage means in respect of any such sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
receiving a descriptor based DNS query specifying a region, or a sub-region, object or sub-object of such a region, and using the data processing means to resolve the query and to return data comprising the network address for the owner domain allocated to that region.
Viewed from another aspect, the invention provides a computer program product comprising instructions which when executed on data process apparatus comprising data storage will cause the data processing apparatus to carry out a method comprising the steps of:
storing in the data storage, data defining a plurality of unique regions of a space;
allocating a region to an owner and storing in the data storage, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
in the event that sub-region of an allocated region, or an object or sub-object within an allocated region or within a sub-region of an allocated region, is sub-allocated by an owner of that allocated region, storing in the data storage, in respect of any such sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
receiving a descriptor based DNS query specifying a region, or a sub-region, object or sub-object of such a region, and resolving the query to return data comprising the network address for the owner domain allocated to that region.
Viewed from another aspect of the invention there is provided a method comprising the steps of establishing, in data processing apparatus, a grid defining a plurality of regions of a space, storing coordinate data for regions and sub-regions, allocating ownership of a region to a party, storing domain data in respect of a domain specified by that party as associated with the allocated region, receiving a DNS query specifying a region or a sub-region, and resolving the query to return the domain data in respect of the domain specified by the party.
BRIEF DESCRIPTION OF THE DRAWINGS
Some embodiments of the invention will now be described by way of example, and with reference to the accompanying drawings, in which:
FIG. 1 is a schematic view of a data processing system in accordance with the invention;
FIG. 2 is a view of a computer monitor on which is displayed a picture of the earth, with a geodesic grid superimposed;
FIG. 3 is a view of a computer monitor on which is displayed a picture of the earth, with the geodesic grid superimposed, at higher magnification than in FIG. 2;
FIG. 4 is a view of a computer monitor on which is displayed amore specific geographical region, with cells of a geodesic grid superimposed;
FIG. 5 is a view similar to FIG. 4, showing a particular cell selected;
FIG. 6 is a view showing the selected cell at greater magnification;
FIG. 7 is a view showing sub-regions within the cell that have been allocated;
FIG. 8 is a view similar to FIG. 7, with the URL shown;
FIG. 9 is a view similar to FIG. 7, showing sub-regions selected for purchase;
FIG. 10 is a view similar to FIG. 7, showing how sub-regions and objects can be selected;
FIG. 11 shows how an owner can view details of, and administer, allocated regions and objects; and
FIG. 12 is a diagram illustrating the parent/child relationship between triangles of a grid.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
In some preferred embodiments, there is provided a method of processing data using a data processing system which comprises data storage means, the method comprising: storing in the data storage means coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth; allocating a region to an owner and storing in the data storage means, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region; in the event that sub-region of an allocated region, or an object or sub-object within an allocated region or within a sub-region of an allocated region, is sub-allocated by an owner of that allocated region, storing in the data storage means in respect of any such sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; receiving a descriptor based DNS query specifying a region, or a sub-region, object or sub-object of such a region, and using the data processing means to resolve the query and to return data comprising the network address for the owner domain allocated to that region.
The coordinate data may be in any convenient form, for example using decimal coordinates as in a Global Positioning System (GPS) such as 51.500795-0.142264, or conventional latitude and longitude coordinates such as 51° 30′ 2.8614″, 0° 8′ 32.1504″ (both sets defining the location of Buckingham Palace, London). For a triangular geodesic cell there would be, for example, three sets of coordinates defining three points of the triangle. However, there could be other ways of defining the coordinates, for example by starting with one set of coordinates for one point, and defining the directions and distances to the other two points. In general an equilateral triangle will be used. Other shapes of cell may also be used, with different numbers of points (corners) for example hexagonal or rectangular, if they can be fitted reasonably into a geodesic grid.
The regions need not be all of the same shape or size. For example, in a large expanse of sea a region may be larger than in a city. In the case of triangular cells, for example, there could be a single cell defining a region in an area of dense population and a plurality of cells, such as three or more, defining a region in an area such as the sea.
The unique identifier for a region could be the coordinate data or a value derived from the coordinate data. It could be an ID generated in another way, such as automatically as regions are identified or allocated. It a typical implementation of the invention there will be a table of region identifiers with their associated coordinate data
There will also be an associated hierarchical descriptor for a region. For example, a triangular geodesic cell in respect of an area of London—perhaps with an area of approximately 1 square kilometre—would be defined by coordinates and would have a unique identifier such as an ID of integer form. Such an identifier does not explain to a user where a region may be. The hierarchical descriptor provides means for identifying the region in a more understandable way. For example, the introductory part of descriptor for a region in London could be:
europe/england/london, using a simple hierarchy of continent, country, and region such as a city or county. Then the descriptor will define the region more specifically, perhaps using a common name for the general area, or a major landmark in the area. For example, a cell which includes the Houses of Parliament and Westminster Abbey might be called “Westminster”. Such a designation for a region will not be a perfect fit—because in normal usage by the public areas are not defined with reference to a geodesic cell. A region designated as “Westminster” would not match the boundaries of the “City of Westminster”.
The choice of the final part of the descriptor for a region can be the responsibility of a person to whom the region is allocated. It should meet certain criteria, such as the whole descriptor being exclusive, but the final part of the descriptor does not have to be exclusive itself. For example, there could be two different cities with a region called “Chinatown”—one in “europe/england/london” and one in “united states/california/losangeles”. The descriptor does not have to include full words and thus the descriptor last mentioned could be “usa/ca/la”. In some preferred embodiments of the invention, the hierarchical descriptor leading to the region will be determined by the provider of the system, and the descriptor for the region itself can be chosen by the allocated owner of that region.
The owner allocated to a region will normally host content relating to the region. That domain will have a network address and that is also stored by the system. In practice, there may be stored further address details, designating a sub-address, web page and so forth where the information is located.
Within an allocated region, an owner can sub-allocate regions and objects. A sub-region can be any part of the region that the owner wishes to designate and is not restricted to, for example, a sub-cell of a geodesic grid. A sub-region could be a post code or zip code, road, area and so forth. In the case of a region “Westminster” in London, there could be sub regions of “Parliament Square”, “Downing Street” and so forth. Within the region or a sub-region there could be designated objects and sub-objects, such as buildings, other structures or landmarks. Examples could be “Westminster Abbey”, “Westminster Bridge”, “10 Downing Street”, “Houses of Parliament” and so forth. Sub-objects for “Houses of Parliament” could be, for example, “House of Commons” and “House of Lords”. Thus, the full hierarchical descriptor for the “House of Lords” could be:
europe/england/london/westminster/parliament square/houses of parliament/house of lords”.
When the owner of the region “Westminster” sub-allocates “Parliament Square” or “the House of Lords”, the system operator is advised and records the transaction and details concerning the sub-allocated sub-region, object or sub-object. A person to whom a sub-region has been allocated may be designated as a sub-owner, with responsibility for the sub-allocation of further sub-regions, objects and sub-objects within that sub-region. The data processing system may store data concerning such a sub-owner.
The data processing system serves to resolve descriptor based DNS queries, using a dedicated naming system This gives rise to a new URL protocol, for example ddd://. Accordingly, a link to the House of Lords could be in the form: ddd://ddd.europe.london.westminster/parliamentsquare/houses_of_parliament/house_of_lords.
This link could, for example, be used on web pages in respect of Westminster so as to re-direct a reader to information specifically concerning the House of Lords. Alternatively there could a be a search service, in which users could input search terms and the possible results would be returned, for the user to select from. For example, a search for “Chinatown” could return two results—one for London and one for Los Angeles.
Such a link would be submitted to the data processing system in accordance with the invention, which would return the appropriate network address.
In preferred embodiments, the content in respect of regions is the responsibility of the owners (and sub-owners) to whom the regions, sub-region, objects and sub-objects have been allocated. However, there may be conditions imposed by the operator of the system. to ensure that the content is within guidelines concerning content type, decency, quality and so forth. In some embodiments, the operators of the system could provide a filter system at the name resolution level, allowing content creators to prevent particular visitors seeing, or not seeing, particular content by means of flagging, marking or otherwise noting particular database entries which are deemed appropriate or inappropriate to certain viewers.
As an alternative to the owner of a region being responsible for linking to the domains associated with sub-allocated sub-regions, objects or sub-objects, in some embodiments, the data processing system is configured to store in the data storage, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the data processing system being further configured to resolve a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
The data processing system could be provided by a single data processing machine, such as a server. However, in preferred embodiments the data processing system comprises a plurality of data processing machines. The data processing machines may be at a single location or may be distributed over a plurality of locations.
These data processing machines need not necessarily be owned by the operators of the system, but the system connects these remote machines to the central database.
A cell within a geodesic grid is essentially two dimensional, consisting of part of a surface—although that surface is curved. By the use of sub-regions, objects and sub-objects, it is possible to introduce a three dimensional character. For example, a floor of a building and an office on that floor could be designated:
europe/england/oxford/staldates/59/floor3/dehns
Whilst some embodiments of the invention concern the earth, the principles can be applied to other objects of similar form such as the moon, other planets, the sun or other stars. Thus, in accordance with some embodiments of the invention there is provided a data processing system as set out above, but instead of a region being a cell of a geodesic grid applied to the surface of the earth, a region is a cell of a geodesic grid applied to the surface of a spherical or spheroidal body. In some embodiments, the principles invention are applied to other types of region, such as regions of space. In such a case, a region could be a portion of the surface of a sphere around the earth. A region could be defined by reference to a particular structure, such as a galaxy. In general terms the invention is applicable to virtual environments as well as to real environments such as the earth. It is not necessary for there to be geodesic grid, for example, provided there is a way of identifying a region uniquely, for example using coordinates or in the case of a virtual environment using a unique identifier for a object which is the region.
Thus, in accordance with some embodiments of the inventions there is provided a data processing system comprising data storage means which stores data defining a plurality of unique regions of a space; wherein each region can be allocated to an owner and the data storage means is configured to store, in respect of an allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region; wherein sub-regions of an allocated region, and objects and sub-objects within an allocated region or within a sub-region of an allocated region, may be sub-allocated by an owner of that allocated region, and the data storage means is configured to store, in respect of any sub-region, object or sub-object that has been sub-allocated by an owner, an identifier and a hierarchical descriptor for that sub-region, object or sub-object; and wherein the arrangement is such that the data processing system can resolve a descriptor based DNS query in respect of a region, or a sub-region, object or sub-object of such a region, so as to return data comprising the network address for the owner domain allocated to that region.
Embodiments of the invention may be put into effect by a computer program comprising instructions which when carried out by data processing apparatus will cause the data processing apparatus to be configured to operate as described above, or to carry out a method as described above. The computer program could be provided on a data storage device such a CD. DVD, solid state memory module or the like, or may be provided from a remote location as a download over a suitable communications link such as a WAN. LAN or the Internet.
In accordance with various embodiments of the invention, a hierarchical descriptor for a region is stored by the data processing means. For a given region, this may be done in various ways but in general it is preferred that the individual record for a region does not contain the full descriptor data such as
“europe.london.westminster”. For example a database may store geographical data in a hierarchical manner, with associated ID's—for example the top level could be continents, then countries and so forth. The record for a particular region could then contain the ID's for the higher levels that it is in. The descriptor for that particular region (such as “Westminster”) could be stored in the data for that region. Alternatively, it could be stored on the main geographical database, and an ID for the region stored on the record.
In some embodiments of the invention, a region or sub-region can be linked to an external location. Thus, a registered triangle or subdivided triangle may be used as a type of geo-link to an external internet based resource. For example, in some possible scenarios a company may purchase a triangle and use the triangle as a link to their word wide web based corporate website; or a rock band may purchase a subdivision of a triangle, such as the area of a stadium and link it to their Myspace™/Facebook™/YouTube™ pages or other internet resource; or a photographer may purchase a triangle or subdivided area of a national park and link it to a photography portfolio on an image hosting service.
The purchased regions or sub-regions can be keyword tagged. Thus, when visiting one of the above scenarios, the user is re-directed to the chosen internet resource, thus creating a type of geo-location based hyperlink and locational/regional keyword searching tool.
In some embodiments the platform in accordance with the invention can display different layers or “worlds” allowing different types of user interaction or viewing. By switching the main database from the standard database to one focussed on, for example, gaming, commerce or information accessibility, a variety of other possible worlds become available. The platform can combine alternate databases to display layers or parallel worlds in addition to, or as an alternative to, the main database. For example:
    • A news and current affairs database may allow real-time reporting or illustration of global, national or localised event containing data relevant to the news local.
    • A secure military database may allow real time combat analysis or strategic planning to be displayed.
    • A free access database may provide open access to public information or academic research.
    • A database of statistics may be overlaid to display population, land value, or other scientific data.
    • A satellite navigation database of roads, locations, landmarks and buildings may be overlaid over the main database or other database.
    • A “visually impaired” layer may be used to provide clearer, simplified visual feedback as well as extended functionality for visually impaired users, such as audio or haptic feedback.
Users can choose to enter into any available “parallel world/database” or toggle on/off any layers they wish or do not wish to see. Layers and parallel databases can be filtered according to user preference.
Referring now in detail to the drawings, in FIG. 1 there is shown a data processing system configured to implement the present invention. The servers and clients in the system may be specific of general purpose computers, running an operating system and application programs. Each will typically include a central processing unit including a processor, random access memory, read only memory, a non volatile bulk storage device such as a hard drive, an output device such as a monitor, and one or more input devices such as a keyboard and mouse. The clients and servers may have network interfaces. Each server indicated in FIG. 1 may consist of one or more physical machines and/or virtual machines, which may be in the same location or distributed over a plurality of locations.
An operator of the system has a central name database server 1 and an owner database serve 2, which communicate over a local area network, LAN 3. There is and administration client 4 also connected to the LAN 3, for administration of the system by an administrator. There are also an owner access server 5, for use by owners who have been allocated regions and a public access server for use by the general public, for example in a name lookup operation, also connected to the LAN 3. These access servers 5 and 6 are also connected to the Internet 7. An owner to whom a region has been allocated has an owner server 8 connected to the Internet 7, a local name database server 9 connected to the owner server, and an owner admin client 10 connected to both servers. A user client 10 is connected to the Internet 7, and may communicate with the public access server 6 and the owner server 8. URI (uniform resource identifier) requests for server addresses for particular regions are sent from the user client 10 to the public access server and requests resolved so that the server address is returned. URN (uniform resource name) requests in respect of particular objects within a region are sent by the user client 11 to the owner server 8.
FIG. 2 shows how an image of the earth 12 is divided into regions by a geodesic grid 13, the image being displayed on a computer monitor 14. FIG. 3 shows an enlarged view, with the level of zoom being adjusted by a zoom control 15. FIG. 4 shows a zoomed-in view, looking at a region 16 of a city with triangular cells of the geodesic grid 13 superimposed. A particular cell, such as cell 17 shown highlighted in FIG. 5, and in single cell view in FIG. 6, will be identified by means of the coordinates of the three coordinates of the triangle. This data is stored in the central name database. Also stored in the central name database is a “user-friendly” descriptive identifier for the region designated by the cell, using a hierarchical system. Thus, for example, if the city is New York in the state of New York, United States of America, and if the principal road in this cell is East Street, then the full hierarchical descriptor for the cell may be: usa.ny.ny/eastst. In addition to this full hierarchical descriptor, using abbreviations, there may also be provided a label using more colloquial language and omitting the full hierarchy, such as “East Street, New York”, as shown by way of example on FIGS. 5 and 6.
In this example the main cell 17 shown in FIG. 6 has been allocated to an owner, who was responsible for choosing the name “East Street” in respect of this cell. The owner database stores information about ownership of the cell, and the chosen name is stored in the central name database.
In this embodiment, the user of the user client 11 can view a model of the earth, rotate and zoom to identify a general region, and then by clicking on appropriate portions of the screen, drill down to a particular region. In such an arrangement, an application similar to Google Earth™ could be running on the user client. At a resolution where individual grid cells are visible, for example as shown in FIGS. 4 and 5, the cells can be identifiable my means of linking to the public access server 6 and the central name database server 1. The individual cells are “active, so that a user can click on a cell and obtain information about that cell, such as the name as shown in FIGS. 5 and 6.
FIG. 7 shows how further information about a cell can be displayed, by selecting a suitable option. By way of example, the total area of the cell 17 is shown, in this case 10,000 m2. The owner of the cell has also sub-allocated regions of the cell 17, as shown by sub-regions indicted at 18 by way of example. The display shows the sub-cells that have been allocated, and also shows the remaining area within cell 17 that is available for sub-allocation. FIG. 8 is similar to FIG. 7, but shows the URL of the cell 17.
If a user wishes to be sub-allocated one or more regions within cell 17, this can be done by scaling the grid to whatever scale is required, and then selecting one or more sub-cells. FIG. 9 shows how a number of sub-cells 19 have been selected. The display indicates the area of the selected region, the price that the owner is charging, and the total price for being allocated these sub-cells. It is not necessary to for a user to select grid cells, although in the preferred embodiment the grid is infinitely scalable and thus versatile. It is possible to designate objects within a cell, such as streets, buildings, and even individual offices within buildings. It is also possible to select a sub-region my means of drawing a path around a region, which may be regular (such as rectangular, another polygon, or circular) or irregular. For the purposes of consistency in terms of data storage, a region so marked may then be divided up into a suitable number of small sub-cells. A region 20 designated by a path 21 and then divided into triangular sub-cells 22 by the system is shown in FIG. 10.
The owner of a main cell such as cell 17 uses a content management system to view information about the cell, record details about any transactions and so forth. Thus, for example, when a user has purchased a sub-region as shown in FIG. 9, the owner may view and/or input information on a screen such as that shown in FIG. 11.
The owner of a cell, or of a sub-region, object or sub-object within a cell (“property”), may link information to that property. For example, the “owner” of the Statue of Liberty in New York might be a commercial organisation which organises boat trips to visit the Statue of Liberty, or a non-commercial organisation which provides historical and other information about the Statue of Liberty.
In terms of a commercial transaction, the operator of the system may take a percentage of all transactions carried out by an owner of a cell, such as selling or leasing “property”, i.e. the entire cell, or sub-regions, objects or sub-objects within the cell. Transactions may initiate payment of a commission to the operator of the system, and will generate a new entry in the central name database. In a preferred embodiment as described above, each basic equilateral triangular cell has an area of approximately 10,000 square metres, representing a triangle side of approximately 152 metres.
The system provides a calculator which allows an owner to assign any price for any size of area within a cell or group of cells. An area to be sub-allocated can be delineated by the use of a simple marquee tool or similar, allowing the selection of irregularly shaped areas. The area of a selected space may be calculated at a predefined price per square metre, and payment is made through an integrated e-commerce system, after which ownership of the area is assigned to the new user in the central owner database. In the course of this transaction, the operator may take a percentage based commission for registration of the transaction in the database.
The system could be operated using a mobile device such as a phone or portable digital assistant (PDA) enabled with a global positioning service. This could provide a proximity system, employing push notification, to provide a user with information on the availability of land areas for sale within the central database, which are within a certain, predefined distance from the users current location, and are within certain parameters set by the user. For example, a user may set the device to update on areas for sale within a 1 kilometre radius, under the price of $5.00 per square metre with at least a footprint area of 800 square metres. This provides an alternative to dealing with everything in a virtual environment. Instead of just looking at images on a screen, a user occupies a real space and looks then at nearby areas available.
What information the owner of a cell, sub-region, object or sub-object decides to link to the location concerned, is up to that owner. It could be promotional material linked to a service provided in the location, or linked to an object such as a statue or museum in the location, it could be purely informative material concerning the location, or it could be an advertisement which the provider of a service or product might be attractive to people interested in the location.
The system could use a publicly owned and locally hosted database. An interface for accessing the system may be capable of being navigated in a non-language based (i.e. purely visual) manner. A touch screen technology interface will facilitate simple operation on hand held devices such as PDA's or mobile phones.
For example on an iPhone™ type of device, a process could be:
1. Touch the screen over the country of your choice—(ddd.uk)
2. Open fingers over the town you are looking for—(ddd.uk.oxford)
3. Locate the rough grid area you are looking for—(ddd.uk.oxford.centre)
4. Touch one cell on the screen.
Searches for content can be exclusive and limited to the boundaries of the current cell
The above example uses three touches and one or two open up actions. This is convenient, visual and non language based navigation.
A purchaser can use a simple way of selecting any number of cells in the grid in any shape they want—for example by using a marquee tool, rather than just bisections of triangles.
When a purchaser buys a cell, they can become an administrator of that cell (if they wish) and may be provided with content management software which provides various options for buying and selling other cells within the main cell, setting the prices for those cells, subdividing and joining cells, and so forth.
This software would be linked to the main database of the operator of the system and would immediately update the system should any changes be made, such as changes of ownership, pricing and calculation of any commission payable to the system operator for sales. The application can generate default but individual names for any newly generated subsets of cells within an area, or allow the owner to set names for these new cells. This software is preferably capable of running as an application on a portable hand-held device.
A cash transaction system for buying/selling cells could use a local currency converter, and allow the user to have various methods for quickly calculating the cost per square metre when selecting an area to purchase, or to set this price when selling cells. Subsequent purchasers of a group of cells can also use this calculator to set the price of cells—increasing or decreasing it as they wish. For example, Someone buys a 1 Km2 triangular cell area of coastline at the standard price of $9.99. They then offer approximately half these cells (the sea) for sale at $5.00 per m2, but the land for sale at $100.00 per m2. A line can be drawn across the cell using the marquee tool following the coastline where it bisects the cell to separate the two price bands. The calculator quickly works out the number of cells in each price band, updates the central database with this information, and shows this area as available and at what price within the main application. The calculator can also allow for an owner to sell cells by auction of various types (private, open, sealed bid etc.) to set reserve prices and start and end dates for the auction.
In preferred embodiments of the invention, the main operator of the system does not host any of the content. Hosting is provided either by the users themselves or through 3rd party hosting companies.
In some embodiments of the invention, on purchasing a cell within the grid, an owner may receive the following:
1. Entry into the main database identifying them as the unique owner of the cell or cells.
2. Overall name for the primary cell, based on a 1 Km2 or otherwise standard area.
3. The ability to create subsets of a cell of any number of polygonal cells.
4. The ability to sell and manage transaction of subsets of cells.
5. A content management application to control transactions, and to sub-divide and rename areas of cells.
6. An optional free virtual world environment software platform, although they should be able to use any platform they wish.
7. A default texture (image) relating to the actual real world area the cells represent. This can be used in the same manner as conventional websites use a “placeholder” image.
It will be appreciated that the precise commercial arrangements may vary and that in preferred embodiments of the invention the principal element is the architecture provided so that regions can be identified, allocated, and links provided to content using a URL system.
In some embodiments of the invention, the grid consists of a database of registration details indexed by a hierarchical geodesic subdivision of a sphere overlaid on to the Earth. One system utilises the GIS extensions of MySQLT™ to store a geometric representation of the grid as a spatial index. The database is seeded with a set of triangles each approximately 0.9 km square. The system requires that the entire grid is generated and stored regardless of whether a triangle has data associated with it or not. This results in the vast majority of the data being redundant. This redundancy increases as the triangles are subdivided because each subdivision yields, for example, four new triangles and it is possible that only one of these will have data attached.
An alternative proposal is to replace the static storage of geometric data with a process which generates the data in response to search requests.
The preferred grid in some embodiments is created through repeated subdivision of a “seed” octahedron. The octahedron is initially divided into eight triangles. These may have unique identifiers 0, 1, 2, 3, 4, 5, 6 and 7. There can then be repeated subdivisions of each triangle into four new triangles, each of which has a unique index of 0, 1, 2 or 3. This index is appended to the parent id to form a unique identifier for that triangle. Thus, with reference to FIG. 12, there is shown firstly one triangle, id 0, of an octagon. This is subdivided into four triangles with id's 00, 01, 02 and 03. Triangle 01 can then be subdivided into a further four triangles 010, 011, 012 and 013. Triangle 011 can then be subdivided into triangles 0110, 0111, 0112 and 0113. Triangle 0111 can then be subdivided into triangles 01110, 01111, 01112 and 01113. The process can continue with subdivision into as small a set of four triangles as is desired.
This form of identifier generation implicitly links each triangle to its parent, since removing the final digit of the id of a triangle will yield the parent id. It will be appreciated that id of a base triangle in an octagon will also be preceded by a unique identifier for that octagon, which again can be provided in a hierarchical manner.
Since the subdivision process naturally yields a unique identifier for each triangle, this identifier is used to index the associated data. The result is a sparse data set with no redundancy.
Client Software Requests Triangles are generated in response to two primary requests from the client software. These are POINT and AREA.
POINT consists of a coordinate (expressed as latitude, longitude), and is generated a result of a user selection (click) within the grid. The results of a search initiated by this request are used to display or update the data associated with the selected triangle.
AREA consists of two coordinates (expressed as south west and north east) which represent a rectangle. This is generated when an area of the grid is exposed by panning or zooming by the user. The results of searches initiated by this request are used to render the grid in the client server response to the POINT Request.
The process starts with the seed octahedron as described above. The requested subdivision level can be numerically specified in the request or implied by a condition such as the first level with associated data. The next step is to find the triangle containing POINT. If the requested subdivision level is reached then the process returns to search using the triangle id. Otherwise, the process subdivides the current triangle and return to the AREA Request. The process then again starts with the seed octahedron, and the level of detail can be fixed or specified in the request. The process finds all triangles intersecting the AREA. If the requested level of detail is reached, then the process returns to triangles. Otherwise, for each triangle the process subdivides and return. Both of these methods allow for an infinitely variable resolution grid.
Thus, in some embodiments of the invention there is a provided a system in which regions and sub regions are defined using a grid of top level parent triangles each having a unique identifier, each top level parent triangle being repeatedly sub-divisible into four lower level triangles in a cascading parent/child relationship, wherein each lower level triangle has a unique identifier comprising the unique identifier of its parent triangle and an identifier to distinguish it from the other three children of that parent triangle. In a preferred arrangement of this type, the top level parent triangles are arranged in groups of eight forming an octagon, each top level parent triangle in an octagon having a unique identifier which comprises a unique identifier for the octagon and an identifier to distinguish it from the other seven triangles in that octagon. The octagons and the triangles may be part of a geodesic grid, for example one in respect of the surface of the earth.
The above described embodiments of the invention are by way of examples and are not limiting as to the scope of the invention as defined in the claims.

Claims (22)

What is claimed is:
1. A data processing method carried out on a data processing system, the system comprising a processor and a data storage device which stores coordinate data defining a plurality of unique geographical regions, each region being a cell of a geodesic grid applied to the surface of the earth;
wherein each region can be allocated to an owner and the method comprises allocating regions to respective owners and in respect of each allocated region, using the data storage device is configured to store, in respect of an that allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
the method comprises sub-allocation by an owner of an allocated region of at least one of: (i) a sub-region of the allocated region; (ii) an object within the allocated region; (ii) a sub-object of an object within the allocated region; (iv) an object within a sub-region of the allocated region; and (v) a sub-object of an object within a sub-region of the allocated region;
wherein regions and sub regions are defined using a grid of top level parent triangles each having a unique identifier, each top level parent triangle being repeatedly sub-divisible into four lower level triangles in a cascading parent/child relationship, wherein each lower level triangle has a unique identifier comprising the unique identifier of its parent triangle and an identifier to distinguish it from the other three children of that parent triangle;
the method comprises storing in the data storage, in respect of any sub-allocated sub-region, object or sub-object, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
and wherein the method comprises resolving a descriptor based DNS query specifying a region, so as to return data comprising the network address for the owner domain allocated to that region.
2. A data processing method as claimed in claim 1, wherein the method comprises resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the owner domain allocated to that region.
3. A data processing method as claimed in claim 1 wherein the method comprises storing, in the data storage device, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the method further comprising resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
4. A data processing method as claimed in claim 2, wherein each region, sub-region, object or sub-object is associated with a unique descriptive, location based, uniform resource locator.
5. A data processing method as claimed in claim 1, wherein the top level parent triangles are arranged in groups of eight forming an octagon, each top level parent triangle in an octagon having a unique identifier which comprises a unique identifier for the octagon and an identifier to distinguish it from the other seven triangles in that octagon.
6. A data processing method as claimed in claim 1, wherein the method comprises storing sub-ownership data in the event that an owner of an allocated region enters into a sub-ownership transaction in respect of a sub-allocated sub-region, object or sub-object within an allocated region.
7. A data processing method carried out on a data processing system, the system comprising a processor and a data storage device which stores data defining a plurality of unique regions of a space, each region being a cell of a geodesic grid applied to the surface of the earth;
wherein each region can be allocated to an owner and the method comprises allocating regions to respective owners and in respect of each allocated region, using the data storage device to store, in respect of each allocated region, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
the method comprises sub-allocation by an owner of an allocated region of at least one of: (i) a sub-region of the allocated region; (ii) an object within the allocated region; (ii) a sub-object of an object within the allocated region; (iv) an object within a sub-region of the allocated region; and (v) a sub-object of an object within a sub-region of the allocated region;
wherein regions and sub regions are defined using a grid of top level parent triangles each having a unique identifier, each top level parent triangle being repeatedly sub-divisible into four lower level triangles in a cascading parent/child relationship, wherein each lower level triangle has a unique identifier comprising the unique identifier of its parent triangle and an identifier to distinguish it from the other three children of that parent triangle;
the method comprises storing in the data storage device, in respect of any sub-allocated sub-region, object or sub-object, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
and wherein the method comprises resolving a descriptor based DNS query specifying a region, so as to return data comprising the network address for the owner domain allocated to that region.
8. A data processing method as claimed in claim 7, wherein the method comprises resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the owner domain allocated to that region.
9. A data processing method as claimed in claim 7 wherein the method comprises storing, in the data storage device, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the method further comprising resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
10. A data processing method as claimed in claim 8, wherein each region, sub-region, object or sub-object is associated with a unique descriptive, location based, uniform resource locator.
11. A data processing method as claimed in claim 7, wherein the data storage stores coordinate data defining the plurality of unique regions.
12. A data processing method as claimed in claim 7, wherein each region is a cell of a geodesic grid applied to the surface of the earth.
13. A data processing method as claimed in claim 7, wherein the space is a virtual environment.
14. A data processing method as claimed in claim 7, wherein the top level parent triangles are arranged in groups of eight forming an octagon, each top level parent triangle in an octagon having a unique identifier which comprises a unique identifier for the octagon and an identifier to distinguish it from the other seven triangles in that octagon.
15. A non-transitory computer program product comprising instructions which when carried out by a data processing apparatus comprising a data storage device and a processor, will cause the data processing apparatus to carry out a method comprising:
storing, in the data storage device, data defining a plurality of unique regions of a space, wherein each region is a cell of a geodesic grid applied to the surface of the earth;
allocating a region to an owner and storing, in the data storage device, a unique identifier for that region and a hierarchical descriptor for that region, data identifying the owner, and a network address which identifies an owner domain in respect of that region;
permitting sub-allocation by an owner of an allocated region of at least one of: (i) a sub-region of the allocated region; (ii) an object within the allocated region; (ii) a sub-object of an object within the allocated region; (iv) an object within a sub-region of the allocated region; and (v) a sub-object of an object within a sub-region of the allocated region; and storing, in the data storage device, in respect of any sub-allocated sub-region, object or sub-object, an identifier and a hierarchical descriptor for that sub-region, object or sub-object;
wherein regions and sub regions are defined using a grid of top level parent triangles each having a unique identifier, each top level parent triangle being repeatedly sub-divisible into four lower level triangles in a cascading parent/child relationship, wherein each lower level triangle has a unique identifier comprising the unique identifier of its parent triangle and an identifier to distinguish it from the other three children of that parent triangle;
and resolving a descriptor based DNS query specifying a region, so as to return data comprising the network address for the owner domain allocated to that region.
16. A non-transitory computer program product as claimed in claim 15, wherein the method comprises resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the owner domain allocated to that region.
17. A non-transitory computer program product as claimed in claim 15 wherein the method comprises storing in the data storage, in respect of any sub-allocated sub-region, object or sub-object, a network address which identifies a sub-owner domain in respect of that sub-allocated sub-region, object or sub-object, the method further comprising resolving a descriptor based DNS query specifying a sub-region, object or sub-object of a region, so as to return data comprising the network address for the sub-owner domain allocated thereto.
18. A non-transitory computer program product as claimed in claim 16, wherein each region, sub-region, object or sub-object is associated with a unique descriptive, location based, uniform resource locator.
19. A non-transitory computer program product as claimed in claim 15, wherein each region is a cell of a geodesic grid applied to the surface of the earth.
20. A non-transitory computer program product as claimed in claim 15, wherein the space is a virtual environment.
21. A non-transitory computer program product as claimed in claim 15 wherein the top level parent triangles are arranged in groups of eight forming an octagon, each top level parent triangle in an octagon having a unique identifier which comprises a unique identifier for the octagon and an identifier to distinguish it from the other seven triangles in that octagon.
22. A non-transitory computer program product as claimed in claim 15, wherein the data processing system stores sub-ownership data in the event that an owner of an allocated region enters into a sub-ownership transaction in respect of a sub-allocated sub-region, object or sub-object within an allocated region.
US14/464,329 2009-07-09 2014-08-20 Data processing system using geographical locations Expired - Fee Related USRE45750E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/464,329 USRE45750E1 (en) 2009-07-09 2014-08-20 Data processing system using geographical locations

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0911981.9 2009-07-09
GBGB0911981.9A GB0911981D0 (en) 2009-07-09 2009-07-09 Data processing system using geographical locations
US12/832,370 US8572204B2 (en) 2009-07-09 2010-07-08 Data processing system using geographical locations
US14/464,329 USRE45750E1 (en) 2009-07-09 2014-08-20 Data processing system using geographical locations

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/832,370 Reissue US8572204B2 (en) 2009-07-09 2010-07-08 Data processing system using geographical locations

Publications (1)

Publication Number Publication Date
USRE45750E1 true USRE45750E1 (en) 2015-10-13

Family

ID=41022442

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/832,370 Ceased US8572204B2 (en) 2009-07-09 2010-07-08 Data processing system using geographical locations
US14/464,329 Expired - Fee Related USRE45750E1 (en) 2009-07-09 2014-08-20 Data processing system using geographical locations

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/832,370 Ceased US8572204B2 (en) 2009-07-09 2010-07-08 Data processing system using geographical locations

Country Status (2)

Country Link
US (2) US8572204B2 (en)
GB (2) GB0911981D0 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665998B1 (en) * 2011-06-30 2017-05-30 American Airlines, Inc. System for providing relevant and timely information associated with a travel itinerary to a portable user device using a push notification associated with a push message received from an application server
US8784214B2 (en) * 2011-07-05 2014-07-22 Sony Computer Entertainment Inc. Method and system for establishing location-based leaderboard
US20130017872A1 (en) * 2011-07-12 2013-01-17 Sony Computer Entertainment Inc. Method and system for tag-based grouping of online communities
US9576434B2 (en) 2011-07-25 2017-02-21 Sony Interactive Entertainment Inc. Implementing computer activity-based challenges
DE202015009325U1 (en) * 2014-03-04 2017-02-22 Google Inc. Schematic representation of geographical locations
KR102264992B1 (en) 2014-12-31 2021-06-15 삼성전자 주식회사 Method and Device for allocating a server in wireless communication system
CN112765295B (en) * 2021-01-13 2022-12-20 华能新能源股份有限公司 Regional meteorological data splicing system

Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0753836A2 (en) 1995-07-12 1997-01-15 Sony Corporation A three-dimensional virtual reality space sharing method and system
JPH1040296A (en) 1996-07-19 1998-02-13 Fujitsu Ltd Communication management device and communication equipment
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
JP2000322600A (en) 1999-05-07 2000-11-24 Nec Software Chugoku Ltd System and method for controlling and displaying internet three-dimensional multiwindow
US20010032236A1 (en) * 1999-12-09 2001-10-18 Ching-Fang Lin Portable multi-tracking method and system
US20020103781A1 (en) * 2001-01-31 2002-08-01 Shinichiro Mori Server, user terminal, information providing service system and information providing service method
WO2002096041A1 (en) 2001-05-22 2002-11-28 Kai Mustonen Utilization of geographic location information in ip addressing
US20020188678A1 (en) * 2001-06-05 2002-12-12 Edecker Ada Mae Networked computer system for communicating and operating in a virtual reality environment
US20030033402A1 (en) * 1996-07-18 2003-02-13 Reuven Battat Method and apparatus for intuitively administering networked computer systems
US20030144894A1 (en) * 2001-11-12 2003-07-31 Robertson James A. System and method for creating and managing survivable, service hosting networks
WO2005091198A1 (en) 2004-03-19 2005-09-29 Bgt Biographic Technologies Inc. Method and system for on-screen navigation of digital characters or the likes
US20050223176A1 (en) 2003-12-30 2005-10-06 Peters Richard A Ii Sensory ego-sphere: a mediating interface between sensors and cognition
US20060109267A1 (en) 2004-11-23 2006-05-25 Metavr Three-dimensional visualization architecture
US20060238379A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Obtaining and displaying virtual earth images
US20070061363A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on geographic region
US20070109299A1 (en) 2005-11-15 2007-05-17 Vital Images, Inc. Surface-based characteristic path generation
US20070273558A1 (en) * 2005-04-21 2007-11-29 Microsoft Corporation Dynamic map rendering as a function of a user parameter
US20070287474A1 (en) * 2006-03-28 2007-12-13 Clarity Communication Systems, Inc. Method and system for location based communication service
US20080318678A1 (en) * 2007-02-16 2008-12-25 Stivoric John M Entertainment, gaming and interactive spaces based on lifeotypes
WO2009000028A1 (en) 2007-06-22 2008-12-31 Global Coordinate Software Limited Virtual 3d environments
US20090014515A1 (en) * 1999-09-17 2009-01-15 Silverbrook Research Pty Ltd Method of facilitating interaction between user and packaged product
US20090045250A1 (en) * 1999-09-17 2009-02-19 Silverbrook Research Pty Ltd Method of recording mail transactions
US20090073191A1 (en) * 2005-04-21 2009-03-19 Microsoft Corporation Virtual earth rooftop overlay and bounding
US20100118025A1 (en) * 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US20100145602A1 (en) * 2008-12-04 2010-06-10 Morris Robert P Methods, Systems, And Computer Program Products For Associating Resources Of A First Geospace With A Second Geospace
US20100248742A1 (en) * 2009-03-26 2010-09-30 Qualcomm Incorporated Regulating the scope of service geographically in wireless networks based on priority
US20100246468A1 (en) * 2009-03-26 2010-09-30 Qualcomm Incorporated Regulating the scope of service geographically in wireless networks
US20110106614A1 (en) * 2005-11-01 2011-05-05 Jumptap, Inc. Mobile User Characteristics Influenced Search Results
US20110212717A1 (en) * 2008-08-19 2011-09-01 Rhoads Geoffrey B Methods and Systems for Content Processing
US8121350B2 (en) * 2006-12-29 2012-02-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus, method and computer program for determining a position on the basis of a camera image from a camera
US20120238255A1 (en) * 2005-09-14 2012-09-20 Jorey Ramer Interaction analysis and prioritization of mobile content

Patent Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0753836A2 (en) 1995-07-12 1997-01-15 Sony Corporation A three-dimensional virtual reality space sharing method and system
US5889951A (en) 1996-05-13 1999-03-30 Viewpoint Corporation Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment
US20030033402A1 (en) * 1996-07-18 2003-02-13 Reuven Battat Method and apparatus for intuitively administering networked computer systems
JPH1040296A (en) 1996-07-19 1998-02-13 Fujitsu Ltd Communication management device and communication equipment
JP2000322600A (en) 1999-05-07 2000-11-24 Nec Software Chugoku Ltd System and method for controlling and displaying internet three-dimensional multiwindow
US20090045250A1 (en) * 1999-09-17 2009-02-19 Silverbrook Research Pty Ltd Method of recording mail transactions
US20090014515A1 (en) * 1999-09-17 2009-01-15 Silverbrook Research Pty Ltd Method of facilitating interaction between user and packaged product
US7143130B2 (en) * 1999-12-09 2006-11-28 Ching-Fang Lin Portable multi-tracking method and system
US20010032236A1 (en) * 1999-12-09 2001-10-18 Ching-Fang Lin Portable multi-tracking method and system
US20020103781A1 (en) * 2001-01-31 2002-08-01 Shinichiro Mori Server, user terminal, information providing service system and information providing service method
WO2002096041A1 (en) 2001-05-22 2002-11-28 Kai Mustonen Utilization of geographic location information in ip addressing
US8150941B2 (en) * 2001-06-05 2012-04-03 Xdyne, Inc. Networked computer system for communicating and operating in a virtual reality environment
US20120005353A1 (en) * 2001-06-05 2012-01-05 Xdyne, Inc. Networked computer system for communicating and operating in a virtual reality environment
US20020188678A1 (en) * 2001-06-05 2002-12-12 Edecker Ada Mae Networked computer system for communicating and operating in a virtual reality environment
US20030144894A1 (en) * 2001-11-12 2003-07-31 Robertson James A. System and method for creating and managing survivable, service hosting networks
US20050223176A1 (en) 2003-12-30 2005-10-06 Peters Richard A Ii Sensory ego-sphere: a mediating interface between sensors and cognition
WO2005091198A1 (en) 2004-03-19 2005-09-29 Bgt Biographic Technologies Inc. Method and system for on-screen navigation of digital characters or the likes
US20060109267A1 (en) 2004-11-23 2006-05-25 Metavr Three-dimensional visualization architecture
US20070273558A1 (en) * 2005-04-21 2007-11-29 Microsoft Corporation Dynamic map rendering as a function of a user parameter
US7777648B2 (en) * 2005-04-21 2010-08-17 Microsoft Corporation Mode information displayed in a mapping application
US20060238380A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Maintaining user privacy in a virtual earth environment
US20060238382A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Real-time virtual earth driving information
US20060238379A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Obtaining and displaying virtual earth images
US20090073191A1 (en) * 2005-04-21 2009-03-19 Microsoft Corporation Virtual earth rooftop overlay and bounding
US20100118025A1 (en) * 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US20070061363A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on geographic region
US20120238255A1 (en) * 2005-09-14 2012-09-20 Jorey Ramer Interaction analysis and prioritization of mobile content
US20110106614A1 (en) * 2005-11-01 2011-05-05 Jumptap, Inc. Mobile User Characteristics Influenced Search Results
US20070109299A1 (en) 2005-11-15 2007-05-17 Vital Images, Inc. Surface-based characteristic path generation
US20070287474A1 (en) * 2006-03-28 2007-12-13 Clarity Communication Systems, Inc. Method and system for location based communication service
US8121350B2 (en) * 2006-12-29 2012-02-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus, method and computer program for determining a position on the basis of a camera image from a camera
US20080318678A1 (en) * 2007-02-16 2008-12-25 Stivoric John M Entertainment, gaming and interactive spaces based on lifeotypes
WO2009000028A1 (en) 2007-06-22 2008-12-31 Global Coordinate Software Limited Virtual 3d environments
US20110212717A1 (en) * 2008-08-19 2011-09-01 Rhoads Geoffrey B Methods and Systems for Content Processing
US20100145602A1 (en) * 2008-12-04 2010-06-10 Morris Robert P Methods, Systems, And Computer Program Products For Associating Resources Of A First Geospace With A Second Geospace
US20100248742A1 (en) * 2009-03-26 2010-09-30 Qualcomm Incorporated Regulating the scope of service geographically in wireless networks based on priority
US20100246468A1 (en) * 2009-03-26 2010-09-30 Qualcomm Incorporated Regulating the scope of service geographically in wireless networks

Also Published As

Publication number Publication date
GB201011576D0 (en) 2010-08-25
US8572204B2 (en) 2013-10-29
GB2471782A (en) 2011-01-12
GB0911981D0 (en) 2009-08-19
US20110010464A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
USRE45750E1 (en) Data processing system using geographical locations
JP6026906B2 (en) Content target information based on location
US9384291B2 (en) Generating geographical keywords for geotargeting search engine-offered advertisements
US20050192999A1 (en) System and method of virtualizing physical locations
KR101024149B1 (en) Method of registering advertisements on an electronic map using advertisement registration reference information
US20200142874A1 (en) Selecting content using a location feature index
US7576754B1 (en) System and method for identifying bounds of a geographical area
US20020091758A1 (en) Map viewing, publishing, and provisioning system
US8984099B1 (en) Systems and methods for identifying increased user interest and promoting content in a geographic information system
KR20140123019A (en) Visual representation of map navigation history
CN102224498A (en) Computer-implemented method for providing location related content to a mobile device
WO2007050335A2 (en) System and method for selecting targeted information for serving with a map view
JP2008204471A (en) Method for retrieving information by using spatially selective feature
WO2007050343A2 (en) System and method for identifying geographical areas that significantly overlap a map view
Efentakis et al. Towards a flexible and scalable fleet management service
WO2019003182A1 (en) System and method for matching a service provider to a service requestor
CN110799969A (en) Semantic vector sheet
US10867002B1 (en) Real estate search interface and method
Muriuki et al. A multimedia web gis portal for promotion of tourism in Kenya
Jankowski et al. A Map Browser for an Internet‐based GIS Data Repository
Fook et al. Collaborative Historical Platform for Historians: Extended Functionalities in Pauliceia 2.0.
O’Dea et al. Coastal web atlas features
Rishe et al. Geospatial data management with terrafly
Jones et al. Web‐Based Geographic Information Systems
Avagliano et al. Embedding google maps APIs into WebRatio for the automatic generation of web GIS applications

Legal Events

Date Code Title Description
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.)