Improving network efficiency in real-time groupware with general message compression
Groupware communicates by sending messages across the network, and groupware programmers use a variety of formats for these messages, such as XML, plain text, or serialized objects. Although these formats have many advantages, they are often so verbose that they overload the system's network resources. Groupware programmers could improve efficiency by using more compact formats, but this efficiency comes at the cost of increased complexity, reduced convenience, and reduced readability. In this paper we propose an alternate approach for improving efficiency -- an automatic compression system that transparently minimizes verbose formats. Our general message compressor -- GMC -- automatically finds and removes redundancy in message streams, without any knowledge of the contents or structure of the message, and without any need for the programmer to change the way they work. In tests with realistic message traces, GMC reduced text messages to 20% of their original size, XML messages to 8% of the original, and serialized objects to 9%. Although not as compact as a hand-coded representation, GMC provides most of the compression benefits with almost none of the work -- it allows groupware programmers to use convenient message formats without compromising transport efficiency.