Microsoft Point-to-Point Compression ( MPPC ; описан в RFC 2118) — это алгоритм потокового сжатия данных , основанный на реализации Lempel–Ziv с использованием буфера скользящего окна . Согласно заявлению Hifn 's IP, [1] MPPC был обременен патентом (последний патент США выдан 02.07.1996).
В то время как V.44 или V.42bis работают на уровне 1 модели OSI , MPPC работает на уровне 2, что дает ему значительное преимущество с точки зрения доступных ему вычислительных ресурсов. Встроенное сжатие модема dialup ( V.44 или V.42bis) может происходить только после того, как данные были последовательно переданы на модем, как правило, с максимальной скоростью 115 200 бит/с. MPPC, поскольку он управляется операционной системой , может получать столько данных, сколько он хочет сжать, перед тем как переслать их на модем.
Аппаратное обеспечение модема не должно слишком сильно задерживать данные, ожидая, пока больше данных сожмется в одном пакете, в противном случае возникнет неприемлемый уровень задержки . Он также не может себе этого позволить, поскольку для этого потребуются как значительные вычислительные ресурсы (в масштабе модема), так и значительный объем буферной памяти . Программное сжатие, такое как MPPC, может свободно использовать ресурсы хост-компьютера, превышая ресурсы модема на несколько порядков. Это позволяет ему поддерживать гораздо больший буфер для работы в любой момент времени, и он обрабатывает заданный объем данных намного быстрее.
Конечный результат заключается в том, что там, где V.44 может достичь максимального сжатия 4:1 (230 кбит/с), но обычно ограничен 115,2 кбит/с, MPPC способен на максимальное сжатие 8:1 (460 кбит/с). MPPC также, учитывая гораздо большую вычислительную мощность в его распоряжении, более эффективен для данных, чем V.44, и достигает более высоких коэффициентов сжатия, когда 8:1 недостижимо.