IP Library Granted Patent US 10,013,489
Granted Patent B2
US 10,013,489 · App. 12/540,337 · Granted Jul 3, 2018

System and method for providing recommendations

Inventors: M. Cameron Jones (San Jose, CA); Elizabeth F. Churchill (San Francisco, CA); Athellina Athsani (San Jose, CA)
Assignee: OATH INC.
G06F17/30864
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 10,013,489
App. No.
12/540,337
Granted
Jul 3, 2018
Kind
B2
Abstract

Methods, systems, and computer program products for providing recommendations for an activity to a user are provided. In one method, the method tracks status information of a plurality of users, and detects a trigger for providing recommendations for an activity. In response the trigger, the method identifies a cluster of users based on the status information of the users. The method further retrieves profiles and behavioral characteristics of the users in the identified cluster, and provides one or more recommendations for the activity to the user based, at least in part, upon the behavioral characteristics and the profiles.

Claims (60)

1. A method comprising:

periodically receiving, at an application server over a network, real-time status information related to a plurality of users, said status information comprising at least information associated with at least one physical location of each user, said physical location associated with a physical location of a device of each user;

analyzing, via the application server, said received status information and extracting said physical location data for each user based on said analysis;

automatically, without user input, and based on the received real-time status information and extraction of the physical location data for each user, generating, via the application server, activity information for each user, said generated activity information comprising information associated with at least the respective physical locations of each user;

analyzing, via the application server, said generated activity information for each user in order to determine a set of users that are within a real-world, predetermined proximity to each other and to a physical location associated with an activity, said proximity associated with a geographic distance threshold, and to determine that said set of users have activity information indicating each user is at a physical location satisfying said proximity;

upon determining said set of users based on said analysis, identifying, via the application server, a profile for each user identified in said set of users, each identified profile comprising social information of a respective user, the social information comprising a list of other users with whom a user interacts, and a type and frequency of activities that the user performs with the other users identified in the social information;

analyzing, via the application server, the social information within each identified profile, and based on said analysis, determining social dynamics for each user, each user's social dynamic comprising a dynamically updated metric that represents, in real-time, that user's network influence on another user within said set of users;

creating, via the application server, an electronic message to communicate to a subset of said set of users based on said determined social dynamics, said electronic message comprising digital content associated with said activity; and

communicating, via the computing device, said electronic message to said subset of users, said communication causing a user interface (UI) to be displayed on a device of each user of the subset, wherein the digital content is displayed within each caused to be displayed UI.

2. The method of claim 1 , further comprising:

querying a recommendations database to obtain a set of digital content based on parameters drawn, at least in part, from the profiles and status information of the users in the subset; and

ranking, via the application server applying software defined by a cluster model, the digital content in the set of digital content, wherein said communicated electronic message comprises said ranked set of digital content.

3. The method of claim 1 , wherein the digital content in the electronic message comprises a search result associated with said activity.

4. The method of claim 1 , wherein said status information further comprises at least one of a current location of the users and one or more past locations visited by the users.

5. The method of claim 1 , wherein said status information further comprises temporal information of the users, the temporal information comprising at least one of time spent by a user with at least one other user, time spent by a user on one or more activities, frequency of one or more activities performed by a user, and timestamp information corresponding to one or more activities performed by a user.

6. The method of claim 1 , further comprising:

receiving a request for recommendations for the activity from a user within said plurality of users; and

detecting that the activity is scheduled to occur within a pre-defined time.

7. The method of claim 1 , wherein said set of users is determined based on computerized steps performed by the application server comprising:

determining and assigning a probability to each user in said set of users based on said status information of each user;

selecting the users with the highest probability, wherein said subset of users is further based on said highest probability selection; and

communicating, over the network, an interface to the selected users to edit the composition of the subset.

8. The method of claim 7 , further comprising:

prompting each user in the subset for acceptance of being a member of the subset; and

updating the subset to exclude users that do not accept to be a member.

9. The method of claim 1 , wherein the profile of each user comprises personal preferences and demographic information of each user.

10. An application server comprising:

a processor;

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

logic executed by the processor for periodically receiving, at an application server over a network, real-time status information related to a plurality of users, said status information comprising at least information associated with at least one physical location of each user, said physical location associated with a physical location of a device of each user;

logic executed by the processor for analyzing, via the application server, said received status information and extracting said physical location data for each user based on said analysis;

logic executed by the processor for automatically, without user input, and based on the received real-time status information and extraction of the physical location data for each user, generating, via the application server, activity information for each user, said generated activity information comprising information associated with at least the respective physical locations of each user;

