IP Library Granted Patent US 11,462,125
Granted Patent B2
US 11,462,125 · App. 15/855,770 · Granted Oct 4, 2022

Empirical expert determination and question routing system and method

Inventors: Lenny Rachitsky (San Francisco, CA); Samuel Alan Haugh (San Francisco, CA); Nelson Aurel Gauthier (San Francisco, CA)
Assignee: Airbnb, Inc.
G09B19/0061G09B7/00H04L67/10H04W4/021H04W4/027H04W4/029H04W4/21
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 11,462,125
App. No.
15/855,770
Granted
Oct 4, 2022
Kind
B2
Abstract

Systems and methods for empirical expert determination and question and answer routing are provided. They system collects location tracking data about each user and analyzes the location tracking data to empirically determine the level of expertise a particular user has for a specific venue/event or a specific geographic region at a particular scale on a map. The system receives questions about a specific venue/event or about a category of venue/event in a specific geographic region at a particular scale on a map and routes those questions in real time to one or more experts for the specific venue/event or the category of venue/event in the specific geographic region. The system receives a response to the question from at least one of the one or more experts and routes the response back to the requestor, also in real time. The system also efficiently represents the location of a plurality of venues/events and/or users within a specific geographic region on a displayed map at a plurality of scales of the map.

Claims (90)

1. A method for routing electronic communications to computing devices based on real-time GPS location data accessed from an external source, the method comprising:

continuously receiving, by an online computing system, each time each user, of a plurality of users, checks into a venue or publicly posts a status update from a location, real-time GPS location data from each of a plurality of computing device, each computing device associated with a respective user;

continuously analyzing the real-time GPS location data to generate, from the real-time GPS location data, a profile for each user, each profile including data comprising specific venues that the user has visited, a number of times the user has visited each specific venue of the specific venues, date, time and duration of each visit to each specific venue, a category of each specific venue, and one or more map scales;

continuously analyzing the profile data for each user to generate and update a list of users knowledgeable about a first category of venue at a particular map scale, by performing operations comprising:

assigning points to a user based on a number and frequency of visits to one or more venues in the first category of venue;

identifying map scales corresponding to the visits to the one or more venues in the first category of venue and assigning points to the user based on the identified map scales corresponding to the particular map scale;

generating a total score for the user based on the assigned points to the user; and

adding the user to the list of users knowledgeable upon determining that the total score for the user exceeds a threshold score;

receiving, by the online computing system, a query from a first computing device;

routing the query, in real time by the online computing system, to one or more of the plurality of computing devices by performing operations comprising:

analyzing the query to determine a category of venue associated with the query and map scale based on a scale of map displayed on the first computing device by translating an area of interest shown on the map displayed on the first computing device to a latitude and longitude and a radius for the map scale;

determining that the category of venue and map scale correspond to the first category at the particular map scale; and

transmitting, to each computing device associated with each user in the list of users knowledgeable about the first category of venue at the particular map scale, the received query from the first computing device;

receiving, by the online computing system over a network, a response to the query about the venue from each of the computing devices associated with a subset of users in the list of users;

causing display, in real time on a user interface of the first computing device, of the response to the query from each of the computing devices associated with the subset of users in the list of users, wherein causing display comprises:

determining the scale of the map displayed on the first computing device;

accessing a plurality of annotations associated with coordinates corresponding to the scale of the map;

determining that first and second annotations of the plurality of annotations overlap each other by a predetermined percentage; and

in response to determining that first and second annotations of the plurality of annotations overlap each other by the predetermined percentage, combining the first and second annotations into a first cluster, such that the first and second annotations are presented as a single annotation comprising the first cluster on the map displayed on the first computing device; and

updating, by the online computing system, the total score for each user of the subset of users based on the response received from the computing device associated with each user of the subset of users.

2. The method of claim 1 further comprising:

updating a venue profile associated with the query based on the response to the query from each of the computing devices associated with the subset of users in the list of users.

3. The method of claim 2 further comprising:

transmitting a query about a venue associated with the query to a third-party provider of venue information;

receiving a query response from the third-party provider; and

updating the venue profile based on the query response.

4. The method of claim 1 , further comprising:

determining that third and fourth annotations of the plurality of annotations are currently combined into a second cluster;

determining that respective coordinates of the third and fourth annotations fail to overlap each other by the predetermined percentage; and

