IP Library Granted Patent US 10,903,854
Granted Patent B2
US 10,903,854 · App. 16/092,926 · Granted Jan 26, 2021

Replacing a subset of digits in a sequence

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 10,903,854
App. No.
16/092,926
Granted
Jan 26, 2021
Kind
B2
Abstract

In one example in accordance with the present disclosure, a method may include receiving a digit sequence including a subset of N digits encoded with semantic information and determining a set of possible combinations for the N digits in the subset. The method may also include establishing a mapping between each possible combination in the set of possible combinations and a corresponding integer sequence belonging to a set of integer sequences. Each integer sequence in the set of integer sequences is of the length of N−1. The method may also include identifying a selected integer sequence corresponding to the subset and replacing n−1 digits from the subset with the selected integer sequence. The method may also include replacing a digit of the subset with a digit value calculated to produce a valid checksum for the entire first digit sequence, wherein the first digit is not included in the n−1 digits.

Claims (65)

1. A method comprising:

receiving, by a processor, a first digit sequence including a subset of N digits encoded with semantic information, wherein the received first digit sequence is generated for a first application that does not expect valid checksums in digit sequences;

determining, by the processor, a set of possible combinations for the N digits in the subset of N digits, wherein each possible combination in the set of possible combinations is N digits long;

establishing, by the processor, a mapping between each possible combination in the set of possible combinations and a corresponding integer sequence belonging to a set of integer sequences, wherein each integer sequence in the set of integer sequences is of a length of N−1;

identifying, by the processor, a selected integer sequence corresponding to the subset of N digits;

transforming, by the processor, the first digit sequence by replacing N−1 digits from the subset of N digits with the selected integer sequence, and replacing a particular digit of the subset of N digits with a digit value calculated to produce a valid checksum for the entire first digit sequence, wherein the particular digit is not included in the replaced N−1 digits from the subset of N digits; and

transmitting, by the processor, the transformed first digit sequence to a second application, wherein the second application is to verify a checksum of the transformed first digit sequence.

2. The method of claim 1 comprising:

generating the set of possible combinations in a first ascending order;

generating the set of integer sequences in a second ascending order;

for each possible combination in the set of possible combinations in the first ascending order:

selecting, starting from a lowest possible combination in the set of possible combinations, a possible combination that is unmapped; and

mapping the selected possible combination to a lowest available integer sequence belonging to the set of integer sequences.

3. The method of claim 2 wherein a total number of integer sequences in the second ascending order does not exceed 10(N−1).

4. The method of claim 1 comprising:

verifying, by the second application, the checksum of the first digit sequence using the digit value.

5. The method of claim 4 comprising, after verifying the checksum of the first digit sequence:

restoring the first digit sequence by:

identifying the N−1 digits that matches the selected integer sequence; and

replacing the selected integer sequence in the transformed first digit sequence with the identified N−1 digits.

6. The method of claim 5 wherein restoring the first digit sequence further comprises replacing the digit value in the transformed first digit sequence with the particular digit of the subset of N digits.

7. The method of claim 1 wherein the subset of N digits is a set of consecutive digits in the first digit sequence.

8. A system comprising:

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

receive a first digit sequence including a subset of N digits, wherein the received first digit sequence is generated for a first application that does not expect valid checksums in digit sequences;

determine a set of possible combinations for the N digits in the subset of N digits, wherein each possible combination in the set of possible combinations is N digits long;

establish a mapping between each possible combination in the set of possible combinations and a corresponding integer sequence belonging to a set of integer sequences, wherein each integer sequence in the set of integer sequences is of a length of N−1;

identify a selected integer sequence corresponding to the subset of N digits;

replace N−1 digits from the subset of N digits of the first digit sequence with the selected integer sequence to create a transformed digit sequence; and

transmit the transformed digit sequence to a second application, wherein the second application is to verify a checksum of the transformed digit sequence.

9. The system of claim 8 including instructions to:

generate the set of possible combinations in a first ascending order; and

generate the set of integer sequences in a second ascending order.

10. The system of claim 9 including instructions to, for each possible combination in the set of possible combinations:

select, starting from a lowest possible combination in the set of possible combinations, a possible combination that is unmapped; and

map the selected possible combination to a lowest available integer sequence belonging to the set of integer sequences.

11. The system of claim 9 including instructions to

replace a particular digit of the subset of N digits with a digit value calculated to produce a valid checksum for the entire transformed digit sequence, wherein the digit value is included in the transformed digit sequence, and wherein the particular digit is not included in the N−1 digits.

12. The system of claim 11 , wherein the subset of N digits is a set of consecutive digits in the first digit sequence, and wherein the particular digit of the subset of N digits replaced with the digit value is chronologically a final digit of the subset.

13. The system of claim 11 , comprising instructions to:

verify, by the second application, the checksum of the transformed digit sequence.

14. The system of claim 13 , the instructions to restore the first digit sequence including instructions to:

restore the first digit sequence by:

identifying the N−1 digits that match the selected integer sequence;

replacing the selected integer sequence in the transformed digit sequence with the N−1 digits; and

replacing the digit value in the transformed digit sequence with the particular digit.

15. A non-transitory machine-readable storage medium encoded with instructions, the instructions executable by a hardware processor of a system to cause the system to:

receive a first digit sequence including a subset of N digits encoded with semantic information, wherein the first digit sequence is used by a first application that does not expect valid checksums in digit sequences;

determine a set of possible combinations for the N digits in the subset of N digits, wherein each possible combination in the set of possible combinations is N digits long;

establish a mapping between each possible combination in the set of possible combinations and a corresponding integer sequence belonging to a set of integer sequences, wherein each integer sequence in the set of integer sequences is of a length of N−1;

identify a selected integer sequence corresponding to the subset of N digits;

replace N−1 digits from the subset of N digits of the first digit sequence with the selected integer sequence to create a transformed digit sequence; and

transmit the transformed digit sequence to a second application, wherein the second application is to verify a checksum of the transformed digit sequence.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the instructions executable by the hardware processor of the system cause the system to:

replace a particular digit of the subset of N digits with a digit value calculated to produce a valid checksum for the entire transformed digit sequence, wherein the digit value is included in the transformed digit sequence, and wherein the particular digit is not included in the N−1 digits.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the subset of N digits is a set of consecutive digits in the first digit sequence and wherein the particular digit of the subset of N digits replaced with the digit value is chronologically a final digit of the subset of N digits.

18. The non-transitory machine-readable storage medium of claim 15 , wherein each possible combination is mapped to a different corresponding integer sequence.

19. The non-transitory machine-readable storage medium of claim 16 , comprising instructions to:

verify, by the second application, the checksum of the transformed digit sequence.

20. The non-transitory machine-readable storage medium of claim 19 , comprising instructions to:

restore the first digit sequence by:

identifying the N−1 digits that match the selected integer sequence;

replacing the selected integer sequence in the transformed digit sequence with the N−1 digits; and

replacing the digit value in the transformed digit sequence with the particular digit of the subset of N digits.

Assignments (7)
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: MINNER, RICHARD
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 047511/0171 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 047510/0673 →