JP4279300B2 - Network virtualization apparatus and network virtualization program - Google Patents

Network virtualization apparatus and network virtualization program Download PDF

Info

Publication number
JP4279300B2
JP4279300B2 JP2006216107A JP2006216107A JP4279300B2 JP 4279300 B2 JP4279300 B2 JP 4279300B2 JP 2006216107 A JP2006216107 A JP 2006216107A JP 2006216107 A JP2006216107 A JP 2006216107A JP 4279300 B2 JP4279300 B2 JP 4279300B2
Authority
JP
Japan
Prior art keywords
network
virtual
connection
data exchange
virtualization apparatus
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.)
Expired - Fee Related
Application number
JP2006216107A
Other languages
Japanese (ja)
Other versions
JP2008042665A (en
Inventor
淳一 中里
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 JP2006216107A priority Critical patent/JP4279300B2/en
Publication of JP2008042665A publication Critical patent/JP2008042665A/en
Application granted granted Critical
Publication of JP4279300B2 publication Critical patent/JP4279300B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、複数の端末とのコネクションを保持するデータ交換ノードを備え、オーバレイネットワークを構築するネットワーク仮想化装置、及びデータ交換ノードに適用されるプログラムに関し、特に、データ交換ノードがネットワーク仮想化装置間にて自律的に分割したり、移動したりすることによって、オーバレイネットワーク上のトラフィックを最適化するネットワーク仮想化装置及びネットワーク仮想化プログラムに関する。   The present invention relates to a network virtualization apparatus that includes a data exchange node that holds connections with a plurality of terminals and constructs an overlay network, and a program applied to the data exchange node. In particular, the data exchange node is a network virtualization apparatus. The present invention relates to a network virtualization apparatus and a network virtualization program that optimize traffic on an overlay network by autonomously dividing or moving between them.

例えば、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 a main virtual network (hereinafter referred to as “virtual network”), a so-called peer-to-peer (hereinafter referred to as “P2P”) network (for example, Non-Patent Documents 1 to 7), There is a virtual local area network (hereinafter referred to as “virtual LAN”).

P2Pネットワークは、現状、ファイル交換(Winny,BitTorrent等)、音声通信(Skype等)などに広く利用されている。その方式により、大きく以下の2つ、すなわち、(1)ホストやコンテンツの探索は特別なサーバに依存するが、最終的なデータの送受信はP2Pのホスト間で行なうものと、(2)データの送受信だけでなく、ホストやコンテンツの探索そのものも、特別なサーバを必要とせず、完全に対等な立場のホスト間で分散協調して行なうものとに分けられる。なお、ホスト、コンテンツの探索に、特定のサーバではないが、特別な役割を果たすホスト群を利用する、上記2つの中間的な方式を用いるものもある。   The P2P network is currently widely used for file exchange (Winny, BitTorrent, etc.), voice communication (Skype, etc.) and the like. Depending on the method, the following two main steps are taken: (1) Host and content search depend on a special server, but final data transmission / reception is performed between P2P 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(例えば、非特許文献8乃至9)がある。Softetherは仮想ネットワークを構築するソフトウェア群である。Softether又はこれに類似したソフトウェアでは、ある特定のホスト上にソフトウェアにて仮想的なイーサネット(登録商標)スイッチングハブ(以後、「仮想ハブ」と称する)が構築される。仮想ネットワークに参加を希望するホストは、同じくソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、前述の仮想ハブにアンダーレイネットワーク(以後、「物理ネットワーク」とも称する)を使用して接続することにより、仮想ネットワークに参加する。   On the other hand, as a typical virtual LAN, there is a Softether (for example, Non-Patent Documents 8 to 9) manufactured by SoftEther Corporation. Softeter is a software group for constructing a virtual network. With Softeter or similar software, a virtual Ethernet (registered trademark) switching hub (hereinafter referred to as “virtual hub”) is constructed by software on a specific host. A host desiring to participate in the virtual network can connect to the above-described virtual hub via the virtual network interface (hereinafter referred to as “virtual network interface”) that is also constructed by software. To join a virtual network by connecting using a network.

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

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

ホスト1906は、仮想ネットワーク1901を構成する仮想ハブ1907の何れかに接続する計算機であり、仮想ネットワークインタフェース1908を介して仮想ハブ1907に接続する。仮想ハブ1907は、このように複数のホスト1906とのコネクションを保持するデータ交換ノードである。コンピュータ1909は、このような仮想ハブ1907を配置するネットワーク仮想化装置である。仮想ネットワーク1901は、一つ又は複数の仮想ハブ1907に、それぞれ仮想ネットワークインタフェース1908を持った複数のホスト1906が接続することにより構築される。   The host 1906 is a computer connected to any one of the virtual hubs 1907 constituting the virtual network 1901, and is connected to the virtual hub 1907 via the virtual network interface 1908. The virtual hub 1907 is a data exchange node that holds connections with a plurality of hosts 1906 in this way. A computer 1909 is a network virtualization apparatus in which such a virtual hub 1907 is arranged. The virtual network 1901 is constructed by connecting a plurality of hosts 1906 each having a virtual network interface 1908 to one or a plurality of virtual hubs 1907.

このような仮想ネットワーク1901の特徴として、以下が挙げられる。
1)仮想ハブ1907の配置場所が固定である(管理者により移動は可能)。
2)仮想ハブ1907の配置個数が固定である(管理者により追加・削除は可能)
3)仮想ネットワーク1901に属するホスト1906間のトラフィックは全て固定の仮想ハブ1907を経由する(管理者又は利用者により変更可能)
4)仮想ネットワーク1901に属するホスト1906と仮想ハブ1907との位置関係はアンダーレイネットワーク1900のトポロジを考慮していない。
電子情報通信学会誌、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 characteristics of the virtual network 1901 include the following.
1) The location of the virtual hub 1907 is fixed (it can be moved by the administrator).
2) The number of virtual hubs 1907 is fixed (can be added / deleted by the administrator)
3) All traffic between hosts 1906 belonging to the virtual network 1901 passes through a fixed virtual hub 1907 (can be changed by an administrator or user)
4) The positional relationship between the host 1906 belonging to the virtual network 1901 and the virtual hub 1907 does not consider the topology of the underlay network 1900.
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 Co., Ltd., UNIX 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

このような従来の仮想ネットワーク1901では、上述したような特徴により、以下のような問題が生じる。   Such a conventional virtual network 1901 has the following problems due to the above-described features.

