JP5970954B2 - Computer, data conversion apparatus, communication method and program - Google Patents

Computer, data conversion apparatus, communication method and program Download PDF

Info

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
Application number
JP2012113182A
Other languages
Japanese (ja)
Other versions
JP2013239996A (en
Inventor
聡 辻
聡 辻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012113182A priority Critical patent/JP5970954B2/en
Publication of JP2013239996A publication Critical patent/JP2013239996A/en
Application granted granted Critical
Publication of JP5970954B2 publication Critical patent/JP5970954B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, Patent Document 2 discloses a method and system for enabling a plurality of virtual machines (virtual machines, VMs) to individually set and access physical resources. According to the publication, this system is an interface system that receives physical device setting control from each of a plurality of VMs of a computer system via a corresponding instance of a device driver indicating a controllable function of a physical device in the VM. And maintaining connection information and setting parameters specific to each VM for each of the plurality of VMs, and reconfiguring the physical device for each of the plurality of VMs based on the connection information and setting parameters specific to the corresponding VM. And a control system. It is described that the interface system and the control system of this system are realized substantially outside a virtual machine monitor (VMM) that provides the VM.

また、特許文献3には、変換前パケット識別情報と変換後パケット識別情報との対応関係を示す変換エントリを格納した変換ポリシーテーブルを備え、スイッチの転送テーブルを操作することにより、複数の仮想ネットワーク間でのアプライアンスの共有を実現する管理計算機が開示されている。具体的には、前記管理計算機は、仮想ネットワークの識別子を含む変換前パケット識別情報を、アプライアンス側に設定された異なる仮想ネットワーク間で重複しない変換後パケット識別情報に書き換えさせる。   Further, Patent Document 3 includes a conversion policy table that stores a conversion entry indicating a correspondence relationship between pre-conversion packet identification information and post-conversion packet identification information, and operates a transfer table of a switch to operate a plurality of virtual networks. A management computer that realizes sharing of appliances between computers is disclosed. Specifically, the management computer rewrites the pre-conversion packet identification information including the virtual network identifier into post-conversion packet identification information that does not overlap between different virtual networks set on the appliance side.

特開2009−515430号公報JP 2009-515430 A 特開2012−9029号公報JP 2012-9029 A 特開2011−211502号公報JP2011-21502A

以下の分析は、本発明によって与えられたものである。上述した特許文献1〜3に示される技術には、以下に示す問題点が存在する。   The following analysis is given by the present invention. The techniques disclosed in Patent Documents 1 to 3 described above have the following problems.

すなわち、サーバ仮想化の環境では、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, Patent Document 2 discloses a configuration that allows a plurality of virtual machines (virtual machines) to individually set and access physical resources. However, the virtual expansion system (VA system) of the same document is disclosed. The integrated control engine only maintains device-specific parameters on its own device side, and there is no guarantee that conversion is performed so that direct communication can be performed in the virtual machine of the communication partner.

同様に特許文献3も、仮想ネットワーク間で重複しないように、ヘッダの書き換えを行う方法が開示されているが、通信相手の仮想マシンでダイレクトアクセスができるような変換がなされる保証は無いという問題点がある。   Similarly, Patent Document 3 discloses a method of rewriting a header so that it does not overlap between virtual networks, but there is no guarantee that conversion is possible so that the virtual machine of the communication partner can perform direct access. There is a point.

本発明は、互いに通信する計算機において、ネットワークインタフェースのフィルターテーブルに登録可能な識別情報に差異があり、ダイレクトアクセスを使用すると、本来の通信相手と異なる仮想マシンにパケットが届く可能性がある場合であっても、ダイレクトアクセスを利用しつつ、正しい送信先の仮想マシンにパケットを届けることができる計算機、データ変換装置、通信方法及びプログラムを提供することを目的とする。   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.

本発明の一実施形態の構成を示す図である。It is a figure which shows the structure of one Embodiment of this invention. 本発明の第1の実施形態の全体構成を示す図である。It is a figure which shows the whole structure of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバの詳細構成を表したブロック図である。It is a block diagram showing the detailed structure of the server of the 1st Embodiment of this invention. 仮想マシン(VM A)からのリクエストに基づいて、2台のサーバ間でダイレクトアクセスの設定を行う処理を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating processing for setting direct access between two servers based on a request from a virtual machine (VM A). ダイレクトアクセスの設定がなされた後の、仮想マシン間(VM A−VM B)の通信の流れを示したシーケンス図である。It is the sequence diagram which showed the flow of communication between virtual machines (VM A-VM B) after the setting of direct access was made. 仮想マシン(VM A)からのリクエストに基づいて、2台のサーバ10間で両方向の通信に対して、ダイレクトアクセスの設定を行う処理を示したシーケンス図である。FIG. 10 is a sequence diagram showing processing for setting direct access for communication in both directions between two servers 10 based on a request from a virtual machine (VM A). 仮想マシン間(VM A−VM B)の通信終了後の受信側となる仮想マシン(VM B)におけるダイレクトアクセスの設定を削除する際の処理の流れを示したシーケンス図である。It is the sequence diagram which showed the flow of a process at the time of deleting the setting of the direct access in the virtual machine (VM B) used as the receiving side after completion | finish of communication between virtual machines (VM A-VM B). 本発明の第1の実施形態のサーバの仮想マシン(VM A)内のヘッダー変換部の処理(パケット送信時)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process (at the time of packet transmission) of the header conversion part in the virtual machine (VMA) of the server of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバの仮想マシン(VM B)内のヘッダー変換部の処理(パケット受信時)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process (at the time of packet reception) of the header conversion part in the virtual machine (VM B) of the server of the 1st Embodiment of this invention. 本発明の第1の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定リクエスト受信時で一方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process (one direction at the time of the direct access setting request reception) of the conversion management manager with which the hypervisor of the server of the 1st Embodiment of this invention is equipped. 本発明の第1の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定通知受信時で一方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process of the conversion management manager with which the hypervisor of the server of the 1st Embodiment of this invention is equipped (when a direct access setting notification is received). 本発明の第1の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定リクエスト受信時で双方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process of the conversion management manager with which the hypervisor of the server of the 1st Embodiment of this invention is equipped (when a setting request of direct access is received). 本発明の第1の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定通知受信時で双方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process of the conversion management manager with which the hypervisor of the server of the 1st Embodiment of this invention is provided (when a direct access setting notification is received). 本発明の第2の実施形態のサーバの詳細構成を表したブロック図である。It is a block diagram showing the detailed structure of the server of the 2nd Embodiment of this invention. 本発明の第2の実施形態のサーバ内のハイパーバイザー内の新規パケット受信時の処理の流れを示したシーケンス図である。It is the sequence diagram which showed the flow of the process at the time of the new packet reception in the hypervisor in the server of the 2nd Embodiment of this invention. 本発明の第2の実施形態のサーバ内のハイパーバイザー内の統計情報の取得処理の流れを示したシーケンス図である。It is the sequence diagram which showed the flow of the acquisition process of the statistical information in the hypervisor in the server of the 2nd Embodiment of this invention. 本発明の第3の実施形態のサーバの詳細構成を表したブロック図である。It is a block diagram showing the detailed structure of the server of the 3rd Embodiment of this invention. 本発明の第3の実施形態において、仮想マシン(VM A)からのリクエストに基づいて、2台のサーバ間でダイレクトアクセスの設定を行う処理を示したシーケンス図である。FIG. 10 is a sequence diagram illustrating processing for setting direct access between two servers based on a request from a virtual machine (VM A) in the third embodiment of the present invention. 本発明の第3の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定リクエスト受信時で一方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process (one direction at the time of the setting request of direct access) of the conversion management manager with which the hypervisor of the server of the 3rd Embodiment of this invention is equipped. 本発明の第3の実施形態のサーバのハイパーバイザーに備えられる変換管理マネージャーの処理(ダイレクトアクセスの設定通知受信時で一方向)を詳細に示したフローチャートである。It is the flowchart which showed in detail the process of the conversion management manager with which the hypervisor of the server of the 3rd Embodiment of this invention is equipped (at the time of the setting notification of a direct access being received). 本発明の第4の実施形態の全体構成を表したブロック図である。It is a block diagram showing the whole structure of the 4th Embodiment of this invention. 本発明の第4の実施形態のサーバ及びダイレクトアクセスコントローラの詳細構成を表したブロック図である。It is a block diagram showing the detailed structure of the server and direct access controller of the 4th Embodiment of this invention. 本発明の第4の実施形態のサーバの仮想マシン(VM A)からのリクエストに基づいて、2台のサーバ間でダイレクトアクセスの設定を行う処理を示したシーケンス図である。It is the sequence diagram which showed the process which sets the direct access between two servers based on the request from the virtual machine (VMA) of the server of the 4th Embodiment of this invention. 仮想マシン間(VM A−VM B)の通信終了後の受信側となる仮想マシン(VM B)におけるダイレクトアクセスの設定を削除する際の処理の流れを示したシーケンス図である。It is the sequence diagram which showed the flow of a process at the time of deleting the setting of the direct access in the virtual machine (VM B) used as the receiving side after completion | finish of communication between virtual machines (VM A-VM B). 本発明の第4の実施形態のサーバのハイパーバイザー内の変換管理ローカルマネージャーの処理のうち、フィルターテーブルに登録可能な通信の識別情報に関する問い合わせに対する処理を詳細に示したフローチャートである。It is the flowchart which showed in detail the process with respect to the inquiry regarding the identification information of the communication which can be registered into a filter table among the processes of the conversion management local manager in the hypervisor of the server of the 4th Embodiment of this invention. 本発明の第4の実施形態のサーバのハイパーバイザーに備えられる変換管理ローカルマネージャーの処理のうち、ヘッダー変換ルールの登録処理を詳細に示したフローチャートである。It is the flowchart which showed in detail the registration process of the header conversion rule among the processes of the conversion management local manager with which the hypervisor of the server of the 4th Embodiment of this invention is equipped. 本発明の第5の実施形態の全体構成を表したブロック図である。It is a block diagram showing the whole structure of the 5th Embodiment of this invention.

はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。   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 virtual machine 1200 that is constructed on a computer and provides a virtual environment to a user, a virtual machine management unit 1400 that manages the virtual machine 1200, and I The network interface 1600 that supports the / O virtualization technology can be realized by a configuration in which computers 1000 including the network interface 1600 are connected.

具体的には、ネットワークインタフェース1600は、受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、ネットワーク1800を介して接続された第2の計算機上で動作する第2の仮想マシンから受信したデータを、自装置側の仮想マシン1200に転送するスイッチング機能を備える。   Specifically, the network interface 1600 includes 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. The network 1800 is referred to the filter table. A switching function of transferring data received from the second virtual machine operating on the second computer connected via the virtual machine 1200 to the virtual machine 1200 on the own apparatus side.

また、仮想マシン1200は、動作中のアプリケーション側のデータ識別子(MACアドレス、IPアドレス等またはこれらの組み合わせ)と、前記第2の仮想マシンとの通信用のデータ識別子(MACアドレス、IPアドレス等またはこれらの組み合わせ)とを相互に変換する変換ルールを参照して、前記データ識別子の変換を行う変換部を備え、前記ネットワークインタフェース1600を介して第2の仮想マシンと通信する。   In addition, the virtual machine 1200 includes a data identifier (MAC address, IP address, etc. or a combination thereof) on the application side in operation and a data identifier (MAC address, IP address, etc.) for communication with the second virtual machine. A conversion unit that converts the data identifier is referred to by referring to a conversion rule that mutually converts these combinations), and communicates with the second virtual machine via the network interface 1600.

