|
|
|
Based on Ivkovic’s paper “Improving Gnutella
Protocol”. |
|
Also based on Docs and Tutorials at |
|
http://www.jxta.org/ |
|
|
|
|
Peer-to-peer indexing and searching service. |
|
Peer-to-peer point-to-point file downloading
using HTTP. |
|
A gnutella node needs a server (or a set of
servers) to “start-up”… gnutellahosts.com provides a service with reliable
initial connection points |
|
|
|
|
PING – Notify a peer of your existence |
|
PONG – Reply to a PING request |
|
QUERY – Find a file in the network |
|
RESPONSE – Give the location of a file |
|
PUSHREQUEST – Request a server behind a firewall
to push a file out to a client. |
|
|
|
|
|
Descriptor ID uniquely identifies descriptor on
the network |
|
Payload Descriptor is 0x00 = Ping, 0x01 = Pong,
0x40 = Push, 0x80 = Query, 0x81 = Response |
|
TTL(0) = TTL(i)+Hops(i) |
|
|
|
|
No payload (i.e., payload length = 0) |
|
Used for probing the network and establishing
connections after reception of “Pong”. |
|
|
|
|
Responding to “Ping” descriptors. |
|
Enough information to establish connection. |
|
File sharing meta-data. |
|
|
|
|
For querying the network for a particular file
or files (usually substring of file
name). |
|
Quality of Service parameter (minimum speed). |
|
|
|
|
For positive “File Found” replies to a query. |
|
|
|
|
For getting files from firewall-protected
servents. |
|
Request pushing a file from an internal node to
an outside servent. |
|
|
|
|
Download failures |
|
Scalability |
|
Fragmented development |
|
Encouragement of content sharing |
|
Reducing browsing downtime |
|
Reducing unnecessary network traffic |
|
Creating and maintaining a healthy network
structure –rebalancing, different TTL strategies, priorities |
|
Addressing security concerns. |
|
|
|
|
For “juxtapose”, from Bill Joy at Sun. |
|
|
|
Connecting devices and applications by providing
common P2P services to heterogeneous devices, operating systems,
programming languages, and applications. |
|
|
|
|
|
Material from “Web Services Edge” XML
Conference, San Jose, CA, October 2002, by Juan Carlos Soto, Sun
Microsystems: |
|
|
|