A sharing infrastructure is directed at providing a framework for sharing
resources between initiators and participants. The sharing infrastructure
is designed to manage and direct various sharing providers, articulate
information about sharing relationships, and to provide a framework for
pluggable data sharing, data discovery, schema translation, and conflict
resolution. The infrastructure allows for common sharing operations to be
implemented in a more centralized fashion, and eases the cost of
implementing new sharing providers. An extensible and pluggable provider
model eases remote and local configuration; schema mapping; and protocol
handling. A sharing protocol is defined that relates to establishing and
managing a sharing relationship.