in response to determining that the respective coordinates of the third and fourth annotations fail to overlap each other by the predetermined percentage, breaking up the second cluster to individually present the third and fourth annotations as separate annotations on the map.

5. The method of claim 1 comprising verifying that a first user in the list of users knowledgeable about the first category of venue at the particular map scale attended a venue associated with the venue category within a time period.

6. The method of claim 1 comprising verifying at least one of a date and a time that a first user in the list of users knowledgeable about the first category of venue at the particular map scale attended a venue associated with the venue category.

7. The method of claim 1 comprising verifying a duration for which a first user in the list of users knowledgeable about the first category of venue at the particular map scale attended a venue associated with the venue category.

8. The method of claim 1 further comprising analyzing the response to determine one or more categories associated with the response.

9. The method of claim 1 further comprising analyzing the response to determine one or more geographic regions associated with the response.

10. The method of claim 1 , further comprising updating a profile for each user of the subset of users to include a respective response to the query.

11. The method of claim 1 , causing display of a point total earned for the response to the query on each computing device associated with each of the subset of users.

12. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor of an online computing system to perform operations for routing electronic communications to computing devices based on real-time GPS location data accessed from an external source, the operations comprising:

continuously receiving, each time each user, of a plurality of users, checks into a venue or publicly posts a status update from a location, real-time GPS location data from each of a plurality of computing device, each computing device associated with a respective user;

continuously analyzing the real-time GPS location data to generate, from the real-time GPS location data, a profile for each user, each profile including data comprising specific venues that the user has visited, a number of times the user has visited each specific venue of the specific venues, date, time and duration of each visit to each specific venue, a category of each specific venue, and one or more map scales;

continuously analyzing the profile data for each user to generate and update a list of users knowledgeable about a first category of venue at a particular map scale, by performing operations comprising:

assigning points to a user based on a number and frequency of visits to one or more venues in the first category of venue;

identifying map scales corresponding to the visits to the one or more venues in the first category of venue and assigning points to the user based on the identified map scales corresponding to the particular map scale;

generating a total score for the user based on the assigned points to the user; and

adding the user to the list of users knowledgeable upon determining that the total score for the user exceeds a threshold score;

receiving a query from a first computing device;

routing the query, in real time by the online computing system, to one or more of the plurality of computing devices by performing operations comprising:

analyzing the query to determine a category of venue associated with the query and map scale based on a scale of map displayed on the first computing device by translating an area of interest shown on the map displayed on the first computing device to a latitude and longitude and a radius for the map scale;

determining that the category of venue and map scale correspond to the first category at the particular map scale; and

transmitting, to each computing device associated with each user in the list of users knowledgeable about the first category of venue at the particular map scale, the received query from the first computing device;

receiving, over a network, a response to the query about the venue from each of the computing devices associated with a subset of users in the list of users;

causing display, in real time on a user interface of the first computing device, of the response to the query from each of the computing devices associated with the subset of users in the list of users, wherein causing display comprises:

determining the scale of the map displayed on the first computing device;

accessing a plurality of annotations associated with coordinates corresponding to the scale of the map;

determining that first and second annotations of the plurality of annotations overlap each other by a predetermined percentage; and

in response to determining that first and second annotations of the plurality of annotations overlap each other by the predetermined percentage, combining the first and second annotations into a first cluster, such that the first and second annotations are presented as a single annotation comprising the first cluster on the map displayed on the first computing device; and

updating, by the online computing system, the total score for each user of the subset of users based on the response received from the computing device associated with each user of the subset of users.

13. The computer-readable storage medium of claim 12 , the operations further comprising:

updating a venue profile associated with the query based on the response to the query from each of the computing devices associated with the subset of users in the list of users.

14. The computer-readable storage medium of claim 12 , the operations further comprising:

transmitting a query about a venue associated with the query to a third-party provider of venue information;

receiving a query response from the third-party provider; and

updating the venue profile based on the query response.

15. The computer-readable storage medium of claim 12 , the operations further comprising verifying that a first user in the list of users knowledgeable about the first category of venue at the particular map scale is currently at a venue associated with the venue category.

16. The computer-readable storage medium of claim 12 , the operations further comprising verifying that a first user in the list of users knowledgeable about the first category of venue at the particular map scale attended a venue associated with the venue category within a time period.

