The Internet and Web have brought in a new era of information sharing and opened
up countless opportunities for people to rethink and redefine communication. With
the development of network-related technologies, a Client/Server architecture has become
dominant in the application layer of the Internet. Nowadays network nodes
are behind firewalls and Network Address Translations, and the centralised design of
the Client/Server architecture limits communication between users on the client side.
Achieving the conflicting goals of data privacy and data openness is difficult and in
many cases the difficulty is compounded by the differing solutions adopted by different
organisations and companies. Building a more decentralised or distributed environment
for people to freely share their knowledge has become a pressing challenge
and we need to understand how to adapt the pervasive Client/Server architecture to this
more fluid environment.
This thesis describes a novel framework by which network nodes or humans can interact
and share knowledge with each other through formal service-choreography specifications
in a decentralised manner. The platform allows peers to publish, discover
and (un)subscribe to those specifications in the form of Interaction Models (IMs). Peer
groups can be dynamically formed and disbanded based on the interaction logs of
peers. IMs are published in HTML documents as normal Web pages indexable by
search engines and associated with lightweight annotations which semantically enhance
the embedded IM elements and at the same time make IM publications comply
with the Linked Data principles. The execution of IMs is decentralised on each peer via
conventional Web browsers, potentially giving the system access to a very large user
community. In this thesis, after developing a proof-of-concept implementation, we
carry out case studies of the resulting functionality and evaluate the implementation
across several metrics.
An increasing number of service providers have began to look for customers proactively,
and we believe that in the near future we will not search for services but rather
services will find us through our peer communities. Our approaches show how a
peer-to-peer architecture for this purpose can be obtained on top of a conventional
Client/Server Web infrastructure