IP Library Granted Patent US 9,235,610
Granted Patent B2
US 9,235,610 · App. 13/867,199 · Granted Jan 12, 2016

Short string compression

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 9,235,610
App. No.
13/867,199
Granted
Jan 12, 2016
Kind
B2
Abstract

Systems and techniques are disclosed to express sequences of codes, and in particular sequences of ASCII characters, in a lossless compressed format. The techniques may include dividing a universe of expressible codes into smaller subsets, called code sets, such that every code exists within one code set, but no code exists within two code sets. The code sets are then utilized for compression based on the heuristic that it is more likely that a next code in the sequences of codes is in the same code set as a previous code in the sequences of codes, rather than that the next code in sequences of codes being in any other code set (sentence structure).

Claims (41)

1. A computer-implemented method of encoding a sequence of characters comprising:

accessing, from a computer device, a set of characters conforming to a first format;

associating, at the computer device, one of a plurality of code subsets to each of the set of characters; and

generating, at the computer device, a code sequence representing the set of characters, the code sequence conforming to a second format using fewer bits than the first format, wherein the second format includes a first indicator for specifying a single-code sequence or a multi-code sequence, a second indicator for specifying the one of the plurality of code subsets associated with the set of characters, and a third indicator for specifying an index value into the one of the plurality of associated code subsets corresponding to the set of characters.

2. The method of claim 1 , wherein the second format further comprises a fourth indicator for specifying an end position of the code sequence.

3. The method of claim 1 , further comprising determining whether to generate the code sequence as a single-code sequence or a multi-code sequence.

4. The method of claim 1 , further comprising associating each character of the set of characters with one of the plurality of code subsets.

5. A computer-implemented method of decoding a sequence of encoded characters comprising:

accessing, from a computer device, a set of encoded characters conforming to a first format, the first format including a first indicator indicating whether the set of encoded characters is a single-code sequence or a multi-code sequence, a second indicator indicating one of a plurality of code subsets associated with the set of encoded characters, and a third indicator indicating an index value into one of the plurality of associated code subsets corresponding to the set of encoded characters; and

generating, at the computer device, a sequence of unencoded characters conforming to a second format, the second format using more bits than the first format.

6. The method of claim 5 , wherein the second format is an ASCII format.

7. The method of claim 5 , wherein the first format further comprises a fourth indicator indicating an end position of the sequence of encoded characters.

8. A system comprising:

a server including a processor and memory storing instructions that, in response to receiving a request for access to a service, cause the processor to:

access, from the memory, a set of characters conforming to a first format;

associate, in the memory, one of a plurality of code subsets to each of the set of characters;

generate, at the server, a code sequence representing the set of characters, the code sequence in conformity with a second format using fewer bits than the first format, wherein the second format includes a first indicator to specify a single-code sequence or a multi-code sequence, a second indicator to specify the one of the plurality of code subsets associated with the set of characters, and a third indicator to specify an index value into the one of the plurality of associated code subsets corresponding to the set of characters;

generate, at the server, a signal associated with the code sequence in conformity with the second format; and

transmit the signal.

9. The system of claim 8 , wherein the second format further comprises a fourth indicator for specifying an end position of the code sequence.

10. The system of claim 8 , wherein the memory stores instructions that, in response to receiving the request, cause the processor to associate each character of the set of characters with one of the plurality of code subsets.

11. A system comprising:

a server including a processor and memory storing instructions that, in response to receiving a request for access to a service, cause the processor to:

access, from the memory, a set of encoded characters conforming to a first format, the first format including a first indicator indicating whether the set of encoded characters is a single-code sequence or a multi-code sequence, a second indicator indicating one of a plurality of code subsets associated with the set of encoded characters, and a third indicator indicating an index value into one of the plurality of associated code subsets corresponding to the set of encoded characters;

generate, at the server, a sequence of unencoded characters conforming to a second format, the second format using more bits than the first format;

generate, at the server, a signal associated with the sequence of unencoded characters in conformity with the second format; and

transmit the signal.

12. The system of claim 11 , wherein the second format is an ASCII format.

13. The system of claim 11 , wherein the first format further comprises a fourth indicator indicating an end position of the sequence of encoded characters.

14. An article comprising a non-transitory machine-readable medium storing machine-readable instructions that, when applied to the machine, cause the machine to:

access, on the machine, a set of characters conforming to a first format;

associate, on the machine, one of a plurality of code subsets to each of the set of characters; and

generate, on the machine, a code sequence representing the set of characters, the code sequence in conformity with a second format using fewer bits than the first format, wherein the second format includes a first indicator to specify a single-code sequence or a multi-code sequence, a second indicator to specify the one of the plurality of code subsets associated with the set of characters, and a third indicator to specify an index value into the one of the plurality of associated code subsets corresponding to the set of characters.

15. An article comprising a non-transitory machine-readable medium storing machine-readable instructions that, when applied to the machine, cause the machine to:

access, on the machine, a set of encoded characters conforming to a first format, the first format including a first indicator indicating whether the set of encoded characters is a single-code sequence or a multi-code sequence, a second indicator indicating one of a plurality of code subsets associated with the set of encoded characters, and a third indicator indicating an index value into one of the plurality of associated code subsets corresponding to the set of encoded characters;

generate, on the machine, a sequence of unencoded characters conforming to a second format, the second format using more bits than the first format.

16. A computing device comprising:

a processor;

a memory operatively coupled to the processor, the memory storing instructions that, in response to receiving a request, cause the processor to:

access, using the memory, a set of characters conforming to a first format;

associate, at the computing device, one of a plurality of code subsets to each of the set of characters; and generate, at the computing device, a code sequence representing the set of characters, the code sequence conforming to a second format using fewer bits than the first format, wherein the second format includes a first indicator for specifying a single-code sequence or a multi-code sequence, a second indicator for specifying the one of the plurality of code subsets associated with the set of characters, and a third indicator for specifying an index value into the one of the plurality of associated code subsets corresponding to the set of characters.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS NOTES COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0811 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2021
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: REFINITIV US ORGANIZATION LLC (F/K/A THOMSON REUTERS (GRC) INC.)
Reel/Frame 055174/0836 →
CHANGE OF NAME Recorded Mar 22, 2019
From: THOMSON REUTERS (GRC) LLC
To: REFINITIV US ORGANIZATION LLC
Reel/Frame 048676/0110 →
CHANGE OF NAME Recorded Dec 19, 2018
From: THOMSON REUTERS (GRC) INC.
To: THOMSON REUTERS (GRC) LLC
Reel/Frame 048553/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
To: THOMSON REUTERS (GRC) INC.
Reel/Frame 047909/0874 →
SECURITY AGREEMENT Recorded Oct 3, 2018
From: THOMSON REUTERS (GRC) INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 047187/0316 →
SECURITY AGREEMENT Recorded Oct 2, 2018
From: THOMSON REUTERS (GRC) INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047185/0215 →
CHANGE OF NAME Recorded Aug 15, 2017
From: THOMSON REUTERS GLOBAL RESOURCES
To: THOMSON REUTERS GLOBAL RESOURCES UNLIMITED COMPANY
Reel/Frame 043293/0844 →