IP Library Granted Patent US 11,003,727
Granted Patent B2
US 11,003,727 · App. 15/924,833 · Granted May 11, 2021

Real-time distribution and adjustment of content placement

Inventor: Benjamin M. Bartholomew (Jersey City, NJ)
Assignee: Grubhub Holdings, Inc.
G06F16/9535G06F7/588G06F16/24578G06F16/907
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,003,727
App. No.
15/924,833
Granted
May 11, 2021
Kind
B2
Abstract

Techniques related to real-time distribution and adjustment of content placement are disclosed. A database stores score values respectively corresponding to content items. Computing device(s) are coupled to the database and to digital data storage device(s) storing instructions that cause the computing device(s) to perform a method for adjusting, at runtime, visibility of a particular content item. The method comprises computing a random value for the particular content item based on an identifier for a communication session between the computing device(s) and a client device. The method further comprises generating an adjusted score value for the particular content item based on combining the random value with a particular score value corresponding to the particular content item. Still further, the method comprises sending, to the client device via the communication session, the content items including the particular content item, which is sorted among the content items according to the adjusted score value.

Claims (56)

1. A system that is programmed for adjusting, at runtime, visibility of a particular content item of a plurality of content items in a rendering of restaurant data, the system comprising:

a database that is configured to store a plurality of score values respectively corresponding to the plurality of content items, wherein a score value of the plurality of score values is used to rank a respective content item with respect to other content items;

one or more computing devices that are coupled to the database and to one or more digital data storage devices storing instructions which, when executed using the one or more computing devices, cause the one or more computing devices to:

compute, for the particular content item of the plurality of content items, a first random value based on a first session identifier that identifies a first communication session between the one or more computing devices and a first client device;

generate a first adjusted score value for the particular content item based on combining the first random value with a particular score value, of the plurality of score values, that corresponds to the particular content item;

generate, based at least in part on the first adjusted score value for the particular content item, a randomized ranking of the particular content item with respect to the plurality of content items;

send, to the first client device via the first communication session, the plurality of content items including the particular content item, the particular content item being sorted, in a first sort order, among the plurality of content items according to the randomized ranking based at least in part on the first adjusted score value.

2. The system of claim 1 , wherein the one or more digital data storage devices store further instructions which, when executed using the one or more computing devices, cause the one or more computing devices to:

compute, for the particular content item of the plurality of content items, a second random value based on a second session identifier that identifies a second communication session between the one or more computing devices and a second client device, wherein the second session identifier is different from the first session identifier;

generate a second adjusted score value for the particular content item based on combining the second random value with the particular score value, of the plurality of score values, that corresponds to the particular content item;

generate, based at least in part on the second adjusted score value for the particular content item, a second randomized ranking of the particular content item with respect to the plurality of content items, wherein the second randomized ranking is different from the first-referenced randomized ranking;

send, to the second client device via the second communication session, the plurality of content items including the particular content item, the particular content item being sorted, in a second sort order, among the plurality of content items according to the randomized ranking based at least in part on the second adjusted score value, wherein the second sort order is different from the first sort order.

3. The system of claim 1 , wherein the first random value is computed based on hashing the first session identifier for the first communication session and an attribute of the particular content item.

4. The system of claim 1 , wherein the first random value is computed based on using the first session identifier for the first communication session as a seed value for a random number generator that takes, as input, an attribute of the particular content item.

5. The system of claim 1 , wherein the first adjusted score value causes the particular content item to be included in a first subset of the plurality of content items that is rendered, at the first client device, in a visible region of an output instead of being included in a second subset of the plurality of content items that is rendered, at the first client device, in a non-visible region of the output.

6. The system of claim 1 , wherein the first adjusted score value causes the particular content item to be included in a first subset of the plurality of content items that is rendered, at the first client device, in a non-visible region of an output instead of being included in a second subset of the plurality of content items that is rendered, at the first client device, in a visible region of the output.

7. The system of claim 1 , wherein the one or more digital data storage devices store further instructions which, when executed using the one or more computing devices before the first adjusted score value for the particular content item is generated, cause the one or more computing devices to:

determine, based on user interaction data collected from a plurality of client devices, that a number of conversions for the particular content item has exceeded a threshold value;

in response to determining that the number of conversions for the particular content item has exceeded the threshold value, determine a score adjustment value to decrease the visibility of the particular content item.

8. The system of claim 1 , wherein the one or more digital data storage devices store further instructions which, when executed using the one or more computing devices before the first adjusted score value for the particular content item is generated, cause the one or more computing devices to:

determine, based on user interaction data collected from the first client device, that a conversion for the particular content item previously occurred at the first client device;

in response to determining that the conversion for the particular content item previously occurred at the first client device, determine a score adjustment value to increase the visibility of the particular content item.

9. The system of claim 1 , wherein the one or more digital data storage devices store further instructions which, when executed using the one or more computing devices before the first adjusted score value for the particular content item is generated, cause the one or more computing devices to:

predict, based on geolocation data collected from the first client device, a travel path for the first client device;

