IP Library Granted Patent US 10,831,766
Granted Patent B2
US 10,831,766 · App. 14/977,390 · Granted Nov 10, 2020

Decentralized cards platform for showing contextual cards in a stream

Inventors: Michael Plasmeier (Mountain View, CA); Paul Montoy-Wilson (Palo Alto, CA); Bernat Fortet-Unanue (San Francisco, CA); Naroo Krishnan (Sunnyvale, CA); Abhay Gupta (Los Altos, CA); Mark Daiss (Sunnyvale, CA)
Assignee: Oath Inc.
G06F16/24578G06F9/451G06F16/24G06F16/25G06F16/958H04L67/02H04L67/10H04L67/1097H04L67/42
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,831,766
App. No.
14/977,390
Granted
Nov 10, 2020
Kind
B2
Abstract

Disclosed are methods and apparatus for receiving by one or more servers, from a client device, a context of the client device. The servers may obtain, from a plurality of user interface object providers, a plurality of user interface objects. The servers may select and rank a set of the plurality of user interface objects based, at least in part, on the context of the client device. The servers may transmit the set of the plurality of user interface objects or information associated therewith to the client device according to the ranking of the set of user interface objects.

Claims (86)

1. A method, comprising:

receiving by one or more servers, from a client device, a context of the client device;

obtaining by the one or more servers, from a plurality of user interface object providers via a network, a plurality of user interface objects comprising at least one of an icon representing an application, an icon representing content, a web page, text, one or more images, a folder comprising content, a folder comprising one or more applications, or a Uniform Resource Locator (URL) via which content is to be retrieved;

obtaining, from at least one of the plurality of user interface object providers, contextual information, associated with the plurality of user interface objects, indicating one or more contexts in which the plurality of user interface objects are relevant, wherein the contextual information comprises (i) a first context indicative of a time in which a first user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on first metadata maintained in one or more first fields of the first user interface object and (ii) a second context indicative of a venue in which a second user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on second metadata maintained in one or more second fields of the second user interface object,

wherein the first metadata is indicative of at least one of whether the user interacted with the first user interface object, a percentage of users that have interacted with the first user interface object, a priority of the first user interface object, an importance of the first user interface object, a priority of a first module within the first user interface object, or an importance of the first module within the first user interface object;

ranking, by the one or more servers, a set of the plurality of user interface objects based, at least in part, on the context of the client device and the contextual information associated with the plurality of user interface objects, wherein the ranking comprises (i) determining a first rank of the first user interface object based, at least in part, on the context of the client device and the first context indicative of the time in which the first user interface object is relevant and (ii) determining a second rank of the second user interface object based, at least in part, on the context of the client device and the second context indicative of the venue in which the second user interface object is relevant; and

transmitting, by the one or more servers, content associated with the set of the plurality of user interface objects to the client device according to the ranking of the set of the plurality of user interface objects.

2. The method as recited in claim 1 , comprising:

identifying one or more recommended user interface object providers based, at least in part, on at least one of one or more applications installed on the client device, one or more services to which at least one of the user or the client device has subscribed, one or more interactions by at least one of the user or the client device with one or more user interface objects, or one or more interactions by at least one of the user or the client device with one or more applications.

3. The method as recited in claim 2 , comprising:

transmitting content indicative of the one or more recommended user interface object providers to the client device.

4. The method as recited in claim 1 , comprising:

transmitting, by the one or more servers, at least a portion of the context of the client device to at least one of the plurality of user interface object providers;

wherein at least a portion of the plurality of user interface objects are received from the at least one of the plurality of user interface object providers after the at least a portion of the context is transmitted.

5. The method as recited in claim 1 , further comprising:

receiving, from at least one of the plurality of user interface object providers, ranking guidance in association with at least one of the plurality of user interface objects;

wherein the ranking the set of the plurality of user interface objects is performed based, at least in part, on the ranking guidance.

6. The method as recited in claim 1 , comprising:

subscribing the client device or a user of the client device to at least one of the plurality of user interface object providers.

7. The method as recited in claim 1 , wherein transmitting content associated with the set of the plurality of user interface objects to the client device comprises:

transmitting the content associated with the set of the plurality of user interface objects to an application installed on the client device.

8. The method as recited in claim 1 , comprising:

determining that the first metadata indicates that the first user interface object is to be refreshed after a first amount of time; and

determining that the second metadata indicates that the second user interface object is to be refreshed responsive to a change in context.

9. The method as recited in claim 1 , wherein the contextual information further comprises a length of time that the first user interface object will be valid.

10. The method as recited in claim 1 , wherein the contextual information further comprises a third context indicative of a location in which a third user interface object of the plurality of user interface objects is relevant.

11. The method as recited in claim 1 , the first user interface object including a Uniform Resource Locator (URL) via which content associated with the first user interface object can be retrieved.

12. The method as recited in claim 1 , at least one of the plurality of user interface objects having second content associated therewith, the contextual information further comprising a geographic region, for which the second content is relevant.

13. The method as recited in claim 1 , each of the plurality of user interface objects configured to be rendered on a display.

14. A system comprising:

a first set of one or more servers; and

a second set of one or more servers, wherein the second set of one or more servers implements at least a portion of a plurality of user interface object providers;

wherein the first set of one or more servers is configured to:

obtain, from a client device, a context of the client device;

obtain, via a network from the plurality of user interface object providers, a plurality of user interface objects;

obtain, from at least one of the plurality of user interface object providers, contextual information, associated with the plurality of user interface objects, indicating one or more contexts in which the plurality of user interface objects are relevant,

