JP2008288872A - Peer-to-peer communication establishment apparatus, method, and program - Google Patents
Peer-to-peer communication establishment apparatus, method, and program Download PDFInfo
- 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
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を備えている。
【選択図】 図9An 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
ピアツーピアネットワークは、現状、ファイル交換(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
すなわち、先ず、ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア(以後、「仮想ハブ」と称する)を動作させる(以後、仮想ハブを動作させる計算機を「サーバ」と称する。)。 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
クライアント153は、仮想イーサネット154を構成する仮想ハブ151に接続する計算機であり、仮想ネットワークインタフェース152を介して仮想ハブ151に接続する。仮想ハブ151は、このように複数のクライアント153とのコネクションを保持する中継ノードとして機能する。サーバ155は、このような仮想ハブ151を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ155と、ネットワーク仮想化装置によって制御される端末であるクライアント153とを合わせてネットワーク仮想化システムと称する。仮想イーサネット154は、一つ又は複数の仮想ハブ151に、それぞれ仮想ネットワークインタフェース152を持った複数のクライアント153が接続することにより構築される。
このような従来の仮想イーサネット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
1. It is difficult to ensure the scalability of the
2. The load on the
3. Management costs such as installation of a plurality of
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
そして、ピアツーピアリンク確立手段によってピアツーピアリンクが確立されたクライアント間の通信が、ピアツーピアリンクを介してなされる。 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
請求項6の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。
In the invention of
請求項7の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、アドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。
In the invention according to
請求項8の発明は、グローバルフロー検出手段は、中継ノード間の通信フローを中継しない中継ノードである2つのリーフノードと、この2つのリーフノード間の全ての中継ノードとにおいて、トラフィック情報に関する同一条件を満足し、かつアドレス情報に関する同一条件を満足する通信フローを検出した場合、この2つのリーフノード間の通信フローをグローバルフローと判定するグローバルフロー判定手段を備えたことを特徴とする請求項1のピアツーピア通信確立装置である。
In the invention of
請求項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
そして、ピアツーピアリンク確立手段によってピアツーピアリンクが確立された中継ノード間の通信が、ピアツーピアリンクを介してなされる。 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
本発明によれば、仮想ハブを経由することなくクライアント間で直接的に通信を行うことにより、トラフィックの最適化を図ることが可能なピアツーピア通信確立装置、方法、及びプログラムを実現することができる。 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
図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
図2、図3、及び図4は、仮想ハブ20、クライアント30、及びネットワーク管理モジュール40それぞれの構成例を示す機能ブロック図である。
2, 3, and 4 are functional block diagrams illustrating configuration examples of the
図1の仮想ハブ20(#1)〜(#4)に示すような仮想ハブ20は、図2に示すように、イーサネットスイッチングハブ21、転送テーブル22、接続リンク制御部23、仮想ポート24、ネットワーク管理インタフェース部25、ピアツーピアリンク制御部26、アンダーレイネットワークプロトコル群27、及び物理ネットワークインタフェース28を備えている。
As shown in FIG. 2, the
イーサネットスイッチングハブ21は、いわゆる一般的なイーサネットスイッチングハブと同様の処理を行なう。
The
転送テーブル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
仮想ポート24は、仮想ハブ20において、通常のイーサネットスイッチングハブの通信ポートに相当する概念であり、論理的なケーブル、つまりアンダーレイネットワークの何らかの手段を用いた他仮想ハブ20、あるいは仮想ネットワークインタフェース32(図3を用いて後述する)との接続の端点である。従って、仮想ポート24は、接続リンク制御部23における、他仮想ハブ20、あるいは自局が収容するクライアント30(特に、仮想ネットワークインタフェース32)とのアンダーレイネットワークでの接続(リンク)の端点を表し、仮想ハブ20内で一意な識別子により区別される。
The
ネットワーク管理インタフェース部25は、他仮想ハブ20、あるいは自局が収容するクライアント30(特に、仮想ネットワークインタフェース32)との接続リンク状態、イーサネットスイッチングハブ21での、それら接続リンク間のトラフィック量、トラフィックのプロトコル、クライアント30のアンダーレイネットワークでの位置関係情報等を収集、管理し、更にネットワーク管理モジュール40へのそれら情報の通知処理を行なう。
The network
ピアツーピアリンク制御部26は、ネットワーク管理インタフェース部25経由でのネットワーク管理モジュール40からの指示により、クライアント30へピアツーピアリンク生成、削除の指示を行なう。
The peer-to-peer
アンダーレイネットワークプロトコル群27は、一般的には、TCP/IP及びそれらを使用する上位プロトコル(例えばHTTP)である。
The underlay
物理ネットワークインタフェース28は、実際の通信に使用される物理的なネットワークインタフェースである。
The
図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 /
アプリケーション/上位プロトコル群31は、仮想ネットワークインタフェース32を使用するユーザアプリケーション、及び、上位プロトコル(例えばTCP/IP、HTTPなど)である。
The application /
仮想ネットワークインタフェース32では、イーサネットフレーム送受信部33が、アプリケーション/上位プロトコル群31からのデータをイーサネットフレームに格納し、接続リンク制御部35へ送出する。また、接続リンク制御部35から受け取ったイーサネットフレームからイーサネットヘッダを除去し、アプリケーション/上位プロトコル群31に渡す。
In the
また仮想ネットワークインタフェース32では、接続リンク制御部35が、仮想ハブ20、あるいは他のクライアント30とのアンダーレイネットワークでの接続(リンク)を保持、制御する部分であり、イーサネットフレーム送受信部33から受け取ったイーサネットフレームを適切なアンダーレイネットワークのリンクへ送出する。また、アンダーレイネットワークから受信したイーサネットフレームをイーサネットフレーム送受信部33へ渡す。
In the
接続リンク制御部35に備えられた仮想ポート36は、接続リンク制御部35における他仮想ハブ20とのアンダーレイネットワークでの接続(リンク)の端点を表し、仮想ネットワークインタフェース32内で一意な識別子により区別される。
The virtual port 36 provided in the connection
送信先管理テーブル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
アンダーレイネットワークプロトコル群37は、一般的には、TCP/IP、及びそれらを使用する上位プロトコル(例えばHTTP)である。
The underlay
物理ネットワークインタフェース38は、実際の通信に使用される物理的なネットワークインタフェースである。
The
図1に示すようなネットワーク管理モジュール40は、本発明のピアツーピア通信確立方法を実行するための例えば磁気ディスク等の記録媒体に記録されたプログラムや、インターネット等の通信ネットワークを介してダウンロードしたプログラムを読み込み、このプログラムによって動作が制御されるコンピュータによって実現される装置である。
The
このプログラムは、ネットワーク管理モジュール40のような計算機(コンピュータ)に実行させることができるものであって、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハ一ドディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納し、またインターネット等の通信媒体により伝送して頒布することもできる。なお、記録媒体に格納されるプログラムは、ネットワーク管理モジュール40のような計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブルやデータ構造も含む)をネットワーク管理モジュール40のような計算機内に構成させる設定プログラムをも含む。そして、本プログラムは、記録媒体から、あるいは通信媒体からネットワーク管理モジュール40のような計算機に読み込まれると、ネットワーク管理モジュール40のような計算機を動作させることによって、情報収集部41、ルートノード決定部42、グローバルフロー検出部43、及びピアツーピアリンク制御部44に処理を実行させる。
This program can be executed by a computer (computer) such as the
情報収集部41は、各仮想ハブ20のネットワーク管理インタフェース部25と通信し、各仮想ハブ20から、他の仮想ハブ20やその仮想ハブ20が収容するクライアント30(特に、仮想ネットワークインタフェース32)との接続リンク状態、イーサネットスイッチングハブ21でのそれら接続リンク間の転送トラフィック量、トラフィックのプロトコル、クライアント30のアンダーレイネットワークでの位置関係情報等を定期的に収集、管理する。また、上記情報から仮想ハブ20、仮想ネットワークインタフェース32の接続トポロジ状態(以後、接続ツリー情報)を作成する。
The
ここで例えば図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
なお、図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
一方、ローカルフローとは、本明細書では、以下の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
第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 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
グローバルフロー検出部43は、ルートノード決定部42によって決定されたルートノードを開始ノードとしてグローバルフローを検出する。この検出方法の詳細は後述する。なお、グローバルフロー検出部43は、特定の仮想ハブ20をルートノードとすることなく、全ての仮想ハブ20をルートノードとして、グローバルフロー検出処理を行なうことも可能である。
The global flow detection unit 43 detects a global flow using the root node determined by the root
ピアツーピアリンク制御部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
一方、グローバルフロー検出部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
図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
以後、クライアント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
同様に、クライアント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
なお、一旦検出されたグローバルフローが、ある条件を満たさなくなった場合、つまりグローバルフローでなくなった場合には、グローバルフロー検出部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
この場合、クライアント30側の処理は、図10のフローチャートに示すように、ネットワーク管理モジュールからの指示受信をトリガとして(S21)、ピアツーピアリンクの削除(S22)、及び送信先管理テーブル34からの該当クライアントのMACアドレスの削除を行なう(S23)。
In this case, as shown in the flowchart of FIG. 10, the processing on the
なお、前述したように、ネットワーク管理モジュール40は、仮想ハブ20や、仮想ネットワークインタフェース32が動作するクライアント30で動作させることも、別の計算機上で動作させる事も可能である。また、ネットワーク管理モジュール40の情報収集部41、ピアツーピアリンク制御部44と各仮想ハブ20のネットワーク管理インタフェース部25、ピアツーピアリンク制御部26間の通信は、アンダーレイネットワークを使用した一般的なもので実現可能であるので、ここではその詳細説明を省略する。
As described above, the
次に、ルートノード決定部42によってなされるルートノード決定方法の3つの例を説明する。
Next, three examples of the root node determination method performed by the root
(ルートノード決定方法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
一例として図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
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
更には、最大ホップ数が、予め定められた閾値を下回る全ての仮想ハブ20をルートノードとすることも可能である。また、ツリーを形成するデータ構造における、各ノード間のホップ数をカウントする方法は一般的なものであるので、ここでは詳細説明を省略する。
Furthermore, all
(ルートノード決定方法2)
ここでは、負荷の高い仮想ハブ20をルートノードとする。
(Root node determination method 2)
Here, the
ネットワーク管理モジュール40のルートノード決定部42は、全ての仮想ハブ20について、収容ノード数、CPU使用率、メモリ使用率、ローカルフローのトラフィック量、ローカルフロー数、ローカルフロー平均負荷(全負荷/ローカルフロー数)、ローカルフローのある特定の上位層プロトコルのトラフィック量等のような負荷情報を調査し、最も負荷の高い仮想ハブ20をルートノードとする。
The root
更には、上記負荷が、予め定められた閾値を上回る全ての仮想ハブ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
(ルートノード決定方法3)
本方法では、リーフノードをルートノードとする。
(Root node determination method 3)
In this method, the leaf node is set as the root node.
ネットワーク管理モジュール40のルートノード決定部42は、全てのリーフノードについて、仮想ポートの負荷(当該仮想ポートにより送受信されるトラフィック量)を調査し、最も負荷の高い仮想ポートを持つリーフノードをルートノードとする。更には、上記負荷が、予め定められた閾値を上回る全てのリーフノードをルートノードとすることも可能である。
The root
例えば、図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
次に、グローバルフロー検出部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
ネットワーク管理モジュール40のグローバルフロー検出部43は、上記ルートノード決定方法1乃至3のうちの何れかの方法で決定されたルートノードを処理開始ノードとして、全てのリーフノード方向へ仮想ハブ20を辿りながら、各仮想ハブ20のルートノード方向の仮想ポートを含むローカルフローと、予め定めたトラフィックに関する条件とを比較し、その条件を満たすならば、そのローカルフローのリーフノード方向の仮想ポートの接続先である仮想ハブ20へと同様の処理を進め、最終的に、2つのリーフノード間に連続したローカルフローが存在すれば、それをグローバルフローと判断する。
The global flow detection unit 43 of the
例えば、図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-
2)次に、上記ローカルフローのリーフノード方向の端点である仮想ポート0、仮想ポート1の接続先の仮想ハブ20(#2)、仮想ハブ20(#5)について、それぞれルートノードである仮想ハブ20(#3)方向の仮想ポート0を含むローカルフローのチェックを行ない、仮想ハブ20(#2)の仮想ポート0−仮想ポート1のペアによるローカルフロー、及び仮想ハブ20(#5)の仮想ポート0−仮想ポート1のペアによるローカルフローが閾値を越えていることを検出する。
2) Next, the
3)同様に、仮想ハブ20(#5)の先の仮想ハブ20(#6)の仮想ポート0−仮想ポート2のペアによるローカルフローが閾値を越えていることを検出する。
3) Similarly, it is detected that the local flow by the virtual port 0-
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-
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
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
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
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-
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-
以上、図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
ネットワーク管理モジュール40のグローバルフロー検出部43は、上記ルートノード決定方法1乃至3のうちの何れかの方法で決定されたルートノードを処理開始ノードとして、全てのリーフノード方向へ仮想ハブ20を辿りながら、各仮想ハブ20のルートノード方向の仮想ポートを含むローカルフローと、そのローカルフローのルートノード方向の仮想ポートの接続先である仮想ハブ20上の前記仮想ハブ20に至るトリガとなったローカルフローとの、MACアドレスのペアの値、及び、その方向が一致したならば、そのローカルフローのリーフノード方向の仮想ポートの接続先である仮想ハブ20へと同様の処理を進め、最終的に、2つのリーフノード間に連続したローカルフローが存在すれば、それをグローバルフローと判断する。
The global flow detection unit 43 of the
例えば、図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
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
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
通常、上記処理は、ルートノードを起点とした再帰的手法により実行される。再帰的処理の中で各仮想ハブに関して実行されるネットワーク管理モジュール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
以上、図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
すなわち、グローバルフロー検出方法1のように、トラフィック情報を元にした場合、上位層プロトコル情報、特にIPアドレス等、エンドエンド情報を参照する場合を除いては、主に仮想ポート間のトラフィックの量のみに着目するだけであり、送信元及び宛先を意識する事はない。つまり、様々な送信元及び宛先が混在したトラフィックをチェックしているため、トラフィックの量によりグローバルフローを検出したとしても、それが、ある特定のエンドエンドのクライアント30間のトラフィックのみを根拠として検出されたとはいい難く、グローバルフローは正確性を欠く恐れがある。逆に、送信元及び宛先が混在したトラフィックを見ているため、多くのクライアント30間でランダムに通信が行なわれている環境などでは、エンドエンドで顕著な傾向を示すフロー、つまり、グローバルフローを見つけ出すことは困難となる(エンドエンドのフローが埋もれる)かもしれない。
That is, when the traffic information is based on the global
一方、グローバルフロー検出方法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
このような上記それぞれの事情を鑑み、本方法では、トラフィック情報及びアドレス情報の双方を用いてグローバルフローを検出する。 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
このようにすることで、確実にエンドエンドのクライアント間のグローバルフローを検出する事が可能になる。 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
従って、本実施の形態に係る本実施の形態に係るピアツーピア通信確立方法によれば、特定の中継ノード群へのトラフィック集中、高負荷を避けることができ、該当中継ノード群、及び、仮想ネットワーク全体のスケーラビリティを確保することが可能となる。また、トラフィックが特定の中継ノード群を経由しないことにより、アンダーレイネットワークへの負荷を軽減することが可能となり、設備投資を抑制することが可能となる。更に、クライアント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
(第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
例えば、図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
(応用技術分野)
本発明のピアツーピア通信確立方法は、上述したような仮想イーサネットだけでなく、あるノードにトラフィックが集中する仮想ネットワーク構築技術に関しても、広く適用が可能である。
(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.
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 ...
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.
前記グローバルフロー検出手段は、
前記中継ノードの全てについて、中継ノード間の通信フローを中継しない中継ノードであるリーフノードの各々に対する到達ホップ数を調査し、最大ホップ数が最も少ない中継ノードか、又は前記最大ホップ数が予め定めた閾値よりも小さい全ての中継ノードであるルートノードを決定するルートノード決定手段と、
前記ルートノード決定手段によって決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って前記リーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、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.
前記グローバルフロー検出手段は、
前記中継ノードの全てについて、負荷が最大である中継ノードか、又は前記負荷が予め定めた閾値より大きい全ての中継ノードであるルートノードを決定するルートノード決定手段と、
前記ルートノード決定手段によって決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、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つの中継ノード間において、少なくとも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.
前記検出する機能は更に、
前記中継ノードの全てについて、中継ノード間の通信フローを中継しない中継ノードであるリーフノードの各々に対する到達ホップ数を調査し、最大ホップ数が最も少ない中継ノードか、又は前記最大ホップ数が予め定めた閾値よりも小さい全ての中継ノードであるルートノードを決定する機能と、
前記決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って前記リーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、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.
前記検出する機能は更に、
前記中継ノードの全てについて、負荷が最大である中継ノードか、又は前記負荷が予め定めた閾値より大きい全ての中継ノードであるルートノードを決定する機能と、
前記決定されたルートノードを開始点として、前記ルートノードから前記仮想ネットワークに沿って、中継ノード間の通信フローを中継しない中継ノードであるリーフノード側へと中継ノードを辿りながら、前記予め定めた基準を満足する通信フローであるグローバルフロー候補を検出して行き、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.
前記複数の中継ノードのうち、ある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.
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)
| 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 |
-
2007
- 2007-05-17 JP JP2007131798A patent/JP4490990B2/en not_active Expired - Fee Related
Cited By (5)
| 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 |