JP5970954B2 - Computer, data conversion apparatus, communication method and program - Google Patents
Computer, data conversion apparatus, communication method and program Download PDFInfo
- Publication number
- JP5970954B2 JP5970954B2 JP2012113182A JP2012113182A JP5970954B2 JP 5970954 B2 JP5970954 B2 JP 5970954B2 JP 2012113182 A JP2012113182 A JP 2012113182A JP 2012113182 A JP2012113182 A JP 2012113182A JP 5970954 B2 JP5970954 B2 JP 5970954B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- computer
- conversion
- data
- direct access
- 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.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
本発明は、計算機、データ変換装置、通信方法及びプログラムに関し、特に、仮想マシンを提供する計算機、その計算機間に配置されるデータ変換装置、その計算機間の通信方法及びプログラムに関する。 The present invention relates to a computer, a data conversion device, a communication method, and a program, and more particularly to a computer that provides a virtual machine, a data conversion device arranged between the computers, a communication method and a program between the computers.
これまで、単一のコンピュータネットワークを複数のユーザ、組織で共有して用いる場合に、Virtual LAN(VLAN、LANは「Local Area Network」)などのネットワーク仮想化技術が用いられてきた。例えば、VLANを用いることで、単一のイーサネットネットワーク(以下、イーサネット(登録商標))を、仮想的な複数のイーサネット(仮想イーサネット)として使用することができる。各仮想イーサネットはVLAN IDによって識別され、管理・運用される。 Conventionally, when a single computer network is shared by a plurality of users and organizations, a network virtualization technology such as a virtual LAN (VLAN, LAN is “Local Area Network”) has been used. For example, by using a VLAN, a single Ethernet network (hereinafter, Ethernet (registered trademark)) can be used as a plurality of virtual Ethernets (virtual Ethernet). Each virtual Ethernet is identified and managed / operated by a VLAN ID.
一方、サーバの性能向上、信頼性向上により、近年、サーバ資源の仮想化(サーバ仮想化)の導入が進んでいる。サーバ仮想化技術を用いて、これまで個々の物理的なサーバで稼動していたサービスを仮想マシン上で稼動させ、この仮想マシンを1台の物理的なサーバ上に収容することで、物理的なサーバの台数を削減することができる。これによって、サーバの導入コストや運用コストを削減することが可能となる。 On the other hand, in recent years, server resource virtualization (server virtualization) has been introduced due to improvement in server performance and reliability. By using server virtualization technology, services that were previously running on individual physical servers are run on virtual machines, and this virtual machine is accommodated on a single physical server. The number of servers can be reduced. As a result, it is possible to reduce the introduction cost and operation cost of the server.
ネットワーク仮想化技術とサーバ仮想化技術をあわせて用いることで、例えば、データセンタのような特定の拠点に設置されたサーバ資源とネットワーク資源を複数のユーザ・組織で共有することが可能となる。 By using the network virtualization technology and the server virtualization technology together, for example, server resources and network resources installed at a specific base such as a data center can be shared by a plurality of users / organizations.
サーバ仮想化を実現する仮想化環境は、大きく分けてサーバの物理資源や仮想マシンを管理する管理領域と、ユーザの仮想マシンを導入するユーザ領域から構成される。例えば、Citrix社のXenServer(登録商標)であれば、管理領域はXen HyperVisorと、Dom0と呼ばれる権限の与えられた仮想マシンから構成される。 The virtualization environment for realizing server virtualization is roughly divided into a management area for managing physical resources and virtual machines of servers, and a user area for introducing user virtual machines. For example, in the case of XenServer (registered trademark) of Citrix, the management area is composed of Xen HyperVisor and an authorized virtual machine called Dom0.
仮想マシンが、物理サーバに備えられたネットワークインタフェースのようなI/O資源を使用する際には、管理領域を介するのが一般的である。管理領域内には仮想スイッチ(Virtual Switch、vSwitch)と呼ばれる、ソフトウェアで実現されたパケットスイッチング機能が備えられ、仮想マシンはvSwitchによって外部ネットワークとの通信を行う。しかしながら、vSwitchのためのソフトウェア処理など、管理領域を経由するオーバヘッドの影響により、仮想マシンでは高いI/O性能を得られないという課題が存在する。ここで、ネットワークインタフェースとは、LAN(Local Area Network)カードのようなカード型や、半導体チップとしてPC(Personal Computer)やサーバのマザーボード上に搭載される形態など、様々な実現形態を採る。 When a virtual machine uses an I / O resource such as a network interface provided in a physical server, it is common to use a management area. In the management area, a packet switching function realized by software called a virtual switch (Virtual Switch, vSwitch) is provided, and the virtual machine communicates with an external network by vSwitch. However, there is a problem in that high I / O performance cannot be obtained in a virtual machine due to the influence of overhead via the management area, such as software processing for vSwitch. Here, the network interface adopts various realization forms such as a card type such as a LAN (Local Area Network) card and a form mounted on a PC (Personal Computer) or server motherboard as a semiconductor chip.
このような性能上の課題を解決するために、CPUやチップセット、ネットワークインタフェースを中心に、IOMMU(Input/Output Memory Management Unit)やSR−IOV(Single Root I/O Virtualization)のようなI/O仮想化技術の導入が進んでいる。仮想マシンはこのようなI/O仮想化技術を利用することで、I/O資源に管理領域を経由することなく直接アクセスすることができ、高い性能を得ることができる。このようなI/O仮想化技術は、1つのI/Oインタフェースを仮想的な複数のI/Oインタフェースとして使用する技術と、各I/Oインタフェースが仮想マシンに直接アクセスするためのメモリアドレス変換を行う技術から構成され、SR−IOVは前者に、IOMMUは後者に含まれる技術である。 In order to solve such performance problems, I / O such as IOMMU (Input / Output Memory Management Unit) or SR-IOV (Single Root I / O Virtualization) is focused on CPU, chipset, and network interface. Introduction of O virtualization technology is progressing. By using such an I / O virtualization technology, the virtual machine can directly access the I / O resource without going through the management area, and high performance can be obtained. Such I / O virtualization technology includes technology that uses one I / O interface as a plurality of virtual I / O interfaces, and memory address conversion for each I / O interface to directly access a virtual machine. The SR-IOV is included in the former and the IOMMU is included in the latter.
I/O仮想化技術をサポートしたネットワークインタフェースは、仮想マシンごとに異なる仮想インタフェースを提供することができる。SR−IOVにおいては、 各仮想マシンに割り当てる仮想インタフェースとしてVirtual Functionが、仮想インタフェースを制御する物理インタフェースとしてPhysical Functionが定義されている。 A network interface that supports the I / O virtualization technology can provide a different virtual interface for each virtual machine. In SR-IOV, a Virtual Function is defined as a virtual interface assigned to each virtual machine, and a Physical Function is defined as a physical interface that controls the virtual interface.
I/O仮想化技術をサポートしたネットワークインタフェースに届いたパケットは、パケットヘッダに含まれるMAC(Media Access Control)アドレスやVLAN ID、IP(Internet Protocol)アドレスといったパケットを識別する情報をもとにして、適切な仮想インタフェースに配送される。このように、パケットヘッダの情報に応じてパケットの配送先を決定するために、I/O仮想化技術をサポートしたネットワークインタフェースのコントローラチップ内には、パケットスイッチの機能が備えられている。このパケットスイッチの機能は、各仮想インタフェースに関連付けられたポートと、パケットをどのポートに出力するかを判断するロジックから構成される。この判断ロジックは、一般的にはTCAM(Ternary Content Addressable Memory)などのメモリを用いたテーブルと、テーブルを参照するロジックから構成される。このテーブルには、パケットヘッダの特定のフィールドの情報と出力先ポートが対応付けられた情報が登録される(以降、このネットワークインタフェースのコントローラチップに備えられるテーブルを「フィルターテーブル」と呼称する)。どのフィールドの情報が登録可能かは、コントローラチップの実装に依存する。 Packets that arrive at a network interface that supports I / O virtualization technology are based on packet identification information such as MAC (Media Access Control) address, VLAN ID, and IP (Internet Protocol) address included in the packet header. , Delivered to the appropriate virtual interface. As described above, in order to determine the delivery destination of the packet according to the information of the packet header, a packet switch function is provided in the controller chip of the network interface that supports the I / O virtualization technology. The function of this packet switch is composed of a port associated with each virtual interface and logic for determining which port the packet is output to. This determination logic is generally composed of a table using a memory such as a TCAM (Ternary Content Addressable Memory) and logic referring to the table. In this table, information in which a specific field information of the packet header is associated with an output destination port is registered (hereinafter, a table provided in the controller chip of the network interface is referred to as a “filter table”). Which field information can be registered depends on the implementation of the controller chip.
I/O仮想化技術を用いると、仮想マシンに高いI/O性能を提供することができる。しかし、サーバ資源とネットワーク資源が仮想化された環境に、I/O仮想化技術を適用し、ネットワークの性能を向上させようとすると、フィルターテーブルに登録可能な情報の差異によって、パケットが適切な仮想マシンに配送されなくなる可能性がある。 When the I / O virtualization technology is used, high I / O performance can be provided to the virtual machine. However, if I / O virtualization technology is applied to an environment in which server resources and network resources are virtualized to improve network performance, the packet will not be appropriate due to differences in information that can be registered in the filter table. May not be delivered to the virtual machine.
例えば、あるサーバAに装着されているネットワークインタフェースAでは、宛先MACアドレス(Destination MACアドレス、Dst MACアドレス)の情報を用いて、パケット配送先の仮想インタフェースを選択する場合を考える。このとき、サーバA上に、互いにVLAN IDは異なるが、同一のMACアドレスを持つ仮想マシンA1、A2が収容されていたとすると、このMACアドレスを宛先とするパケットがVLAN IDに係らず、全て仮想マシンA1またはA2のどちらかに配送されてしまうことになる。 For example, let us consider a case where a network interface A attached to a server A selects a packet delivery destination virtual interface using information of a destination MAC address (Destination MAC address, Dst MAC address). At this time, if virtual machines A1 and A2 having the same MAC address are accommodated on the server A, but the VLAN IDs are accommodated, all packets addressed to this MAC address are all virtual regardless of the VLAN ID. It will be delivered to either machine A1 or A2.
また、ネットワークがOpenFlowに代表されるように、通信をパケットヘッダの特定フィールドの情報によって分類し、分類された各パケット群をフローとして、フロー単位で通信を管理・制御する方式の場合、特定のフローに属するパケットのみをI/O仮想化技術を用いて、仮想マシンに直接配送することも考えられる。 In addition, in the case of a system in which communication is classified by information in a specific field of a packet header so that the network is represented by OpenFlow, and the communication is managed and controlled in units of flows with each classified packet group as a flow, a specific It is also conceivable that only packets belonging to the flow are directly delivered to the virtual machine using the I / O virtualization technology.
例えば、ある仮想マシンB1(IP=192.168.1.1とする)の80番ポート宛のパケットのみ、ネットワークインタフェースから仮想マシンB1へ、パケットを直接配送しようとする場合、ネットワークインタフェースのコントローラチップがIPアドレスとポート番号の情報で仮想インタフェースを選択可能であることが必要である。ところが、ネットワークインタフェースがどのような情報で仮想インタフェースを割り振るかがネットワークチップの実装依存であるため、該当するパケット群のみを仮想マシンに直接転送することができないことが起こりうる。 For example, when only a packet addressed to port 80 of a certain virtual machine B1 (IP = 192.168.1.1) is to be directly delivered from the network interface to the virtual machine B1, a controller chip of the network interface However, it is necessary that the virtual interface can be selected by the information of the IP address and the port number. However, since what kind of information the network interface allocates the virtual interface depends on the implementation of the network chip, it may happen that only the corresponding packet group cannot be directly transferred to the virtual machine.
このように、ネットワークインタフェースの組み合わせによっては、I/O仮想化技術によるI/O性能の高速化の恩恵を受けられない可能性がある。本発明では、パケットヘッダの情報を、フィルターテーブルで扱えるように変換することで、この課題を解決する。以降、I/O仮想化技術によって管理領域をバイパスする場合をダイレクトアクセス、そうでない場合をインダイレクトアクセスと呼称する。 Thus, depending on the combination of network interfaces, there is a possibility that the benefits of speeding up the I / O performance by the I / O virtualization technology may not be received. The present invention solves this problem by converting packet header information so that it can be handled by a filter table. Hereinafter, the case where the management area is bypassed by the I / O virtualization technology is referred to as direct access, and the case where it is not is referred to as indirect access.
特許文献1には、複数のネットワークインタフェースを使い分ける手法が記載されている。送信側のサーバで稼動する送信側アプリケーションが送信したパケットのヘッダ情報のうち、送信元を示す情報を、ネットワークインタフェースごとに割り振られたアドレスに変換し、送信する。パケットの受信側のサーバは、受信したパケットを元のアドレスに戻して、アプリケーションにパケットを渡す。サーバ間でアドレスをどのように戻すのかを示す情報をやり取りすることで、受信側のサーバがアドレスを元に戻すことが可能になっている。 Japanese Patent Application Laid-Open No. 2004-228561 describes a method for properly using a plurality of network interfaces. Of the header information of the packet transmitted by the transmission side application operating on the transmission side server, the information indicating the transmission source is converted into an address allocated for each network interface and transmitted. The server on the packet receiving side returns the received packet to the original address and passes the packet to the application. By exchanging information indicating how the address is returned between the servers, the server on the receiving side can return the address.
また、特許文献2には、複数のバーチャルマシーン(仮想マシン、VM)が物理リソースを個別に設定及びアクセスすることを可能にする、という方法及びシステムが開示されている。同公報によれば、このシステムは、コンピュータシステムの複数のVMのそれぞれから、前記VM内の物理デバイスの制御可能な機能を示すデバイスドライバの対応するインスタンスを介し物理デバイス設定制御を受信するインタフェースシステムと、前記複数のVMのそれぞれについてVMに固有の接続情報と設定パラメータとを維持し、対応する前記VMに固有の接続情報と設定パラメータとによって前記複数のVMのそれぞれについて前記物理デバイスを再設定する制御システムとを有する、とされている。そして、このシステムの前記インタフェースシステムと前記制御システムとは、前記VMを提供するバーチャルマシーンモニタ(VMM)の実質的に外部に実現されると記載されている。
Further,
また、特許文献3には、変換前パケット識別情報と変換後パケット識別情報との対応関係を示す変換エントリを格納した変換ポリシーテーブルを備え、スイッチの転送テーブルを操作することにより、複数の仮想ネットワーク間でのアプライアンスの共有を実現する管理計算機が開示されている。具体的には、前記管理計算機は、仮想ネットワークの識別子を含む変換前パケット識別情報を、アプライアンス側に設定された異なる仮想ネットワーク間で重複しない変換後パケット識別情報に書き換えさせる。
Further,
以下の分析は、本発明によって与えられたものである。上述した特許文献1〜3に示される技術には、以下に示す問題点が存在する。
The following analysis is given by the present invention. The techniques disclosed in
すなわち、サーバ仮想化の環境では、1台の物理的なサーバ上に、互いに独立な複数の仮想マシンが存在し、各仮想マシンは割り当てられたMACアドレスやIPアドレスといった識別情報を持つ。I/O仮想化技術を使用すると、各仮想マシンがネットワークインタフェースに直接アクセスし、パケットを送出する。そのため、通信を行う仮想マシン同士で、上記MACアドレスやIPアドレスといった識別情報の変換に関する情報をやり取りしたとしても、変換後の情報が、通信を行う仮想マシンのペアが稼動するそれぞれの物理的なサーバにおいて、他の仮想マシンで使用されている可能性があり、パケットが適切な仮想マシンに届かない可能性がある。また、他の仮想マシンの識別情報を、各仮想マシンが知ることができるようにすることは、仮想化技術により、異なるユーザが単一のサーバ資源とネットワーク資源を共有する環境の場合、セキュリティの観点から望ましくない。 That is, in a server virtualization environment, a plurality of independent virtual machines exist on one physical server, and each virtual machine has identification information such as an assigned MAC address and IP address. When using the I / O virtualization technology, each virtual machine directly accesses the network interface and sends out a packet. For this reason, even if virtual machines that communicate with each other exchange information related to the conversion of identification information such as the MAC address and IP address, the information after the conversion is the physical information for each pair of virtual machines that communicate. The server may be used by another virtual machine, and the packet may not reach the appropriate virtual machine. In addition, enabling each virtual machine to know the identification information of other virtual machines is a security technique in an environment where different users share a single server resource and network resource using virtualization technology. Undesirable from the point of view.
この点、特許文献2には、複数のバーチャルマシーン(仮想マシン)が物理リソースを個別に設定及びアクセスすることを可能にする構成が開示されているが、同文献の仮想拡張システム(VAシステム)内の統合制御エンジンは、自装置側のデバイス固有のパラメータを維持するに止まり、通信相手の仮想マシンでダイレクトアクセスができるような変換がなされる保証は無い。
In this regard,
同様に特許文献3も、仮想ネットワーク間で重複しないように、ヘッダの書き換えを行う方法が開示されているが、通信相手の仮想マシンでダイレクトアクセスができるような変換がなされる保証は無いという問題点がある。
Similarly,
本発明は、互いに通信する計算機において、ネットワークインタフェースのフィルターテーブルに登録可能な識別情報に差異があり、ダイレクトアクセスを使用すると、本来の通信相手と異なる仮想マシンにパケットが届く可能性がある場合であっても、ダイレクトアクセスを利用しつつ、正しい送信先の仮想マシンにパケットを届けることができる計算機、データ変換装置、通信方法及びプログラムを提供することを目的とする。 In the present invention, in computers that communicate with each other, there is a difference in identification information that can be registered in the filter table of the network interface, and when direct access is used, there is a possibility that a packet may reach a virtual machine different from the original communication partner. Even if it exists, it aims at providing the computer, data converter, communication method, and program which can deliver a packet to the virtual machine of the right transmission destination using direct access.
本発明の第1の視点によれば、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備えた第2の計算機と接続された計算機であって、前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第2の計算機側で動作する第2の仮想マシンと通信する第1の仮想マシンと、前記第1の仮想マシンからのアクセス要求を受けた場合、前記第2の計算機に対して前記第1の仮想マシンから出力されるデータのデータ識別子を送信し、前記第2の計算機の前記フィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求し、前記第2の計算機から返送されたマッチ条件を用いて、前記第1の仮想マシンの変換部にデータ識別子の変換ルールを設定する仮想マシン管理部と、前記変換ルールに基づいて、前記第2の仮想マシンに送信するデータのデータ識別子を、前記第2の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから前記第2の計算機に送信する変換部とを備える計算機が提供される。前記変換ルールの設定後、前記計算機の変換部は、前記仮想マシン管理部を介さずに、前記第1の仮想マシンから出力されるデータを前記第2の計算機に送信する。 According to the first aspect of the present invention, there is provided a filter table in which a matching condition to be matched with received data and a virtual interface corresponding to an output destination virtual machine are associated, and the reception is performed with reference to the filter table. A computer connected to a second computer having a network interface having a switching function for transferring the data to the virtual machine on the own device side, via the network interface and the network interface on the own device side, When receiving a first virtual machine communicating with a second virtual machine operating on the second computer side and an access request from the first virtual machine, the first computer is informed of the first virtual machine. The data identifier of the data output from the virtual machine is transmitted, and the filter table of the second computer is updated. And requesting the return of the updated filter table match condition, and using the match condition returned from the second computer, a data identifier conversion rule is set in the conversion unit of the first virtual machine After converting a data identifier of data to be transmitted to the second virtual machine to a data identifier set as a match condition in the filter table of the second computer based on the virtual machine management unit and the conversion rule A computer is provided that includes a conversion unit that transmits to the second computer. After setting the conversion rule, the conversion unit of the computer transmits data output from the first virtual machine to the second computer without going through the virtual machine management unit.
本発明の第2の視点によれば、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースと、前記ネットワークインタフェースを介して、前記他の仮想マシンと通信する仮想マシンと、を備えた計算機間に配置され、前記計算機のうちの一方の計算機の仮想マシンからの要求を受けた場合、通信先の計算機に対して、前記一方の計算機の仮想マシンからのデータを通信先の仮想マシンに転送するようフィルターテーブルの更新を要求するとともに、前記一方の計算機の仮想マシンからのデータを、前記更新されたフィルターテーブルのマッチ条件に適合するよう変換するデータ識別子の変換ルールを作成する変換管理マネージャーと、前記変換ルールを参照して、前記データ識別子の変換を行う変換部とを備えるデータ変換装置が提供される。 According to the second aspect of the present invention, a filter table in which a matching condition for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and received by referring to the filter table. A network interface having a switching function for transferring the received data to the virtual machine on the own device side, and a virtual machine that communicates with the other virtual machine via the network interface, When receiving a request from the virtual machine of one of the computers, the filter table is configured to transfer the data from the virtual machine of the one computer to the virtual machine of the communication destination. Requesting an update, and sending data from the virtual machine of the one computer to the updated file -A data conversion device is provided that includes a conversion management manager that creates a conversion rule for a data identifier that is converted so as to match the table match condition, and a conversion unit that converts the data identifier with reference to the conversion rule. .
本発明の第3の視点によれば、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備えた第2の計算機と接続された計算機上で、前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第2の計算機側で動作する第2の仮想マシンと通信する第1の仮想マシンからのアクセス要求を受けた場合、前記第2の計算機に対して前記第1の仮想マシンから出力されるデータのデータ識別子を送信し、前記第2の計算機の前記フィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求するステップと、前記第2の計算機から返送されたマッチ条件を用いて、前記第1の仮想マシンの変換部にデータ識別子の変換ルールを設定するステップと、前記変換ルールに基づいて、前記第2の仮想マシンに送信するデータのデータ識別子を、前記第2の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから前記第2の計算機に送信するステップと、を含む通信方法が提供される。本方法は、前記I/O仮想化技術を利用するネットワークインタフェースと、仮想マシンとを備える計算機という、特定の機械に結びつけられている。 According to a third aspect of the present invention, there is provided a filter table in which a matching condition to be matched with received data and a virtual interface corresponding to an output destination virtual machine are associated with each other with reference to the filter table. On the computer connected to the second computer having a network interface having a switching function for transferring the data to the virtual machine on the own device side, via the network interface and the network interface on the own device side, the When an access request is received from a first virtual machine that communicates with a second virtual machine operating on the second computer side, the data output from the first virtual machine to the second computer Transmitting a data identifier, updating the filter table of the second computer, and the updated filter Requesting the return of the match condition of the table, setting the data identifier conversion rule in the conversion unit of the first virtual machine using the match condition returned from the second computer, Based on the conversion rule, the data identifier of the data to be transmitted to the second virtual machine is converted to a data identifier set as a match condition in the filter table of the second computer, and then transmitted to the second computer. A communication method is provided. This method is associated with a specific machine, which is a computer including a network interface using the I / O virtualization technology and a virtual machine.
本発明の第4の視点によれば、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備える計算機上で、第2の計算機から送信されたデータ識別子を用いて、前記フィルターテーブルに、前記第2の計算機から送信されたデータを該当する仮想マシンに転送させるエントリを追加するステップと、前記第2の計算機に対して、前記追加したフィルターテーブルのマッチ条件を返送し、前記第2の計算機に、前記第2の計算機で動作する仮想マシンから送信されたデータのデータ識別子を、前記追加したフィルターテーブルのマッチ条件に適用するよう変換させるステップと、を含む通信方法が提供される。本方法は、前記I/O仮想化技術を利用するネットワークインタフェースと、仮想マシンとを備える計算機という、特定の機械に結びつけられている。 According to a fourth aspect of the present invention, there is provided a filter table in which a matching condition for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated with each other, with reference to the filter table. On the computer having a network interface having a switching function for transferring the processed data to the virtual machine on its own device side, the second computer uses the data identifier transmitted from the second computer in the filter table. Adding an entry for transferring the data transmitted from the virtual machine to the corresponding virtual machine, returning the match condition of the added filter table to the second computer, and sending the second computer to the second computer. Filter added to the data identifier of the data transmitted from the virtual machine running on the second computer A step of converting to apply the matching condition of Buru, communication method comprising is provided. This method is associated with a specific machine, which is a computer including a network interface using the I / O virtualization technology and a virtual machine.
本発明の第5の視点によれば、上記した計算機又はデータ変換装置の機能を実現するためのコンピュータプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。 According to the fifth aspect of the present invention, there is provided a computer program for realizing the functions of the above-described computer or data converter. This program can be recorded on a computer-readable (non-transient) storage medium. That is, the present invention can be embodied as a computer program product.
本発明によれば、互いに通信する計算機において、ネットワークインタフェースのフィルターテーブルに登録可能な識別情報に差異があり、ダイレクトアクセスを使用すると、本来の通信相手と異なる仮想マシンにパケットが届く可能性がある場合であっても、ダイレクトアクセスを利用しつつ、正しい送信先の仮想マシンにパケットを届けることが可能となる。 According to the present invention, in computers that communicate with each other, there is a difference in identification information that can be registered in the filter table of the network interface, and when direct access is used, packets may reach a virtual machine that is different from the original communication partner. Even in this case, the packet can be delivered to the correct destination virtual machine using direct access.
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。 First, an outline of an embodiment of the present invention will be described with reference to the drawings. Note that the reference numerals of the drawings attached to this summary are attached to the respective elements for convenience as an example for facilitating understanding, and are not intended to limit the present invention to the illustrated embodiment.
本発明は、その一実施形態において、図1に示すように、計算機上に構築されてユーザに仮想化環境を提供する仮想マシン1200と、仮想マシン1200を管理する仮想マシン管理部1400と、I/O仮想化技術をサポートしたネットワークインタフェース1600と、を備えた計算機1000同士を接続した構成にて実現できる。
In one embodiment of the present invention, as shown in FIG. 1, a
具体的には、ネットワークインタフェース1600は、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、ネットワーク1800を介して接続された第2の計算機上で動作する第2の仮想マシンから受信したデータを、自装置側の仮想マシン1200に転送するスイッチング機能を備える。
Specifically, the
また、仮想マシン1200は、動作中のアプリケーション側のデータ識別子(MACアドレス、IPアドレス等またはこれらの組み合わせ)と、前記第2の仮想マシンとの通信用のデータ識別子(MACアドレス、IPアドレス等またはこれらの組み合わせ)とを相互に変換する変換ルールを参照して、前記データ識別子の変換を行う変換部を備え、前記ネットワークインタフェース1600を介して第2の仮想マシンと通信する。
In addition, the
また、仮想マシン管理部1400は、前記仮想マシン1200から新規アクセス要求を受けた場合、前記第2の計算機に対して自装置側の仮想マシン1200から出力されるデータのデータ識別子を送信し、前記第2の計算機側のフィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求する。前記第2の計算機からマッチ条件が返送されると、仮想マシン管理部1400は、返送されたマッチ条件を用いて、自装置側の仮想マシン1200の変換部にデータ識別子の変換ルールを設定する。
Further, when the virtual
前記第2の計算機側のフィルターテーブルの更新と、自装置側の仮想マシン1200への変換ルールの設定とが完了すると、仮想マシン1200間で仮想マシン管理部1400を介さないダイレクトアクセスが開始される。この結果、仮想マシンに、高いI/O性能を提供することができる。
When the update of the filter table on the second computer side and the setting of the conversion rule for the
[第1の実施形態]
次に、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の全体構成を示す図である。図2を参照すると、2台のサーバ(以下、Server Aを「サーバ10A」、ServerBを「サーバ10B」と記す。両者を特に区別しない場合、「サーバ10」と記す。)と、サーバ10Aとサーバ10Bがネットワーク18を介して互いに接続されている。各サーバ10には、仮想マシン12(VM A1〜n、VM B1〜m)と、仮想マシン12を管理する仮想マシン管理部に相当するハイパーバイザー14(HyperVisor A、HyperVisor B)と、ネットワークインタフェース(NIC)16(NIC A、NIC B)とが備えられている。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 is a diagram showing an overall configuration of the first embodiment of the present invention. Referring to FIG. 2, two servers (hereinafter, Server A is referred to as “
仮想マシン12は、ハイパーバイザー14によって、CPU(Central Processing Unit)やメモリ、ディスク、ネットワークといった資源を割り当てられ、様々なアプリケーションを実行する。
The
ハイパーバイザー14は、仮想マシン12への資源割り当て、モニタリングなどの管理を行う。
The
ネットワークインタフェース16は、サーバ10とネットワーク18とのインタフェースであり、仮想マシン12がネットワーク18を介して通信を行う際に使用される。ネットワークインタフェース16は、I/O仮想化技術をサポートしている。
The
仮に、ネットワークインタフェースが、I/O仮想化技術をサポートしていない場合、仮想マシン12は、ハイパーバイザー14を介して通信を行う。一方、ネットワークインタフェースがI/O仮想化技術をサポートしている場合、ハイパーバイザー14の制御に基づいて、仮想インタフェースが仮想マシン12に割り当てられ、仮想マシン12は、ハイパーバイザー14を介さずに通信を行うことができる。逆に、ネットワークインタフェース16がI/O仮想化技術をサポートしていても、ハイパーバイザー14が仮想インタフェースを仮想マシン12に割り当てなかった場合、仮想マシン12はハイパーバイザー14を介して通信を行う。
If the network interface does not support the I / O virtualization technology, the
図3は、図2のサーバ10Aの詳細構成を表したブロック図である。図3を参照すると、仮想マシン12と、ハイパーバイザー14とに、それぞれモジュールを配置した構成が示されている。ここで、モジュールとは、何らかの機能を提供するソフトウェア・プログラム、またはハードウェアを指す。
FIG. 3 is a block diagram showing a detailed configuration of the
具体的には、図3のサーバ10Aの仮想マシン12(VM)は、ヘッダー変換部(Header Translator)122と、ヘッダー変換テーブル(Header Translation Table)126と、を備えている。
Specifically, the virtual machine 12 (VM) of the
また、仮想マシン12では、1つ以上のアプリケーションプログラム(Application、以下、単に「アプリケーション」と記す。)124が稼動している。ヘッダー変換部122は、仮想マシン12が、I/O仮想化技術を利用してパケットを送出する際に、パケットヘッダを変換するモジュールである。パケットヘッダ変換の際には、ヘッダー変換部122は、ヘッダー変換テーブル126を参照して、パケットヘッダ変換に必要な情報を取得する。
In the
ヘッダー変換テーブル126には、パケットヘッダを変換するための情報が登録されている。ヘッダー変換部122は、変換前のパケットヘッダをもとに、ヘッダー変換テーブル126を参照し、パケットヘッダをどのように変換するかの情報を取得する。ヘッダー変換テーブル126には、少なくとも、ダイレクトアクセス対象の通信を識別するのに必要な、パケットヘッダに含まれる情報の組み合わせと等しい粒度の、変換前のパケットヘッダの情報と、この情報に対応付けられた、パケットヘッダの変換ルールが登録される。例えば、ダイレクトアクセス対象の通信として、VLAN IDが2048、送信元IPアドレスが192.168.1.1、宛先IPアドレスが192.168.1.2、宛先ポート番号が80の通信のみを、ある仮想マシン同士の通信でダイレクトアクセスさせたい場合を考える。このときに、ネットワークインタフェースのフィルターテーブルのマッチ条件である宛先MACアドレスとVLAN IDの組でダイレクトアクセスを行うかどうかを判断する場合、ヘッダー変換テーブル126には、VLAN ID、送信元IPアドレス、宛先IPアドレス、宛先ポート番号を変換前の情報として登録し、変換ルールとして、この通信を識別可能な宛先MACアドレスとVLAN IDの組み合わせを、送信元仮想マシンのヘッダー変換テーブル126に登録する。
Information for converting the packet header is registered in the header conversion table 126. The
また、ヘッダー変換テーブル126には、ネットワークから受信したパケットのヘッダを元に戻すための情報も保持している。ダイレクトアクセスを行ったパケットのヘッダは変換されており、この変換後のパケットヘッダの情報を元にヘッダー変換テーブル126を参照し、ヘッダを元に戻す情報を取得し、元のヘッダに戻す処理が行われる。 The header conversion table 126 also holds information for returning the header of the packet received from the network. The header of the packet that has undergone direct access is converted, and the header conversion table 126 is referred to based on the information of the converted packet header, information for returning the header is obtained, and processing for returning to the original header is performed. Done.
ヘッダー変換部122は、パケットヘッダを変換する際に、上記のようにヘッダー変換テーブル126を参照する。なお、このようなヘッダー変換部122及びヘッダー変換テーブル126を、仮想マシン12に導入されるOS(Operating System)のデバイスドライバ中に備える形態等を採ることができる。
The
仮想マシン12が、ダイレクトアクセスを利用して、新たに通信を行いたい場合、ヘッダー変換ルールを取得するために、ハイパーバイザー14にダイレクトアクセスの設定リクエストを発行する。この設定リクエストは、仮想マシン間、あるいは仮想マシンと管理領域との通信機能を利用して送信する形態を採ることができる。
When the
ハイパーバイザー14は、ダイレクトアクセス機能を提供するために、ヘッダー管理テーブル(Header Management Table)144と、変換管理マネージャー(Translation Management Manager)146と、を備えている。
The
ハイパーバイザー14には、さらに、仮想スイッチ(Virtual Switch)142が備えられ、I/O仮想化技術を利用しない場合における、仮想マシン12に係る通信を中継する機能を有する。
The
変換管理マネージャー146は、自サーバ内のダイレクトアクセスに関する情報の管理と、リモートサーバ(例えば、図2においてネットワーク18を介して接続されているサーバ10B)内の変換管理マネージャー146と、ダイレクトアクセスの設定を行うためのネゴシエーションを行う。このネゴシエーションによって、通信相手のサーバ10のネットワークインタフェース16がサポートするフィルターテーブルに登録可能な情報や、パケットヘッダをどのように変換するかを決定する。
The conversion management manager 146 manages information related to direct access in its own server, and sets up direct access with the conversion management manager 146 in the remote server (for example, the
ヘッダー管理テーブル144は、自サーバで稼動する仮想マシン12に係る通信を管理する。変換管理マネージャー146が、ダイレクトアクセスの設定時に、既に存在する通信と、新規のダイレクトアクセスの通信が識別可能なように、変換後のパケットヘッダを決定するために使用される。
The header management table 144 manages communication related to the
ネットワークインタフェース16は、I/O仮想化技術をサポートしており、ネットワークインタフェース16を制御するネットワークインタフェースコントローラー(Network Interface Controller)162と、ネットワークインタフェース16に届いたパケットの出力先を登録したフィルターテーブル(Filter Table)164と、ハイパーバイザー14に対するインタフェースである物理インタフェース(Physical Interface、PI)166と、仮想マシン12に対するインタフェースである仮想インタフェース(Virtual Interface、VI)167と、ネットワーク18との物理的な接続の口となる物理ポート168(Physical Port)と、を備えている。
The
物理インタフェース166は、ハイパーバイザー14とのパケットの送受信に使用されるほか、ネットワークインタフェース16の動作に関する設定を、ハイパーバイザー14から行うためのインタフェースや、ネットワークインタフェース16のステータスを、ハイパーバイザー14から読み出すためのインタフェースとして使用される。
The physical interface 166 is used for transmission / reception of packets with the
ネットワークインタフェース16は、ハイパーバイザー14の制御のもとで、パケットの送受信を行う。
The
パケットがネットワーク18から、物理ポート168へ届いた場合には、ネットワークインタフェースコントローラー162が、パケットのヘッダー情報をもとにフィルターテーブル164にアクセスし、物理インタフェース166、あるいは、仮想インタフェース167のいずれにパケットを出力するかを決定する。
When a packet arrives from the
フィルターテーブル164には、パケットの出力先を判断するための情報(マッチ条件)と対応付けて、パケットの出力先等を対応付けたエントリが登録される。パケットの出力先として、どのインタフェースにも出力せずに、ドロップすることを指定したエントリを設定することもできる。フィルターテーブル164に登録されていないパケットが届いた場合、物理インタフェース166を経由して、ハイパーバイザー14にパケットが転送される。このパケットに対する処理は、ハイパーバイザー14で決定され、場合によっては、ハイパーバイザー14が、フィルターテーブル164にこのパケットの情報と出力先と定めたエントリを登録する。
In the filter table 164, an entry that associates an output destination of a packet and the like is registered in association with information (match condition) for determining the output destination of the packet. As a packet output destination, it is possible to set an entry that specifies dropping without outputting to any interface. When a packet not registered in the filter table 164 arrives, the packet is transferred to the
パケットが物理インタフェース166又は仮想インタフェース167のいずれかから届いた場合には、ネットワークインタフェースコントローラー162は、物理ポート168を通じて、パケットを送出する。
When the packet arrives from either the physical interface 166 or the
なお、図2、3に示したサーバ10の各部(処理手段)は、サーバ10を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。 2 and 3 can also be realized by a computer program that causes the computer constituting the server 10 to execute the above-described processes using the hardware thereof.
続いて、本実施形態の動作について図面を参照して詳細に説明する。はじめに、図4〜図7のシーケンスを参照して、本実施形態の全体動作について説明する。 Next, the operation of this embodiment will be described in detail with reference to the drawings. First, the overall operation of this embodiment will be described with reference to the sequences of FIGS.
図4は、仮想マシン12のリクエストにもとづいて、2台のサーバ10間(それぞれサーバ10A、サーバ10Bとする)でダイレクトアクセスの設定を行う処理を示したシーケンス図である。以下、サーバ10を構成する各要素についても、A、Bの符号を付して説明する。図4のシーケンス図では、仮想マシン12Aが通信の起動側(送信側)であり、仮想マシン12Bが通信の受信側であり、仮想マシン12Aから仮想マシン12Bへの通信のみダイレクトアクセスを使用するものとする。
FIG. 4 is a sequence diagram showing processing for setting direct access between two servers 10 (referred to as
まず、仮想マシン12A内のヘッダー変換部122Aが、ヘッダー変換テーブル126Aを参照し、ダイレクトアクセスの設定がなされた通信かどうかをチェックする(図4中に図示せず。)。ダイレクトアクセスの設定がなされていない場合、ヘッダー変換部122Aは、変換管理マネージャー146Aに対しダイレクトアクセスの設定リクエストを発行する(図4のS120a)。このリクエストには、パケットヘッダーに含まれる通信を識別する情報が含まれている。このリクエストを発行するタイミングの例としては、TCP/IPを用いた通信の場合、TCPの3−wayハンドシェイクにおいてSYNパケットを送出する際に、発行すること等が考えられる。 First, the header conversion unit 122A in the virtual machine 12A refers to the header conversion table 126A and checks whether the communication is set for direct access (not shown in FIG. 4). If direct access is not set, the header conversion unit 122A issues a direct access setting request to the conversion management manager 146A (S120a in FIG. 4). This request includes information for identifying communication included in the packet header. As an example of the timing at which this request is issued, in the case of communication using TCP / IP, it may be issued when a SYN packet is transmitted in a TCP 3-way handshake.
次に、変換管理マネージャー146Aは、リクエストに含まれる通信の識別情報を、サーバ10Bの変換管理マネージャー146Bに通知する(図4のS142a)。
Next, the conversion management manager 146A notifies the communication identification information included in the request to the conversion management manager 146B of the
次に、ダイレクトアクセスの通知を受けた変換管理マネージャー146Bは、通知された通信の識別情報と、フィルターテーブル164Bに登録可能な通信の識別情報と、ヘッダー管理テーブル144Bの情報とを用いて、送信側にパケットヘッダーをどのように変換して欲しいかを示すパケットヘッダー変換ルールBを決定する(図4のS140b)。このパケットヘッダー変換ルールBは、仮想マシン12Aがパケットをダイレクトアクセスを使用して送信する際に、パケットヘッダーをどのように変換するかを示したルールである。 Next, the conversion management manager 146B that has received the direct access notification uses the notified communication identification information, the communication identification information that can be registered in the filter table 164B, and the information in the header management table 144B. The packet header conversion rule B indicating how the packet header is to be converted is determined (S140b in FIG. 4). The packet header conversion rule B is a rule indicating how the packet header is converted when the virtual machine 12A transmits a packet using direct access.
ここで、ヘッダー管理テーブル144Bに登録された情報の使用方法について説明する。パケットヘッダー変換ルールBを決定する際には、変換後のパケットヘッダーのフィールドのうち、ネットワークインタフェース16Bのフィルターテーブル164Bに登録可能なパケットヘッダーのフィールドの範囲で同一のものが、サーバ10Bに係る通信で使用されていないかどうか、ヘッダー管理テーブル144Bを参照する。これにより、パケットヘッダー変換後のパケットヘッダーと同一の通信が他に存在しないことを保証する。そのため、決定したパケットヘッダー変換ルールBは、ヘッダー管理テーブル144Bに登録される。
Here, a method of using the information registered in the header management table 144B will be described. When determining the packet header conversion rule B, the same packet header field that can be registered in the filter table 164B of the network interface 16B among the converted packet header fields is the communication related to the
なお、この変換の際には、ネットワーク18において、各仮想マシンを一意に識別する情報は変更しないことが望ましい。例えば、ネットワーク18がイーサネットであり、複数ユーザで同一のネットワークを共有している場合、各仮想マシンをMACアドレスとVLAN IDで識別することが考えられる。これらの情報を変換する場合には、パケットヘッダー変換ルール決定時に、ARP(Address Resolution Protocol)などを用いて、変換後のMACアドレスとVLAN IDが一致する仮想マシン10が存在しないことを確認する必要がある。
In this conversion, it is desirable not to change information for uniquely identifying each virtual machine in the
次に、変換管理マネージャー146Bは、通信相手の仮想マシン12Bのヘッダー変換テーブル126Bに、図3の140bで決定したパケットヘッダー変換ルールBを登録する(図4のS144b)。 Next, the conversion management manager 146B registers the packet header conversion rule B determined in 140b of FIG. 3 in the header conversion table 126B of the communication partner virtual machine 12B (S144b of FIG. 4).
次に、変換管理マネージャー146Bは、フィルターテーブル164Bに、パケットヘッダー変換ルールBに基づいてエントリを追加し、ダイレクトアクセスの設定を行う(図4のS146b)。なお、図3のS144bの処理と、図3のS146bの処理に依存はないため、処理の手順が入れ替わってもよい。 Next, the conversion management manager 146B adds an entry to the filter table 164B based on the packet header conversion rule B and sets direct access (S146b in FIG. 4). Since there is no dependency on the processing in S144b in FIG. 3 and the processing in S146b in FIG. 3, the processing procedure may be switched.
次に、変換管理マネージャー146Bは、変換管理マネージャー146Aに対して、パケットヘッダー変換ルールBを通知する(図4のS142b)。 Next, the conversion management manager 146B notifies the packet management conversion rule B to the conversion management manager 146A (S142b in FIG. 4).
次に、変換管理マネージャー146Aは、ダイレクトアクセスのリクエストを出した仮想マシン12Aのヘッダー変換テーブル126Aに、図4のステップS142bで通知されたパケットヘッダー変換ルールBを登録する(図4のS144a)。 Next, the conversion management manager 146A registers the packet header conversion rule B notified in step S142b of FIG. 4 in the header conversion table 126A of the virtual machine 12A that has issued the direct access request (S144a of FIG. 4).
なお、同一ユーザの環境下で仮想マシン12を一意に識別する情報を変換する場合には、変換後のパケットヘッダで通信相手にパケットが届くようにネットワーク装置の設定を行う必要がある。例えば、ネットワークがイーサネットの場合で、宛先MACアドレスを変換してパケットを送信する場合、パケットを送信する前に、ARPパケットを送信し、通信を行う仮想マシン12の間に存在するネットワークスイッチにMACアドレスを学習させる必要がある。この学習のトリガは、変換管理マネージャー146Aがダイレクトアクセスの設定を行う前に実行してもよいし、アプリケーション124Aがパケットを投げる際に行っても良い。後者の場合、仮想マシンAのプロトコルスタックがARP解決を行う前に、ヘッダー変換部122がパケットヘッダの変換を行うことで、仮想マシンAのARPテーブルに送信するパケットのMACアドレスが登録されていないようにすることができ、プロトコルスタックがパケットを送信する前にARP解決を実行することで、ネットワーク装置の設定がなされる。
Note that when information that uniquely identifies the
ダイレクトアクセスの設定完了後、変換管理マネージャー146Aは、ダイレクトアクセス設定のリクエストを出した仮想マシン12Aに対して、ダイレクトアクセスの設定が完了したことを通知する(図4のS147a)。 After the direct access setting is completed, the conversion management manager 146A notifies the virtual machine 12A that issued the direct access setting request that the direct access setting is completed (S147a in FIG. 4).
以上の動作により、仮想マシン12Aから仮想マシン12Bに対する通信について、ネットワークインタフェースカード16Bのフィルターテーブル164Bに登録可能な情報を考慮したダイレクトアクセスの設定が行われた。仮想マシン12Aは、パケットヘッダー変換ルールBに基づいてパケットを変換し、パケットを送出する。 With the above operation, the direct access setting is performed for communication from the virtual machine 12A to the virtual machine 12B in consideration of information that can be registered in the filter table 164B of the network interface card 16B. The virtual machine 12A converts the packet based on the packet header conversion rule B, and sends the packet.
図5は、ダイレクトアクセスの設定がなされた後の、仮想マシン12Aと仮想マシン12Bの通信の流れを示したシーケンス図である。図4と同様に、それぞれのサーバ10、及びその構成要素に対して、符号A、Bを付与して説明する。 FIG. 5 is a sequence diagram illustrating a communication flow between the virtual machine 12A and the virtual machine 12B after the direct access setting is performed. Similar to FIG. 4, each server 10 and its components are described with reference numerals A and B.
まず、仮想マシン12Aで稼動するアプリケーション124(アプリケーション124Aとする)がソケットライブラリのような通信ライブラリを使用するなどして、パケットの送信要求を発行する(図5のS1240a)。この送信要求には、MACアドレス、IPアドレス等の通信を識別する識別情報が含まれている。 First, an application 124 (referred to as application 124A) running on the virtual machine 12A issues a packet transmission request by using a communication library such as a socket library (S1240a in FIG. 5). This transmission request includes identification information for identifying communication such as a MAC address and an IP address.
次に、ヘッダー変換部122Aは、ヘッダー変換テーブル126Aから前記識別情報に対応するエントリを検索し、パケットヘッダの変換情報を取得する(図5のS1220a)。 Next, the header conversion unit 122A searches the header conversion table 126A for an entry corresponding to the identification information, and acquires packet header conversion information (S1220a in FIG. 5).
次に、ヘッダー変換部122Aは、パケットヘッダを変換し、プロトコルスタックやネットワークインタフェースカード16Aを通じて、パケットをネットワーク18に送出する(図5のS1222a)。前記パケットヘッダの変換は、サーバ10Bのネットワークインタフェースカード16Bが、フィルターテーブル164Bを参照して、仮想マシン12Aから送出されたパケットを適切な仮想マシンに転送できるように書き換えるものである。
Next, the header conversion unit 122A converts the packet header and sends the packet to the
次に、ネットワークインタフェースカード16Bは、フィルターテーブル164Bから届いたパケットのヘッダー情報に適合するマッチ条件を持つエントリを検索し、適切な仮想インタフェースにパケットを転送する(図5のS160b)。 Next, the network interface card 16B searches for an entry having a matching condition that matches the header information of the packet received from the filter table 164B, and transfers the packet to an appropriate virtual interface (S160b in FIG. 5).
次に、ヘッダー変換部122Bは、ヘッダー変換テーブル126Bから、受信したパケットのヘッダー情報に適合するマッチ条件を持つエントリを検索し、パケットヘッダの変換情報を取得する(図5のS1220b)。 Next, the header conversion unit 122B searches the header conversion table 126B for an entry having a matching condition that matches the header information of the received packet, and acquires packet header conversion information (S1220b in FIG. 5).
次に、ヘッダー変換部122Bは、受信したパケットのパケットヘッダを変換し、アプリケーションにパケットを転送する(図5のS1224b)。ここでのパケットヘッダの変換は、ステップS1222aで書き換えた内容を復元するものである。 Next, the header conversion unit 122B converts the packet header of the received packet and transfers the packet to the application (S1224b in FIG. 5). The packet header conversion here restores the contents rewritten in step S1222a.
以上のようにして、ダイレクトアクセスを用いた通信が実行される。 As described above, communication using direct access is executed.
以上の図4、図5の説明では、サーバ10Aからサーバ10Bへの方向の通信に対して、ダイレクトアクセスの設定を行うものとして説明したが、2台のサーバ10間の両方向の通信に対して、ダイレクトアクセスの設定を行うことも可能である。以下、図6を参照して、2台のサーバ10間で両方向の通信に対して、ダイレクトアクセスの設定を行う処理について説明する。また、以下の説明においても、それぞれのサーバ10及びその構成要素に対して、符号A、Bを付与して説明する。また、図6において、図4と同様の処理については、同一の符号を付し、詳細な説明を省略する。 In the above description of FIGS. 4 and 5, it has been described that direct access is set for communication in the direction from the server 10 </ b> A to the server 10 </ b> B, but for bidirectional communication between the two servers 10. It is also possible to set direct access. Hereinafter, with reference to FIG. 6, processing for setting direct access for bidirectional communication between the two servers 10 will be described. Also, in the following description, the respective servers 10 and the components thereof will be described with reference numerals A and B. In FIG. 6, the same processes as those in FIG. 4 are denoted by the same reference numerals, and detailed description thereof is omitted.
図6を参照すると、変換管理マネージャー146Aは、ヘッダー変換部122Aからダイレクトアクセスの設定リクエストを受けると、ダイレクトアクセスのリクエストに含まれる通信の識別情報を元に、フィルターテーブル164Aに登録可能なパケットヘッダーのフィールドを、仮想マシン12B側にどのように変換してほしいかを示すパケットヘッダー変換ルールAを決定する(図6のS140a)。決定の際に、ヘッダー管理テーブル144Aを参照し、同じ変換ルールが存在しないことを保証する。また、前述したように、仮想マシン12を同一ユーザの環境下で一意に識別可能な情報を変換する場合は、そのユーザの環境内に変換後の識別子と同一の情報を持つ仮想マシン12が存在しないかどうか確認する必要がある。そのため、決定したパケットヘッダー変換ルールAは、ヘッダー管理テーブル144Aに登録される。
Referring to FIG. 6, upon receiving a direct access setting request from the header converter 122A, the conversion management manager 146A receives a packet header that can be registered in the filter table 164A based on communication identification information included in the direct access request. The packet header conversion rule A indicating how to convert the above field to the virtual machine 12B side is determined (S140a in FIG. 6). At the time of determination, the header management table 144A is referred to and it is ensured that the same conversion rule does not exist. Further, as described above, when converting information that can uniquely identify the
次に、変換管理マネージャー146Aが、サーバ10Bの変換管理マネージャー146Bに対して、変換前の通信の識別情報と、パケットヘッダー変換ルールAとを通知する(図6のS143a)。
Next, the conversion management manager 146A notifies the conversion management manager 146B of the
ダイレクトアクセスの通知を受けた変換管理マネージャー146Bは、図4のステップS140bと同様に、パケットヘッダー変換ルールBを決定し、ヘッダー管理テーブル144Bに登録する。(図6のS140b)。 Upon receiving the direct access notification, the conversion management manager 146B determines the packet header conversion rule B and registers it in the header management table 144B, as in step S140b of FIG. (S140b in FIG. 6).
次に、変換管理マネージャー146Bは、仮想マシン12Bのヘッダー変換テーブルBに、パケットヘッダー変換ルールAと、パケットヘッダー変換ルールBとを登録する(図6のS145b)。 Next, the conversion management manager 146B registers the packet header conversion rule A and the packet header conversion rule B in the header conversion table B of the virtual machine 12B (S145b in FIG. 6).
次に、変換管理マネージャー146Bは、図4のステップS146bと同様に、パケットヘッダー変換ルールBに基づいて、ネットワークインタフェースカード16Bのフィルターテーブル164Bにエントリを追加する(図6のS146b)。なお、図6のS145bの処理と、図6のS146bの処理に依存はないため、処理の手順が入れ替わってもよい。 Next, the conversion management manager 146B adds an entry to the filter table 164B of the network interface card 16B based on the packet header conversion rule B as in step S146b of FIG. 4 (S146b of FIG. 6). Since there is no dependency on the process of S145b in FIG. 6 and the process of S146b in FIG. 6, the procedure of the process may be switched.
次に、変換管理マネージャー146Bは、図4のステップS142bと同様に、サーバ10Aの変換管理マネージャー146Aに対して、パケットヘッダー変換ルールBを通知する。
Next, the conversion management manager 146B notifies the packet header conversion rule B to the conversion management manager 146A of the
次に、変換管理マネージャー146Aは、ダイレクトアクセスのリクエストを出した仮想マシン12Aのヘッダー変換テーブル126Aに、パケットヘッダー変換ルールAと、図6の142bで通知されたパケットヘッダー変換ルールBとを登録する(図6のS145a)。なお、同一ユーザの環境下で仮想マシン12を一意に識別する情報を変換する必要がある場合には、変換後のパケットヘッダで通信相手にパケットが届くようにネットワーク装置の設定を行う必要がある。また、パケットヘッダー変換ルールAについては、図6のS140aでパケットヘッダー変換ルールAを決定した後、図6のS145aまでのいずれかのタイミングで(例えば、ステップS140a)、ヘッダー変換テーブル126Aに登録してもよい。
Next, the conversion management manager 146A registers the packet header conversion rule A and the packet header conversion rule B notified in 142b of FIG. 6 in the header conversion table 126A of the virtual machine 12A that issued the direct access request. (S145a in FIG. 6). When it is necessary to convert information that uniquely identifies the
次に、変換管理マネージャー146Aは、パケットヘッダー変換ルールAに基づいて、フィルターテーブル164Aにエントリを追加し、ダイレクトアクセスの設定を行う(図6のS146a)。なお、図6のS145aの処理と、図6の146aの処理に依存はないため、処理の手順が入れ替わってもよい。 Next, the conversion management manager 146A adds an entry to the filter table 164A based on the packet header conversion rule A, and sets direct access (S146a in FIG. 6). Since there is no dependency on the process in S145a in FIG. 6 and the process in 146a in FIG. 6, the procedure of the process may be switched.
ダイレクトアクセスの設定完了後、変換管理マネージャー146Aは、ダイレクトアクセス設定のリクエストを出した仮想マシン12Aに対して、ダイレクトアクセスの設定が完了したことを通知する(図6のS147a)。 After the direct access setting is completed, the conversion management manager 146A notifies the virtual machine 12A that issued the direct access setting request that the direct access setting is completed (S147a in FIG. 6).
以上の動作により、仮想マシン12Aと仮想マシン12Bの間の通信について、ネットワークインタフェースカード16Bのフィルターテーブル164Bに登録可能な情報を考慮したダイレクトアクセスの設定が行われた。なお、図6のシーケンス図に示すように、一度のネゴシエーションで双方向の設定を行わずに、図4のシーケンス図に示すような片方向の通信についての設定を仮想マシン12Aと仮想マシン12Bがそれぞれ実行することでも、同様の設定が可能である。また、ダイレクトアクセスの設定を、仮想マシンからのリクエストを契機にするほか、通信頻度や仮想マシン管理部の負荷等に応じて、事前に設定しておくことも考えられる。 With the above operation, the direct access setting is performed for the communication between the virtual machine 12A and the virtual machine 12B in consideration of information that can be registered in the filter table 164B of the network interface card 16B. As shown in the sequence diagram of FIG. 6, the virtual machine 12A and the virtual machine 12B perform the settings for the one-way communication as shown in the sequence diagram of FIG. The same setting can be made by executing each of them. In addition to the request from the virtual machine, the direct access setting may be set in advance according to the communication frequency, the load on the virtual machine management unit, and the like.
その後は、図5に示したシーケンスと同様に、仮想マシン12Aは、パケットヘッダー変換ルールBに基づいてパケットヘッダーを変換し、仮想マシン12Bに対してパケットを送出する。一方、仮想マシン12Bからパケットを受信すると、仮想マシン12Aは、パケットヘッダーをパケットヘッダー変換ルールAに基づいて戻し、適切なアプリケーション124Aにパケットを転送する。同様に、仮想マシン12Bは、仮想マシン12Aからのパケットをパケットヘッダー変換ルールBに基づいて戻し、適切なアプリケーション124Bにパケットを転送する一方、パケットヘッダー変換ルールAに基づいてパケットヘッダーを変換し、仮想マシン12Aに対してパケットを送出する。 Thereafter, similarly to the sequence shown in FIG. 5, the virtual machine 12A converts the packet header based on the packet header conversion rule B, and sends the packet to the virtual machine 12B. On the other hand, when receiving a packet from the virtual machine 12B, the virtual machine 12A returns a packet header based on the packet header conversion rule A, and forwards the packet to an appropriate application 124A. Similarly, the virtual machine 12B returns the packet from the virtual machine 12A based on the packet header conversion rule B and forwards the packet to the appropriate application 124B, while converting the packet header based on the packet header conversion rule A, A packet is transmitted to the virtual machine 12A.
続いて、上記のように設定されたダイレクトアクセスの設定を削除する際の処理の流れについて説明する。図7は、仮想マシン12同士の通信が完了し、ダイレクトアクセスを用いた通信において、受信側となる仮想マシン12における、ダイレクトアクセスの設定を削除する際の処理の流れを示したシーケンス図である。
Next, the flow of processing when deleting the direct access setting set as described above will be described. FIG. 7 is a sequence diagram showing a flow of processing when the
まず、仮想マシン12は、ヘッダー変換テーブル126に登録されている、削除対象の通信に関するエントリを削除する(図7のS126)。エントリの検索方法は、図5のS1220aと同様である。
First, the
次に、仮想マシン12は、変換管理マネージャー146に対して、ダイレクトアクセスを使用した通信が完了したことを通知する(図7のS128)。この通知には、完了した通信を識別する情報が含まれている。
Next, the
次に、変換管理マネージャー146は、ヘッダー管理テーブル144から該当するエントリを削除する(図7のステップS148)。ここでのエントリの検索方法は、図6のS140aと同様である。 Next, the conversion management manager 146 deletes the corresponding entry from the header management table 144 (step S148 in FIG. 7). The entry search method here is the same as S140a in FIG.
次に、変換管理マネージャー146は、ネットワークインタフェースカード16のフィルターテーブル164から、該当するエントリを削除する(図7のステップS149)。 Next, the conversion management manager 146 deletes the corresponding entry from the filter table 164 of the network interface card 16 (step S149 in FIG. 7).
このようにして、ダイレクトアクセスの設定を削除することができる。なお、ダイレクトアクセスを用いた通信において、送信側となる仮想マシン12における、ダイレクトアクセスの設定を削除する処理は、図7のステップS126と同様に、仮想マシン12が行うようにすればよい。
In this way, the direct access setting can be deleted. In the communication using direct access, the process of deleting the direct access setting in the
以上のようなダイレクトアクセスの設定削除を行うことで、各テーブルのエントリ数を減らし、仮想マシンや変換管理マネージャー146の応答性能を維持することができる。もちろん、通信頻度等に応じて、特定の通信についてはダイレクトアクセスの設定削除を省略することもできる。 By deleting the direct access settings as described above, the number of entries in each table can be reduced, and the response performance of the virtual machine and the conversion management manager 146 can be maintained. Of course, depending on the communication frequency or the like, it is possible to omit setting deletion of direct access for specific communication.
続いて、上記したシーケンス図における仮想マシン12やハイパーバイザー14の動作についてこれら構成要素毎に説明する。
Next, operations of the
図8は、仮想マシン12Aに備えられるヘッダー変換部122の処理を詳細に示したフローチャートである。
FIG. 8 is a flowchart showing in detail the processing of the
まず、ヘッダー変換部122は、アプリケーションからパケット送信要求がなされると(図8のステップF120aのYes)、ヘッダー変換テーブル126Aを参照し、送信要求がなされたパケットが属する通信に対して、既にダイレクトアクセスの設定がなされているかどうかを確認する(図8のステップF122a)。設定済みかどうかの確認は、パケットヘッダに含まれる情報を用いて、ヘッダー変換テーブル126Aを参照し、対応するエントリが存在するかどうかで判定することができる。なお、ステップF120aにおいて、アプリケーションからパケット送信要求がなされていない場合は、ヘッダー変換部122は特に処理を開始しない(図8のステップF120aのNo)。
First, when a packet transmission request is made from an application (Yes in step F120a in FIG. 8), the
次に、ダイレクトアクセスの設定が既になされていた場合(図8のステップF122aの設定済)、即ち、ヘッダー変換テーブル126Aに該当エントリ(パケットヘッダー変換ルール)が存在する場合は、ヘッダー変換部122は、パケットヘッダー変換ルールに従ってパケットヘッダーを変換し、ネットワークに送出する(図8のステップF128a)。
Next, if direct access has already been set (step F122a in FIG. 8 has been set), that is, if the corresponding entry (packet header conversion rule) exists in the header conversion table 126A, the
一方、ダイレクトアクセスの設定がなされていない場合(図8のステップF122aの未設定)、ヘッダー変換部122は、変換管理マネージャー146Aに対し、ダイレクトアクセスの設定リクエストを出す(図8のステップF124a)。これにより、図4、図5に示したシーケンスが開始される。
On the other hand, if direct access has not been set (step F122a in FIG. 8 is not set), the
図4、図5に示したシーケンスの実行により、ダイレクトアクセスの設定が完了した通知が、変換管理マネージャー146Aからなされると(図8のステップF126aのYes)、ヘッダー変換部122は、パケットヘッダーをパケットヘッダー変換ルールに従って変換し、ネットワークに送出する(図8のステップF128a)。ダイレクトアクセスの設定完了通知がなされていない場合(図8のステップF126aのNo)、ヘッダー変換部122は待機する。
When the conversion management manager 146A notifies that the direct access setting is completed by executing the sequences shown in FIGS. 4 and 5 (Yes in step F126a in FIG. 8), the
このようにして、仮想マシン12Aは、ダイレクトアクセスを用いた通信を実行する。 In this way, the virtual machine 12A executes communication using direct access.
図9は、図6のシーケンス図における、仮想マシン12Bに備えられるヘッダー変換部122Bの処理を詳細に示したフローチャートである。 FIG. 9 is a flowchart showing in detail the processing of the header conversion unit 122B provided in the virtual machine 12B in the sequence diagram of FIG.
図9を参照すると、ヘッダー変換部122Bは、ネットワークインタフェースカード16Bからパケットを受信すると(図9のステップF120bのYes)、ヘッダー変換テーブル122Bを参照し、パケットヘッダー変換ルールを取得し、このルールに従って、パケットヘッダーを戻す(図9のステップF124b)。そして、ヘッダー変換部122Bは、パケットヘッダーを戻したパケットを、適切なアプリケーション124Bに転送する(図9のステップF126b)。ネットワークインタフェースカード16Bからパケットを受信しない場合(図9のステップF120bのNo)、ヘッダー変換部126Bは特に処理を開始しない。 Referring to FIG. 9, when receiving the packet from the network interface card 16B (Yes in Step F120b in FIG. 9), the header conversion unit 122B refers to the header conversion table 122B, acquires the packet header conversion rule, and follows this rule. Return the packet header (step F124b in FIG. 9). Then, the header conversion unit 122B transfers the packet that has returned the packet header to the appropriate application 124B (step F126b in FIG. 9). When the packet is not received from the network interface card 16B (No in Step F120b of FIG. 9), the header conversion unit 126B does not particularly start processing.
このようにして、仮想マシン12Bは、ダイレクトアクセス用にパケットヘッダーが変換されて届いたパケットを受信し、アプリケーションに渡す。 In this way, the virtual machine 12B receives the packet that has been received with the packet header converted for direct access, and passes it to the application.
図10は、図4のシーケンス図における、ハイパーバイザー14Aの変換管理マネージャー146Aの処理を詳細に示したフローチャートである。 FIG. 10 is a flowchart showing in detail the processing of the conversion management manager 146A of the hypervisor 14A in the sequence diagram of FIG.
図10を参照すると、仮想マシン12Aからダイレクトアクセスの設定リクエストが発行されると(図10のステップF140aのYes)、変換管理マネージャー146Aは、設定リクエストに含まれる通信の識別情報を、通信先のサーバ10Bの変換管理マネージャー146Bに通知する(図10のステップF142a)。ダイレクトアクセスの設定リクエストが発行されていない場合(図10のステップF140aのNo)、変換管理マネージャー146Aは特に処理を開始しない。
Referring to FIG. 10, when a setting request for direct access is issued from the virtual machine 12A (Yes in step F140a in FIG. 10), the conversion management manager 146A sets the communication identification information included in the setting request to the communication destination. The conversion management manager 146B of the
前記通信の識別情報の送信によりハイパーバイザー14B側で一連の処理が行われ(図4参照)、通信先のサーバ10Bの変換管理マネージャー146Bから、パケットヘッダー変換ルールの通知がなされると(図10のステップF144aのYes)、変換管理マネージャー146Aは、ダイレクトアクセスの設定リクエストを出した仮想マシンのヘッダー変換テーブル126Aに、パケットヘッダー変換ルールを登録する(図10のステップF146a)。一方、パケットヘッダー変換ルールの通知がなされていない場合(図10のステップF144aのNo)、変換管理マネージャー146Aは待機する。
A series of processing is performed on the hypervisor 14B side by the transmission of the communication identification information (see FIG. 4), and when the packet management rule is notified from the conversion management manager 146B of the
次に、変換管理マネージャー146Aは、ダイレクトアクセス設定要求を出した仮想マシン12Aに対して、ダイレクトアクセスの設定が完了した通知を出す(図10のステップF147a)。 Next, the conversion management manager 146A issues a notification that the direct access setting is completed to the virtual machine 12A that has issued the direct access setting request (step F147a in FIG. 10).
このようにして、図4のシーケンス図における送信側のハイパーバイザー14Aのダイレクトアクセスの設定が完了する。 In this way, the direct access setting of the transmitting hypervisor 14A in the sequence diagram of FIG. 4 is completed.
図11は、図4のシーケンス図における、ハイパーバイザー14Bに備えられる変換管理マネージャー146Bの処理を詳細に示したフローチャートである。 FIG. 11 is a flowchart showing in detail the processing of the conversion management manager 146B provided in the hypervisor 14B in the sequence diagram of FIG.
図11を参照すると、ダイレクトアクセス設定の通知があった場合(図11のステップF140bのYes)、変換管理マネージャー146Bは、通知に含まれる通信の識別情報と、ヘッダー管理テーブル144Bに登録されている情報をもとに、パケットヘッダー変換ルールを決定し、ヘッダー管理テーブル144Bに登録する(図11のステップF142b)。一方、ハイパーバイザー14A側からダイレクトアクセス設定の通知がなされていない場合(図11のステップF140bのNo)、変換管理マネージャー146Bは特に処理を開始しない。 Referring to FIG. 11, when there is a notification of direct access setting (Yes in step F140b in FIG. 11), the conversion management manager 146B is registered in the communication identification information included in the notification and the header management table 144B. Based on the information, a packet header conversion rule is determined and registered in the header management table 144B (step F142b in FIG. 11). On the other hand, when the notification of the direct access setting is not made from the hypervisor 14A side (No in Step F140b in FIG. 11), the conversion management manager 146B does not particularly start the process.
次に、変換管理マネージャー146Bは、図11のステップF142bで決定したパケットヘッダー変換ルールを、通知されたダイレクトアクセスの通信先となる仮想マシン12Bのヘッダー変換テーブル126Bに登録する(図11のステップF144b)。さらに、変換管理マネージャー146Bは、この変換ルールに基づいて、ネットワークインタフェースカード16Bのフィルターテーブル164Bにエントリを追加する(図11のステップF146b)。 Next, the conversion management manager 146B registers the packet header conversion rule determined in step F142b in FIG. 11 in the header conversion table 126B of the virtual machine 12B that is the notified direct access communication destination (step F144b in FIG. 11). ). Further, the conversion management manager 146B adds an entry to the filter table 164B of the network interface card 16B based on the conversion rule (step F146b in FIG. 11).
次に、変換管理マネージャー146Bは、ダイレクトアクセスの設定を通知したサーバ10Aの変換管理マネージャー146Aに対して、図11のステップF142bで決定したパケットヘッダー変換ルールを通知する(図11のステップF148b)。
Next, the conversion management manager 146B notifies the packet management rule determined in step F142b of FIG. 11 to the conversion management manager 146A of the
このようにして、図4のシーケンス図における受信側のハイパーバイザー14Bのダイレクトアクセスの設定が完了する。 In this way, the direct access setting of the receiving hypervisor 14B in the sequence diagram of FIG. 4 is completed.
図12は、図6のシーケンス図における、ハイパーバイザー14Aの変換管理マネージャー146Aの処理を詳細に示したフローチャートである。図10のシーケンス図と同様の処理については、同一の符号を付し、詳細な説明を省略する。 FIG. 12 is a flowchart showing in detail the processing of the conversion management manager 146A of the hypervisor 14A in the sequence diagram of FIG. The same processes as those in the sequence diagram of FIG. 10 are denoted by the same reference numerals and detailed description thereof is omitted.
変換管理マネージャー146Aは、仮想マシン12Aからダイレクトアクセスの設定リクエストが発行されると、設定リクエストに含まれる通信の識別情報と、ヘッダー管理テーブルの情報をもとに、パケットヘッダー変換ルールを決定し、ヘッダー管理テーブル144Aに登録する(図12のステップF141a)。 When the direct access setting request is issued from the virtual machine 12A, the conversion management manager 146A determines the packet header conversion rule based on the communication identification information included in the setting request and the information in the header management table, It is registered in the header management table 144A (step F141a in FIG. 12).
変換管理マネージャー146Aは、通信先のサーバ10Bの変換管理マネージャー146Bに対し、通信の識別情報と、図12のステップF141aで決定したパケットヘッダー変換ルールと、を通知する(図12のステップF143a)。
The conversion management manager 146A notifies the communication management information 146B of the
前記通信の識別情報とパケットヘッダー変換ルールとの送信によりハイパーバイザー14B側で一連の処理が行われ(図6参照)、通信先のサーバ10Bの変換管理マネージャー146Bから、パケットヘッダー変換ルールが通知されると、変換管理マネージャー146Aは、ダイレクトアクセスの設定リクエストを出した仮想マシン12Aのヘッダー変換テーブル126Aに、図12のステップF141aで決定したパケットヘッダー変換ルールと、通信先の変換管理マネージャー146Aから通知されたパケットヘッダー変換ルールとをセットする(図12のステップF145a)。
A series of processing is performed on the hypervisor 14B side by transmission of the communication identification information and the packet header conversion rule (see FIG. 6), and the packet header conversion rule is notified from the conversion management manager 146B of the
次に、図12のステップF141aで決定したパケットヘッダー変換ルールに基づいて、ネットワークインタフェースカード16Aのフィルターテーブル164Aにエントリを登録する(図12のステップF148a)。 Next, an entry is registered in the filter table 164A of the network interface card 16A based on the packet header conversion rule determined in step F141a of FIG. 12 (step F148a of FIG. 12).
このようにして、図6のシーケンス図における送信側のハイパーバイザー14Aのダイレクトアクセスの設定が完了する。 In this way, the direct access setting of the transmitting hypervisor 14A in the sequence diagram of FIG. 6 is completed.
図13は、図6のシーケンス図における、ハイパーバイザー14Bに備えられる変換管理マネージャー146Bの処理を詳細に示したフローチャートである。図11のシーケンス図と同様の処理については、同一の符号を付し、詳細な説明を省略する。 FIG. 13 is a flowchart showing in detail the processing of the conversion management manager 146B provided in the hypervisor 14B in the sequence diagram of FIG. The same processes as those in the sequence diagram of FIG. 11 are denoted by the same reference numerals and detailed description thereof is omitted.
変換管理マネージャー146Bは、ダイレクトアクセス設定の通知がなされ、通知をもとにパケットヘッダー変換ルールを決定すると、ダイレクトアクセスの通信相手となる仮想マシン12Bのヘッダー変換テーブル126Bに、ダイレクトアクセス設定の通知に含まれるパケットヘッダー変換ルールと、通知をもとに決定したパケットヘッダー変換ルールと、を登録する(図13のステップF145b)。 When the conversion management manager 146B is notified of the direct access setting and determines the packet header conversion rule based on the notification, the conversion management manager 146B sends the direct access setting notification to the header conversion table 126B of the virtual machine 12B that is the direct access communication partner. The included packet header conversion rule and the packet header conversion rule determined based on the notification are registered (step F145b in FIG. 13).
このようにして、図6のシーケンス図における受信側のハイパーバイザー14Bのダイレクトアクセスの設定が完了する。 In this way, the direct access setting of the receiving hypervisor 14B in the sequence diagram of FIG. 6 is completed.
以上のように、本実施形態では、ダイレクトアクセスを使用した仮想マシン12同士の通信において、事前に互いのネットワークインタフェースカード16に登録可能な情報と、既に存在する通信に関する情報から、ダイレクトアクセスのための、一意なパケットヘッダ変換ルールを決定し、パケットの送受信時にそのルールに基づいたパケットヘッダの変換が行われる。これにより、ネットワークインタフェースカード16の差異を吸収しつつ、ダイレクトアクセスを用いた通信を実現することができる。
As described above, in the present embodiment, for communication between
なお、上記した実施形態では、パケットヘッダの変換によりネットワークインタフェースカード16の差異を吸収するものとして説明したが、パケットヘッダの変換ではなく、変換後のパケットヘッダを、もともとのパケットにカプセル化し、受信側でアンカプセル化する形態も採用可能である。本発明において、パケットヘッダの変換を行うことと、カプセル化を行うことには本質的な差異は生じない。
In the above-described embodiment, the difference between the
[第2の実施形態]
次に、ダイレクトアクセスの設定契機に変更を加えた本発明の第2の実施形態について、図面を参照して詳細に説明する。図14は、本発明の第2の実施形態のサーバ10A2の詳細構成を表したブロック図である。図3に示した第1の実施形態のサーバとの相違点は、ハイパーバイザー14−2と、ハイパーバイザー14−2を構成する仮想スイッチ142−2と、フローテーブル143と、ポリシーテーブル147である。その他本発明の第1の実施の形態と同様の構成要素については同一の符号を付し、詳細な説明を省略する。
[Second Embodiment]
Next, a second embodiment of the present invention in which changes have been made to the direct access setting opportunity will be described in detail with reference to the drawings. FIG. 14 is a block diagram illustrating a detailed configuration of the server 10A2 according to the second embodiment of this invention. The difference from the server of the first embodiment shown in FIG. 3 is a hypervisor 14-2, a virtual switch 142-2 constituting the hypervisor 14-2, a flow table 143, and a policy table 147. . Other components similar to those in the first embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted.
ハイパーバイザー14−2は、仮想スイッチ142−2と、フローテーブル143と、ヘッダー管理テーブル144と、変換管理マネージャー146−2と、ポリシーテーブル147と、を備えている。 The hypervisor 14-2 includes a virtual switch 142-2, a flow table 143, a header management table 144, a conversion management manager 146-2, and a policy table 147.
第2の実施形態では、仮想マシン12に係る通信は、仮想化環境の管理者が定める通信粒度でダイレクトアクセスを行うかどうかが制御される。この粒度は、少なくとも通信相手の仮想マシン12が識別できる粒度であり、例えば、VLAN IDとIPアドレスの組み合わせ、あるいはVLAN IDとMACアドレスの組み合わせ、などが考えられる。また、場合によっては、より細かい粒度でダイレクトアクセスを制御することも考えられる。その場合は、ポート番号やプロトコルまでを含めた通信粒度となる。以降、このような通信粒度単位のパケットの流れを「フロー」と呼ぶ。
In the second embodiment, it is controlled whether or not the communication related to the
仮想スイッチ142−2は、仮想マシン12に係る通信のうち、ダイレクトアクセスを使用しない通信を中継する。仮想スイッチ142−2は、フロー単位で通信の統計情報を管理する機能を有する。例えば、統計情報として、通過バイト数、通過パケット数、パケットのドロップ数などをフロー単位で管理するほか、フローの発生時刻、フローに属するパケットが最後に転送された時刻、などを管理する。
The virtual switch 142-2 relays communication that does not use direct access among the communication related to the
フローテーブル143には、少なくともマッチ条件として使用するフローの識別情報と、そのフローの統計情報とを対応付けたエントリが格納される。統計情報は、仮想スイッチ142−2によって読み出され、更新される。 The flow table 143 stores an entry that associates at least flow identification information used as a match condition with statistical information of the flow. The statistical information is read and updated by the virtual switch 142-2.
仮想スイッチ142−2は、パケットを受信すると、フローテーブル143から、そのパケットのヘッダー情報に適合するマッチ条件を持つエントリを検索し、そのパケットが属するフローの統計情報を更新する。フローテーブル143に登録されていないフローに属するパケットが届いた場合、変換管理マネージャ146−2または仮想スイッチ142−2が保持する通信を識別する粒度に関する情報に基づいて当該フローの識別情報を生成し、フローテーブル143にエントリを新規に追加する。 When receiving the packet, the virtual switch 142-2 searches the flow table 143 for an entry having a matching condition that matches the header information of the packet, and updates the statistical information of the flow to which the packet belongs. When a packet belonging to a flow not registered in the flow table 143 arrives, identification information of the flow is generated based on information on the granularity for identifying communication held by the conversion management manager 146-2 or the virtual switch 142-2. , A new entry is added to the flow table 143.
変換管理マネージャ146−2が通信を識別する粒度に関する情報を保持する場合、フローテーブル143に登録されていないフローに属するパケットが仮想スイッチ142−2に届いた際に、仮想スイッチ142−2が、変換管理マネージャ146−2に問い合わせ、フローテーブルに登録するエントリを取得し、フローテーブル143に登録することとしてもよい。 When the conversion management manager 146-2 holds information about the granularity for identifying communication, when a packet belonging to a flow not registered in the flow table 143 arrives at the virtual switch 142-2, the virtual switch 142-2 The conversion management manager 146-2 may be inquired, an entry to be registered in the flow table may be acquired, and registered in the flow table 143.
ポリシーテーブル147には、フローの識別情報と、そのフローに対してダイレクトアクセスを使用するかどうかの判断基準が保持される。本実施形態では、フローの識別情報と、この判断基準をあわせて、「ポリシー」と呼ぶ。ポリシーの例としては、例えば、あて先IPアドレスが192.168.1.1であるフローに対して、一定時間内に仮想スイッチ142−2を通過するパケット数が一定数を超えた場合に、ダイレクトアクセスを使用する、というような、フローテーブル143に保持される統計情報を利用したポリシーが考えられる。 The policy table 147 holds flow identification information and criteria for determining whether or not to use direct access for the flow. In the present embodiment, the flow identification information and the determination criterion are collectively referred to as a “policy”. As an example of the policy, for example, for a flow whose destination IP address is 192.168.1.1, when the number of packets passing through the virtual switch 142-2 exceeds a certain number within a certain time, the direct A policy using statistical information held in the flow table 143, such as using access, can be considered.
変換管理マネージャー146−2は、ポリシーテーブル147に保持されるポリシーに基づいて、あるフローに対してダイレクトアクセスを使用するかどうかを判断し、ダイレクトアクセスの設定を行う。 The conversion management manager 146-2 determines whether to use direct access for a certain flow based on the policy held in the policy table 147, and sets direct access.
続いて、図15、図16のシーケンス図を参照して、本実施形態の動作について詳細に説明する。 Next, the operation of this embodiment will be described in detail with reference to the sequence diagrams of FIGS. 15 and 16.
図15は、変換管理マネージャー146−2が、フローテーブル143に登録されていないフローに属するパケットが仮想スイッチ142−2に届いた際に、ダイレクトアクセスの設定を行う処理を示したシーケンス図である。本実施形態においては、仮想スイッチ側に通信を識別する粒度に関する情報を持つものとするが、変換管理マネージャー146−2が、この情報を保持していても、本質的には変わらない。 FIG. 15 is a sequence diagram illustrating a process in which the conversion management manager 146-2 performs direct access setting when a packet belonging to a flow not registered in the flow table 143 arrives at the virtual switch 142-2. . In the present embodiment, it is assumed that the virtual switch side has information regarding the granularity for identifying communication, but even if the conversion management manager 146-2 holds this information, there is essentially no change.
まず、仮想スイッチ142−2が、パケットヘッダーと通信を識別する粒度に関する情報を用いて、フローの識別情報を生成し、変換管理マネージャー146−2に通知する(図15のS1420−2)。この通信を識別する情報とは、例えば、パケットヘッダーである。 First, the virtual switch 142-2 generates flow identification information using information on the granularity for identifying the packet header and communication, and notifies the conversion management manager 146-2 (S1420-2 in FIG. 15). The information for identifying this communication is, for example, a packet header.
次に、変換管理マネージャー146−2は、通信の識別情報と、フローの識別情報を用いてポリシーテーブル147を参照し、ダイレクトアクセスを使用するポリシーに該当するフローであった場合に、ダイレクトアクセスの設定処理を開始する(図15のS1460−2)。 Next, the conversion management manager 146-2 refers to the policy table 147 using the communication identification information and the flow identification information, and if the flow corresponds to the policy using direct access, The setting process is started (S1460-2 in FIG. 15).
ダイレクトアクセスの設定手順は、図4のS142a以降の処理、または、図6のS140a以降の処理と同様であるため、詳細な説明を省略する。 The direct access setting procedure is the same as the process after S142a in FIG. 4 or the process after S140a in FIG.
図16は、変換管理マネージャー146−2が、フローテーブル143に保持されている統計情報を用いて、ダイレクトアクセスの設定、あるいはダイレクトアクセス設定の終了を行う処理を示したものである。 FIG. 16 shows a process in which the conversion management manager 146-2 uses the statistical information held in the flow table 143 to set the direct access or end the direct access setting.
まず、変換管理マネージャー146−2が、仮想スイッチ142−2に対して、統計情報取得のリクエストを発行する(図16のS1462−2)。このリクエストには、フローテーブル143に保持されているすべてのエントリを読み出すものや、特定の条件に一致するエントリだけを読み出すものなどが考えられる。 First, the conversion management manager 146-2 issues a statistical information acquisition request to the virtual switch 142-2 (S1462-2 in FIG. 16). This request may be one that reads all entries held in the flow table 143 or one that reads only entries that match a specific condition.
次に、仮想スイッチ142−2は、変換管理マネージャー146−2が発行したリクエストに従ってフローテーブル143にアクセスし、フローの統計情報を読み出し、変換管理マネージャー146−2に転送する(図16のS1422−2)。 Next, the virtual switch 142-2 accesses the flow table 143 according to the request issued by the conversion management manager 146-2, reads the flow statistical information, and transfers it to the conversion management manager 146-2 (S1422- of FIG. 16). 2).
次に、変換管理マネージャー146−2は、取得したフローの統計情報を用いてポリシーテーブル147を参照し、ダイレクトアクセス対象のフローが存在すれば、ダイレクトアクセスの設定処理を開始し、ダイレクトアクセスを終了させるフローが存在すれば、ダイレクトアクセスの終了処理を開始する(図16のS1464−2)。 Next, the conversion management manager 146-2 refers to the policy table 147 using the acquired flow statistical information, and if there is a direct access target flow, starts the direct access setting process and ends the direct access. If there is a flow to be performed, direct access termination processing is started (S1464-2 in FIG. 16).
ダイレクトアクセスの設定手順は、図4のS142a以降の処理、または、図6のS140a以降の処理と同様であるため、詳細な説明を省略する。また、ダイレクトアクセスの終了手順は、図7と同様であるため、詳細な説明を省略する。 The direct access setting procedure is the same as the process after S142a in FIG. 4 or the process after S140a in FIG. The direct access termination procedure is the same as that shown in FIG.
以上のように本実施形態によれば、ダイレクトアクセスを使用した仮想マシン12同士の通信において、管理者のポリシーや統計情報に基づいてダイレクトアクセスの設定または削除が行われる。このため、仮想マシン10が明示的にダイレクトアクセスの設定要否を示さなくとも、ダイレクトアクセスを用いた通信を実現することができる。
As described above, according to the present embodiment, in the communication between
[第3の実施形態]
次に、ネットワークインタフェースカード側の構成に変更を加えた本発明の第3の実施形態について、図面を参照して詳細に説明する。図17は、本発明の第3の実施形態のサーバ10A3の詳細構成を表したブロック図である。図3に示した第1の実施形態のサーバとの相違点は、ネットワークインタフェースカード16−3に、ネットワークインタフェースカード16−3を構成する受信フィルターテーブル(Ingress Filter Table)164−3と、送信フィルターテーブル(Egress Filter Table)165とが設けられている点である。その他本発明の第1の実施形態と同様の構成要素については同一の符号を付し、詳細な説明を省略する。また、受信フィルターテーブル164−3は、第1の実施形態のフィルターテーブル164と同一の機能を持つため、詳細な説明を省略する。
[Third Embodiment]
Next, a third embodiment of the present invention in which the configuration on the network interface card side is changed will be described in detail with reference to the drawings. FIG. 17 is a block diagram illustrating a detailed configuration of the server 10A3 according to the third embodiment of this invention. The difference from the server of the first embodiment shown in FIG. 3 is that the network interface card 16-3 includes a reception filter table (Ingress Filter Table) 164-3 constituting the network interface card 16-3, and a transmission filter. A table (Egress Filter Table) 165 is provided. Other components similar to those of the first embodiment of the present invention are denoted by the same reference numerals, and detailed description thereof is omitted. Further, the reception filter table 164-3 has the same function as the filter table 164 of the first embodiment, and thus detailed description thereof is omitted.
ネットワークインタフェースカード16−3は、ネットワークインタフェースコントローラー162と、受信フィルターテーブル164−3と、送信フィルターテーブル165と、物理インタフェース166と、仮想インタフェース167と、物理ポート168と、を備えている。なお、図17では、受信フィルターテーブル164−3と、送信フィルターテーブル165とが異なるテーブルとして図示されているが、実装上は、受信フィルターテーブル164−3と、送信フィルターテーブル165と、を同一のメモリなどを利用して実現することも可能である。この場合、送受信の両方向のパケットに対して、ネットワークインタフェースコントローラー162は同一のフィルターテーブルを参照し、パケットに対する処理を実行する。
The network interface card 16-3 includes a network interface controller 162, a reception filter table 164-3, a transmission filter table 165, a physical interface 166, a
送信フィルターテーブル165は、仮想マシン12から送出されたパケットを、ネットワークインタフェースカード16−3にて、フィルタリングするためのルールを保持するためのテーブルである。送信フィルターテーブルには、パケットヘッダなどの、通信を識別するための情報と、その情報を持つパケットに対する処理を登録することができる。ここでの処理とは、パケットヘッダ中の宛先IPアドレスフィールドの情報が特定の値のパケットはドロップさせるといったことが例として挙げられる。その他にも、ネットワークインタフェースコントローラー162にてパケットヘッダの書き換えや、パケットヘッダ以外のデータを用いたフィルタリング、などが考えられる。送信フィルターテーブル165へのルールの登録や削除といった操作は、ハイパーバイザー14から行われる。操作方法は、受信フィルターテーブル164−3に対する操作と同様であるため、詳細な説明を省略する。
The transmission filter table 165 is a table for holding rules for filtering packets transmitted from the
ネットワークインタフェースコントローラー162は、仮想マシン12から仮想インタフェース167を経由してパケットを受け取ると、パケットに含まれる通信を識別する情報を用いて、送信フィルターテーブル165を参照する。ネットワークインタフェース162は、送信フィルターテーブル165からパケットにマッチするエントリを検索し、そのエントリに登録された処理内容を実行する。前記検索の結果、エントリが存在しない場合、ネットワークインタフェースコントローラー162は、ダイレクトアクセスの設定がなされていない通信に係るパケットを送出したと見なし、パケットをドロップする、という使い方も考えられる。
When the network interface controller 162 receives a packet from the
次に、図18のシーケンス図、図19、図20のフローチャートを参照して、本実施形態の動作について詳細に説明する。なお、本動作の説明では、送信フィルターテーブル165にエントリが存在しない通信は、ネットワークインタフェースカード16にて、パケットがドロップされるものとする。
Next, the operation of this embodiment will be described in detail with reference to the sequence diagram of FIG. 18 and the flowcharts of FIGS. 19 and 20. In the description of this operation, it is assumed that a packet is dropped by the
図18は、送信フィルターテーブル165を利用したダイレクトアクセスの設定を行う処理の流れを示したものである。基本的な動作の流れは、図4のシーケンス図と同様であるので、図4と同様の処理については同一の番号を付し、詳細な説明を省略する。 FIG. 18 shows the flow of processing for setting direct access using the transmission filter table 165. Since the basic operation flow is the same as that in the sequence diagram of FIG. 4, the same processes as those in FIG. 4 are denoted by the same reference numerals and detailed description thereof is omitted.
ハイパーバイザー14Aは、仮想マシン12Aからダイレクトアクセスのリクエストを受信すると、ハイパーバイザー14Bの変換管理マネージャー146Bに対して、ダイレクトアクセスの通知を行う(図18のS142a−3)。この通知には、ネットワークインタフェースカード16Aの送信フィルターテーブル165Aに登録可能な通信の識別情報と、仮想マシン12Aからのリクエストに含まれる通信の識別情報と、が含まれる。 When receiving a direct access request from the virtual machine 12A, the hypervisor 14A notifies the conversion management manager 146B of the hypervisor 14B of direct access (S142a-3 in FIG. 18). This notification includes communication identification information that can be registered in the transmission filter table 165A of the network interface card 16A and communication identification information included in the request from the virtual machine 12A.
次に、変換管理マネージャー146Bは、ダイレクトアクセスの通知に含まれる情報と、ネットワークインタフェースカード16Bの受信フィルターテーブル164−3に登録可能な通信の識別情報と、をもとに、パケットヘッダー変換ルールBを決定し、ヘッダー管理テーブル144Bに登録する(図18のS140b−3)。 Next, the conversion management manager 146B uses the packet header conversion rule B based on the information included in the direct access notification and the communication identification information that can be registered in the reception filter table 164-3 of the network interface card 16B. Is registered in the header management table 144B (S140b-3 in FIG. 18).
その後、図4のシーケンスと同様の処理が行われ、パケットヘッダー変換ルールBは、変換管理マネージャー146Aに通知される。そして、変換管理マネージャー146Aは、パケットヘッダー変換ルールBに基づいて、変換後のパケットヘッダーのうち、ネットワークインタフェースカード16Aの送信フィルターテーブル165Aに登録可能な情報を登録する(図18のS146a―3)。 Thereafter, processing similar to the sequence of FIG. 4 is performed, and the packet header conversion rule B is notified to the conversion management manager 146A. Based on the packet header conversion rule B, the conversion management manager 146A registers information that can be registered in the transmission filter table 165A of the network interface card 16A in the converted packet header (S146a-3 in FIG. 18). .
このようにして、サーバ10Aとサーバ10Bの双方でダイレクトアクセスの設定がなされる。
In this way, direct access is set on both the
図19は、図18のシーケンス図における、ハイパーバイザー14Aの変換管理マネージャー146Aの処理を詳細に示したフローチャートである。図10のフローチャートと同様の処理については、同一の符号を付し、詳細な説明を省略する。 FIG. 19 is a flowchart showing in detail the processing of the conversion management manager 146A of the hypervisor 14A in the sequence diagram of FIG. The same processes as those in the flowchart of FIG. 10 are denoted by the same reference numerals, and detailed description thereof is omitted.
変換管理マネージャー146Aは、仮想マシン12Aからダイレクトアクセスのリクエストを受信すると、ハイパーバイザー14Bの変換管理マネージャー146Bに対して、ダイレクトアクセスの通知を行う(図19のステップF142a−3)。この通知には、ネットワークインタフェースカード16Aの送信フィルターテーブル165Aに登録可能な通信の識別情報と、仮想マシン12Aからのリクエストに含まれる通信の識別情報と、が含まれる。 When the conversion management manager 146A receives a direct access request from the virtual machine 12A, it notifies the conversion management manager 146B of the hypervisor 14B of direct access (step F142a-3 in FIG. 19). This notification includes communication identification information that can be registered in the transmission filter table 165A of the network interface card 16A and communication identification information included in the request from the virtual machine 12A.
変換管理マネージャー146Bからパケットヘッダー変換ルールBが通知されると、変換管理マネージャー146Aはパケットヘッダー変換ルールBに基づいて、変換後のパケットヘッダーのうち、ネットワークインタフェースカード16Aの送信フィルターテーブル165Aに登録可能な情報を登録する(図19のF148a−3)。 When the packet management rule 146B is notified from the conversion management manager 146B, the conversion management manager 146A can register the packet header after conversion in the transmission filter table 165A of the network interface card 16A based on the packet header conversion rule B. Information is registered (F148a-3 in FIG. 19).
図20は、図18のシーケンス図における、ハイパーバイザー14Bの変換管理マネージャー146Bの処理を詳細に示したフローチャートである。図11のフローチャートと同様の処理については、同一の符号を付し、詳細な説明を省略する。 FIG. 20 is a flowchart showing in detail the processing of the conversion management manager 146B of the hypervisor 14B in the sequence diagram of FIG. The same processes as those in the flowchart of FIG. 11 are denoted by the same reference numerals, and detailed description thereof is omitted.
変換管理マネージャー146Bは、変換管理マネージャー146Aからのダイレクトアクセスの通知に含まれる情報と、ネットワークインタフェースカード16Bの受信フィルターテーブル164−3に登録可能な通信の識別情報と、をもとに、パケットヘッダー変換ルールBを決定し、ヘッダー管理テーブル144Bに登録する(図20のF142b−3)。 The conversion management manager 146B uses the packet header based on the information included in the direct access notification from the conversion management manager 146A and the communication identification information that can be registered in the reception filter table 164-3 of the network interface card 16B. The conversion rule B is determined and registered in the header management table 144B (F142b-3 in FIG. 20).
図6に示したような、2台のサーバ10間で両方向の通信に対して、ダイレクトアクセスの設定を行う場合、変換管理マネージャー146Aが図6のS140aの処理を行う前に、変換管理マネージャー146Aと変換管理マネージャー146Bが、それぞれのネットワークインタフェースカード16の送信フィルターテーブル165に登録可能な通信の識別情報に関する情報を、互いに交換し、交換した情報と、図6のS140a以降の処理で交換する情報とを元にパケットヘッダー変換ルールを決定することで、両方向の通信に対してダイレクトアクセスすることができる。または、図18のシーケンス図で示した処理を、それぞれの通信の方向について実行することでも、両方向の通信に対して、ダイレクトアクセスの設定を行うこともできる。
When direct access is set for two-way communication between two servers 10 as shown in FIG. 6, before the conversion management manager 146A performs the processing of S140a in FIG. 6, the conversion management manager 146A. And the conversion management manager 146B exchange information regarding communication identification information that can be registered in the transmission filter table 165 of each
以上のように本実施形態では、ダイレクトアクセスを使用した仮想マシン12同士の通信において、仮想マシンが誤ったパケットヘッダを付与してダイレクトアクセスを実行することを防ぐことができ、パケットが本来の通信相手ではない仮想マシン12に届くことを防ぐことができる。その理由は、ネットワークインタフェースカード16に送信フィルターテーブル165を設けたためである。
As described above, in this embodiment, in the communication between the
また、本実施形態では、パケット送信側の仮想マシン10の送信フィルターテーブル165に登録可能な通信の識別情報が、パケット受信側の仮想マシン10の受信フィルターテーブル164−3に登録可能な通信の識別情報のスーパーセット(上位集合)になっていることが望ましい。スーパーセットの関係である場合、パケット受信側の受信フィルタに登録可能な情報のいずれか1つでも誤ったパケットヘッダを持つパケットの送出を防ぐことができる。一方、スーパーセットの関係ではない場合は、送信フィルターテーブル165に登録可能な通信の識別情報の範囲内で、誤ったパケットヘッダーを持つパケットの送出を防ぐことができるが、それ以外の情報に誤りのあるパケットはパケットの受信側で検出される。 In this embodiment, the communication identification information that can be registered in the transmission filter table 165 of the virtual machine 10 on the packet transmission side is the identification of the communication that can be registered in the reception filter table 164-3 of the virtual machine 10 on the packet reception side. It is desirable to be a superset of information. In the case of a superset relationship, transmission of a packet having an erroneous packet header can be prevented even with any one of information that can be registered in the reception filter on the packet reception side. On the other hand, when the relationship is not superset, it is possible to prevent transmission of a packet having an erroneous packet header within the range of communication identification information that can be registered in the transmission filter table 165, but other information is incorrect. Packets with are detected on the receiving side.
なお、第2の実施形態のネットワークインタフェースカード16を、本実施形態のネットワークインタフェースカード16−3で置き換えることで、第2の実施形態に、本実施の形態の効果であるパケット送信時におけるフィルタリングの機能を追加することができる。送信フィルターテーブル165の操作については、本実施の形態の動作の説明で述べた方法と同様であるため、詳細な説明を省略する。
In addition, by replacing the
[第4の実施形態]
次に、変換管理マネージャ機能をサーバ10の外部に集約した本発明の第4の実施形態について、図面を参照して詳細に説明する。図21は、本発明の第4の実施形態の全体構成を表したブロック図である。基本的な構成は図2に示した第1の実施形態と同様であるが、ダイレクトアクセスコントローラ20が接続されている点で相違している。図1と同様の構成要素については同一の符号を付し、詳細な説明を省略する。
[Fourth Embodiment]
Next, a fourth embodiment of the present invention in which conversion management manager functions are consolidated outside the server 10 will be described in detail with reference to the drawings. FIG. 21 is a block diagram showing the overall configuration of the fourth embodiment of the present invention. The basic configuration is the same as that of the first embodiment shown in FIG. 2, but is different in that the
ダイレクトアクセスコントローラ20は、ダイレクトアクセスの設定のためのパケットヘッダー変換ルールの割り当て及び管理を行う。ダイレクトアクセスコントローラ20は、仮想ネットワーク資源と仮想計算資源からなる各ユーザの仮想化環境に、少なくとも1つ配置される。
The
図22は、本発明の第4の実施形態のサーバ10A4及びダイレクトアクセスコントローラ20の詳細構成を表したブロック図である。図22を参照すると、ダイレクトアクセスコントローラ20と、サーバ10−4を上で動作する仮想マシン12と、ハイパーバイザー14−4と、を接続した構成が示されている。
FIG. 22 is a block diagram illustrating detailed configurations of the server 10A4 and the
図22を参照すると、第1の実施形態の変換管理マネージャー146と、ヘッダー管理テーブル144と、を備えたダイレクトアクセスコントローラ(Direct Access Controller)20と、変換管理ローカルマネージャー146−4と、仮想スイッチ142−4と、フローテーブル143−4と、を備えたハイパーバイザー(HyperVisor)14−4と、仮想マシン(VM)12と、が示されている。図22においても、第1の実施形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。
Referring to FIG. 22, a
本実施の形態では、ダイレクトアクセスの設定を行う際には、仮想マシン12、またはハイパーバイザー14−4から、ダイレクトアクセスコントローラ20に対して、ダイレクトアクセス設定のリクエストを出し、ダイレクトアクセスコントローラ20が、ダイレクトアクセスのためのパケットヘッダー変換ルールを決定し、決定されたパケットヘッダー変換ルールを、変換管理ローカルマネージャー146−4に通知し、変換管理ローカルマネージャー146−4が、フィルターテーブル164と、ヘッダー変換テーブル126に設定を行うように動作する。
In the present embodiment, when setting the direct access, a request for direct access setting is issued from the
また、ダイレクトアクセスコントローラ20は、変換管理マネージャー146と、ヘッダー管理テーブル144と、を備えて構成される。なお、ダイレクトアクセスコントローラ20には、サーバ10A4とネットワーク18を介して通信する通信機能や、ヘッダー管理テーブル144を保持するためのメモリ領域、ダイレクトアクセスの制御のための演算機能を持つ。一般的には、ダイレクトアクセスコントローラ20は、サーバを用いて構成することができる。
The
変換管理マネージャー146は、各サーバのダイレクトアクセスに関する情報の管理と、ダイレクトアクセス設定のための、各サーバ内の変換管理ローカルマネージャー146−4とのネゴシエーションや通知を行う。このネゴシエーションによって、パケットの受信側のサーバのネットワークインタフェースカード16のフィルターテーブル164に登録可能な情報に関する情報を取得し、パケットヘッダー変換ルールを決定する。また、決定したパケットヘッダー変換ルールを、ダイレクトアクセスを使用して通信を行う両仮想マシン12が収容されたサーバ10A4に備えられる変換管理ローカルマネージャー146−4に通知する。
The conversion management manager 146 performs management of information related to direct access of each server, and negotiation and notification with the conversion management local manager 146-4 in each server for setting direct access. By this negotiation, information about information that can be registered in the filter table 164 of the
ヘッダー管理テーブル144は、サーバ10A4で稼動する仮想マシン12に係る通信を管理する。変換管理マネージャー146が、ダイレクトアクセスのためのヘッダー変換ルールを決定する際に、既に存在する通信と、新規のダイレクトアクセスの通信とを識別可能なようにするために使用される。
The header management table 144 manages communication related to the
また、サーバ10A4のハイパーバイザー14−4は、仮想スイッチ142−4と、フローテーブル143−4と、変換管理マネージャー146−4と、を備えて構成される。 The hypervisor 14-4 of the server 10A4 includes a virtual switch 142-4, a flow table 143-4, and a conversion management manager 146-4.
仮想スイッチ142−4は、仮想マシン12に係る通信のうち、ダイレクトアクセスを使用しない通信を中継する。仮想スイッチ142−4は、現在アクティブな通信の識別子を、フローテーブル143−4に登録し、管理する。また、仮想スイッチ142−4は、パケットが仮想スイッチ142−4に届くたびに、フローテーブル143−4を参照し、新規の通信かどうかを確認する。新規の通信の場合は、変換管理ローカルマネージャー146−4に対して、新規の通信の識別子を通知する。
The virtual switch 142-4 relays communication that does not use direct access among the communication related to the
フローテーブル143−4には現在アクティブな通信の識別子が保存される。 The flow table 143-4 stores an identifier of a currently active communication.
変換管理ローカルマネージャー146−4は、仮想マシン12からダイレクトアクセスの設定リクエストが発行されると、リクエストに含まれる通信の識別子を、ダイレクトアクセスコントローラ20に通知する。また、変換管理ローカルマネージャー146−4は、ダイレクトアクセスコントローラ20からの、ネットワークインタフェースカード16のフィルターテーブル164に登録可能な通信の識別情報の問い合わせに対して、フィルターテーブル164に登録可能な通信の識別情報に関する情報を通知する。また、ダイレクトアクセスコントローラ20から、ヘッダー変換ルールが通知されると、該当する仮想マシン12のヘッダー変換テーブル126に、ヘッダー変換ルールを登録し、場合によっては、フィルターテーブル164にエントリを追加する。そのため、通知されるヘッダー変換ルールがどのダイレクトアクセスの設定要求に対応するものかを識別するために、ヘッダー変換ルールには、ダイレクトアクセスの要求と対応付けられた識別子が付与される。
When the
また、変換管理ローカルマネージャー146−4は、仮想スイッチ142−4から、新規の通信が発生した旨を示す通知がなされると、ダイレクトアクセスコントローラ20に対して、通信の識別子を通知する。また、変換管理ローカルマネージャー146−4は、ダイレクトアクセスを用いた通信の終了時に、場合によっては、フィルターテーブル164から該当するエントリを削除し、また、変換管理ローカルマネージャー146−4は、ダイレクトアクセスコントローラ20に対して、ダイレクトアクセスを用いた通信が終了したことを、通信の識別子とともに通知する。
In addition, when the virtual switch 142-4 notifies that the new communication has occurred, the conversion management local manager 146-4 notifies the
次に、図23、図24のシーケンス図、図25、図26のフローチャートを参照して、本実施形態の動作について詳細に説明する。 Next, the operation of this embodiment will be described in detail with reference to the sequence diagrams of FIGS. 23 and 24 and the flowcharts of FIGS. 25 and 26.
図23は、仮想マシン12のリクエストに基づいて、2台のサーバ間(サーバA、サーバB)でダイレクトアクセスの設定を行う処理を示したシーケンス図である。図23において、図4に示した第1の実施形態のシーケンス図と同様の処理については、同一の符号を付し、詳細な説明を省略する。また、本実施形態の動作の説明では、仮想マシン12は、ダイレクトアクセスの設定リクエストを、変換管理ローカルマネージャー146−4経由で、ダイレクトアクセスコントローラ20に出すが、仮想マシン12が直接ダイレクトアクセスコントローラ20に、ダイレクトアクセスの設定リクエストを出すことも可能である。このことは本実施形態に本質的な差異を与えない。
FIG. 23 is a sequence diagram illustrating processing for setting direct access between two servers (server A and server B) based on a request from the
図23を参照すると、まず、仮想マシン12Aが変換管理ローカルマネージャー146−4Aに対して、ダイレクトアクセスのリクエストを送信する(図23のS120a−4)。このリクエストには、通信を識別する識別情報が含まれている。 Referring to FIG. 23, first, the virtual machine 12A transmits a direct access request to the conversion management local manager 146-4A (S120a-4 in FIG. 23). This request includes identification information for identifying communication.
次に、変換管理ローカルマネージャー146−4Aは、ダイレクトアクセスコントローラ20に対して、ダイレクトアクセス対象の通信の識別情報を転送する(図23のS142a−4)。 Next, the conversion management local manager 146-4A transfers the identification information of the direct access target communication to the direct access controller 20 (S142a-4 in FIG. 23).
次に、ダイレクトアクセスコントローラ20に備えられる変換管理マネージャー146は、ダイレクトアクセスを用いた通信の相手となる仮想マシン12Bが収容されたサーバ10Bの変換管理ローカルマネージャー146−4Bに対して、ネットワークインタフェースカード16Bのフィルターテーブル164Bに登録可能な通信を識別する識別情報を問い合わせる(図23のS200)。
Next, the conversion management manager 146 provided in the
前記問い合わせを受けた変換管理ローカルマネージャー146−4Bは、ダイレクトアクセスコントローラ20に対して、フィルターテーブル164Bに登録可能な、通信を識別する情報に関する識別情報を応答する(図23のS140b−4)。
Upon receiving the inquiry, the conversion management local manager 146-4B responds to the
次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Aから受信した通信の識別情報と、変換管理ローカルマネージャー146−4Bから受信したフィルターテーブル164Bに登録可能な識別情報とから、パケットヘッダー変換ルールを決定し、ヘッダー管理テーブル144に登録する(図23のS202)。
Next, the
次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Bに対して、パケットヘッダー変換ルールを通知する(図23のS204)。
Next, the
次に、変換管理ローカルマネージャー146−4Bは、ヘッダー変換テーブル126Bに、パケットヘッダー変換ルールを登録する(図23のS144b)。また、変換管理ローカルマネージャー146−4Bは、フィルターテーブル164Bに、パケットヘッダー変換ルールに基づいて、エントリを登録する(図23のS146b)。なお、図23のS144bと図23のS146bの処理には依存関係は無いため、実行する順番が入れ替わってもよい。図23のステップS144b、S146bの処理が終わると、変換管理ローカルマネージャー146−4Bは、ダイレクトアクセスコントローラ20に対して、ダイレクトアクセスの設定が完了したことを通知する(図23のS152b−4)。
Next, the conversion management local manager 146-4B registers the packet header conversion rule in the header conversion table 126B (S144b in FIG. 23). Also, the conversion management local manager 146-4B registers an entry in the filter table 164B based on the packet header conversion rule (S146b in FIG. 23). Since there is no dependency relationship between the processes of S144b in FIG. 23 and S146b in FIG. 23, the execution order may be switched. When the processing of steps S144b and S146b in FIG. 23 is completed, the conversion management local manager 146-4B notifies the
前記完了通知を受信すると、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Aに対して、パケットヘッダー変換ルールを通知する(図23のS206)。
When the completion notification is received, the
前記パケットヘッダー変換ルールを受信した変換管理ローカルマネージャー146−4Aは、ダイレクトアクセスのリクエストを出した仮想マシン12Aのヘッダー変換テーブル126Aに、前記受信したパケットヘッダー変換ルールを登録する(図23のS144a−4)。 Upon receiving the packet header conversion rule, the conversion management local manager 146-4A registers the received packet header conversion rule in the header conversion table 126A of the virtual machine 12A that issued the direct access request (S144a- in FIG. 23). 4).
次に、変換管理ローカルマネージャー146−4Aは、ダイレクトアクセスの設定が完了したことを、仮想マシン12Aに通知する(図22のS147a−4)。 Next, the conversion management local manager 146-4A notifies the virtual machine 12A that the direct access setting has been completed (S147a-4 in FIG. 22).
このようにして、ダイレクトアクセスコントローラ20を利用した、ダイレクトアクセスの設定が完了する。
In this way, the direct access setting using the
図24は、ダイレクトアクセスを用いた通信が完了した際に、ダイレクトアクセスの設定を削除する処理を示したシーケンス図である。なお、図24において、図7に示した第1の実施形態のシーケンス図と同様の処理については、同一の符号を付し、詳細な説明を省略する。 FIG. 24 is a sequence diagram illustrating a process of deleting the direct access setting when communication using direct access is completed. In FIG. 24, the same processes as those in the sequence diagram of the first embodiment shown in FIG. 7 are denoted by the same reference numerals, and detailed description thereof is omitted.
まず、仮想マシン12Aは、ヘッダー変換テーブル126Aから、該当するエントリを削除し(図24のS126)、変換管理ローカルマネージャー146−4Aに対して、ダイレクトアクセスを用いた通信が完了した旨を通知する(図24のS128)。この通知には、ダイレクトアクセス対象の通信を識別する識別情報が含まれている。 First, the virtual machine 12A deletes the corresponding entry from the header conversion table 126A (S126 in FIG. 24), and notifies the conversion management local manager 146-4A that communication using direct access has been completed. (S128 in FIG. 24). This notification includes identification information for identifying the communication targeted for direct access.
次に、変換管理ローカルマネージャー146−4Aは、ダイレクトアクセスコントローラ20に対して、ダイレクトアクセスを用いた通信が完了したことを通知する(図24のS148a−4)。この通知には、ダイレクトアクセス対象の通信を識別する識別情報が含まれている。
Next, the conversion management local manager 146-4A notifies the
次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Bに対して、ダイレクトアクセスを使用した通信が完了したことを通知する(図24のS208)。この通知には、ダイレクトアクセス対象の通信を識別する識別情報が含まれている。
Next, the
次に、変換管理ローカルマネージャー146−4Bは、ヘッダー変換テーブル126から、該当するエントリを削除する(図24のS148b−4)。また、変換管理ローカルマネージャー146−4Bは、フィルターテーブル164Bから、該当するエントリを削除する(図24のS149b−4)。なお、図24のS148b−4と、図24のS149b−4の処理には依存関係は無いため、実行する順番が入れ替わってもよい。 Next, the conversion management local manager 146-4B deletes the corresponding entry from the header conversion table 126 (S148b-4 in FIG. 24). Also, the conversion management local manager 146-4B deletes the corresponding entry from the filter table 164B (S149b-4 in FIG. 24). Note that since there is no dependency relationship between the processes of S148b-4 in FIG. 24 and S149b-4 in FIG. 24, the execution order may be switched.
次に、変換管理ローカルマネージャー146−4Bは、ダイレクトアクセスコントローラ20に対して、エントリの削除が完了した旨を通知する(図24のS150b−4)。この通知には、どのダイレクトアクセスを用いた通信のエントリの削除が完了したのかを示す識別情報が含まれている。
Next, the conversion management local manager 146-4B notifies the
次に、ダイレクトアクセスコントローラ20は、ヘッダー管理テーブル144から、該当するエントリを削除する(図24のS210)。
Next, the
このようにして、ダイレクトアクセスの設定の削除が完了する。 In this way, the deletion of the direct access setting is completed.
図25は、図23のシーケンス図における、ハイパーバイザー14Bの変換管理ローカルマネージャー146−4Bの処理のうち、フィルターテーブル164Bに登録可能な通信の識別情報に関する問い合わせに対する処理を詳細に示したフローチャートである。 FIG. 25 is a flowchart showing in detail a process for an inquiry related to identification information of communication that can be registered in the filter table 164B in the process of the conversion management local manager 146-4B of the hypervisor 14B in the sequence diagram of FIG. .
変換管理ローカルマネージャー146−4Bは、フィルターテーブル164Bに登録可能な通信の識別情報に関する問い合わせがあった場合(図25のステップF140b−4のYes)、ダイレクトアクセスコントローラ20に対して、フィルターテーブル164Bに登録可能な通信の識別情報を通知する(図25のステップF142b−4)。フィルターテーブル164Bに登録可能な通信の識別情報に関する問い合わせがない場合(図25のステップF140b−4のNo)、変換管理ローカルマネージャー146−4Bは特に処理を開始しない。 When the conversion management local manager 146-4B has inquired about identification information of communication that can be registered in the filter table 164B (Yes in step F140b-4 in FIG. 25), the conversion management local manager 146-4B stores the filter table 164B in the filter table 164B. Notification information of communication that can be registered is notified (step F142b-4 in FIG. 25). When there is no inquiry regarding the identification information of communication that can be registered in the filter table 164B (No in Step F140b-4 in FIG. 25), the conversion management local manager 146-4B does not particularly start processing.
図26は、図23のシーケンス図における、ハイパーバイザー14Bの変換管理ローカルマネージャー146−4Bの処理のうち、ヘッダー変換ルールを登録する処理を詳細に示したフローチャートである。 FIG. 26 is a flowchart showing in detail a process of registering a header conversion rule among the processes of the conversion management local manager 146-4B of the hypervisor 14B in the sequence diagram of FIG.
まず、変換管理ローカルマネージャー146−4Bは、パケットヘッダー変換ルールがダイレクトアクセスコントローラ20から通知された場合(図26のステップF144b−4のYes)、ヘッダー変換テーブル126にパケットヘッダー変換ルールを登録する(図26のステップF145b−4)。パケットヘッダー変換ルールが通知されていない場合(図25のステップF144b−4のNo)、変換管理ローカルマネージャー146−4Bは特に処理を開始しない。 First, the conversion management local manager 146-4B registers the packet header conversion rule in the header conversion table 126 when the packet header conversion rule is notified from the direct access controller 20 (Yes in step F144b-4 in FIG. 26) ( Step F145b-4) in FIG. When the packet header conversion rule is not notified (No in Step F144b-4 in FIG. 25), the conversion management local manager 146-4B does not particularly start processing.
次に、変換管理ローカルマネージャー146−4Bは、パケットヘッダー変換ルールに基づいて、フィルターテーブル164Bにエントリを追加する(図26のステップF146b−4)。このときに、変換後のパケットヘッダーに含まれる情報のうち、フィルターテーブル164Bに登録可能な情報のみを登録する。なお、図26のステップF145b−4と、図26のステップF146b−4の処理に依存関係はないため、実行する順番が入れ替わってもよい。 Next, the conversion management local manager 146-4B adds an entry to the filter table 164B based on the packet header conversion rule (step F146b-4 in FIG. 26). At this time, only information that can be registered in the filter table 164B is registered among the information included in the packet header after conversion. In addition, since there is no dependence relationship in the process of step F145b-4 of FIG. 26 and step F146b-4 of FIG. 26, the order to perform may be switched.
次に、変換管理ローカルマネージャー146−4Bは、ダイレクトアクセスコントローラ20に対して、パケットヘッダー変換ルールの登録が完了した旨を通知する(図26のステップF150b−4)。この通知には、どのダイレクトアクセスに関するパケットヘッダー変換ルールの登録が完了したのかを示す識別情報が含まれている。
Next, the conversion management local manager 146-4B notifies the
本実施形態においても、図6に示したような、2台のサーバ10間で両方向の通信に対して、ダイレクトアクセスの設定を行うこともできる。この場合、変換管理ローカルマネージャー146−4Aが図6のS142a−4の処理を行う際に、ダイレクトアクセスコントローラ20に対して、通信の識別情報と同時に、フィルターテーブル164Aに登録可能な識別情報を通知する。これにより、ダイレクトアクセスコントローラ20は、両方の通信方向に関するヘッダー変換ルールを決定することができる。または、図23のシーケンス図で示した処理を、それぞれの通信の方向について実行することでも、両方向の通信に対して、ダイレクトアクセスの設定を行うことができる。
Also in the present embodiment, direct access can be set for two-way communication between two servers 10 as shown in FIG. In this case, when the conversion management local manager 146-4A performs the process of S142a-4 in FIG. 6, the
ダイレクトアクセスコントローラ20の別の形態として、各サーバに備えられるネットワークインタフェースカード16のフィルターテーブル164に登録可能な通信の識別情報や、ネットワークインタフェースコントローラー162がサポートする機能を事前に収集、あるいは、ダイレクトアクセスの設定時に得た時点で保持しておくことも考えられる。この場合、ダイレクトアクセスの設定の際に、ダイレクトアクセスコントローラ20が、ダイレクトアクセスの設定リクエストを出した仮想マシン12の通信相手となる仮想マシンが収容されているサーバ10のハイパーバイザー14に、フィルターテーブル164に登録可能な通信の識別情報を問い合わせる必要がなくなり、ダイレクトアクセスの設定完了までの所要時間を短縮できる。
As another form of the
以上のように本実施形態では、ダイレクトアクセスの際に使用する変換後のパケットヘッダーが、ネットワーク中で一意な値であるかどうかの確認を、各サーバ10内のハイパーバイザー14が行わなくて済むという効果がある。その理由は、ダイレクトアクセスの設定を行う際の問い合わせ先として、ネットワーク内にダイレクトアクセスコントローラ20を設け、ダイレクトアクセスコントローラ20が、ダイレクトアクセスの設定に関する情報と、サーバ10の通信に関する情報を管理するように構成したことにある。
As described above, in this embodiment, it is not necessary for the
[第5の実施形態]
次に、サーバ側のヘッダ変換機能とヘッダ変換ルールの生成機能を置く代わりに、外部のデータ変換装置(ダイレクトアクセスゲートウェイ)にこれらの機能を集約した本発明の第5の実施形態について図面を参照して詳細に説明する。
[Fifth Embodiment]
Next, instead of placing the server-side header conversion function and header conversion rule generation function, refer to the drawing for the fifth embodiment of the present invention in which these functions are consolidated in an external data conversion device (direct access gateway). And will be described in detail.
図27は、本発明の第5の実施形態の全体構成を表したブロック図である。図27を参照すると、サーバ10が、ネットワーク18−5を介して、ダイレクトアクセスゲートウェイ30に接続されている構成が示されている。 FIG. 27 is a block diagram showing the overall configuration of the fifth embodiment of the present invention. Referring to FIG. 27, a configuration in which the server 10 is connected to the direct access gateway 30 via the network 18-5 is shown.
本実施形態では、ネットワーク18−5に接続されたサーバから送信されたパケットについて、ダイレクトアクセスゲートウェイ30が、ダイレクトアクセス対象の通信について、パケットヘッダー変換ルールを適用する。なお、図27の例では、サーバ10はネットワーク18−5を介してダイレクトアクセスゲートウェイ30に接続されているが、サーバ10が直接ダイレクトアクセスゲートウェイ30に接続されている構成であってもよい。 In this embodiment, the direct access gateway 30 applies the packet header conversion rule to the direct access target communication for the packet transmitted from the server connected to the network 18-5. In the example of FIG. 27, the server 10 is connected to the direct access gateway 30 via the network 18-5. However, the server 10 may be directly connected to the direct access gateway 30.
ダイレクトアクセスゲートウェイ30は、ヘッダー変換部122と、変換管理マネージャー146と、ヘッダー管理テーブル144と、ネットワークインタフェース16−5と、から構成される。各部の動作、およびダイレクトアクセスの設定方法は、本発明の他の実施形態と同様であるため、詳細な説明を省略する。
The direct access gateway 30 includes a
本実施形態では、ダイレクトアクセスのための設定、パケットヘッダー変換をダイレクトアクセスゲートウェイ30で実行する。このようにすることで、各サーバにヘッダー変換部122や、変換管理マネージャー146、ヘッダー管理テーブル144を備える必要がなくなり、サーバ10に変更を加えなくてすむ。このようなダイレクトアクセス設定機能を持たないサーバ10がデータの送信側であり、データの受信側が他の実施形態に示したようなダイレクトアクセス設定機能を備えたサーバ10の場合に、ダイレクトアクセスによる通信性能の向上の恩恵を受けることができる。
In the present embodiment, setting for direct access and packet header conversion are executed by the direct access gateway 30. In this way, it is not necessary to provide the
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成やサーバ、仮想マシン等の数に制約は無い。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and further modifications, substitutions, and adjustments are possible without departing from the basic technical idea of the present invention. Can be added. For example, there are no restrictions on the number of network configurations, servers, virtual machines, etc. used in the above-described embodiments.
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による計算機参照)
[第2の形態]
第1の形態の計算機において、
前記仮想マシン管理部は、前記第1の仮想マシンからのアクセス要求を受けた場合、
自装置側のネットワークインタフェースのフィルターテーブルに、前記第2の仮想マシンから受信するデータを前記第1の仮想マシンに転送するエントリを追加するとともに、少なくとも前記エントリのマッチ条件を前記第2の計算機に対して送信し、
前記第2の計算機に前記第2の仮想マシンから出力されたデータのデータ識別子を、前記第1の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから送信させることが好ましい。
[第3の形態]
第2の形態の計算機において、
自装置側で動作する仮想マシンと前記第2の計算機上で動作する第2の仮想マシン間の通信を一意に識別するためのデータ識別子を管理するデータ識別子管理テーブルを備え、
前記データ識別子管理テーブルを参照して、前記マッチ条件を決定することが好ましい。
[第4の形態]
第1〜第3いずれか一の形態の計算機において、
前記仮想マシンと前記第2の仮想マシン間の通信を一意に識別するためのデータ識別子を管理するデータ識別子管理テーブルを備えた集中制御コントローラに、前記変換ルールの生成を依頼し、
前記集中制御コントローラにて生成された変換ルールを、前記第1の仮想マシンの変換部に設定するとともに、前記変換ルールを用いてフィルターテーブルを更新することが好ましい。
[第5の形態]
第1〜第4いずれか一の形態の計算機において、
前記仮想マシン管理部は、前記仮想マシンと前記ネットワークインタフェースとを中継する仮想スイッチを備え、
前記仮想スイッチを介して、前記仮想マシンからのアクセス要求を受け付けることが好ましい。
[第6の形態]
第1〜第5いずれか一の形態の計算機において、
前記仮想マシン管理部は、さらに、ダイレクトアクセスを行うか否かの判断基準となるポリシーを管理するポリシー管理機能を備え、前記ポリシーを参照し、前記仮想マシン間のデータについてダイレクトアクセスの設定を行うかどうかを判断することが好ましい。
[第7の形態]
第6の形態の計算機において、
前記ポリシーとして、通信の識別子を用いることができる。
[第8の形態]
第6又は第7の形態の計算機において、
前記仮想マシン管理部は、通信の統計情報を取得、管理する統計情報管理機能を備え、前記ポリシーとして、通信の統計情報を用いることができる。
[第9の形態]
第2〜第8いずれか一の形態の計算機において、
前記ネットワークインタフェースは、さらに、前記仮想マシン上で動作するアプリケーションからネットワークへの方向のデータに対して、データの識別子に応じて、データの転送先又はデータの破棄を決定するデータ送出制御機能と、前記送出データに対する制御内容を保存する保存領域と、を備え、
前記仮想マシン管理部は、さらに、前記変換ルールに基づいて、前記保存領域に、送出データに対する制御内容を設定する機能を備えることが好ましい。
[第10の形態]
第1〜第9いずれか一の形態の計算機において、
前記データ識別子の変換に代えて、前記変換ルールを参照して、データのカプセル化及びアンカプセル化を行うこともできる。
[第11の形態]
(上記第2の視点によるデータ変換装置(ダイレクトアクセスゲートウェイ)参照)
[第12、第13の形態]
(上記第3、第4の視点による通信方法参照)
[第14の形態]
受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備えた第2の計算機と接続された計算機に実行させるプログラムであって、
前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第2の計算機側で動作する第2の仮想マシンと通信する第1の仮想マシンからのアクセス要求を受けた場合、前記第2の計算機に対して前記第1の仮想マシンから出力されるデータのデータ識別子を送信し、前記第2の計算機の前記フィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求する処理と、
前記第2の計算機から返送されたマッチ条件を用いて、前記第1の仮想マシンの変換部にデータ識別子の変換ルールを設定する処理と、
前記変換ルールに基づいて、前記第2の仮想マシンに送信するデータのデータ識別子を、前記第2の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから前記第2の計算機に送信する処理と、を実行させるプログラム。
[第15の形態]
受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備える計算機に実行させるプログラムであって、
第2の計算機から送信されたデータ識別子を用いて、前記フィルターテーブルに、前記第2の計算機から送信されたデータを該当する仮想マシンに転送させるエントリを追加する処理と、
前記第2の計算機に対して、前記追加したフィルターテーブルのマッチ条件を返送する処理とを実行させ、
前記第2の計算機に、前記第2の計算機で動作する仮想マシンから送信されたデータのデータ識別子を、前記追加したフィルターテーブルのマッチ条件に適用するよう変換させるプログラム。
[第16の形態]
第1〜第10いずれか一の形態の計算機を接続したダイレクトアクセス制御システム。
[第17の形態]
仮想マシンと、仮想マシン管理部と、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースとを備えた2つ以上の計算機が、第11の形態のデータ変換装置(ダイレクトアクセスゲートウェイ)を介して接続されているダイレクトアクセス制御システム。
Finally, a preferred form of the invention is summarized.
[First embodiment]
(Refer to the computer from the first viewpoint above)
[Second form]
In the first form of computer,
When the virtual machine management unit receives an access request from the first virtual machine,
An entry for transferring data received from the second virtual machine to the first virtual machine is added to the filter table of the network interface on the own apparatus side, and at least the match condition of the entry is set in the second computer. Send to
It is preferable that the data identifier of the data output from the second virtual machine is converted to a data identifier set as a match condition in the filter table of the first computer and then transmitted to the second computer.
[Third embodiment]
In the second form of computer,
A data identifier management table for managing a data identifier for uniquely identifying a communication between a virtual machine operating on its own device side and a second virtual machine operating on the second computer;
It is preferable to determine the match condition with reference to the data identifier management table.
[Fourth form]
In the computer according to any one of the first to third forms,
Requesting a centralized controller having a data identifier management table for managing a data identifier for uniquely identifying communication between the virtual machine and the second virtual machine to generate the conversion rule;
It is preferable that the conversion rule generated by the centralized controller is set in the conversion unit of the first virtual machine, and the filter table is updated using the conversion rule.
[Fifth embodiment]
In the computer according to any one of the first to fourth forms,
The virtual machine management unit includes a virtual switch that relays between the virtual machine and the network interface,
It is preferable to accept an access request from the virtual machine via the virtual switch.
[Sixth embodiment]
In the computer according to any one of the first to fifth aspects,
The virtual machine management unit further includes a policy management function for managing a policy that is a criterion for determining whether or not to perform direct access, and refers to the policy to set direct access for data between the virtual machines. It is preferable to determine whether or not.
[Seventh form]
In the computer of the sixth form,
A communication identifier can be used as the policy.
[Eighth form]
In the computer of the sixth or seventh aspect,
The virtual machine management unit includes a statistical information management function for acquiring and managing communication statistical information, and the communication statistical information can be used as the policy.
[Ninth Embodiment]
In the computer according to any one of the second to eighth forms,
The network interface further includes a data transmission control function for determining a data transfer destination or data discarding according to a data identifier for data in a direction from the application operating on the virtual machine to the network; A storage area for storing control contents for the transmission data,
It is preferable that the virtual machine management unit further has a function of setting control contents for transmission data in the storage area based on the conversion rule.
[Tenth embodiment]
In the computer according to any one of the first to ninth aspects,
Instead of converting the data identifier, data can be encapsulated and unencapsulated by referring to the conversion rule.
[Eleventh form]
(Refer to the data conversion device (direct access gateway) from the second viewpoint)
[Twelfth and thirteenth forms]
(Refer to the communication methods according to the third and fourth viewpoints.)
[14th form]
A filter table in which matching conditions for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and the received data is referred to the virtual machine on its own device side with reference to the filter table. A program to be executed by a computer connected to a second computer having a network interface having a switching function of transferring,
When an access request is received from the first virtual machine communicating with the second virtual machine operating on the second computer side via the network interface and the network interface on the own apparatus side, the second computer Processing to send a data identifier of data output from the first virtual machine to request update of the filter table of the second computer and return of a match condition of the updated filter table; ,
A process for setting a data identifier conversion rule in the conversion unit of the first virtual machine using the match condition returned from the second computer;
Based on the conversion rule, the data identifier of data to be transmitted to the second virtual machine is converted into a data identifier set as a match condition in the filter table of the second computer, and then the second computer A program for executing the transmission process.
[15th form]
A filter table in which matching conditions for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and the received data is referred to the virtual machine on its own device side with reference to the filter table. A program to be executed by a computer having a network interface having a switching function to transfer,
A process of adding an entry for transferring the data transmitted from the second computer to a corresponding virtual machine in the filter table using the data identifier transmitted from the second computer;
Causing the second computer to execute a process of returning a match condition of the added filter table;
A program for causing the second computer to convert a data identifier of data transmitted from a virtual machine operating on the second computer so that the data identifier is applied to a matching condition of the added filter table.
[Sixteenth embodiment]
A direct access control system in which any one of the first to tenth computers is connected.
[17th form]
A filter table in which a virtual machine, a virtual machine management unit, a matching condition to be matched with received data, and a virtual interface corresponding to an output destination virtual machine are associated with each other is received with reference to the filter table Two or more computers having a network interface having a switching function for transferring data to a virtual machine on the own device side are connected via a data conversion device (direct access gateway) of the eleventh form. Direct access control system.
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。 Each disclosure of the above-mentioned patent document and non-patent document is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Further, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the scope of the claims of the present invention. Is possible. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.
本発明は、サーバ仮想化環境において、各サーバが異なるネットワークインタフェースカードを搭載していた場合にも、ダイレクトアクセスを利用した通信を実現することができ、IaaS(Infrastructure as a Service)のようなサービスにおいて、高い通信性能をユーザに提供することができる。 The present invention can realize communication using direct access even if each server is equipped with a different network interface card in a server virtualization environment, and services such as IaaS (Infrastructure as a Service). Therefore, high communication performance can be provided to the user.
10、10A〜10A5 サーバ
12、12A、12B、1200 仮想マシン(AM)
14、14A、14B、14−2、14−4 ハイパーバイザー
16、16−3、16−5 ネットワークインタフェースカード(NIC)
18、18−5、1800 ネットワーク
20 ダイレクトアクセスコントローラ
30 ダイレクトアクセスゲートウェイ
122、122A、122B ヘッダー変換部
124、124A、124B アプリケーション(プログラム)
126、126A、126B ヘッダー変換テーブル
142、142−2、142−4 仮想スイッチ
143、143−4 フローテーブル
144、144A ヘッダー管理テーブル
146、146A、146B、146−2 変換管理マネージャー
146−4、146−4A、146−4B 変換管理ローカルマネージャー
147 ポリシーテーブル
162 ネットワークインタフェースコントローラー
164、164A、164B フィルターテーブル
164−3 受信フィルターテーブル
165 送信フィルターテーブル
166 物理インタフェース(PI)
167 仮想インタフェース(VI)
168 物理ポート
1000 計算機
1400 仮想マシン管理部
1600 ネットワークインタフェース
10, 10A-
14, 14A, 14B, 14-2, 14-4
18, 18-5, 1800
126, 126A, 126B Header conversion tables 142, 142-2, 142-4 Virtual switches 143, 143-4 Flow tables 144, 144A Header management tables 146, 146A, 146B, 146-2 Conversion management managers 146-4, 146 4A, 146-4B Conversion management local manager 147 Policy table 162
167 Virtual interface (VI)
168
Claims (10)
前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第2の計算機側で動作する第2の仮想マシンと通信する第1の仮想マシンと、
前記第1の仮想マシンからのアクセス要求を受けた場合、前記第2の計算機に対して前記第1の仮想マシンから出力されるデータのデータ識別子を送信し、前記第2の計算機の前記フィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求し、前記第2の計算機から返送されたマッチ条件を用いて、前記第1の仮想マシンの変換部にデータ識別子の変換ルールを設定する仮想マシン管理部と、
前記変換ルールに基づいて、前記第2の仮想マシンに送信するデータのデータ識別子を、前記第2の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから前記第2の計算機に送信する変換部とを備え、
前記変換ルールの設定後、前記変換部が、前記仮想マシン管理部を介さずに、前記第1の仮想マシンから出力されるデータを前記第2の計算機に送信することを特徴とする計算機。 A filter table in which matching conditions for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and the received data is referred to the virtual machine on its own device side with reference to the filter table. A computer connected to a second computer having a network interface having a switching function to transfer,
A first virtual machine communicating with a second virtual machine operating on the second computer side via the network interface and the network interface on the own device side;
When an access request is received from the first virtual machine, a data identifier of data output from the first virtual machine is transmitted to the second computer, and the filter table of the second computer Update request and return of the updated filter table match condition, and using the match condition returned from the second computer, the conversion rule of the data identifier is set in the conversion unit of the first virtual machine. A virtual machine management unit to be set;
Based on the conversion rule, the data identifier of data to be transmitted to the second virtual machine is converted into a data identifier set as a match condition in the filter table of the second computer, and then the second computer A conversion unit for transmitting,
After the setting of the conversion rule, the conversion unit transmits data output from the first virtual machine to the second computer without going through the virtual machine management unit.
自装置側のネットワークインタフェースのフィルターテーブルに、前記第2の仮想マシンから受信するデータを前記第1の仮想マシンに転送するエントリを追加するとともに、少なくとも前記エントリのマッチ条件を前記第2の計算機に対して送信し、
前記第2の計算機に、前記第2の仮想マシンから出力されたデータのデータ識別子を、前記計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから送信させる請求項1の計算機。 The virtual machine management unit, when receiving the access request from the first virtual machine,
An entry for transferring data received from the second virtual machine to the first virtual machine is added to the filter table of the network interface on the own apparatus side, and at least the match condition of the entry is set in the second computer. Send to
On the second computer, according to claim 1 for transmitting the data identifier of the data output from the second virtual machine, convert the filter table before Symbol calculations machine set data identifier as a match condition Calculator.
自装置側で動作する仮想マシンと前記第2の計算機上で動作する第2の仮想マシン間の通信を一意に識別するためのデータ識別子を管理するデータ識別子管理テーブルを備え、
前記データ識別子管理テーブルを参照して、前記第2の計算機に対して送信するマッチ条件を決定する請求項2の計算機。 The virtual machine management unit
A data identifier management table for managing a data identifier for uniquely identifying a communication between a virtual machine operating on its own device side and a second virtual machine operating on the second computer;
3. The computer according to claim 2 , wherein a match condition to be transmitted to the second computer is determined with reference to the data identifier management table.
前記仮想マシン管理部は、
前記仮想マシンと前記第2の仮想マシン間の通信を一意に識別するためのデータ識別子を管理するデータ識別子管理テーブルを備えた集中制御コントローラに、前記変換ルールの生成を依頼し、
前記集中制御コントローラにて生成された変換ルールを、前記第1の仮想マシンの変換部に設定するとともに、前記変換ルールを用いてフィルターテーブルを更新する請求項1から3いずれか一の計算機。 Instead of the conversion unit,
The virtual machine management unit
Requesting a centralized controller having a data identifier management table for managing a data identifier for uniquely identifying communication between the virtual machine and the second virtual machine to generate the conversion rule;
The computer according to any one of claims 1 to 3, wherein a conversion rule generated by the centralized controller is set in a conversion unit of the first virtual machine, and a filter table is updated using the conversion rule.
前記仮想スイッチを介して、前記仮想マシンからのアクセス要求を受け付ける請求項1から4いずれか一の計算機。 The virtual machine management unit includes a virtual switch that relays between the virtual machine and the network interface,
The computer according to any one of claims 1 to 4, wherein an access request from the virtual machine is received via the virtual switch.
前記仮想マシン管理部は、さらに、前記変換ルールに基づいて、前記保存領域に、送出データに対する制御内容を設定する機能を備える請求項1から3、6いずれか一に記載の計算機。 The network interface further includes a data transmission control function for determining a data transfer destination or data discarding according to a data identifier for data in a direction from the application operating on the virtual machine to the network; A storage area for storing control contents for data in the direction to the network ,
The virtual machine management unit is further based on the conversion rule, the storage area, computer according to claims 1 to 3, 6 any one having the ability to set the control content for the outgoing data.
前記計算機のうちの一方の計算機の仮想マシンからの要求を受けた場合、通信先の計算機に対して、前記一方の計算機の仮想マシンからのデータを通信先の仮想マシンに転送するようフィルターテーブルの更新を要求するとともに、前記一方の計算機の仮想マシンからのデータを、前記更新されたフィルターテーブルのマッチ条件に適合するよう変換するデータ識別子の変換ルールを作成する変換管理マネージャーと、
前記変換ルールを参照して、前記データ識別子の変換を行う変換部とを備えるデータ変換装置。 A filter table in which matching conditions for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and the received data is referred to the virtual machine on its own device side with reference to the filter table. A network interface having a switching function of transferring , and a virtual machine that communicates with other virtual machines via the network interface;
When receiving a request from the virtual machine of one of the computers, the filter table is configured to transfer the data from the virtual machine of the one computer to the virtual machine of the communication destination. A conversion management manager for requesting an update and creating a data identifier conversion rule for converting data from the virtual machine of the one computer so as to conform to the matching condition of the updated filter table;
A data conversion apparatus comprising: a conversion unit that converts the data identifier with reference to the conversion rule.
前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第2の計算機側で動作する第2の仮想マシンと通信する第1の仮想マシンからのアクセス要求を受けた場合、前記第2の計算機に対して前記第1の仮想マシンから出力されるデータのデータ識別子を送信し、前記第2の計算機の前記フィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求するステップと、
前記第2の計算機から返送されたマッチ条件を用いて、前記第1の仮想マシンの変換部にデータ識別子の変換ルールを設定するステップと、
前記変換ルールに基づいて、前記第2の仮想マシンに送信するデータのデータ識別子を、前記第2の計算機のフィルターテーブルにマッチ条件として設定されたデータ識別子に変換してから前記第2の計算機に送信するステップと、を含む通信方法。 A filter table in which matching conditions for matching with received data and a virtual interface corresponding to an output destination virtual machine are associated is provided, and the received data is referred to the virtual machine on its own device side with reference to the filter table. On a computer connected to a second computer with a network interface with a switching function to transfer,
When an access request is received from the first virtual machine communicating with the second virtual machine operating on the second computer side via the network interface and the network interface on the own apparatus side, the second computer Transmitting a data identifier of data output from the first virtual machine to requesting update of the filter table of the second computer and return of a match condition of the updated filter table; ,
Using the match condition returned from the second computer to set a data identifier conversion rule in the conversion unit of the first virtual machine;
Based on the conversion rule, the data identifier of data to be transmitted to the second virtual machine is converted into a data identifier set as a match condition in the filter table of the second computer, and then the second computer And a step of transmitting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113182A JP5970954B2 (en) | 2012-05-17 | 2012-05-17 | Computer, data conversion apparatus, communication method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012113182A JP5970954B2 (en) | 2012-05-17 | 2012-05-17 | Computer, data conversion apparatus, communication method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013239996A JP2013239996A (en) | 2013-11-28 |
JP5970954B2 true JP5970954B2 (en) | 2016-08-17 |
Family
ID=49764650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012113182A Active JP5970954B2 (en) | 2012-05-17 | 2012-05-17 | Computer, data conversion apparatus, communication method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5970954B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2509000A4 (en) * | 2009-12-04 | 2017-09-20 | Nec Corporation | Server and flow control program |
WO2012043731A1 (en) * | 2010-09-29 | 2012-04-05 | 日本電気株式会社 | Data processing system and method |
-
2012
- 2012-05-17 JP JP2012113182A patent/JP5970954B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013239996A (en) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757072B2 (en) | Packet transmission method, apparatus, and system | |
JP6087922B2 (en) | Communication control method and gateway | |
US8971342B2 (en) | Switch and flow table controlling method | |
EP3633929B1 (en) | Method for sending virtual extensible local area network packet, computer device, and computer readable medium | |
US10635474B2 (en) | Systems and methods for virtio based optimization of data packet paths between a virtual machine and a network device for live virtual machine migration | |
US9548890B2 (en) | Flexible remote direct memory access resource configuration in a network environment | |
US7941539B2 (en) | Method and system for creating a virtual router in a blade chassis to maintain connectivity | |
JP5855630B2 (en) | Management server and management method for managing cloud appliance of virtual local area network | |
WO2014136864A1 (en) | Packet rewriting apparatus, control apparatus, communication system, packet transmitting method and program | |
WO2014079005A1 (en) | Mac address mandatory forwarding device and method | |
US20150146736A1 (en) | Multi-tenant system, switch, controller and packet transferring method | |
CN105556929A (en) | Network element and method of running applications in a cloud computing system | |
JP5860423B2 (en) | Carrier network virtualization system and method | |
US9166947B1 (en) | Maintaining private connections during network interface reconfiguration | |
JPWO2013147193A1 (en) | Network appliance redundancy system, control device, network appliance redundancy method and program | |
EP2924925A1 (en) | Communication system, virtual-network management device, communication node, and communication method and program | |
Yang et al. | LiteVisor: A network hypervisor to support flow aggregation and seamless network reconfiguration for VM migration in virtualized software-defined networks | |
CN107249038A (en) | Business datum retransmission method and system | |
US10924397B2 (en) | Multi-VRF and multi-service insertion on edge gateway virtual machines | |
CN112532540A (en) | Interface management method, device and system | |
EP3493058A1 (en) | Method and device for migrating a stateful function | |
JP5970954B2 (en) | Computer, data conversion apparatus, communication method and program | |
US10931565B2 (en) | Multi-VRF and multi-service insertion on edge gateway virtual machines | |
EP3503474A1 (en) | A method for remotely performing a network function on data exchanged with at least one gateway | |
JP2012190409A (en) | Virtual network system and virtual communication control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160125 |
|
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: 20160614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5970954 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |