IP Library Granted Patent US 10,339,538
Granted Patent B2
US 10,339,538 · App. 10/789,869 · Granted Jul 2, 2019

Method and system for generating recommendations

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,339,538
App. No.
10/789,869
Granted
Jul 2, 2019
Kind
B2
Abstract

A method and system for generating recommendations across multiple product or service domains are disclosed. The system includes a plurality of domain servers for handling user events and for interfacing with users via the Internet, a database for storing the user events, and a recommendation engine. The recommendation engine further includes one or more computer programs containing instructions for collecting the user events across a plurality of product or service domains in the database, receiving a triggering event for recommendations, analyzing the user events to formulate correlations between the user events in the database, and generating recommendations in response to the triggering event in accordance with the correlations between the user events in the database. The disclosure uses user input data from different domains for producing recommendations in any of those domains. The disclosure allows for access to a greater amount of user input data which in turn improves the quality of recommendations.

Claims (75)

1. A method comprising:

receiving, at a domain server, data associated with a user event corresponding to a web page that is associated with a domain hosted by said domain server, the web page displaying interactive information accessible via a displayed user interface associated with a hosted media rendering application specific to the web page, the user event comprising information corresponding to a user interaction on said web page via a media rendering application, the information for each user event comprising parameters associated with a user identifier, an item identifier of an item on the web page identified from said user interaction, a type of said user interaction performed by said media rendering application, and a corresponding event value of said interaction;

automatically evaluating, via the domain server, the user event information for each user event based on each of the parameters, said evaluation comprising validating each parameter according to stored information associated with the media rendering application, said validation comprising analyzing each parameter in order to verify that the user event is enabled to be performed by the domain server on the web page at a time of said reception of the user event based on dynamically updated functionality of the media rendering application;

automatically storing, via the domain server in an associated database, upon validating the user event parameters, the information associated with said user event, said storage comprising creating data entries in the database for each parameter as an associated set of information for the user event and said web page;

upon storing said user event information, identifying, via the domain server, a digital content object comprising a similar context and functionality to that of the item identified within said user event parameters; and

automatically communicating, via the domain server, said digital content object to said user, said communication causing said web page to render the digital content object via the media rendering application when said user is viewing said web page.

2. The method of claim 1 , further comprising:

receiving data associated with a plurality of user events corresponding to a plurality of web pages hosted by the domain server, each web page comprising a specific media rendering application, each user event comprising parameters associated with a user identifier, an item identifier of an item on a web page, a type of user interaction performed by a media rendering application, and a corresponding event value.

3. The method of claim 2 , further comprising:

applying a collaborative filter to the plurality of received user events, said applied collaborative filter resulting in a computation of correlation values between parameters of each user event; and

storing the correlation values in a similarity database.

4. The method of claim 3 , further comprising:

receiving a request for recommending personalized items; and

generating personalized recommendations in accordance with the at least one correlation between the at least two user interactions.

5. The method of claim 1 , further comprising:

receiving a request for content, wherein the request includes a set of predefined parameters; and

validating the request parameters, wherein when a source domain is specified in the request, generating a first list of recommendations in accordance with the source domain, and wherein when the source domain is not specified in the request, generating the first list of recommendations in accordance with a source domain parameter in the database.

6. The method of claim 1 , further comprising:

determining whether dynamic updating of functionality parameters of the web page media rendering application is enabled,

wherein if the dynamic updating is enabled, automatically adding a new functionality parameter to a database, said new functionality parameter associated with functionality of the media rendering application, and updating the database to validate the new functionality parameter when it is included in another user event.

7. The method of claim 1 , wherein said validation further comprises:

validating the domain of the user event;

validating the event type;

validating the event value;

validating the identifier of the item; and

validating the user identifier.

8. The method of claim 3 , further comprising:

generating and communicating recommendations of similar items to said items in accordance with a priority scheme and across said domains.

9. The domain server of claim 1 , further comprising:

logic executed by the processor for receiving a request for content, wherein the request includes a set of predefined parameters; and

logic executed by the processor for validating the request parameters, wherein when a source domain is specified in the request, generating a first list of recommendations in accordance with the source domain, and wherein when the source domain is not specified in the request, generating the first list of recommendations in accordance with a source domain parameter in the database.

10. The domain server of claim 1 , further comprising:

logic executed by the processor for determining whether dynamic updating of functionality parameters of the web page media rendering application is enabled,

wherein if the dynamic updating is enabled, automatically adding a new functionality parameter to a database, said new functionality parameter associated with functionality of the media rendering application, and updating the database to validate the new functionality parameter when it is included in another user event.

11. The domain server of claim 1 , wherein said validation further comprises:

logic executed by the processor for validating the domain of the user event;

logic executed by the processor for validating the event type;

logic executed by the processor for validating the event value;

logic executed by the processor for validating the identifier of the item; and

logic executed by the processor for validating the user identifier.

