US 11,989,501 B1
Binary object buffers encoding format
James Peter Gregory, Berkeley, CA (US)
Assigned to Zoox, Inc., Foster City, CA (US)
Filed by Zoox, Inc., Foster City, CA (US)
Filed on Sep. 3, 2021, as Appl. No. 17/446,891.
Int. Cl. G06F 40/126 (2020.01); G06F 40/149 (2020.01)
CPC G06F 40/126 (2020.01) [G06F 40/149 (2020.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a first computing device having:
one or more processors; and
one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the first computing device to perform operations comprising:
receiving JavaScript data from a first application, the JavaScript data comprising a plurality of data elements, wherein each data element has an associated data type, a length, and a value;
encoding the JavaScript data to form a serialized, binary data stream comprising a header and a body, wherein:
the header comprises a list of the values of data elements from the plurality of data elements that have a string data type, the list of values being encoded to include fields corresponding to the string data type, the length, and the value for each value in the list of values; and
the body comprises the plurality of data elements encoded to include, for each data element having the string data type and whose value is found in the list of values in the header, fields indicating that the value of the data element is found in the list of values and the position of the value in the list of values, and, for each data element having a data type different to the string data type, one or more fields indicating the data type, the length, and the value of the data element, wherein the number of fields used to indicate the data type, the length, and the value of the data element is dependent upon the data type and the value of the data element; and
storing the data stream in memory and/or transmitting the serialized, binary data stream to a second computing device for decoding.