IP Library Granted Patent US 10,744,413
Granted Patent B2
US 10,744,413 · App. 16/123,740 · Granted Aug 18, 2020

Systems and methods for dynamically generating event cards from message streams

Inventors: Daniel Kesack (Ipswich, MA); William Hester (Boston, MA); Jessie Haffey (Somerville, MA); Jonathan Nguyen (Cambridge, MA)
Assignee: DraftKings, Inc.
A63F13/65A63F13/355A63F13/46A63F13/828H04L67/141H04L67/26H04W4/18H04W4/21G06F40/106H04L67/02H04L67/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,744,413
App. No.
16/123,740
Granted
Aug 18, 2020
Kind
B2
Abstract

Systems and methods for dynamically generating event cards from message streams is provided. A system receives a message of a sequence of messages from a content source, determine, from the message, the game condition of the game, compare the game condition with a previous game condition and determines events that occurred in the game based on the message and the comparison. The system can determine, for each event of the one or more events, an event type and individual player contributions of one or more players and assign, for each event of the one or more events, to each player that contributed in the event, a points allocation corresponding to the player's contribution in the event based on the points assignment policy and the event type. The system can generate event cards and transmit the event cards to emote devices according to a content filtering policy.

Claims (91)

1. A method for dynamically generating event cards from message streams, comprising:

receiving, by an event generation system including one or more processors, a message of a sequence of messages from a content source, each message of the sequence of messages received at least a predetermined amount of time after a preceding message, the message identifying information relating to a game condition of a game;

determining, by the event generation system, from the message, the game condition of the game;

comparing by the event generation system, the game condition of the game with a previous game condition of the game determined based on a message preceding the message;

determining, by the event generation system, one or more events that occurred in the game based on content of the message and the comparison;

determining, by the event generation system, for each event of the one or more events, an event type and individual player contributions of one or more players;

assigning, by the event generation system, for each event of the one or more events, to each player that contributed in the one or more events, a points allocation corresponding to the player's contribution in at least one event of the one or more events based on a points assignment policy for assigning points to players and the event type;

generating, by the event generation system, for the one or more events for which points allocation were assigned to at least one player, respective event cards including i) a game identifier identifying the game, ii) the game condition, iii) the event type, iv) one or more players identifiers identifying the players that were assigned a points allocation, and v) a number of points in the points allocation that was assigned to each of the players that were assigned a points allocation; and

transmitting, by the event generation system, at least one of the generated event cards to one or more remote devices for display in a content feed including a plurality of event cards corresponding to the game.

2. The method of claim 1 , further comprising:

identifying, by the event generation system, a player list associated with a user of the event generation system, the player list including a list of players the user has selected in one or more fantasy sports lineups submitted to a fantasy sports system;

determining, by the event generation system, that a first event card of the generated event cards identifies a player included in the player list of the user; and

transmitting, by the event generation system, the first event card to a remote device of the user responsive to determining that the player identified in the first event card is included in the player list of the user.

3. The method of claim 2 , further comprising:

determining, by the event generation system, that a second event card of the generated event cards does not identify any player included in the player list of the user; and

restricting, by the event generation system, transmission of the second event card to the remote device of the user responsive to determining that the second event card of the generated event cards does not identify any player included in the player list of the user.

4. The method of claim 1 , further comprising:

maintaining, by the event generation system, for each player, a points tally identifying a total number of points allocated to the player in the game; and

updating, by the event generation system, for each player to which points were assigned based on the one or more events identified in the message, the points tally by adjusting the points tally based on the amount of points assigned to the player for the one or more events identified in the message.

5. The method of claim 1 , wherein the message is a first message and wherein the method further comprising:

receiving, by the event generation system, a second message of the sequence of messages subsequent to the first message from the content source, the second message identifying information relating to a new game condition of the game;

determining, by the event generation system, from the second message, the new game condition of the game;

comparing by the event generation system, the game condition of the game with a previous game condition of the game determined based on the first message;

determining, by the event generation system, one or more events that occurred in the game based on content of the second message and the comparison;

determining, by the event generation system, for each event of the one or more events relating to the second message, an event type and individual player contributions of one or more players;

assigning, by the event generation system, for each event of the one or more events relating to the second message, to each player that contributed in the event, a points allocation corresponding to the player's contribution in the event based on the points assignment policy and the event type;

generating, by the event generation system, respective event cards for the events for which points allocation were assigned to at least one player; and

transmitting, by the event generation system, at least one of the generated event cards to a subset of the one or more remote devices subsequent to transmitting the event cards corresponding to the first message.

6. The method of claim 1 , further comprising:

executing, by the event generation system, an event algorithm using time based data from the message of the sequence of messages from the content source;

determining, by the event generation system using the event algorithm, one or more data points that changed value responsive to the time based data, the one or more data points corresponding to the at least one event of the one or more events; and

converting, by the event generation system using the event algorithm, the time based data to event based data corresponding to the at least one event of the one or more events.

7. The method of claim 1 , further comprising:

determining, by the event generation system, that a first event card of the generated event cards identifies a player included in a player list of a user of the event generation system; and

dynamically updating the content feed of at least one remote device of the user with the first event card.

8. The method of claim 1 , further comprising:

dynamically updating the content feed of at least one remote device of a first user with a first event card; and

dynamically updating the content feed of at least one remote device of a second user with the first event card.

9. The method of claim 1 , wherein the message is a first message and wherein the method further comprising:

receiving, by the event generation system, a second message of the sequence of messages subsequent to the first message from the content source, the second message identifying information relating to a new game condition of the game;

dynamically modifying the number of points in the points allocation assigned to a first player that contributed in the event responsive to the second message; and