また、仮想マシン管理部1400は、前記仮想マシン1200から新規アクセス要求を受けた場合、前記第2の計算機に対して自装置側の仮想マシン1200から出力されるデータのデータ識別子を送信し、前記第2の計算機側のフィルターテーブルの更新と、前記更新したフィルターテーブルのマッチ条件の返送とを要求する。前記第2の計算機からマッチ条件が返送されると、仮想マシン管理部1400は、返送されたマッチ条件を用いて、自装置側の仮想マシン1200の変換部にデータ識別子の変換ルールを設定する。   Further, when the virtual machine management unit 1400 receives a new access request from the virtual machine 1200, the virtual machine management unit 1400 transmits a data identifier of data output from the virtual machine 1200 on the own apparatus side to the second computer, and A request is made to update the filter table on the second computer side and to return a match condition for the updated filter table. When the match condition is returned from the second computer, the virtual machine management unit 1400 sets a data identifier conversion rule in the conversion unit of the virtual machine 1200 on the self-device side using the returned match condition.

前記第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 virtual machine 1200 on the own device side are completed, direct access not via the virtual machine management unit 1400 is started between the virtual machines 1200. . As a result, high I / O performance can be provided to the virtual machine.

[第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 “Server 10A”, and Server B is referred to as “Server 10B”. If they are not particularly distinguished from each other, “Server 10”), and Server 10A are referred to. Servers 10 </ b> B are connected to each other via a network 18. Each server 10 includes a virtual machine 12 (VM A1-n, VM B1-m), a hypervisor 14 (HyperVisor A, HyperVisor B) corresponding to a virtual machine management unit that manages the virtual machine 12, and a network interface ( NIC) 16 (NIC A, NIC B).

