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:
- receive a block of streamed data, wherein the block includes a value associated with an event and a unique identifier of the event;
select a pre-allocated block of memory, wherein the pre-allocated block of memory includes one or more previously compressed blocks, wherein each of the one or more previously compressed blocks includes an associated value and a different unique identifier;
compress the received block with the one or more previously compressed blocks to create a new compressed block;
store the new compressed block in the selected pre-allocated block of memory, wherein a reference to the selected pre-allocated block of memory is stored in a tree map based on the unique identifier;
receive a second block of streamed data, wherein the second block includes a second value associated with the event and the unique identifier of the event, wherein the second value is different from the value;
identify the pre-allocated block of memory from the tree map using the unique identifier;
read the received block and at least one of the one or more previously compressed blocks from the identified pre-allocated block of memory;
select a second pre-allocated block of memory;
compress the received second block with the at least one of the one or more previously compressed blocks to create a second new compressed block;
store the second new compressed block in the selected second pre-allocated block of memory, wherein a reference to the selected second pre-allocated block of memory is stored in the tree map based on the unique identifier;
receive a request for an update for the event based on the unique identifier from a requesting event client system; and
send the stored, second new compressed block to the 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 received block is compressed with previously compressed blocks to create a new compressed block stored in a pre-allocated block of memory. A reference to the selected pre-allocated block of memory is stored in a tree map using a unique identifier. A second block is received. The pre-allocated block of memory is identified from the tree map using the unique identifier. The received block and at least one of the previously compressed blocks is read from the block of memory. The received second block is compressed with the at least one of the one or more previously compressed blocks to create a second new compressed block stored in the selected second pre-allocated block of memory. A reference to the selected second pre-allocated block of memory is stored in the tree map based on the unique identifier.
50 Citations
3 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:
-
receive a block of streamed data, wherein the block includes a value associated with an event and a unique identifier of the event; select a pre-allocated block of memory, wherein the pre-allocated block of memory includes one or more previously compressed blocks, wherein each of the one or more previously compressed blocks includes an associated value and a different unique identifier; compress the received block with the one or more previously compressed blocks to create a new compressed block; store the new compressed block in the selected pre-allocated block of memory, wherein a reference to the selected pre-allocated block of memory is stored in a tree map based on the unique identifier; receive a second block of streamed data, wherein the second block includes a second value associated with the event and the unique identifier of the event, wherein the second value is different from the value; identify the pre-allocated block of memory from the tree map using the unique identifier; read the received block and at least one of the one or more previously compressed blocks from the identified pre-allocated block of memory; select a second pre-allocated block of memory; compress the received second block with the at least one of the one or more previously compressed blocks to create a second new compressed block; store the second new compressed block in the selected second pre-allocated block of memory, wherein a reference to the selected second pre-allocated block of memory is stored in the tree map based on the unique identifier; receive a request for an update for the event based on the unique identifier from a requesting event client system; and send the stored, second new compressed block to the requesting event client system.
-
-
2. 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 receive a block of streamed data, wherein the block includes a value associated with an event and a unique identifier of the event; select a pre-allocated block of memory, wherein the pre-allocated block of memory includes one or more previously compressed blocks, wherein each of the one or more previously compressed blocks includes an associated value and a different unique identifier; compress the received block with the one or more previously compressed blocks to create a new compressed block; store the new compressed block in the selected pre-allocated block of memory, wherein a reference to the selected pre-allocated block of memory is stored in a tree map based on the unique identifier; receive a second block of streamed data, wherein the second block includes a second value associated with the event and the unique identifier of the event, wherein the second value is different from the value; identify the pre-allocated block of memory from the tree map using the unique identifier; read the received block and at least one of the one or more previously compressed blocks from the identified pre-allocated block of memory; select a second pre-allocated block of memory; compress the received second block with the at least one of the one or more previously compressed blocks to create a second new compressed block; store the second new compressed block in the selected second pre-allocated block of memory, wherein a reference to the selected second pre-allocated block of memory is stored in the tree map based on the unique identifier; receive a request for an update for the event based on the unique identifier from a requesting event client system; and send the stored, second new compressed block to the requesting event client system.
-
-
3. A method of serving data resources from a publishing system to a client system, the method comprising:
-
receiving a block of streamed data, wherein the block includes a value associated with an event and a unique identifier of the event; selecting, by a computing device, a pre-allocated block of memory, wherein the pre-allocated block of memory includes one or more previously compressed blocks, wherein each of the one or more previously compressed blocks includes an associated value and a different unique identifier; compressing, by the computing device, the received block with the one or more previously compressed blocks to create a new compressed block; storing the new compressed block in the selected pre-allocated block of memory, wherein a reference to the selected pre-allocated block of memory is stored in a tree map based on the unique identifier; receiving a second block of streamed data, wherein the second block includes a second value associated with the event and the unique identifier of the event, wherein the second value is different from the value; identifying, by the computing device, the pre-allocated block of memory from the tree map using the unique identifier; reading, by the computing device, the received block and at least one of the one or more previously compressed blocks from the identified pre-allocated block of memory; selecting, by the computing device a second pre-allocated block of memory; compressing, by the computing device, the received second block with the at least one of the one or more previously compressed blocks to create a second new compressed block; storing the second new compressed block in the selected second pre-allocated block of memory, wherein a reference to the selected second pre-allocated block of memory is stored in the tree map based on the unique identifier; receiving a request for an update for the event based on the unique identifier from a requesting event client system; and sending, by the computing device, the stored, second new compressed block to the requesting event client system.
-
Specification