Patent application title: METHOD, DEVICE AND SYSTEM FOR DIAGNOSING WHETHER NODES ARE ABNORMAL IN P2P NETWORK

Abstract:

In the field of communications, a method, device and system for diagnosing
whether nodes are abnormal are provided. The method includes: sending a
diagnostic message with an identifier of a message to be detected;
determining whether an acknowledgement message sent from a node
corresponding to the diagnostic message is received; and if the
acknowledgement message is received, determining that the node is a
normal node; otherwise, determining that the node is an abnormal node. A
device for diagnosing whether nodes are abnormal, an intermediate node
device and a system for diagnosing whether nodes are abnormal are further
provided. The method, device and system have the advantage of diagnosing
whether a node is abnormal and whether a node is an abnormal node.

Claims:

1. A method for diagnosing whether nodes are abnormal in a peer-to-peer
(P2P) network, the method comprising:sending a diagnostic message with an
identifier of a message to be detected; andif a response message sent
from a node corresponding to the diagnostic message is received,
determining that the node is a normal node; if a response message sent
from a node corresponding to the diagnostic message is not received,
determining that the node is an abnormal node; wherein the response
message comprises an acknowledgement message of a downstream node.

2. The method according to claim 1, wherein the sending the diagnostic
message with the identifier of the message to be detected,
comprises:sending the diagnostic message with the identifier of the
message to be detected if a reply message sent from a destination node is
not received.

3. The method according to claim 1, wherein after the determining that the
node is the abnormal node, the method further comprises:sending
information of the abnormal node to other nodes.

4. The method according to claim 1, wherein the identifier of the message
to be detected comprises one of:a message label of the message to be
detected, and;Peer ID+Transaction ID of the message to be detected.

5. The method according to claim 1, wherein the response message further
comprises information of the downstream node of the node.

6. A device for diagnosing whether nodes are abnormal in a peer-to-peer
(P2P) network, the device comprising:a sending unit, configured to send a
diagnostic message with an identifier of a message to be detected;a
receiving unit, configured to receive a response message sent from a node
corresponding to the diagnostic message, wherein the response message
comprises an acknowledgement message of a downstream node; anda
determining unit, configured to determine whether the receiving unit
receives the acknowledgement message, and if the acknowledgement message
is received, determine that the node is a normal node; if the
acknowledgement message is not received, determine that the node is an
abnormal node.

7. The device according to claim 6, further comprising:a determining
module, configured to determine whether a reply message sent from a
destination node is received, and send a determination result to the
sending unit;wherein the sending unit sends the diagnostic message if the
determining module determines that the reply message sent from the
destination node is not received.

8. The device according to claim 7, further comprising:an information
sending unit, configured to send information of the abnormal node to
other nodes.

9. An intermediate node device, comprising:a receiving unit, configured to
receive a diagnostic message with an identifier of a message to be
detected, receive information sent from other nodes, and receive an
acknowledgement message and information of a downstream node sent from
the downstream node; anda sending unit, configured to return an
acknowledgement message and information of the intermediate node after
the receiving unit receives the information sent from other nodes, and
forward the information sent from the other nodes to the downstream node
of the intermediate node, and send a response message corresponding to
the diagnostic message after the receiving unit receives the diagnostic
message, wherein the response message comprises the acknowledgement
message and the information of the downstream node.

10. The device according to claim 9, further comprising:a storage unit,
configured to store the acknowledgement message and the information of
the downstream node are received by the receiving unit, the
acknowledgement message and the information of the downstream node are
sent from the downstream node.

11. The device according to claim 10, further comprising:an extracting
module, configured to extract the acknowledgement message and the
information of the downstream node are stored by the storage unit, the
acknowledgement message and the information of the downstream node are
sent from the downstream node; anda loading module, configured to load
the acknowledgement message and the information of the downstream node
sent from the downstream node into the response message, and send the
response message to the sending unit;wherein the sending unit sends the
response message upon receiving the response message.

12. A system for diagnosing whether nodes are abnormal in a peer-to-peer
(P2P) network, the system comprising a source node, an intermediate node
and a destination node, wherein the source node is configured to:send a
diagnostic message with an identifier of a message to be detected, and
receive a response message sent from the intermediate node or the
destination node corresponding to the diagnostic message, and determine
whether the node is abnormal according to the response message; andthe
intermediate node is configured to receive the diagnostic message, and
send a response message corresponding to the diagnostic message, wherein
the response message comprises information of a downstream node of the
node and an acknowledgement message of the downstream node; and the
intermediate node is configured to receive information sent from other
nodes, and return an acknowledgement message and information of the
intermediate node after receiving the information sent from the other
nodes, and forward the information sent from the other nodes.

