Abstract: Compression of streaming data is described. In an implementation, a method includes compressing data for communication in a terminal services environment by finding an index in a lookup table that matches an initial sequence in data. The lookup table includes a plurality of entries. Each of the entries is discoverable utilizing a particular one of a plurality of the indices. Each entry references whether a corresponding index is located in a history buffer, and if so, further references one or more locations of the corresponding index in the history buffer. If the corresponding entry of the matching index references a plurality of locations, for each location, a sequence having the matching index is compared with a sequence in the data that includes the initial sequence. A matching sequence is derived from the comparison based on a length and the location of the sequence at each of the locations. The matching sequence is represented using a representation that includes the length and the location of the matching sequence in the history buffer.