IP Library Granted Patent US 12,548,038
Granted Patent B2
US 12,548,038 · App. 18/211,936 · Granted Feb 10, 2026

Realtime busyness for places

Inventors: Frank Russo (Sunnyvale, CA); Luuk Van Dijk (Zürich, CH); Paul Donnelly (San Jose, CA); Quang Duong (San Francisco, CA); James Aspinall (San Francisco, CA); Finnegan Southey (San Francisco, CA); Steve Chien (San Carlos, CA)
Assignee: Google LLC
G06Q30/0201G06F16/2255
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,548,038
App. No.
18/211,936
Granted
Feb 10, 2026
Kind
B2
Abstract

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.

Claims (79)

1 . A method, comprising:

receiving, at one or more processors, a request for information about a particular public place;

determining an aggregate amount of available real-time location information for the public place, comprising:

identifying values uniquely corresponding to users at the particular public place;

storing the values in a predetermined portion of a data structure for the particular public place;

measuring, using the one or more processors, an amount of time during which the predetermined portion of the data structure is filled; and

emptying the data structure after it is filled;

generating, with the one or more processors, real-time busyness information for the public place based on the amount of time during which the predetermined portion of the data structure is filled;

determining whether the real-time busyness information meets an accuracy qualification based on an accuracy of the real-time busyness information, comprising:

counting a first number of hours that real-time data differs from historical data of the public place beyond a first threshold;

counting a second number of hours that real-time data match historical data of the public place beyond a second threshold;

determining whether the first number of hours is less than a first predetermined percentage of total open hours in an evaluation period;

determining whether the second number of hours is greater than a second predetermined percentage of the total open hours in the evaluation period;

removing the particular public place from a database of candidate public places when the real-time busyness information does not meet the accuracy qualification, thereby avoiding unnecessary network traffic and minimizing network disruption; and

providing for display, when the real-time busyness information meets the accuracy 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 real-time busyness information meets the accuracy qualification comprises comparing, over the evaluation period, the 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.

3 . 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.

4 . The method of claim 1 , further comprising:

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 the predetermined portion of the data structure for the particular public place;

measuring, using the one or more processors, the 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.

5 . The method of claim 4 , 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 4 , wherein determining the number of unique hashes comprises filling a predetermined portion of a first data structure.

8 . The method of claim 7 , wherein the data structure is a first bit vector.

9 . 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;

determine an aggregate amount of available real-time location information for the public place, comprising:

identify values uniquely corresponding to users at the particular public place;

store the values in a predetermined portion of a data structure for the particular public place;

measure an amount of time during which the predetermined portion of the data structure is filled; and

empty the data structure after it is filled;

generate real-time busyness information for the public place based on the amount of time during which the predetermined portion of the data structure is filled;

determine whether the real-time busyness information meets an accuracy qualification based on an accuracy of the real-time busyness information by:

counting a first number of hours that real-time data differs from historical data of the public place beyond a first threshold;

counting a second number of hours that real-time data match historical data of the public place beyond a second threshold;

determining whether the first number of hours is less than a first predetermined percentage of total open hours in an 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;

remove the particular public place from a database of candidate public places when the real-time busyness information does not meet the accuracy qualification, thereby avoiding unnecessary network traffic and minimizing network disruption; and

provide for display, when the real-time busyness information meets the accuracy qualification, the generated real-time busyness information for the particular public place in response to the request.

10 . The system of claim 9 , wherein determining whether the real-time busyness information meets the accuracy qualification comprises comparing, over the evaluation period, the 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.

11 . The system of claim 9 , wherein the one or more processors are further configured to provide for display historical busyness information for the public place, the historical information provided in relation to the real-time information.

12 . The system of claim 9 , wherein the one or more processors are further configured to:

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 the predetermined portion of the data structure for the particular public place;

measure the aggregate amount of real-time location information available for the particular public place, the measuring 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.

13 . The system of claim 12 , 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.

14 . The system of claim 13 , wherein the one or more processors are further configured to:

