Efficient multi-tenant spatial and relational indexing

US10242051B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10242051-B2
Application numberUS-201615213726-A
CountryUS
Kind codeB2
Filing dateJul 19, 2016
Priority dateMay 13, 2013
Publication dateMar 26, 2019
Grant dateMar 26, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, computer systems, and computer-storage media are provided for increasing the efficiency of a multi-tenant geospatial data index. Efficiency is increased by using a multi-tenant model for storing and serving the data, processing raw geospatial data received from tenants into a runtime-optimized format, and by partitioning tenant geospatial data into a processor memory portion and a file system memory portion. Efficiency is also increased by executing a staged upload of the processor memory portion and the file system memory portion to a subset of host machines in order to check for invalid data before uploading the data to the remaining host machines. Additionally, efficiency is increased by optimizing geospatial search queries using query filters stored in a query filter cache, and executing the query filters initially against the processor memory.

First claim

Opening claim text (preview).

What is claimed is: 1. One or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method of optimizing queries for geospatial data and executing the optimized queries first against processor memory of a host machine, the method comprising: receiving a geospatial search query from a tenant having a set of geospatial data stored in association with a file system memory of the host machine and a subset of the set of geospatial data stored in association with the processor memory of the host machine, wherein the subset of the set of geospatial data represents geospatial data frequently utilized by the tenant, and wherein the file system memory comprises non-volatile memory and the processor memory comprises non-persistent memory; generating a parsed structured query from the geospatial search query; determining whether a query filter cache contains a query filter corresponding to the parsed structured query; when it is determined that the query filter cache contains the query filter corresponding to the parsed structured query, retrieving from the query filter cache the query filter corresponding to the parsed structured query; when it is determined that the query filter cache does not contain the query filter corresponding to the parsed structured query, dynamically generating the query filter corresponding to the parsed structured query and storing the query filter in association with the query filter cache; executing the query filter against the subset of the tenant's set of geospatial data stored in association with the processor memory of the host machine to retrieve a first set of geospatial data index entries satisfying the query filter, wherein the first set of geospatial data index entries represents the subset of the set of geospatial data; and using the first set of geospatial data index entries to retrieve a second set of full geospatial data index entries from the tenant's set of geospatial data stored in association with the file system memory of the host machine, wherein the second set of full geospatial data index entries represents the set of geospatial data. 2. The media of claim 1 , wherein the host machine stores a plurality of sets of geospatial data associated with a plurality of tenants. 3. The media of claim 1 , further comprising: filtering the second set of full geospatial data index entries based on the geospatial search query to produce a set of geospatial search results; and returning to the tenant the set of geospatial search results. 4. The media of claim 1 , wherein the parsed structured query is generated based on parameters specified by the tenant. 5. The media of claim 1 , wherein the query filter cache contains tenant-specific query filters. 6. A computerized method carried out by a host machine having at least one processor for optimizing queries for geospatial data and executing the optimized queries first against processor memory of a host machine, the method comprising: receiving a geospatial search query from a tenant having a set of geospatial data stored in association with a file system memory of the host machine and a subset of the set of geospatial data stored in association with the processor memory of the host machine, wherein the subset of the set of geospatial data represents geospatial data frequently utilized by the tenant, and wherein the file system memory comprises non-volatile memory and the processor memory comprises non-persistent memory; generating a parsed structured query from the geospatial search query; determining whether a query filter cache contains a query filter corresponding to the parsed structured query; when it is determined that the query filter cache contains the query filter corresponding to the parsed structured query, retrieving from the query filter cache the query filter corresponding to the parsed structured query; when it is determined that the query filter cache does not contain the query filter corresponding to the parsed structured query, dynamically generating the query filter corresponding to the parsed structured query and storing the query filter in association with the query filter cache; executing the query filter against the subset of the tenant's set of geospatial data stored in association with the processor memory of the host machine to retrieve a first set of geospatial data index entries satisfying the query filter, wherein the first set of geospatial data index entries represents the subset of the set of geospatial data; and using the first set of geospatial data index entries to retrieve a second set of full geospatial data index entries from the tenant's set of geospatial data stored in association with the file system memory of the host machine, wherein the second set of full geospatial data index entries represents the set of geospatial data. 7. The method of claim 6 , wherein the host machine stores a plurality of sets of geospatial data associated with a plurality of tenants. 8. The method of claim 6 , further comprising: filtering the second set of full geospatial data index entries based on the geospatial search query to produce a set of geospatial search results; and returning to the tenant the set of geospatial search results. 9. The method of claim 6 , wherein the parsed structured query is generated based on parameters specified by the tenant. 10. The method of claim 6 , wherein the query filter cache contains tenant-specific query filters. 11. A system for optimizing queries for geospatial data and executing the optimized queries first against processor memory of a host machine, the system comprising: a first computing device associated with a host machine, the computing device having one or more processors and one or more computer-storage media; a file system memory associated with the host machine, the file system memory comprising non-volatile memory; and a processor memory associated with the host machine, the processor memory comprising non-persistent memory, wherein the host machine: receives a geospatial search query from a tenant having a set of geospatial data stored in association with the file system memory of the host machine and a subset of the set of geospatial data stored in association with the processor memory of the host machine, wherein the subset of the set of geospatial data represents geospatial data frequently utilized by the tenant; generates a parsed structured query from the geospatial search query; determines whether a query filter cache contains a query filter corresponding to the parsed structured query; when it is determined that the query filter cache contains the query filter corresponding to the parsed structured query, retrieves from the query filter cache the query filter corresponding to the parsed structured query; where it is determined that the query filter cache does not contain the query filter corresponding to the parsed structured query, dynamically generates the query filter corresponding to the parsed structured query and stores the query filter in association with the query filter cache; executes the query filter against the subset of the tenant's set of geospatial data stored in association with the processor memory of the host machine to retrieve a first set of geospatial data index entries satisfying the query filter, wherein the first set of geospatial data index entries represents the subset of the set of geospatial data; and uses the first set of geospatial data index entries to retrieve a second set of full geospatial data index entries from the tenant's set of geospatial data stored in association with the file system memory of the host machine, wherei

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10242051B2 cover?
Methods, computer systems, and computer-storage media are provided for increasing the efficiency of a multi-tenant geospatial data index. Efficiency is increased by using a multi-tenant model for storing and serving the data, processing raw geospatial data received from tenants into a runtime-optimized format, and by partitioning tenant geospatial data into a processor memory portion and a file…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F17/30457. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).