in response to predicting the travel path for the first client device, determine a score adjustment value to increase the visibility of the particular content item according to a distance between the travel path and a location corresponding to the particular content item.

10. The system of claim 1 , wherein the one or more digital data storage devices store further instructions which, when executed using the one or more computing devices before the first adjusted score value for the particular content item is generated, cause the one or more computing devices to:

determine a particular time period during which the first communication session was established;

determine a score adjustment value to increase the visibility of the particular content item for the particular time period.

11. A method for adjusting, at runtime, visibility of a particular content item of a plurality of content items in a rendering of restaurant data, the method comprising:

storing, in a database, a plurality of score values respectively corresponding to the plurality of content items, wherein a score value of the plurality of score values is used to rank a respective content item with respect to other content items;

computing, for the particular content item of the plurality of content items, a first random value based on a first session identifier that identifies a first communication session between one or more computing devices and a first client device;

generating a first adjusted score value for the particular content item based on combining the first random value with a particular score value, of the plurality of score values, that corresponds to the particular content item;

generating, based at least in part on the first adjusted score value for the particular content item, a randomized ranking of the particular content item with respect to the plurality of content items;

sending, to the first client device via the first communication session, the plurality of content items including the particular content item, the particular content item being sorted, in a first sort order, among the plurality of content items according to the randomized ranking based at least in part on the first adjusted score value;

wherein the method is performed by the one or more computing devices.

12. The method of claim 11 , further comprising:

computing, for the particular content item of the plurality of content items, a second random value based on a second session identifier that identifies a second communication session between the one or more computing devices and a second client device, wherein the second session identifier is different from the first session identifier;

generating a second adjusted score value for the particular content item based on combining the second random value with the particular score value, of the plurality of score values, that corresponds to the particular content item;

generating, based at least in part on the second adjusted score value for the particular content item, a second randomized ranking of the particular content item with respect to the plurality of content items, wherein the second randomized ranking is different from the first-referenced randomized ranking;

sending, to the second client device via the second communication session, the plurality of content items including the particular content item, the particular content item being sorted, in a second sort order, among the plurality of content items according to the randomized ranking based at least in part on the second adjusted score value, wherein the second sort order is different from the first sort order.

13. The method of claim 11 , wherein the first random value is computed based on hashing the first session identifier for the first communication session and an attribute of the particular content item.

14. The method of claim 11 , wherein the first random value is computed based on using the first session identifier for the first communication session as a seed value for a random number generator that takes, as input, an attribute of the particular content item.

15. The method of claim 11 , wherein the first adjusted score value causes the particular content item to be included in a first subset of the plurality of content items that is rendered, at the first client device, in a visible region of an output instead of being included in a second subset of the plurality of content items that is rendered, at the first client device, in a non-visible region of the output.

16. The method of claim 11 , wherein the first adjusted score value causes the particular content item to be included in a first subset of the plurality of content items that is rendered, at the first client device, in a non-visible region of an output instead of being included in a second subset of the plurality of content items that is rendered, at the first client device, in a visible region of the output.

17. The method of claim 11 , further comprising, before generating the first adjusted score value for the particular content item:

determining, based on user interaction data collected from a plurality of client devices, that a number of conversions for the particular content item has exceeded a threshold value;

in response to determining that the number of conversions for the particular content item has exceeded the threshold value, determining a score adjustment value to decrease the visibility of the particular content item.

18. The method of claim 11 , further comprising, before generating the first adjusted score value for the particular content item:

determining, based on user interaction data collected from the first client device, that a conversion for the particular content item previously occurred at the first client device;

in response to determining that the conversion for the particular content item previously occurred at the first client device, determining a score adjustment value to increase the visibility of the particular content item.

19. The method of claim 11 , further comprising, before generating the first adjusted score value for the particular content item:

predicting, based on geolocation data collected from the first client device, a travel path for the first client device;

in response to predicting the travel path for the first client device, determining a score adjustment value to increase the visibility of the particular content item according to a distance between the travel path and a location corresponding to the particular content item.

20. The method of claim 11 , further comprising, before generating the first adjusted score value for the particular content item:

determining a particular time period during which the first communication session was established;

determining a score adjustment value to increase the visibility of the particular content item for the particular time period.

Assignments (4)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Sep 27, 2025
From: GRUBHUB HOLDINGS INC.; GRUBHUB INC.; SCVNGR, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 072953/0771 →
RELEASE OF SECURITY INTEREST Recorded Jun 15, 2021
From: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
To: GRUBHUB HOLDINGS, INC.; SCVNGR, INC.
Reel/Frame 056595/0957 →
SECURITY INTEREST Recorded Feb 5, 2019
From: GRUBHUB HOLDINGS INC.
To: CITIBANK N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 048244/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: BARTHOLOMEW, BENJAMIN M.
To: GRUBHUB HOLDINGS INC.
Reel/Frame 045276/0023 →
Continuity (2)
Provisional Application 62636330 · Feb 28, 2018
Related Publication 20190266289A1 · Aug 29, 2019