logic executed by the processor for analyzing, via the application server, said generated activity information for each user in order to determine a set of users that are within a real-world, predetermined proximity to each other and to a physical location associated with an activity, said proximity associated with a geographic distance threshold, and to determine that said set of users have activity information indicating each user is at a physical location satisfying said proximity;

logic executed by the processor for upon determining said set of users based on said analysis, identifying, via the application server, a profile for each user identified in said set of users, each identified profile comprising social information of a respective user, the social information comprising a list of other users with whom a user interacts, and a type and frequency of activities that the user performs with the other users identified in the social information;

logic executed by the processor for analyzing, via the application server, the social information within each identified profile, and based on said analysis, determining social dynamics for each user, each user's social dynamic comprising a dynamically updated metric that represents, in real-time, how effective that user's network influence on another user within said set of users;

logic executed by the processor for creating, via the application server, an electronic message to communicate to a subset of said set of users based on said determined social dynamics, said electronic message comprising digital content associated with said activity; and

logic executed by the processor for communicating, via the computing device, said electronic message to said subset of users, said communication causing a user interface (UI) to be displayed on a device of each user of the subset, wherein the digital content is displayed within each caused to be displayed UI.

11. The application server of claim 10 , further comprising: logic executed by the processor for querying a recommendations database to obtain a set of digital content based on parameters drawn, at least in part, from the profiles and status information of the users in the subset; and logic executed by the processor for ranking, via the application server applying software defined by a cluster model, the digital content in the set of digital content, wherein said communicated electronic message comprises said ranked set of digital content.

12. The application server of claim 11 , wherein the digital content in the electronic message comprises a search result associated with said activity.

13. The application server of claim 11 , wherein said status information further comprises at least one of a current location of the users and one or more past locations visited by the users.

14. The application server of claim 11 , wherein said status information further comprises temporal information of the users, the temporal information comprising at least one of time spent by a user with at least one other user, time spent by a user on one or more activities, frequency of one or more activities performed by a user, and timestamp information corresponding to one or more activities performed by a user.

15. The application server of claim 11 , further comprising:

logic executed by the processor for receiving a request for recommendations for the activity from a user within said plurality of users; and

logic executed by the processor for detecting that the activity is scheduled to occur within a pre-defined time.

16. The application server of claim 11 , wherein said set of users is determined based on computerized steps performed by the application server comprising:

logic executed by the processor for determining and assigning a probability to each user in said set of users based on said status information of each user;

logic executed by the processor for selecting the users with the highest probability, wherein said subset of users is further based on said highest probability selection; and

logic executed by the processor for communicating, over the network, an interface to the selected users to edit the composition of the subset.

17. The application server of claim 16 , further comprising:

logic executed by the processor for prompting each user in the subset for acceptance of being a member of the subset; and

logic executed by the processor for updating the subset to exclude users that do not accept to be a member.

18. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, which when executed by an application server, perform a method comprising:

periodically receiving, at the application server over a network, real-time status information related to a plurality of users, said status information comprising at least information associated with at least one physical location of each user, said physical location associated with a physical location of a device of each user;

analyzing, via the application server, said received status information and extracting said physical location data for each user based on said analysis;

automatically, without user input, and based on the received real-time status information and extraction of the physical location data for each user, generating, via the application server, activity information for each user, said generated activity information comprising information associated with at least the respective physical locations of each user;

analyzing, via the application server, said generated activity information for each user in order to determine a set of users that are within a real-world, predetermined proximity to each other and to a physical location associated with an activity, said proximity associated with a geographic distance threshold, and to determine that said set of users have activity information indicating each user is at a physical location satisfying said proximity;

upon determining said set of users based on said analysis, identifying, via the application server, a profile for each user identified in said set of users, each identified profile comprising social information of a respective user, the social information comprising a list of other users with whom a user interacts, and a type and frequency of activities that the user performs with the other users identified in the social information;

analyzing, via the application server, the social information within each identified profile, and based on said analysis, determining social dynamics for each user, each user's social dynamic comprising a dynamically updated metric that represents, in real-time, that user's network influence on another user within said set of users;

creating, via the application server, an electronic message to communicate to a subset of said set of users based on said determined social dynamics, said electronic message comprising digital content associated with said activity; and

communicating, via the computing device, said electronic message to said subset of users, said communication causing a user interface (UI) to be displayed on a device of each user of the subset, wherein the digital content is displayed within each caused to be displayed UI.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2009
From: JONES, M. CAMERON; CHURCHILL, ELIZABETH F.; ATHSANI, ATHELLINA
To: YAHOO! INC.
Reel/Frame 023093/0130 →
Continuity (1)
Related Publication 20110040756A1 · Feb 17, 2011
Cited By (1)
US 12,235,853