Ultrapeer technology is open Just look at "the_gdf" YahooGroup, and you'll see that LimeWire's UltraPeer technology is published and discussed with all other Gnutella implementors, so expect that other implementations will also include it soon, once the various interoperability issues are solved.
Currently, the Gnutella network still suffers from having old 0.4 client software, that do not implement pacekeeping rules that are now heavily tested, monitored and discussed so that the Gnutella network can scale up further.
The LimeWire's UltraPeer technology makes exactly its best to avoid flooding users with slow bandwidth, and that cannot manage that flow, thus creating a "bandwidth barrier", that caused the Gnutella network to effectively scale DOWN when more users joined the network.
Thre are several alternate technologies that are used to help manage a network with millions of users, including the innovating ping/pong filtering schemes initiated by LimeWire, and many new features, that helps to reduce the global bandwidth on the network.
Don't cry about LimeWire: when you get flooded by many ping/pong messages, it just means that the current implementation of your Gnutella user-agent still does not implement pacekeeping rules that have been approved in the GDF forum. Try to convince the developers of your user-agent to look at the specifications published in the open GDF forum, discuss it there, and at least implement the now finalized 0.6 specification of the Gnutella protocol, that obsoletes a part of the old 0.4 standard.
All User-Agents should be 0.6 protocol aware, and users are urged to upgrade with a compliant agent. Most popular agents are now compatible with the 0.6 protocol, which will coexist for a while with the 0.4 protocol, but 0.4 agents lack important features that allow efficient pacekeeping rules to best fit your bandwidth usage.
Note: A 0.4 user-agent is not a valid candidate for UltraPeer support. UltraPeers currently have the following policy:
- it must have a large available bandwidth
- it must be running since more than 15 minutes, and it runs for long average time
- it supports the 0.6 protocol
- it manages the connection of 10 to 100 (UltraPeer-aware) "lief" nodes, that will benefit from a "shielded" connection with the UltraPeer.
- it connects with 1 to 10 other UltraPeers
- it accepts a few (1 to 4) connections with old 0.4 agents (unaware of the UltraPeer protocol), which it manages the best as possible to avoid flooding them
The new "shielded" 0.6 leaf nodes benefit from a dramatic reduction of the bandwidth, and from much faster connectivity to the network (they don't need to send many pings to the network)
Note that if your old 0.4 user agent connects to an UltraPeer and sends many messages to the UltraPeer, the UltraPeer has no clue on how to manage the bandwidth of messages sent to you, so it will flood you with messages, if your agent floods the UltraPeer. Only if your agent implements pacekeeping rules will the UltraPeer limit its traffic to you.
Before the UltraPeer technology, user-agents were required to broadcast a "ping" message to the network, to receive a flood of "pong" responses from all their connections, in order to discover other hosts on the network.
When an unaware old 0.4 user-agent connects to an ultrapeer, it will send a single ping, and will get a large number of pong answers simply because UltraPeer have many connections. There's a built-in rule in UltraPeers that avoids them to flood an anaware 0.4 agent connected to it, and which limits the number of pong answers sent for a single ping.
However, if your 0.4 agent does not implement pacekeeping rules, and continuously sends pings to the network, then it will send pings to Ultrapeers, and will each time retreive a new collection of pongs from Ultrapeers. Your agent is just behaving the way it bahved before Ultrapeers were created. It is a bad behavior, and this caused the Gnutella network to scale down in last summer.
You should upgrade your agent with a version that implements the approved pacekeeping rules for ping/pong messages. That way, it won't be apparently flooded by ultrapeers and other user-agents. If you implemented your agent yourself, then read the pacekeeping rules and adapt your implementation. |