• 沒有找到結果。

3.1. PROBLEM ILLUSTRATION

In previous work, most researchers use network latency or network delay as the measurement for host distance. In our work, we introduce hop-based solution as another viewpoint that is different from previous works. Network latency is calculated alone with a path from one host to another host, therefore, there exist some edges will be calculated more than ones so that this situation could be improved. In addition, the network latency is calculated more than ones, therefore, there exist redundant message transmission over the transmission path. We illustrate an example in Figure 7. There exist a overlay network include host A, host B and host C. Host B is the neighbor of host A and host C is the neighbor of host B. Host A resides on network node 1, host B resides on network node 4 and host C resides on network node 5. network node 2 and 3 might be router or gateway. We suppose host A send a message to host C via host B according to the overlay network in Figure 7. The message will be sent from network node 1Æ network node 2Æ network node 3Æ network node 4Æ network node 3 Æ network node 5. Therefore, we can find the revisit edges between network node 3 and network node 4. This might cause erroneous judgement of optimized topology.

Figure 7 : An Example of Revisit Path

A B C

Overlay Network Topology

Underlying Network Topology

1 2 3 4

5

3.2. OVERLAY TOPOLOGY IMPROVEMENT SCHEME 3.2.1. NETWORK HOP TRACER MECHANISM

Based on our observation, we introduce network hop-based counting and detect the revisit edges along the query path to make the overlay network topology-aware. In practical, we can use network diagnose tool, traceroute or tracert, to explore the network path. These tools can trace the network address from source host to destination host so that the network hop can be recognized. Figure 8 is an example of that using traceroute tool from Minghsin University to Yahoo homepage.

Figure 8 : traceroute tool Example from Minghsin University to Yahoo

Because query message is delivered from source host to destination host via some intermediate hosts, therefore, in order to obtain network hop information we design a tracerHop-K algorithm that is extended from the mechanism of traceroute or tracert tool to explore network hops between two hosts. Message delivery path is based on peer-to-peer overlay network topology, so the virtual delivery path is according to peer’s connectivity in peer-to-peer overlay network. Each intermediate host on the path will execute tracerHop-K to get the network hop information to next host and then reply the network information to source host alone the message delivery path. For example, host A will have network hop information 1Æ2Æ3Æ4, and host b will have 4Æ3Æ5 and reply to host A. Figure 9 is an example of network hop information gathering process and Figure 10 is the illustration of the tracerHop-K algorithm.

Figure 9 : Network Hop Tracer Example

A B C

Overlay Network Topology

Underlying Network Topology

1 2 3 4

5

Hop information between B and C

tracerHop-K message Hop information

between A and B

tracerHop-K message

Figure 10 : tracerHop-K Algorithm INPUT : ADDRdest, K

OUTPUT : INFOhop

IF ADDR!= ADDRdest AND K > 0 HOSTnextÅ FIND(TABLEhost) INFOhopÅ traceroute(HOSTnext)

K Å K - 1 IF K > 0

SEND(HOSTnext)

3.2.2. HOPK-BASED OPTIMIZATION SCHEME

In order to have topology-aware peer-o-peer overlay network, the host connection relationship that forming the peer-to-peer overlay network need to take underlying network information into account. Because peer-to-peer overlay network is a distributed architecture, each host is self-organized and self-managed so that having global underlying network information in peer-to-peer overlay network is a difficult process. Therefore, in our research we also use the similar concept that using local information to estimate global optimized topology. Each host will send a tracerHop-K message to have local network hop information within K host away from source host in peer-to-peer overlay network. After gathering the network hop information within the range of overlay network hop K, the host will construct an argument network topology which are connecting with peer-to-peer overlay network host and underlying network routers. Figure 11 is the example of argument network topology with 2 hops. The host with wathet blue color is the host that constructing the argument network topology for topology improvement. The host with red color is 1 hop from the wathet blue host and the host navy blue color is 2 hop from the wathet blue host. The black nodes are the router between adjacent hosts in peer-to-peer overlay network.

Figure 11 : Argument Network Topology Example

When the host constructs the argument network topology, the host will detect the repeat edges or cycle edges in the argument network topology and add the final host in the path to the host’s neighbor. Figure 12 is the algorithm of the HopK-Based optimization scheme. The algorithm will be executed in each host of peer-to-peer overlay network periodically.

In general, the overall network is a summation of transmission delay, queuing delay, propagation delay and processing delay. Equation (1) is the formula that describes the overall network delay of peer-to-peer overlay network.

∑ ∑

∑ ∑

= + + +

= n im host n mi t q p pro

network D D D D D

D 1 1 (1)

Dnetwork is the overall network delay of peer-to-peer overlay network. Dhost is the network delay with respect to host of peer-to-peer overlay network. Dt is the transmission delay, Dq is the queuing delay, Dp is the propagation delay and Dpro is the processing delay. Because our method is to reduce the revisit edges when transmitting messages over peer-to-peer overlay network, the number of pass through router and the redundant messages are decreased. So the transmission delay, queuing delay, propagation delay and processing delay are decreased.

Therefore, we can derive the result after using HopK-Based Optimization Scheme is better than before using HopK-Based Optimization Scheme simply.

Figure 12 : HopK-Based Optimization Scheme function detect(PATHa->b)

begin

for each HOSTi in PATHa->b

if HOSTi<>HOSTa and HOSTi<>HOSTb

if predecessor(HOSTi) == successor(HOSTi) return true

else

return false end

function Topology_Optimization begin

for each INFOhop in Argument_Topology T for each HOSTi in INFOhop

if detect(PATHHOST->HOSTi)

add HOSTi as HOST’s neighbor break

end

相關文件