12. The non-transitory computer-readable storage medium of claim 1 , further comprising:

receiving data associated with a plurality of user events corresponding to a plurality of web pages hosted by the domain server, each web page comprising a specific media rendering application, each user event comprising parameters associated with a user identifier, an item identifier of an item on a web page, a type of user interaction performed by a media rendering application, and a corresponding event value;

applying a collaborative filter to the plurality of received user events, said applied collaborative filter resulting in a computation of correlation values between parameters of each user event;

storing the correlation values in a similarity database;

receiving a request for recommending personalized items; and

generating personalized recommendations in accordance with the at least one correlation between the at least two user interactions.

13. The non-transitory computer-readable storage medium of claim 1 , further comprising:

determining whether dynamic updating of functionality parameters of the web page media rendering application is enabled,

wherein if the dynamic updating is enabled, automatically adding a new functionality parameter to a database, said new functionality parameter associated with functionality of the media rendering application, and updating the database to validate the new functionality parameter when it is included in another user event.

14. The non-transitory computer-readable storage medium of claim 12 , further comprising:

generating and communicating recommendations of similar items to said items in accordance with a priority scheme and across said domains.

15. A domain 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 receiving, at the domain server, data associated with a user event corresponding to a web page that is associated with a domain hosted by said domain server, the web page displaying interactive information accessible via a displayed user interface associated with a hosted media rendering application specific to the web page, the user event comprising information corresponding to a user interaction on said web page via a media rendering application, the information for each user event comprising parameters associated with a user identifier, an item identifier of an item on the web page identified from said user interaction, a type of said user interaction performed by said media rendering application, and a corresponding event value of said interaction;

logic executed by the processor for automatically evaluating, via the domain server, the user event information for each user event based on each of the parameters, said evaluation comprising validating each parameter according to stored information associated with the media rendering application, said validation comprising analyzing each parameter in order to verify that the user event is enabled to be performed by the domain server on the web page at a time of said reception of the user event based on dynamically updated functionality of the media rendering application;

logic executed by the processor for automatically storing, via the domain server in an associated database, upon validating the user event parameters, the information associated with said user event, said storage comprising creating data entries in the database for each parameter as an associated set of information for the user event and said web page;

logic executed by the processor for upon storing said user event information, identifying, via the domain server, a digital content object comprising a similar context and functionality to that of the item identified within said user event parameters; and

logic executed by the processor for automatically communicating, via the domain server, said digital content object to said user, said communication causing said web page to render the digital content object via the media rendering application when said user is viewing said web page.

16. The domain server of claim 15 , further comprising:

logic executed by the processor for receiving data associated with a plurality of user events corresponding to a plurality of web pages hosted by the domain server, each web page comprising a specific media rendering application, each user event comprising parameters associated with a user identifier, an item identifier of an item on a web page, a type of user interaction performed by a media rendering application, and a corresponding event value.

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

logic executed by the processor for applying a collaborative filter to the plurality of received user events, said applied collaborative filter resulting in a computation of correlation values between parameters of each user event; and

logic executed by the processor for storing the correlation values in a similarity database.

18. The domain server of claim 17 , further comprising:

logic executed by the processor for receiving a request for recommending personalized items; and

logic executed by the processor for generating personalized recommendations in accordance with the at least one correlation between the at least two user interactions.

19. The domain server of claim 17 , further comprising:

logic executed by the processor for generating and communicating recommendations of similar items to said items in accordance with a priority scheme and across said domains.

20. A non-transitory computer-readable storage medium tangibly storing thereon computer-executable instruction, that when executed by a processor associated with a domain server, perform a method comprising:

receiving, at the domain server, data associated with a user event corresponding to a web page that is associated with a domain hosted by said domain server, the web page displaying interactive information accessible via a displayed user interface associated with a hosted media rendering application specific to the web page, the user event comprising information corresponding to a user interaction on said web page via a media rendering application, the information for each user event comprising parameters associated with a user identifier, an item identifier of an item on the web page identified from said user interaction, a type of said user interaction performed by said media rendering application, and a corresponding event value of said interaction;

automatically evaluating, via the domain server, the user event information for each user event based on each of the parameters, said evaluation comprising validating each parameter according to stored information associated with the media rendering application, said validation comprising analyzing each parameter in order to verify that the user event is enabled to be performed by the domain server on the web page at a time of said reception of the user event based on dynamically updated functionality of the media rendering application;

automatically storing, via the domain server in an associated database, upon validating the user event parameters, the information associated with said user event, said storage comprising creating data entries in the database for each parameter as an associated set of information for the user event and said web page;

upon storing said user event information, identifying, via the domain server, a digital content object comprising a similar context and functionality to that of the item identified within said user event parameters; and

automatically communicating, via the domain server, said digital content object to said user, said communication causing said web page to render the digital content object via the media rendering application when said user is viewing said web page.

Assignments (5)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
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 →