第一の問題は、トラフィックが非効率的であり、それに伴いアンダーレイネットワーク1900への負荷が増大することである。つまり、データ送受信を行なうホスト1906同士が、例えば、同じアンダーレイネットワーク1900(#2)に属するホスト1906aとホスト1906bのように、たとえ同じアンダーレイネットワーク1900(#2)のトポロジ的に近隣に位置していたとしても、仮想ハブ1907がこれらホスト1906a,1906bからアンダーレイネットワーク1900(#2)のトポロジ的に遠隔に位置している場合、これらホスト1906a,1906b間のトラフィックは、アンダーレイネットワーク1900の観点から、常に長距離を移動することとなり、非常に非効率的となる。これによって、アンダーレイネットワーク1900のリソースを必要以上に浪費し、アンダーレイネットワーク1900への負荷の増大を招く。これは、アンダーレイネットワーク1900への設備投資コストの増加をもたらす。   The first problem is that the traffic is inefficient, which increases the load on the underlay network 1900. That is, the hosts 1906 that perform data transmission / reception are positioned topologically in the vicinity of the same underlay network 1900 (# 2), such as the hosts 1906a and 1906b that belong to the same underlay network 1900 (# 2). If the virtual hub 1907 is located topologically remote from the hosts 1906a and 1906b to the underlay network 1900 (# 2), the traffic between the hosts 1906a and 1906b From this point of view, it always moves a long distance, which is very inefficient. As a result, the resources of the underlay network 1900 are wasted more than necessary, and the load on the underlay network 1900 is increased. This results in an increase in capital investment cost for the underlay network 1900.

第二の問題は、仮想ネットワーク1901の拡張に伴う性能的及び規模的な限界があることと、それに起因して管理の複雑さが増大することである。つまり、仮想ハブ1907に性能容量の限界があるために、仮想ネットワーク1901の拡張可能な規模に制約が生じてしまう。ホスト1906群を他の仮想ハブ(図示せず)へ繋ぎ変えたり、或いは、仮想ハブ1907を増設することにより仮想ネットワーク1901の拡張(接続ホスト1906の数の拡大)が可能だとしても、管理者や利用者によるホスト1906の繋ぎ変え、或いは管理者による新規仮想ハブ(図示せず)の作成、既存の仮想ハブ1907との接続調整などのための設定が必要となり、管理の複雑さが増大し、結果的に、管理コストの増大を招く。   The second problem is that there are performance and scale limitations associated with the expansion of the virtual network 1901 and the management complexity increases accordingly. In other words, since the virtual hub 1907 has a limited performance capacity, the scale of the virtual network 1901 that can be expanded is limited. Even if the host 1906 group can be connected to another virtual hub (not shown), or the virtual network 1901 can be expanded (the number of connected hosts 1906 increased) by adding a virtual hub 1907, the administrator And the user need to change the connection of the host 1906, or the administrator creates a new virtual hub (not shown), adjusts the connection with the existing virtual hub 1907, and the management complexity increases. As a result, the management cost increases.

本発明はこのような事情に鑑みてなされたものであり、仮想ネットワークを構成する仮想ハブが自律的に分割や移動することによって、物理ネットワークへの設備投資のコストの増加や、仮想ネットワークの管理の複雑さを招くこともなく、仮想ネットワーク上のトラフィックの最適化を図ることが可能なネットワーク仮想化装置及びネットワーク仮想化プログラムを提供することを目的とする。   The present invention has been made in view of such circumstances, and the virtual hubs constituting the virtual network are autonomously divided and moved, thereby increasing the cost of capital investment in the physical network and managing the virtual network. An object of the present invention is to provide a network virtualization apparatus and a network virtualization program capable of optimizing traffic on a virtual network without incurring the complexity of the network.

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

すなわち、請求項1の発明は、予め構築され、それぞれ一つ以上の端末が接続された複数の物理ネットワーク上に、ソフトウェアによって仮想的にネットワークを構築するネットワーク仮想化装置である。このネットワーク仮想化装置は、構築された仮想ネットワークに対する各端末の接続を管理するデータ交換ノードを備えている。そして、データ交換ノードは更に、各端末それぞれに対して予め割り当てられ、物理ネットワーク上において各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、指定された物理ネットワークアドレスによって特定された端末との物理ネットワークを介したコネクションを確立し、保持する手段と、仮想ネットワーク上において各端末をそれぞれ特定するための仮想ネットワークアドレスとコネクションとのマッピング情報を記憶する手段と、他ネットワーク仮想化装置に含まれる他データ交換ノードとの物理ネットワークを介したコネクションを確立し、保持する手段と、仮想ネットワークアドレスが指定されると、マッピング情報に基づいて、指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、仮想ネットワークを介して通信する手段と、予め定めた解除基準を超えた場合には、保持している物理ネットワークを介したコネクションのうちの何れかを解除し、解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段とを備えている。 That is, the invention of claim 1 is a network virtualization apparatus that constructs a network virtually by software on a plurality of physical networks that are constructed in advance and each connected with one or more terminals. The network virtualization apparatus includes a data exchange node that manages connection of each terminal to the constructed virtual network. The data exchange node is further assigned in advance to each terminal, and when a physical network address for specifying each terminal on the physical network is specified, the terminal specified by the specified physical network address Means for establishing and holding a connection via a physical network, means for storing mapping information between a virtual network address and a connection for identifying each terminal on the virtual network, and other network virtualization apparatus When a means for establishing and maintaining a connection with the other data exchange node included and the virtual network address is designated, a connection mapped to the designated virtual network address is specified based on the mapping information. The means connected to the terminal connected by the specified connection, the means for communicating via the virtual network, and the connection of the physical network held when the predetermined release criterion is exceeded. And a means for releasing any one of them and holding the released connection in another data exchange node included in another network virtualization apparatus.

請求項2の発明は、請求項1に記載のネットワーク仮想化装置において、予め定めた解除基準を超えた場合とは、保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、データ交換ノードの負荷が、予め定めた基準値を超えた場合のうちの何れかの場合である。   The invention according to claim 2 is the network virtualization apparatus according to claim 1, wherein the case where a predetermined release criterion is exceeded means that the traffic volume per unit time among the connections through the held physical network However, when the amount exceeds a predetermined amount, the number of terminals belonging to the same physical network exceeds a predetermined number, or the load of the data exchange node exceeds a predetermined reference value Either case.

請求項3の発明は、請求項1又は請求項2に記載のネットワーク仮想化装置において、データ交換ノードは更に、他ネットワーク仮想化装置が複数存在する場合、解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段は更に、複数存在する他ネットワーク仮想化装置のうち、保持させる他データ交換ノードを含む他ネットワーク仮想化装置を、予め定めた選択基準に基づいて選択する手段を備えている。そして、予め定めた選択基準とは、他データ交換ノードが、解除されたコネクションを保持した場合、解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、解除されたコネクションによって接続された端末との物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する。   According to a third aspect of the present invention, in the network virtualization apparatus according to the first or second aspect, in the case where there are a plurality of other network virtualization apparatuses, the data exchange node further disconnects the released connection from the other network virtualization apparatus. Further, the means for holding in the other data exchange node further selects another network virtualization apparatus including the other data exchange node to be held among a plurality of other network virtualization apparatuses based on a predetermined selection criterion. Means. The predetermined selection criterion is a data exchange node that minimizes the data transfer cost with the terminal connected by the released connection when the other data exchange node holds the released connection. Or a network virtualization device that minimizes the distance in the physical network to the terminal connected by the released connection.

請求項4の発明は、請求項1乃至3のうち何れか1項の発明のネットワーク仮想化装置において、データ交換ノードは更に、解除されたコネクションが、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持された後、解除されたコネクション以外のコネクションの保持を継続するか、又は解除されたコネクション以外のコネクションを全て解除し、これら解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させるか否かを、予め定めた判定基準に基づいて判定する手段を備える。そして、判定基準は、解除されたコネクションの解除される前におけるトラフィック量の、データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、解除されたコネクションに接続された端末数の、解除される前にデータ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準のうちの何れかである。   According to a fourth aspect of the present invention, in the network virtualization apparatus according to any one of the first to third aspects, the data exchange node further includes another data exchange in which the released connection is included in the other network virtualization apparatus. Continue to hold connections other than the released connection after being held in the node, or release all connections other than the released connection, and release these released connections to other data included in other network virtualization devices. Means is provided for determining whether to hold the exchange node based on a predetermined criterion. The criterion is that the ratio of the traffic volume before cancellation of the released connection to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value. The first criterion to continue if not exceeded, the number of terminals connected to the released connection, connected to the virtual network held by the data exchange node before being released If the ratio to the total number of terminals exceeds a predetermined value, all of them are released, and if the ratio does not exceed the second determination criterion, the load of the released connection before being released is predetermined. Any of the third criteria that are canceled when the reference value is exceeded and are continued when the reference value is not exceeded .

請求項5の発明は、請求項1乃至4のうち何れか1項の発明のネットワーク仮想化装置において、データ交換ノードは更に、予め定めた解除基準を超えた場合であっても、保持させる手段が解除すべきコネクションを、他データ交換ノードに保持させることによって、他データ交換ノードを含む他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、他データ交換ノードを含む他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合のうちの何れかの場合には、保持させる手段に対してコネクションを解除させない手段を備えた。   According to a fifth aspect of the present invention, in the network virtualization apparatus according to any one of the first to fourth aspects of the present invention, the data exchange node further holds the data exchange node even when a predetermined release criterion is exceeded. In the first case, the load of the other network virtualization apparatus including the other data exchange node exceeds the predetermined reference value by holding the connection to be released by the other data exchange node. The total number of terminals connected to the virtual network held by the other network virtualization apparatus including the node or the number of other data exchange nodes included in the other network virtualization apparatus exceeds a predetermined reference value. In the case of the third case, the total number of terminals connected to the virtual network held by the other data exchange node exceeds the predetermined reference value. In the case of one of the provided with means not to release the connection to means for holding.

請求項6乃至10の発明は、請求項1乃至5のネットワーク仮想化装置のそれぞれを実現するためのプログラムである。   The inventions according to claims 6 to 10 are programs for realizing each of the network virtualization apparatuses according to claims 1 to 5.

本発明によれば、仮想ネットワークを構成する仮想ハブが、ネットワーク環境や、トラフィック量等に応じて、自律的に分割や移動することができる。   According to the present invention, the virtual hub constituting the virtual network can be autonomously divided or moved according to the network environment, traffic volume, and the like.

以上により、物理ネットワークへの設備投資のコストの増加や、仮想ネットワークの管理の複雑さを招くこともなく、仮想ネットワーク上のトラフィックの最適化を図ることが可能なネットワーク仮想化装置及びネットワーク仮想化プログラムを実現することができる。   As described above, the network virtualization apparatus and the network virtualization capable of optimizing the traffic on the virtual network without increasing the cost of capital investment in the physical network and incurring the complexity of the management of the virtual network. A program can be realized.

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

[全体構成]
図1は、本発明の実施の形態に係るネットワーク仮想化装置によって構築される仮想ネットワークの一般的な構成を示す概念図である。なお、以後の説明では、物理ネットワーク(アンダーレイネットワーク)11はTCP/IPネットワークであることを前提として説明する。現在、企業や通信事業者では、ほぼこのTCP/IPネットワークが使用されているといっても差し支えない。TCP/IPネットワークは、後述するルータ12、ファイアウォール13、リンク層の通信装置(イーサネットならばイーサネットスイッチングハブ14等)により構成される。ルータ12は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール13は、企業ネットワーク等の内部ネットワーク15と、インターネット等の外部ネットワーク16との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明は割愛する。
[overall structure]
FIG. 1 is a conceptual diagram showing a general configuration of a virtual network constructed by a network virtualization apparatus according to an embodiment of the present invention. In the following description, it is assumed that the physical network (underlay network) 11 is a TCP / IP network. At present, it can be said that almost all TCP / IP networks are used by companies and carriers. The TCP / IP network includes a router 12, a firewall 13, and a link layer communication device (such as an Ethernet switching hub 14 for Ethernet), which will be described later. The router 12 is a network layer device that constitutes a TCP / IP network, and is a general device. Therefore, detailed description thereof is omitted here. The firewall 13 is a security device installed at the boundary between an internal network 15 such as a corporate network and an external network 16 such as the Internet, and since it is a general device, its detailed description is omitted here. .

ホスト17は、仮想ネットワーク10を構成する仮想ハブ18のいずれかに接続する計算機であり、仮想ネットワークインタフェース19を介して仮想ハブ18に接続する。詳細は後述する。   The host 17 is a computer connected to any one of the virtual hubs 18 constituting the virtual network 10, and is connected to the virtual hub 18 via the virtual network interface 19. Details will be described later.

仮想ネットワークインタフェース未対応ホスト20は、仮想ネットワークインタフェース19が搭載されていないホストである。これらのホスト20は、特殊なソフトウェアである仮想ネットワークインタフェース19を搭載する必要が無い反面、仮想ハブ18に接続する何らかの手段が別途必要である。   The virtual network interface incompatible host 20 is a host on which the virtual network interface 19 is not mounted. These hosts 20 do not need to be equipped with the virtual network interface 19 that is special software, but need some means for connecting to the virtual hub 18.

図1中では、一般的なPPPoE、SSL−VPNを用いて仮想ハブ18に接続する形態と、一つの実施例であるネットワーク仮想化装置21が提供する特別なイーサネットポートに直結する形で、仮想ハブ18に接続する形態を例として示している。以下に、ネットワーク仮想化装置21の特別なイーサネットポートに関して述べる。   In FIG. 1, a virtual PPP 18 is connected to a virtual hub 18 using general PPPoE and SSL-VPN, and a virtual Ethernet 18 provided by the network virtualization apparatus 21 according to one embodiment is directly connected to the virtual hub 18. A mode of connecting to the hub 18 is shown as an example. The special Ethernet port of the network virtualization apparatus 21 will be described below.

ネットワーク仮想化装置21は、仮想ハブ18を配置する装置であり、専用装置であることも、汎用の計算機(Windows(登録商標)やUNIX(登録商標)が稼働する計算機)であることも可能である。一つのネットワーク仮想化装置21には複数の仮想ハブ18を配置することも可能であり、通常、それらの仮想ハブ18は異なる仮想ネットワーク10に属する。同一仮想ネットワーク10に属すこともできるが、運用上のメリットは無い。   The network virtualization device 21 is a device in which the virtual hub 18 is arranged, and can be a dedicated device or a general-purpose computer (a computer on which Windows (registered trademark) or UNIX (registered trademark) operates). is there. It is possible to arrange a plurality of virtual hubs 18 in one network virtualization apparatus 21, and these virtual hubs 18 usually belong to different virtual networks 10. Although it can belong to the same virtual network 10, there is no operational advantage.

なお、ネットワーク仮想化装置21には、仮想ネットワークインタフェース未対応ホスト20を、ルータ12を介さずに直接収容するための特別なイーサネットポートを持つことができる。この特別なイーサネットポートに収容されるイーサネット上のホストは、ある仮想ハブ18を介して仮想ネットワーク10に収容される形となる。仮想ハブ18は、本実施の形態の中心的役割を担うものであり、詳細は後述する。   The network virtualization apparatus 21 can have a special Ethernet port for directly accommodating the host 20 that does not support the virtual network interface without using the router 12. The host on the Ethernet accommodated in this special Ethernet port is accommodated in the virtual network 10 via a certain virtual hub 18. The virtual hub 18 plays a central role in the present embodiment, and details will be described later.

仮想イーサネットコネクションAは、ホスト17と仮想ハブ18(具体的には、後述する仮想ハブ18の仮想イーサネットポート)間を接続する仮想的なイーサネットの線であり、TCP/IPネットワーク上に何らかの方法で実現される。実現方法は本発明の特徴的な部分ではないため、ここではその詳細な説明を割愛するが、UNIX等の一般的なOSにおけるいくつかの実装例を後述する。   The virtual Ethernet connection A is a virtual Ethernet line that connects the host 17 and the virtual hub 18 (specifically, a virtual Ethernet port of the virtual hub 18 to be described later), and is connected to the TCP / IP network by some method. Realized. Since the implementation method is not a characteristic part of the present invention, a detailed description thereof is omitted here, but some implementation examples in a general OS such as UNIX will be described later.

また、仮想イーサネットコネクションAは、仮想ハブ18間を接続する概念でもあり、仮想ハブ18は、仮想ハブ18の分割・移動処理時に、仮想ハブ18間の仮想イーサネットコネクションAの接続を変更する必要がある。しかし、これは、通常のイーサネットスイッチングハブ14を接続するのと同等の機能であるのでここでは詳細に述べない。   The virtual Ethernet connection A is also a concept for connecting the virtual hubs 18, and the virtual hub 18 needs to change the connection of the virtual Ethernet connection A between the virtual hubs 18 when the virtual hub 18 is divided and moved. is there. However, this is a function equivalent to connecting a normal Ethernet switching hub 14 and will not be described in detail here.

[ホスト及びネットワーク仮想化装置の構成]
ホスト17及びネットワーク仮想化装置21の詳細な機能ブロック図を図2に示す。以下、ホスト17及びネットワーク仮想化装置21に配置される仮想ハブ18の詳細をそれぞれ記す。
[Configuration of host and network virtualization device]
A detailed functional block diagram of the host 17 and the network virtualization apparatus 21 is shown in FIG. Hereinafter, details of the virtual hub 18 arranged in the host 17 and the network virtualization apparatus 21 will be described.

(ホスト)
ホスト17は、TCP/IPネットワークにて通信を行なうためのネットワークインタフェースである物理ネットワークインタフェース23だけでなく、仮想ハブ18に接続するため(仮想ネットワーク10にて通信を行なうため)のネットワークインタフェースである仮想ネットワークインタフェース19、及びそれを制御するための仮想ネットワークインタフェース制御モジュール24を持つ。
(host)
The host 17 is not only a physical network interface 23 that is a network interface for performing communication on the TCP / IP network, but also a network interface for connecting to the virtual hub 18 (for performing communication on the virtual network 10). A virtual network interface 19 and a virtual network interface control module 24 for controlling the virtual network interface 19 are provided.

仮想ネットワークインタフェース19は、仮想ハブ18との仮想イーサネットコネクションAを生成、保持する。ホスト17上で動作するアプリケーションプログラムや、ホスト17のOS内のTCP/IPプロトコルからは、仮想ネットワークインタフェース19は物理ネットワークインタフェース23と同じように見え、IP層の経路制御により、いずれのネットワークインタフェースが使用されるかが決定される。   The virtual network interface 19 generates and holds a virtual Ethernet connection A with the virtual hub 18. From the application program running on the host 17 and the TCP / IP protocol in the OS of the host 17, the virtual network interface 19 looks the same as the physical network interface 23, and any network interface is controlled by IP layer routing. It is determined whether it will be used.

仮想ネットワークインタフェース制御モジュール24は、仮想ハブ18との仮想イーサネットコネクションAの生成の制御などの処理を行なう。   The virtual network interface control module 24 performs processing such as control of generation of the virtual Ethernet connection A with the virtual hub 18.

(ネットワーク仮想化装置)
ネットワーク仮想化装置21は、システム制御モジュール201、システム情報テーブル202、及び仮想ハブ18を備えている。以下に、システム制御モジュール201及びシステム情報テーブル202の処理内容、及び、テーブルのデータ構成例を記す。なお、仮想ハブについては、次項にて説明する。
(Network virtualization device)
The network virtualization apparatus 21 includes a system control module 201, a system information table 202, and a virtual hub 18. Hereinafter, processing contents of the system control module 201 and the system information table 202, and a data configuration example of the table will be described. The virtual hub will be described in the next section.

システム制御モジュール201は、ネットワーク仮想化装置21全体の制御を行なうモジュールで、以下の処理を行なう。
・自装置21、自装置21が収容する仮想ハブ18、及びホスト17に関する情報の収集を行う。すなわち、自装置21に収容する仮想ハブ18の情報は、後述の通り、各仮想ハブ18が収集し、ホスト情報テーブル183に保持する。更にその情報をシステム制御モジュール201が各仮想ハブ18から収集し、集中管理する。
・同一管理ドメイン内の他ネットワーク仮想化装置21aとの情報交換を行う。すなわち、システム情報交換メッセージの交換により、自装置21が収集した情報を他装置21aに通知し、他装置21aが収集した情報を獲得する。
・上記収集した自装置21、並びに同一管理ドメイン内の他装置21aの情報をシステム情報テーブル202にて管理する。
・仮想ハブ18の生成、削除などを行う。
The system control module 201 is a module that controls the entire network virtualization apparatus 21 and performs the following processing.
Collect information about the own device 21, the virtual hub 18 accommodated in the own device 21, and the host 17. That is, the information of the virtual hubs 18 accommodated in the own device 21 is collected by each virtual hub 18 and held in the host information table 183 as described later. Further, the system control module 201 collects the information from each virtual hub 18 and centrally manages it.
Exchange information with other network virtualization apparatus 21a in the same management domain. That is, by exchanging system information exchange messages, the information collected by the own device 21 is notified to the other device 21a, and the information collected by the other device 21a is acquired.
The system information table 202 manages the collected information about the own device 21 and the other device 21a in the same management domain.
-Creation, deletion, etc. of the virtual hub 18 are performed.

次に、システム情報テーブル202について説明する。図3は、システム情報テーブル202のフォーマットの一例を示す模式図である。すなわち、システム情報テーブル202は、ネットワーク仮想化装置情報301と、仮想ハブ情報310とを含んでいる。   Next, the system information table 202 will be described. FIG. 3 is a schematic diagram illustrating an example of the format of the system information table 202. That is, the system information table 202 includes network virtualization apparatus information 301 and virtual hub information 310.

ネットワーク仮想化装置情報301は、アンダーレイネットワークのIPアドレス/ネットマスク情報302と、収容仮想ハブ数303と、収容仮想ネットワーク数304と、システム負荷情報305とを含んでいる。更に、システム負荷情報305は、CPU利用率306、メモリ利用率307、仮想ハブ毎のトラフィック309、総トラフィック308を含んでいる。   The network virtualization apparatus information 301 includes the IP address / netmask information 302 of the underlay network, the accommodated virtual hub number 303, the accommodated virtual network number 304, and the system load information 305. Further, the system load information 305 includes a CPU usage rate 306, a memory usage rate 307, traffic 309 for each virtual hub, and total traffic 308.

仮想ハブ情報310は、収容ホスト数311と、仮想ハブと各ホスト間とのコスト312とを含んでいる。更に、コスト312は、ホスト312aと、ラウンドトリップタイム312bと、ホップ数312cとを含んでいる。   The virtual hub information 310 includes the number of accommodated hosts 311 and the cost 312 between the virtual hub and each host. Further, the cost 312 includes a host 312a, a round trip time 312b, and a hop count 312c.

(仮想ハブ)
図2に示すように、仮想ハブ18は、複数の仮想イーサネットポート187を有する仮想イーサネットポート制御モジュール186と、仮想イーサネットスイッチモジュール185と、仮想ハブ制御モジュール181と、MACアドレス学習テーブル182と、ホスト情報テーブル183と、ポート間トラフィックテーブル184とを含んでいる。
(Virtual hub)
As shown in FIG. 2, the virtual hub 18 includes a virtual Ethernet port control module 186 having a plurality of virtual Ethernet ports 187, a virtual Ethernet switch module 185, a virtual hub control module 181, a MAC address learning table 182 and a host. An information table 183 and an interport traffic table 184 are included.

ホスト情報テーブル183は、そのデータ構成例を図4に示すように、自仮想ハブ18が収容するホストの情報を保持している。すなわち、ホスト情報テーブル183は、仮想ネットワークインタフェース19のMACアドレス183a、ホスト17を収容する仮想イーサネットポート187(仮想イーサネットポート制御モジュール186内にある)の仮想イーサネットポート識別子183b、仮想ハブ18と該当ホスト17間のラウンドトリップタイム183c、仮想ハブ18と該当ホスト17間のホップ数(経由ルータ数)183d、該当ホスト17へのアンダーレイネットワークのIPパケットを送信する次ホップのゲートウェイを表すフォワーディング情報183e、該当ホスト17のアンダーレイネットワークのIPアドレス/ネットマスク情報183fを含む。これら情報は、仮想ハブ18の分割や移動処理時に使用される。   As shown in FIG. 4, the host information table 183 holds information on the hosts accommodated by the own virtual hub 18 as shown in FIG. 4. That is, the host information table 183 includes the MAC address 183a of the virtual network interface 19, the virtual Ethernet port identifier 183b of the virtual Ethernet port 187 (in the virtual Ethernet port control module 186) that accommodates the host 17, the virtual hub 18 and the corresponding host. A round trip time 183c between the virtual hub 18 and the host 17 (forwarding router number) 183d, forwarding information 183e indicating the next hop gateway for transmitting the IP packet of the underlay network to the host 17; The IP address / netmask information 183f of the underlay network of the host 17 is included. These pieces of information are used when the virtual hub 18 is divided or moved.

ポート間トラフィックテーブル184は、各仮想イーサネットポート187間のトラフィック量を保持するテーブルである。   The inter-port traffic table 184 is a table that holds the traffic amount between the virtual Ethernet ports 187.

仮想イーサネットポート187は、ホスト17の仮想ネットワークインタフェース19との仮想イーサネットコネクションAを保持するための仮想的なイーサネットポートであり、仮想イーサネットコネクションAの仮想ハブ18側の端点と見なすことができる。各仮想イーサネットポート187には、仮想イーサネットポート識別子183bが付与され、それにより識別される。   The virtual Ethernet port 187 is a virtual Ethernet port for holding a virtual Ethernet connection A with the virtual network interface 19 of the host 17 and can be regarded as an end point on the virtual hub 18 side of the virtual Ethernet connection A. Each virtual Ethernet port 187 is assigned a virtual Ethernet port identifier 183b and is identified thereby.

MACアドレス学習テーブル182は、通常のイーサネットスイッチングハブ14と同様、受信イーサネットフレームの送信元MACアドレスと受信ポートとのマッピングを保持するテーブルである。通常のイーサネットスイッチングハブ14では、受信イーサネットフレームの送信元MACアドレスとのマッピングは受信ポートであるが、本実施の形態においては、送信元MACアドレス183aと仮想イーサネットポート識別子183bとのマッピングとなる。   The MAC address learning table 182 is a table that holds the mapping between the transmission source MAC address of the received Ethernet frame and the reception port, similarly to the normal Ethernet switching hub 14. In the normal Ethernet switching hub 14, the mapping of the received Ethernet frame to the transmission source MAC address is a reception port, but in the present embodiment, the mapping is a transmission source MAC address 183a and a virtual Ethernet port identifier 183b.

仮想イーサネットポート制御モジュール186は、ホスト17、又は他仮想ハブ18aからの接続要求を受け付け、ユーザ認証、その他通信路暗号化方法などの調整を行なう。その結果、接続が完了すると、ホスト17の仮想ネットワークインタフェース19との間、又は他仮想ハブ18aとの間の仮想イーサネットコネクションAを保持するための仮想イーサネットポート187を生成し、仮想イーサネットポート識別子183bを付与する。更に、ホスト17から接続要求を受けた場合には、そのホスト17に関するエントリをホスト情報テーブル183に作成し、接続要求に格納されているホスト17のネットワークアドレス、ネットマスク情報などをホスト情報テーブル183に保存する。また、各仮想イーサネットポート187からのイーサネットフレーム受信時には、MACアドレス183aの学習を行なう。すなわち、受信イーサネットフレームの送信元MACアドレスと、該当イーサネットフレームを受信した仮想ネットワークポート(仮想イーサネットポート識別子183b)187のマッピングをMACアドレス学習テーブル182に書き込む。   The virtual Ethernet port control module 186 receives a connection request from the host 17 or another virtual hub 18a, and adjusts user authentication and other communication path encryption methods. As a result, when the connection is completed, a virtual Ethernet port 187 for holding the virtual Ethernet connection A with the virtual network interface 19 of the host 17 or with the other virtual hub 18a is generated, and the virtual Ethernet port identifier 183b is generated. Is granted. Further, when a connection request is received from the host 17, an entry related to the host 17 is created in the host information table 183, and the network address, netmask information, etc. of the host 17 stored in the connection request are stored in the host information table 183. Save to. Further, when receiving an Ethernet frame from each virtual Ethernet port 187, the MAC address 183a is learned. That is, the mapping between the source MAC address of the received Ethernet frame and the virtual network port (virtual Ethernet port identifier 183b) 187 that has received the corresponding Ethernet frame is written in the MAC address learning table 182.

仮想イーサネットスイッチモジュール185は、基本的には、一般的なイーサネットスイッチングハブ14と同様の処理を行なう。つまり、イーサネットフレームを受信すると(仮想イーサネットポート制御モジュール186からイーサネットフレームを受け取ると)、該当イーサネットフレームのヘッダの宛先MACアドレスとMACアドレス学習テーブル182の情報から、出力先仮想イーサネットポート187を決定し、該当イーサネットフレームをその仮想イーサネットポート187に出力する(出力先仮想ネットワークポート情報(仮想イーサネットポート識別子183b)をパラメータとして、該当イーサネットフレームを仮想イーサネットポート制御モジュール186へ渡す)。更に、上記処理に伴い、各仮想イーサネットポート187間の単位時間当たりのトラフィックを計測し、ポート間トラフィックテーブル184に保存する。   The virtual Ethernet switch module 185 basically performs the same processing as the general Ethernet switching hub 14. That is, when an Ethernet frame is received (when an Ethernet frame is received from the virtual Ethernet port control module 186), the output destination virtual Ethernet port 187 is determined from the destination MAC address of the header of the corresponding Ethernet frame and the information in the MAC address learning table 182. The corresponding Ethernet frame is output to the virtual Ethernet port 187 (the corresponding Ethernet frame is passed to the virtual Ethernet port control module 186 using the output destination virtual network port information (virtual Ethernet port identifier 183b) as a parameter). Further, in accordance with the above processing, the traffic per unit time between the virtual Ethernet ports 187 is measured and stored in the inter-port traffic table 184.

仮想ハブ制御モジュール181は、仮想ハブ18の分割や移動の制御を行なう。具体的には、ホスト情報テーブル183のラウンドトリップタイム183c、ホップ数183d、フォワーディング情報183e、IPアドレス/ネットマスク情報183fの収集及び設定を行う。また、仮想イーサネットスイッチモジュール185がスイッチング処理に伴い収集し、ポート間トラフィックテーブル184に格納したポート間トラフィック情報を監視する。そして、これらの情報に基づき、必要に応じて仮想ハブ18の分割、又は移動処理を開始する。また、自仮想ハブ18の削除処理も行なう。例えば、予め定められた期間、収容するホスト17が存在しない場合には、自身の処理を終了する。   The virtual hub control module 181 controls the division and movement of the virtual hub 18. Specifically, the round trip time 183c, the number of hops 183d, the forwarding information 183e, and the IP address / netmask information 183f are collected and set in the host information table 183. Further, the virtual Ethernet switch module 185 monitors the inter-port traffic information collected by the switching process and stored in the inter-port traffic table 184. Then, based on these pieces of information, division or movement processing of the virtual hub 18 is started as necessary. Also, the deletion process of the own virtual hub 18 is performed. For example, if there is no host 17 to be accommodated for a predetermined period of time, the processing of itself is terminated.

[処理詳細]
以下、仮想イーサネットコネクションAの生成(仮想ネットワークインタフェース19による仮想ハブ18への接続)、仮想ハブ18による分割・移動処理のための情報収集、仮想ハブ18の分割・移動処理に関し、順に詳細を述べ、最後に、具体的なネットワーク構成に基づいて、仮想ハブ18の分割・移動処理の例を記す。
[Process Details]
Hereinafter, the details of the generation of the virtual Ethernet connection A (connection to the virtual hub 18 by the virtual network interface 19), the information collection for the division / movement processing by the virtual hub 18, and the division / movement processing of the virtual hub 18 will be described in order. Finally, an example of the division / movement processing of the virtual hub 18 will be described based on a specific network configuration.

(仮想ネットワークコネクションの生成)
仮想イーサネットコネクションAは、ホスト17と仮想ハブ18との間、仮想ハブ18と仮想ハブ18との間で生成、保持されるものであるが、ここでは、前者の場合のみについて述べる。
(Create virtual network connection)
The virtual Ethernet connection A is generated and held between the host 17 and the virtual hub 18 and between the virtual hub 18 and the virtual hub 18, but only the former case will be described here.

1.仮想ハブ18への接続(仮想イーサネットコネクションAの生成)は、以下の場合に行なわれる。
・ホスト17のユーザが、仮想ネットワークインタフェース制御モジュール24を使用して仮想ハブ18への接続要求を手動で出す場合。
・ホスト17のOS起動時の一連の処理の中で、コンフィグレーションに基づいて仮想ネットワークインタフェース制御モジュール24が呼び出され、接続要求を自動で出す場合。
・ホスト17の仮想ハブ18間の移動処理(繋ぎ替え処理)時、移動元の仮想ハブ18の仮想ハブ制御モジュール181がホスト17へ移動要求を出す場合。
1. Connection to the virtual hub 18 (generation of the virtual Ethernet connection A) is performed in the following cases.
A user of the host 17 manually issues a connection request to the virtual hub 18 using the virtual network interface control module 24.
A case in which the virtual network interface control module 24 is called based on the configuration and automatically issues a connection request during a series of processing when the OS of the host 17 is activated.
A case where the virtual hub control module 181 of the source virtual hub 18 issues a movement request to the host 17 during the movement processing (reconnection processing) between the virtual hubs 18 of the host 17.

2.接続要求のパラメータは以下の通りである。
・物理ネットワーク11での仮想ハブ18のIPアドレスである接続先IPアドレス(接続先仮想ハブ18のIPアドレス)。
・認証方法、及び、認証パラメータ(ユーザ名、パスワードなど)
・物理ネットワーク11でのホスト自身のIPアドレス/ネットマスクであるホスト自身のIPアドレス/ネットマスク情報。
・その他、通信路暗号化プロトコルやキープアライブ時間(無通信時の接続切断などに使用)等。
2. The connection request parameters are as follows.
A connection destination IP address that is an IP address of the virtual hub 18 in the physical network 11 (IP address of the connection destination virtual hub 18).
・ Authentication method and authentication parameters (user name, password, etc.)
Host IP address / netmask information that is the host's own IP address / netmask in the physical network 11
・ Other communication channel encryption protocol and keep-alive time (used for disconnection when there is no communication), etc.

3.仮想ネットワークインタフェース制御モジュール24から仮想ハブ18への接続要求を受け取った仮想ネットワークインタフェース19は、TCP/IP以下のプロトコルを使用し、接続先の仮想ハブ18と物理ネットワーク11を使用して通信を行ない、ユーザ認証、通信路暗号化プロトコルその他のパラメータの調整、自身のネットワークアドレス、ネットマスク情報の送信などを行なった後、ホスト17と仮想ハブ18の間に仮想イーサネットコネクションAを作成、保持する。   3. The virtual network interface 19 that has received a connection request from the virtual network interface control module 24 to the virtual hub 18 uses the protocol below TCP / IP to communicate with the connection destination virtual hub 18 and the physical network 11. After performing user authentication, adjustment of communication path encryption protocol and other parameters, transmission of its own network address and netmask information, a virtual Ethernet connection A is created and held between the host 17 and the virtual hub 18.

4.仮想ネットワークインタフェース19によりホスト17、仮想ハブ18間に仮想イーサネットコネクションAが作成されたことにより、ホスト17上のアプリケーションプログラムは、同一仮想ネットワーク上に属する他ホスト17と、そのホスト17のイーサネットアドレス(仮想イーサネット上のネットワークアドレス)を指定することにより、イーサネットレベルでの通信が可能となる。なお、仮想ネットワーク10上でTCP/IPにて通信を行なう場合は、別途、IPアドレス(仮想ネットワーク10上で動作するTCP/IPネットワークのIPアドレス)が必要となるが、IPアドレスの割り当て方法は一般的なものであるので、ここではその説明を省略する。   4). Since the virtual Ethernet connection A is created between the host 17 and the virtual hub 18 by the virtual network interface 19, the application program on the host 17 and another host 17 belonging to the same virtual network and the Ethernet address ( By specifying the network address on the virtual Ethernet), communication at the Ethernet level becomes possible. In addition, when performing communication by TCP / IP on the virtual network 10, an IP address (IP address of a TCP / IP network operating on the virtual network 10) is required separately. Since it is general, its description is omitted here.