仮想マシン12は、ハイパーバイザー14によって、CPU(Central Processing Unit)やメモリ、ディスク、ネットワークといった資源を割り当てられ、様々なアプリケーションを実行する。   The virtual machine 12 is assigned resources such as a CPU (Central Processing Unit), a memory, a disk, and a network by the hypervisor 14 and executes various applications.

ハイパーバイザー14は、仮想マシン12への資源割り当て、モニタリングなどの管理を行う。   The hypervisor 14 performs management such as resource allocation to the virtual machine 12 and monitoring.

ネットワークインタフェース16は、サーバ10とネットワーク18とのインタフェースであり、仮想マシン12がネットワーク18を介して通信を行う際に使用される。ネットワークインタフェース16は、I/O仮想化技術をサポートしている。   The network interface 16 is an interface between the server 10 and the network 18 and is used when the virtual machine 12 communicates via the network 18. The network interface 16 supports I / O virtualization technology.

仮に、ネットワークインタフェースが、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 virtual machine 12 communicates via the hypervisor 14. On the other hand, when the network interface supports the I / O virtualization technology, the virtual interface is assigned to the virtual machine 12 based on the control of the hypervisor 14, and the virtual machine 12 communicates without going through the hypervisor 14. It can be performed. Conversely, even if the network interface 16 supports the I / O virtualization technology, if the hypervisor 14 does not assign a virtual interface to the virtual machine 12, the virtual machine 12 communicates via the hypervisor 14.

図3は、図2のサーバ10Aの詳細構成を表したブロック図である。図3を参照すると、仮想マシン12と、ハイパーバイザー14とに、それぞれモジュールを配置した構成が示されている。ここで、モジュールとは、何らかの機能を提供するソフトウェア・プログラム、またはハードウェアを指す。   FIG. 3 is a block diagram showing a detailed configuration of the server 10A of FIG. Referring to FIG. 3, a configuration in which modules are arranged in the virtual machine 12 and the hypervisor 14 is shown. Here, the module refers to a software program or hardware that provides some function.

具体的には、図3のサーバ10Aの仮想マシン12(VM)は、ヘッダー変換部(Header Translator)122と、ヘッダー変換テーブル(Header Translation Table)126と、を備えている。   Specifically, the virtual machine 12 (VM) of the server 10A of FIG. 3 includes a header conversion unit 122 and a header conversion table 126.

また、仮想マシン12では、1つ以上のアプリケーションプログラム(Application、以下、単に「アプリケーション」と記す。)124が稼動している。ヘッダー変換部122は、仮想マシン12が、I/O仮想化技術を利用してパケットを送出する際に、パケットヘッダを変換するモジュールである。パケットヘッダ変換の際には、ヘッダー変換部122は、ヘッダー変換テーブル126を参照して、パケットヘッダ変換に必要な情報を取得する。   In the virtual machine 12, one or more application programs (Applications, hereinafter simply referred to as “applications”) 124 are running. The header conversion unit 122 is a module that converts a packet header when the virtual machine 12 transmits a packet using the I / O virtualization technology. At the time of packet header conversion, the header conversion unit 122 refers to the header conversion table 126 and acquires information necessary for packet header conversion.

ヘッダー変換テーブル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 header conversion unit 122 refers to the header conversion table 126 based on the packet header before conversion, and acquires information on how to convert the packet header. In the header conversion table 126, at least the information of the packet header before conversion having the same granularity as the combination of information included in the packet header necessary for identifying the direct access target communication is associated with this information. Also, packet header conversion rules are registered. For example, as a direct access target communication, there is only a communication with a VLAN ID of 2048, a source IP address of 192.168.1.1, a destination IP address of 192.168.1.2, and a destination port number of 80. Suppose you want to have direct access via communication between virtual machines. At this time, when determining whether or not to perform direct access based on the combination of the destination MAC address and the VLAN ID, which are the matching conditions of the filter table of the network interface, the header conversion table 126 includes the VLAN ID, the source IP address, and the destination. An IP address and a destination port number are registered as information before conversion, and a combination of a destination MAC address and VLAN ID that can identify this communication is registered in the header conversion table 126 of the transmission source virtual machine as a conversion rule.

また、ヘッダー変換テーブル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 header conversion unit 122 refers to the header conversion table 126 as described above when converting the packet header. Such a header conversion unit 122 and header conversion table 126 may be provided in a device driver of an OS (Operating System) installed in the virtual machine 12.

仮想マシン12が、ダイレクトアクセスを利用して、新たに通信を行いたい場合、ヘッダー変換ルールを取得するために、ハイパーバイザー14にダイレクトアクセスの設定リクエストを発行する。この設定リクエストは、仮想マシン間、あるいは仮想マシンと管理領域との通信機能を利用して送信する形態を採ることができる。   When the virtual machine 12 wants to newly communicate using direct access, the virtual machine 12 issues a direct access setting request to the hypervisor 14 in order to acquire a header conversion rule. The setting request can be transmitted using a communication function between virtual machines or between a virtual machine and a management area.

ハイパーバイザー14は、ダイレクトアクセス機能を提供するために、ヘッダー管理テーブル(Header Management Table)144と、変換管理マネージャー(Translation Management Manager)146と、を備えている。   The hypervisor 14 includes a header management table (Header Management Table) 144 and a conversion management manager (Translation Management Manager) 146 in order to provide a direct access function.

