RESOURCE SERVER PROVIDING A RAPIDLY CHANGING RESOURCE
First Claim
1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to:
- instantiate a nozzle for a resource based on a media type associated with both the nozzle and the resource;
start, by the instantiated nozzle, a subscriber thread and a rendering thread;
receive, by the started subscriber thread, a block of streamed data from a publishing device, wherein the block includes a unique identifier of an event associated with the media type;
store, by the started subscriber thread, the received block in a queue;
receive, by the started subscriber thread, a request to drain the queue;
read, by the started rendering thread, the received block from the queue;
render, by the started rendering thread, the read, received block;
store, by the started rendering thread, the rendered block in a pre-allocated block of memory based on the unique identifier, wherein a reference to the pre-allocated block of memory is stored in a tree map based on the unique identifier;
receive, by the instantiated nozzle, a request for an update for the resource based on the unique identifier;
select, by the instantiated nozzle, the stored, rendered block from the tree map using the unique identifier;
read, by the instantiated nozzle, the selected block from the pre-allocated block of memory; and
send the read block to a requesting event client system.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-readable medium is provided that causes a computing device to serve data resources. A nozzle is instantiated for a resource based on a media type associated with both the nozzle and the resource and starts a subscriber thread and a rendering thread. The subscriber thread receives a block of streamed data from a publishing device, stores the block in a queue, and receives a request to drain the queue. The block includes a unique identifier of an event associated with the media type. The rendering thread reads the block from the queue, renders the block, and stores the rendered block in a pre-allocated block of memory based on the unique identifier. A reference to the pre-allocated block of memory is stored in a tree map based on the unique identifier. The instantiated nozzle sends the rendered block to a requesting event client system.
-
Citations
30 Claims
-
1. A non-transitory computer-readable medium having stored thereon computer-readable instructions that when executed by a computing device cause the computing device to:
-
instantiate a nozzle for a resource based on a media type associated with both the nozzle and the resource; start, by the instantiated nozzle, a subscriber thread and a rendering thread; receive, by the started subscriber thread, a block of streamed data from a publishing device, wherein the block includes a unique identifier of an event associated with the media type; store, by the started subscriber thread, the received block in a queue; receive, by the started subscriber thread, a request to drain the queue; read, by the started rendering thread, the received block from the queue; render, by the started rendering thread, the read, received block; store, by the started rendering thread, the rendered block in a pre-allocated block of memory based on the unique identifier, wherein a reference to the pre-allocated block of memory is stored in a tree map based on the unique identifier; receive, by the instantiated nozzle, a request for an update for the resource based on the unique identifier; select, by the instantiated nozzle, the stored, rendered block from the tree map using the unique identifier; read, by the instantiated nozzle, the selected block from the pre-allocated block of memory; and send the read block to a requesting event client system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computing device comprising:
-
a processor; and a computer-readable medium operably coupled to the processor, the computer-readable medium having computer-readable instructions stored thereon that, when executed by the processor, cause the computing device to instantiate a nozzle for a resource based on a media type associated with both the nozzle and the resource; start, by the instantiated nozzle, a subscriber thread and a rendering thread; receive, by the started subscriber thread, a block of streamed data from a publishing device, wherein the block includes a unique identifier of an event associated with the media type; store, by the started subscriber thread, the received block in a queue; receive, by the started subscriber thread, a request to drain the queue; read, by the started rendering thread, the received block from the queue; render, by the started rendering thread, the read, received block; store, by the started rendering thread, the rendered block in a pre-allocated block of memory based on the unique identifier, wherein a reference to the pre-allocated block of memory is stored in a tree map based on the unique identifier; receive, by the instantiated nozzle, a request for an update for the resource based on the unique identifier; select, by the instantiated nozzle, the stored, rendered block from the tree map using the unique identifier; read, by the instantiated nozzle, the selected block from the pre-allocated block of memory; and send the read block to a requesting event client system.
-
-
30. A method of serving data resources from a publishing system to a client system, the method comprising:
-
instantiating, by a computing device, a nozzle for a resource based on a media type associated with both the nozzle and the resource; starting, by the instantiated nozzle, a subscriber thread and a rendering thread; receiving, by the started subscriber thread, a block of streamed data from a publishing device, wherein the block includes a unique identifier of an event associated with the media type; storing, by the started subscriber thread, the received block in a queue; receiving, by the started subscriber thread, a request to drain the queue; reading, by the started rendering thread, the received block from the queue; rendering, by the started rendering thread, the read, received block; storing, by the started rendering thread, the rendered block in a pre-allocated block of memory based on the unique identifier, wherein a reference to the pre-allocated block of memory is stored in a tree map based on the unique identifier; receiving, by the instantiated nozzle, a request for an update for the resource based on the unique identifier; selecting, by the instantiated nozzle, the stored, rendered block from the tree map using the unique identifier; reading, by the instantiated nozzle, the selected block from the pre-allocated block of memory; and sending the read block to a requesting event client system.
-
Specification