(仮想ハブによる情報収集)
仮想ハブ18の仮想ハブ制御モジュール181、及び仮想イーサネットスイッチモジュール185は、分割や移動処理のための以下に示す各種情報(ラウンドトリップタイム、ホップ数、仮想イーサネットポート間トラフィック)を収集、保存する。また、収集した情報を自身が属するネットワーク仮想化装置21のシステム制御モジュール201に通知する。以下、各種情報について補足する。
(Information collection by virtual hub)
The virtual hub control module 181 and the virtual Ethernet switch module 185 of the virtual hub 18 collect and store various information (round trip time, number of hops, traffic between virtual Ethernet ports) shown below for division and movement processing. Also, the collected information is notified to the system control module 201 of the network virtualization apparatus 21 to which it belongs. In the following, various information will be supplemented.

・ラウンドトリップタイム
仮想ハブ制御モジュール181は、各仮想イーサネットポート187(仮想イーサネットコネクションA)に対して、定期的に、又は分割や移動先の決定時に、ラウンドトリップタイム計測パケットを送出し、規定回数分の平均値(例えば10回分の平均値)をホスト情報テーブル183に保存する。
・ Round trip time
The virtual hub control module 181 sends a round trip time measurement packet to each virtual Ethernet port 187 (virtual Ethernet connection A) periodically or at the time of determination of division or movement destination, and an average value for a specified number of times. (For example, the average value for 10 times) is stored in the host information table 183.

・ホップ数
仮想ハブ制御モジュール181は、各仮想イーサネットポート187(仮想イーサネットコネクションA)のアンダーレイネットワークのIPアドレスに対して、定期的に、又は分割や移動先の決定時に、ホップ数計測パケットを送出し、得られたホップ数(ホスト17−仮想ハブ18間のルータ数)をホスト情報テーブル183に保存する。
・ Hop count
The virtual hub control module 181 sends a hop count measurement packet to the IP address of the underlay network of each virtual Ethernet port 187 (virtual Ethernet connection A) periodically or at the time of division or movement destination determination. The obtained number of hops (number of routers between the host 17 and the virtual hub 18) is stored in the host information table 183.

・仮想ネットワークポート間トラフィック
仮想ハブ18の仮想イーサネットスイッチモジュール185は、イーサネットフレームのスイッチングの際、該当仮想イーサネットポート187間のトラフィックを計測し、単位時間当たりの値(イーサネットフレーム数、バイト数など)をポート間トラフィックテーブル184に保存する。
・ Virtual network port traffic
The virtual Ethernet switch module 185 of the virtual hub 18 measures the traffic between the corresponding virtual Ethernet ports 187 at the time of switching Ethernet frames, and the values per unit time (the number of Ethernet frames, the number of bytes, etc.) are stored in the inter-port traffic table 184. Save to.

(仮想ハブ分割・移動処理フロー)
仮想ハブ18の分割及び移動処理は、本実施の形態におけるネットワーク仮想化装置21における動作の中でも、最も特徴的な部分である。この処理の一例を図5に示すフローチャートを用いて説明する。
(Virtual hub split / move processing flow)
The process of dividing and moving the virtual hub 18 is the most characteristic part of the operation of the network virtualization apparatus 21 in the present embodiment. An example of this process will be described with reference to the flowchart shown in FIG.

(ステップS1)仮想ハブ制御モジュール181は、ホスト情報テーブル183、ポート間トラフィックテーブル184の内容を定期的に監視し、分割・移動開始判定基準を超える事象又は状態を検出した場合に分割及び移動処理を開始する。なお、分割・移動開始判定基準及び判定処理の詳細は後述する。   (Step S1) The virtual hub control module 181 periodically monitors the contents of the host information table 183 and the inter-port traffic table 184, and performs division and movement processing when an event or state exceeding the division / movement start determination criterion is detected. To start. Details of the division / movement start determination criterion and the determination process will be described later.

(ステップS2)仮想ハブ制御モジュール181は、分割及び移動処理を開始すると、移動先ネットワーク仮想化装置21の選択処理を行なう。移動先ネットワーク仮想化装置21による選択処理の詳細は後述する。   (Step S2) When the virtual hub control module 181 starts the division and movement process, the virtual hub control module 181 performs a selection process for the movement destination network virtualization apparatus 21. Details of the selection processing by the destination network virtualization apparatus 21 will be described later.

(ステップS3)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21に、自仮想ハブ18と同一仮想ネットワークに属する仮想ハブ18が存在するかを確認する。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、問い合わせを行なった仮想ハブ18と同一の仮想ネットワークに属する仮想ハブ18が存在するかどうかをチェックし、その結果を仮想ハブ制御モジュール181に返す。   (Step S <b> 3) The virtual hub control module 181 confirms whether or not the destination network virtualization apparatus 21 includes a virtual hub 18 that belongs to the same virtual network as the own virtual hub 18. Specifically, an inquiry is made to the system control module 201 of the network virtualization apparatus 21 to which it belongs. The system control module 201 checks whether or not there is a virtual hub 18 belonging to the same virtual network as the virtual hub 18 that has inquired in the entry corresponding to the migration destination network virtualization apparatus 21 in the system information table 202. The result is returned to the virtual hub control module 181.

(ステップS4)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21にて、仮想ハブ18の新規作成が受け入れ可能かをチェックする。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能かどうかの判定処理の詳細は後述する。   (Step S4) The virtual hub control module 181 checks whether the new creation of the virtual hub 18 is acceptable in the migration destination network virtualization apparatus 21. Specifically, an inquiry is made to the system control module 201 of the network virtualization apparatus 21 to which it belongs. The system control module 201 determines whether or not the above process is acceptable in the entry corresponding to the migration destination network virtualization apparatus 21 in the system information table 202, and returns the result to the virtual hub control module 181. Details of the process for determining whether or not it is acceptable will be described later.

(ステップS5)移動先ネットワーク仮想化装置21にて、新規の仮想ハブ18を作成する。具体的には、以下の処理を行なう。すなわち、先ず、仮想ハブ制御モジュール181は、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に、移動先ネットワーク仮想化装置21での新規の仮想ハブ18の作成依頼を行なう。次に、上記依頼を受けたシステム制御モジュール201は、移動先ネットワーク仮想化装置21のシステム制御モジュール201に、新規仮想ハブ18の作成を依頼する。そして、上記依頼を受けた移動先ネットワーク仮想化装置21のシステム制御モジュール201は、自装置21上で指定の仮想ネットワークに属する仮想ハブ18を作成し、その結果を依頼元に返す。   (Step S5) The new network hub 18 is created in the destination network virtualization apparatus 21. Specifically, the following processing is performed. That is, first, the virtual hub control module 181 requests the system control module 201 of the network virtualization apparatus 21 to which the virtual hub control module 181 belongs to create a new virtual hub 18 in the destination network virtualization apparatus 21. Next, the system control module 201 that has received the request requests the system control module 201 of the migration destination network virtualization apparatus 21 to create a new virtual hub 18. Upon receiving the request, the system control module 201 of the destination network virtualization apparatus 21 creates a virtual hub 18 belonging to the designated virtual network on the own apparatus 21, and returns the result to the request source.