dynamically modifying the number of points in the points allocation assigned to a second player that contributed in the event responsive to the second message.

10. The method of claim 1 , wherein the message is a first message and the method further comprises:

dynamically modifying the game condition of a first event card for a first user event generation system responsive to a second message of the sequence of messages; and

dynamically modifying the game condition of the first event card for the first user event generation system responsive to a third message of the sequence of messages, the third message subsequent to the second message of the sequence of messages.

11. A system for dynamically generating event cards from message streams, comprising:

an event generation system including one or more processors configured to:

receive a message of a sequence of messages from a content source, each message of the sequence of messages received at least a predetermined amount of time after a preceding message, the message identifying information relating to a game condition of a game;

determine, from the message, the game condition of the game;

compare the game condition of the game with a previous game condition of the game determined based on a message preceding the message;

determine one or more events that occurred in the game based on content of the message and the comparison;

determine, for each event of the one or more events, an event type and individual player contributions of one or more players;

assign, for each event of the one or more events, to each player that contributed in the one or more events, a points allocation corresponding to the player's contribution in at least one event of the one or more events based on a points assignment policy and the event type;

generate, for the one or more events for which points allocation were assigned to at least one player, respective event cards including i) a game identifier identifying the game, ii) the game condition, iii) the event type, iv) one or more players identifiers identifying the players that were assigned a points allocation, and v) a number of points in the points allocation that was assigned to each of the players that were assigned a points allocation; and

transmit at least one of the generated event cards to one or more remote devices for display in a content feed including a plurality of event cards corresponding to the game.

12. The system of claim 11 , wherein the event generation system is further configured to:

identify a player list associated with a user of the event generation system, the player list including a list of players the user has selected in one or more fantasy sports lineups submitted to a fantasy sports system;

determine that a first event card of the generated event cards identifies a player included in the player list of the user; and

transmit the first event card to a remote device of the user responsive to determining that the player identified in the first event card is included in the player list of the user.

13. The system of claim 12 , wherein the event generation system is further configured to:

determine, that a second event card of the generated event cards does not identify any player included in the player list of the user; and

restrict transmission of the second event card to the remote device of the user responsive to determining that the second event card of the generated event cards does not identify any player included in the player list of the user.

14. The system of claim 11 , wherein the event generation system is further configured to:

maintain, for each player, a points tally identifying a total number of points allocated to the player in the game; and

update, for each player to which points were assigned based on the one or more events identified in the message, the points tally by adjusting the points tally based on the amount of points assigned to the player for the one or more events identified in the message.

15. The system of claim 11 , wherein the message is a first message and wherein the event generation system is further configured to:

receive a second message of the sequence of messages subsequent to the first message from the content source, the second message identifying information relating to a new game condition of the game;

determine, from the second message, the new game condition of the game;

compare the game condition of the game with a previous game condition of the game determined based on the first message;

determine one or more events that occurred in the game based on content of the second message and the comparison;

determine, for each event of the one or more events relating to the second message, an event type and individual player contributions of one or more players;

assign, for each event of the one or more events relating to the second message, to each player that contributed in the event, a points allocation corresponding to the player's contribution in the event based on the points assignment policy and the event type;

generate, respective event cards for the events for which points allocation were assigned to at least one player; and

transmit at least one of the generated event cards to a subset of the one or more remote devices subsequent to transmitting the event cards corresponding to the first message.

16. The system of claim 11 , wherein the event generation system is further configured to:

determine that a first event card of the generated event cards identifies a player included in a player list of a user of the event generation system; and

dynamically update the content feed of at least one remote device of the user with the first event card.

17. The system of claim 11 , wherein the event generation system is further configured to:

execute an event algorithm using time based data from the message of the sequence of messages from the content source;

determine, using the event algorithm, one or more data points that changed value responsive to the time based data, the one or more data points corresponding to at least one event of the one or more events; and

convert, using the event algorithm, the time based data to event based data corresponding to the at least one event of the one or more events.

18. The system of claim 11 , wherein the event generation system is further configured to:

dynamically update the content feed of at least one remote device of a first user with a first event card; and

dynamically update the content feed of at least one remote device of a second user with the first event card.

19. The system of claim 11 , wherein the message is a first message and wherein the event generation system is further configured to:

receive a second message of the sequence of messages subsequent to the first message from the content source, the second message identifying information relating to a new game condition of the game;

dynamically modify the number of points in the points allocation assigned to a first player that contributed in the event responsive to the second message; and

dynamically modify the number of points in the points allocation assigned to a second player that contributed in the event responsive to the second message.

20. The system of claim 11 , wherein the message is a first message and wherein the event generation system is further configured to:

dynamically modify the game condition of a first event card for a first user event generation system responsive to a second message of the sequence of messages; and

dynamically modify the game condition of the first event card for the first user event generation system responsive to a third message of the sequence of messages, the third message subsequent to the second message of the sequence of messages.

Assignments (7)
SECURITY INTEREST Recorded Nov 7, 2024
From: DK CROWN HOLDINGS INC.; JACKPOCKET LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 069320/0109 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 30, 2022
From: PACIFIC WESTERN BANK
To: DK CROWN HOLDINGS INC. (F/K/A DRAFTKINGS INC.)
Reel/Frame 062245/0909 →
SECURITY INTEREST Recorded Aug 21, 2019
From: DRAFTKINGS INC.
To: PACIFIC WESTERN BANK
Reel/Frame 050115/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2018
From: KESACK, DANIEL; HESTER, WILLIAM; HAFFEY, JESSIE; NGUYEN, JONATHAN
To: DRAFTKINGS, INC.
Reel/Frame 047095/0590 →
Cited By (3)
US 12,226,699 US 12,261,907 US 12,452,343