The GPU protocol is very simple. A more advanced proposal is given in BOINC for the centralized model, and in [16] for a Peer-to-Peer approach. Due to Delphi, and viewed that the computing engine is encapsulated in a component, getting other protocols on the framework is easy, namely throw another component on the Delphi form. Currently in GPU, the component that does connections to Gnutella was written and is maintained by a German programmer, Kamil Pogorzelski [17].
As we saw previously, in the file-sharing network there are two types of packets (there are more [5], but these are the ones that concern us): the request for files and the answer. The GPU framework does it similarly; it creates a request string or an answer and spreads it throughout the Gnutella disguised as search string for files. This is inelegant, but fits our need of rapid prototyping and of compatibility with other Gnutella clients3. This might change in future, as we hope to provide a cleaner implementation with Gnutella packets dedicated to the GPU framework. A priority queue might be useful, too. Users with long uptime and many computed results should be privileged with high-priority requests.
A request for computational time is built as follows; fields are separated by
GPU with ':'.
|
|