(ステップS6)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21、及び仮想ハブ18にて、移動対象のホスト17が受け入れ可能かのチェックを行なう。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能な場合はステップS7へ、受け入れ可能でない場合には処理を終了する。受け入れ可能かどうかの判定処理の詳細は後述する。   (Step S <b> 6) The virtual hub control module 181 checks whether the migration target host 17 is acceptable at the migration destination network virtualization apparatus 21 and the virtual hub 18. Specifically, an inquiry is made to the system control module 201 of the network virtualization apparatus 21 to which it belongs. The system control module 201 determines whether or not the above process is acceptable in the entry corresponding to the migration destination network virtualization apparatus 21 in the system information table 202, and returns the result to the virtual hub control module 181. If it is acceptable, the process proceeds to step S7. If it is not acceptable, the process is terminated. Details of the process for determining whether or not it is acceptable will be described later.

(ステップS7)仮想ハブ制御モジュール181は、仮想ハブ18を移動するか、又は分割するかの判定を行なう。具体的には、ホスト情報テーブル183の情報を参照するか、又は自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。そして、分割すべきであると判定した場合はステップS8へ、移動すべきであると判定した場合にはステップS9へ進む。移動か分割かの判定基準、判定処理の詳細は後述する。   (Step S7) The virtual hub control module 181 determines whether to move or divide the virtual hub 18. Specifically, the information in the host information table 183 is referred to, or an inquiry is made to the system control module 201 of the network virtualization apparatus 21 to which it belongs. If it is determined that it should be divided, the process proceeds to step S8. If it is determined that it should be moved, the process proceeds to step S9. Details of the determination criterion for the movement or division and the determination processing will be described later.

(ステップS8)仮想ハブ制御モジュール181は、移動対象のホスト17を、移動先ネットワーク仮想化装置21の該当仮想ハブ18に繋ぎ替え、分割又は移動の処理を終了する。具体的には以下の処理を行なう。   (Step S8) The virtual hub control module 181 connects the migration target host 17 to the corresponding virtual hub 18 of the migration destination network virtualization apparatus 21, and ends the division or migration process. Specifically, the following processing is performed.

