IP Library Granted Patent US 11,057,164
Granted Patent B2
US 11,057,164 · App. 16/571,022 · Granted Jul 6, 2021

Memory conservation in delta-compressed message transmission and recovery

Inventor: Sanjay John Cherian (Bangalura, IN)
Assignee: TD Ameritrade IP Company, Inc.
H04L1/1858H03M13/1515H04L1/0061H04L1/0072H04L51/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,057,164
App. No.
16/571,022
Granted
Jul 6, 2021
Kind
B2
Abstract

A communication system includes a processor and a memory that stores recovery bits of a previous message and instructions. The instructions cause the processor to, in response to receiving a new message, obtain the recovery bits of the previous message and selectively generate a candidate message by attempting recovery of the previous message from the new message and the recovery bits of the previous message. The instructions include, in response to an indicator indicating that the recovery was successful, computing a delta between the new message and the candidate message and generating a delivery message based on (i) the computed delta or, in response to the indicator indicating that the recovery was unsuccessful, (ii) the new message. The instructions include calculating new recovery bits from the new message, replacing the stored recovery bits of the previous message with the new recovery bits, and transmitting the delivery message to a destination.

Claims (60)

1. A communication system comprising:

at least one processor; and

a memory coupled to the at least one processor,

wherein the memory stores instructions that, upon execution, cause the at least one processor to, in response to receiving a new message:

generate a candidate message by attempting recovery of a previous message from (i) the new message and (ii) recovery bits of the previous message;

in response to an indicator indicating that the attempted recovery was successful, compute a delta between the new message and the candidate message and generate a delivery message based on the computed delta;

in response to the indicator indicating that the attempted recovery was unsuccessful, generate the delivery message based on the new message;

calculate new recovery bits from the new message;

replace the recovery bits of the previous message with the new recovery bits; and

transmit the delivery message to a destination over a communications channel.

2. The communication system of claim 1 wherein the computed delta is a compressed delta between the new message and the candidate message.

3. The communication system of claim 1 wherein:

the recovery bits of the previous message include a checksum of the previous message; and

the instructions include:

calculating a candidate checksum from the candidate message, and

in response to the checksum of the previous message being different than the candidate checksum, setting the indicator to indicate that the attempted recovery was unsuccessful.

4. The communication system of claim 3 wherein the instructions include setting the indicator to indicate that the attempted recovery was unsuccessful in response to a failure to generate the candidate message.

5. The communication system of claim 4 wherein the instructions include skipping calculating the candidate checksum in response to the failure to generate the candidate message.

6. The communication system of claim 1 wherein the attempted recovery of the previous message is performed using an error-correcting code.

7. The communication system of claim 6 wherein the instructions include:

generating the new recovery bits from the new message using the error-correcting code; and

replacing the recovery bits of the previous message with the new recovery bits.

8. The communication system of claim 7 wherein:

the attempted recovery of the previous message is performed using Reed-Solomon decoding; and

the new recovery bits are generated from the new message using Reed-Solomon encoding.

9. The communication system of claim 1 wherein the instructions include concatenating the new message with at least some of the recovery bits of the previous message to generate a combined message from which the attempted recovery is performed.

10. The communication system of claim 1 wherein the instructions include:

generating the new recovery bits from the new message using Reed-Solomon encoding; and

replacing the recovery bits of the previous message with the new recovery bits.

11. The communication system of claim 1 wherein generating the delivery message based on the new message includes generating a wrapper delta including the new message and incorporating the wrapper delta into the delivery message.

12. The communication system of claim 1 wherein the delivery message generated based on the computed delta includes the computed delta and excludes the new message.

13. The communication system of claim 1 wherein the communications channel is lossy.

14. The communication system of claim 1 further comprising a receiver configured to:

store a prior received message;

receive the new message over the communications channel;

in response to the new message including an entire message, set the entire message as an output message;

in response to the new message including the delta, generate the output message based on the delta and the prior received message; and

output the output message.

15. The communication system of claim 14 wherein the receiver is configured to replace the prior received message with the output message.

16. The communication system of claim 14 wherein the new message includes a type indication denoting whether the new message includes the delta or the entire message.

17. A communication method comprising:

in response to receiving a new message, obtaining recovery bits of a previous message, wherein the recovery bits of the previous message are stored at a transmitter;

generating a candidate message by attempting recovery of the previous message from (i) the new message and (ii) the recovery bits of the previous message;

in response to an indicator indicating that the attempted recovery was successful, computing a delta between the new message and the candidate message and generate a delivery message based on the computed delta;

in response to the indicator indicating that the attempted recovery was unsuccessful, generating the delivery message based on the new message;

calculating new recovery bits from the new message;

replacing the recovery bits of the previous message with the new recovery bits; and

transmitting the delivery message to a destination over a communications channel.

18. The communication method of claim 17 further comprising:

calculating a candidate checksum from the candidate message, and

in response to a checksum of the previous message being different than the candidate checksum, setting the indicator to indicate that the attempted recovery was unsuccessful, wherein the recovery bits of the previous message include the checksum of the previous message.

19. The communication method of claim 17 wherein:

the computed delta is a compressed delta between the new message and the candidate message, and

generating the delivery message based on the new message includes generating a wrapper delta including the new message and incorporating the wrapper delta into the delivery message.

20. The communication method of claim 17 further comprising:

storing, at a receiver, a prior received message;

receiving, at the receiver, the new message over the communications channel;

in response to the new message including an entire message, setting, by the receiver, the entire message as an output message;

in response to the new message including the delta, generating, by the receiver, the output message based on the delta and the prior received message; and

outputting, by the receiver, the output message.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: TD AMERITRADE IP COMPANY, INC.
To: CHARLES SCHWAB & CO., INC.
Reel/Frame 064807/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: CHERIAN, SANJAY JOHN
To: TD AMERITRADE IP COMPANY, INC.
Reel/Frame 050408/0049 →
Continuity (1)
Related Publication 20210083810A1 · Mar 18, 2021