Research Goals

The immediate goal for PeerWare was to provide the middleware base for building a platform supporting distributed and mobile cooperative work, in the context of the project MOTION, funded by the European Community. The goal of the project was to build a framework of teamwork services to develop an enterprise-wide infrastructure for cooperation. PeerWare should be the core component of such framework, offering the basic middleware services.

The peculiarity of the application domain suggested us to adopt a peer-to-peer architecture, assuming that each user is mapped onto a peer that hosts information about the user and her documents. This solution allows for high degrees of reconfigurability and flexibility, which becomes especially important when mobility is part of the picture, as in the case of MOTION.

On the other hand, the requirements posed by the specific scenarios we had in mind led us in a direction that is somewhat different, and novel, with respect to currently available peer-to-peer systems. In particular, the following goals guided the development of PeerWare:

Focus on middleware instead of applications.
Our goal was to identify and provide a core and minimal set of flexible and extensible primitives sufficient to support any kind of peer-to-peer application, or to constitute the core for higher-level, application-specific middleware, like in the case of the MOTION platform.
Provide "complete" searching services in a scalable manner.
Most of currently available peer-to-peer systems are oriented toward the Internet. As a consequence, their searching mechanisms adopt best-effort approaches, which are not adequate for enterprise wide cooperative applications. Consequently, one of our primary goals in PeerWarewas to implement "complete" searches in a scalable manner. Perhaps not so scalable to be used on the Internet, with millions of nodes, but scalable enough to cope with the size of a large enterprise.
Integrate in a single unifying model both proactive and reactive primitives.
Advanced collaboration cannot be based only on proactive services, like the ability of searching the shared information space for specific documents when needed. Similar services are fundamental to support collaboration but the proactive paradigm is not enough. Reactive services, like the ability to be notified if a new document appears or a user joins the system are also required. PeerWare integrates both services.