13. The system according to claim 12, wherein the determining whether the
node is abnormal according to the response message comprises:if the
response message is received, determining that the node is a normal node;
if the response message is not received, determining that the node is an
abnormal node.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001]This application is a continuation of International Application No.
PCT/CN2009/070105, filed on Jan. 12, 2009, which claims priority to
Chinese Patent Application No. 200810057085.1, filed on Jan. 29, 2008,
both of which are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

[0002]The present disclosure relates to the filed of network
communication, and more particularly to a method, device and system for
diagnosing whether nodes are abnormal in a peer-to-peer (P2P) network.

BACKGROUND

[0003]A peer-to-peer (P2P) network is a distributed network, and
participants of the P2P network share a part of their own hardware
resources, such as processing capability, storage capacity, network
connection capability, and printer. These shared resources need to be
provided with services and contents by the network, and can be accessed
directly by other peers without using an intermediate entity. The peers
in P2P are not only the providers of resources, but also gainers of
resources. P2P breaks the traditional Client/Server (C/S) mode; each node
in the network is equivalent; and each node not only acts as a server
providing services for other nodes, but also enjoys services provided by
other nodes. A P2P system includes a structured P2P system, an
unstructured P2P system and a loosely structured P2P system.

[0004]The structured P2P system is characterized in that each node has a
logical address with a fixed length, and all the nodes are formed into a
logical overlay network by using the logical addresses and in accordance
with a distributed Hash table (DHT) algorithm rule. In the structured P2P
network, according to the DHT algorithm rule, each node needs to be
responsible for storing a segment of a resource index table, and there is
a unique mapping relationship between the logical address of the node
itself and the segment of the resource index table according to the DHT
algorithm rule; when searching for resources, a lookup message is also
forwarded to a node storing a corresponding resource index in a manner of
gradually approaching hop by hop in the P2P network according to the DHT
algorithm rule. The forwarding manner of gradually approaching hop by hop
is as shown in the following. It is assumed that A1 is an abnormal node,
A2 is another abnormal node, S is an initiating node, D is a destination
node, and M1 and M2 are normal nodes in an ordinary path. Assuming that S
has a request, the normal path of the request is
S→M1→A1→M2→D. Here, M1, A1, M2, and D are
called downstream nodes of the initiating node S. Since A1 is an abnormal
node, A1 may, after receiving the request forwarded from M1, discard the
request, or modify the request or send the request to other abnormal
nodes such as the other abnormal node A2 rather than M2.

[0005]In the implementation of the present disclosure, the inventors found
that the method described in the prior art has the following problems.

[0006]In the prior art, the presence of an abnormal node leads to loss of
the message or request passing through the abnormal node, which affects
the forwarding success ratio of messages or requests in the P2P system.
If it can be known that the node is an abnormal node, the quantity of
messages or requests passing through the abnormal node can be limited.
However, in the prior art, three is no method for diagnosing whether
nodes are abnormal, so it cannot be known whether a node is an abnormal
node.

SUMMARY

[0007]In view of the above problems in the prior art, embodiments of the
present disclosure are directed to a method, device and system for
diagnosing whether nodes are abnormal in a P2P network, which can know
whether a node is an abnormal node, thereby limiting the quantity of
messages or requests passing through the abnormal node.

[0008]An embodiment of the present disclosure provides a method for
diagnosing whether nodes are abnormal in a P2P network, and the method
includes the following steps.

[0009]A diagnostic message with an identifier of a message to be detected
is sent;

[0010]If a response message sent from a node corresponding to the
diagnostic message is received, it is determined that the node is a
normal node; if a response message sent from a node corresponding to the
diagnostic message is not received, it is determined that the node is an
abnormal node. The response message includes an acknowledgement message
of a downstream node.

[0011]Another embodiment of the present disclosure provides a device for
diagnosing whether nodes are abnormal in a P2P network, the device
includes a sending unit, a receiving unit, and a determining unit.

[0012]The sending unit is configured to send a diagnostic message with an
identifier of a message to be detected.

[0013]The receiving unit is configured to receive a response message sent
from anode corresponding to the diagnostic message. The response message
includes an acknowledgement message of a downstream node.

[0014]The determining unit is configured to determine whether the
receiving unit receives the acknowledgement message, and if the
acknowledgement message is received, determine that the node is a normal
node; if the acknowledgement message is not received, determine that the
node is an abnormal node.