ハイパーバイザー14には、さらに、仮想スイッチ(Virtual Switch)142が備えられ、I/O仮想化技術を利用しない場合における、仮想マシン12に係る通信を中継する機能を有する。   The hypervisor 14 further includes a virtual switch 142 and has a function of relaying communication related to the virtual machine 12 when the I / O virtualization technology is not used.

変換管理マネージャー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 server 10B connected via the network 18 in FIG. 2). Negotiate to do. By this negotiation, information that can be registered in the filter table supported by the network interface 16 of the communication partner server 10 and how to convert the packet header are determined.

ヘッダー管理テーブル144は、自サーバで稼動する仮想マシン12に係る通信を管理する。変換管理マネージャー146が、ダイレクトアクセスの設定時に、既に存在する通信と、新規のダイレクトアクセスの通信が識別可能なように、変換後のパケットヘッダを決定するために使用される。   The header management table 144 manages communication related to the virtual machine 12 running on its own server. The conversion management manager 146 is used to determine the converted packet header so that the existing communication and the new direct access communication can be identified when setting the direct access.

ネットワークインタフェース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 network interface 16 supports I / O virtualization technology, and includes a network interface controller 162 that controls the network interface 16 and a filter table in which the output destination of a packet that reaches the network interface 16 is registered ( Physical connection between a filter table 164, a physical interface (PI) 166 that is an interface to the hypervisor 14, a virtual interface (virtual interface, VI) 167 that is an interface to the virtual machine 12, and the network 18. The physical port 168 (Physical Port) that becomes the mouth of Eteiru.

物理インタフェース166は、ハイパーバイザー14とのパケットの送受信に使用されるほか、ネットワークインタフェース16の動作に関する設定を、ハイパーバイザー14から行うためのインタフェースや、ネットワークインタフェース16のステータスを、ハイパーバイザー14から読み出すためのインタフェースとして使用される。   The physical interface 166 is used for transmission / reception of packets with the hypervisor 14, and reads from the hypervisor 14 an interface for setting the operation of the network interface 16 from the hypervisor 14 and the status of the network interface 16. Used as an interface for

ネットワークインタフェース16は、ハイパーバイザー14の制御のもとで、パケットの送受信を行う。   The network interface 16 transmits and receives packets under the control of the hypervisor 14.

パケットがネットワーク18から、物理ポート168へ届いた場合には、ネットワークインタフェースコントローラー162が、パケットのヘッダー情報をもとにフィルターテーブル164にアクセスし、物理インタフェース166、あるいは、仮想インタフェース167のいずれにパケットを出力するかを決定する。   When a packet arrives from the network 18 to the physical port 168, the network interface controller 162 accesses the filter table 164 based on the header information of the packet, and the packet is sent to either the physical interface 166 or the virtual interface 167. To output.

フィルターテーブル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 hypervisor 14 via the physical interface 166. The processing for this packet is determined by the hypervisor 14. In some cases, the hypervisor 14 registers information of this packet and an entry determined as an output destination in the filter table 164.

パケットが物理インタフェース166又は仮想インタフェース167のいずれかから届いた場合には、ネットワークインタフェースコントローラー162は、物理ポート168を通じて、パケットを送出する。   When the packet arrives from either the physical interface 166 or the virtual interface 167, the network interface controller 162 sends the packet through the physical port 168.

なお、図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 server 10A and server 10B, respectively) based on a request from the virtual machine 12. Hereinafter, each element constituting the server 10 will be described with reference numerals A and B. In the sequence diagram of FIG. 4, the virtual machine 12A is the communication start side (transmission side), the virtual machine 12B is the communication reception side, and only direct communication from the virtual machine 12A to the virtual machine 12B is used. And

まず、仮想マシン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 server 10B (S142a in FIG. 4).

次に、ダイレクトアクセスの通知を受けた変換管理マネージャー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 server 10B. The header management table 144B is referred to as to whether or not it is used. This ensures that there is no other communication identical to the packet header after packet header conversion. Therefore, the determined packet header conversion rule B is registered in the header management table 144B.

なお、この変換の際には、ネットワーク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 network 18. For example, when the network 18 is Ethernet and the same network is shared by a plurality of users, each virtual machine can be identified by a MAC address and a VLAN ID. When converting these pieces of information, it is necessary to confirm that there is no virtual machine 10 whose MAC address and VLAN ID after the conversion match using ARP (Address Resolution Protocol) or the like when determining the packet header conversion rule. There is.

次に、変換管理マネージャー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 virtual machine 12 is converted under the environment of the same user, it is necessary to set the network device so that the packet reaches the communication partner using the converted packet header. For example, when the network is Ethernet and the destination MAC address is converted and the packet is transmitted, the ARP packet is transmitted before the packet is transmitted, and the MAC is transmitted to the network switch existing between the virtual machines 12 that perform communication. You need to learn the address. This learning trigger may be executed before the conversion management manager 146A sets the direct access, or may be executed when the application 124A throws a packet. In the latter case, the MAC address of the packet to be transmitted to the ARP table of the virtual machine A is not registered because the header conversion unit 122 converts the packet header before the protocol stack of the virtual machine A performs ARP resolution. The network device is configured by executing ARP resolution before the protocol stack transmits a packet.

ダイレクトアクセスの設定完了後、変換管理マネージャー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 network 18 through the protocol stack and the network interface card 16A (S1222a in FIG. 5). The packet header conversion is such that the network interface card 16B of the server 10B rewrites the packet sent from the virtual machine 12A with reference to the filter table 164B to an appropriate virtual machine.

次に、ネットワークインタフェースカード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 virtual machine 12 under the environment of the same user, the virtual machine 12 having the same information as the converted identifier exists in the environment of the user. It is necessary to check whether or not. Therefore, the determined packet header conversion rule A is registered in the header management table 144A.

次に、変換管理マネージャー146Aが、サーバ10Bの変換管理マネージャー146Bに対して、変換前の通信の識別情報と、パケットヘッダー変換ルールAとを通知する(図6のS143a)。   Next, the conversion management manager 146A notifies the conversion management manager 146B of the server 10B of the communication identification information before conversion and the packet header conversion rule A (S143a in FIG. 6).

