Semantic encoding and compression of database tables
First Claim
1. A computer-implemented method for encoding and compressing at least one table of data, comprising the steps of:
- splitting each table into two or more subtables; and
permuting the subtables using at least one key; and
selecting one of the splitting of a table into subtables, the permutations, the key, an equation, a sub-method to combine the permutations and the key, row numbers in the subtables, row numbers in an optional interconnection array and optional padding rows, such that any attempt to obtain information, without knowledge of the permutations, key and equation, and if joining the subtables with an interconnection array, results in one of a table that could be the original table but is not the original table, optionally not including any rows of the original table.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are described to allow the encoding and compression of one or more tables of data by splitting each table into two or more sub-tables and allowing the splitting to be followed by permutation of the sub-tables. The method may also include the construction of an interconnection table using a collection of permutations and keys or key numbers, and to optionally allow the permuted tables to be padded with additional data, such that the original tables cannot be queried or reconstructed from the sub-tables without knowledge of the permutations and keys. The method and system also allows efficient querying of the sub-tables to retrieve information that was in the original tables, optionally over a network, and efficient reconstruction of the original tables, given knowledge of the permutations and key numbers. The method and system also supports billing for authorized access to tables of data, management of the permutations via index numbers, and rapid changes in encoding to guard against key theft.
-
Citations
35 Claims
-
1. A computer-implemented method for encoding and compressing at least one table of data, comprising the steps of:
-
splitting each table into two or more subtables; and
permuting the subtables using at least one key; and
selecting one of the splitting of a table into subtables, the permutations, the key, an equation, a sub-method to combine the permutations and the key, row numbers in the subtables, row numbers in an optional interconnection array and optional padding rows, such that any attempt to obtain information, without knowledge of the permutations, key and equation, and if joining the subtables with an interconnection array, results in one of a table that could be the original table but is not the original table, optionally not including any rows of the original table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
removing duplicated rows from the subtables; and
creating an interconnection table.
-
-
18. The method of claim 1, wherein the method supports authorized access to at least one set of data in a database to at least one authorized user.
-
19. The method of claim 1, wherein providing one of non-sequential row numbering and labeling for at least one table of data.
-
20. The method of claim 1, wherein permuting the positions of the rows of the subtables according to one of a permutation, a formula, a key and a formula governed by a key.
-
21. The method of claim 1, wherein modifying one of the row numbers and labeling of the subtables according to one of a permutation, a formula, a key and a formula governed by a key.
-
22. The method of claim 1, wherein:
-
constructing at least one interconnection table, the interconnection table containing one of row numbers and labels of the subtables; and
modifying one of the row numbers and labels of the interconnection table according to one of a permutation, a formula, a key and a formula governed by a key.
-
-
23. The method of claim 1, wherein combining one of a permutation and a key using an equation, such that knowledge of the permutation or key and the structure of the equation is necessary in order to correctly reconstruct one or more rows of the original table.
-
24. The method of claim 1, wherein storing a collection of permutations in the database for use during encoding and decoding.
-
25. The method of claim 1, wherein managing the collection and generation of permutations for use in encoding and decoding by numbering the permutations using an indexing notation.
-
26. The method of claim 1, wherein the indexing notation is a base-factorial notation.
-
27. The method of claim 1, wherein modifying at time intervals one of the permutations, row numbers, equations and interconnection tables used for encoding and decoding in order to defend an encoded database against key theft and other attacks.
-
28. The method of claim 1, wherein querying the subtables and interconnection tables using a database language, given knowledge of one of the permutations, key, and an equation, to correctly obtain information present in the original tables.
-
29. The method of claim 1, wherein statically indexing one of the subtables and an interconnection table using a database language.
-
30. The method of claim 1, wherein dynamically indexing one of the subtables and an interconnection table at one of a query time and an update time using a database language.
-
31. The method of claim 1, wherein
modifying data in the semantically encoded subtables and an interconnection table; - and
logically updating a non-encoded table that the subtables and the interconnection table represent using a database language and given knowledge of one of the permutations, the key and the equation.
- and
-
32. The method of claim 1, wherein:
-
permitting a first computer access to a second computer over a network;
making only the permutations, key and the equation available to authorized computers;
allowing the authorized computer to question the data secured on the second computer;
securely transmitting semantically encoded answers to the questions; and
allowing the authorized computer to decode the answers using one of the permutations, the key and the equation.
-
-
33. The method of claim 32, wherein billing users of the authorized computer for usage of the data.
-
34. The method of claim 33, wherein:
-
modifying the semantic encoding of the data on the second computer; and
reauthorizing at the authorized computer by transmitting to the authorized computer encrypted versions of one of new permutations, new index numbers of permutations, a new key, and a new equation.
-
-
35. The method of claim 1, wherein encrypting one of the permutation, an index number of a permutation, a key, a structure of an equation by one of a private key and a public key, for transmission over a network to an authorized computer.
Specification