[0015]Another embodiment of the present disclosure provides an
intermediate node device. The intermediate node device includes a
receiving unit and a sending unit.

[0016]The receiving unit is configured to receive a diagnostic message
with an identifier of a message to be detected, and receive information
sent from other nodes and an acknowledgement message and information of a
downstream node sent from the downstream node.

[0017]The sending unit is configured to return an acknowledgement message
and information of the intermediate node after the receiving unit
receives the information sent from other nodes, and forward the
information sent from the other nodes to the downstream node of the
intermediate node, and send an response message corresponding to the
diagnostic message after the receiving unit receives the diagnostic
message. The response message includes the acknowledgement message and
the information of the downstream node.

[0018]Another embodiment of the present disclosure provides a system for
diagnosing whether nodes are abnormal in a P2P network. The system
includes a source node, an intermediate node and a destination node.

[0019]The source node is configured to send a diagnostic message with an
identifier of a message to be detected and receive a response message
sent from the intermediate node or the destination node corresponding to
the diagnostic message, and determine whether the node is abnormal
according to the response message.

[0020]The intermediate node is configured to receive the diagnostic
message, and send a response message corresponding to the diagnostic
message, in which the response message includes information of a
downstream node of the node and an acknowledgement message of the
downstream node; and the intermediate node is configured to receive
information sent from other nodes, and return an acknowledgement message
and information of the intermediate node after receiving the information
sent from the other nodes, and forward the information sent from the
other nodes.

[0021]It can be seen from the technical solutions provided above, in the
technical solutions of the embodiments of the present disclosure, it is
known whether a node is an abnormal node by determining whether the node
is a normal node through a diagnostic message, thereby limiting the
quantity of messages or requests passing through the abnormal node, and
improving the forwarding success ratio of messages or requests in the P2P
system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a flow chart of a method for diagnosing whether nodes are
abnormal described in an embodiment of the present disclosure;

[0023]FIG. 2 is a flowchart of a method for diagnosing whether nodes are
abnormal in a P2P network according to an embodiment of the present
disclosure;

[0024]FIG. 3 is a structural diagram of a device for diagnosing whether
nodes are abnormal in a P2P network according to an embodiment of the
present disclosure;

[0025]FIG. 4 is a structural diagram of an intermediate node device
according to an embodiment of the present disclosure; and

[0026]FIG. 5 is a structural diagram of a system according to an
embodiment of the present disclosure.

DETAILED DESCRIPTION

[0027]An embodiment of the present disclosure provides a method for
diagnosing whether nodes are abnormal in a P2P network.

[0028]As shown in FIG. 1, the method includes the following steps.

[0029]Step 11: A diagnostic message with an identifier of a message to be
detected is sent.

[0030]The identifier of the message to be detected in this step may be a
message label of the message to be detected (such as a Hash value of the
message to be detected), or Peer ID+Transaction ID of the message to be
detected ("+" means "plus"). The embodiment of the present disclosure
does not limit the specific form of the message identifier, as long as
the message identifier enables the node to distinguish the message to be
detected corresponding to the diagnostic message.

[0031]Step 12: It is determined whether a response message sent from a
node corresponding to the diagnostic message is received, in which the
response message includes an acknowledgement message of a downstream
node; and if the response message including an acknowledgement message of
a downstream node is received, it is determined that the node is a normal
node; if the response message including an acknowledgement message of a
downstream node is not received, it is determined that the node is an
abnormal node.

[0032]Optionally, the response message may further include information of
the downstream node of the node.

[0033]In this step, the downstream node of the node is a next node in a
transport path of the node.

[0034]Step 12 may be accomplished by the following method: after receiving
information forwarded by a previous node, the node returns an
acknowledgement message carrying a signature of the node and information
of the node, forwards the received information, and receives and stores
the acknowledgement message and information of the downstream node sent
from the downstream node after forwarding the information; and after
receiving the diagnostic message with the identifier of the message to be
detected, the node loads the acknowledgement message corresponding to the
diagnostic message and the information of the downstream node into the
response message, and sends the response message. The received
information may be a packet.

[0035]Before Step 11 is finished, the method for diagnosing whether nodes
are abnormal in a P2P network may further include the following step.

[0036]It is determined whether a reply message sent from a destination
node is received, and if the reply message sent from the destination node
is not received, Step 11 is performed; if the reply message sent from the
destination node is received, the operation is ended.

[0037]The case where the reply message sent from the destination node is
not received includes the following cases:

[0038]Case A: The intermediate node times out in the process of forwarding
the packet information.