ダイレクトアクセスの通知を受けた変換管理マネージャー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 server 10A as in step S142b of FIG.

次に、変換管理マネージャー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 virtual machine 12 under the environment of the same user, it is necessary to set the network device so that the packet is delivered to the communication partner using the converted packet header. . The packet header conversion rule A is registered in the header conversion table 126A at any timing up to S145a in FIG. 6 (for example, step S140a) after the packet header conversion rule A is determined in S140a in FIG. May be.

次に、変換管理マネージャー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 virtual machine 12 on the receiving side deletes the direct access setting in the communication using the direct access after the communication between the virtual machines 12 is completed. .

まず、仮想マシン12は、ヘッダー変換テーブル126に登録されている、削除対象の通信に関するエントリを削除する(図7のS126)。エントリの検索方法は、図5のS1220aと同様である。   First, the virtual machine 12 deletes the entry related to the communication to be deleted, which is registered in the header conversion table 126 (S126 in FIG. 7). The entry search method is the same as S1220a in FIG.

次に、仮想マシン12は、変換管理マネージャー146に対して、ダイレクトアクセスを使用した通信が完了したことを通知する(図7のS128)。この通知には、完了した通信を識別する情報が含まれている。   Next, the virtual machine 12 notifies the conversion management manager 146 that communication using direct access has been completed (S128 in FIG. 7). This notification includes information for identifying the completed communication.

次に、変換管理マネージャー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 virtual machine 12 on the transmission side may be performed by the virtual machine 12 as in step S126 of FIG.

以上のようなダイレクトアクセスの設定削除を行うことで、各テーブルのエントリ数を減らし、仮想マシンや変換管理マネージャー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 virtual machine 12 and the hypervisor 14 in the above sequence diagram will be described for each of these components.

図8は、仮想マシン12Aに備えられるヘッダー変換部122の処理を詳細に示したフローチャートである。   FIG. 8 is a flowchart showing in detail the processing of the header conversion unit 122 provided in the virtual machine 12A.

まず、ヘッダー変換部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 header conversion unit 122 refers to the header conversion table 126A and already directs the communication to which the packet for which the transmission request has been made belongs. It is confirmed whether or not access is set (step F122a in FIG. 8). Whether or not it has been set can be determined by referring to the header conversion table 126A using information included in the packet header and determining whether a corresponding entry exists. In step F120a, when no packet transmission request is made from the application, the header conversion unit 122 does not particularly start processing (No in step F120a in FIG. 8).