すなわち、移動元の仮想ハブ制御モジュール181は、移動対象となるホスト17に対して、物理ネットワークのIPアドレスである移動先ネットワーク仮想化装置21の情報や、仮想ネットワークを識別可能な情報(識別子、アンダーレイネットワークのトランスポート層のポート番号等)をパラメータとした、仮想ハブ接続変更要求を送出する。   That is, the migration source virtual hub control module 181 gives the migration target host 17 information on the migration destination network virtualization apparatus 21 that is the IP address of the physical network and information that can identify the virtual network (identifier, A virtual hub connection change request is sent using the transport layer port number of the underlay network as a parameter.

次に、上記仮想ハブ接続変更要求を受信したホスト17の仮想ネットワークインタフェース制御モジュール24は、要求に含まれる情報を元に、移動先の仮想ハブ18との仮想イーサネットコネクションAを生成し、要求に対する応答を移動元の仮想ハブ18へ返す。その後、移動元の仮想ハブ18との仮想イーサネットコネクションAを削除する。   Next, the virtual network interface control module 24 of the host 17 that has received the virtual hub connection change request generates a virtual Ethernet connection A with the destination virtual hub 18 based on the information included in the request, and responds to the request. A response is returned to the source virtual hub 18. Thereafter, the virtual Ethernet connection A with the source virtual hub 18 is deleted.

(ステップS9)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21、及び仮想ハブ18が、自仮想ハブ18が収容する全ホストを受け入れ可能かのチェックを行なう。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能な場合にはステップS10へ、受け入れ可能でない場合にはステップS8に進む。受け入れ可能かどうかの判定処理の詳細は後述する。   (Step S9) The virtual hub control module 181 checks whether the destination network virtualization apparatus 21 and the virtual hub 18 can accept all the hosts accommodated by the own virtual hub 18. Specifically, an inquiry is made to the system control module 201 of the network virtualization apparatus 21 to which it belongs. The system control module 201 determines whether or not the above process is acceptable in the entry corresponding to the migration destination network virtualization apparatus 21 in the system information table 202, and returns the result to the virtual hub control module 181. If it is acceptable, the process proceeds to step S10. If it is not acceptable, the process proceeds to step S8. Details of the process for determining whether or not it is acceptable will be described later.

(ステップS10)仮想ハブ制御モジュール181は、自仮想ハブ18が収容する全てのホスト17を、移動先ネットワーク仮想化装置21の該当仮想ハブ18に繋ぎ替える。繋ぎ替え処理の詳細はステップS8と同様である。   (Step S10) The virtual hub control module 181 switches all the hosts 17 accommodated by the own virtual hub 18 to the corresponding virtual hub 18 of the migration destination network virtualization apparatus 21. The details of the reconnection process are the same as in step S8.

(ステップS11)仮想ハブ制御モジュール181は、自仮想ハブ18の処理を終了(シャットダウン)する。   (Step S11) The virtual hub control module 181 ends (shuts down) the processing of the own virtual hub 18.

(ステップS12,S13)なお、ステップS4にて仮想ハブ18の受け入れが不可となった場合、又はステップS6にて受け入れ不可となった場合に、分割・移動先候補が他にも存在する場合には、ステップS2の処理に戻り、次善の候補を選択することもできる。   (Steps S12 and S13) If the virtual hub 18 cannot be accepted in Step S4 or if it cannot be accepted in Step S6, there are other division / movement destination candidates. Can return to the process of step S2 and select the next best candidate.

(仮想ハブ分割・移動判定基準、判定処理詳細)
次に、図5に示す処理フロー中の各種判定基準、判定処理の処理詳細について記載する。処理によっては複数基準が存在するが、いずれの基準を使用するか、基準値をどのように設定するかなどは仮想ネットワークを運用するサイトのポリシーにより設定される事項であるので、以下に示す記載に限定されるものではない。
(Virtual hub division / movement criteria, judgment process details)
Next, various determination criteria in the process flow shown in FIG. 5 and details of the determination process will be described. There are multiple criteria depending on the process, but which criteria to use and how to set the criteria are matters set by the policy of the site that operates the virtual network. It is not limited to.

ステップS1で用いられる分割・移動開始判定で用いられる基準、判定処理には、以下に示す通り、例えばフロードリブンと、トポロジドリブンとの2つがある。   There are two criteria and determination processes used in the division / movement start determination used in step S1, for example, flow driven and topology driven as shown below.

フロードリブンによる分割・移動処理では、仮想ハブ制御モジュール181が、各仮想イーサネットポート187間のトラフィック(ポート間トラフィックテーブル184)を監視し、ある特定の仮想イーサネットポート187間トラフィックが予め定めている閾値を超えた場合に、分割・移動処理を開始する。例えば、閾値としては、単位時間当たりのフレーム数、バイト数(例えば1時間あたり10Mフレーム、1分間あたり10MByte等)や、該当仮想ハブ18の総トラフィックに対する該当仮想イーサネットポート187間のトラフィックの割合(例えば50%等)が考えられる。   In the flow-driven division / movement processing, the virtual hub control module 181 monitors traffic between the virtual Ethernet ports 187 (inter-port traffic table 184), and a certain virtual Ethernet port 187 traffic has a predetermined threshold value. If it exceeds, split / move processing is started. For example, as the threshold value, the number of frames per unit time, the number of bytes (for example, 10 M frames per hour, 10 MBytes per minute, etc.), and the ratio of traffic between the corresponding virtual Ethernet ports 187 to the total traffic of the corresponding virtual hub 18 ( For example, 50% is conceivable.

トポロジドリブンによる分割・移動処理では、仮想ハブ制御モジュール181は、ホスト情報テーブル183を監視し、自仮想ハブ18が収容するホスト17の内、予め定めた基準値を超えるホスト17が、物理ネットワーク11の特定のエリアに属していると判断した場合、分割・移動処理を開始する。例えば、基準値としては、収容するホスト17の50%や、10ホスト等が考えられる。また、上記ホストが、物理ネットワーク11の特定のエリアに属していると判断する基準は、以下のようなものが考えられる。
・上記ホスト群が、物理ネットワーク11にて同一ネットワークアドレスを持ち、かつ、そのネットワークアドレスが、自身が属するネットワーク仮想化装置21とは異なる場合。
・上記ホスト群への物理ネットワーク11のIPパケット送信処理にて、次ホップが同一で、かつ、それらホスト17が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合。
In the topology-driven division / movement process, the virtual hub control module 181 monitors the host information table 183, and among the hosts 17 accommodated in the own virtual hub 18, the host 17 exceeding a predetermined reference value is connected to the physical network 11. When it is determined that it belongs to the specific area, the division / movement process is started. For example, as the reference value, 50% of the accommodated hosts 17 or 10 hosts can be considered. Further, the following criteria can be considered for determining that the host belongs to a specific area of the physical network 11.
The host group has the same network address in the physical network 11 and the network address is different from the network virtualization apparatus 21 to which the host group belongs.
In the IP packet transmission processing of the physical network 11 to the host group, when the next hop is the same and the hosts 17 do not exist in the same LAN segment of the network virtualization apparatus 21 and the physical network 11 to which the host belongs. .

ステップS2における分割・移動先ネットワークの決定に際しては、以下に示す通り、例えばコストベースと、トポロジベースとの2つの判定基準及び判定処理がある。なお、フロードリブンで分割・移動開始を決定した場合は、以下のいずれかの方法でも分割・移動先を決定しても差し支えないが、トポロジドリブンで分割・移動開始を決定した場合は、コストベースで決定しても動作上は問題無いが、トポロジベースで分割・移動先を決定することが妥当である。   In determining the division / movement destination network in step S2, there are two determination criteria and determination processing, for example, a cost base and a topology base, as shown below. If you decide to start split / move using flow-driven, you can use either of the following methods to determine the destination of split / move, but if you decide to start split / move using topology-driven, the cost base However, it is reasonable to determine the division / movement destination based on the topology.

コストベースの判定を行う場合、仮想ハブ制御モジュール181は、ホスト情報テーブル183、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、以下のコストをチェックする。
・自身が属するネットワーク仮想化装置21と移動対象ホスト間のコスト。
・同一管理ドメイン内の、自身が属するネットワーク仮想化装置21以外のネットワーク仮想化装置21と移動対象ホスト間のコスト。
When performing cost-based determination, the virtual hub control module 181 checks the following costs from the host information table 183 and the information in the system information table 202 of the network virtualization apparatus 21 to which the virtual hub control module 181 belongs. To do.
The cost between the network virtualization apparatus 21 to which it belongs and the migration target host.
The cost between the network virtualization apparatus 21 other than the network virtualization apparatus 21 to which it belongs and the migration target host in the same management domain.

またここで、コストは、具体的には以下のようなものが考えられる。   Here, specifically, the following costs can be considered.

・ラウンドトリップタイム。
・ホップ数(アンダーレイネットワークのホップ数)。
・ Round trip time.
-Number of hops (underlay network hops).

そして、上記チェックしたコストのうち、最小のコストを持つネットワーク仮想化装置21が、自身の属するネットワーク仮想化装置21でない場合、そのネットワーク仮想化装置21を分割・移動先として選択する。なお、移動対象ホストは複数存在するため、最終的なコストは、それら全てのホストに対するコストの平均をとるなどの措置が必要となる。   If the network virtualization apparatus 21 having the minimum cost among the checked costs is not the network virtualization apparatus 21 to which the network virtualization apparatus 21 belongs, the network virtualization apparatus 21 is selected as the division / movement destination. Since there are a plurality of migration target hosts, the final cost requires measures such as averaging the costs for all the hosts.

一方、トポロジベースの判定を行う場合、仮想ハブ制御モジュール181は、ホスト情報テーブル183、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、以下のトポロジ情報をチェックする。
・移動対象ホストの物理ネットワーク11上でのトポロジ情報。
・同一管理ドメイン内の、自身が属するネットワーク仮想化装置21以外のネットワーク仮想化装置21の物理ネットワーク11上でのトポロジ情報。
On the other hand, when performing topology-based determination, the virtual hub control module 181 determines the following topology from the information in the system information table 202 of the network virtualization apparatus 21 to which the virtual hub control module 181 belongs via the host information table 183 and the system control module 201. Check the information.
Topology information on the physical network 11 of the migration target host.
Topology information on the physical network 11 of the network virtualization device 21 other than the network virtualization device 21 to which the device itself belongs in the same management domain.

またここで、トポロジ情報は、具体的には以下のようなものが考えられる。   Here, specifically, the topology information is as follows.

・物理ネットワーク11のIPアドレス(ネットワークアドレス)。
・物理ネットワーク11のフォワーディング情報。
・物理ネットワーク11の経路制御情報。
IP address (network address) of the physical network 11
-Forwarding information of the physical network 11.
-Route control information of the physical network 11.

そして、上記チェックしたトポロジ情報を元にした分割・移動先選択の基準は、以下のようなものが考えられる。   The following criteria for division / movement destination selection based on the checked topology information can be considered.

上記移動対象のホスト群が、物理ネットワーク11にて、あるネットワーク仮想化装置21と同一ネットワークアドレスを持ち、かつ、そのネットワーク仮想化装置21が自身が属するものではなく、かつ、そのネットワーク仮想化装置21が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合に、そのネットワーク仮想化装置21を分割・移動先とする。   The host group to be moved has the same network address as a certain network virtualization apparatus 21 in the physical network 11, and the network virtualization apparatus 21 does not belong to the network virtualization apparatus 21. When 21 does not exist in the same LAN segment of the network virtualization apparatus 21 and the physical network 11 to which the network virtualization apparatus 21 belongs, the network virtualization apparatus 21 is set as the division / movement destination.

上記移動対象ホスト群への物理ネットワーク11のIPパケット送信処理における次ホップと、あるネットワーク仮想化装置21への同処理における次ホップが同一で、かつ、そのネットワーク仮想化装置21が自身が属するものではなく、かつ、そのネットワーク仮想化装置21が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合に、そのネットワーク仮想化装置21を分割・移動先とする。   The next hop in the IP packet transmission process of the physical network 11 to the migration target host group is the same as the next hop in the same process to the network virtualization apparatus 21, and the network virtualization apparatus 21 belongs to itself If the network virtualization apparatus 21 does not exist in the same LAN segment of the physical network 11 and the network virtualization apparatus 21 to which the network virtualization apparatus 21 belongs, the network virtualization apparatus 21 is set as a division / movement destination.

上記と同様の判定処理を、物理ネットワーク11のIP経路情報に基づいて行なう。   A determination process similar to the above is performed based on the IP route information of the physical network 11.

なお、移動対象ホスト17は複数存在するため、最終的な判断は、移動対象の全ホスト17のうち最も多いホスト17とトポロジ的に近い(同一ネットワークアドレスを持つ、同一次ホップである等)ネットワーク仮想化装置21を選択するなどの措置が必要となる。   Since there are a plurality of migration target hosts 17, the final judgment is a network that is topologically close to the most hosts 17 among all the migration target hosts 17 (having the same network address, the same next hop, etc.) Measures such as selecting the virtualization device 21 are required.

次に、ステップS4,S6,S9で行われる移動先での仮想ハブ18、ホスト17の受け入れ判定基準及び判定処理の例について説明する。   Next, an example of acceptance determination criteria and determination processing of the virtual hub 18 and the host 17 at the movement destination performed in steps S4, S6, and S9 will be described.

仮想ハブ制御モジュール181は、(システム制御モジュール201を介して)自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、予め定めている閾値を超えた場合に、移動先ネットワーク仮想化装置21での仮想ハブ18の受け入れ、又は移動先仮想ハブ18でのホスト17の受け入れが不可であると判断する。例えば、閾値は以下のようなものが考えられる。
・移動先ネットワーク仮想化装置21のCPU利用率50%。
・移動先ネットワーク仮想化装置21の仮想ハブ収容数が10。
・移動先ネットワーク仮想化装置21のホスト収容数が100。
・移動先仮想ハブ18のホスト収容数が20。
・移動先仮想ハブ18の単位時間当たりのトラフィックが10MBytes。
When the virtual hub control module 181 exceeds a predetermined threshold from the information in the system information table 202 of the network virtualization apparatus 21 to which the virtual hub control module 181 belongs (via the system control module 201), the destination network virtualization apparatus It is determined that the acceptance of the virtual hub 18 at 21 or the acceptance of the host 17 at the destination virtual hub 18 is impossible. For example, the following threshold values can be considered.
CPU usage rate of the destination network virtualization apparatus 21 is 50%.
-The number of virtual hubs accommodated by the destination network virtualization apparatus 21 is 10.
The host capacity of the migration destination network virtualization apparatus 21 is 100.
The host capacity of the destination virtual hub 18 is 20.
-The traffic per unit time of the destination virtual hub 18 is 10 MBytes.

次に、ステップS7で行われる分割か移動かの判定例について説明する。   Next, an example of determination as to division or movement performed in step S7 will be described.

仮想ハブ制御モジュール181は、ホスト情報テーブル183の情報、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、予め定めている閾値を超えた場合(或いは超えていない場合)に移動とし、超えていない場合(或いは超えた場合)に分割と判断する。例えば、判断項目、及び、閾値は以下のようなものが考えられる。   When the virtual hub control module 181 exceeds a predetermined threshold from the information in the host information table 183 and the information in the system information table 202 of the network virtualization apparatus 21 to which the virtual hub control module 181 belongs (or If it does not exceed, it is determined to be a movement, and if it does not exceed (or exceeds), it is determined to be divided. For example, the following judgment items and threshold values are conceivable.

移動対象のホスト17の合計トラフィックの、自仮想ハブ18が収容する全ホスト17の合計トラフィックに対する割合が、予め定めている閾値を超えた場合に移動し、超えていない場合に分割とする。閾値としては、例えば、上記割合が70%の場合とする。   When the ratio of the total traffic of the hosts 17 to be moved to the total traffic of all the hosts 17 accommodated by the own virtual hub 18 exceeds a predetermined threshold value, the movement is performed. For example, the threshold is 70%.

移動対象のホスト17の数の、自仮想ハブ18が収容する全てのホスト17の数に対する割合が、予め定めている閾値を超えた場合に移動し、超えていない場合に分割とする。閾値としては、例えば上記割合が50%の場合とする。   When the ratio of the number of hosts 17 to be migrated to the number of all the hosts 17 accommodated by the own virtual hub 18 exceeds a predetermined threshold value, the migration is performed. For example, the threshold is 50%.

移動先ネットワーク仮想化装置21、又は移動先仮想ハブ18の負荷が、予め定めている閾値を超えた場合に分割し、超えていない場合に移動とする。例えば、閾値としては、例えば以下のようなものがある。   When the load on the destination network virtualization apparatus 21 or the destination virtual hub 18 exceeds a predetermined threshold, the load is divided, and when the load is not exceeded, the movement is determined. For example, there are the following thresholds, for example.

・移動先ネットワーク仮想化装置21のCPU利用率50%。
・移動先ネットワーク仮想化装置21の仮想ハブ収容数が10。
・移動先ネットワーク仮想化装置21のホスト収容数が100。
・移動先仮想ハブ18のホスト収容数が20。
・移動先仮想ハブ18の単位時間当たりのトラフィックが10MBytes。
CPU usage rate of the destination network virtualization apparatus 21 is 50%.
-The number of virtual hubs accommodated by the destination network virtualization apparatus 21 is 10.
The host capacity of the migration destination network virtualization apparatus 21 is 100.
The host capacity of the destination virtual hub 18 is 20.
-The traffic per unit time of the destination virtual hub 18 is 10 MBytes.

(仮想ハブ分割・移動処理の具体例1)
物理ネットワーク11、及び仮想ネットワーク10を構成するネットワーク仮想化装置21、仮想ハブ18、ホスト17が、図6のような状態の場合に関し、仮想ハブ18の分割・移動処理の詳細を記す。本例はフロードリブンによる分割・移動処理開始の例である。
(Specific example 1 of virtual hub division / movement processing)
Details of the dividing / moving process of the virtual hub 18 will be described in the case where the network virtualization apparatus 21, the virtual hub 18, and the host 17 constituting the physical network 11 and the virtual network 10 are in the state as shown in FIG. This example is an example of the flow-driven division / movement process start.

図6は、ある企業のネットワーク構成であり、物理ネットワークであるTCP/IPネットワークはルータ12(#1〜#3)により、4つのLANセグメント(LAN1〜LAN4)に分割されている。   FIG. 6 shows a network configuration of a certain company. A TCP / IP network, which is a physical network, is divided into four LAN segments (LAN1 to LAN4) by routers 12 (# 1 to # 3).

初期状態では、ネットワーク仮想化装置21(#1〜#4)が、それぞれ、LAN1〜4に配置されており、LAN1上のネットワーク仮想化装置21(#1)がホスト17(#1〜#9)の全てを収容している。この状態で、ネットワーク仮想化装置21(#1)の仮想ハブ18(#1)は、仮想イーサネットポート187間のトラフィック情報に基づき、ホスト17(#2〜#6)及び、ホスト17(#7,#8)を移動すべきできあると判断する。   In the initial state, the network virtualization apparatuses 21 (# 1 to # 4) are arranged in the LANs 1 to 4, respectively, and the network virtualization apparatus 21 (# 1) on the LAN 1 is the host 17 (# 1 to # 9). ). In this state, the virtual hub 18 (# 1) of the network virtualization apparatus 21 (# 1), based on the traffic information between the virtual Ethernet ports 187, hosts 17 (# 2 to # 6) and host 17 (# 7). , # 8) is determined to be movable.

さらに、コストベースでの分割・移動先判定(ネットワーク仮想化装置21(#1),ネットワーク仮想化装置21(#3),ネットワーク仮想化装置21(#4)とホスト17(#2〜#8)間のラウンドトリップタイム計測値)に基づき、最終的に、ホスト17(#2〜#6)をネットワーク仮想化装置21(#3)に、ホスト17(#7,#8)をネットワーク仮想化装置21(#4)に移動すべきであると判断する。   Further, split / destination determination based on cost (network virtualization apparatus 21 (# 1), network virtualization apparatus 21 (# 3), network virtualization apparatus 21 (# 4) and host 17 (# 2 to # 8) ) Finally rounds the host 17 (# 2 to # 6) to the network virtualization device 21 (# 3) and the host 17 (# 7, # 8) to network virtualization It is determined that the device 21 (# 4) should be moved.

そこで、ネットワーク仮想化装置21(#3,#4)上での仮想ハブ18の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断ののち、分割と判断して処理をした状態が図7である。結果的に、ホスト17(#2〜#6)のトラフィックはLAN3内に、ホスト17(#7,#8)のトラフィックはLAN4内に、局所化される。   Therefore, after determining whether or not there is a virtual hub 18 on the network virtualization apparatus 21 (# 3 and # 4), creating a virtual hub, accepting or not accepting the host 17, and dividing or moving, it is determined that the network is divided and processing is performed. FIG. 7 shows the state after the operation. As a result, the traffic of the host 17 (# 2 to # 6) is localized in the LAN 3, and the traffic of the host 17 (# 7, # 8) is localized in the LAN 4.

一方、移動であると判断すると、ホスト17(#2〜#8)だけでなく、ホスト17(#1,#9)ともネットワーク仮想化装置21(#3)上の仮想ハブ18(#3)、又はネットワーク仮想化装置21(#4)上の仮想ハブ18(#4)へ移動し、更に、仮想ハブ18(#2)と仮想ハブ18(#3)、仮想ハブ18(#2)と仮想ハブ18(#4)との接続を仮想ハブ18(#3)と仮想ハブ18(#4)の接続に変更後、ネットワーク仮想化装置21(#1)上の仮想ハブ18(#1)は、自らを終了し、その結果、図8のような状態となる。   On the other hand, if it is determined to be a migration, not only the host 17 (# 2 to # 8) but also the host 17 (# 1, # 9) is the virtual hub 18 (# 3) on the network virtualization apparatus 21 (# 3). Or move to the virtual hub 18 (# 4) on the network virtualization apparatus 21 (# 4), and further, the virtual hub 18 (# 2), the virtual hub 18 (# 3), and the virtual hub 18 (# 2) After changing the connection with the virtual hub 18 (# 4) to the connection between the virtual hub 18 (# 3) and the virtual hub 18 (# 4), the virtual hub 18 (# 1) on the network virtualization apparatus 21 (# 1) Terminates itself, and as a result, the state shown in FIG. 8 is obtained.

(仮想ハブ分割・移動処理の具体例2)
アンダーレイネットワーク及び、仮想ネットワーク10を構成するネットワーク仮想化装置21、仮想ハブ18、ホスト17が、図9のような状態の場合に関し、仮想ハブの分割・移動処理の詳細を記す。本例はトポロジドリブンによる分割・移動処理開始の例である。
(Specific example 2 of virtual hub division / movement processing)
Details of the virtual hub dividing / moving process will be described in the case where the network virtualization apparatus 21, the virtual hub 18, and the host 17 constituting the underlay network and the virtual network 10 are in the state as shown in FIG. This example is an example of start of division / movement processing by topology-driven.

図9は、ある企業のネットワーク構成であり、構成、初期状態は前述の図6と同様である。この状態で、ネットワーク仮想化装置21(#1)の仮想ハブ18(#1)は、物理ネットワーク11(#1〜#4)(LAN1〜4)のフォワーディング情報(次ホップ情報)に基づき、ホスト17(#2〜#8)を移動すべきできあると判断する。更に、トポロジベースでの分割・移動先判定に基づき、ネットワーク仮想化装置21(#2)が上記ホスト17と同一次ホップに属すことが判るため、最終的に上記ホスト17をネットワーク仮想化装置21(#2)に移動すべきであると判断する。   FIG. 9 shows a network configuration of a certain company, and the configuration and initial state are the same as those in FIG. In this state, the virtual hub 18 (# 1) of the network virtualization apparatus 21 (# 1) is based on the forwarding information (next hop information) of the physical network 11 (# 1 to # 4) (LAN1 to 4). It is determined that 17 (# 2 to # 8) should be moved. Furthermore, since it is known that the network virtualization apparatus 21 (# 2) belongs to the same next hop as the host 17 based on the division / movement destination determination based on the topology, the host 17 is finally assigned to the network virtualization apparatus 21. Judge that it should move to (# 2).

そこで、ネットワーク仮想化装置21(#2)上での仮想ハブ18(#2)の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断の後、分割と判断して処理をした状態が図10である。結果的に、ホスト17(#2〜#8)のトラフィックがLAN2〜4に局所化され、LAN1に流入することが無くなった。一方、移動であると判断すると、ホスト17(#2〜#8)だけでなく、ホスト17(#1,#9)ともネットワーク仮想化装置21(#2)上の仮想ハブ18(#2)へ移動し、ネットワーク仮想化装置21(#1)上の仮想ハブ18(#1)は自らを終了し、その結果、図11のような状態となる。   Therefore, after determining whether or not there is a virtual hub 18 (# 2) on the network virtualization apparatus 21 (# 2), creating a virtual hub, accepting the host 17, whether dividing or moving, etc., it is determined that the network is divided. The processed state is shown in FIG. As a result, the traffic of the host 17 (# 2 to # 8) is localized in the LANs 2 to 4, and does not flow into the LAN 1. On the other hand, if it is determined that it is a migration, not only the host 17 (# 2 to # 8) but also the host 17 (# 1, # 9) is the virtual hub 18 (# 2) on the network virtualization apparatus 21 (# 2). And the virtual hub 18 (# 1) on the network virtualization apparatus 21 (# 1) terminates itself, and as a result, a state as shown in FIG. 11 is obtained.

さらに、図11の状態で、ネットワーク仮想化装置21(#2)が、物理ネットワーク(LAN)のIPのネットワークアドレス情報に基づき、ホスト17(#2〜#6)をネットワーク仮想化装置21(#3)へ、ホスト17(#7,#8)をネットワーク仮想化装置21(#4)へ、移動すべきであると判断する。そこで、上記と同様、ネットワーク仮想化装置21(#3,#4)上での仮想ハブ18(#3,#4)の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断ののち、分割と判断して処理をした状態が図12である。結果的に、ホスト17(#2〜#6)のトラフィックはLAN3内に、ホスト17(#7,#8)のトラフィックはLAN4内に局所化される。   Further, in the state of FIG. 11, the network virtualization apparatus 21 (# 2) connects the host 17 (# 2 to # 6) to the network virtualization apparatus 21 (#) based on the IP network address information of the physical network (LAN). 3), it is determined that the host 17 (# 7, # 8) should be moved to the network virtualization apparatus 21 (# 4). Therefore, in the same manner as described above, the presence / absence of the virtual hub 18 (# 3, # 4) on the network virtualization apparatus 21 (# 3, # 4), creation of the virtual hub, acceptability of the host 17, whether it is divided or moved, etc. FIG. 12 shows a state in which processing is performed after determining the division. As a result, the traffic of the host 17 (# 2 to # 6) is localized in the LAN 3, and the traffic of the host 17 (# 7, # 8) is localized in the LAN 4.

[各機能モジュールの実装例]
本実施の形態の特徴的な部分である仮想ハブ18の分割、移動の機能は、仮想イーサネットコネクションA、仮想ネットワークインタフェース19、仮想ハブ18の実装方法に依存しないが、参考のため、これらの機能モジュールの、一般的なUNIXにおけるいくつかの実装方法を以下に述べる。
[Example of implementation of each function module]
The function of dividing and moving the virtual hub 18 which is a characteristic part of the present embodiment does not depend on the mounting method of the virtual Ethernet connection A, the virtual network interface 19, and the virtual hub 18, but these functions are for reference. Several implementation methods of modules in general UNIX will be described below.

(仮想ネットワークインタフェースの実装例)
仮想ネットワークインタフェース1300,1400の実装例として、仮想イーサネットコネクションAの実現方法に着目した、一般的なUNIXにおける実装方法を図13,図14に示す。
(Virtual network interface implementation example)
As an implementation example of the virtual network interfaces 1300 and 1400, FIG. 13 and FIG. 14 show a general UNIX implementation method that focuses on the virtual Ethernet connection A realization method.

1.IPトンネリングの仕組みを利用した実装方法
図13は、一般的なIPトンネリングの仕組みを利用したものであり、仮想ネットワークインタフェース層1308はOSのカーネル1302の内部に実装される。ユーザプロセス1301内には、例えばシステム制御モジュール201である制御アプリケーションプログラム1303、及びその他のアプリケーションプログラム1304が存在する。仮想ネットワークインタフェース層1308は、上位層であるイーサネット層1307からは単なるネットワークインタフェースとして見えるが、一方、下位層であるIP(アウターIP)層1309からは、TCP/UDP層1305と同様のトランスポート層として見える。本実装方法では、仮想イーサネットコネクションAはホスト17と仮想ハブ18間のIPトンネルとなる。
1. Implementation method using IP tunneling mechanism
FIG. 13 uses a general IP tunneling mechanism, and the virtual network interface layer 1308 is implemented inside the OS kernel 1302. In the user process 1301, for example, a control application program 1303 that is the system control module 201 and other application programs 1304 exist. The virtual network interface layer 1308 appears as a simple network interface to the upper layer Ethernet layer 1307, while the lower layer IP (outer IP) layer 1309 has a transport layer similar to the TCP / UDP layer 1305. Looks as. In this implementation method, the virtual Ethernet connection A is an IP tunnel between the host 17 and the virtual hub 18.

2.トンネルインタフェースの仕組みを利用した実装方法
図14(a)及び図14(b)は、一般的なトンネルインタフェースの仕組みを利用したものであり、仮想ネットワークインタフェースプログラム1403はユーザプロセス1401として実装される。OSのカーネル1402内の通信プロトコルとのデータのやりとりは、トンネルインタフェース1411を介して行なう。
2. Implementation method using tunnel interface mechanism
FIGS. 14A and 14B utilize a general tunnel interface mechanism, and the virtual network interface program 1403 is implemented as a user process 1401. Data exchange with the communication protocol in the OS kernel 1402 is performed via the tunnel interface 1411.

図14(a)は、トンネルインタフェース1411がIPデータグラムを処理する(ユーザランドのプログラムとIPデータグラムをやりとりする)タイプである。この場合、ユーザプロセス1401には、仮想ネットワークインタフェースプログラム1403の他に、制御アプリケーションプログラム1404、イーサネット層1405、必要に応じてHTTP1406、アプリケーションプログラム1407が実装される。一方、カーネル1402には、TCP/UDP層1409、IP層1410、トンネルインタフェース1411、イーサネット層1412、及び物理ネットワークインタフェース1413が実装される。   FIG. 14A shows a type in which the tunnel interface 1411 processes IP datagrams (exchanges userland programs and IP datagrams). In this case, in addition to the virtual network interface program 1403, the user application 1401 is installed with a control application program 1404, an Ethernet layer 1405, and, if necessary, an HTTP 1406 and an application program 1407. On the other hand, a TCP / UDP layer 1409, an IP layer 1410, a tunnel interface 1411, an Ethernet layer 1412, and a physical network interface 1413 are mounted on the kernel 1402.

図14(b)は、トンネルインタフェース1411がイーサネットフレームを処理する(ユーザランドのプログラムとイーサネットフレームをやりとりする)タイプである。この場合、ユーザプロセス1401には、仮想ネットワークインタフェースプログラム1403の他に、制御アプリケーションプログラム1404、必要に応じてHTTP1406、アプリケーションプログラム1407が実装される。一方、カーネル1402には、TCP/UDP層1409、IP層1410、トンネルインタフェース1411、イーサネット層1412、及び物理ネットワークインタフェース層1413が実装される。   FIG. 14B shows a type in which the tunnel interface 1411 processes an Ethernet frame (exchanges a userland program and an Ethernet frame). In this case, in addition to the virtual network interface program 1403, a control application program 1404, an HTTP 1406, and an application program 1407 as necessary are installed in the user process 1401. On the other hand, a TCP / UDP layer 1409, an IP layer 1410, a tunnel interface 1411, an Ethernet layer 1412, and a physical network interface layer 1413 are mounted on the kernel 1402.

なお、図13に示すIPトンネリングの仕組みを利用した方法、および図14(b)に示す方法では、UNIXのOS内の既存のイーサネット層1307,1310,1412が、物理ネットワークインタフェース層1311,1413、仮想ネットワークインタフェース1308,1403双方の上位層として使用可能であるが、図14(a)に示す方法では、仮想ネットワークインタフェースプログラム1403の上位に位置するイーサネット層1405の処理を、ユーザプログラムである仮想ネットワークインタフェースプログラム1403の中に実装する必要があり、実装はより複雑になり得る。本実装方法では、仮想イーサネットコネクションAはホスト17と仮想ハブ18間のソケット(TCPソケット、UDPソケット、或いはRaw IPソケットなど)となる。   In the method using the IP tunneling mechanism shown in FIG. 13 and the method shown in FIG. 14B, the existing Ethernet layers 1307, 1310, and 1412 in the UNIX OS are changed to the physical network interface layers 1311 and 1413, Although it can be used as an upper layer of both the virtual network interfaces 1308 and 1403, in the method shown in FIG. 14A, the processing of the Ethernet layer 1405 positioned above the virtual network interface program 1403 is performed as a virtual network that is a user program. It needs to be implemented in the interface program 1403, and the implementation can be more complicated. In this mounting method, the virtual Ethernet connection A is a socket (TCP socket, UDP socket, Raw IP socket, etc.) between the host 17 and the virtual hub 18.

(仮想ネットワークインタフェースの処理フロー)
以下に、上記2つの実装例について、それぞれ処理内容を記す。
(Processing flow of virtual network interface)
The processing contents are described below for the above two implementation examples.

1.IPトンネリングの仕組みを利用した実装方法
IPトンネリングで構成されるホスト17と仮想ハブ18間の仮想イーサネットコネクションAを使用し、仮想ネットワーク10のイーサネットフレームの送受信を行なう。
1. Implementation method using IP tunneling mechanism
A virtual Ethernet connection A between the host 17 and the virtual hub 18 configured by IP tunneling is used to transmit and receive an Ethernet frame of the virtual network 10.

・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)17上のアプリケーションプログラム1304は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1304からの送信データを受け取ったTCP/UDP層1305、及びIP(インナーIP)層1306は、仮想イーサネットコネクションA上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとして仮想ネットワークインタフェース19を選択し、IPパケットをイーサネット層1307に渡す。
・ Send to other host on virtual network
(A) The application program 1304 on the host (hereinafter referred to as the transmission source host) 17 tries to transmit data to the destination host.
(B) The TCP / UDP layer 1305 and the IP (inner IP) layer 1306 that have received the transmission data from the application program 1304 are virtual as output network interfaces based on the IP address of the destination host on the virtual Ethernet connection A. The network interface 19 is selected and the IP packet is passed to the Ethernet layer 1307.

(c)IP(インナーIP)層1306からIPパケットを受け取ったイーサネット層1307は、IPパケットをイーサネットフレームに格納し、それを仮想ネットワークインタフェース層1308に渡す。   (C) Upon receiving the IP packet from the IP (inner IP) layer 1306, the Ethernet layer 1307 stores the IP packet in an Ethernet frame and passes it to the virtual network interface layer 1308.

(d)イーサネット層からイーサネットフレームを受け取った仮想ネットワークインタフェース層1308は、送信元ホスト17が接続している仮想ハブ18のIPアドレスをパラメータとして、該当イーサネットフレームをIP(アウターIP)層1309へ渡す。この時、IPヘッダのプロトコルフィールドに、自身を識別するための値を設定する。   (D) Upon receiving the Ethernet frame from the Ethernet layer, the virtual network interface layer 1308 passes the corresponding Ethernet frame to the IP (outer IP) layer 1309 using the IP address of the virtual hub 18 to which the transmission source host 17 is connected as a parameter. . At this time, a value for identifying itself is set in the protocol field of the IP header.

(e)IP(アウターIP)層1309以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブ18へ送信する。   (E) The protocol stack below the IP (outer IP) layer 1309 performs normal processing and transmits the corresponding data to the virtual hub 18.

・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1311、その上位のイーサネット層1310の処理は一般的なものにより、ここでは、その詳細説明を割愛する。
(b)イーサネット層1310からイーサネットフレームを受け取ったIP(アウターIP)層1309は、IPヘッダのプロトコルフィールドを元に、該当IPパケットが仮想ネットワークインタフェース層1308宛(IP(アウターIP)層1309から見ると、仮想ネットワークインタフェース層1308は単なる一トランスポート層に見える)であると判断し、それを仮想ネットワークインタフェース層1308へ渡す。
(c)IP(アウターIP)層1309からIPパケットを受け取った仮想ネットワークインタフェース層1308は、該当IPパケットからイーサネットフレームを取り出し、それを上位層であるイーサネット層1307へ渡す。
(d)以降、イーサネット層1307以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラムへ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing of the physical network interface layer 1311 and the Ethernet layer 1310 above it are general, detailed description thereof is omitted here.
(B) The IP (outer IP) layer 1309 that has received the Ethernet frame from the Ethernet layer 1310 is addressed to the virtual network interface layer 1308 (viewed from the IP (outer IP) layer 1309 based on the protocol field of the IP header). The virtual network interface layer 1308 appears to be just one transport layer), and passes it to the virtual network interface layer 1308.
(C) Upon receiving the IP packet from the IP (outer IP) layer 1309, the virtual network interface layer 1308 extracts the Ethernet frame from the IP packet and passes it to the Ethernet layer 1307, which is the upper layer.
(D) Thereafter, the protocol of the Ethernet layer 1307 and higher performs normal processing and passes the corresponding data to the application program.

2.トンネルインタフェースの仕組み(その1:図14(a))を利用した実装方法
TCPソケット、UDPソケット、或いはRaw IPソケットなどで構成されるホスト17と仮想ハブ18間の仮想イーサネットコネクションAを使用し、仮想ネットワークのイーサネットフレームの送受信を行なう。
2. Implementation method using tunnel interface mechanism (part 1: Fig. 14 (a))
A virtual Ethernet connection A between the host 17 and the virtual hub 18 constituted by a TCP socket, a UDP socket, or a Raw IP socket is used to transmit and receive an Ethernet frame of the virtual network.

・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)上のアプリケーションプログラム1407は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1407からの送信データを受け取ったTCP/UDP層1409、及びIP層1410は、仮想イーサネット上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとしてトンネルインタフェースを選択し、IPパケットをトンネルインタフェース1411に渡す。
(c)IP1410層からIPパケットを受け取ったトンネルインタフェース1411は、IPパケットを、readシステムコール経由でユーザランドの仮想ネットワークインタフェースプログラム1403に渡す。
(d)トンネルインタフェース1411からIPパケットを受け取った仮想ネットワークインタフェースプログラム1403は、送信元ホストが接続している仮想ハブのIPアドレスをパラメータとして生成されたソケットに対し、該当IPパケットをイーサネットフレームに格納して書き込む。
(e)以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブ18へ送信する。
・ Send to other host on virtual network
(A) The application program 1407 on the host (hereinafter referred to as the transmission source host) tries to transmit data to the destination host.
(B) The TCP / UDP layer 1409 and the IP layer 1410 that have received the transmission data from the application program 1407 select a tunnel interface as an output network interface based on the IP address of the destination host on the virtual Ethernet. The packet is passed to the tunnel interface 1411.
(C) Upon receiving the IP packet from the IP 1410 layer, the tunnel interface 1411 passes the IP packet to the userland virtual network interface program 1403 via the read system call.
(D) Upon receiving the IP packet from the tunnel interface 1411, the virtual network interface program 1403 stores the corresponding IP packet in the Ethernet frame for the socket generated using the IP address of the virtual hub connected to the transmission source host as a parameter. And write.
(E) The following protocol stack performs normal processing and transmits the corresponding data to the virtual hub 18.

・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1413から上位のTCP/UDP層1409の処理は一般的なものにより、ここではその詳細説明を割愛する。
(b)仮想ハブ18とのソケットからデータ(イーサネットフレーム)を受け取った仮想ネットワークインタフェースプログラム1403は、イーサネットフレームからIPパケットを取り出し、writeシステムコール経由でトンネルインタフェース1411へ該当IPパケットを渡す。
(c)仮想ネットワークインタフェースプログラム1403からIPパケットを受け取ったトンネルインタフェース1411は、該当IPパケットを上位層であるIP層1410へ渡す。
(d)以降、IP層1410以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラム1407へ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing from the physical network interface layer 1413 to the upper TCP / UDP layer 1409 is general, the detailed description thereof is omitted here.
(B) The virtual network interface program 1403 that has received the data (Ethernet frame) from the socket with the virtual hub 18 extracts the IP packet from the Ethernet frame, and passes the IP packet to the tunnel interface 1411 via the write system call.
(C) Upon receiving the IP packet from the virtual network interface program 1403, the tunnel interface 1411 passes the IP packet to the IP layer 1410, which is an upper layer.
(D) Thereafter, the protocol of the IP layer 1410 or higher performs normal processing and passes the corresponding data to the application program 1407.

3.トンネルインタフェースの仕組み(その2:図14(b))を利用した実装方法
TCPソケット、UDPソケット、或いはRaw IPソケットなどで構成されるホストと仮想ハブ間の仮想ネットワークコネクションを使用し、仮想ネットワークのイーサネットフレームの送受信を行なう。
3. Mounting method using tunnel interface mechanism (part 2: Fig. 14 (b))
A virtual network connection between a host and a virtual hub configured by a TCP socket, a UDP socket, or a Raw IP socket is used to transmit and receive an Ethernet frame of the virtual network.

・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)上のアプリケーションプログラム1407は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1407からの送信データを受け取ったTCP/UDP層1409、IP層1410、及びイーサネット層1412は、仮想イーサネット上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとしてトンネルインタフェース1411を選択し、イーサネットフレームをトンネルインタフェース1411に渡す。
(c)イーサネット層1412からイーサネットフレームを受け取ったトンネルインタフェース1411は、イーサネットフレームを、readシステムコール経由でユーザランドの仮想ネットワークインタフェースプログラム1403に渡す。
(d)トンネルインタフェース1411からイーサネットフレームを受け取った仮想ネットワークインタフェースプログラム1403は、送信元ホストが接続している仮想ハブのIPアドレスをパラメータとして生成されたソケットに対し、該当イーサネットフレームを書き込む。
(e)以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブへ送信する。
・ Send to other host on virtual network
(A) The application program 1407 on the host (hereinafter referred to as the transmission source host) tries to transmit data to the destination host.
(B) The TCP / UDP layer 1409, the IP layer 1410, and the Ethernet layer 1412 that have received the transmission data from the application program 1407 are based on the IP address of the destination host on the virtual Ethernet, as a tunnel interface 1411 as an output network interface. To pass the Ethernet frame to the tunnel interface 1411.
(C) The tunnel interface 1411 that has received the Ethernet frame from the Ethernet layer 1412 passes the Ethernet frame to the userland virtual network interface program 1403 via the read system call.
(D) The virtual network interface program 1403 that has received the Ethernet frame from the tunnel interface 1411 writes the corresponding Ethernet frame in the socket generated using the IP address of the virtual hub connected to the transmission source host as a parameter.
(E) The following protocol stack performs normal processing and transmits the corresponding data to the virtual hub.

・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1413から上位のTCP/UDP層1409の処理は一般的なものにより、ここではその詳細説明を割愛する。
(b)仮想ハブとのソケットからデータ(イーサネットフレーム)を受け取った仮想ネットワークインタフェースプログラム1403は、writeシステムコール経由でトンネルインタフェース1411へ該当イーサネットフレームを渡す。
(c)仮想ネットワークインタフェースプログラム1403からイーサネットフレームを受け取ったトンネルインタフェース1411は、該当イーサネットフレームを上位層であるイーサネット層1412へ渡す。
(d)以降、イーサネット層1412以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラム1407へ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing from the physical network interface layer 1413 to the upper TCP / UDP layer 1409 is general, the detailed description thereof is omitted here.
(B) The virtual network interface program 1403 that has received data (Ethernet frame) from the socket with the virtual hub passes the corresponding Ethernet frame to the tunnel interface 1411 via the write system call.
(C) The tunnel interface 1411 that has received the Ethernet frame from the virtual network interface program 1403 passes the Ethernet frame to the Ethernet layer 1412 that is an upper layer.
(D) Thereafter, the protocol of the Ethernet layer 1412 or higher performs normal processing and passes the corresponding data to the application program 1407.

(仮想ハブの実装例)
以下、仮想ハブの実装例について説明するが、先ず、ネットワーク仮想化装置の概念的なプロトコルスタック1500を図15に示す。この図から以下のようなことが言える。すなわち、仮想ハブ1503〜1505は、様々なプロトコル上で動作させることが可能である。一例として、図15において一番左側に示す仮想ハブ1503では、HTTPなどのより上位層プロトコル1506上で動作し、一番右側の仮想ハブ1505では、IP層1508及びイーサネット層1509のすぐ上位で動作する。後者は、例えば、仮想ネットワークインタフェース未対応ホスト20を収容する場合に使用する。図15に示す仮想ハブのうち、真ん中の仮想ハブ1504では、HTTP/他プロトコル1506、TCP/UDP層1507、及びIP層1508のすぐ上位で動作する。また、これら仮想ハブ1503〜1505より上位に、仮想NAP(NAPT)1502、或いは仮想ルータ1501などの機能を搭載することにより、仮想ネットワークの実現だけでなく、本実施の形態の特徴を持つ様々な仮想ネットワークを構築することが可能となる。
(Virtual hub implementation example)
Hereinafter, an implementation example of a virtual hub will be described. First, a conceptual protocol stack 1500 of a network virtualization apparatus is shown in FIG. The following can be said from this figure. That is, the virtual hubs 1503 to 1505 can be operated on various protocols. As an example, the leftmost virtual hub 1503 in FIG. 15 operates on a higher layer protocol 1506 such as HTTP, and the rightmost virtual hub 1505 operates immediately above the IP layer 1508 and the Ethernet layer 1509. To do. The latter is used, for example, when accommodating the host 20 that does not support the virtual network interface. Among the virtual hubs shown in FIG. 15, the middle virtual hub 1504 operates immediately above the HTTP / other protocol 1506, the TCP / UDP layer 1507, and the IP layer 1508. Further, by mounting functions such as a virtual NAP (NAPT) 1502 or a virtual router 1501 above these virtual hubs 1503 to 1505, various functions having the features of the present embodiment can be realized in addition to the realization of a virtual network. It becomes possible to construct a virtual network.

次に、仮想ハブ1600,1700,1800の実装例として、仮想イーサネットポート制御モジュール、仮想イーサネットスイッチモジュールの実装場所に着目した、一般的なUNIXにおける実装方法を図16乃至図18に示す。   Next, as a mounting example of the virtual hubs 1600, 1700, and 1800, FIGS. 16 to 18 show a general UNIX mounting method focusing on the mounting locations of the virtual Ethernet port control module and the virtual Ethernet switch module.

第1の方法は、図16に示すように、仮想イーサネットポート制御モジュール1605、仮想イーサネットスイッチモジュール1601ともにOSのカーネル内に実装する方法である。この方法では、IP層1606の上位に仮想イーサネットポート制御モジュール1605が位置し、仮想イーサネットスイッチモジュール1601は仮想イーサネットポート制御モジュール1605の上位に位置するか、或いはカーネルスレッドなどにより実装される。なお、仮想イーサネットポート制御モジュール1605、仮想イーサネットスイッチモジュール1601ともにOSのカーネル1610内に実装されているため、これらは受信キュー1602や関数コール1604によりデータの受渡しを行なう。エンキュー1603は、受信キュー1602にデータを格納する処理である。なお、イーサネット層1607、ネットワークインタフェース1608は一般的なものであるので、ここでは説明を省略する。   In the first method, as shown in FIG. 16, both the virtual Ethernet port control module 1605 and the virtual Ethernet switch module 1601 are mounted in the OS kernel. In this method, the virtual Ethernet port control module 1605 is positioned above the IP layer 1606, and the virtual Ethernet switch module 1601 is positioned above the virtual Ethernet port control module 1605, or is implemented by a kernel thread or the like. Note that since both the virtual Ethernet port control module 1605 and the virtual Ethernet switch module 1601 are mounted in the OS kernel 1610, these are exchanged by the reception queue 1602 and the function call 1604. The enqueue 1603 is a process for storing data in the reception queue 1602. Since the Ethernet layer 1607 and the network interface 1608 are general ones, description thereof is omitted here.

第2の方法は、図17に示すように、仮想イーサネットポート制御モジュール1705をOSのカーネル1702内に、仮想イーサネットスイッチモジュール1703をユーザプロセス1701として実装する方法である。この方法では、仮想イーサネットポート制御モジュール1705は上記と同様、IP層1706の上位に位置し、仮想イーサネットスイッチモジュール1703はユーザプロセス1701として実装される。仮想イーサネットスイッチモジュール1703はユーザプロセス1701として実装されるため、これらはデータリンク層のデータを直接やりとりできるリンクソケット等の特別なソケット1704を介してデータの受渡しを行なう。なお、イーサネット層1707、ネットワークインタフェース1708は一般的なものであるので、ここでは説明を省略する。   As shown in FIG. 17, the second method is a method in which the virtual Ethernet port control module 1705 is installed in the OS kernel 1702 and the virtual Ethernet switch module 1703 is installed as the user process 1701. In this method, the virtual Ethernet port control module 1705 is located above the IP layer 1706 as described above, and the virtual Ethernet switch module 1703 is implemented as a user process 1701. Since the virtual Ethernet switch module 1703 is implemented as a user process 1701, they exchange data via a special socket 1704 such as a link socket that can directly exchange data in the data link layer. Since the Ethernet layer 1707 and the network interface 1708 are general ones, description thereof is omitted here.

第3の方法は、図18に示すように、仮想イーサネットポート制御モジュール1805、仮想イーサネットスイッチモジュール1803ともにユーザプロセス1801として実装する方法である。この方法では、仮想イーサネットポート制御モジュール1805とカーネル1802のTCP/IP層1807とは、TCP/UDPソケット1811やRaw IPソケット1812のような通常のTCP/IPソケットを介してデータの受渡しを行う。なお、仮想イーサネットポート制御モジュール1805、仮想イーサネットスイッチモジュール1803ともにユーザプロセス1801として実装されているため、これらは関数コール、或いはプロセス間通信1804によりデータの受渡しを行なう。なお、イーサネット層1809、ネットワークインタフェース層1810は一般的なものであるのでここでは説明は省略する。   The third method is a method in which both the virtual Ethernet port control module 1805 and the virtual Ethernet switch module 1803 are implemented as a user process 1801 as shown in FIG. In this method, the virtual Ethernet port control module 1805 and the TCP / IP layer 1807 of the kernel 1802 exchange data via a normal TCP / IP socket such as a TCP / UDP socket 1811 or a Raw IP socket 1812. Since both the virtual Ethernet port control module 1805 and the virtual Ethernet switch module 1803 are implemented as the user process 1801, they exchange data by function calls or inter-process communication 1804. Since the Ethernet layer 1809 and the network interface layer 1810 are general ones, description thereof is omitted here.

前記第1及び第2の実装方法は、トランスポート層(TCPなど)の存在を前提としていないため、ホスト側の仮想ネットワークインタフェースがIPトンネリングを利用した方法の場合に採用できる方法である。   The first and second mounting methods are methods that can be employed when the virtual network interface on the host side uses IP tunneling because it does not assume the presence of a transport layer (such as TCP).

逆に、第3の実装方法は、トランスポート層の存在を前提としているため、ホスト側の仮想ネットワークインタフェースがトンネルインタフェースを利用した方法の場合に採用することが望ましい。   Conversely, since the third mounting method is premised on the existence of a transport layer, it is desirable to adopt the method when the virtual network interface on the host side uses a tunnel interface.

(仮想ハブのデータ送受信処理フロー)
上述の通り、前記3つの実装例において仮想イーサネットポート制御モジュールと仮想イーサネットスイッチモジュールの実装場所、及びそれによるデータの受渡し方法は異なるが、仮想イーサネットポート制御モジュールによるイーサネットフレーム送受信処理、仮想イーサネットスイッチモジュールによるイーサネットフレームのスイッチング処理に関しては一般的なものにより、ここではその詳細説明を省略する。
(Virtual hub data transmission / reception processing flow)
As described above, the mounting locations of the virtual Ethernet port control module and the virtual Ethernet switch module and the data delivery method using the virtual Ethernet port control module are different in the three mounting examples, but the Ethernet frame transmission / reception processing by the virtual Ethernet port control module, the virtual Ethernet switch module Since the switching process of the Ethernet frame is general, the detailed description thereof is omitted here.

上述したように、本発明の実施の形態に係るネットワーク仮想化装置においては、上記のような作用により、仮想ネットワークに属する仮想ハブが、物理ネットワークのトポロジを考慮した上で、仮想ハブの自律的な分割及び移動を行なうことができる。以上により、物理ネットワークの観点から、仮想ネットワークに属するホスト間のトラフィックの最適化、局所化を実現することが可能となる。その結果、物理ネットワークへの負荷が軽減され、端末間のデータ送受信時間が短縮され、設備投資を抑制することが可能となる。   As described above, in the network virtualization apparatus according to the embodiment of the present invention, the virtual hub belonging to the virtual network is autonomous of the virtual hub in consideration of the topology of the physical network. Can be divided and moved. As described above, it is possible to realize optimization and localization of traffic between hosts belonging to a virtual network from the viewpoint of a physical network. As a result, the load on the physical network is reduced, the data transmission / reception time between terminals is shortened, and the capital investment can be suppressed.

また、仮想ネットワークに属する仮想ハブが、自身に接続するホストの増減、或は、ホスト間のトラフィックの増減に動的に追従して仮想ハブの自律的な分割及び移動を行なうことができるので、性能、規模の拡張を管理者(或は利用者)を介さず実現することが可能となる。その結果、管理コストを抑制することが可能となる。   In addition, since the virtual hub belonging to the virtual network can dynamically follow the increase / decrease in the number of hosts connected to itself or the increase / decrease in traffic between the hosts, the virtual hub can be autonomously divided and moved. Performance and scale expansion can be realized without an administrator (or user). As a result, the management cost can be suppressed.

以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。   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.

(応用技術分野)
仮想ハブの自律分割・移動によるトラフィックの局所化、最適化以外に、以下のような応用例が考えられる。
(Applied technology field)
In addition to traffic localization and optimization by autonomous division and movement of virtual hubs, the following application examples are possible.

・ネットワークデザイン不要の仮想ネットワーク構築
例えば、新規に仮想ネットワークを作成する場合、ネットワーク管理者は、単に、あるネットワーク仮想化装置21上に仮想ハブ18を1つ作成し、その情報であるIPアドレスなどを、その仮想イーサネットに参加を希望するホスト17に通知するだけでよい。あとは、上記仮想ハブ18が、ホスト17間のトラフィックや物理ネットワーク11でのトポロジを考慮して、自律的に分割、移動することで、最適なネットワーク構成を構築する。
・ Virtual network construction without network design
For example, when creating a new virtual network, the network administrator simply creates one virtual hub 18 on a certain network virtualization apparatus 21 and joins the IP address, which is the information, to the virtual Ethernet. It is only necessary to notify the desired host 17. After that, the virtual hub 18 autonomously divides and moves in consideration of the traffic between the hosts 17 and the topology in the physical network 11 to construct an optimum network configuration.

・不正トラフィックの局所化、封じ込め
例えば、IDS(Intrusion Detection System)やウィルスチェックプログラムなどのセキュリティシステムと連携することにより、トラフィック量、トラフィック内容に基づき、特定のホストを物理ネットワーク11上の特定のエリアに局所化することで、セキュリティの脅威を最小限に押えることが可能である。
・ Localization and containment of unauthorized traffic
For example, by coordinating with a security system such as IDS (Intrusion Detection System) or a virus check program, a specific host is localized in a specific area on the physical network 11 based on the traffic volume and traffic content. It is possible to minimize the threat.

本発明の実施の形態に係るネットワーク仮想化装置によって構築される仮想ネットワークの一般的な構成を示す概念図。The conceptual diagram which shows the general structure of the virtual network constructed | assembled by the network virtualization apparatus which concerns on embodiment of this invention. ホスト及びネットワーク仮想化装置の詳細例を示す機能ブロック図。The functional block diagram which shows the detailed example of a host and a network virtualization apparatus. システム情報テーブルのフォーマットの一例を示す模式図。The schematic diagram which shows an example of a format of a system information table. ホスト情報テーブルの一例を示すデータ構成図。The data block diagram which shows an example of a host information table. 仮想ハブの分割及び移動処理の一例を示すフローチャート。The flowchart which shows an example of the division | segmentation and movement process of a virtual hub. フロードリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(初期状態)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by a flow drive (initial state). フロードリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(分割後)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by a flow drive (after division | segmentation). フロードリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(移動後)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by a flow drive (after movement). トポロジドリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(初期状態)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by topology drive (initial state). トポロジドリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(分割後)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by topology drive (after division | segmentation). トポロジドリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(移動後)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by topology drive (after movement). トポロジドリブンによる仮想ハブ分割・移動処理の一例を説明するためのネットワーク構成図(再分割後)。The network block diagram for demonstrating an example of the virtual hub division | segmentation / movement process by topology drive (after re-division). 一般的なUNIXにおける仮想ネットワークインタフェースの実装例を示す図(IPトンネリングの仕組みを利用)。The figure which shows the example of mounting of the virtual network interface in a general UNIX (using the mechanism of IP tunneling). 一般的なUNIXにおける仮想ネットワークインタフェースの実装例を示す図(トンネルインタフェースの仕組みを利用)。The figure which shows the example of mounting of the virtual network interface in general UNIX (using the mechanism of a tunnel interface). ネットワーク仮想化装置の概念的なプロトコルスタックを示す図。The figure which shows the conceptual protocol stack of a network virtualization apparatus. 一般的なUNIXにおける仮想ハブの実装例を示す図(全てカーネル内)。The figure which shows the implementation example of the virtual hub in general UNIX (all in a kernel). 一般的なUNIXにおける仮想ハブの実装例を示す図(一部カーネル内)。The figure which shows the example of mounting of the virtual hub in general UNIX (partly in a kernel). 一般的なUNIXにおける仮想ハブの実装例を示す図(全てユーザプログラム内)。The figure which shows the example of mounting of the virtual hub in general UNIX (all in a user program). 仮想ネットワークの一般的な構成を示す図。The figure which shows the general structure of a virtual network.

符号の説明Explanation of symbols

A…仮想ネットワークコネクション、1〜4…LAN、10…仮想ネットワーク、11…物理ネットワーク、12…ルータ、13…ファイアウォール、14…イーサネットスイッチングハブ、15…内部ネットワーク、16…外部ネットワーク、17…ホスト、18…仮想ハブ、19…仮想ネットワークインタフェース、20…仮想ネットワークインタフェース未対応ホスト、21…ネットワーク仮想化装置、23…物理ネットワークインタフェース、24…仮想ネットワークインタフェース制御モジュール、181…仮想ハブ制御モジュール、182…MACアドレス学習テーブル、183…ホスト情報テーブル、183a…MACアドレス、183b…仮想ネットワークポート識別子、183c…ラウンドトリップタイム、183d…ホップ数、183e…フォワーディング情報、183f…ネットマスク情報、184…ポート間トラフィックテーブル、185…仮想イーサネットスイッチモジュール、186…仮想イーサネットポート制御モジュール、187…仮想ネットワークポート、201…システム制御モジュール、202…システム情報テーブル、301…ネットワーク仮想化装置情報、302…ネットマスク情報、305…システム負荷情報、306…CPU利用率、307…メモリ利用率、308…総トラフィック、309…トラフィック、310…仮想ハブ情報、311…収容ホスト数、312…各ホスト間とのコスト、312a…ホスト、312b…ラウンドトリップタイム、313c…ホップ数、1300…仮想ネットワークインタフェース、1301…ユーザプロセス、1302…カーネル、1303…制御アプリケーションプログラム、1304…アプリケーションプログラム、1305…TCP/UDP層、1306…IP(インナーIP)層、1307…イーサネット層、1308…仮想ネットワークインタフェース層、1309…IP(インナーIP)層、1310…イーサネット層、1311…物理ネットワークインタフェース層、1400…仮想ネットワークインタフェース、1401…ユーザプロセス、1402…カーネル、1403…仮想ネットワークインタフェースプログラム、1404…制御アプリケーションプログラム、1405…イーサネット層、1406…HTTP、1407…アプリケーションプログラム、1409…TCP/UDP層、1410…IP層、1411…トンネルインタフェース、1412…イーサネット層、1413…物理ネットワークインタフェース層、1500…プロトコルスタック、1501…仮想ルータ、1502…仮想NAP、1503〜1505…仮想ハブ、1506…HTTP/他プロトコル、1507…TCP/UDP層、1508…IP層、1509…イーサネット層、1600…仮想ハブ、1601…仮想イーサネットスイッチモジュール、1602…受信キュー、1603…エンキュー、1604…関数コール、1605…仮想イーサネットポート制御モジュール、1606…IP層、1607…イーサネット層、1608…ネットワークインタフェース、1610…カーネル、1700…仮想ハブ、1701…ユーザプロセス、1702…カーネル、1703…仮想イーサネットスイッチモジュール、1704…ソケット、1705…仮想イーサネットポート制御モジュール、1706…IP層、1707…イーサネット層、1800…仮想ハブ、1801…ユーザプロセス、1802…カーネル、1803…仮想イーサネットスイッチモジュール、1804…プロセス間通信、1805…仮想イーサネットポート制御モジュール、1807…TCP/IP層、1809…イーサネット層、1810…ネットワークインタフェース層、1811…TCP/UDPソケット、1812…Raw IPソケット、1900…アンダーレイネットワーク、1901…仮想ネットワーク、1902…ルータ、1903…ファイアウォール、1904…内部ネットワーク、1905…外部ネットワーク、1906…ホスト、1907…仮想ハブ、1908…仮想ネットワークインタフェース、1909…コンピュータ   A ... Virtual network connection, 1-4 ... LAN, 10 ... Virtual network, 11 ... Physical network, 12 ... Router, 13 ... Firewall, 14 ... Ethernet switching hub, 15 ... Internal network, 16 ... External network, 17 ... Host, DESCRIPTION OF SYMBOLS 18 ... Virtual hub, 19 ... Virtual network interface, 20 ... Virtual network interface non-corresponding host, 21 ... Network virtualization apparatus, 23 ... Physical network interface, 24 ... Virtual network interface control module, 181 ... Virtual hub control module, 182 ... MAC address learning table, 183 ... host information table, 183a ... MAC address, 183b ... virtual network port identifier, 183c ... round trip time, 183d ... e 183e ... Forwarding information, 183f ... Net mask information, 184 ... Inter-port traffic table, 185 ... Virtual Ethernet switch module, 186 ... Virtual Ethernet port control module, 187 ... Virtual network port, 201 ... System control module, 202 ... System information table 301 ... Network virtualization device information 302 ... Net mask information 305 ... System load information 306 ... CPU usage rate 307 ... Memory usage rate 308 ... Total traffic 309 ... Traffic 310 ... Virtual hub information 311 ... Number of accommodated hosts, 312 ... Cost between hosts, 312a ... Host, 312b ... Round trip time, 313c ... Number of hops, 1300 ... Virtual network interface, 1301 ... User process, 1302 ... kernel, 1303 ... control application program, 1304 ... application program, 1305 ... TCP / UDP layer, 1306 ... IP (inner IP) layer, 1307 ... Ethernet layer, 1308 ... virtual network interface layer, 1309 ... IP (inner IP) layer, 1310 ... Ethernet layer, 1311 ... physical network interface layer, 1400 ... virtual network interface, 1401 ... user process, 1402 ... kernel, 1403 ... virtual network interface program, 1404 ... control application program, 1405 ... Ethernet layer, 1406 ... HTTP, 1407 ... Application program, 1409 ... TCP / UDP layer, 1410 ... IP layer, 14 DESCRIPTION OF SYMBOLS 11 ... Tunnel interface, 1412 ... Ethernet layer, 1413 ... Physical network interface layer, 1500 ... Protocol stack, 1501 ... Virtual router, 1502 ... Virtual NAP, 1503-1505 ... Virtual hub, 1506 ... HTTP / other protocol, 1507 ... TCP / UDP layer, 1508 ... IP layer, 1509 ... Ethernet layer, 1600 ... virtual hub, 1601 ... virtual Ethernet switch module, 1602 ... receive queue, 1603 ... enqueue, 1604 ... function call, 1605 ... virtual Ethernet port control module, 1606 ... IP Layer, 1607 ... Ethernet layer, 1608 ... network interface, 1610 ... kernel, 1700 ... virtual hub, 1701 ... user process, 1702 ... kernel, 1703 Virtual Ethernet switch module, 1704 ... Socket, 1705 ... Virtual Ethernet port control module, 1706 ... IP layer, 1707 ... Ethernet layer, 1800 ... Virtual hub, 1801 ... User process, 1802 ... Kernel, 1803 ... Virtual Ethernet switch module, 1804 ... Interprocess communication, 1805 ... Virtual Ethernet port control module, 1807 ... TCP / IP layer, 1809 ... Ethernet layer, 1810 ... Network interface layer, 1811 ... TCP / UDP socket, 1812 ... Raw IP socket, 1900 ... Underlay network, 1901 ... Virtual network, 1902 ... Router, 1903 ... Firewall, 1904 ... Internal network, 1905 ... External network, 1906 ... Host, 1907 ... Virtual hub, 1908 ... Virtual network interface, 1909 ... Computer

Claims (10)

予め構築され、それぞれ一つ以上の端末が接続された複数の物理ネットワーク上に、ソフトウェアによって仮想的にネットワークを構築するネットワーク仮想化装置であって、
前記構築された仮想ネットワークに対する前記各端末の接続を管理するデータ交換ノードを備え、前記データ交換ノードは更に、
前記各端末それぞれに対して予め割り当てられ、前記物理ネットワーク上において前記各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、前記指定された物理ネットワークアドレスによって特定された端末との前記物理ネットワークを介したコネクションを確立し、保持する手段と、
前記コネクションと、前記仮想ネットワーク上において前記各端末をそれぞれ特定するための仮想ネットワークアドレスとのマッピング情報を記憶する手段と、
他ネットワーク仮想化装置に含まれる他データ交換ノードとの前記物理ネットワークを介したコネクションを確立し、保持する手段と、
前記仮想ネットワークアドレスが指定されると、前記マッピング情報に基づいて、前記指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、前記仮想ネットワークを介して通信する手段と、
予め定めた解除基準を超えた場合には、保持している前記物理ネットワークを介したコネクションのうちの何れかを解除し、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段と
を備えたネットワーク仮想化装置。
A network virtualization apparatus that is constructed in advance and virtually constructs a network by software on a plurality of physical networks to which one or more terminals are connected,
A data exchange node for managing the connection of each terminal to the constructed virtual network, the data exchange node further comprising:
The pre-assigned to each respective terminal, if the physical network address for identifying the respective terminal respectively on said physical network is specified, the physical and terminal identified by the specified physical network addresses Means for establishing and maintaining a connection over the network;
Means for storing mapping information between the connection and a virtual network address for identifying each terminal on the virtual network;
Means for establishing and maintaining a connection through the physical network with another data exchange node included in another network virtualization apparatus;
When the virtual network address is specified, a connection mapped to the specified virtual network address is specified based on the mapping information, and a terminal connected by the specified connection is connected to the virtual network via the virtual network. Means for communicating with
When a predetermined release criterion is exceeded, release one of the connections through the physical network that is held, and release the released connection to another data exchange node included in another network virtualization apparatus A network virtualization apparatus.
前記予め定めた解除基準を超えた場合とは、
前記保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、
同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、
前記データ交換ノードの負荷が、予め定めた基準値を超えた場合
のうちの何れかの場合である請求項1に記載のネットワーク仮想化装置。
When exceeding the predetermined release criteria,
Of the connections through the physical network that is held, if the traffic volume per unit time exceeds a predetermined amount,
If the number of terminals belonging to the same physical network exceeds a predetermined number,
The network virtualization apparatus according to claim 1, wherein the network virtualization apparatus is any one of cases where a load of the data exchange node exceeds a predetermined reference value.
前記データ交換ノードは更に、
前記他ネットワーク仮想化装置が複数存在する場合、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段は更に、前記複数存在する他ネットワーク仮想化装置のうち、前記保持させる他データ交換ノードを含む他ネットワーク仮想化装置を、予め定めた選択基準に基づいて選択する手段を備え、
前記予め定めた選択基準とは、
前記他データ交換ノードが、前記解除されたコネクションを保持した場合、前記解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、前記解除されたコネクションによって接続された端末との前記物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する
請求項1又は請求項2に記載のネットワーク仮想化装置。
The data exchange node further includes:
In the case where there are a plurality of other network virtualization devices, the means for holding the released connection in another data exchange node included in the other network virtualization device further includes: Means for selecting another network virtualization apparatus including another data exchange node to be held based on a predetermined selection criterion;
The predetermined selection criteria are:
A network virtualization apparatus including a data exchange node that minimizes a data transfer cost with a terminal connected by the released connection when the other data exchange node holds the released connection; The network virtualization apparatus according to claim 1 or 2, wherein the network virtualization apparatus is selected or a network virtualization apparatus is selected such that a distance in the physical network with a terminal connected by the released connection is minimized. .
前記データ交換ノードは更に、
前記解除されたコネクションが、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持された後、前記解除されたコネクション以外のコネクションの保持を継続するか、又は前記解除されたコネクション以外のコネクションを全て解除し、これら解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させるか否かを、予め定めた判定基準に基づいて判定する手段を備え、
前記判定基準は、
前記解除されたコネクションの解除される前におけるトラフィック量の、前記データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、
前記解除されたコネクションに接続された端末数の、解除される前に前記データ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、
前記解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準
のうちの何れかである請求項1乃至3のうち何れか1項に記載のネットワーク仮想化装置。
The data exchange node further includes:
After the released connection is held in another data exchange node included in another network virtualization apparatus, the connection other than the released connection is continuously held, or the connection other than the released connection is A means for determining whether to release all of the connections and to hold the released connections in another data exchange node included in another network virtualization apparatus based on a predetermined criterion;
The criterion is
When the ratio of the traffic volume before the released connection is released to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value The first criterion to cancel and continue if not exceeded,
When the ratio of the number of terminals connected to the released connection to the total number of terminals connected to the virtual network held by the data exchange node before being released exceeds a predetermined value A second criterion that cancels all and continues if not exceeded,
Any of the third determination criteria that is released when the load before the release of the released connection exceeds a predetermined reference value and continues when the load does not exceed the predetermined reference value. Item 4. The network virtualization apparatus according to any one of Items 1 to 3.
前記データ交換ノードは更に、
前記予め定めた解除基準を超えた場合であっても、前記保持させる手段が解除すべきコネクションを、前記他データ交換ノードに保持させることによって、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は前記他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、
前記他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合
のうちの何れかの場合には、前記保持させる手段に対して前記コネクションを解除させない手段を備えた請求項1乃至4のうち何れか1項に記載のネットワーク仮想化装置。
The data exchange node further includes:
Even when the predetermined release criterion is exceeded, by causing the other data exchange node to hold the connection to be held by the holding means,
In the first case where the load of the other network virtualization apparatus including the other data exchange node exceeds a predetermined reference value,
The total number of terminals connected to the virtualization network held by the other network virtualization apparatus including the other data exchange node, or the number of other data exchange nodes included in the other network virtualization apparatus is a predetermined reference value. In the second case, which will exceed
In any of the third cases where the total number of terminals connected to the virtual network held by the other data exchange node exceeds a predetermined reference value, the means for holding is used. 5. The network virtualization apparatus according to claim 1, further comprising means for preventing the connection from being released.
予め構築され、それぞれ一つ以上の端末が接続された複数の物理ネットワーク上に、プログラムによって仮想的にネットワークを構築する、ネットワーク仮想化装置に含まれるデータ交換ノードに適用される前記プログラムであって、
前記各端末それぞれに対して予め割り当てられ、前記物理ネットワーク上において前記各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、前記指定された物理ネットワークアドレスによって特定された端末との前記物理ネットワークを介したコネクションを確立し、保持する機能、
前記コネクションと、前記仮想ネットワーク上において前記各端末をそれぞれ特定するための仮想ネットワークアドレスとのマッピング情報を記憶する機能、
他ネットワーク仮想化装置に含まれる他データ交換ノードとの前記物理ネットワークを介したコネクションを確立し、保持する機能、
前記仮想ネットワークアドレスが指定されると、前記マッピング情報に基づいて、前記指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、前記仮想ネットワークを介して通信する機能、
予め定めた解除基準を超えた場合には、保持している前記物理ネットワークを介したコネクションのうちの何れかを解除し、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる機能
をコンピュータに実現させるためのプログラム。
The program applied to a data exchange node included in a network virtualization apparatus, which is constructed in advance and virtually constructs a network on a plurality of physical networks each connected with one or more terminals. ,
The pre-assigned to each respective terminal, if the physical network address for identifying the respective terminal respectively on said physical network is specified, the physical and terminal identified by the specified physical network addresses The ability to establish and maintain a connection over a network;
A function of storing mapping information between the connection and a virtual network address for identifying each terminal on the virtual network;
A function of establishing and maintaining a connection through the physical network with another data exchange node included in another network virtualization apparatus;
When the virtual network address is specified, a connection mapped to the specified virtual network address is specified based on the mapping information, and a terminal connected by the specified connection is connected to the virtual network via the virtual network. Communication function,
When a predetermined release criterion is exceeded, release one of the connections through the physical network that is held, and release the released connection to another data exchange node included in another network virtualization apparatus A program that allows a computer to implement the functions that are stored in the computer.
前記予め定めた解除基準を超えた場合とは、
前記保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、
同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、
前記データ交換ノードの負荷が、予め定めた基準値を超えた場合
のうちの何れかの場合である請求項6に記載のプログラム。
When exceeding the predetermined release criteria,
Of the connections through the physical network that is held, if the traffic volume per unit time exceeds a predetermined amount,
If the number of terminals belonging to the same physical network exceeds a predetermined number,
The program according to claim 6, wherein the load of the data exchange node is one of cases where a predetermined reference value is exceeded.
前記他ネットワーク仮想化装置が複数存在する場合、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる機能は更に、前記複数存在する他ネットワーク仮想化装置のうち、前記保持させる他データ交換ノードを含む他ネットワーク仮想化装置を、予め定めた選択基準に基づいて選択する機能をコンピュータに実現させ、
前記予め定めた選択基準とは、
前記他データ交換ノードが、前記解除されたコネクションを保持した場合、前記解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、前記解除されたコネクションによって接続された端末との前記物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する
請求項6又は請求項7に記載のプログラム。
When there are a plurality of other network virtualization apparatuses, the function of holding the released connection in another data exchange node included in the other network virtualization apparatus is further selected from among the plurality of other network virtualization apparatuses, The computer realizes a function of selecting another network virtualization apparatus including another data exchange node to be held based on a predetermined selection criterion,
The predetermined selection criteria are:
A network virtualization apparatus including a data exchange node that minimizes a data transfer cost with a terminal connected by the released connection when the other data exchange node holds the released connection; The program according to claim 6 or 7, which selects or selects a network virtualization apparatus that minimizes a distance in the physical network from a terminal connected by the released connection.
前記解除されたコネクションが、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持された後、前記解除されたコネクション以外のコネクションの保持を継続するか、又は前記解除されたコネクション以外のコネクションを全て解除し、これら解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させるか否かを、予め定めた判定基準に基づいて判定する機能を更にコンピュータに実現させ、
前記判定基準は、
前記解除されたコネクションの解除される前におけるトラフィック量の、前記データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、
前記解除されたコネクションに接続された端末数の、解除される前に前記データ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、
前記解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準
のうちの何れかである請求項6乃至8のうち何れか1項に記載のプログラム。
After the released connection is held in another data exchange node included in another network virtualization apparatus, the connection other than the released connection is continuously held, or the connection other than the released connection is Release all, let the computer further realize the function to determine whether to release these released connections to other data exchange nodes included in other network virtualization device based on a predetermined criterion,
The criterion is
When the ratio of the traffic volume before the released connection is released to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value The first criterion to cancel and continue if not exceeded,
When the ratio of the number of terminals connected to the released connection to the total number of terminals connected to the virtual network held by the data exchange node before being released exceeds a predetermined value A second criterion that cancels all and continues if not exceeded,
Any of the third determination criteria that is released when the load before the release of the released connection exceeds a predetermined reference value and continues when the load does not exceed the predetermined reference value. Item 9. The program according to any one of Items 6 to 8.
前記予め定めた解除基準を超えた場合であっても、前記保持させる機能が解除すべきコネクションを、前記他ネットワーク仮想化装置に保持させることによって、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は前記他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、
前記他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合
のうちの何れかの場合には、前記保持させる機能に対して、前記コネクションを解除させない機能をコンピュータに実現させるための請求項6乃至9のうち何れか1項に記載のプログラム。
Even if the predetermined release criterion is exceeded, by causing the other network virtualization apparatus to hold the connection to be released by the function to be held,
In the first case where the load of the other network virtualization apparatus including the other data exchange node exceeds a predetermined reference value,
The total number of terminals connected to the virtualization network held by the other network virtualization apparatus including the other data exchange node, or the number of other data exchange nodes included in the other network virtualization apparatus is a predetermined reference value. In the second case, which will exceed
In any case of the third case where the total number of terminals connected to the virtual network held by the other data exchange node exceeds a predetermined reference value, the function to be held is used. On the other hand, the program according to any one of claims 6 to 9, which causes a computer to realize a function that does not release the connection.
JP2006216107A 2006-08-08 2006-08-08 Network virtualization apparatus and network virtualization program Expired - Fee Related JP4279300B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006216107A JP4279300B2 (en) 2006-08-08 2006-08-08 Network virtualization apparatus and network virtualization program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006216107A JP4279300B2 (en) 2006-08-08 2006-08-08 Network virtualization apparatus and network virtualization program

Publications (2)

Publication Number Publication Date
JP2008042665A JP2008042665A (en) 2008-02-21
JP4279300B2 true JP4279300B2 (en) 2009-06-17

Family

ID=39177183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006216107A Expired - Fee Related JP4279300B2 (en) 2006-08-08 2006-08-08 Network virtualization apparatus and network virtualization program

Country Status (1)

Country Link
JP (1) JP4279300B2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5102689B2 (en) * 2008-04-23 2012-12-19 株式会社エヌ・ティ・ティ・ドコモ Virtual network system and virtual network construction method
JP4703689B2 (en) * 2008-06-12 2011-06-15 株式会社東芝 Network virtualization system and program
JP4751436B2 (en) * 2008-10-21 2011-08-17 株式会社東芝 Communication device
WO2010066430A1 (en) * 2008-12-10 2010-06-17 Nec Europe Ltd. A method for operating at least one virtual network on a substrate network and a virtual network environment
JP5201046B2 (en) * 2009-03-25 2013-06-05 日本電気株式会社 Network node, network and tunnel switching method used therefor
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
CA2756289C (en) 2009-04-01 2016-02-02 Nicira Networks, Inc. Method and apparatus for implementing and managing virtual switches
WO2012029146A1 (en) 2010-09-01 2012-03-08 富士通株式会社 Management device, management program and management method
WO2013038547A1 (en) 2011-09-15 2013-03-21 富士通株式会社 Virtual machine management device, virtual machine movement control program and virtual machine movement control method
JP2014039097A (en) * 2012-08-13 2014-02-27 Nippon Telegr & Teleph Corp <Ntt> Network configuration system, network configuration apparatus, network configuration method, and network configuration program
CN106559451B (en) 2015-09-29 2020-09-08 新华三技术有限公司 User migration method and device

Also Published As

Publication number Publication date
JP2008042665A (en) 2008-02-21

Similar Documents

Publication Publication Date Title
JP4279300B2 (en) Network virtualization apparatus and network virtualization program
US8549120B2 (en) System and method for location based address assignment in the distribution of traffic in a virtual gateway
CN107181688B (en) System and method for realizing server-side cross-domain data transmission optimization in SDN network
US9391886B2 (en) Identification of the paths taken through a network of interconnected devices
US20070195794A1 (en) Virtual lan system and node device
EP2619953B1 (en) A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
US9515927B2 (en) System and method for layer 3 proxy routing
US20160248669A1 (en) Systems and methods of inter data center out-bound traffic management
EP2748992A2 (en) System and methods for managing network hardware address requests with a controller
US11923963B2 (en) Managing satellite devices within a branch network
WO2019080592A1 (en) Method and device for sending messages
JP2006262193A (en) Controller, packet transferring method, and packet processor
CN107547403B (en) Message forwarding method, message assistance device, controller and host
US7796614B1 (en) Systems and methods for message proxying
JP4011528B2 (en) Network virtualization system
WO2019240158A1 (en) Communication system and communication method
EP3382948B1 (en) Method, device and system for selecting gateway
JP4490990B2 (en) Peer-to-peer communication establishment apparatus and program
JP2008054214A (en) Network virtual system and network virtual program
WO2011123007A1 (en) A method and network node for use in link level communication in a data communications network
CN108259292B (en) Method and device for establishing tunnel
EP3562101A1 (en) Bras management method, packet forwarding method, packet forwarding controller, and bras
JP2015062310A (en) Topology detecting system, relay device, and program
CN102420832A (en) Network interaction engine applied to cloud environment and realization method
JP2022044029A (en) Data transmission method, device, and network device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

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: 20090224

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: 20090311

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

Free format text: PAYMENT UNTIL: 20120319

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: 20130319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

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