A method and computer program product instituting an entirely client-based
system for sharing messages and other data objects is provided.
Communication between clients occurs over a generic store and forward
transport such as the Internet message protocol described in RFC 822 and
implemented on the Internet or other wide area network. A message or other
data object is originally maintained by a "publication" client that
publishes the data object and any modifications thereto to one or more
"subscription" clients that will each maintain a copy thereof. As
modifications are made by a client (either publication or subscription) to
the client copy of the data object, the modified data object is sent,
using the store and forward transport, to the publication client to update
the data object. Once the data object is updated by the publication
client, copies of the modified data object are sent using the store and
forward transport to each subscription client so that the subscription
client may update the subscription copy. One embodiment of the present
invention designates a messaging folder containing one or more data
objects as a publication folder (managed by a publication client) that is
replicated out to subscription clients over the store and forward
transport. The subscription clients each have a corresponding subscription
folder wherein the subscription client copies of the data objects are
maintained. Any modifications to the data objects are passed to the
publication client for verification, replacement in the publication
folder, and distribution out to each subscription client for replacement
in the corresponding subscription folder. The addition of new data objects
or the deletion of existing data objects are handled in like manner
through the publication client.