IP Library Granted Patent US 10,963,429
Granted Patent B2
US 10,963,429 · App. 15/730,043 · Granted Mar 30, 2021

Method and system for content agnostic file indexing

Inventor: Christopher McElveen (Tampa, FL)
Assignee: LOGNOVATIONS HOLDINGS, LLC
G06F16/1744G06F16/13G06F16/2237
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,963,429
App. No.
15/730,043
Granted
Mar 30, 2021
Kind
B2
Abstract

A computer-implemented method for content-agnostic referencing of a binary data file, the method comprising: determining a length of the binary data file, the length comprising the number of bits of the binary data file; for the determined length, generating all permutations of data of the determined length; locating an index within the generated permutations, wherein the index is the starting position of the binary data file within the generated permutations; and using the length and the index to indicate the binary data file.

Claims (53)

1. A computer-implemented method for content-agnostic referencing of a binary data file, the method comprising:

determining, by a computer processor, an input size length of the binary data file, the input size length comprising the total number of bits of the binary data file;

generating a random number, based on the determined input size length of the binary data file;

converting the random number into a random binary string;

based on the determined input size length of the binary data file, generating, by the computer processor, all permutations of data of the determined input size length in a predetermined order;

generating a table, based on the permutations of data of the determined input size length in the predetermined order;

locating the random binary string in the table;

determining an index of the binary data file in the generated permutations of data, based on the located random binary string;

storing the input size length and the index, in a memory coupled to the computer processor;

upon receiving a request for input binary data of the binary data file and using the input size length and the index, locating the index within the generated permutations of data, via the computer processor, wherein the index is the starting position of the binary data file within the generated permutations, such that the located input binary data may be generated at access time; and

providing the located input binary data in response to the request.

2. The method of claim 1 , wherein the input size length and the index persist on the memory, instead of the binary data file.

3. The method of claim 1 , wherein using the input size length and the index comprises:

transmitting the input size length and the index to a recipient instead of the data file.

4. The method of claim 3 wherein transmitting transmits the input size length and the index on a network.

5. The method of claim 3 wherein transmitting transmits the input size length and the index on a bus.

6. The method of claim 1 , wherein the generated permutations of data are not stored in the memory and are generated during each compression cycle.

7. A method of compressing a data file comprising a sequence of bytes, the method comprising:

determining, by a computer processor, an input size length of the data file, the input size length comprising the total number of bytes in the data file;

generating a random number, based on the determined input size length of the data file;

converting the random number into a random binary string;

based on the determined input size length of the data file, generating, in a predetermined order, all possible permutations of data of the determined input size length of the number of bytes using the computer processor;

generating a table, based on the permutations of data of the determined input size length in the predetermined order;

locating the random binary string in the table;

searching through the generated permutations of data to locate the permutation that matches the data file using the computer processor;

determining an index of the located permutation in the generated permutations of data, based on the located random binary string;

storing the input size length and the index, in a memory coupled to the computer processor;

upon receiving a request for input data of the data file and using the input size length and the index, locating the index within the generated permutations of data, via the computer processor, wherein the index is the starting position of the data file within the generated permutations, such that the input data may be generated at access time; and

providing the input data in response to the request.

8. The method of claim 7 wherein the input size length and the index persist on the memory, instead of the data file.

9. The method of claim 8 wherein the memory is a disk.

10. The method of claim 9 wherein using the number of bytes and the index to indicate the data file comprises transmitting the number of bytes and the index to a recipient instead of the data file.

11. The method of claim 10 wherein transmitting transmits the bytes and the index over a network.

12. The method of claim 10 wherein transmitting transmits the bytes and the index via a bus.

13. A method of compressing a data file, the method comprising:

determining the size of the data file using a computer processor, the size comprising the total number of bits of the data file;

generating a random number, based on the determined size of the data file;

converting the random number into a random binary string;

based on the determined size of the data file, generating, in a predetermined order, all possible permutations of data of the size of the data file using the computer processor;

generating a table, based on the permutations of data of the determined size in the predetermined order;

locating the random binary string in the table;

searching through the generated permutations to locate the permutation that matches the data file using the computer processor;

determining an index of the located permutation;

storing the size and the index of the located permutation, in a memory coupled to the computer processor;

upon receiving a request for input data of the data file and using the size and the index of the located permutation, locating the index within the generated permutations of data, via the computer processor, wherein the index is the starting position of the data file within the generated permutations, such that the located input data may be generated at access time; and

providing the located input data in response to the request.

14. The method of claim 13 where the data file is binary data.

15. The method of claim 13 where the data file is n-ary data.

16. The method of claim 13 where the index is an integer.

17. The method of claim 13 wherein using the size and the index comprises transmitting the size and the index to a recipient.

18. The method of claim 17 wherein transmitting comprises transmitting on a network.

19. The method of claim 17 wherein transmitting comprises transmitting on a bus.

20. The method of claim 13 wherein using the size and the index comprises storing the size and the index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2018
From: MCELVEEN, CHRISTOPHER
To: LOGNOVATIONS HOLDINGS, LLC
Reel/Frame 045053/0110 →
Continuity (1)
Related Publication 20190108237A1 · Apr 11, 2019