Compressed block map of densely-populated data structures
First Claim
Patent Images
1. A method for storing key-value entries of a block map in a host computer system of a system of resources, the method comprising:
- given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload;
removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and
inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system,wherein the previous entry and the current entry are successive entries of the block map.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the disclosure provide techniques for creating a compressed mapping structure in a system of resources. For example, a distributed resources system may use delta encoding to store, in memory, numerous entries of dense data structures in the system. In a compressed block of such entries, the distributed resources system encodes the key of each entry as the delta from the key of the previous entry. The content of each entry is encoded similarly. The distributed resources system suppresses the leading zero bits of each resulting field.
-
Citations
17 Claims
-
1. A method for storing key-value entries of a block map in a host computer system of a system of resources, the method comprising:
-
given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, performs an operation for storing key-value entries of a block map in a host computer system of a system of resources, the operation comprising:
-
given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a processor and a memory hosting a module, which, when executed on the processor, performs an operation for storing key-value entries of a block map in a host computer system of a system of resources, the operation comprising; given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. - View Dependent Claims (14, 15, 16, 17)
-
Specification