IP Library Granted Patent US 11,736,592
Granted Patent B2
US 11,736,592 · App. 17/470,317 · Granted Aug 22, 2023

Systems and methods for multi-client content delivery

Inventors: Nathan Giacalone (Cambridge, MA); Ryan McCullough (Reading, MA); Sumanth Reddy (Cambridge, MA); Brandon Ward (Somerville, MA); Andrew Busch (Waltham, MA)
Assignee: DraftKings, Inc.
H04L67/62H04L7/0054H04L7/0079H04L69/28H04L67/01
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,736,592
App. No.
17/470,317
Granted
Aug 22, 2023
Kind
B2
Abstract

In some aspects, the disclosure is directed to methods and systems for synchronized multi-client content delivery, and a content selection system based on individual and aggregated scores for the content items, to generate bundles or sets of content items having approximately corresponding scores. Server timers and local timers on client devices may be synchronized via notifications, and timer durations dynamically adjusted when client requests and responses are sent prior to client-side timer expiration, but received after server-side timer expiration, indicating communication latency has caused desynchronization. Timers may be adjusted on a global basis or per-client device basis. Through scoring and bundling, sets of content items that may be relevant to approximately an equal share of the recipient client devices may be selected and transmitted.

Claims (41)

1. A method, comprising:

transmitting, by a content server comprising one or more processors coupled to memory, to a first client device and a second client device, a set of content items selected based on a selection policy, the set of content items corresponding to a first event window of a live event;

receiving, by the content server from the first client device, a first communication corresponding to at least one content item of the set of content items, the first communication transmitted within the first event window as identified by the first client device;

receiving, by the content server from the second client device, a second communication corresponding to at least one content item of the set of content items, the second communication transmitted within the first event window as identified by the second client device;

processing, by the content server, the first communication based on a server timer for the first event window of the live event;

determining, by the content server, an offset to the server timer based on a difference between a receipt time of the second communication and a transmission time of the second communication;

discarding, by the content server, the second communication based on the second communication arriving past an expiration of the server timer plus the offset; and

updating, by the content server, an account of the second client device with a predetermined value corresponding to the set of content items responsive to discarding the second communication.

2. The method of claim 1 , further comprising updating, by the content server, an account of the first client device by decrementing a value of the account corresponding of the first client device responsive to processing the first communication.

3. The method of claim 2 , wherein decrementing the value of the account of the first client device is based on an amount indicated in the first communication.

4. The method of claim 1 , further comprising transmitting, by the content server, a synchronization notification comprising a transmission time, wherein receipt of the synchronization notification causing the first client device to:

(i) determine a local offset based on the transmission time of the synchronization notification and a corresponding receipt time; and

(ii) execute a local timer based on the first event window and the local offset.

5. The method of claim 4 , further comprising transmitting, by the content server, a second synchronization notification to the first client device and the second client device responsive to the expiration of the server timer.

6. The method of claim 1 , wherein the selection policy comprises randomly selecting at least one content item of the set of content items from a plurality of content items.

7. The method of claim 6 , wherein each content item of the set of content items is associated with a respective value, and wherein the selection policy comprises selecting, by the content server, a second content item for inclusion in the set of content items from a plurality of additional content items, such the respective value of the second content item is less than the respective value of the at least one content item.

8. The method of claim 7 , further comprising selecting, by the content server, a third content item such that the respective value of the third content item is greater than the respective value of the second content item and less than the respective value of the at least one content item.

9. The method of claim 1 , further comprising:

determining, by the content server, a percentage of a plurality of client devices that selected each content item in the set of content items; and

transmitting, by the content server to the plurality of client devices for display, the percentage of the plurality of client devices that selected each content item.

10. A system, comprising:

a content server comprising one or more processors coupled to memory, the one or more processors configured to:

transmit, to a first client device and a second client device, a set of content items selected based on a selection policy, the set of content items corresponding to a first event window of a live event;

receive, from the first client device, a first communication corresponding to at least one content item of the set of content items, the first communication transmitted within the first event window as identified by the first client device;

receive, from the second client device, a second communication corresponding to at least one content item of the set of content items, the second communication transmitted within the first event window as identified by the second client device;

process the first communication based on a server timer for the first event window of the live event;

determine an offset to the server timer based on a difference between a receipt time of the second communication and a transmission time of the second communication;

discard the second communication based on the second communication arriving past an expiration of the server timer plus the offset; and

update an account of the second client device with a predetermined value corresponding to the set of content items responsive to discarding the second communication.

11. The system of claim 10 , wherein the content server is further configured to update an account of the first client device by decrementing a value of the account corresponding of the first client device responsive to processing the first communication.

12. The system of claim 11 , wherein the content server is further configured to decrement the value of the account of the first client device based on an amount indicated in the first communication.

13. The system of claim 10 , wherein the content server is further configured to transmit a synchronization notification comprising a transmission time, wherein receipt of the synchronization notification causes the first client device to:

(i) determine a local offset based on the transmission time of the synchronization notification and a corresponding receipt time; and

(ii) execute a local timer based on the first event window and the local offset.

14. The system of claim 13 , wherein the content server is further configured to transmit a second synchronization notification to the first client device and the second client device responsive to the expiration of the server timer.

15. The system of claim 10 , wherein the selection policy comprises randomly selecting at least one content item of the set of content items from a plurality of content items.

16. The system of claim 15 , wherein each content item of the set of content items is associated with a respective value, and wherein the selection policy comprises selecting a second content item for inclusion in the set of content items from a plurality of additional content items, such the respective value of the second content item is less than the respective value of the at least one content item.

17. The system of claim 16 , wherein the content server is further configured to select a third content item such that the respective value of the third content item is greater than the respective value of the second content item and less than the respective value of the at least one content item.

18. The system of claim 10 , wherein the content server is further configured to:

determine a percentage of a plurality of client devices that selected each content item in the set of content items; and

transmit, to the plurality of client devices for display, the percentage of the plurality of client devices that selected each content item.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2024
From: BANC OF CALIFORNIA (FORMERLY KNOWN AS PACIFIC WESTERN BANK)
To: DK CROWN HOLDINGS INC.
Reel/Frame 069315/0578 →
SECURITY INTEREST Recorded Nov 7, 2024
From: DK CROWN HOLDINGS INC.; JACKPOCKET LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 069320/0109 →
CHANGE OF NAME Recorded Oct 3, 2023
From: DRAFTKINGS, INC.
To: DK CROWN HOLDINGS INC.
Reel/Frame 065103/0263 →
SECURITY INTEREST Recorded Jan 3, 2023
From: DK CROWN HOLDINGS INC.
To: PACIFIC WESTERN BANK
Reel/Frame 062266/0013 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2021
From: GIACALONE, NATHAN; MCCULLOUGH, RYAN; REDDY, SUMANTH; WARD, BRANDON; BUSCH, ANDREW
To: DRAFTKINGS, INC.
Reel/Frame 057432/0623 →
Continuity (2)
Continuation 16732004 · Dec 31, 2019
Related Publication 20210409512A1 · Dec 30, 2021