17. The computer-readable storage medium of claim 12 , the operations further comprising verifying at least one of a date that a first user in the list of users knowledgeable about the first category of venue at the particular map scale attended a venue associated with the venue category, a time that the first user attended the venue, and a duration for which the first user attended the venue.

18. The computer-readable storage medium of claim 12 , the operations further comprising analyzing the response to determine at least one of a category associated with the response or a geographic region associated with the response.

19. The computer-readable storage medium of claim 12 , the operations further comprising updating a profile for each user of the subset of users to include a respective response to the query.

20. An online computing system comprising:

at least one processor; and

a memory coupled with the at least one processor, the memory comprising instructions which, when executed by the processor, cause the system to perform operations for routing electronic communications to computing devices based on real-time GPS location data accessed from an external source, the operations comprising:

continuously receiving, each time each user, of a plurality of users, checks into a venue or publicly posts a status update from a location, real-time GPS location data from each of a plurality of computing device, each computing device associated with a respective user;

continuously analyzing the real-time GPS location data to generate, from the real-time GPS location data, a profile for each user, each profile including data comprising specific venues that the user has visited, a number of times the user has visited each specific venue of the specific venues, date, time and duration of each visit to each specific venue, a category of each specific venue, and one or more map scales;

continuously analyzing the profile data for each user to generate and update a list of users knowledgeable about a first category of venue at a particular map scale, by performing operations comprising:

assigning points to a user based on a number and frequency of visits to one or more venues in the first category of venue;

identifying map scales corresponding to the visits to the one or more venues in the first category of venue and assigning points to the user based on the identified map scales corresponding to the particular map scale;

generating a total score for the user based on the assigned points to the user; and

adding the user to the list of users knowledgeable upon determining that the total score for the user exceeds a threshold score;

receiving a query from a first computing device;

routing the query, in real time by the online computing system, to one or more of the plurality of computing devices by performing operations comprising:

analyzing the query to determine a category of venue associated with the query and map scale based on a scale of map displayed on the first computing device by translating an area of interest shown on the map displayed on the first computing device to a latitude and longitude and a radius for the map scale;

determining that the category of venue and map scale correspond to the first category at the particular map scale; and

transmitting, to each computing device associated with each user in the list of users knowledgeable about the first category of venue at the particular map scale, the received query from the first computing device;

receiving, over a network, a response to the query about the venue from each of the computing devices associated with a subset of users in the list of users;

causing display, in real time on a user interface of the first computing device, of the response to the query from each of the computing devices associated with the subset of users in the list of users, wherein causing display comprises:

determining the scale of the map displayed on the first computing device;

accessing a plurality of annotations associated with coordinates corresponding to the scale of the map,

determining that first and second annotations of the plurality of annotations overlap each other by a predetermined percentage, and

in response to determining that first and second annotations of the plurality of annotations overlap each other by the predetermined percentage, combining the first and second annotations into a first cluster, such that the first and second annotations are presented as a single annotation comprising the first cluster on the map displayed on the first computing device; and

updating, by the online computing system, the total score for each user of the subset of users based on the response received from the computing device associated with each user of the subset of users.

Assignments (8)
RELEASE (REEL 054586 / FRAME 0033) Recorded Nov 1, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: AIRBNB, INC.
Reel/Frame 061825/0910 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 21, 2021
From: TOP IV TALENTS, LLC
To: AIRBNB, INC.
Reel/Frame 055997/0907 →
RELEASE OF SECURITY INTEREST Recorded Mar 8, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: AIRBNB, INC.
Reel/Frame 055527/0531 →
SECURITY AGREEMENT Recorded Nov 19, 2020
From: AIRBNB, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054586/0033 →
FIRST LIEN SECURITY AGREEMENT Recorded Apr 21, 2020
From: AIRBNB, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC
Reel/Frame 052456/0036 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 17, 2020
From: AIRBNB, INC.
To: TOP IV TALENTS, LLC, AS COLLATERAL AGENT
Reel/Frame 052433/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2018
From: LOCALMIND, CORP.
To: AIRBNB, INC.
Reel/Frame 044964/0919 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2018
From: RACHITSKY, LENNY; HAUGH, SAMUEL ALAN; GAUTHIER, NELSON AUREL
To: LOCALMIND, CORP.
Reel/Frame 044964/0923 →