Method and system for value-based data compression
First Claim
1. A method of communicating data structures among communication entities of a data communication system, the data structures comprising at least one data element, the method comprising:
- capturing a current value of the data element pertaining to at least a portion thereof;
encoding the data element by selecting a metadata component characterizing the data element to enable data compression;
updating a data buffer using the metadata component and the portion;
repeating the capturing, the encoding, and the updating for all of the data elements in the data structure;
communicating the data buffer to at least one receiving communication entity in the data communication system;
analyzing the metadata component associated with an encoded data element in the data buffer to obtain a size of the portion;
extracting the portion from the data buffer using the size;
reconstructing the data element from the portion by matching the size of the portion of the data element to the size of the data element; and
,repeating the analyzing, the extracting and the reconstructing for all of the encoded data elements in the data buffer.
1 Assignment
0 Petitions
Accused Products
Abstract
Data in a data structure is compressed by exploiting prior knowledge of the format of the data structure. A portion of the data structure is captured. A metadata component is selected for the portion. A data buffer is updated by using the selected metadata component and the captured portion. This compression technique achieves real-time data compression suitable for use with data structures used for the synchronization of the state of communication entities. The compression technique reduces the volume of data to be communicated for the synchronization of the state of communication entities and, therefore, provides faster synchronization. The present technique is suitable for use in redundant systems.
33 Citations
35 Claims
-
1. A method of communicating data structures among communication entities of a data communication system, the data structures comprising at least one data element, the method comprising:
-
capturing a current value of the data element pertaining to at least a portion thereof; encoding the data element by selecting a metadata component characterizing the data element to enable data compression; updating a data buffer using the metadata component and the portion; repeating the capturing, the encoding, and the updating for all of the data elements in the data structure; communicating the data buffer to at least one receiving communication entity in the data communication system; analyzing the metadata component associated with an encoded data element in the data buffer to obtain a size of the portion; extracting the portion from the data buffer using the size; reconstructing the data element from the portion by matching the size of the portion of the data element to the size of the data element; and
,repeating the analyzing, the extracting and the reconstructing for all of the encoded data elements in the data buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of compressing a data structure comprising at least one data element to obtain a data buffer representing the data structure, the method comprising:
-
capturing a current value of the data element pertaining to at least a portion thereof; encoding the data element by selecting a metadata component characterizing the data element to enable data compression; updating the data buffer using the metadata component and the portion; and
,repeating the capturing, the encoding and the updating for all of the data elements in the data structure. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method of decompressing a data buffer representing a data structure to obtain the data structure, the data buffer comprising at least one encoded data element, each encoded data element representing a data element of the data structure, the method comprising:
-
analyzing a metadata component associated with an encoded data element in the data buffer to obtain a size of a portion of the data element represented by the encoded data element; extracting the portion from the data buffer by using the size; reconstructing the data element from the portion by matching the size of the extracted portion of the data element to the size of the data element; and
,repeating the analyzing, the extracting and the reconstructing for all of the encoded data elements in the data buffer.
-
-
19. A method of communicating data structures in a compressed format for synchronization of the state of communication entities in a data communication system, the data structures comprising at least one data element, the method comprising:
-
capturing a current value of the data element by discarding one or more pairs of adjacent zero bits, if any, that occupy bit positions more significant than the most significant non-zero bit of the data element and by retaining the remaining bits of the data element to obtain a portion; selecting a size of a metadata component based on the metadata component associated with a data type of the data element; identifying a range of data element values from a predefined set of ranges of data element values pertaining to the data type of the data element, wherein the current value of the data element lies within the range; selecting a predefined metadata value associated with the identified range as the metadata component value;
concatenating the metadata component and the portion to the data buffer;repeating the capturing, the selecting, the identifying, the selecting, and the concatenating for all of the data elements in the data structure; communicating the data buffer to at least one receiving communication entity in the data communication system; analyzing the metadata component associated with an encoded data element in the data buffer to obtain a size of the portion; extracting the portion from the data buffer using the size of the portion; prefixing zeros to the portion to match a size thereof to the size of the data element; repeating the analyzing, the extracting, and the prefixing for all of the data elements in the data buffer to reproduce a data structure; and
,synchronizing the state of the receiving communication entity to the state of a communication entity that communicated the data buffer based on the reproduced data structure.
-
-
20. A system for communicating data structures in a compressed format for synchronization of the state of communication entities in a data communication system, the data structures comprising at least one data element, the system comprising:
-
a current value capturing block that captures a current value of the data element pertaining to at least one portion thereof, wherein the current value capturing block is adapted to reside in at least one communication entity; an encoding block that encodes the data element by selecting a metadata component characterizing the data element to enable data compression, wherein the encoding block is adapted to reside in at least one communication entity; a data buffer updating block that updates a data buffer using the metadata component and the portion, wherein the data buffer updating block is adapted to reside in at least one communication entity; a communicating block that communicates the data buffer to at least one communication entity in the data communication system, wherein the communicating block is adapted to reside in at least one communication entity; a metadata component analyzing block that analyzes the metadata component associated with an encoded data element in the data buffer to obtain a size of the portion, wherein the metadata component analyzing block is adapted to reside in at least one communication entity; a portion extracting block that extracts the portion from the data buffer using the size of the portion, wherein the portion extracting block is adapted to reside in at least one communication entity; a data element reconstructing block that reconstructs the data element from the portion by matching size of the portion of the data element to the size of the data element, wherein the data element reconstructing block is adapted to reside in at least one communication entity; and
,a synchronizing block that synchronizes the state of at least one communication entity using the reconstructed data element. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. A system for compressing a data structure comprising at least one data element to obtain a data buffer representing the data structure, the system comprising:
-
a current value capturing block that captures a current value of the data element pertaining to at least one portion thereof, wherein the current value capturing block is adapted to reside in at least one communication entity; a data element encoding block that encodes the data element by selecting a metadata component characterizing the data element to enable data compression, wherein the data element encoding block is adapted to reside in at least one communication entity; and
,a data buffer updating block that updates the data buffer using the metadata component and the portion, wherein the data buffer updating block is adapted to reside in at least one communication entity.
-
-
29. A system for decompressing a data buffer representing a data structure to obtain the data structure, the data buffer comprising at least one encoded data element, each encoded data element representing a data element of the data structure, the system comprising:
-
a metadata component analyzing block that analyzes a metadata component associated with an encoded data element in the data buffer to obtain a size of a portion of the data element represented by the encoded data element, wherein the metadata component analyzing block is adapted to reside in at least one communication entity; a data element extracting block that extracts the portion of the data element from the data buffer using the size, wherein the data element extracting block is adapted to reside in at least one communication entity; and
,a data element reconstructing block that reconstructs the data element from the portion by matching size of the portion of the data element to the size of the data element, wherein the data element reconstructing block is adapted to reside in at least one communication entity.
-
-
30. A computer readable medium having program stored thereon code, wherein the program code, when executed, communicates data structures in a compressed format to a communication entity in a data communication system, the data structures comprising at least one data element, the program code comprising:
-
first program code that captures a current value of the data element pertaining to at least one portion thereof; second program code that encodes the data element by selecting a metadata component characterizing the data element to enable data compression; third program code that updates a data buffer using the metadata component and the portion; and
,fourth program code that communicates the data buffer to at least one receiving communication entity in the data communication system. - View Dependent Claims (31, 32, 33)
-
-
34. A computer readable medium having program stored thereon code, wherein the program code, when executed, decompresses a data buffer corresponding to a data structure in a compressed format, the data buffer comprising a portion of a data element of the data structure and a metadata component corresponding to the portion, the program code comprising:
-
first program code that analyzes the metadata component associated with the portion to obtain a size of the portion; second program code that extracts the portion from the data buffer using the size of the portion; and
,third program code that reconstructs the data element from the portion by matching size of the portion of the data element to the size of the data element. - View Dependent Claims (35)
-
Specification