[go: up one dir, main page]

JP2008288872A - Peer-to-peer communication establishment apparatus, method, and program - Google Patents

Peer-to-peer communication establishment apparatus, method, and program Download PDF

Info

Publication number
JP2008288872A
JP2008288872A JP2007131798A JP2007131798A JP2008288872A JP 2008288872 A JP2008288872 A JP 2008288872A JP 2007131798 A JP2007131798 A JP 2007131798A JP 2007131798 A JP2007131798 A JP 2007131798A JP 2008288872 A JP2008288872 A JP 2008288872A
Authority
JP
Japan
Prior art keywords
peer
relay
flow
nodes
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007131798A
Other languages
Japanese (ja)
Other versions
JP4490990B2 (en
Inventor
Junichi Nakazato
淳一 中里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2007131798A priority Critical patent/JP4490990B2/en
Publication of JP2008288872A publication Critical patent/JP2008288872A/en
Application granted granted Critical
Publication of JP4490990B2 publication Critical patent/JP4490990B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】仮想ハブを経由することなくクライアント間で直接的に通信を行うことにより、トラフィックの最適化を図ること。
【解決手段】本発明は、複数の中継ノード20のうちの少なくとも何れかとの通信リンクを持つ複数のクライアント30がそれぞれ、中継ノード20を経由して他のクライアント30と互いに通信する仮想ネットワークにおいて、特定のクライアント30(#2,#6)間にピアツーピアリンクpを確立する装置であって、複数のクライアントのうち、任意の2つのクライアント30(#2,#6)間において、連続した2つ以上の中継ノード20(#1〜#4)を介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出し、グローバルフローが検出されたクライアント間にピアツーピアリンクpを確立するネットワーク管理モジュール40を備えている。
【選択図】 図9
An object of the present invention is to optimize traffic by performing direct communication between clients without going through a virtual hub.
The present invention relates to a virtual network in which a plurality of clients having a communication link with at least one of a plurality of relay nodes communicate with each other via the relay node. An apparatus for establishing a peer-to-peer link p between specific clients 30 (# 2, # 6), and two consecutive clients among any two clients 30 (# 2, # 6) among a plurality of clients A global flow that is a communication flow that is made through the above relay nodes 20 (# 1 to # 4) and satisfies a predetermined standard is detected, and a peer-to-peer link p is established between clients in which the global flow is detected. A network management module 40 is provided.
[Selection] Figure 9

Description

本発明は、ピアツーピア通信確立装置、方法、及びプログラムに関し、更に詳しくは、仮想ネットワークにおけるグローバルフロー検出に基づいてピアツーピア通信を確立する装置、方法、及びプログラムに関する。   The present invention relates to a peer-to-peer communication establishment apparatus, method and program, and more particularly to an apparatus, method and program for establishing peer-to-peer communication based on global flow detection in a virtual network.

例えば、TCP/IPネットワークのような既存の物理的なネットワーク(以後、「アンダーレイネットワーク」と称する)上に、ソフトウェアにて構築する仮想的なネットワークをオーバレイネットワークと呼ぶ。   For example, a virtual network constructed by software on an existing physical network (hereinafter referred to as “underlay network”) such as a TCP / IP network is referred to as an overlay network.

主なオーバレイネットワーク(以後、「仮想ネットワーク」とも称する)として、以下のように、いわゆるピアツーピア(P2P)ネットワーク(例えば、非特許文献1乃至7)と呼ばれるものや、仮想ローカルエリアネットワーク(以後、「仮想LAN」と称する)がある。   As main overlay networks (hereinafter also referred to as “virtual networks”), what is called a peer-to-peer (P2P) network (for example, Non-Patent Documents 1 to 7) and virtual local area networks (hereinafter “ Referred to as “virtual LAN”).

ピアツーピアネットワークは、現状、ファイル交換(Winny,BitTorrent等)、音声通信(Skype等)などに広く利用されている。その方式により、大きく以下の2つ、すなわち、(1)ホストやコンテンツの探索は特別なサーバに依存するが、最終的なデータの送受信はピアツーピアのホスト間で行なうものと、(2)データの送受信だけでなく、ホストやコンテンツの探索そのものも、特別なサーバを必要とせず、完全に対等な立場のホスト間で分散協調して行なうものとに分けられる。なお、ホスト、コンテンツの探索に、特定のサーバではないが、特別な役割を果たすホスト群を利用する、上記2つの中間的な方式を用いるものもある。   Peer-to-peer networks are currently widely used for file exchange (Winny, BitTorrent, etc.), voice communication (Skype, etc.) and the like. Depending on the method, the following two major steps are taken: (1) Host and content search depend on special servers, but final data transmission / reception is performed between peer-to-peer hosts, and (2) data In addition to transmission / reception, the host and content search itself can be divided into those that do not require a special server and are distributed and coordinated among hosts in completely equal positions. In some cases, the above two intermediate methods using a host group that plays a special role are used for searching hosts and contents, although they are not specific servers.

一方、仮想LANとして代表的なものに、ソフトイーサ株式会社製のSoftether(Packetix)(例えば、非特許文献8乃至9)がある。Softether(Packetix)は仮想ネットワークの一例である仮想イーサネット(登録商標)を構築するソフトウェア群である。Softether(Packetix)又はこれに類似したソフトウェアでの仮想イーサネットの構築方法は例えば以下の通りである。   On the other hand, a typical virtual LAN includes Softether (Packetix) (for example, Non-Patent Documents 8 to 9) manufactured by SoftEther Corporation. Softeter (Packetix) is a software group for constructing virtual Ethernet (registered trademark), which is an example of a virtual network. For example, a virtual Ethernet construction method using Softeter (Packetix) or similar software is as follows.

すなわち、先ず、ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア(以後、「仮想ハブ」と称する)を動作させる(以後、仮想ハブを動作させる計算機を「サーバ」と称する。)。   That is, first, software that emulates an Ethernet switching hub (hereinafter referred to as “virtual hub”) is operated on a certain computer (hereinafter, the computer that operates the virtual hub is referred to as “server”).

次に、仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、仮想ハブに接続する(以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する)。   Next, a computer wishing to participate in virtual Ethernet connects to a virtual hub (hereinafter referred to as a virtual network interface) via a virtual network interface (hereinafter referred to as “virtual network interface”) constructed by software. The computer that operates is called “client”).

このような仮想イーサネットの一般的な構成を図18に示す。   A general configuration of such a virtual Ethernet is shown in FIG.

例えばTCP/IPネットワークであるアンダーレイネットワーク150は、オーバレイネットワークである仮想イーサネット154を構築する基盤となる物理ネットワークである。アンダーレイネットワーク150は、ファイアウォール156、ルータ157、リンク層の通信装置(イーサネットならばハブやスイッチングハブ)により構成される。ルータ157は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることからここではその詳細説明を割愛する。また、ファイアウォール156は、内部ネットワーク160と外部ネットワーク161との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。   For example, the underlay network 150 that is a TCP / IP network is a physical network that serves as a basis for constructing the virtual Ethernet 154 that is an overlay network. The underlay network 150 includes a firewall 156, a router 157, and a link layer communication device (a hub or a switching hub in the case of Ethernet). The router 157 is a network layer device that constitutes a TCP / IP network, and is a general device, and therefore, detailed description thereof is omitted here. The firewall 156 is a security device installed at the boundary between the internal network 160 and the external network 161, and since it is a general device, its detailed description is omitted here.

クライアント153は、仮想イーサネット154を構成する仮想ハブ151に接続する計算機であり、仮想ネットワークインタフェース152を介して仮想ハブ151に接続する。仮想ハブ151は、このように複数のクライアント153とのコネクションを保持する中継ノードとして機能する。サーバ155は、このような仮想ハブ151を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ155と、ネットワーク仮想化装置によって制御される端末であるクライアント153とを合わせてネットワーク仮想化システムと称する。仮想イーサネット154は、一つ又は複数の仮想ハブ151に、それぞれ仮想ネットワークインタフェース152を持った複数のクライアント153が接続することにより構築される。
電子情報通信学会誌、2004年9月号、「P2P総論I ブローカーレスモデルの挑戦」 電子情報通信学会誌、2004年10月号、「P2P総論II P2Pテクノロジ」 電子情報通信学会誌、2004年12月号、「P2P総論III P2Pサービスとビジネス」 電子情報通信学会誌、2005年1月号、「P2P総論IV 最新動向と将来展望」 株式会社アスキー、UNIX(登録商標) MAGAZINE、2005年9月号、「P2P技術の基礎知識[1]」 株式会社アスキー、UNIX MAGAZINE、2005年10月号、「P2P技術の基礎知識[2]」 株式会社アスキー、UNIX MAGAZINE、2005年11月号、「P2P技術の基礎知識[3]」 株式会社アスキー、公式SoftEther活用ガイド http://www.softether.com、ソフトイーサ株式会社ホームページ
The client 153 is a computer that is connected to the virtual hub 151 that constitutes the virtual Ethernet 154, and is connected to the virtual hub 151 via the virtual network interface 152. In this way, the virtual hub 151 functions as a relay node that holds connections with a plurality of clients 153. The server 155 is a network virtualization apparatus in which such a virtual hub 151 is arranged. In this specification, the server 155 that is such a network virtualization apparatus and the client 153 that is a terminal controlled by the network virtualization apparatus are collectively referred to as a network virtualization system. The virtual Ethernet 154 is constructed by connecting a plurality of clients 153 each having a virtual network interface 152 to one or a plurality of virtual hubs 151.
The Institute of Electronics, Information and Communication Engineers, September 2004, “P2P General I: Challenge of Brokerless Model” The Institute of Electronics, Information and Communication Engineers, October 2004, "P2P General Remarks II P2P Technology" IEICE Journal, December 2004, "P2P General Review III P2P Service and Business" IEICE Journal, January 2005, "P2P General Remarks IV Latest Trends and Future Prospects" ASCII, Inc., UNIX (registered trademark) MAGAZINE, September 2005, "Basic knowledge of P2P technology [1]" ASCII Co., Ltd., UNIX MAGAZINE, October 2005, “Basic knowledge of P2P technology [2]” ASCII Co., Ltd., UNIX MAGAZINE, November 2005, "Basic knowledge of P2P technology [3]" ASCII Corporation, Official SoftEther Usage Guide http: // www. softther. com, SoftEther Corporation website

このような従来の仮想イーサネット154では、仮想イーサネット154に属するクライアント153間のトラフィックは全て仮想ハブ151、すなわちサーバ155を経由すること、及び、仮想イーサネット154に属するクライアント153同士、或いはクライアント153とサーバ155との位置関係はアンダーレイネットワーク150のトポロジを考慮したものではない。従って、
1.仮想ハブ151のスケーラビリティ確保が困難である。
2.アンダーレイネットワーク150への負荷が増大し、設備投資コストが増大する。
3.複数の仮想ハブ151の設置や、複数の仮想ハブ151間でのクライアント153の繋ぎ替えなどの管理コストが増大する。
という問題が生じる。
In such a conventional virtual Ethernet 154, all traffic between the clients 153 belonging to the virtual Ethernet 154 passes through the virtual hub 151, that is, the server 155, and between the clients 153 belonging to the virtual Ethernet 154, or between the client 153 and the server. The positional relationship with 155 does not take into account the topology of the underlay network 150. Therefore,
1. It is difficult to ensure the scalability of the virtual hub 151.
2. The load on the underlay network 150 increases, and the capital investment cost increases.
3. Management costs such as installation of a plurality of virtual hubs 151 and switching of clients 153 between the plurality of virtual hubs 151 increase.
The problem arises.

本発明はこのような事情に鑑みてなされたものであり、仮想ハブを経由することなくクライアント間で直接的に通信を行うことにより、トラフィックの最適化を図ることが可能なピアツーピア通信確立装置、方法、及びプログラムを提供することを目的とする。特に、複数の仮想ハブを経由して通信しているクライアント間においてもそれら仮想ハブ群を経由することなく、直接的に通信を行うことにより、トラフィックの最適化を図るピアツーピア通信確立装置、方法、及びプログラムを提供することを目的とする。   The present invention has been made in view of such circumstances, and a peer-to-peer communication establishment device capable of optimizing traffic by performing direct communication between clients without going through a virtual hub, It is an object to provide a method and a program. In particular, a peer-to-peer communication establishment device, method for optimizing traffic by communicating directly between clients communicating via a plurality of virtual hubs without going through those virtual hub groups, And to provide a program.

上記の目的を達成するために、本発明では、以下のような手段を講じる。   In order to achieve the above object, the present invention takes the following measures.

すなわち、請求項1の発明は、複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定のクライアント間にピアツーピアリンクを確立する装置であって、複数のクライアントのうち、任意の2つのクライアント間において、連続した2つ以上の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出するグローバルフロー検出手段と、グローバルフロー検出手段によってグローバルフローが検出されたクライアント間にピアツーピアリンクを確立するピアツーピアリンク確立手段とを備えている。   In other words, the invention of claim 1 is a specific client in a virtual network in which a plurality of clients having a communication link with at least one of a plurality of relay nodes communicate with each other via a relay node. An apparatus for establishing a peer-to-peer link between two or more clients among a plurality of clients via a continuous two or more relay nodes and satisfying a predetermined standard Global flow detection means for detecting a certain global flow, and peer-to-peer link establishment means for establishing a peer-to-peer link between clients whose global flows have been detected by the global flow detection means.

そして、ピアツーピアリンク確立手段によってピアツーピアリンクが確立されたクライアント間の通信が、ピアツーピアリンクを介してなされる。   Then, communication between clients in which the peer-to-peer link has been established by the peer-to-peer link establishment means is performed via the peer-to-peer link.

請求項2の発明は、請求項1のピアツーピア通信確立装置において、グローバルフロー検出手段は、中継ノードの全てについて、中継ノード間の通信フローを中継しない中継ノードであるリーフノードの各々に対する到達ホップ数を調査し、最大ホップ数が最も少ない中継ノードか、又は最大ホップ数が予め定めた閾値よりも小さい全ての中継ノードであるルートノードを決定するルートノード決定手段と、ルートノード決定手段によって決定されたルートノードを開始点として、ルートノードから仮想ネットワークに沿ってリーフノード側へと中継ノードを辿りながら、予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、連続するグローバルフロー候補をグローバルフローと判定するグローバルフロー判定手段とを備えている。   According to a second aspect of the present invention, in the peer-to-peer communication establishment apparatus according to the first aspect, the global flow detecting means is the number of hops reached for each of the leaf nodes that are relay nodes that do not relay the communication flow between the relay nodes for all of the relay nodes. And the root node determining means for determining the root node that is the relay node having the smallest maximum hop count or all the relay nodes having the maximum hop count smaller than a predetermined threshold, and the root node determining means. The two roots are detected by detecting a global flow candidate that is a communication flow satisfying a predetermined standard while tracing the relay node from the root node to the leaf node side along the virtual network using the root node as a starting point. If continuous global flow candidates are detected between nodes, The Barufuro candidate and a global flow determining means for determining a global flow.

請求項3の発明は、請求項1のピアツーピア通信確立装置において、グローバルフロー検出手段は、中継ノードの全てについて、負荷が最大である中継ノードか、又は負荷が予め定めた閾値より大きい全ての中継ノードであるルートノードを決定するルートノード決定手段と、ルートノード決定手段によって決定されたルートノードを開始点として、ルートノードから仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、連続するグローバルフロー候補をグローバルフローと判定するグローバルフロー判定手段とを備えている。   According to a third aspect of the present invention, in the peer-to-peer communication establishment apparatus according to the first aspect, the global flow detecting means is a relay node having a maximum load for all of the relay nodes or all relays having a load greater than a predetermined threshold. A root node determining unit that determines a root node that is a node, and a relay node that does not relay a communication flow between relay nodes from the root node along the virtual network, starting from the root node determined by the root node determining unit. If a global flow candidate that is a communication flow that satisfies a predetermined standard is detected while tracing a relay node to a certain leaf node side, and if a continuous global flow candidate between two leaf nodes is detected, then Global flow size that determines global flow candidates as global flows And a means.

請求項4の発明は、ルートノード決定手段は、ルートノードの決定の際に対象とする中継ノードを、中継ノードの全てではなく、リーフノードの全てとすることを特徴とする請求項2又は3のピアツーピア通信確立装置である。   According to a fourth aspect of the present invention, the root node determining means sets the target relay nodes for the determination of the root node not to all of the relay nodes but to all of the leaf nodes. Is a peer-to-peer communication establishment apparatus.

請求項5の発明は、グローバルフロー検出手段は、中継ノードの全てをそれぞれ開始点として、仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、連続するグローバルフロー候補をグローバルフローとして検出することを特徴とする請求項1のピアツーピア通信確立装置である。   According to the invention of claim 5, the global flow detection means starts the relay nodes from the relay nodes to the leaf node side that is a relay node that does not relay the communication flow between the relay nodes along the virtual network. The global flow candidate that is a communication flow that satisfies a predetermined standard is detected while tracing, and if a continuous global flow candidate is detected between two leaf nodes, the continuous global flow candidate is detected as a global flow. The peer-to-peer communication establishment apparatus according to claim 1.

請求項6の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。   In the invention of claim 6, the global flow detection means is the same regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and in all relay nodes between the two leaf nodes. The peer-to-peer communication establishment apparatus according to claim 1, further comprising a global flow determination unit that determines a communication flow between the two leaf nodes as a global flow when a communication flow that satisfies the condition is detected.

請求項7の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、アドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。   In the invention according to claim 7, the global flow detection means is the same regarding address information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and in all relay nodes between the two leaf nodes. The peer-to-peer communication establishment apparatus according to claim 1, further comprising a global flow determination unit that determines a communication flow between the two leaf nodes as a global flow when a communication flow that satisfies the condition is detected.

請求項8の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足し、かつアドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。   In the invention of claim 8, the global flow detection means is the same regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and in all relay nodes between the two leaf nodes. A global flow determination means is provided for determining a communication flow between the two leaf nodes as a global flow when a communication flow that satisfies the conditions and satisfies the same condition regarding address information is detected. 1 is a peer-to-peer communication establishment apparatus.

請求項9の発明は、複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定の中継ノード間にピアツーピアリンクを確立する装置であって、複数の中継ノードのうち、ある2つの中継ノード間において、少なくとも1つの他の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出するグローバルフロー検出手段と、グローバルフロー検出手段によってグローバルフローが検出された2つの中継ノード間にピアツーピアリンクを確立するピアツーピアリンク確立手段とを備えている。   In the virtual network in which a plurality of clients having a communication link with at least one of the plurality of relay nodes respectively communicate with other clients via the relay node, the invention of claim 9 is provided between specific relay nodes. A peer-to-peer link establishing a peer-to-peer link between two relay nodes among a plurality of relay nodes, and a communication flow that satisfies a predetermined standard between at least one other relay node Global flow detection means for detecting a global flow, and peer-to-peer link establishment means for establishing a peer-to-peer link between two relay nodes in which a global flow has been detected by the global flow detection means.

そして、ピアツーピアリンク確立手段によってピアツーピアリンクが確立された中継ノード間の通信が、ピアツーピアリンクを介してなされる。   Then, communication between the relay nodes in which the peer-to-peer link is established by the peer-to-peer link establishment means is performed via the peer-to-peer link.

請求項10の発明は、請求項1の装置に対応する方法である。また、請求項11乃至19の発明は、請求項1乃至9の装置に対応するプログラムである。   The invention of claim 10 is a method corresponding to the apparatus of claim 1. The inventions of claims 11 to 19 are programs corresponding to the devices of claims 1 to 9.

本発明によれば、仮想ハブを経由することなくクライアント間で直接的に通信を行うことにより、トラフィックの最適化を図ることが可能なピアツーピア通信確立装置、方法、及びプログラムを実現することができる。   According to the present invention, it is possible to realize a peer-to-peer communication establishment apparatus, method, and program capable of optimizing traffic by directly communicating between clients without going through a virtual hub. .

特に、複数の仮想ハブを経由して通信しているクライアント間においてもそれら仮想ハブ群を経由することなく、直接的に通信を行うことにより、トラフィックの最適化を図るピアツーピア通信確立装置、方法、及びプログラムを実現することができる。   In particular, a peer-to-peer communication establishment device, method for optimizing traffic by communicating directly between clients communicating via a plurality of virtual hubs without going through those virtual hub groups, And a program can be realized.

以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

(第1の実施の形態)
本発明の第1の実施の形態について説明する。
(First embodiment)
A first embodiment of the present invention will be described.

図1は、本発明の第1の実施の形態に係るピアツーピア通信確立方法が適用される典型的なネットワーク10の構成例を示す概念図である。なお、このネットワーク10は、イーサネット(登録商標)等のLAN、あるいは公衆回線や専用回線を介して複数のLANが接続されるWAN等からなりうる。LANの場合には、必要に応じてルータを介した多数のサブネットから構成される。また、WANの場合には、公衆回線に接続するためのファイアウォール等を適宜備えている。しかしながら、ここでは、本発明の本質を曖昧にしないために、それらの図示及び詳細説明を省略し、仮想ハブ20、クライアント30、ネットワーク管理モジュール40、及びLAN50のみを示している。   FIG. 1 is a conceptual diagram showing a configuration example of a typical network 10 to which the peer-to-peer communication establishment method according to the first embodiment of the present invention is applied. The network 10 may be a LAN such as Ethernet (registered trademark) or a WAN to which a plurality of LANs are connected via a public line or a dedicated line. In the case of a LAN, it is composed of a number of subnets via routers as necessary. In the case of WAN, a firewall or the like for connecting to a public line is provided as appropriate. However, in order not to obscure the essence of the present invention, illustration and detailed description thereof are omitted, and only the virtual hub 20, the client 30, the network management module 40, and the LAN 50 are shown.

図1に示すネットワーク構成は、クライアント30(#1)は仮想ハブ20(#2)に、クライアント30(#2)、クライアント30(#3)は仮想ハブ20(#1)に、クライアント30(#4)からクライアント30(#6)は仮想ハブ20(#4)にそれぞれ接続している。また、仮想ハブ20(#1)〜(#4)は図示するように直列に接続している。なお、LAN50(#1)〜(#6)はアンダーレイネットワークのセグメント(通常、IPネットワークのセグメント)を表し、セグメント間は通常、ルータ(図示せず)により接続されている。仮想ハブ20(#1)、及びクライアント30(#1)〜(#3)はLAN50(#1)に、仮想ハブ20(#2)はLAN50(#2)に、仮想ハブ20(#3)はLAN50(#3)に、仮想ハブ20(#4)はLAN50(#4)に、クライアント30(#4)〜(#6)はLAN50(#5)に、それぞれ属している。   In the network configuration shown in FIG. 1, the client 30 (# 1) is connected to the virtual hub 20 (# 2), the client 30 (# 2), the client 30 (# 3) is connected to the virtual hub 20 (# 1), and the client 30 (# 2). The clients 30 (# 6) to # 4) are connected to the virtual hub 20 (# 4), respectively. The virtual hubs 20 (# 1) to (# 4) are connected in series as shown in the figure. Note that the LANs 50 (# 1) to (# 6) represent segments of the underlay network (usually segments of the IP network), and the segments are usually connected by a router (not shown). The virtual hub 20 (# 1) and the clients 30 (# 1) to (# 3) are in the LAN 50 (# 1), the virtual hub 20 (# 2) is in the LAN 50 (# 2), and the virtual hub 20 (# 3) Belongs to the LAN 50 (# 3), the virtual hub 20 (# 4) belongs to the LAN 50 (# 4), and the clients 30 (# 4) to (# 6) belong to the LAN 50 (# 5).

更に、仮想ハブ20(#1)〜(#4)は、ネットワーク管理モジュール40に接続されている。ネットワーク管理モジュール40はLAN50(#1)〜(#6)のうち何れのLAN50上に属すことも可能である。あるいは仮想ハブ20(#1)〜(#4)や、クライアント30等の計算機上で動作させることも、別の計算機上で動作させることも可能である。図1では一例として、LAN50(#1)〜(#6)のうちの何れかのLAN50上に属しているものとして示している。   Further, the virtual hubs 20 (# 1) to (# 4) are connected to the network management module 40. The network management module 40 can belong to any of the LANs 50 (# 1) to (# 6). Alternatively, it can be operated on a computer such as the virtual hub 20 (# 1) to (# 4) or the client 30, or can be operated on another computer. In FIG. 1, as an example, it is shown as belonging to any one of the LANs 50 (# 1) to (# 6).

図2、図3、及び図4は、仮想ハブ20、クライアント30、及びネットワーク管理モジュール40それぞれの構成例を示す機能ブロック図である。   2, 3, and 4 are functional block diagrams illustrating configuration examples of the virtual hub 20, the client 30, and the network management module 40.

図1の仮想ハブ20(#1)〜(#4)に示すような仮想ハブ20は、図2に示すように、イーサネットスイッチングハブ21、転送テーブル22、接続リンク制御部23、仮想ポート24、ネットワーク管理インタフェース部25、ピアツーピアリンク制御部26、アンダーレイネットワークプロトコル群27、及び物理ネットワークインタフェース28を備えている。   As shown in FIG. 2, the virtual hub 20 as shown in the virtual hub 20 (# 1) to (# 4) in FIG. 1 includes an Ethernet switching hub 21, a forwarding table 22, a connection link control unit 23, a virtual port 24, A network management interface unit 25, a peer-to-peer link control unit 26, an underlay network protocol group 27, and a physical network interface 28 are provided.

イーサネットスイッチングハブ21は、いわゆる一般的なイーサネットスイッチングハブと同様の処理を行なう。   The Ethernet switching hub 21 performs the same processing as a so-called general Ethernet switching hub.

転送テーブル22は、イーサネットフレームの宛先MACアドレスと出力先ポートとのマッピングを保持するテーブルである。イーサネットスイッチングハブによるイーサネットフレーム転送処理に一般的に用いられるので、ここでは詳細は割愛する。   The forwarding table 22 is a table that holds mapping between the destination MAC address of the Ethernet frame and the output destination port. Since it is generally used for Ethernet frame transfer processing by an Ethernet switching hub, details are omitted here.

接続リンク制御部23は、クライアント30、あるいは他仮想ハブ20とのアンダーレイネットワークでの接続(リンク)を保持、制御する部分であり、イーサネットスイッチングハブ21から受け取ったイーサネットフレームを適切なアンダーレイネットワークのリンクへ送出する。また、アンダーレイネットワークから受信したイーサネットフレームをイーサネットスイッチングハブ21へ渡す。   The connection link control unit 23 is a part that holds and controls a connection (link) in the underlay network with the client 30 or another virtual hub 20, and the Ethernet frame received from the Ethernet switching hub 21 is an appropriate underlay network. To the link. Further, the Ethernet frame received from the underlay network is transferred to the Ethernet switching hub 21.

仮想ポート24は、仮想ハブ20において、通常のイーサネットスイッチングハブの通信ポートに相当する概念であり、論理的なケーブル、つまりアンダーレイネットワークの何らかの手段を用いた他仮想ハブ20、あるいは仮想ネットワークインタフェース32(図3を用いて後述する)との接続の端点である。従って、仮想ポート24は、接続リンク制御部23における、他仮想ハブ20、あるいは自局が収容するクライアント30(特に、仮想ネットワークインタフェース32)とのアンダーレイネットワークでの接続(リンク)の端点を表し、仮想ハブ20内で一意な識別子により区別される。   The virtual port 24 is a concept corresponding to a communication port of a normal Ethernet switching hub in the virtual hub 20, and is a logical cable, that is, another virtual hub 20 using some means of an underlay network, or a virtual network interface 32. (It will be described later with reference to FIG. 3). Accordingly, the virtual port 24 represents an end point of connection (link) in the underlay network with the other virtual hub 20 or the client 30 (particularly, the virtual network interface 32) accommodated by the own station in the connection link control unit 23. They are distinguished by a unique identifier within the virtual hub 20.

ネットワーク管理インタフェース部25は、他仮想ハブ20、あるいは自局が収容するクライアント30(特に、仮想ネットワークインタフェース32)との接続リンク状態、イーサネットスイッチングハブ21での、それら接続リンク間のトラフィック量、トラフィックのプロトコル、クライアント30のアンダーレイネットワークでの位置関係情報等を収集、管理し、更にネットワーク管理モジュール40へのそれら情報の通知処理を行なう。   The network management interface unit 25 is connected to the other virtual hub 20 or the client 30 (particularly, the virtual network interface 32) accommodated by the own station, the traffic amount between the connection links in the Ethernet switching hub 21, and the traffic Protocol, the positional relationship information of the client 30 in the underlay network, etc. are collected and managed, and further the information is notified to the network management module 40.

ピアツーピアリンク制御部26は、ネットワーク管理インタフェース部25経由でのネットワーク管理モジュール40からの指示により、クライアント30へピアツーピアリンク生成、削除の指示を行なう。   The peer-to-peer link control unit 26 instructs the client 30 to generate and delete a peer-to-peer link in response to an instruction from the network management module 40 via the network management interface unit 25.

アンダーレイネットワークプロトコル群27は、一般的には、TCP/IP及びそれらを使用する上位プロトコル(例えばHTTP)である。   The underlay network protocol group 27 is generally TCP / IP and higher-level protocols (for example, HTTP) that use them.

物理ネットワークインタフェース28は、実際の通信に使用される物理的なネットワークインタフェースである。   The physical network interface 28 is a physical network interface used for actual communication.

図1のクライアント30(#1)〜(#6)に示すようなクライアント30は、図3に示すように、アプリケーション/上位プロトコル群31、仮想ネットワークインタフェース32、アンダーレイネットワークプロトコル群37、及び物理ネットワークインタフェース38を備えている。更に、仮想ネットワークインタフェース32は、イーサネットフレーム送受信部33、送信先管理テーブル34、及び接続リンク制御部35を備えている。更に、接続リンク制御部35は、複数の仮想ポート36を備えている。   As shown in FIG. 3, the clients 30 (# 1) to (# 6) shown in FIG. 1 include an application / upper protocol group 31, a virtual network interface 32, an underlay network protocol group 37, and a physical A network interface 38 is provided. Further, the virtual network interface 32 includes an Ethernet frame transmission / reception unit 33, a transmission destination management table 34, and a connection link control unit 35. Further, the connection link control unit 35 includes a plurality of virtual ports 36.

アプリケーション/上位プロトコル群31は、仮想ネットワークインタフェース32を使用するユーザアプリケーション、及び、上位プロトコル(例えばTCP/IP、HTTPなど)である。   The application / upper protocol group 31 is a user application that uses the virtual network interface 32 and upper protocols (for example, TCP / IP, HTTP, etc.).

仮想ネットワークインタフェース32では、イーサネットフレーム送受信部33が、アプリケーション/上位プロトコル群31からのデータをイーサネットフレームに格納し、接続リンク制御部35へ送出する。また、接続リンク制御部35から受け取ったイーサネットフレームからイーサネットヘッダを除去し、アプリケーション/上位プロトコル群31に渡す。   In the virtual network interface 32, the Ethernet frame transmission / reception unit 33 stores the data from the application / upper protocol group 31 in the Ethernet frame and sends it to the connection link control unit 35. In addition, the Ethernet header is removed from the Ethernet frame received from the connection link control unit 35 and passed to the application / upper protocol group 31.

また仮想ネットワークインタフェース32では、接続リンク制御部35が、仮想ハブ20、あるいは他のクライアント30とのアンダーレイネットワークでの接続(リンク)を保持、制御する部分であり、イーサネットフレーム送受信部33から受け取ったイーサネットフレームを適切なアンダーレイネットワークのリンクへ送出する。また、アンダーレイネットワークから受信したイーサネットフレームをイーサネットフレーム送受信部33へ渡す。   In the virtual network interface 32, the connection link control unit 35 is a part that holds and controls the connection (link) in the underlay network with the virtual hub 20 or another client 30, and is received from the Ethernet frame transmission / reception unit 33. Send out the Ethernet frame to the appropriate underlay network link. In addition, the Ethernet frame received from the underlay network is transferred to the Ethernet frame transmitting / receiving unit 33.

接続リンク制御部35に備えられた仮想ポート36は、接続リンク制御部35における他仮想ハブ20とのアンダーレイネットワークでの接続(リンク)の端点を表し、仮想ネットワークインタフェース32内で一意な識別子により区別される。   The virtual port 36 provided in the connection link control unit 35 represents an end point of connection (link) in the underlay network with the other virtual hub 20 in the connection link control unit 35, and is represented by a unique identifier in the virtual network interface 32. Differentiated.

送信先管理テーブル34は、ピアツーピアリンクと、そのリンクのピアのMACアドレスとのマッピングを保持するテーブルである。後述するように、送信先管理テーブル34に登録されているピア宛のイーサネットフレーム(ユニキャストフレーム)は該当ピアツーピアリンクへ、それ以外の宛先のイーサネットフレーム(ユニキャストフレーム)、ブロードキャストフレーム、マルチキャストフレームは仮想ハブ20とのリンクへ出力される。   The transmission destination management table 34 is a table that holds a mapping between a peer-to-peer link and the MAC address of the peer of the link. As will be described later, the Ethernet frame (unicast frame) addressed to the peer registered in the transmission destination management table 34 is transferred to the corresponding peer-to-peer link, and the other destination Ethernet frame (unicast frame), broadcast frame, and multicast frame are It is output to the link with the virtual hub 20.

アンダーレイネットワークプロトコル群37は、一般的には、TCP/IP、及びそれらを使用する上位プロトコル(例えばHTTP)である。   The underlay network protocol group 37 is generally TCP / IP and a higher level protocol (for example, HTTP) using them.

物理ネットワークインタフェース38は、実際の通信に使用される物理的なネットワークインタフェースである。   The physical network interface 38 is a physical network interface used for actual communication.

図1に示すようなネットワーク管理モジュール40は、本発明のピアツーピア通信確立方法を実行するための例えば磁気ディスク等の記録媒体に記録されたプログラムや、インターネット等の通信ネットワークを介してダウンロードしたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現される装置である。   The network management module 40 as shown in FIG. 1 executes a program recorded on a recording medium such as a magnetic disk for executing the peer-to-peer communication establishment method of the present invention, or a program downloaded via a communication network such as the Internet. It is a device realized by a computer that is read and whose operation is controlled by this program.

このプログラムは、ネットワーク管理モジュール40のような計算機(コンピュータ)に実行させることができるものであって、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハ一ドディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納し、またインターネット等の通信媒体により伝送して頒布することもできる。なお、記録媒体に格納されるプログラムは、ネットワーク管理モジュール40のような計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブルやデータ構造も含む)をネットワーク管理モジュール40のような計算機内に構成させる設定プログラムをも含む。そして、本プログラムは、記録媒体から、あるいは通信媒体からネットワーク管理モジュール40のような計算機に読み込まれると、ネットワーク管理モジュール40のような計算機を動作させることによって、情報収集部41、ルートノード決定部42、グローバルフロー検出部43、及びピアツーピアリンク制御部44に処理を実行させる。   This program can be executed by a computer (computer) such as the network management module 40. For example, a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), optical disk (CD-ROM, DVD or the like), stored in a recording medium such as a semiconductor memory, or transmitted and distributed via a communication medium such as the Internet. The program stored in the recording medium is configured in the computer such as the network management module 40 with software means (including not only the execution program but also the table and data structure) that is executed by the computer such as the network management module 40. Includes setting program. Then, when this program is read from a recording medium or a communication medium into a computer such as the network management module 40, the information collection unit 41, the root node determination unit, and the network management module 40 are operated. 42, the global flow detection unit 43, and the peer-to-peer link control unit 44 execute processing.

情報収集部41は、各仮想ハブ20のネットワーク管理インタフェース部25と通信し、各仮想ハブ20から、他の仮想ハブ20やその仮想ハブ20が収容するクライアント30(特に、仮想ネットワークインタフェース32)との接続リンク状態、イーサネットスイッチングハブ21でのそれら接続リンク間の転送トラフィック量、トラフィックのプロトコル、クライアント30のアンダーレイネットワークでの位置関係情報等を定期的に収集、管理する。また、上記情報から仮想ハブ20、仮想ネットワークインタフェース32の接続トポロジ状態(以後、接続ツリー情報)を作成する。   The information collection unit 41 communicates with the network management interface unit 25 of each virtual hub 20, and from each virtual hub 20 to the other virtual hub 20 and the client 30 (particularly, the virtual network interface 32) accommodated by the virtual hub 20. The connection link state of the network, the traffic volume transferred between the connection links in the Ethernet switching hub 21, the traffic protocol, the positional relationship information of the client 30 in the underlay network, etc. are periodically collected and managed. Further, a connection topology state (hereinafter, connection tree information) of the virtual hub 20 and the virtual network interface 32 is created from the above information.

ここで例えば図5に示すように、クライアント30(#2)とクライアント30(#6)との間に、ある条件にマッチする可能性のあるトラフィックTが発生したとする。すると情報収集部41は、各仮想ハブ20(#1)〜(#4)のネットワーク管理インタフェース部25から上述したような情報を収集する。更に、収集した情報のうち、各仮想ハブ20(#1)〜(#4)の保持する接続リンク情報から、図6に示すように、各仮想ハブ20(#1)〜(#4)、及びそれらが収容するクライアント30(仮想ネットワークインタフェース32)の接続状態、つまり接続ツリー情報(ツリーのデータ構造)を作成する。   Here, for example, as shown in FIG. 5, it is assumed that traffic T that may match a certain condition occurs between the client 30 (# 2) and the client 30 (# 6). Then, the information collection unit 41 collects information as described above from the network management interface unit 25 of each virtual hub 20 (# 1) to (# 4). Further, among the collected information, from the connection link information held by each virtual hub 20 (# 1) to (# 4), as shown in FIG. 6, each virtual hub 20 (# 1) to (# 4), And the connection state of the client 30 (virtual network interface 32) accommodated by them, that is, connection tree information (tree data structure) is created.

なお、図6では、図示の便宜上、仮想ハブ20(#3)をツリーのルートのように記しているが、以降の処理におけるルートノードが仮想ハブ20(#3)であることを意味している訳ではない。   In FIG. 6, for convenience of illustration, the virtual hub 20 (# 3) is shown as the root of the tree, but it means that the root node in the subsequent processing is the virtual hub 20 (# 3). I don't mean.

ルートノード決定部42は、図6に示すような接続ツリー情報から、ルートノードを決定する。ルートノードとは、グローバルフローの検出処理が開始される仮想ハブ20のことを称する。グローバルフローとは、トラフィック量の基準値を上回る、あるいは同一の上位層プロトコル情報を格納しているなど、ある同じ条件を満たしたローカルフローが、連続した2つ以上の仮想ハブ20に渡って存在する場合、それら連続したローカルフローを大域的な1つのフローであると見なし、グローバルフローと呼ぶ。   The root node determination unit 42 determines the root node from the connection tree information as shown in FIG. The root node refers to the virtual hub 20 where the global flow detection process is started. A global flow is a local flow that satisfies a certain condition such as exceeding the traffic volume reference value or storing the same upper layer protocol information across two or more consecutive virtual hubs 20. In this case, these continuous local flows are regarded as one global flow and are called global flows.

一方、ローカルフローとは、本明細書では、以下の2つの定義のうちの何れかを意味している。第1の定義では、ある仮想ハブ20内において、ある2つの仮想ポート24間のトラフィックが発生している状態(転送が行なわれている状態)を、これら仮想ポート24間にフローがあるとし、ローカルフローと称している。   On the other hand, the local flow means one of the following two definitions in this specification. In the first definition, it is assumed that a traffic is generated between two virtual ports 24 in a certain virtual hub 20 (a state where forwarding is performed), and there is a flow between these virtual ports 24. This is called local flow.

第2の定義では、ある仮想ハブ20内において、転送テーブル22に学習されている任意の2つのMACアドレス、及びそれらにそれぞれマッピングされている出力ポートのペアをローカルフローと称している。この場合、マッピングを、以下のように表す。
{仮想ポートm:MAC1}=>{仮想ポートn:MAC2}
ここでm、nは仮想ポートを識別する整数であり、MAC1,MAC2はその仮想ポートとマッピングされているMACアドレスであり、“⇒”は方向を表す(詳細は後述する)。
In the second definition, an arbitrary two MAC addresses learned in the forwarding table 22 and a pair of output ports mapped to them in a certain virtual hub 20 are referred to as a local flow. In this case, the mapping is expressed as follows.
{Virtual port m: MAC1} => {virtual port n: MAC2}
Here, m and n are integers for identifying virtual ports, MAC1 and MAC2 are MAC addresses mapped to the virtual ports, and “⇒” represents a direction (details will be described later).

なお、このようなルートノード決定部42が、ルートノードを決定する具体的な処理については後述する。   A specific process in which such a root node determination unit 42 determines a root node will be described later.

グローバルフロー検出部43は、ルートノード決定部42によって決定されたルートノードを開始ノードとしてグローバルフローを検出する。この検出方法の詳細は後述する。なお、グローバルフロー検出部43は、特定の仮想ハブ20をルートノードとすることなく、全ての仮想ハブ20をルートノードとして、グローバルフロー検出処理を行なうことも可能である。   The global flow detection unit 43 detects a global flow using the root node determined by the root node determination unit 42 as a start node. Details of this detection method will be described later. Note that the global flow detection unit 43 can also perform the global flow detection process using all the virtual hubs 20 as root nodes without using the specific virtual hub 20 as a root node.

ピアツーピアリンク制御部44は、グローバルフロー検出部43によってグローバルフローが検出された場合、仮想ハブ20のネットワーク管理インタフェース部25経由で、クライアント30へピアツーピアリンク生成の指示を行なう。例えば、グローバルフロー検出部43が、図5に示すように、仮想ハブ20(#1)と仮想ハブ20(#4)との間、つまりクライアント30(#2)とクライアント30(#6)との間でグローバルフローを検出すると、ピアツーピアリンク制御部44は、クライアント30(#2)とクライアント30(#6)とに、互いの間にピアツーピアリンクを生成し、ピアツーピア通信に移行するよう指示を出す。   When a global flow is detected by the global flow detection unit 43, the peer to peer link control unit 44 instructs the client 30 to generate a peer to peer link via the network management interface unit 25 of the virtual hub 20. For example, as shown in FIG. 5, the global flow detection unit 43 is between the virtual hub 20 (# 1) and the virtual hub 20 (# 4), that is, the client 30 (# 2) and the client 30 (# 6). When a global flow is detected, the peer-to-peer link control unit 44 instructs the client 30 (# 2) and the client 30 (# 6) to create a peer-to-peer link between them and shift to peer-to-peer communication. put out.

一方、グローバルフロー検出部43が、グローバルフローを検出しなかった場合、ピアツーピアリンク制御部44は、更なる処理は行なわず、クライアント30はそれまでと同様に仮想ハブ20を経由して通信を行なう。   On the other hand, when the global flow detection unit 43 does not detect the global flow, the peer-to-peer link control unit 44 does not perform any further processing, and the client 30 communicates via the virtual hub 20 as before. .

図7のフローチャートに示すように、ピアツーピアリンク制御部44から、ピアツーピアリンクを生成する指示が、関連するクライアント30(例えば、クライアント30(#2)とクライアント30(#6))に対してなされる(S1)と、上記指示を受け取ったクライアント30の接続リンク制御部35は、アンダーレイネットワークの何らかの手段(例えば、TCPコネクションやSSLセッションなど)を使用して、ピアツーピアリンクによる通信路を生成し(S2)、クライアント30(#2)はクライアント30(#6)の仮想イーサネットのMACアドレスを、クライアント30(#6)はクライアント30(#2)の同MACアドレスを送信先管理テーブル34に登録する(S3)。   As shown in the flowchart of FIG. 7, an instruction to generate a peer-to-peer link is issued from the peer-to-peer link control unit 44 to the related clients 30 (for example, the client 30 (# 2) and the client 30 (# 6)). (S1) and the connection link control unit 35 of the client 30 that has received the instruction generates a communication path using a peer-to-peer link by using some means of the underlay network (for example, a TCP connection, an SSL session, etc.) ( S2), the client 30 (# 2) registers the virtual Ethernet MAC address of the client 30 (# 6), and the client 30 (# 6) registers the same MAC address of the client 30 (# 2) in the transmission destination management table 34. (S3).

以後、クライアント30(#2)の接続リンク制御部35は、図8のフローチャートに示すように、送信データを受け取ると(S11)、クライアント30(#6)向けのイーサネットフレーム(宛先MACアドレスとして、クライアント30(#6)のMACアドレスを持つもの)を前記ピアツーピアリンクに送出し(S12:No、S13:Yes、S14)、それ以外の宛先MACアドレス(ユニキャスト)を持つイーサネットフレームは仮想ハブ(#1)とのリンクに送出する(S12:No、S13:No、S15)。また、ブロードキャストフレーム、マルチキャストフレームも仮想ハブ20(#1)とのリンクに送出する(S12:Yes、S15)。   Thereafter, as shown in the flowchart of FIG. 8, the connection link control unit 35 of the client 30 (# 2) receives the transmission data (S11), and the Ethernet frame (destination MAC address) for the client 30 (# 6) The client 30 (with the MAC address of # 6) is sent to the peer-to-peer link (S12: No, S13: Yes, S14), and the Ethernet frame having the other destination MAC address (unicast) is a virtual hub ( # 1) (S12: No, S13: No, S15). Broadcast frames and multicast frames are also sent to the link with the virtual hub 20 (# 1) (S12: Yes, S15).

同様に、クライアント30(#6)は、クライアント30(#2)向けのイーサネットフレーム(宛先MACアドレスとして、クライアント30(#2)のMACアドレスを持つもの)は前記ピアツーピアリンクに送出し、それ以外の宛先MACアドレスを持つイーサネットフレーム、及びブロードキャストフレーム、マルチキャストフレームは仮想ハブ20(#4)とのリンクに送出する。   Similarly, the client 30 (# 6) sends an Ethernet frame for the client 30 (# 2) (having the MAC address of the client 30 (# 2) as the destination MAC address) to the peer-to-peer link, and otherwise The Ethernet frame having the destination MAC address, the broadcast frame, and the multicast frame are transmitted to the link with the virtual hub 20 (# 4).

結果として、クライアント30(#2)とクライアント30(#6)との間のトラフィックは仮想ハブ20(#1)から仮想ハブ20(#4)を経由することがなくなり、これら仮想ハブ20(#1)〜(#4)群への負荷、及び、アンダーレイネットワークであるLAN50(#2)、LAN50(#3)、及びLAN50(#4)への負荷が軽減される。   As a result, traffic between the client 30 (# 2) and the client 30 (# 6) does not pass from the virtual hub 20 (# 1) to the virtual hub 20 (# 4), and these virtual hubs 20 (# The load on the groups 1) to (# 4) and the load on the LAN 50 (# 2), LAN 50 (# 3), and LAN 50 (# 4), which are underlay networks, are reduced.

最終的に、上記処理によりクライアント30(#2)とクライアント30(#6)と間のピアツーピア通信が確立された状態を図9に示す。実線pがピアツーピア通信リンクpを示し、破線dが仮想ハブ20経由の通信リンクdを示す。   Finally, FIG. 9 shows a state where peer-to-peer communication between the client 30 (# 2) and the client 30 (# 6) is established by the above processing. A solid line p indicates the peer-to-peer communication link p, and a broken line d indicates the communication link d via the virtual hub 20.

なお、一旦検出されたグローバルフローが、ある条件を満たさなくなった場合、つまりグローバルフローでなくなった場合には、グローバルフロー検出部43がそれを検出し、ピアツーピアリンク制御部44が、関連するクライアント30に対して、ピアツーピアリンクの削除、及び仮想ハブ20経由での通信への移行を指示する。   When the detected global flow does not satisfy a certain condition, that is, when it is no longer a global flow, the global flow detection unit 43 detects it and the peer-to-peer link control unit 44 detects the associated client 30. , Instructing the deletion of the peer-to-peer link and the transition to communication via the virtual hub 20.

この場合、クライアント30側の処理は、図10のフローチャートに示すように、ネットワーク管理モジュールからの指示受信をトリガとして(S21)、ピアツーピアリンクの削除(S22)、及び送信先管理テーブル34からの該当クライアントのMACアドレスの削除を行なう(S23)。   In this case, as shown in the flowchart of FIG. 10, the processing on the client 30 side is triggered by the reception of an instruction from the network management module (S21), the peer-to-peer link deletion (S22), and the corresponding from the transmission destination management table 34. The client MAC address is deleted (S23).

なお、前述したように、ネットワーク管理モジュール40は、仮想ハブ20や、仮想ネットワークインタフェース32が動作するクライアント30で動作させることも、別の計算機上で動作させる事も可能である。また、ネットワーク管理モジュール40の情報収集部41、ピアツーピアリンク制御部44と各仮想ハブ20のネットワーク管理インタフェース部25、ピアツーピアリンク制御部26間の通信は、アンダーレイネットワークを使用した一般的なもので実現可能であるので、ここではその詳細説明を省略する。   As described above, the network management module 40 can be operated on the virtual hub 20 or the client 30 on which the virtual network interface 32 operates, or can be operated on another computer. Communication between the information collection unit 41, the peer-to-peer link control unit 44 of the network management module 40, the network management interface unit 25 of each virtual hub 20, and the peer-to-peer link control unit 26 is a general one using an underlay network. Since it is realizable, the detailed description is abbreviate | omitted here.

次に、ルートノード決定部42によってなされるルートノード決定方法の3つの例を説明する。   Next, three examples of the root node determination method performed by the root node determination unit 42 will be described.

(ルートノード決定方法1)
ここでは、トポロジ上のツリーの中心の仮想ハブをルートノードとする。
(Root node determination method 1)
Here, the virtual hub at the center of the tree on the topology is the root node.

ネットワーク管理モジュール40のルートノード決定部42は、全ての仮想ハブ20について、全てのリーフノードへの到達ホップ数を調査し、最大ホップ数が最小である仮想ハブをルートノードとする。リーフノードとは、他仮想ハブ20との接続が0個、或は1個である仮想ハブ20であり、言い換えると、他仮想ハブ20間のトラフィックを中継しない仮想ハブ20である。   The root node determination unit 42 of the network management module 40 investigates the number of hops reaching all the leaf nodes for all the virtual hubs 20, and sets the virtual hub having the smallest maximum number of hops as the root node. A leaf node is a virtual hub 20 that has zero or one connection to another virtual hub 20, in other words, a virtual hub 20 that does not relay traffic between other virtual hubs 20.

一例として図11を用いて説明すると、仮想ハブ20(#1)から仮想ハブ20(#7)について、それぞれの仮想ハブ20(#1)〜(#7)から各リーフノード(仮想ハブ20(#1),(#4),(#6),(#7))へのホップ数は図12のようになり、結果的に、仮想ハブ20(#3)がルートノードとなる。なお、トポロジによっては、複数の仮想ハブ20が上記ルートノードの条件を満たすことが考えられるが、この場合は、別途、以下のa)〜c)のうちの少なくとも何れかの手段でルートノードを決定する。   As an example, with reference to FIG. 11, for the virtual hub 20 (# 1) to the virtual hub 20 (# 7), each leaf node (virtual hub 20 ( The number of hops to # 1), (# 4), (# 6), (# 7)) is as shown in FIG. 12, and as a result, the virtual hub 20 (# 3) becomes the root node. Depending on the topology, it is conceivable that a plurality of virtual hubs 20 satisfy the conditions of the root node. In this case, separately, the root node is set by at least one of the following a) to c). decide.

a)上記条件を満たした複数ルートノードを全てルートノードとする。
b)ランダムに1つを選ぶ。
c)負荷を考慮する(後述するルートノード決定方法2との組み合わせとも言える)。
a) A plurality of root nodes satisfying the above conditions are all set as root nodes.
b) Choose one at random.
c) Consider the load (it can be said to be a combination with the root node determination method 2 described later).

更には、最大ホップ数が、予め定められた閾値を下回る全ての仮想ハブ20をルートノードとすることも可能である。また、ツリーを形成するデータ構造における、各ノード間のホップ数をカウントする方法は一般的なものであるので、ここでは詳細説明を省略する。   Furthermore, all virtual hubs 20 whose maximum hop count is below a predetermined threshold can be set as the root node. Further, since a method for counting the number of hops between nodes in a data structure forming a tree is a general method, detailed description thereof is omitted here.

(ルートノード決定方法2)
ここでは、負荷の高い仮想ハブ20をルートノードとする。
(Root node determination method 2)
Here, the virtual hub 20 having a high load is set as the root node.

ネットワーク管理モジュール40のルートノード決定部42は、全ての仮想ハブ20について、収容ノード数、CPU使用率、メモリ使用率、ローカルフローのトラフィック量、ローカルフロー数、ローカルフロー平均負荷(全負荷/ローカルフロー数)、ローカルフローのある特定の上位層プロトコルのトラフィック量等のような負荷情報を調査し、最も負荷の高い仮想ハブ20をルートノードとする。   The root node determination unit 42 of the network management module 40 has, for all virtual hubs 20, the number of accommodated nodes, CPU usage rate, memory usage rate, local flow traffic volume, local flow count, local flow average load (total load / local load). The load information such as the number of flows) and the traffic amount of a specific upper layer protocol having a local flow is examined, and the virtual hub 20 with the highest load is set as the root node.

更には、上記負荷が、予め定められた閾値を上回る全ての仮想ハブ20をルートノードとすることも可能である。ここで、例えば、図13にて、各仮想ハブ20(#1)〜(#7)の取り扱うトラフィック量を負荷とし、最も負荷のかかっている仮想ハブ20をルートノードと決定するとする。ここで、クライアント30(#4)とクライアント30(#6)との間で非常に負荷の高いトラフィックtが発生しており、それ以外のクライアント30間ではあまりトラフィックが発生していない場合など、本方法で仮想ハブ20(#5)をルートノードとして選択することができれば、その後グローバルフロー検出部43において行われるグローバルフロー検出処理において、例えば、リーフノードへのホップ数が少ないものからグローバルフローを検出する処理を行なう場合などに、素早く仮想ハブ20(#6)と仮想ハブ20(#7)との間、つまりクライアント30(#4)とクライアント30(#6)との間のグローバルフローを検出することが可能になる。   Furthermore, all the virtual hubs 20 in which the load exceeds a predetermined threshold can be set as the root node. Here, for example, in FIG. 13, it is assumed that the traffic volume handled by each of the virtual hubs 20 (# 1) to (# 7) is a load, and the most loaded virtual hub 20 is determined as the root node. Here, a very high traffic t occurs between the client 30 (# 4) and the client 30 (# 6), and there is not much traffic between the other clients 30. If the virtual hub 20 (# 5) can be selected as the root node by this method, then in the global flow detection process performed in the global flow detection unit 43, for example, the global flow is selected from the one having a small number of hops to the leaf node. For example, when performing a detection process, a global flow between the virtual hub 20 (# 6) and the virtual hub 20 (# 7), that is, between the client 30 (# 4) and the client 30 (# 6) is quickly performed. It becomes possible to detect.

(ルートノード決定方法3)
本方法では、リーフノードをルートノードとする。
(Root node determination method 3)
In this method, the leaf node is set as the root node.

ネットワーク管理モジュール40のルートノード決定部42は、全てのリーフノードについて、仮想ポートの負荷(当該仮想ポートにより送受信されるトラフィック量)を調査し、最も負荷の高い仮想ポートを持つリーフノードをルートノードとする。更には、上記負荷が、予め定められた閾値を上回る全てのリーフノードをルートノードとすることも可能である。   The root node determination unit 42 of the network management module 40 investigates the load of the virtual port (the amount of traffic transmitted and received by the virtual port) for all leaf nodes, and determines the leaf node having the virtual port with the highest load as the root node. And Furthermore, it is possible to set all leaf nodes whose load exceeds a predetermined threshold as the root node.

例えば、図14にて、クライアント30(#1)がファイルサーバであり、クライアント30(#10)がそのバックアップを保存する計算機で、クライアント30(#1)とクライアント30(#10)と間でファイルシステムのバックアップが行なわれているとする。この状態でリーフノードである仮想ハブ20(#1),(#4),(#6),(#7)について、それらの保持する全仮想ポートのトラフィック量を調査する。そして、例えば、仮想ハブ20(#4)の仮想ポート3のトラフィック量が最大となり、仮想ハブ20(#4)をルートノードと決定することができれば、その後グローバルフロー検出部43において行われるグローバルフロー検出処理において、ファイルシステムのバックアップのトラフィックを扱っている仮想ハブ20(#2)と仮想ハブ20(#4)との間、つまり、クライアント30(#1)とクライアント30(#10)と間でグローバルフローを検出することが可能になる。なお、本方法において、負荷としてルートノード決定方法2と同様のものを採用した場合は、ルートノード決定方法2において対象とする仮想ハブ20をリーフノードに限定したものと考える事ができる。   For example, in FIG. 14, the client 30 (# 1) is a file server, and the client 30 (# 10) is a computer that stores the backup, and between the client 30 (# 1) and the client 30 (# 10). Assume that a file system backup is in progress. In this state, for the virtual hubs 20 (# 1), (# 4), (# 6), and (# 7) that are leaf nodes, the traffic volume of all the virtual ports held by them is investigated. For example, if the traffic volume of the virtual port 3 of the virtual hub 20 (# 4) is maximized and the virtual hub 20 (# 4) can be determined as the root node, the global flow performed in the global flow detection unit 43 thereafter. In the detection process, between the virtual hub 20 (# 2) and the virtual hub 20 (# 4) that handle the file system backup traffic, that is, between the client 30 (# 1) and the client 30 (# 10). It becomes possible to detect the global flow. In this method, when the same load as the route node determination method 2 is adopted as the load, it can be considered that the target virtual hub 20 in the route node determination method 2 is limited to leaf nodes.

次に、グローバルフロー検出部43によってなされるグローバルフロー検出方法の3つの例を説明する。   Next, three examples of the global flow detection method performed by the global flow detection unit 43 will be described.

(グローバルフロー検出方法1)
本方法では、トラフィック情報を用いてグローバルフローを検出する。なお、本方法におけるローカルフローは、上述した定義1のローカルフローである。
(Global flow detection method 1)
In this method, a global flow is detected using traffic information. Note that the local flow in this method is the local flow defined in Definition 1 above.

ネットワーク管理モジュール40のグローバルフロー検出部43は、上記ルートノード決定方法1乃至3のうちの何れかの方法で決定されたルートノードを処理開始ノードとして、全てのリーフノード方向へ仮想ハブ20を辿りながら、各仮想ハブ20のルートノード方向の仮想ポートを含むローカルフローと、予め定めたトラフィックに関する条件とを比較し、その条件を満たすならば、そのローカルフローのリーフノード方向の仮想ポートの接続先である仮想ハブ20へと同様の処理を進め、最終的に、2つのリーフノード間に連続したローカルフローが存在すれば、それをグローバルフローと判断する。   The global flow detection unit 43 of the network management module 40 traces the virtual hub 20 in the direction of all the leaf nodes, with the root node determined by any one of the route node determination methods 1 to 3 as a process start node. However, the local flow including the virtual port in the root node direction of each virtual hub 20 is compared with the predetermined traffic condition, and if the condition is satisfied, the connection destination of the virtual port in the leaf node direction of the local flow The same processing is proceeded to the virtual hub 20, and if there is a continuous local flow between the two leaf nodes, it is determined as a global flow.

例えば、図15の仮想ハブ20(#1)から仮想ハブ20(#7)において、図中に示すようなローカルフローが存在しているとする。太い矢印bで示されたローカルフローbは1Mbpsを越えるトラフィック(ローカルフローの仮想ポート間で転送されている)を示し、細い矢印hで示されたローカルフローhは1Mbpsに満たないトラフィックを示す。   For example, it is assumed that a local flow as shown in the figure exists in the virtual hub 20 (# 1) to the virtual hub 20 (# 7) in FIG. A local flow b indicated by a thick arrow b indicates traffic exceeding 1 Mbps (transferred between virtual ports of local flows), and a local flow h indicated by a thin arrow h indicates traffic less than 1 Mbps.

ここで、トラフィックの閾値が仮想ポート間転送ビット数で1Mbps、ルートノードが仮想ハブ20(#3)である場合のグローバルフロー検出処理を説明する。   Here, the global flow detection process when the traffic threshold is 1 Mbps in terms of the number of bits transferred between virtual ports and the root node is the virtual hub 20 (# 3) will be described.

1)仮想ハブ20(#3)にて、仮想ポート0−仮想ポート1のペアによるローカルフローが閾値を越えていることを検出する。   1) The virtual hub 20 (# 3) detects that the local flow by the virtual port 0-virtual port 1 pair exceeds the threshold.

2)次に、上記ローカルフローのリーフノード方向の端点である仮想ポート0、仮想ポート1の接続先の仮想ハブ20(#2)、仮想ハブ20(#5)について、それぞれルートノードである仮想ハブ20(#3)方向の仮想ポート0を含むローカルフローのチェックを行ない、仮想ハブ20(#2)の仮想ポート0−仮想ポート1のペアによるローカルフロー、及び仮想ハブ20(#5)の仮想ポート0−仮想ポート1のペアによるローカルフローが閾値を越えていることを検出する。   2) Next, the virtual port 0, which is the end point in the leaf node direction of the local flow, the virtual hub 20 (# 2) and the virtual hub 20 (# 5) to which the virtual port 1 is connected are respectively virtual nodes that are root nodes. The local flow including the virtual port 0 in the direction of the hub 20 (# 3) is checked, the local flow by the virtual port 0-virtual port 1 pair of the virtual hub 20 (# 2), and the virtual hub 20 (# 5) It detects that the local flow by the virtual port 0-virtual port 1 pair exceeds the threshold.

3)同様に、仮想ハブ20(#5)の先の仮想ハブ20(#6)の仮想ポート0−仮想ポート2のペアによるローカルフローが閾値を越えていることを検出する。   3) Similarly, it is detected that the local flow by the virtual port 0-virtual port 2 pair of the virtual hub 20 (# 6) ahead of the virtual hub 20 (# 5) exceeds the threshold value.

4)上記1)乃至3)の処理により、2つのリーフノード、仮想ハブ20(#2)と仮想ハブ20(#6)との間、すなわち、それらが収容するクライアント30(#1)とクライアント30(#5)と間にグローバルフローが存在すると判断する。   4) Through the processing of 1) to 3) above, between the two leaf nodes, the virtual hub 20 (# 2) and the virtual hub 20 (# 6), that is, the client 30 (# 1) and the client accommodated by them 30 (# 5) and a global flow is determined to exist.

5)ここで処理を仮想ハブ20(#3)に戻し、上記と同様に、仮想ハブ20(#3)にて、仮想ポート0−仮想ポート2のペアによるローカルフローが閾値を越えていることを検出する。   5) The processing is returned to the virtual hub 20 (# 3), and the local flow by the virtual port 0-virtual port 2 pair exceeds the threshold in the virtual hub 20 (# 3) in the same manner as described above. Is detected.

6)次に、仮想ハブ20(#3)の仮想ポート0、仮想ポート2それぞれの接続先である仮想ハブ20(#2)、仮想ハブ20(#4)についてローカルフローのチェックを行ない、仮想ハブ20(#2)の仮想ポート0−仮想ポート1のペアによるローカルフロー、及び仮想ハブ20(#4)の仮想ポート0−仮想ポート3のペアによるローカルフローが閾値を越えていることを検出する。   6) Next, the local flow is checked for the virtual hub 20 (# 2) and the virtual hub 20 (# 4) that are the connection destinations of the virtual port 0 and the virtual port 2 of the virtual hub 20 (# 3). It is detected that the local flow by the virtual port 0-virtual port 1 pair of the hub 20 (# 2) and the local flow by the virtual port 0-virtual port 3 pair of the virtual hub 20 (# 4) exceed the threshold. To do.

7)ここまでの処理により、2つのリーフノード、仮想ハブ20(#2)と仮想ハブ20(#4)との間、すなわち、それらが収容するクライアント30(#1)とクライアント30(#10)と間にグローバルフローが存在すると判断する。   7) By the processing so far, between the two leaf nodes, the virtual hub 20 (# 2) and the virtual hub 20 (# 4), that is, the client 30 (# 1) and the client 30 (# 10) that they accommodate ) And a global flow exists.

通常、上記処理は、ルートノードを起点とした再帰的手法により実行される。再帰的処理の中で各仮想ハブ20に関して実行されるネットワーク管理モジュールによるグローバルフロー検出処理フローを図16に示す。ルートノードは、ステップS41乃至45からなる再帰処理を2つのリーフノード方向双方に対して実行し、双方ともにリーフノードまで到達できた場合に、グローバルフローを検出することができる。なお、ローカルフローを閾値との比較処理の対象とするかどうかの判断、及び、リーフノード方向への処理継続の可否の判断に関して、以下のi)〜iii)に示すような注意が必要である。   Normally, the above process is executed by a recursive method starting from the root node. FIG. 16 shows a global flow detection process flow by the network management module executed for each virtual hub 20 in the recursive process. The root node can execute a recursive process including steps S41 to S45 in both directions of two leaf nodes, and can detect a global flow when both reach the leaf node. Note that the following i) to iii) need to be taken into consideration regarding the determination of whether or not the local flow is to be compared with the threshold value and the determination of whether or not processing can continue in the leaf node direction. .

i)ローカルフローに含まれる仮想ポートの接続先のみが処理継続対象である(S41)。   i) Only the connection destination of the virtual port included in the local flow is the processing continuation target (S41).

たとえリーフノード方向への仮想ポートが存在しても、ルートノード方向の仮想ポートとペアを組むローカルフローに含まれない仮想ポートへは、グローバルフロー検出処理を継続しない。上記例についていえば、仮想ハブ20(#5)での仮想ポート2であり、その接続先の仮想ハブ20(#7)へは処理を継続しない。   Even if there is a virtual port in the leaf node direction, the global flow detection process is not continued for a virtual port that is not included in the local flow paired with the virtual port in the root node direction. In the above example, it is the virtual port 2 in the virtual hub 20 (# 5), and the processing is not continued to the connection destination virtual hub 20 (# 7).

ii)ルートノード方向の仮想ポートを含むローカルフローのみが閾値との比較処理の対象である(S42)。   ii) Only a local flow including a virtual port in the root node direction is a target for comparison processing with a threshold value (S42).

たとえローカルフローが存在しても、それにルートノード方向の仮想ポートが含まれていない場合は、閾値との比較の対象としない。上記例についていえば、仮想ハブ20(#2)での仮想ポート1−仮想ポート2のペアによるローカルフローであり、閾値との比較処理は行なわない。ルートノードである仮想ハブ20(#3)を含むフローに含まれないからであるが、例えば、ルートノードとして仮想ハブ20(#2)を選択したならば、このローカルフローも処理の対象となったであろう。   Even if a local flow exists, if it does not include a virtual port in the direction of the root node, it will not be compared with a threshold value. In the above example, the local flow is a virtual port 1-virtual port 2 pair in the virtual hub 20 (# 2), and comparison processing with a threshold value is not performed. This is because it is not included in the flow including the virtual node 20 (# 3) that is the root node. For example, if the virtual hub 20 (# 2) is selected as the root node, this local flow is also a target of processing. Would be.

iii)条件を満たしたローカルフローに含まれるリーフノード方向の仮想ポートの接続先のみが、検出処理継続の対象となる(S43:No,S44)。   iii) Only the connection destination of the virtual port in the leaf node direction included in the local flow that satisfies the condition is the target of the detection process continuation (S43: No, S44).

たとえルートノード方向の仮想ポートを含むローカルフローが存在したとしても、閾値との比較で条件を満たさなければ、そのローカルフローのリーフノード方向の仮想ポートの接続先へはグローバルフロー検索処理を継続しない。上記例についていえば、仮想ハブ20(#2)の仮想ポート0−仮想ポート2のペアによるローカルフローは閾値を越えていないため、このローカルフローの端点の接続先である仮想ハブ20(#1)についてグローバルフロー検出処理は継続しない。   Even if there is a local flow including a virtual port in the root node direction, the global flow search process is not continued to the connection destination of the virtual port in the leaf node direction of the local flow if the condition is not satisfied by comparison with the threshold value. . In the above example, since the local flow by the virtual port 0-virtual port 2 pair of the virtual hub 20 (# 2) does not exceed the threshold, the virtual hub 20 (# 1) that is the connection destination of the end point of this local flow. The global flow detection process is not continued.

以上、図15を用いて、トラフィック情報、特に、仮想ポート間の単位時間当たりの転送ビット数を元にした2つのグローバルフローの検出処理に関して例を記したが、トラフィック情報としては、これだけではなく、仮想ポート間の単位時間当たりの転送ビット数、仮想ポート間の単位時間当たりの転送バイト数、仮想ポート間の単位時間当たりの転送フレーム数、仮想ポート間の単位時間当たりの、特定サイズ以上の転送フレーム数、仮想ポート間での特定の上位層プロトコル情報を含むデータの検出(上位層プロトコル情報としては、プロトコル種別、IPアドレス、UDP/TCPポート番号等が考えられる)、仮想ポート間の単位時間当たりの、特定の上位層プロトコル情報を含むものの転送ビット数/バイト数/フレーム数(上位層プロトコル情報としては、プロトコル種別、IPアドレス、UDP/TCPポート番号等が考えられる)のような情報を使用することも可能である。   As described above, the example of the detection processing of two global flows based on the traffic information, in particular, the number of transfer bits per unit time between virtual ports has been described with reference to FIG. 15. However, the traffic information is not limited to this. , The number of transfer bits per unit time between virtual ports, the number of transfer bytes per unit time between virtual ports, the number of transfer frames per unit time between virtual ports, and a specific size or more per unit time between virtual ports Detection of data including number of transfer frames, specific upper layer protocol information between virtual ports (upper layer protocol information may include protocol type, IP address, UDP / TCP port number, etc.), unit between virtual ports Number of transfer bits / bytes / frames (including top-level protocol information per hour) The layer protocol information, protocol type, it is also possible to use information such as IP address, UDP / TCP port number, etc. can be considered).

(グローバルフロー検出方法2)
本方法では、アドレス情報を用いてグローバルフローを検出する。なお、本方法におけるローカルフローは、上述した定義2のローカルフローである。
(Global flow detection method 2)
In this method, a global flow is detected using address information. Note that the local flow in this method is the local flow defined in Definition 2 described above.

ネットワーク管理モジュール40のグローバルフロー検出部43は、上記ルートノード決定方法1乃至3のうちの何れかの方法で決定されたルートノードを処理開始ノードとして、全てのリーフノード方向へ仮想ハブ20を辿りながら、各仮想ハブ20のルートノード方向の仮想ポートを含むローカルフローと、そのローカルフローのルートノード方向の仮想ポートの接続先である仮想ハブ20上の前記仮想ハブ20に至るトリガとなったローカルフローとの、MACアドレスのペアの値、及び、その方向が一致したならば、そのローカルフローのリーフノード方向の仮想ポートの接続先である仮想ハブ20へと同様の処理を進め、最終的に、2つのリーフノード間に連続したローカルフローが存在すれば、それをグローバルフローと判断する。   The global flow detection unit 43 of the network management module 40 traces the virtual hub 20 in the direction of all the leaf nodes, with the root node determined by any one of the route node determination methods 1 to 3 as a process start node. However, the local flow that includes the virtual port in the direction of the root node of each virtual hub 20 and the local flow that triggered the virtual hub 20 on the virtual hub 20 to which the virtual port in the direction of the root node of the local flow is connected. If the value of the MAC address pair with the flow and the direction match, proceed to the virtual hub 20 that is the connection destination of the virtual port in the leaf node direction of the local flow, and finally If there is a continuous local flow between two leaf nodes, it is determined as a global flow .

例えば、図17の仮想ハブ20(#1)から仮想ハブ20(#7)において、図中に示すようにMACアドレスが学習されている、すなわち、各出力ポート(仮想ポート)とMACアドレスがマッピングされているとする。ここで、ルートノードを仮想ハブ20(#1)とした場合のグローバルフロー検出処理を説明する。仮想ハブ20(#1)では、複数のローカルフローが存在するが、ここでは特に{仮想ポートn:MAC3}⇒{仮想ポートm:MAC6}のペアからなるローカルフローに着目した場合について記す。   For example, in the virtual hub 20 (# 1) to the virtual hub 20 (# 7) in FIG. 17, the MAC address is learned as shown in the figure, that is, each output port (virtual port) and the MAC address are mapped. Suppose that Here, the global flow detection process when the root node is the virtual hub 20 (# 1) will be described. In the virtual hub 20 (# 1), there are a plurality of local flows. Here, a case where attention is paid to a local flow consisting of a pair of {virtual port n: MAC3} → {virtual port m: MAC6} will be described.

なお、ローカルフローの記法中、“⇒”はMACアドレスペアの“方向”を示す。つまり、MACアドレスペアの値が等しくても、この方向が逆の場合は、それらローカルフローは同一のグローバルフローに属しているとは見なさず、グローバルフロー検出処理を継続しない。なお、MACアドレスペアの値が等しく、方向が逆となるような状況は、ループ発生時などを除き、通常は発生しない。   In the local flow notation, “⇒” indicates the “direction” of the MAC address pair. That is, even if the MAC address pair values are equal, if this direction is reversed, the local flows are not regarded as belonging to the same global flow, and the global flow detection process is not continued. A situation in which the MAC address pair values are equal and the directions are reversed does not normally occur except when a loop occurs.

さて、{仮想ポートn:MAC3}⇒{仮想ポートm:MAC6}のペアからなるローカルフローに着目すると、
1)仮想ハブ20(#1)にて、{仮想ポート2:MAC3}⇒{仮想ポート0:MAC6}のペアによるローカルフローが存在することを検出する。
Now, paying attention to the local flow consisting of the pair {virtual port n: MAC3} ⇒ {virtual port m: MAC6},
1) In the virtual hub 20 (# 1), it is detected that a local flow with a pair of {virtual port 2: MAC3} → {virtual port 0: MAC6} exists.

2)次に、上記ローカルフローのリーフノード方向の端点である仮想ポート0の接続先の仮想ハブ20(#2)について、ルートノードである仮想ハブ20(#1)方向の仮想ポート2を含むローカルフローのチェックを行ない、仮想ハブ20(#2)上には、仮想ハブ20(#1)上と同じMACアドレスペアの値と方向を持つローカルフロー、{仮想ポート2:MAC3⇒仮想ポート0:MAC6}が存在することを検出する。   2) Next, for the virtual hub 20 (# 2) to which the virtual port 0 that is the end point in the leaf node direction of the local flow is connected, the virtual port 2 in the direction of the virtual hub 20 (# 1) that is the root node is included. The local flow is checked, and on the virtual hub 20 (# 2), a local flow having the same MAC address pair value and direction as on the virtual hub 20 (# 1), {virtual port 2: MAC3⇒virtual port 0 : MAC6} is detected.

3)次に、上記ローカルフローのリーフノード方向の端点である仮想ポート0の接続先の仮想ハブ20(#3)について、ルートノードである仮想ハブ20(#1)方向の仮想ポート0を含むローカルフローのチェックを行ない、仮想ハブ20(#3)上には、仮想ハブ20(#1)、仮想ハブ20(#2)上と同じMACアドレスペアの値と方向を持つローカルフロー、{仮想ポート0:MAC3⇒仮想ポート1:MAC6}が存在することを検出する。   3) Next, for the virtual hub 20 (# 3) to which the virtual port 0 that is the end point in the leaf node direction of the local flow is connected, the virtual port 0 in the direction of the virtual hub 20 (# 1) that is the root node is included. The local flow is checked, and on the virtual hub 20 (# 3), the local flow having the same MAC address pair value and direction as the virtual hub 20 (# 1) and virtual hub 20 (# 2), {virtual It detects that port 0: MAC3⇒virtual port 1: MAC6} exists.

4)同様に、仮想ハブ20(#5)、仮想ハブ20(#7)上にて、同じMACアドレスペアの値と方向を持つローカルフロー、{仮想ポート0:MAC3⇒仮想ポート2:MAC6}、{仮想ポート1:MAC3⇒仮想ポート1:MAC6}が、それぞれ存在することを検出する。   4) Similarly, on the virtual hub 20 (# 5) and the virtual hub 20 (# 7), a local flow having the same value and direction of the MAC address pair, {virtual port 0: MAC3⇒virtual port 2: MAC6} , {Virtual port 1: MAC3⇒virtual port 1: MAC6} are detected.

5)上記1)乃至4)の処理により、2つのリーフノード、仮想ハブ20(#1)と仮想ハブ20(#7)と間、すなわち、それらが収容するクライアント30(#3)とクライアント30(#6)と間にグローバルフローが存在すると判断する。   5) By the processing of 1) to 4), between the two leaf nodes, the virtual hub 20 (# 1) and the virtual hub 20 (# 7), that is, the client 30 (# 3) and the client 30 accommodated by them. It is determined that a global flow exists between (# 6) and.

通常、上記処理は、ルートノードを起点とした再帰的手法により実行される。再帰的処理の中で各仮想ハブに関して実行されるネットワーク管理モジュール40によるグローバルフロー検出処理フローは、基本的に図16と同様であり、2番目の条件判定処理部分が
異なるだけである。
Normally, the above process is executed by a recursive method starting from the root node. The global flow detection processing flow by the network management module 40 executed for each virtual hub in the recursive processing is basically the same as that in FIG. 16, and only the second condition determination processing portion is different.

以上、図17を用いて、アドレス情報、特に、MACアドレスに基づいたグローバルフローの検出処理に関して例を記したが、アドレス情報としては、IPアドレスなど、上位層のアドレスを使用することも可能である。ただし、処理は複雑になり、性能劣化も生じる可能性がある。   As described above, an example of the global flow detection process based on the address information, particularly the MAC address has been described with reference to FIG. 17, but an upper layer address such as an IP address can be used as the address information. is there. However, processing becomes complicated and performance degradation may occur.

(グローバルフロー検出方法3)
本方法では、トラフィック情報及びアドレス情報の双方を用いてグローバルフローを検出する。
(Global flow detection method 3)
In this method, a global flow is detected using both traffic information and address information.

それぞれのグローバルフロー検出方法についてはグローバルフロー検出方法1及び2で説明した通りだが、それぞれ、以下のような事象が発生する可能性がある。   Each global flow detection method is as described in the global flow detection methods 1 and 2, but the following events may occur.

すなわち、グローバルフロー検出方法1のように、トラフィック情報を元にした場合、上位層プロトコル情報、特にIPアドレス等、エンドエンド情報を参照する場合を除いては、主に仮想ポート間のトラフィックの量のみに着目するだけであり、送信元及び宛先を意識する事はない。つまり、様々な送信元及び宛先が混在したトラフィックをチェックしているため、トラフィックの量によりグローバルフローを検出したとしても、それが、ある特定のエンドエンドのクライアント30間のトラフィックのみを根拠として検出されたとはいい難く、グローバルフローは正確性を欠く恐れがある。逆に、送信元及び宛先が混在したトラフィックを見ているため、多くのクライアント30間でランダムに通信が行なわれている環境などでは、エンドエンドで顕著な傾向を示すフロー、つまり、グローバルフローを見つけ出すことは困難となる(エンドエンドのフローが埋もれる)かもしれない。   That is, when the traffic information is based on the global flow detection method 1, the traffic volume between the virtual ports is mainly used except when referring to the upper-end protocol information, particularly the end-end information such as the IP address. It pays attention only to it, and does not care about the transmission source and the destination. In other words, since traffic with a mixture of various sources and destinations is checked, even if a global flow is detected based on the amount of traffic, it is detected based only on traffic between clients 30 at a specific end-end. Global flows are likely to be inaccurate. On the other hand, since traffic with a mixture of transmission sources and destinations is seen, in an environment where communication is performed randomly between many clients 30, a flow that shows a remarkable tendency at the end end, that is, a global flow is displayed. It may be difficult to find (end-to-end flows are buried).

一方、グローバルフロー検出方法2のように、アドレス情報に基づいた場合、グローバルフロー検出方法2で説明された例を取れば、クライアント30(#3)とクライアント30(#6)との間でイーサネットフレームがやりとりされれば経路上の各仮想ハブ20(#1),(#2),(#3),(#5),(#7)はそれらクライアントのMACアドレスを学習する。このため、極端な例ではあるが、ただ1つのイーサネットフレームの送受信が発生し、以後全くトラフィックが無いとしても、それをグローバルフローと見なしてしまうかもしれない。   On the other hand, in the case of being based on address information as in the global flow detection method 2, if the example described in the global flow detection method 2 is taken, the Ethernet between the client 30 (# 3) and the client 30 (# 6) If frames are exchanged, each virtual hub 20 (# 1), (# 2), (# 3), (# 5), (# 7) on the route learns the MAC addresses of these clients. For this reason, although it is an extreme example, even if only one Ethernet frame is transmitted and received and there is no traffic after that, it may be regarded as a global flow.

このような上記それぞれの事情を鑑み、本方法では、トラフィック情報及びアドレス情報の双方を用いてグローバルフローを検出する。   In view of the above circumstances, the present method detects a global flow using both traffic information and address information.

例えば、先ず、アドレス情報(MACアドレス情報)を使い、グローバルフローを検出する。続いて、そのグローバルフローに含まれる各ローカルフローのトラフィック量、つまり、各仮想ハブ20のローカルフローを形成する2つの仮想ポート間のトラフィック量をチェックし、全てのローカルフローのトラフィック量がある条件を満たした場合にのみ、最終的にグローバルフローであると判断する。   For example, first, a global flow is detected using address information (MAC address information). Subsequently, the traffic amount of each local flow included in the global flow, that is, the traffic amount between the two virtual ports forming the local flow of each virtual hub 20 is checked, and the traffic amount of all the local flows is a certain condition. Only when the condition is satisfied, it is finally determined that the flow is a global flow.

このようにすることで、確実にエンドエンドのクライアント間のグローバルフローを検出する事が可能になる。   In this way, it is possible to reliably detect a global flow between end-to-end clients.

なお、上記グローバルフロー検出方法1乃至3では、グローバルフローの端点となり得るのがリーフノードのみとなる場合を例示しているが、適用領域などによれば、一方の端点、或は両方の端点が、リーフノードではない仮想ハブ20、つまり他仮想ハブ20間のトラフィックを中継する仮想ハブ20である中間ノードである場合もあり得る。   In the global flow detection methods 1 to 3, the case where only the leaf node can be the end point of the global flow is illustrated, but according to the application area, one end point or both end points are It may be an intermediate node that is a virtual hub 20 that is not a leaf node, that is, a virtual hub 20 that relays traffic between other virtual hubs 20.

従って、本実施の形態に係る本実施の形態に係るピアツーピア通信確立方法によれば、特定の中継ノード群へのトラフィック集中、高負荷を避けることができ、該当中継ノード群、及び、仮想ネットワーク全体のスケーラビリティを確保することが可能となる。また、トラフィックが特定の中継ノード群を経由しないことにより、アンダーレイネットワークへの負荷を軽減することが可能となり、設備投資を抑制することが可能となる。更に、クライアント30間で直接通信を行なうことにより、クライアント30間の通信スループット、応答時間等を改善することも可能となる。   Therefore, according to the peer-to-peer communication establishment method according to the present embodiment according to the present embodiment, it is possible to avoid traffic concentration and high load on a specific relay node group, the corresponding relay node group, and the entire virtual network. It is possible to ensure scalability. Further, since the traffic does not pass through a specific relay node group, it is possible to reduce the load on the underlay network and to suppress the capital investment. Furthermore, communication throughput between clients 30 and response time can be improved by performing direct communication between clients 30.

(第2の実施の形態)
第2の実施の形態は、本発明のピアツーピア通信確立方法の第1の実施の形態とは異なる適用例である。したがって、第1の実施の形態と異なる点について説明し、重複説明を避ける。
(Second Embodiment)
The second embodiment is an application example different from the first embodiment of the peer-to-peer communication establishment method of the present invention. Therefore, a different point from 1st Embodiment is demonstrated and duplication description is avoided.

すなわち、第1の実施の形態では、本発明のピアツーピア通信確立方法によって、2つのクライアント30間でピアツーピア通信が確立される例について説明したが、本発明のピアツーピア通信確立方法は、2つのクライアント30間のピアツーピア通信の確立に限定されるものではなく、2つの仮想ハブ20間のピアツーピア通信にも適用することができる。つまり、別の仮想ハブ20を経由して接続している2つの仮想ハブ20間でのピアツーピアによる直接通信にも適用することができる。   That is, in the first embodiment, the example in which the peer-to-peer communication is established between the two clients 30 by the peer-to-peer communication establishment method of the present invention has been described. The present invention is not limited to establishing peer-to-peer communication between the two, and can also be applied to peer-to-peer communication between two virtual hubs 20. That is, the present invention can also be applied to peer-to-peer direct communication between two virtual hubs 20 connected via another virtual hub 20.

例えば、図17において、仮想ハブ20(#3)上で、仮想ハブ20(#4)と仮想ハブ20(#5)との間のトラフィックが非常に多いと検出されたが、リーフノード間、つまり仮想ハブ20(#4)と仮想ハブ20(#6)、或は仮想ハブ20(#4)と仮想ハブ20(#7)との間では、何らかの理由によりグローバルフローが検出されなかった場合に、仮想ハブ20(#4)と仮想ハブ20(#5)との間で直接通信をさせることが可能である。   For example, in FIG. 17, it is detected that the traffic between the virtual hub 20 (# 4) and the virtual hub 20 (# 5) is very large on the virtual hub 20 (# 3). That is, when a global flow is not detected for some reason between the virtual hub 20 (# 4) and the virtual hub 20 (# 6), or between the virtual hub 20 (# 4) and the virtual hub 20 (# 7). In addition, direct communication can be performed between the virtual hub 20 (# 4) and the virtual hub 20 (# 5).

このように、本実施の形態に係る本実施の形態に係るピアツーピア通信確立方法によっても、特定の中継ノード群へのトラフィック集中、高負荷を避けることができ、該当中継ノード群、及び、仮想ネットワーク全体のスケーラビリティを確保することが可能となる。また、トラフィックが特定の中継ノード群を経由しないことにより、アンダーレイネットワークへの負荷を軽減することが可能となり、設備投資を抑制することが可能となる。更に、仮想ハブ20間で直接通信を行なうことにより、仮想ハブ20間の通信スループット、応答時間等を改善することも可能となる。   As described above, also by the peer-to-peer communication establishment method according to the present embodiment according to the present embodiment, it is possible to avoid traffic concentration and high load on a specific relay node group, the corresponding relay node group, and the virtual network. Overall scalability can be ensured. Further, since the traffic does not pass through a specific relay node group, it is possible to reduce the load on the underlay network and to suppress the capital investment. Furthermore, by directly communicating between the virtual hubs 20, it is possible to improve the communication throughput, response time, etc. between the virtual hubs 20.

(応用技術分野)
本発明のピアツーピア通信確立方法は、上述したような仮想イーサネットだけでなく、あるノードにトラフィックが集中する仮想ネットワーク構築技術に関しても、広く適用が可能である。
(Applied technology field)
The peer-to-peer communication establishment method of the present invention can be widely applied not only to the virtual Ethernet as described above but also to a virtual network construction technique in which traffic is concentrated on a certain node.

以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。   The best mode for carrying out the present invention has been described above with reference to the accompanying drawings, but the present invention is not limited to such a configuration. Within the scope of the invented technical idea of the scope of claims, a person skilled in the art can conceive of various changes and modifications. The technical scope of the present invention is also applicable to these changes and modifications. It is understood that it belongs to.

第1の実施の形態に係るピアツーピア通信確立方法が適用される典型的なネットワークの構成例を示す概念図。The conceptual diagram which shows the structural example of the typical network with which the peer to peer communication establishment method which concerns on 1st Embodiment is applied. 仮想ハブの構成例を示す機能ブロック図。The functional block diagram which shows the structural example of a virtual hub. クライアントの構成例を示す機能ブロック図。The functional block diagram which shows the structural example of a client. ネットワーク管理モジュールの構成例を示す機能ブロック図。The functional block diagram which shows the structural example of a network management module. 図1に示す典型的なネットワークにおいてトラフィックが発生した状態を示す概念図。The conceptual diagram which shows the state which the traffic generate | occur | produced in the typical network shown in FIG. 情報収集部によって作成された接続ツリー情報の一例を示す図。The figure which shows an example of the connection tree information produced by the information collection part. ピアツーピアリンクの生成処理の流れを示すフローチャート。The flowchart which shows the flow of the production | generation process of a peer to peer link. ピアツーピアリンクによる通信処理の流れを示すフローチャート。The flowchart which shows the flow of the communication process by a peer to peer link. 図1に示す典型的なネットワークにおいてピアツーピア通信を確立した状態を示す概念図。The conceptual diagram which shows the state which established the peer-to-peer communication in the typical network shown in FIG. ピアツーピアリンクの削除処理の流れを示すフローチャート。The flowchart which shows the flow of the deletion process of a peer to peer link. ルートノード決定方法1を説明するためのネットワーク構成概念図。FIG. 3 is a conceptual diagram of a network configuration for explaining a route node determination method 1; 図11のネットワーク構成におけるリーフノードへのホップ数を示す図。The figure which shows the hop number to the leaf node in the network structure of FIG. ルートノード決定方法2を説明するためのネットワーク構成概念図。The network composition conceptual diagram for demonstrating the root node determination method 2. FIG. ルートノード決定方法3を説明するためのネットワーク構成概念図。FIG. 5 is a conceptual diagram of a network configuration for explaining a route node determination method 3; グローバルフロー検出方法1を説明するためのネットワーク構成概念図。1 is a conceptual diagram of a network configuration for explaining a global flow detection method 1. FIG. 再帰的処理によるグローバルフロー検出処理の流れを示すフローチャート。The flowchart which shows the flow of the global flow detection process by a recursive process. グローバルフロー検出方法2を説明するためのネットワーク構成概念図。The network block conceptual diagram for demonstrating the global flow detection method 2. FIG. 仮想イーサネットの一般的な構成例を示すネットワーク概念図。The network conceptual diagram which shows the general structural example of virtual Ethernet.

符号の説明Explanation of symbols

b…ローカルフロー、d…通信リンク、h…ローカルフロー、m…仮想ポート、n…仮想ポート、p…ピアツーピア通信リンク、T…トラフィック、0〜3…仮想ポート、10…ネットワーク、20…仮想ハブ、21…イーサネットスイッチングハブ、22…転送テーブル、23…接続リンク制御部、24…仮想ポート、25…ネットワーク管理インタフェース部、26…ピアツーピアリンク制御部、27…アンダーレイネットワークプロトコル群、28…物理ネットワークインタフェース、30…クライアント、31…上位プロトコル群、32…仮想ネットワークインタフェース、33…イーサネットフレーム送受信部、34…送信先管理テーブル、35…接続リンク制御部、36…仮想ポート、37…アンダーレイネットワークプロトコル群、38…物理ネットワークインタフェース、40…ネットワーク管理モジュール、41…情報収集部、42…ルートノード決定部、43…グローバルフロー検出部、44…ピアツーピアリンク制御部、50…LAN、150…アンダーレイネットワーク、151…仮想ハブ、152…仮想ネットワークインタフェース、153…クライアント、154…仮想イーサネット、155…サーバ、156…ファイアウォール、157…ルータ、160…内部ネットワーク、161…外部ネットワーク   b ... local flow, d ... communication link, h ... local flow, m ... virtual port, n ... virtual port, p ... peer-to-peer communication link, T ... traffic, 0-3 ... virtual port, 10 ... network, 20 ... virtual hub 21 ... Ethernet switching hub, 22 ... Transfer table, 23 ... Connection link control unit, 24 ... Virtual port, 25 ... Network management interface unit, 26 ... Peer-to-peer link control unit, 27 ... Underlay network protocol group, 28 ... Physical network Interface: 30 Client 31: Upper protocol group 32 Virtual network interface 33 Ethernet frame transmission / reception unit 34 Transmission destination management table 35 Connection link control unit 36 Virtual port 37 Underlay network protocol Group, 38 ... physical network interface, 40 ... network management module, 41 ... information collection unit, 42 ... route node determination unit, 43 ... global flow detection unit, 44 ... peer-to-peer link control unit, 50 ... LAN, 150 ... underlay network , 151 ... Virtual hub, 152 ... Virtual network interface, 153 ... Client, 154 ... Virtual Ethernet, 155 ... Server, 156 ... Firewall, 157 ... Router, 160 ... Internal network, 161 ... External network

Claims (19)

複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、前記中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定のクライアント間にピアツーピアリンクを確立する装置であって、
前記複数のクライアントのうち、任意の2つのクライアント間において、連続した2つ以上の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出するグローバルフロー検出手段と、
前記グローバルフロー検出手段によってグローバルフローが検出されたクライアント間にピアツーピアリンクを確立するピアツーピアリンク確立手段とを備え、
前記ピアツーピアリンク確立手段によってピアツーピアリンクが確立されたクライアント間の通信が、前記ピアツーピアリンクを介してなされるようにしたことを特徴とするピアツーピア通信確立装置。
Apparatus for establishing a peer-to-peer link between specific clients in a virtual network in which a plurality of clients having a communication link with at least one of a plurality of relay nodes communicate with each other via the relay node Because
A global flow detecting means for detecting a global flow that is a communication flow that satisfies a predetermined standard and is made between two arbitrary clients among the plurality of clients via two or more continuous relay nodes; ,
Peer-to-peer link establishment means for establishing a peer-to-peer link between clients for which a global flow has been detected by the global flow detection means,
A peer-to-peer communication establishment apparatus, wherein communication between clients whose peer-to-peer link has been established by the peer-to-peer link establishment means is performed via the peer-to-peer link.
請求項1のピアツーピア通信確立装置において、
前記グローバルフロー検出手段は、
前記中継ノードの全てについて、中継ノード間の通信フローを中継しない中継ノードであるリーフノードの各々に対する到達ホップ数を調査し、最大ホップ数が最も少ない中継ノードか、又は前記最大ホップ数が予め定めた閾値よりも小さい全ての中継ノードであるルートノードを決定するルートノード決定手段と、
前記ルートノード決定手段によって決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って前記リーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローと判定するグローバルフロー判定手段と
を備えたことを特徴とするピアツーピア通信確立装置。
In the peer-to-peer communication establishment apparatus according to claim 1,
The global flow detection means includes
For all of the relay nodes, the number of hops reached for each leaf node that is a relay node that does not relay the communication flow between the relay nodes is investigated, and the relay node with the smallest number of maximum hops or the maximum number of hops is determined in advance. Root node determination means for determining root nodes that are all relay nodes smaller than the threshold value;
A communication flow that satisfies the predetermined criteria while tracing a relay node from the root node to the leaf node side along the virtual network, starting from the root node determined by the root node determining means. A global flow determining unit that detects a global flow candidate and determines that the continuous global flow candidate is the global flow if a continuous global flow candidate is detected between two leaf nodes. A peer-to-peer communication establishment device.
請求項1のピアツーピア通信確立装置において、
前記グローバルフロー検出手段は、
前記中継ノードの全てについて、負荷が最大である中継ノードか、又は前記負荷が予め定めた閾値より大きい全ての中継ノードであるルートノードを決定するルートノード決定手段と、
前記ルートノード決定手段によって決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローと判定するグローバルフロー判定手段と
を備えたことを特徴とするピアツーピア通信確立装置。
In the peer-to-peer communication establishment apparatus according to claim 1,
The global flow detection means includes
Root node determination means for determining a relay node having a maximum load for all of the relay nodes or a root node that is all relay nodes having the load larger than a predetermined threshold;
Starting from the root node determined by the root node determination means, following the relay node from the root node to the leaf node side that is a relay node that does not relay the communication flow between the relay nodes along the virtual network , Detecting a global flow candidate that is a communication flow that satisfies the predetermined criteria, and detecting a continuous global flow candidate between two leaf nodes, the continuous global flow candidate is defined as the global flow. A peer-to-peer communication establishment apparatus, comprising: a global flow determination unit for determining.
前記ルートノード決定手段は、前記ルートノードの決定の際に対象とする中継ノードを、前記中継ノードの全てではなく、前記リーフノードの全てとすることを特徴とする請求項2又は3のピアツーピア通信確立装置。   4. The peer-to-peer communication according to claim 2 or 3, wherein the root node determining means sets all the leaf nodes instead of all the relay nodes as target relay nodes when determining the root node. Establishing device. 前記グローバルフロー検出手段は、前記中継ノードの全てをそれぞれ開始点として、前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローとして検出することを特徴とする請求項1のピアツーピア通信確立装置。   The global flow detection means, starting from each of the relay nodes as a starting point, tracing the relay node along the virtual network toward the leaf node that is a relay node that does not relay the communication flow between the relay nodes. A global flow candidate that is a communication flow that satisfies a predetermined criterion is detected, and if a continuous global flow candidate is detected between two leaf nodes, the continuous global flow candidate is detected as the global flow. The peer-to-peer communication establishment apparatus according to claim 1. 前記グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置。   The global flow detection means is a communication flow that satisfies the same conditions regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and in all relay nodes between the two leaf nodes. 2. The peer-to-peer communication establishment apparatus according to claim 1, further comprising: a global flow determination unit that determines that the communication flow between the two leaf nodes is a global flow when the two are detected. 前記グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、アドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置。   The global flow detection means is a communication flow that satisfies the same condition regarding address information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and all relay nodes between the two leaf nodes. 2. The peer-to-peer communication establishment apparatus according to claim 1, further comprising: a global flow determination unit that determines that the communication flow between the two leaf nodes is a global flow when the two are detected. 前記グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足し、かつアドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置。   The global flow detection means satisfies the same conditions regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes, and all relay nodes between the two leaf nodes, and The peer-to-peer communication establishment apparatus according to claim 1, further comprising a global flow determination unit that determines a communication flow between the two leaf nodes as a global flow when a communication flow that satisfies the same condition regarding address information is detected. . 複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、前記中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定の中継ノード間にピアツーピアリンクを確立する装置であって、
前記複数の中継ノードのうち、ある2つの中継ノード間において、少なくとも1つの他の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出するグローバルフロー検出手段と、
前記グローバルフロー検出手段によってグローバルフローが検出された2つの中継ノード間にピアツーピアリンクを確立するピアツーピアリンク確立手段とを備え、
前記ピアツーピアリンク確立手段によってピアツーピアリンクが確立された中継ノード間の通信が、前記ピアツーピアリンクを介してなされるようにしたことを特徴とするピアツーピア通信確立装置。
A plurality of clients having a communication link with at least one of a plurality of relay nodes each establish a peer-to-peer link between specific relay nodes in a virtual network in which the clients communicate with each other via the relay node. A device,
A global flow detecting means for detecting a global flow that is a communication flow that satisfies a predetermined criterion and is made between at least one other relay node among two relay nodes among the plurality of relay nodes; ,
Peer-to-peer link establishment means for establishing a peer-to-peer link between two relay nodes for which a global flow has been detected by the global flow detection means,
A peer-to-peer communication establishment apparatus characterized in that communication between relay nodes in which a peer-to-peer link has been established by the peer-to-peer link establishment means is performed via the peer-to-peer link.
複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、前記中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定のクライアント間にピアツーピアリンクを確立する方法であって、
前記複数のクライアントのうち、任意の2つのクライアント間において、連続した2つ以上の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出し、
前記グローバルフローが検出されたクライアント間にピアツーピアリンクを確立し、
前記ピアツーピアリンクが確立されたクライアント間の通信が、前記ピアツーピアリンクを介してなされるようにした
ことを特徴とするピアツーピア通信確立方法。
A method of establishing a peer-to-peer link between specific clients in a virtual network in which a plurality of clients each having a communication link with at least one of a plurality of relay nodes communicate with each other client via the relay node Because
Detecting a global flow that is a communication flow between two arbitrary clients among the plurality of clients via two or more continuous relay nodes and satisfying a predetermined standard;
Establishing a peer-to-peer link between clients where the global flow is detected;
A peer-to-peer communication establishment method, characterized in that communication between clients with which the peer-to-peer link has been established is made via the peer-to-peer link.
複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、前記中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定のクライアント間にピアツーピアリンクを確立するプログラムであって、
前記複数のクライアントのうち、任意の2つのクライアント間において、連続した2つ以上の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出する機能、
前記グローバルフローが検出されたクライアント間にピアツーピアリンクを確立する機能
をコンピュータに実現させるためのプログラム。
A program for establishing a peer-to-peer link between specific clients in a virtual network in which a plurality of clients each having a communication link with at least one of a plurality of relay nodes communicate with each other via the relay node Because
A function of detecting a global flow that is a communication flow that satisfies a predetermined standard and that is made between two arbitrary clients among the plurality of clients via two or more continuous relay nodes;
A program for causing a computer to realize a function of establishing a peer-to-peer link between clients in which the global flow is detected.
請求項11のプログラムにおいて、
前記検出する機能は更に、
前記中継ノードの全てについて、中継ノード間の通信フローを中継しない中継ノードであるリーフノードの各々に対する到達ホップ数を調査し、最大ホップ数が最も少ない中継ノードか、又は前記最大ホップ数が予め定めた閾値よりも小さい全ての中継ノードであるルートノードを決定する機能と、
前記決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って前記リーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローと判定する機能と
を含むプログラム。
12. The program of claim 11, wherein
The detecting function is further
For all of the relay nodes, the number of hops reached for each leaf node that is a relay node that does not relay the communication flow between the relay nodes is investigated, and the relay node with the smallest number of maximum hops or the maximum number of hops is determined in advance. A function to determine root nodes that are all relay nodes smaller than the threshold value,
Starting from the determined root node as a starting point, a global flow candidate that is a communication flow that satisfies the predetermined criteria is detected while following a relay node from the root node to the leaf node along the virtual network. And a function that, when a continuous global flow candidate is detected between two leaf nodes, determines that the continuous global flow candidate is the global flow.
請求項11のプログラムにおいて、
前記検出する機能は更に、
前記中継ノードの全てについて、負荷が最大である中継ノードか、又は前記負荷が予め定めた閾値より大きい全ての中継ノードであるルートノードを決定する機能と、
前記決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローと判定する機能と
を含むプログラム。
12. The program of claim 11, wherein
The detecting function is further
A function for determining a relay node having a maximum load for all of the relay nodes or a root node that is all relay nodes having the load larger than a predetermined threshold;
Starting from the determined root node as a starting point, tracing the relay node from the root node to the leaf node that is a relay node that does not relay the communication flow between the relay nodes along the virtual network A function that detects a global flow candidate that is a communication flow that satisfies a criterion and, if a continuous global flow candidate is detected between two leaf nodes, determines that the continuous global flow candidate is the global flow; Including programs.
前記決定する機能は、前記ルートノードの決定の際に対象とする中継ノードを、前記中継ノードの全てではなく、前記リーフノードの全てとする請求項12又は13のプログラム。   The program according to claim 12 or 13, wherein the determining function sets all the leaf nodes, not all of the relay nodes, as target relay nodes when determining the root node. 前記検出する機能は、前記中継ノードの全てをそれぞれ開始点として、前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、2つのリーフノード間で連続するグローバルフロー候補が検出されれば、前記連続するグローバルフロー候補を前記グローバルフローとして検出する機能を含む請求項11のプログラム。   The detecting function starts with all of the relay nodes as starting points, tracing the relay nodes along the virtual network to the leaf nodes that are relay nodes that do not relay the communication flow between the relay nodes. A function for detecting a global flow candidate that is a communication flow that satisfies a defined standard and detecting the continuous global flow candidate as the global flow if a continuous global flow candidate is detected between two leaf nodes. 12. The program of claim 11 comprising: 前記検出する機能は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定する機能を含む請求項11のプログラム。   The detection function is a communication flow that satisfies the same conditions regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and all relay nodes between the two leaf nodes. 12. The program according to claim 11, including a function of determining, when detected, a communication flow between the two leaf nodes as a global flow. 前記検出する機能は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、アドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定する機能を含む請求項11のプログラム。   The detecting function is a communication flow that satisfies the same condition regarding address information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and all relay nodes between the two leaf nodes. 12. The program according to claim 11, including a function of determining, when detected, a communication flow between the two leaf nodes as a global flow. 前記検出する機能は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足し、かつアドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定する機能を含む請求項11のプログラム。   The detection function satisfies the same condition regarding traffic information in two leaf nodes that are relay nodes that do not relay a communication flow between relay nodes and all relay nodes between the two leaf nodes, and addresses 12. The program according to claim 11, further comprising a function of determining a communication flow between the two leaf nodes as a global flow when a communication flow satisfying the same condition regarding information is detected. 複数の中継ノードのうちの少なくとも何れかとの通信リンクを持つ複数のクライアントがそれぞれ、前記中継ノードを経由して他のクライアントと互いに通信する仮想ネットワークにおいて、特定の中継ノード間にピアツーピアリンクを確立するプログラムであって、
前記複数の中継ノードのうち、ある2つの中継ノード間において、少なくとも1つの他の中継ノードを介してなされ、かつ予め定めた基準を満足する通信フローであるグローバルフローを検出する機能、
前記グローバルフロー検出手段によってグローバルフローが検出された2つの中継ノード間にピアツーピアリンクを確立する機能
をコンピュータに実現させるためのプログラム。
A plurality of clients having a communication link with at least one of a plurality of relay nodes each establish a peer-to-peer link between specific relay nodes in a virtual network in which the clients communicate with each other via the relay node. A program,
A function of detecting a global flow that is a communication flow that is made between at least one other relay node among the plurality of relay nodes via at least one other relay node and satisfies a predetermined criterion;
A program for causing a computer to realize a function of establishing a peer-to-peer link between two relay nodes in which a global flow is detected by the global flow detection means.
JP2007131798A 2007-05-17 2007-05-17 Peer-to-peer communication establishment apparatus and program Expired - Fee Related JP4490990B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007131798A JP4490990B2 (en) 2007-05-17 2007-05-17 Peer-to-peer communication establishment apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007131798A JP4490990B2 (en) 2007-05-17 2007-05-17 Peer-to-peer communication establishment apparatus and program

Publications (2)

Publication Number Publication Date
JP2008288872A true JP2008288872A (en) 2008-11-27
JP4490990B2 JP4490990B2 (en) 2010-06-30

Family

ID=40148181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007131798A Expired - Fee Related JP4490990B2 (en) 2007-05-17 2007-05-17 Peer-to-peer communication establishment apparatus and program

Country Status (1)

Country Link
JP (1) JP4490990B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010193224A (en) * 2009-02-19 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Network design device, network design method, and program
CN101854287B (en) * 2009-04-01 2014-06-25 工业和信息化部电信传输研究所 Method and device for optimizing P2P traffic
US8817702B2 (en) 2009-07-22 2014-08-26 Qualcomm Incorporated Mitigation of interference due to peer-to-peer communication

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010193224A (en) * 2009-02-19 2010-09-02 Nippon Telegr & Teleph Corp <Ntt> Network design device, network design method, and program
CN101854287B (en) * 2009-04-01 2014-06-25 工业和信息化部电信传输研究所 Method and device for optimizing P2P traffic
US8817702B2 (en) 2009-07-22 2014-08-26 Qualcomm Incorporated Mitigation of interference due to peer-to-peer communication
US9210668B2 (en) 2009-07-22 2015-12-08 Qualcomm Incorporated Mitigation of interference due to peer-to-peer communication
TWI574576B (en) * 2009-07-22 2017-03-11 高通公司 Mitigation of interference due to peer-to-peer communication

Also Published As

Publication number Publication date
JP4490990B2 (en) 2010-06-30

Similar Documents

Publication Publication Date Title
McCauley et al. Enabling a permanent revolution in internet architecture
US7920572B2 (en) Modifying operation of peer-to-peer networks based on integrating network routing information
US9391886B2 (en) Identification of the paths taken through a network of interconnected devices
Misra et al. Network routing: fundamentals, applications, and emerging technologies
US9544217B2 (en) Identification of paths in a network of mixed routing/switching devices
JP6510115B2 (en) Method, apparatus, and network system for realizing load distribution
US7747777B2 (en) Optimizing network resources usage within an administrative boundary
WO2009012725A1 (en) Message routing method, system and node equipment
US9559909B2 (en) Identifying an egress port of a device
US9537760B2 (en) Executing loops
US10291512B2 (en) Interest message path steering and multi-path traceroute in information-centric networking
US9531598B2 (en) Querying a traffic forwarding table
CN101997826A (en) Routing methods of control net element, forwarding net element and internet protocol network
US10334039B2 (en) Network device clusters
US9160648B2 (en) Content-centric network and method of performing routing between domains therefor
JP2022052741A (en) Target neighbor search for boundary gateway protocol
CN114978975A (en) Fast rerouting of BUM traffic in ethernet virtual private networks
US8612626B2 (en) Group member detection among nodes of a network
US8559431B2 (en) Multiple label based processing of frames
Feng et al. OpenRouteFlow: Enable legacy router as a software-defined routing service for hybrid SDN
JP4279300B2 (en) Network virtualization apparatus and network virtualization program
JP4490990B2 (en) Peer-to-peer communication establishment apparatus and program
CN114598698B (en) Data transmission method and device, electronic equipment and computer storage medium
US8830875B1 (en) System and method for providing a loop free topology in a network environment
CN113518104A (en) A data message processing method, transfer device and system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100402

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees