![]() |
|||||
|
Peer-to-peer (P2P) information management and computing architectures use decentralized or distributed control mechanisms to share resources-typically data or processing cycles-in a scalable, flexible, and fault-tolerant manner. P2P is often seen as an evolution from two-tiered client-server and three-tiered middleware-based architectures, which assign particular functions to distributed computers, toward a more homogeneous environment in which each information processing and storage node (peer) in a network can simultaneously act as a producer, consumer, and facilitating intermediary. In practice, many systems based on P2P concepts exhibit at least some functional partitioning, such as having one or more specially designated peers act as rendezvous sites or matchmakers. Current systems that incorporate P2P concepts include Gnutella, Freenet, SETI@Home, and Groove Networks. An open source effort known as JXTA provides an interesting general-purpose architecture and protocol standard on which P2P systems can be built.
Traditionally, servers need to have a fixed, known address on the network, and ideally they are always on. Clients, however, prefer the flexibility of transience, connecting only when they want to and using different network addresses in different usage modes. When a peer is both a client and a server, these goals are at odds with one another. The solution requires P2P systems to support peer discovery protocols that allow peers to find each other by indirect means, and to expect results to differ over time as peers leave and join the network. Peer transience is a problem that instant messaging or chat systems have to address. Planning for transience also tends to make P2P systems more robust with respect to failures, a feature that makes them potentially applicable to military command and control applications. Run-time directory services such as peer discovery can also be used to handle the problem of indexing near-real-time or perishable information, which is another form of transience. Web crawlers, for example, cannot keep up with the continuously and rapidly changing state of Internet-accessible content. P2P approaches to information management allow queries to be propagated to peers that might be able to answer particular questions without requiring any prior crawling or central indexing. This mechanism is generally known as distributed search. In the Distributed Metadata Services (DiMeS) MITRE project, we are exploring ways to advertise what peers have and what they want using a general-purpose profiling language based on structured metadata from community-of-interest eXtensible Markup Language (XML) schemas. Our profiling language is designed to allow intermediate peers to remember and aggregate service descriptions selectively from profiles they have been told about or have discovered, enabling the knowledge network to route requests, results, and peer-referrals more efficiently. For more information, please contact Paul Silvey using the employee directory. |
Solutions That Make a Difference.® |
|
|