Simple, you send out a request and the clients that have information about a sepecific file send out the metadata in XML format. In that XML message there is also the bitprint hash. When the user selects a file from the list of available files, another query is sent out for that hash and any user with that file will open a dialog with the requesting party tells the requesting party what part of the file the sending party has and then the sending party will try to start a transmission with the requesting party.
The requesting party can also include in their second query for a sepecific hash what specific parts of that hash the requesting party allready has (or needs, depending on what the spec says). That way only users who have a reason to respond will respond (thus keeping them anonymous to the requesting party).
These hash queries will become the standard for "researches" and should happen on regular intervals when a user cannot find a location of a specific file and all of the alternate locations (as defined by a seprate alt. location spec) either do not have a needed part of the file or when the alt. location doesn't exist.
__________________ - Nick Catalano |