A content network enables the description, discovery, and distribution
of discrete pieces of information between providers and consumers. The
web as a content network assumes static, always on content providers.
First generation peer to peer content networks address the issue of
occasionally connected and mobile content providers, but assume highly
redundant static content. Next generation content networks must address
the issue of unique and dynamic content on occasionally connected and
mobile content providers. Examples of these applications include: replicating schedule information between various Palm Pilots, syndicating the Great American Novel in serialized form as I write it on my pc-tablet, or using my digital camera to distribute a daily picture of the street outside my cigar store.
To build these types of applications requires a store and forward
messaging architecture to negotiate presence, and the ability to redirect
requests from logical addresses to physical addresses. Presence and
address negotiation will be implemented by tunneling Gnutella's host
catching messages over Jabber's Instant Messaging protocol the availability and current addresses of both client and server are resolved, and then dropping the remaining transfer back into a standard Gnutella conversation. In addition, we will look at bandwidth usage and security enhancements which become possible using this architecture.
This session will cover proposed changes to the Gnutella 0.4 protocol,
incorporating the LimeWire MetaData proposal
(http://www.limewire.com/developer/MetaProposal.htm); altering the clip2
reflector/proxy implementation (http://www.clip2.com/reflector_wp.html),
to cache content listings even when the resource is offline; and
modifying the implementation of the Gnutella servent, incorporating
Jabber client functionality. It will cover the modifications to the
Gnutella servent in some detail, including source code examples.