Reducing data i/o using in-memory data structures
US-2017116136-A1 · Apr 27, 2017 · US
US11429986B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11429986-B2 |
| Application number | US-201616346372-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 4, 2016 |
| Priority date | Nov 4, 2016 |
| Publication date | Aug 30, 2022 |
| Grant date | Aug 30, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Real-time busyness information is for a public place is computed in a privacy-sensitive way, and provided for display in relation to historical busyness information. An aggregate amount of real-time location information available for a particular public place is measured (410), and used to determine (420) whether the public place is privacy-qualified. If the public place is privacy-qualified, real-time busyness information is computed (440) for the public place based on the real-time location information. Further, it is determined (450) whether the computed real-time busyness information is accuracy-qualified, based on a comparison of the real-time busyness information to historical busyness information. If both qualifications are met, the real-time busyness information is output (470) for display or to another application.
Opening claim text (preview).
The invention claimed is: 1. A method, comprising: receiving, at one or more processors, a request for information about a particular public place; computing a hash of an identifier uniquely assigned to a user at the particular public place; setting a threshold number of hash values to be stored in a predetermined portion of a data structure for the particular public place; measuring, using the one or more processors, an aggregate amount of real-time location information available for the particular public place, the measuring comprising: determining a number of unique hashes having location data that corresponds to the particular public place; and storing the number of unique hashes corresponding to location data in the predetermined portion of the data structure; determining, with the one or more processors, whether the public place meets a first qualification based on privacy, wherein the first qualification is met when the aggregate amount of available real-time location information for the public place meets or exceeds a predetermined threshold, the determining comprising determining whether the threshold number of hash values for the public place is reached within a predetermined period of time, thereby minimizing an amount of real-time location information to be stored at any instant in time; when the public place does not meet the first qualification, reducing an amount of information stored by removing from the predetermined portion of the data structure the stored unique hashes, thereby conserving resources; when the public place meets the first qualification, generating, with the one or more processors, real-time busyness information for the public place based on the real-time location information; determining whether the computed real-time busyness information meets a second qualification based on an accuracy of the real-time busyness information; and providing for display, when the computed real-time busyness information meets the second qualification, the generated real-time busyness information for the particular public place in response to the request. 2. The method of claim 1 , wherein determining whether the public place meets the first qualification based on the amount of available real-time location information further comprises: computing a hash of an identifier, the identifier uniquely assigned to a user at the particular public place; counting a number of unique hashes having location data that, within a predetermined period of time, corresponds to the particular public place; and determining, with the one or more processors, whether a threshold number of unique hashes for the public place are reached within the predetermined period of time. 3. The method of claim 2 , wherein counting the number of unique hashes comprises filling a predetermined portion of a first data structure. 4. The method of claim 3 , wherein the data structure is a first bit vector. 5. The method of claim 1 , wherein computing the real-time busyness information for the public place comprises: aggregating the unique hashes within a second data structure; and determining, with the one or more processors, a duration of time during which the unique hashes were aggregated. 6. The method of claim 5 , further comprising: emptying the second data structure each time it is filled; and counting a number of times the second data structure is emptied. 7. The method of claim 1 , wherein determining whether the computed real-time busyness information meets the second qualification comprises comparing, over an evaluation period, the computed real-time busyness information for the public place to historical real-time busyness information for the public place for each hour that the public place was open during the evaluation period. 8. The method of claim 7 , further comprising: counting a first number of hours that differ beyond a first threshold; counting a second number of hours that match beyond a second threshold; determining whether the first number of hours is less than a first predetermined percentage of the total open hours in the evaluation period; and determining whether the second number of hours is greater than a second predetermined percentage of the total open hours in the evaluation period. 9. The method of claim 1 , further comprising providing for display historical busyness information for the public place, the historical information provided in relation to the real-time information. 10. A system, comprising: a memory; and one or more processors in communication with the memory, the one or more processors configured to: receive a request for information about a particular public place; compute a hash of an identifier uniquely assigned to a user at the particular public place; set a threshold number of hash values to be stored in a predetermined portion of a data structure for the particular public place; measure an aggregate amount of real-time location information available for the particular public place, comprising: determine a number of unique hashes having location data that corresponds to the particular public place; and store the number of unique hashes corresponding to location data in the predetermined portion of the data structure; determine whether the public place meets a first qualification based on privacy, wherein the first qualification is met when the aggregate amount of available real-time location information for the public place meets or exceeds a predetermined threshold, the determining comprising determining whether the threshold number of hash values for the public place is reached within a predetermined period of time, thereby minimizing an amount of real-time location information to be stored at any instant in time; when the public place does not meet the first qualification, reduce an amount of information stored by removing from the predetermined portion of the data structure the stored unique hashes, thereby conserving resources; when the public place meets the first qualification, generate real-time busyness information for the public place based on the real-time location information; determine whether the computed real-time busyness information meets a second qualification based on an accuracy of the real-time busyness information; and provide for display, when the computed real-time busyness information meets the second qualification, the generated real-time busyness information for the particular public place in response to the request. 11. The system of claim 10 , wherein in determining whether the public place meets the first qualification based on the amount of available real-time location information, the one or more processors are further configured to: compute a hash of an identifier, the identifier uniquely assigned to a user at the particular public place; count a number of unique hashes having location data that, within a predetermined period of time, corresponds to the particular public place; and determine whether a threshold number of unique hashes for the public place are reached within the predetermined period of time. 12. The system of claim 11 , wherein counting the number of unique hashes comprises filling a predetermined portion of a first data structure. 13. The system of claim 12 , wherein the data structure is a first bit vector. 14. The system of claim 10 , wherein in computing the real-time busyness information for the public place, the one or more processors are further configured to: aggregate the unique hashes within a second data structure; and determine a duration of time during which the unique hashes were aggregated.
Administration; Management · CPC title
Market modelling; Market analysis; Collecting market data · CPC title
Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34) · CPC title
Hash tables · CPC title
Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.