IP Library Granted Patent US 9,607,090
Granted Patent B2
US 9,607,090 · App. 14/160,400 · Granted Mar 28, 2017

Computer implemented methods and apparatus for recommending events

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 9,607,090
App. No.
14/160,400
Granted
Mar 28, 2017
Kind
B2
Abstract

Disclosed are methods, apparatus, systems, and computer-readable storage media for recommending an event to a user. In some implementations, one or more servers receive information identifying a plurality of events. The one or more servers store data of the plurality of events in a first one or more data tables having an action field, an item field, and a user field, and analyze the data of the first one or more data tables to generate one or more pairs, each pair including information identifying a set of events and a target event. The one or more servers may calculate a similarity score for each of the one or more pairs and store the respective similarity score in a second one or more data tables having a set field, a target event field, and a similarity score field.

Claims (52)

1. A system for recommending an event to a user, the system comprising:

a database system implemented using a server system, the server system configured to cause:

processing event data associated with a plurality of events, the event data identifying for each even an action, an item and a user associated with the event;

storing or maintaining the event data using a first one or more data objects of a database of the database system;

determining a plurality of pairs based on the event data using a collaborative filter table, the collaborative filter table identifying a set of events and a target event for each pair, the pairs including a first pair identifying a first set of events and a first target event, the first set of events including an event having a first action of a first action type, the target event having a second action of a second action type, the first action type being different from the second action type;

determining a collaborative filtering similarity for each pair based on at least a frequency of performing the set of events identified by the pair in association with performing the target event of the pair;

storing information identifying the pairs and the respective collaborative filtering similarities using a second one or more data objects of a database of the database system;

processing event information associated with a first user;

identifying, based on the pairs, the respective collaborative filtering similarities and the event information, a first event to be recommended to the first user; and

transmitting, to a computing device associated with the first user, recommendation data for displaying in a user interface on a display of the computing device a recommendation that the first user perform the identified first event.

2. The system of claim 1 , the server system further configured to cause:

transmitting, to the computing device, instructions for arranging or rearranging displayed data and/or user interface components in the user interface to highlight the identified first event.

3. The system of claim 2 , wherein rearranging the displayed data includes repositioning a displayed link in a list of links to an upper region of the list of links, the displayed link representing the identified first event.

4. The system of claim 2 , wherein arranging or rearranging the displayed data includes presenting in the user interface a button or a tab associated with the identified first event.

5. The system of claim 4 , wherein presenting the button or the tab includes positioning the button or the tab at a designated location of the user interface.

6. The system of claim 1 , wherein the events include one or more of: following a user, following a record, clicking a link, joining a group, conversing with a user, accessing a file, acting on a record, acting on a customer relationship management (CRM) object, accessing an image, accessing a video, accessing audio data, communicating with a group or with a user, buying an item, selling an item, performing a search, or following a topic.

7. The system of claim 1 , wherein each action is of an action type, the action type being one of: following, clicking, joining, accessing, downloading, viewing, searching, communicating, buying, selling, recommending, rating, opening, closing, deleting, creating, or updating.

8. The system of claim 1 , wherein an item is one of: a record, a link, an image, a video, a document, a user, a group, a file, a CRM object, a topic, or an article.

9. The system of claim 1 , wherein each set of events includes a sequence of events performed in a particular order by a single user.

10. The system of claim 1 , wherein each set of events includes events performed within a designated time interval by a single user.

11. The system of claim 1 , wherein each set of events has a length being a number of events in the set.

12. The system of claim 11 , wherein the lengths of all of the sets of events are greater than one.

13. The system of claim 1 , wherein the collaborative filtering similarity for a pair is normalized for a frequency that the set of events is performed.

14. The system of claim 1 , wherein the collaborative filtering similarity is based on a cosine-based similarity score.

15. A method for recommending an event to a user, method comprising:

processing, using a database system, event data associated with a plurality of events, the event data identifying for each event an action, an item, and a user associated with the event;

storing or maintaining the event data using a first one or more data objects of a database of the database system;

determining a plurality of pairs based on the event data using a collaborative filter table, the collaborative filter table identifying a set of events and a target event for each pair, the pairs including a first pair identifying a first set of events and a first target event, the first set of events including an event having a first action of a first action type, the target event having a second action of a second action type, the first action type being different from the second action type;

determining a collaborative filtering similarity for each pair based on at least a frequency of performing the set of events identified by the pair in association with performing the target event of the pair;

storing information identifying the pairs and the respective collaborative filtering similarities using a second one or more data objects of a database of the database system;

processing event information associated with a first user;

identifying, based on the pairs, the respective collaborative filtering similarities and the event information, a first event to be recommended to the first user; and

transmitting, to a computing device associated with the first user, recommendation data for displaying in a user interface on a display of the computing device a recommendation that the first user perform the identified first event.

16. The method of claim 15 , further comprising:

transmitting, to the computing device, instructions for arranging or rearranging displayed data and/or user interface components in the user interface to highlight the identified first event.

17. The method of claim 16 , wherein arranging or rearranging the displayed data includes presenting in the user interface a button or a tab associated with the identified first event.

18. The method of claim 17 , wherein presenting the button or the tab includes positioning the button or the tab at a designated location of the user interface.

19. The method of claim 16 , wherein rearranging the displayed data includes repositioning a displayed link in a list of links to an upper region of the list of links, the displayed link representing the identified first event.

20. A computer program product comprising program code to be executed by at least one processor when retrieved from a non-transitory computer-readable storage medium for recommending an event to a user, the program code comprising instructions configured to cause:

processing, using a database system, event data associated with a plurality of events, the event data identifying for each event an action, an item, and a user associated with the event;

storing or maintaining the event data using a first one or more data objects of a database of the database system;

determining a plurality of pairs based on the event data using a collaborative filter table the collaborative filter table identifying a set of events and a target event for each pair, the pairs including a first pair identifying a first set of events and a first target event, the first set of events including an event having a first action of a first action type, the target event having a second action of a second action type, the first action type being different from the second action type;

determining a collaborative filtering similarity for each pair based on at least a frequency of performing the set of events identified by the pair in association with performing the target event of the pair;

storing information identifying the pairs and the respective collaborative filtering similarities using a second one or more data objects of a database of the database system;

processing event information associated with a first user;

identifying, based on the pairs, the respective collaborative filtering similarities and the event information, a first event to be recommended to the first user; and

transmitting, to a computing device associated with the first user, recommendation data for displaying in a user interface on a display of the computing device a recommendation that the first user perform the identified first event.

21. The computer program product of claim 20 , the instructions further configured to cause:

transmitting, to the computing device, instructions for arranging or rearranging displayed data and/or user interface components in the user interface to highlight the identified first event.

22. The computer program product of claim 21 , wherein arranging or rearranging the displayed data includes presenting in the user interface a button or a tab associated with the identified first event.

23. The computer program product of claim 22 , wherein presenting the button or the tab includes positioning the button or the tab at a designated location of the user interface.

24. The computer program product of claim 21 , wherein rearranging the displayed data includes repositioning a displayed link in a list of links to an upper region of the list of links, the displayed link representing the identified first event.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2014
From: PALMERT, JOEL; MENG, XIAO
To: SALESFORCE.COM, INC.
Reel/Frame 033042/0759 →