empty the second data structure each time it is filled; and

count a number of times the second data structure is emptied.

15 . The system of claim 12 , wherein determining the number of unique hashes comprises filling a predetermined portion of a first data structure.

16 . The system of claim 15 , wherein the data structure is a first bit vector.

17 . A non-transitory computer-readable storage medium storing instructions executable by one or more processors for performing a method, comprising:

receiving a request for information about a particular public place;

determining an aggregate amount of available real-time location information for the public place, comprising:

identifying values uniquely corresponding to users at the particular public place;

storing the values in a predetermined portion of a data structure for the particular public place;

measuring, using the one or more processors, an amount of time during which the predetermined portion of the data structure is filled; and

emptying the data structure after it is filled;

generating real-time busyness information for the public place based on the amount of time during which the predetermined portion of the data structure is filled;

determining whether the real-time busyness information meets an accuracy qualification based on an accuracy of the real-time busyness information, comprising:

counting a first number of hours that real-time data differs from historical data of the public place beyond a first threshold;

counting a second number of hours that real-time data match historical data of the public place beyond a second threshold;

determining whether the first number of hours is less than a first predetermined percentage of total open hours in an 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;

removing the particular public place from a database of candidate public places when the real-time busyness information does not meet the accuracy qualification, thereby avoiding unnecessary network traffic and minimizing network disruption; and

providing for display, when the real-time busyness information meets the accuracy qualification, the generated real-time busyness information for the particular public place in response to the request.

