General
This entry will explain you how to interpret the "Search Details"
Graphin the Kad dialog (if you don't see it, click on the "Contacts"
button). However before doing so, there is one important thing mention:
You don't need to understand, monitor or look at this graph at all to
have Kad work properly. This graph provides insights into Kads working
mechanisms, but if you are not interested in it you can safely skip
this page and eMule won't even be angry with you ;)
What this graph is about
Kad is a decentralized network and database. Every action consists of
searching and contacting other nodes (users) to retrieve or store
information about something. This graph visualizes this process,
allowing you to watch in real time how eMule searches the proper nodes
and contacts them.
Details
There are basically three types of queries you will see: Storing data,
retrieving data and finding other nodes to fill your routing table. The
last one is the most common action, but also the most boring one, so
lets rather start by explaining how eMule finds a keyword your are
searching for.
If you want to follow the explanation on your own eMule: Be sure to
be connected to Kad, go to the search dialog, enter a keyword to search
for, select "Kad" as method and click start, switch back to the Kad
screen and click the entry which has your keyword as name in the
"Current searches list".
You will now see how the graph develops and in the end it should look
kinda like this:
So what does it mean? Each dot represents a node. The closer a dot is
to the bottom, the closer it is to the keyword we are searching (not
physically), so Kads first task is to find nodes which are close to the
keyword, because those are most likely to know something about our
keyword.
To archieve this Kad asks other nodes if they know nodes which are
closer to the keyword than themself and if they do they will send us
those. In the graph this is shown by arrows. An arrow pointing from one
node to another means that the node where the arrow start sent us the
node where the arrow ends. Of course several nodes can (and will)
report nodes which we already know, this is why you will see nodes
which have several arrows pointing at them. Nodes which have no arrow
pointing at them at all were taken out of our local routing table -
mostly those are the first three top left nodes.
The color of the nodes shows how the nodes responded to our request:
-
: This node
answered our request and sent us nodes which are closer to the
keyword than itself (when retrieving information like in the example
above most nodes send us 2 results, when storing information nodes
send 4 results)
-
: This node was
asked, but we are still waiting for an answer
-
: This node
didn't answered at all, it is probably dead
-
: This node
answered, but wasn't able to find nodes which are closer to the
keyword than itself
Once Kad has found enough nodes, it will start to ask them if they have
any files indexed for the actual keyword we are searching. If they do
they will send us the result and when we have enough of them or after
we searched for a given time, Kad will stop the query and the search is
finished. That is why searches for a common keyword will result in only
a few nodes shown on the graph and end after a few seconds, while
searches for a rare keyword might go on for quite some time.
The keyword request to other nodes is shown on the graph with those
symbols:
-
: The node had
files indexed for our keyword and sent us the result which will now
be listed in the search dialog
-
: The node had
no files stored for our keyword or didn't answer
Finally, you can watch all details about any node by hovering the
mousepointer over it and waiting for the tooltip.
This concludes the explanation about how a keyword search is shown on
the Kad graph. As written above, there are two other types of actions:
Storing files, keywords or notes works pretty similar to the explained
example, except that we don't expect results when we store our keyword
or file. Finding nodes for our routing table ("Node Lookups") on the
other hand looks always like one green node (the one we asked) pointing
to 11 yellow nodes (those we added to our routing table) - there is
nothing much to see here.
|