次に、ダイレクトアクセスの設定が既になされていた場合(図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 header conversion unit 122 Then, the packet header is converted according to the packet header conversion rule and sent to the network (step F128a in FIG. 8).

一方、ダイレクトアクセスの設定がなされていない場合(図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 header conversion unit 122 issues a direct access setting request to the conversion management manager 146A (step F124a in FIG. 8). Thereby, the sequence shown in FIGS. 4 and 5 is started.

図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 header conversion unit 122 transmits the packet header. The data is converted according to the packet header conversion rule and sent to the network (step F128a in FIG. 8). When the direct access setting completion notification is not made (No in Step F126a in FIG. 8), the header conversion unit 122 stands by.

このようにして、仮想マシン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 server 10B is notified (step F142a in FIG. 10). When the direct access setting request has not been issued (No in Step F140a in FIG. 10), the conversion management manager 146A does not particularly start the processing.

前記通信の識別情報の送信によりハイパーバイザー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 communication destination server 10B (FIG. 10). (Yes in step F144a), the conversion management manager 146A registers the packet header conversion rule in the header conversion table 126A of the virtual machine that has issued the direct access setting request (step F146a in FIG. 10). On the other hand, when the packet header conversion rule is not notified (No in Step F144a in FIG. 10), the conversion management manager 146A waits.

次に、変換管理マネージャー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 server 10A that has notified the direct access setting (step F148b of FIG. 11).

このようにして、図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 communication destination server 10B of the communication identification information and the packet header conversion rule determined in step F141a in FIG. 12 (step F143a in FIG. 12).

前記通信の識別情報とパケットヘッダー変換ルールとの送信によりハイパーバイザー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 communication destination server 10B. Then, the conversion management manager 146A notifies the header conversion table 126A of the virtual machine 12A that issued the direct access setting request to the packet header conversion rule determined in step F141a of FIG. 12 and the communication destination conversion management manager 146A. The set packet header conversion rule is set (step F145a in FIG. 12).

次に、図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 virtual machines 12 using direct access, for direct access, information that can be registered in advance with each other's network interface card 16 and information relating to communication that already exists. The unique packet header conversion rule is determined, and the packet header is converted based on the rule when the packet is transmitted / received. Thereby, it is possible to realize communication using direct access while absorbing the difference of the network interface card 16.

なお、上記した実施形態では、パケットヘッダの変換によりネットワークインタフェースカード16の差異を吸収するものとして説明したが、パケットヘッダの変換ではなく、変換後のパケットヘッダを、もともとのパケットにカプセル化し、受信側でアンカプセル化する形態も採用可能である。本発明において、パケットヘッダの変換を行うことと、カプセル化を行うことには本質的な差異は生じない。   In the above-described embodiment, the difference between the network interface cards 16 is absorbed by packet header conversion. However, instead of packet header conversion, the converted packet header is encapsulated into the original packet and received. A form of unencapsulation on the side can also be adopted. In the present invention, there is no essential difference between the packet header conversion and the encapsulation.

[第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 virtual machine 12 performs direct access at the communication granularity determined by the administrator of the virtual environment. This granularity is a granularity at which at least the communication partner virtual machine 12 can be identified. For example, a combination of a VLAN ID and an IP address or a combination of a VLAN ID and a MAC address can be considered. In some cases, direct access may be controlled with a finer granularity. In that case, the communication granularity includes the port number and protocol. Hereinafter, such a packet flow in the communication granularity unit is referred to as a “flow”.

仮想スイッチ142−2は、仮想マシン12に係る通信のうち、ダイレクトアクセスを使用しない通信を中継する。仮想スイッチ142−2は、フロー単位で通信の統計情報を管理する機能を有する。例えば、統計情報として、通過バイト数、通過パケット数、パケットのドロップ数などをフロー単位で管理するほか、フローの発生時刻、フローに属するパケットが最後に転送された時刻、などを管理する。   The virtual switch 142-2 relays communication that does not use direct access among the communication related to the virtual machine 12. The virtual switch 142-2 has a function of managing communication statistical information in units of flows. For example, as the statistical information, the number of passing bytes, the number of passing packets, the number of dropped packets, and the like are managed in units of flows, and the flow generation time, the time when the packet belonging to the flow was last transferred, and the like are managed.

フローテーブル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 virtual machines 12 using direct access, setting or deletion of direct access is performed based on the administrator's policy and statistical information. For this reason, communication using direct access can be realized even if the virtual machine 10 does not explicitly indicate whether direct access is required.

[第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 virtual interface 167, and a physical port 168. In FIG. 17, the reception filter table 164-3 and the transmission filter table 165 are illustrated as different tables, but the reception filter table 164-3 and the transmission filter table 165 are the same in implementation. It can also be realized using a memory or the like. In this case, the network interface controller 162 refers to the same filter table for the packets in both directions of transmission and reception, and executes processing for the packets.

送信フィルターテーブル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 virtual machine 12 by the network interface card 16-3. In the transmission filter table, information for identifying communication such as a packet header and processing for a packet having the information can be registered. An example of the processing here is dropping a packet whose information in the destination IP address field in the packet header has a specific value. In addition, rewriting of a packet header by the network interface controller 162, filtering using data other than the packet header, and the like can be considered. Operations such as registration and deletion of rules in the transmission filter table 165 are performed from the hypervisor 14. Since the operation method is the same as that for the reception filter table 164-3, detailed description thereof is omitted.

ネットワークインタフェースコントローラー162は、仮想マシン12から仮想インタフェース167を経由してパケットを受け取ると、パケットに含まれる通信を識別する情報を用いて、送信フィルターテーブル165を参照する。ネットワークインタフェース162は、送信フィルターテーブル165からパケットにマッチするエントリを検索し、そのエントリに登録された処理内容を実行する。前記検索の結果、エントリが存在しない場合、ネットワークインタフェースコントローラー162は、ダイレクトアクセスの設定がなされていない通信に係るパケットを送出したと見なし、パケットをドロップする、という使い方も考えられる。   When the network interface controller 162 receives a packet from the virtual machine 12 via the virtual interface 167, the network interface controller 162 refers to the transmission filter table 165 using information for identifying communication included in the packet. The network interface 162 searches the transmission filter table 165 for an entry that matches the packet, and executes the processing contents registered in the entry. As a result of the search, if there is no entry, the network interface controller 162 considers that a packet related to communication for which direct access is not set is transmitted, and drops the packet.

次に、図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 network interface card 16 in communication in which no entry exists in the transmission filter table 165.

図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 server 10A and the server 10B.

図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 network interface card 16 with each other, and the information exchanged in the processing after S140a in FIG. By determining the packet header conversion rule based on the above, direct access can be made to communication in both directions. Alternatively, the processing shown in the sequence diagram of FIG. 18 can be executed for each communication direction, or direct access can be set for communication in both directions.

以上のように本実施形態では、ダイレクトアクセスを使用した仮想マシン12同士の通信において、仮想マシンが誤ったパケットヘッダを付与してダイレクトアクセスを実行することを防ぐことができ、パケットが本来の通信相手ではない仮想マシン12に届くことを防ぐことができる。その理由は、ネットワークインタフェースカード16に送信フィルターテーブル165を設けたためである。   As described above, in this embodiment, in the communication between the virtual machines 12 using direct access, it is possible to prevent the virtual machine from giving a wrong packet header and executing the direct access, and the packet is the original communication. It is possible to prevent reaching the virtual machine 12 that is not the other party. The reason is that the transmission filter table 165 is provided in the network interface card 16.

また、本実施形態では、パケット送信側の仮想マシン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 network interface card 16 of the second embodiment with the network interface card 16-3 of the present embodiment, filtering of the packet transmission at the time of packet transmission, which is the effect of the present embodiment, is added to the second embodiment. Functions can be added. Since the operation of the transmission filter table 165 is the same as the method described in the description of the operation of the present embodiment, detailed description thereof is omitted.

[第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 direct access controller 20 is connected. Constituent elements similar to those in FIG.

ダイレクトアクセスコントローラ20は、ダイレクトアクセスの設定のためのパケットヘッダー変換ルールの割り当て及び管理を行う。ダイレクトアクセスコントローラ20は、仮想ネットワーク資源と仮想計算資源からなる各ユーザの仮想化環境に、少なくとも1つ配置される。   The direct access controller 20 assigns and manages packet header conversion rules for setting direct access. At least one direct access controller 20 is arranged in the virtual environment of each user including virtual network resources and virtual computing resources.

図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 direct access controller 20 according to the fourth embodiment of this invention. Referring to FIG. 22, a configuration in which a direct access controller 20, a virtual machine 12 operating on a server 10-4, and a hypervisor 14-4 are connected is shown.

図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 direct access controller 20 including a conversion management manager 146 and a header management table 144 according to the first embodiment, a conversion management local manager 146-4, and a virtual switch 142. -4 and a flow table 143-4, a hypervisor 14-4 and a virtual machine (VM) 12 are shown. Also in FIG. 22, the same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted.

本実施の形態では、ダイレクトアクセスの設定を行う際には、仮想マシン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 virtual machine 12 or the hypervisor 14-4 to the direct access controller 20, and the direct access controller 20 The packet header conversion rule for direct access is determined, and the determined packet header conversion rule is notified to the conversion management local manager 146-4. The conversion management local manager 146-4 includes the filter table 164 and the header conversion table. It operates to set to 126.

また、ダイレクトアクセスコントローラ20は、変換管理マネージャー146と、ヘッダー管理テーブル144と、を備えて構成される。なお、ダイレクトアクセスコントローラ20には、サーバ10A4とネットワーク18を介して通信する通信機能や、ヘッダー管理テーブル144を保持するためのメモリ領域、ダイレクトアクセスの制御のための演算機能を持つ。一般的には、ダイレクトアクセスコントローラ20は、サーバを用いて構成することができる。   The direct access controller 20 includes a conversion management manager 146 and a header management table 144. The direct access controller 20 has a communication function for communicating with the server 10A4 via the network 18, a memory area for holding the header management table 144, and a calculation function for controlling direct access. Generally, the direct access controller 20 can be configured using a server.

変換管理マネージャー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 network interface card 16 of the server on the packet receiving side is acquired, and a packet header conversion rule is determined. Further, the determined packet header conversion rule is notified to the conversion management local manager 146-4 provided in the server 10A4 in which both virtual machines 12 communicating using direct access are accommodated.

ヘッダー管理テーブル144は、サーバ10A4で稼動する仮想マシン12に係る通信を管理する。変換管理マネージャー146が、ダイレクトアクセスのためのヘッダー変換ルールを決定する際に、既に存在する通信と、新規のダイレクトアクセスの通信とを識別可能なようにするために使用される。   The header management table 144 manages communication related to the virtual machine 12 running on the server 10A4. When the conversion management manager 146 determines a header conversion rule for direct access, the conversion management manager 146 is used to make it possible to distinguish between an existing communication and a new direct access communication.

また、サーバ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 virtual machine 12. The virtual switch 142-4 registers and manages the identifier of the currently active communication in the flow table 143-4. Also, every time a packet reaches the virtual switch 142-4, the virtual switch 142-4 refers to the flow table 143-4 and confirms whether or not the communication is new. In the case of new communication, the identifier of the new communication is notified to the conversion management local manager 146-4.

フローテーブル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 virtual machine 12 issues a direct access setting request, the conversion management local manager 146-4 notifies the direct access controller 20 of the communication identifier included in the request. Further, the conversion management local manager 146-4 identifies the communication that can be registered in the filter table 164 in response to an inquiry from the direct access controller 20 regarding the communication identification information that can be registered in the filter table 164 of the network interface card 16. Notify information about information. When the header conversion rule is notified from the direct access controller 20, the header conversion rule is registered in the header conversion table 126 of the corresponding virtual machine 12, and an entry is added to the filter table 164 depending on the case. Therefore, in order to identify which direct access setting request the notified header conversion rule corresponds to, an identifier associated with the direct access request is assigned to the header conversion rule.

また、変換管理ローカルマネージャー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 direct access controller 20 of the communication identifier. Also, the conversion management local manager 146-4 deletes the corresponding entry from the filter table 164 when the communication using the direct access ends, and the conversion management local manager 146-4 also displays the direct access controller. 20 is notified that the communication using the direct access has been completed together with the communication identifier.

次に、図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 virtual machine 12. In FIG. 23, the same processes as those in the sequence diagram of the first embodiment shown in FIG. 4 are denoted by the same reference numerals, and detailed description thereof is omitted. In the description of the operation of the present embodiment, the virtual machine 12 issues a direct access setting request to the direct access controller 20 via the conversion management local manager 146-4, but the virtual machine 12 directly issues the direct access controller 20. It is also possible to issue a direct access setting request. This does not give an essential difference to the present embodiment.

図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 direct access controller 20 sends a network interface card to the conversion management local manager 146-4B of the server 10B in which the virtual machine 12B that is a communication partner using direct access is accommodated. An inquiry is made for identification information for identifying a communication that can be registered in the filter table 164B of 16B (S200 in FIG. 23).

前記問い合わせを受けた変換管理ローカルマネージャー146−4Bは、ダイレクトアクセスコントローラ20に対して、フィルターテーブル164Bに登録可能な、通信を識別する情報に関する識別情報を応答する(図23のS140b−4)。   Upon receiving the inquiry, the conversion management local manager 146-4B responds to the direct access controller 20 with identification information relating to information for identifying communication that can be registered in the filter table 164B (S140b-4 in FIG. 23).

次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Aから受信した通信の識別情報と、変換管理ローカルマネージャー146−4Bから受信したフィルターテーブル164Bに登録可能な識別情報とから、パケットヘッダー変換ルールを決定し、ヘッダー管理テーブル144に登録する(図23のS202)。   Next, the direct access controller 20 performs packet header conversion from the communication identification information received from the conversion management local manager 146-4A and the identification information that can be registered in the filter table 164B received from the conversion management local manager 146-4B. The rule is determined and registered in the header management table 144 (S202 in FIG. 23).

次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Bに対して、パケットヘッダー変換ルールを通知する(図23のS204)。   Next, the direct access controller 20 notifies the packet header conversion rule to the conversion management local manager 146-4B (S204 in FIG. 23).

次に、変換管理ローカルマネージャー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 direct access controller 20 that the setting of direct access has been completed (S152b-4 in FIG. 23).

前記完了通知を受信すると、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Aに対して、パケットヘッダー変換ルールを通知する(図23のS206)。   When the completion notification is received, the direct access controller 20 notifies the conversion management local manager 146-4A of the packet header conversion rule (S206 in FIG. 23).

前記パケットヘッダー変換ルールを受信した変換管理ローカルマネージャー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 direct access controller 20 is completed.

図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 direct access controller 20 that communication using direct access has been completed (S148a-4 in FIG. 24). This notification includes identification information for identifying the communication targeted for direct access.

次に、ダイレクトアクセスコントローラ20は、変換管理ローカルマネージャー146−4Bに対して、ダイレクトアクセスを使用した通信が完了したことを通知する(図24のS208)。この通知には、ダイレクトアクセス対象の通信を識別する識別情報が含まれている。   Next, the direct access controller 20 notifies the conversion management local manager 146-4B that communication using direct access has been completed (S208 in FIG. 24). This notification includes identification information for identifying the communication targeted for direct access.

次に、変換管理ローカルマネージャー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 direct access controller 20 that the entry deletion has been completed (S150b-4 in FIG. 24). This notification includes identification information indicating which direct access is used to delete the communication entry.

次に、ダイレクトアクセスコントローラ20は、ヘッダー管理テーブル144から、該当するエントリを削除する(図24のS210)。   Next, the direct access controller 20 deletes the corresponding entry from the header management table 144 (S210 in FIG. 24).

このようにして、ダイレクトアクセスの設定の削除が完了する。   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 direct access controller 20 that the registration of the packet header conversion rule has been completed (step F150b-4 in FIG. 26). This notification includes identification information indicating which direct access the registration of the packet header conversion rule has been completed.

本実施形態においても、図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 direct access controller 20 is notified of identification information that can be registered in the filter table 164A at the same time as the communication identification information. To do. Thereby, the direct access controller 20 can determine the header conversion rule regarding both communication directions. Alternatively, direct access can be set for communication in both directions by executing the processing shown in the sequence diagram of FIG. 23 for each communication direction.

ダイレクトアクセスコントローラ20の別の形態として、各サーバに備えられるネットワークインタフェースカード16のフィルターテーブル164に登録可能な通信の識別情報や、ネットワークインタフェースコントローラー162がサポートする機能を事前に収集、あるいは、ダイレクトアクセスの設定時に得た時点で保持しておくことも考えられる。この場合、ダイレクトアクセスの設定の際に、ダイレクトアクセスコントローラ20が、ダイレクトアクセスの設定リクエストを出した仮想マシン12の通信相手となる仮想マシンが収容されているサーバ10のハイパーバイザー14に、フィルターテーブル164に登録可能な通信の識別情報を問い合わせる必要がなくなり、ダイレクトアクセスの設定完了までの所要時間を短縮できる。   As another form of the direct access controller 20, communication identification information that can be registered in the filter table 164 of the network interface card 16 provided in each server, and functions supported by the network interface controller 162 are collected in advance, or direct access It is also conceivable to hold it when it is obtained at the time of setting. In this case, when setting the direct access, the direct access controller 20 sends a filter table to the hypervisor 14 of the server 10 in which the virtual machine that is the communication partner of the virtual machine 12 that has issued the direct access setting request is accommodated. It is not necessary to inquire about the identification information of communication that can be registered in 164, and the time required to complete the direct access setting can be shortened.

以上のように本実施形態では、ダイレクトアクセスの際に使用する変換後のパケットヘッダーが、ネットワーク中で一意な値であるかどうかの確認を、各サーバ10内のハイパーバイザー14が行わなくて済むという効果がある。その理由は、ダイレクトアクセスの設定を行う際の問い合わせ先として、ネットワーク内にダイレクトアクセスコントローラ20を設け、ダイレクトアクセスコントローラ20が、ダイレクトアクセスの設定に関する情報と、サーバ10の通信に関する情報を管理するように構成したことにある。   As described above, in this embodiment, it is not necessary for the hypervisor 14 in each server 10 to check whether the converted packet header used for direct access is a unique value in the network. There is an effect. The reason is that a direct access controller 20 is provided in the network as an inquiry destination when direct access setting is performed, and the direct access controller 20 manages information regarding the direct access setting and information regarding the communication of the server 10. It is in the configuration.

[第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 header conversion unit 122, a conversion management manager 146, a header management table 144, and a network interface 16-5. Since the operation of each unit and the direct access setting method are the same as those of the other embodiments of the present invention, detailed description thereof is omitted.

本実施形態では、ダイレクトアクセスのための設定、パケットヘッダー変換をダイレクトアクセスゲートウェイ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 header conversion unit 122, the conversion management manager 146, and the header management table 144 in each server, and it is not necessary to change the server 10. When the server 10 having no such direct access setting function is the data transmission side and the data reception side is the server 10 having the direct access setting function as shown in other embodiments, communication by direct access is performed. Benefit from improved performance.

以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態で用いたネットワーク構成やサーバ、仮想マシン等の数に制約は無い。   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-10A5 Server 12, 12A, 12B, 1200 Virtual Machine (AM)
14, 14A, 14B, 14-2, 14-4 Hypervisor 16, 16-3, 16-5 Network interface card (NIC)
18, 18-5, 1800 Network 20 Direct access controller 30 Direct access gateway 122, 122A, 122B Header converter 124, 124A, 124B Application (program)
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 Network interface controller 164, 164A, 164B Filter table 164-3 Reception filter table 165 Transmission filter table 166 Physical interface (PI)
167 Virtual interface (VI)
168 Physical port 1000 Computer 1400 Virtual machine management unit 1600 Network interface

Claims (10)

受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースを備えた第2の計算機と接続された計算機であって、
前記ネットワークインタフェース及び自装置側のネットワークインタフェースを介して、前記第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.
前記仮想マシン管理部は、前記第1の仮想マシンからの前記アクセス要求を受けた場合、
自装置側のネットワークインタフェースのフィルターテーブルに、前記第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、5いずれか一に記載の計算機。 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. computer according to claims 1 to 3, 5 any one to determine whether. 前記ネットワークインタフェースは、さらに、前記仮想マシン上で動作するアプリケーションからネットワークへの方向のデータに対して、データの識別子に応じて、データの転送先又はデータの破棄を決定するデータ送出制御機能と、前記ネットワークへの方向のデータに対する制御内容を保存する保存領域と、を備え、
前記仮想マシン管理部は、さらに、前記変換ルールに基づいて、前記保存領域に、送出データに対する制御内容を設定する機能を備える請求項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.
前記データ識別子の変換に代えて、前記変換ルールを参照して、データのカプセル化及びアンカプセル化を行う請求項1から3、6、7いずれか一に記載の計算機。 The computer according to any one of claims 1 to 3, 6, and 7, wherein data is encapsulated and unencapsulated with reference to the conversion rule instead of the conversion of the data identifier. 受信データと照合するマッチ条件と、出力先の仮想マシンに対応する仮想インタフェースと、を対応付けたフィルターテーブルを備え、該フィルターテーブルを参照して、受信したデータを、自装置側の仮想マシンに転送するスイッチング機能を備えたネットワークインタフェースと、前記ネットワークインタフェースを介して、他の仮想マシンと通信する仮想マシンと、を備えた計算機間に配置され、
前記計算機のうちの一方の計算機の仮想マシンからの要求を受けた場合、通信先の計算機に対して、前記一方の計算機の仮想マシンからのデータを通信先の仮想マシンに転送するようフィルターテーブルの更新を要求するとともに、前記一方の計算機の仮想マシンからのデータを、前記更新されたフィルターテーブルのマッチ条件に適合するよう変換するデータ識別子の変換ルールを作成する変換管理マネージャーと、
前記変換ルールを参照して、前記データ識別子の変換を行う変換部とを備えるデータ変換装置。
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の計算機側で動作する第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.
JP2012113182A 2012-05-17 2012-05-17 Computer, data conversion apparatus, communication method and program Active JP5970954B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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