[0039]Case B: The intermediate node receives an acknowledgement message
sent from a downstream node of the intermediate node, but the
acknowledgement message is erroneous.

[0041]The cases A to C illustrate general cases where the reply message
sent from the destination node is not received, but the embodiment of the
present disclosure does not limit the specific cases where the reply
message sent from the destination node is not received, and the
diagnostic message may be sent directly as long as the reply message sent
from the destination node is not received.

[0042]The method for diagnosing whether nodes are abnormal in a P2P
network may be implemented by a source node, or implemented by a managing
node.

[0043]After Step 12 is finished, the method for diagnosing whether nodes
are abnormal in a P2P network may further include: sending information of
the abnormal node to other nodes. This step may be implemented by a
source node or a managing node, and the other nodes in this step are the
nodes other than the abnormal node. By sending the information of the
abnormal node to other nodes, the other nodes can control the quantity of
messages or requests sent to the abnormal node, thereby reducing the loss
ratio of messages or requests.

[0044]In order to better describe the method of the present disclosure,
the embodiment of the present disclosure is illustrated with reference to
FIG. 2.

[0045]The embodiment of the present disclosure provides a method for
diagnosing whether nodes are abnormal. In this embodiment, the method for
diagnosing whether nodes are abnormal in a P2P network is implemented by
a source node, and the diagnostic message with the identifier of the
message to be detected is a diagnostic message with Peer ID+Transaction
ID. As shown in FIG. 2, the method for diagnosing whether nodes are
abnormal in a P2P network includes the following steps.

[0046]Step 21: The source node determines whether a reply message sent
from a destination node is received; if the reply message is not
received, Step 22 is performed; if the reply message is received, the
operation is ended.

[0047]The case where the reply message is not received in this step has
been described above, so the details will not be described herein again.
This step may be implemented by the following method: A period is set at
the source node, and if the reply message sent from the destination node
is not received within the period, it is determined that the reply
message is not received; alternatively, a period may also be set at an
intermediate node, such that if the intermediate node fails to forward
the information, the intermediate node sends a forwarding failure message
to the source node, and after receiving the message, the source node
determines that the reply message is not received.

[0049]The source node sends the diagnostic message to nodes one by one, or
the source node sends the diagnostic message to all the nodes at the same
time.

[0050]Step 23: The source node determines whether a response message sent
from a node corresponding to the diagnostic message is received, in which
the response message includes information of a downstream node of the
node and an acknowledgement message of the downstream node; if the
response message including information of a downstream node of the node
and an acknowledgement message of the downstream node is received, the
source node determines that the node is a normal node; if the response
message including information of a downstream node of the node and an
acknowledgement message of the downstream node is not received, the
source node determines that the node is an abnormal node. When the source
node determines that the node is an abnormal node, Step 24 may be further
performed.

[0051]The method for determining whether the response message sent from
the node corresponding to the diagnostic message is received in this step
may adopt the similar method for determining whether the reply message
sent from the destination node is received in Step 21.

[0052]Step 24: The source node sends information of the abnormal node to
other nodes.

[0053]The method of the embodiments of the present disclosure determines
whether a node is an abnormal node through a diagnostic message.

[0054]An embodiment of the present disclosure further provides a device
for diagnosing whether nodes are abnormal in a P2P network. As shown in
FIG. 3, the device includes: a sending unit 31, a receiving unit 32 and a
determining unit 33. Wherein the sending unit 31 is configured to send a
diagnostic message with an identifier of a message to be detected; the
receiving unit 32 is configured to receive a response message sent from a
node corresponding to the diagnostic message, in which the response
message includes an acknowledgement message of a downstream node; the
determining unit 33 is configured to determine whether the receiving unit
32 receives the response message including an acknowledgement message of
a downstream node, and if the response message including an
acknowledgement message of a downstream node is received, determine that
the node is a normal node; if the response message including an
acknowledgement message of a downstream node is not received, determine
that the node is an abnormal node. The device for diagnosing whether
nodes are abnormal may be a source node device or a managing node device.

[0055]Optionally, the response message may further include information of
the downstream node of the node.

[0056]The device may further include a determining module 311. The
determining module 311 is configured to determine whether a reply message
sent from a destination node is received; and the sending unit 31 is
further configured to send the diagnostic message if the determining
module determines that the reply message sent from the destination node
is not received.

[0057]The device may further include an information sending unit 34. The
information sending unit 34 is configured to send information of the
abnormal node to other nodes.

