# US 8,751,671 B2 · Hierarchical bitmasks for indicating the presence or absence of serialized data fields

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,671 B2
- Document ID: US8751671B2
- Status: Granted
- Kind: B2
- Application number: 13/298,236
- Filed: 2011-11-16
- Published: 2012-05-24
- Granted: 2014-06-10
- Earliest claimed: 2010-11-16
- Assignees: TIBCO Software Inc.
- Applicants: Dan Leshchiner
- Inventors: Dan Leshchiner
- Web page: https://patentgrep.com/patent/US8751671B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M 7/3066: {by means of a mask or a bit-map}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Disclosed are systems and methods for communicating with a sender machine and a receiver machine, and analyzing a bitmask associated with a message to be sent from the sender machine to the receiver machine, such that the bitmask comprises one or more presence bits and one or more absence bits, such that the presence bits indicate that an associated field of the message are included in the message and the absence bits indicate that an associated field of the message are omitted in the message. The systems and methods also dynamically determine compression instructions to compress the bitmask, and provide the compression instructions to the sender machine, wherein the compression instructions reduce size of the bitmask associated with the message to be sent to the receiver machine.

## Claims

### Claim 1

A format server for providing bitmask compression instructions, wherein the format server is operable to:
communicate with a sender machine and a receiver machine;
analyze a bitmask associated with a message to be sent from the sender machine to the receiver machine, wherein the bitmask comprises one or more presence bits and one or more absence bits, wherein the presence bits indicate that an associated field of the message are included in the message and the absence bits indicate that an associated field of the message are omitted in the message;
dynamically determine compression instructions to compress the bitmask, wherein the compression instructions comprise:
generating a tree using the presence bits and the absence bits; and
generating the compressed bitmask by traversing the tree comprising the presence bits and the absence bits; and
provide the compression instructions to the sender machine, wherein the compression instructions reduce size of the bitmask associated with the message to be sent to the receiver machine.

### Claim 2 (depends on 1)

The format server of claim 1, wherein the format server is further operable to provide the compression instructions to the receiver machine, wherein the receiver machine utilizes the compression instructions to uncompress the compressed bitmask of the message.

### Claim 3 (depends on 1)

The format server of claim 1, wherein the message is compressed according to the bit mask and the bitmask of the message is compressed according to the compression instructions.

### Claim 4 (depends on 1)

The format server of claim 1, wherein the message may have one or more fields that are sorted to group together one or more fields likely to have a value and group together one or more fields not likely to have a value.

### Claim 5 (depends on 1)

The format server of claim 1, wherein the format server is further operable to invert the bitmask prior to compressing the bitmask.

### Claim 6 (depends on 1)

The format server of claim 1, wherein the compression instructions can be used by the receiver machine to decompress the compressed bitmask by traversing the tree, reconstructing all subtrees having an absence bit, and copying a leaf node when traversed.

### Claim 7 (depends on 1)

The format server of claim 1, wherein the format server is a message-oriented middleware server.

### Claim 8 (depends on 1)

The format server of claim 1, wherein the sender and receiver machines that receive the compression instructions can store the compression instructions for future message compression or decompression of bitmasks sent or received by the sender and receiver machines without having to communicate with the format server.

### Claim 9

A method for providing bitmask compression instructions, where the method comprises:
communicating, by a format server, with a sender machine and a receiver machine;
analyzing a bitmask associated with a message to be sent from the sender machine to the receiver machine, wherein the bitmask comprises one or more presence bits and one or more absence bits, wherein the presence bits indicate that an associated field of the message are included in the message and the absence bits indicate that an associated field of the message are omitted in the message;
dynamically determining compression instructions to compress the bitmask, wherein the compression instructions comprise:
generating a tree using the presence bits and the absence bits; and
generating the compressed bitmask by traversing the tree comprising the presence bits and the absence bits; and
providing the compression instructions to the sender machine, wherein the compression instructions reduce size of the bitmask associated with the message to be sent to the receiver machine.

### Claim 10 (depends on 9)

The method of claim 9, wherein the method further comprises providing the compression instructions to the receiver machine, wherein the receiver machine utilizes the compression instructions to uncompress the compressed bitmask of the message.

### Claim 11 (depends on 9)

The method of claim 9, wherein the message is compressed according to the bit mask, and the bitmask of the message is compressed according to the compression instructions.

### Claim 12 (depends on 9)

The method of claim 9, wherein the message may have one or more fields that are sorted to group together one or more fields likely to have a value and group together one or more fields not likely to have a value.

### Claim 13 (depends on 9)

The method of claim 9, wherein the method further comprises inverting the bitmask prior to compressing the bitmask.

### Claim 14 (depends on 9)

The method of claim 9, wherein the compression instructions can be used by the receiver machine to decompress the compressed bitmask by traversing the tree, reconstructing all subtrees having an absence bit, and copying a leaf node when traversed.

### Claim 15 (depends on 9)

The method of claim 9, wherein the format server is a message-oriented middleware server.

### Claim 16 (depends on 9)

The method of claim 9, wherein the sender and receiver machines that receive the compression instructions can store the compression instructions for future message compression or decompression of bitmasks sent or received by the sender and receiver machines without having to communicate with the format server.

### Claim 17

Logic for providing bitmask message compression instructions, the logic being embodied in a non-transitory computer-readable medium and when executed operable to:
communicate with a sender machine and a receiver machine;
analyze a bitmask associated with a message to be sent from the sender machine to the receiver machine, wherein the bitmask comprises one or more presence bits and one or more absence bits, wherein the presence bits indicate that an associated field of the message are included in the message and the absence bits indicate that an associated field of the message are omitted in the message;
dynamically determine compression instructions to compress the bitmask, wherein the compression instructions comprise:
generating a tree using the presence bits and the absence bits; and
generating the compressed bitmask by traversing the tree comprising the presence bits and the absence bits; and
provide the compression instructions to the sender machine, wherein the compression instructions reduce size of the bitmask associated with the message to be sent to the receiver machine.

### Claim 18 (depends on 17)

The logic of claim 17, wherein the logic when executed is further operable to provide the compression instructions to the receiver machine, wherein the receiver machine utilizes the compression instructions to uncompress the compressed bitmask of the message.
