2.2.1.9 Serial Number

A variable-width encoding that specifies a combination of a GUID and an unsigned 64-bit integer. Serial number is used by server implementation to relate knowledge to data elements and normalize all identifiers into run length encodable GUID + value range for easier compression. When provided by the server implementation, clients can use them to identify cell knowledge and waterline knowledge. Because different clients can use different sets of data element identifiers, which makes the space of these identifiers hard to compress, Serial Numbers are used to provide the optimization. The Serial Number of a data element can be created by the creator of the data element, but the server is authoritative and can replace a serial number that is created by the client. The server will return a Cell Knowledge Range that specifies the range of serial numbers, as specified in section 2.2.1.13.2.1. The following formats are used to encode non-overlapping ranges of Serial Numbers.