wherein the contextual information comprises (i) a first context indicative of a time in which a first user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on first metadata maintained in one or more first fields of the first user interface object and (ii) a second context indicative of a venue in which a second user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on second metadata maintained in one or more second fields of the second user interface object,

wherein the first metadata is indicative of at least one of whether the user interacted with the first user interface object, a percentage of users that have interacted with the first user interface object, a priority of the first user interface object, an importance of the first user interface object, a priority of a first module within the first user interface object, or an importance of the first module within the first user interface object;

rank a set of the plurality of user interface objects based, at least in part, on the context of the client device and the contextual information associated with the plurality of user interface objects, wherein the ranking comprises determining a first rank of the first user interface object based, at least in part, on the context of the client device and the first context indicative of the time in which the first user interface object is relevant; and

transmit content associated with the set of the plurality of user interface objects to the client device according to the ranking of the set of the plurality of user interface objects.

15. The system of claim 14 , the first set of one or more servers being configured to:

obtain, from at least one of the plurality of user interface object providers, ranking guidance in association with at least one of the plurality of user interface objects;

wherein the ranking the set of the plurality of user interface objects is performed based, at least in part, on the ranking guidance.

16. The system of claim 14 , the first set of one or more servers being configured to:

obtain, from at least one of the plurality of user interface object providers, ranking guidance in association with one of the plurality of user interface objects; and

determine an accuracy of the ranking guidance based, at least in part, on historical information pertaining to user engagement with one or more user interface objects provided by the one of the plurality of user interface object providers;

wherein the ranking the set of the plurality of user interface objects is performed based, at least in part, on the ranking guidance and the accuracy of the ranking guidance.

17. The system of claim 14 , the first set of one or more servers being configured to:

transmit at least a portion of the context of the client device to at least one of the plurality of user interface object providers;

wherein at least a portion of the plurality of user interface objects are received from the at least one of the plurality of user interface object providers after the at least a portion of the context is transmitted.

18. The system of claim 14 , the first set of one or more servers being configured to:

receive a search query;

ascertain that at least one of the plurality of user interface object providers is pertinent to the search query; and

transmit search terms pertaining to the search query to the at least one of the plurality of user interface object providers;

wherein at least one of the plurality of user interface objects is received in response to transmitting the search terms pertaining to the search query to the at least one of the plurality of user interface object providers.

19. The system of claim 14 , the first set of one or more servers being configured to:

receive a search query;

identify content that is relevant to the search query; and

convert the content that is relevant to the search query such that at least one of the plurality of user interface objects is generated.

20. A system, comprising:

one or more processors; and

one or more memories, the one or more processors and the one or more memories being configured to:

obtain, from a client device, a context of the client device;

obtain, from a plurality of user interface object providers via a network, a plurality of user interface objects;

obtain contextual information, associated with the plurality of user interface objects, indicating one or more contexts in which the plurality of user interface objects are relevant,

wherein the contextual information comprises (i) a first context indicative of a venue in which a first user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on first metadata maintained in one or more first fields of the first user interface object and (ii) a second context indicative of a time in which a second user interface object of the plurality of user interface objects is relevant and determined based, at least in part, on second metadata maintained in one or more second fields of the second user interface object,

wherein the first metadata is indicative of at least one of whether the user interacted with the first user interface object, a percentage of users that have interacted with the first user interface object, a priority of the first user interface object, an importance of the first user interface object, a priority of a first module within the first user interface object, or an importance of the first module within the first user interface object;

rank a set of the plurality of user interface objects based, at least in part, on the context of the client device and the contextual information associated with the plurality of user interface objects, wherein the ranking comprises determining a first rank of the first user interface object based, at least in part, on the context of the client device and the first context indicative of the venue in which the first user interface object is relevant; and

transmit content associated with the set of the plurality of user interface objects to the client device according to the ranking of the set of the plurality of user interface objects.

21. The system of claim 20 , wherein obtaining, from the plurality of user interface object providers, a plurality of user interface objects comprises:

receiving at least one of the plurality of user interface objects from one or more servers via the Internet.

22. The system of claim 20 , the one or more processors and the one or more memories being configured to:

receive, from at least one of the plurality of user interface object providers, ranking guidance in association with one of the plurality of user interface objects;

wherein the ranking the set of the plurality of user interface objects is performed based, at least in part, on the ranking guidance.

23. The system of claim 20 , the one or more processors and the one or more memories being configured to:

receive a Uniform Resource Locator (URL) from at least one of the plurality of user interface object providers; and

retrieve one of the plurality of user interface objects via the URL.

24. The system of claim 20 , wherein obtaining a plurality of user interface objects comprises:

receiving a template from at least one of the plurality of user interface object providers;

receiving second content from the one of the plurality of user interface object providers; and

generating one of the plurality of user interface objects based, at least in part, on the template and the second content.

25. The system of claim 20 , the first user interface object having content associated therewith, wherein the first user interface object comprises computer-readable code for presenting the content associated with the first user interface object according to a particular layout.

26. The system as recited in claim 20 , at least one of the plurality of user interface objects including content, a Uniform Resource Locator (URL), or a hypertext link.

27. The system as recited in claim 20 , the one or more processors and the one or more memories being configured to:

determine a trustworthiness of each of the plurality of user interface object providers; and

rank the set of the plurality of user interface objects based, at least in part, on the trustworthiness of each of the plurality of user interface object providers.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2015
From: PLASMEIER, MICHAEL; MONTOY-WILSON, PAUL; FORTET-UNANUE, BERNAT; KRISHNAN, NAROO; GUPTA, ABHAY; DAISS, MARK
To: YAHOO! INC.
Reel/Frame 037369/0895 →
Cited By (1)
US 12,682,375