A method of facilitating the reproduction of a presenter's desktop for
attendees of a real-time collaboration. A bound portion of the desktop
(the portion shared with the attendees) is logically divided into
clusters. When the content of a cluster changes, the cluster is analyzed
and one or more objects describing the content may be identified. Each
object that is not already cached is cached and assigned a cache ID. Each
object in the cluster is described in an object primitive to be sent to
the attendees. Actions for reproducing the object on the attendees'
clients are sent as action primitives. The object and action primitives
allow the content of the presenter's desktop to be sent incrementally
instead of sending the entire desktop.