Assignments (2)
CHANGE OF NAME Recorded Jun 23, 2023
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 064089/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: RUSSO, FRANK; VAN DIJK, LUUK; DONNELLY, PAUL; DUONG, QUANG; ASPINALL, JAMES; SOUTHEY, FINNEGAN; CHIEN, STEVE
To: GOOGLE INC.
Reel/Frame 064012/0460 →
Continuity (3)
Continuation 17701170 · Mar 22, 2022
Continuation 16346372
Related Publication 20240144299A1 · May 2, 2024
References Cited (90)
US 6115802A · Tock · 2000 [cited by examiner]
US 7136861B1 · Sinclair et al. · 2006 [cited by applicant]
US 7590620B1 · Pike et al. · 2009 [cited by applicant]
US 7600125B1 · Stringham · 2009 [cited by applicant]
US 7610487B2 · Aura · 2009 [cited by examiner]
US 7912629B2 · Sutter et al. · 2011 [cited by applicant]
US 8369867B2 · Van Os et al. · 2013 [cited by applicant]
US 8510807B1 · Elazary et al. · 2013 [cited by applicant]
US 8600360B1 · Patvarczki et al. · 2013 [cited by applicant]
US 8768867B1 · Thaeler · 2014 [cited by examiner]
US 8775941B1 · Deshpande et al. · 2014 [cited by applicant]
US 9066315B2 · Shimo et al. · 2015 [cited by applicant]
US 9160727B1 · Saylor et al. · 2015 [cited by applicant]
US 9883324B2 · Selen et al. · 2018 [cited by applicant]
US 10531226B1 · Wang et al. · 2020 [cited by applicant]
US 20030078055A1 · Smith · 2003 [cited by examiner]
US 20040088293A1 · Daggett · 2004 [cited by examiner]
US 20060242154A1 · Rawat · 2006 [cited by examiner]
US 20070264974A1 · Frank et al. · 2007 [cited by applicant]
US 20080248815A1 · Busch · 2008 [cited by applicant]
US 20090112795A1 · Abraham et al. · 2009 [cited by applicant]
US 20090313208A1 · Helfman · 2009 [cited by applicant]
US 20090325603A1 · Van Os et al. · 2009 [cited by applicant]
US 20100070514A1 · Woodruff · 2010 [cited by applicant]
US 20100158488A1 · Roberts et al. · 2010 [cited by applicant]
US 20100217480A1 · Link, II · 2010 [cited by applicant]
US 20100250369A1 · Peterson et al. · 2010 [cited by applicant]
US 20100309820A1 · Rajagopalan · 2010 [cited by examiner]
US 20110161119A1 · Collins · 2011 [cited by examiner]
US 20110258011A1 · Burns · 2011 [cited by examiner]
US 20110276440A1 · Collins et al. · 2011 [cited by applicant]
US 20120078970A1 · Matsakis · 2012 [cited by applicant]
US 20120150586A1 · Harper et al. · 2012 [cited by applicant]
US 20120226889A1 · Merriman · 2012 [cited by examiner]
US 20130021949A1 · Kaal · 2013 [cited by applicant]
US 20130132484A1 · Berezecki · 2013 [cited by applicant]
US 20130266195A1 · Shiell et al. · 2013 [cited by applicant]
US 20140089024A1 · Mason et al. · 2014 [cited by applicant]
US 20140130140A1 · Abhyanker · 2014 [cited by applicant]
US 20140153721A1 · Malone et al. · 2014 [cited by applicant]
US 20140164111A1 · Rodriguez et al. · 2014 [cited by applicant]
US 20140172852A1 · Kay · 2014 [cited by applicant]
US 20140236684A1 · Nozawa et al. · 2014 [cited by applicant]
US 20140274022A1 · Bell et al. · 2014 [cited by applicant]
US 20140310162A1 · Collins · 2014 [cited by applicant]
US 20140365459A1 · Clark et al. · 2014 [cited by applicant]
US 20150026181A1 · Milton · 2015 [cited by examiner]
US 20150082459A1 · Kelly et al. · 2015 [cited by applicant]
US 20150089621A1 · Khalid · 2015 [cited by examiner]
US 20150120706A1 · Hoffman et al. · 2015 [cited by applicant]
US 20150142807A1 · Hofmann et al. · 2015 [cited by applicant]
US 20150161207A1 · Li et al. · 2015 [cited by applicant]
US 20150249904A1 · Weiss et al. · 2015 [cited by applicant]
US 20150324891A1 · Tapley et al. · 2015 [cited by applicant]
US 20150350890A1 · Arunkumar et al. · 2015 [cited by applicant]
US 20160019238A1 · Mazniker et al. · 2016 [cited by applicant]
US 20160021173A1 · Tapia · 2016 [cited by applicant]
US 20160112859A1 · Chen et al. · 2016 [cited by applicant]
US 20160203338A1 · Dabbiru et al. · 2016 [cited by applicant]
US 20160316332A1 · Bai et al. · 2016 [cited by applicant]
US 20160344737A1 · Anton et al. · 2016 [cited by applicant]
US 20160357163A1 · Marti et al. · 2016 [cited by applicant]
US 20170116136A1 · Macnicol · 2017 [cited by examiner]
US 20170147621A1 · De Smet et al. · 2017 [cited by applicant]
US 20180069817A1 · Constantinides · 2018 [cited by applicant]
US 20200058039A1 · Russo et al. · 2020 [cited by applicant]
Iwan Briquemont et al. (Optimizing Client-side Geo-replication with Partially Replicated Data Structures, Thesis submitted for the Master's degree in computer science, Academic year 2013-2014). (Year: 2013). [cited by examiner]
Christoph Sommer, Ozan K. Tonguz, and Falko Dressler (Adaptive Beaconing for Delay-Sensitive and Congestion-Aware Traffic Information Systems, IEEE, 2010)). (Year: 2010). [cited by examiner]
MJ Carey, S Ceri, P Bernstein, U Dayal, C Faloutsos (Data-Centric Systems and Applications) ISBN: 978-3-540-74404-7- 2008—Springer (Year: 2008). [cited by examiner]
Anonymous: “Bit array—Wikipedia”, Sep. 8, 2016 (Sep. 8, 2016), XP055378557, Retrieved from the Internet: URL: https://en.wikipedia.org/w/index.php?title=Bit_array&oldid=738371255. 7 pages. [cited by applicant]
Anonymous: “Data anonymization—Wikipedia”, Aug. 30, 2016 (Aug. 30, 2016), XP055377366, Retrieved from the Internet: URL: https://en.wikipedia.org/w/index.php?title=Data_anonymization&oldid=736870776. 2 pages. [cited by applicant]
Barkhuus, Louise. “Privacy in Location-Based Services, Concern vs. Coolness.” Department of Design and Use of IT, the IT University of Copenhagen. Sep. 2004. (Year: 2004). [cited by applicant]
Beresford, Alastair R. et al. “Location Privacy in Pervasive Computing.” Published by the IEEE CS and IEEE Communications Society. Jan.-Mar. 2003. pp. 46-55. (Year: 2003). [cited by applicant]
Brief Communication for European Patent Application No. 16806327.9 dated Apr. 8, 2022. 9 pages. [cited by applicant]
Douriez M, Doraiswamy H, Freire J, Silva CT. Anonymizing nyc taxi data: Does it matter?. In2016 IEEE international conference on data science and advanced analytics (DSAA) Oct. 1, 20167 (pp. 140-148). IEEE. [cited by applicant]
Examination Report for European Patent Application No. 16806327.9 dated Jun. 18, 2020. 10 pages. [cited by applicant]
Hash function. Wikipedia. Nov. 19, 2021. 13 pages. Retrieved from the Internet: <https://en.wikipedia.org/w/index.php?title=Hash_function&oldid=745198457>. [cited by applicant]
Intention to Grant for European Patent Application No. 16806327.9 dated Oct. 11, 2022. 18 pages. [cited by applicant]
International Preliminary Report on Patentability for International Application No. PCT/US2016/060572 dated May 16, 2019. 10 pages. [cited by applicant]
International Search Report and Written Opinion for PCT Application No., PCT/US2016/060572, dated Jun. 13, 2017. 17 pages. [cited by applicant]
Iwan Briquemont et al., “Optimizing Client-side Geo-replication with Partially Replicated Data Structures,” Thesis submitted for the Master's Degree in computer science, Academic year 2013-2014; 77 pages. [cited by applicant]
Liu J, Huang Z, Cheng H, Chen Y, Shen HT, Zhang Y. Presenting diverse location views with real-time near-duplicate photo elimination. In2013 IEEE 29th International Conference on Data Engineering (ICDE) Apr. 8, 2013 (pp… [cited by applicant]
Minutes of the Oral Proceedings for European Patent Application No. 16806327.9 dated Apr. 12, 2022. 7 pages. [cited by applicant]
Patwardhan A, Parker J, Iorga M, Joshi A, Karygiannis T, Yesha Y. Threshold-based intrusion detection in ad hoc networks and secure AODV. Ad Hoc Networks. Jun. 1, 2008;6(4):578-99. [cited by applicant]
Result of Consultation and Preliminary Opinion of the Examining Division for European Patent Application No. 16806327.9 dated Apr. 1, 2022. 12 pages. [cited by applicant]
Sarah Perez: “Google Search Now Shows You When Local Businesses Are Busiest—TechCrunch”, Jul. 28, 2015 (Jul. 28, 2015), XP055335023, Retrieved from the Internet: URL: https://techcrunch.com/2015/07/28/google-search-how-… [cited by applicant]
Sommer C, Tonguz OK, Dressler F. Adaptive beaconing for delay-sensitive and congestion-aware traffic information systems. In2010 IEEE Vehicular Networking Conference Dec. 1, 20103 (pp. 1-8). IEEE. [cited by applicant]
Summons to Attend Oral Proceedings for European Patent Application No. 16806327.9 dated Sep. 29, 2021. 12 pages. [cited by applicant]
Yohan Chon and Hojung Cha (Life Map: a Smartphone-Based Context Provider for Location-Based Services, Published by the IEEE CS, Year 2011). [cited by applicant]
Zhuofeng Zhao, Jun Fang, Weilong Ding, Jianwu Wang et al. (An Integrated Processing Platform for Traffic Sensor Data and Its Applications in Intelligent Transportation Systems, 2014 IEEE). (Year: 2014). [cited by applicant]