[0058]The device of the present disclosure determines whether a node is an
abnormal node through a diagnostic message.

[0059]An embodiment of the present disclosure provides an intermediate
node device. As shown in FIG. 4, the intermediate node device of the
embodiment of the present disclosure bases on an intermediate node of the
prior art and further includes: a receiving unit 41 and a sending unit
42. Wherein the receiving unit 41 is configured to receive a diagnostic
message with an identifier of a message to be detected, and receive
information sent from other nodes and an acknowledgement message and
information of a downstream node sent from the downstream node. The
sending unit 42, configured to return an acknowledgement message and
information of the intermediate node after the receiving unit receives
the information sent from other nodes; and forward the information sent
from the other nodes to the downstream node of the intermediate node; and
send an response message corresponding to the diagnostic message after
the receiving unit receives the diagnostic message, in which the response
message includes the acknowledgement message and the information of the
downstream node.

[0060]The intermediate node device of the embodiment of the present
disclosure may further include a storage unit 43. The storage unit is
configured to store the acknowledgement message and the information of
the downstream node received by the receiving unit, where the
acknowledgement message and the information of the downstream node are
sent from the downstream node.

[0061]The intermediate node device of the embodiment of the present
disclosure may further include an extracting module 461 and a loading
module 462. The extracting module 461 is configured to extract the
acknowledgement message and the information of the downstream node sent
from the downstream node, the acknowledgement message and the information
of the downstream node are stored by the storage unit; the loading module
462 is configured to load the acknowledgement message and the information
of the downstream node sent from the downstream node into the response
message, and send the response message to the sending unit; and the
sending unit 42 sends the response message upon receiving the response
message.

[0062]After receiving a diagnostic message, the intermediate node device
of the embodiment of the present disclosure sends a response message
corresponding to the diagnostic message, so as to support the method
according to the embodiment of the present disclosure to determine
whether a node is an abnormal node.

[0063]In a specific implementation, the present disclosure further
provides a system for diagnosing whether nodes are abnormal in a P2P
network. As shown in FIG. 5, the system includes a source node 51, an
intermediate node 52 and a destination node 53.

[0064]The source node 51 is configured to send a diagnostic message with
an identifier of a message to be detected; receive a response message
sent from the intermediate node or the destination node corresponding to
the diagnostic message, and determine whether the node is abnormal
according to the response message.

[0065]The intermediate node 52 is configured to receive the diagnostic
message, and send a response message corresponding to the diagnostic
message, in which the response message includes information of a
downstream node of the node and an acknowledgement message of the
downstream node; and the intermediate node is configured to receive
information sent from other nodes, and return an acknowledgement message
and information of the intermediate node after receiving the information
sent from the other nodes, and forward the information sent from the
other nodes.

[0066]The determining whether the node is abnormal according to the
response message in the system may include: if the response message
including information of a downstream node of the node and an
acknowledgement message of the downstream node is received, determining
that the node is a normal node; if the response message including
information of a downstream node of the node and an acknowledgement
message of the downstream node is not received, determining that the node
is an abnormal node.

[0067]The system of the embodiment of the present disclosure determines
whether a node is an abnormal node through a diagnostic message.

[0068]It is understandable to those skilled in the art that the
accompanying drawings are for illustrating the preferred embodiments
only, and the modules or processes in the accompanying drawings may be
not mandatory.

[0069]Person having ordinary skill in the art may understand that all or
part of the steps of the method according to the embodiments of the
present disclosure may be implemented by a program instructing relevant
hardware. The program may be stored in a computer readable storage
medium. When the program runs, one of or a combination of the steps
according to the embodiments of the method is performed.

[0070]In addition, each functional unit in each embodiment of the present
disclosure may be integrated in one processing module, or each unit
separately physically exists, or two or more units are integrated in one
module. The integrated module may be embodied in the form of hardware or
software. If the integrated module is embodied in the form of software
and is sold or used as a separate product, the integrated module may be
stored in a computer readable storage medium.

[0071]The storage medium may be a read-only memory (ROM), a magnetic disk,
or a compact disk read-only memory (CD-ROM).

[0072]Based on the above, the technical solutions provided by the
embodiments of the present disclosure have the advantage of determining
whether a node is an abnormal node.

[0073]The above descriptions are merely preferred embodiments of the
present disclosure, but not intended to limit the scope of the present
disclosure. Any modification, equivalent replacement, or improvement made
without departing from the spirit and principle of the present disclosure
should fall within the scope of the present disclosure. Therefore, the
protection scope of the present disclosure is subject to the appended
claims.