IP Library Granted Patent US 11,392,394
Granted Patent B2
US 11,392,394 · App. 16/554,197 · Granted Jul 19, 2022

Systems and methods for in-application dynamic content loading

Inventors: Jon Nguyen (Boston, MA); Daniel Kraus (Dedham, MA); Brian Tourtellott (Norwood, MA); Jason Rowe (South Hamilton, MA)
Assignee: DraftKings, Inc.
G06F9/44521G06F16/9566
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,392,394
App. No.
16/554,197
Granted
Jul 19, 2022
Kind
B2
Abstract

In some aspects, the disclosure is directed to methods and systems for in-application dynamic content loading via a hybrid process, including both local and remote content items, via a content handler intercepting requests in a predetermined uniform resource locator (URL) scheme and redirecting the requests to local storage or a remote content provider, transparently to a browser application or webview of the application, and avoiding restrictions imposed by an operating system of the device. Content may be dynamically updated on the content provider server by developers, and dynamically loaded during execution of the application on client devices, without requiring updates to be provided to an application store or publisher server.

Claims (45)

1. A method for in-application dynamic content loading, comprising:

executing, by a computing device, an application comprising a browser application and a content handler;

intercepting, by the content handler, a first request from the browser application to retrieve an item of content via a uniform resource locator (URL) having a domain portion and a directory portion, responsive to the first request having a first predetermined URL scheme;

determining, by the content handler, that a content item does not exist at a location in memory of the computing device corresponding to the directory portion of the URL;

replacing, by the content handler, the first predetermined URL scheme in the first request from the browser application with a second predetermined URL scheme, responsive to the determination that the content item does not exist at the location in memory of the computing device corresponding to the directory portion of the URL;

transmitting, by the computing device, a second request to a remote device corresponding to the domain portion of the first request, the second request comprising the modified first request;

receiving, by the computing device from the remote device, the item of content;

modifying, by the content handler, the item of content to include one or more references having the first predetermined URL scheme to generate a modified item of content; and

providing, by the content handler, the modified item of content to the browser application for rendering.

2. The method of claim 1 , wherein modifying the item of content comprises:

translating, by the content handler, binary data of the received item of content into a data string;

replacing, by the content handler, each of one or more references to the second predetermined URL scheme within the data string with one or more references to the first predetermined URL scheme to generate a modified data string;

translating, by the content handler, the modified data string into modified binary data for the modified item of content.

3. The method of claim 2 , wherein replacing each of the one or more references to the second predetermined URL scheme with the data string further comprises replacing a plurality of references to the second predetermined URL scheme with a respectively plurality of references to the first predetermined URL scheme.

4. The method of claim 2 , wherein the item of content comprises executable code.

5. The method of claim 2 , wherein providing the modified binary data to the browser application for rendering further comprises generating a response to the first request comprising the modified binary data.

6. The method of claim 1 , wherein determining that the content item does not exist at the location in memory of the computing device further comprises determining that the content item is not identified in a manifest of the application.

7. The method of claim 6 , further comprising extracting data from a header from the received item of content, and adding the extracted data to the manifest of the application.

8. The method of claim 1 , wherein the first predetermined URL scheme is not supported by the browser application or an operating system of the computing device.

9. The method of claim 1 , wherein an operating system of the computing device prevents transmission of requests from the application having the second predetermined URL scheme, responsive to transmission of the first request having the first predetermined URL scheme.

10. The method of claim 1 , wherein determining that the content item does not exist at the location in memory of the computing device further comprises identifying a type of the content item; and determining that a manifest of the application does not identify the type of the content item.

11. A system for in-application dynamic content loading, comprising:

a computing device comprising a processor, a network interface, and a memory device, the processor executing an application comprising a browser application and a content handler;

wherein the content handler is configured to:

intercept a first request from the browser application to retrieve an item of content via a uniform resource locator (URL) having a domain portion and a directory portion, responsive to the first request having a first predetermined URL scheme,

determine that a content item does not exist at a location in the memory device corresponding to the directory portion of the URL, and

replace the first predetermined URL scheme in the first request from the browser application with a second predetermined URL scheme, responsive to the determination that the content item does not exist at the location in the memory device corresponding to the directory portion of the URL;

wherein the network interface is configured to:

transmit a second request to a remote device corresponding to the domain portion of the first request, the second request comprising the modified first request, and

receive, from the remote device, the item of content; and

wherein the content handler is further configured to:

modify the item of content to include references having the first predetermined URL scheme to generate a modified item of content, and

provide the modified item of content to the browser application for rendering.

12. The system of claim 11 , wherein to modify the item of content, the content handler is further configured to:

translate binary data of the received item of content into a data string;

replace each of one or more references to the second predetermined URL scheme within the data string with one or more references to the first predetermined URL scheme to generate a modified data string;

translate the modified data string into modified binary data for the modified item of content.

13. The system of claim 12 , wherein the content handler is further configured to replace a plurality of references to the second predetermined URL scheme with a respective plurality of references to the first predetermined URL scheme.

14. The system of claim 12 , wherein the item of content comprises executable code.

15. The system of claim 12 , wherein the content handler is further configured to generate a response to the first request comprising the modified binary data.

16. The system of claim 11 , wherein the content handler is further configured to determine that the content item is not identified in a manifest of the application.

17. The system of claim 16 , wherein the content handler is further configured to extract data from a header from the received item of content, and add the extracted data to the manifest of the application.

18. The system of claim 11 , wherein the first predetermined URL scheme is not supported by the browser application or an operating system of the computing device.

19. The system of claim 11 , wherein an operating system of the computing device prevents transmission of requests from the application having the second predetermined URL scheme, responsive to transmission of the first request having the first predetermined URL scheme.

20. The system of claim 11 , wherein the content handler is further configured to identify a type of the content item; and determine that a manifest of the application does not identify the type of the 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 Aug 28, 2019
From: NGUYEN, JON; KRAUS, DANIEL; TOURTELLOTT, BRIAN; ROWE, JASON
To: DRAFTKINGS, INC.
Reel/Frame 050203/0968 →