22.01.2015 Views

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 3: <strong>Information</strong> <strong>Technology</strong> for Interoperability <strong>and</strong> Decision...<br />

257<br />

The queried node looks up the bucket which shares the longest matching prefix with<br />

the destination key. If there are less than k entries in the bucket, buckets with shorter<br />

matching prefix length are searched. The k entries are returned to the querying<br />

node. The newly learned nodes are then queried until no closer nodes are found.<br />

The distance to the final destination is halved in each routing step if the tables<br />

are reasonably filled. Routing to a node can be seen as increasing the matching prefix<br />

length to the destination hop at least by one bit in each hop. The number of routing<br />

hops in Kademlia is within O(log(n)). In existing implementations the number<br />

of hops seldom exceeds 5. Routing to destination keys is used for publishing <strong>and</strong><br />

in a slightly modified form also for subscribing.<br />

When a user of KadScribe wants to subscribe to a topic, it first generates<br />

an identifier of the topic. The node which is closest to the topic location according<br />

to Kademlia’s routing metric is called Rendezvous Point (RP). The subscriber,<br />

the topic location, the RP <strong>and</strong> the P2P connectivity are shown in figure 2(a).<br />

The edges depicted in the diagram are connections at the transport layer, e.g. UDP<br />

connectivity. The underlying technologies like MANET hops or wireless connection<br />

are abstracted. One hop in the P2P network may include multiple hops on lower<br />

layers. As the P2P network is on top of other network technologies it is also called<br />

an overlay network. The same mechanisms to derive the identifier as in a Distributed<br />

Hash Table may be used, e.g. hashing a textual topic description with a hash<br />

function. The method of generating a topic description is shared by all nodes. By<br />

doing so, a range query or a search which searches for similar topics is not possible.<br />

Other schemes ([16], [9], [19]) to determine topic identifiers or enable range<br />

queries or more detailed search requests exist. After the key of the topic has been<br />

calculated, a node is able to subscribe to a topic. The Kademlia routing table is<br />

searched <strong>and</strong> the known nodes closest to the RP are returned. No messages have<br />

been sent over the network so far. The subscriber then sends a subscribe message<br />

to the nearest node of the topic. The contacted node becomes a forwarder <strong>and</strong> adds<br />

the requesting node to a list. The forwarder sends a subscribe ack as an acknowledgment<br />

back to the subscriber. The forwarder then uses the same procedure to<br />

subscribe to the topic if it is not already subscribed. If a node is not able to send<br />

a subscribe to a node which is closer to the topic than itself the algorithm terminates<br />

<strong>and</strong> the node becomes RP for this topic. Any successive subscription from<br />

a different node terminates at the first forwarder (Fig. 2(c)). The constructed tree<br />

is a rooted tree with directed edges. The subscribers form the leaves of the tree.<br />

For each topic a separate tree is built. For simplification purposes, only a single<br />

topic is considered. When updated information is available for the topic, the publisher<br />

first finds the RP by means of the Kademlia routing. The topic identifier<br />

is used as the destination key. The root <strong>and</strong> the forwarders replicate the message<br />

<strong>and</strong> send out copies to all their successors in the tree until all subscribers have<br />

received the topic update.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!