US-12627745-B1 - Intelligent connection management and push- based updates for a cloud-based platform
Abstract
Techniques for managing the distribution of platform content updates to client devices includes a system that receives a connection request from a client device to access one or more resources of a software platform via a client application. The system establishes, in response to the request, a bidirectional network connection with the client device and retrieves one or more initial data streams from application programming interfaces (APIs) of the platform. The system transmits, over the bidirectional network connection, the data streams for presentation on a user interface of the client application. The system retrieves subsequent data streams corresponding to the initial data streams based on prior user interactions with the initial data streams.
Inventors
- Rohan Kapoor
- Vasil Trifonov
- Louis Wright
Assignees
- DK CROWN HOLDINGS INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20250718
Claims (20)
- 1 . A system comprising: one or more processors; and a memory storing a plurality of instructions, which, when executed on the one or more processors, cause the system to: receive a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device; establish, in response to the first connection request, a bidirectional network connection with the client device; retrieve one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform; transmit, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application; receive, from the client device over the bidirectional network connection, one or more indications of user interactions with the at least one of the initial one or more data streams, the user interactions comprising page access events, selections of data objects, and durations of display of user interface components; for each indication of user interactions: identify a data object displayed to the client device, and map the indication to the identified data object; determine, based on the one or more indications, a subset of the one or more of the initial data streams for continued transmission of real-time content updates to the client device, wherein determining the subset comprises filtering out backend updates unrelated to the mapped data objects; receive a second connection request from the client device to access the one or more resources of the software platform via the client application; establish, in response to the second connection request, a second network connection with the client device; retrieve the subset of the one or more of the initial data streams from the plurality of APIs; and transmit, over the second network connection, the retrieved subset for presentation on the user interface.
- 2 . The system of claim 1 , wherein the bidirectional network connection is a WebSocket connection.
- 3 . The system of claim 2 , wherein the second network connection is a Server Sent Event (SSE) connection.
- 4 . The system of claim 1 , wherein the plurality of instructions further cause the system to cache the indications of user interactions of the at least one of the initial one or more data streams.
- 5 . The system of claim 3 , wherein to determine the subset of the one or more of the initial data streams is based on the cached indications.
- 6 . The system of claim 5 , wherein the subset is based on a frequency of user interactions with the at least one of the initial one or more data streams.
- 7 . The system of claim 5 , wherein the plurality of instructions further cause the system to filter the at least one of the initial one or more data streams based on the cached indications.
- 8 . A method comprising: receiving a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device; establishing, in response to the first connection request, a bidirectional network connection with the client device; retrieving one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform; transmitting, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application; receiving, from the client device over the bidirectional network connection, one or more indications of user interactions with the at least one of the initial one or more data streams, the user interactions comprising page access events, selections of data objects, and durations of display of user interface components; for each indication of user interactions: identifying a data object displayed to the client device, and mapping the indication of the identified data object; determining, based on the one or more indications, a subset of the one or more of the initial data streams for continued transmission of real-time content updates to the client device, wherein determining the subset comprises filtering out backend updates unrelated to the mapped data objects; receiving a second connection request from the client device to access the one or more resources of the software platform via the client application; establishing, in response to the second connection request, a second network connection with the client device; retrieving the subset of the one or more of the initial data streams from the plurality of APIs; and transmitting, over the second network connection, the retrieved subset for presentation on the user interface.
- 9 . The method of claim 8 , wherein the bidirectional network connection is a WebSocket connection.
- 10 . The method of claim 9 , wherein the second network connection is a Server Sent Event (SSE) connection.
- 11 . The method of claim 8 , further comprising caching the indications of user interactions of the at least one of the initial one or more data streams.
- 12 . The method of claim 11 , wherein determining the subset is based on the cached indications.
- 13 . The method of claim 12 , wherein the subset is based on a frequency of user interactions with the at least one of the initial one or more data streams.
- 14 . The method of claim 13 , further comprising filtering the at least one of the initial one or more data streams based on the cached indications.
- 15 . One or more non-transitory machine-readable storage media comprising a plurality of instructions, which, when executed on one or more processors, causes a system to: receive a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device; establish, in response to the first connection request, a bidirectional network connection with the client device; retrieve one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform; transmit, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application; receive, from the client device over the bidirectional network connection, one or more indications of user interactions with the at least one of the initial one or more data streams, the user interactions comprising page access events, selections of data objects, and durations of display of user interface components; for each indication of user interactions: identify a data object displayed to the client device, and map the indication to the identified data object; determine, based on the one or more indications, a subset of the one or more of the initial data streams for continued transmission of real-time content updates to the client device, wherein determining the subset comprises filtering out backend updates unrelated to the mapped data objects; receive a second connection request from the client device to access the one or more resources of the software platform via the client application; establish, in response to the second connection request, a second network connection with the client device; retrieve the subset of the one or more of the initial data streams from the plurality of APIs; and transmit, over the second network connection, the retrieved subset for presentation on the user interface.
- 16 . The one or more non-transitory machine-readable storage media of claim 15 , wherein the bidirectional network connection is a WebSocket connection, and wherein the second network connection is a Server Sent Event (SSE) connection.
- 17 . The one or more non-transitory machine-readable storage media of claim 15 , wherein the plurality of instructions further cause the system to cache the indications of user interactions of the at least one of the initial one or more data streams.
- 18 . The one or more non-transitory machine-readable storage media of claim 17 , wherein to determine the subset of the one or more of the initial data streams is based on the cached indications.
- 19 . The one or more non-transitory machine-readable storage media of claim 18 , wherein the subset is based on a frequency of user interactions with the at least one of the initial one or more data streams.
- 20 . The one or more non-transitory machine-readable storage media of claim 18 , wherein the plurality of instructions further cause the system to filter the at least one of the initial one or more data streams based on the filtered cached indications.
Description
BACKGROUND Cloud network environments provide scalable computing resources to enable execution of a software platform architecture serving numerous users. For example, an online sportsbook platform may operate on the cloud environment and leverage these computing resources to process high volumes of real-time data (e.g., live sports event data, user bets, statistics, user social interactions, etc.) and deliver a quality experience to users engaging with the platform to bet on sports events, view progress of various events, and interact with other users. SUMMARY An embodiment presented herein discloses a system having one or more processors and a memory storing instructions. When executed on the one or more processors, the instructions cause the system to receive a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device. In response to the first connection request, a bidirectional network connection is established with the client device. The system retrieves one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform and transmits, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application. The system receives one or more indications of user interactions with the at least one of the initial one or more data streams over the bidirectional network connection. A second connection request from the client device to access the one or more resources of the software platform is received via the client application. The system establishes, in response to the second connection request, a second network connection with the client device and retrieves subsequent data streams from the APIs. The subsequent data streams correspond to the initial one or more data streams. The one or more subsequent data streams is transmitted over the second network connection for presentation on the user interface. Another embodiment presented herein discloses a method. The method generally includes receiving a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device. In response to the first connection request, a bidirectional network connection is established with the client device. The method also includes retrieving one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform and transmits, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application. One or more indications of user interactions the initial one or more data streams over the bidirectional network connection is received. A second connection request from the client device to access the one or more resources of the software platform is received via the client application In response to the second connection request, a second network connection with the client device and retrieves subsequent data streams from the APIs is established. The subsequent data streams correspond to the initial one or more data streams. The one or more subsequent data streams is transmitted over the second network connection for presentation on the user interface. Yet another embodiment presented herein discloses one or more machine-readable storage media storing instructions. When executed on one or more processors, the instructions cause the system to receive a first connection request from a client device to access one or more resources of a software platform via a client application executing on the client device. In response to the first connection request, a bidirectional network connection is established with the client device. The system retrieves one or more initial data streams from a plurality of application programming interfaces (APIs) of the software platform and transmits, to the client device over the bidirectional network connection, the initial one or more data streams for presentation on a user interface of the client application. The system receives one or more indications of user interactions with the at least one of the initial one or more data streams over the bidirectional network connection. A second connection request from the client device to access the one or more resources of the software platform is received via the client application. The system establishes, in response to the second connection request, a second network connection with the client device and retrieves subsequent data streams from the APIs. The subsequent data streams correspond to the initial one or more data streams. The one or more subsequent data streams is transmitted over the second network connection for presentation on the user interface. BRIEF DESCRIPTION OF THE DRAWINGS The fo