JP2011170656A - 中継装置、仮想マシンシステム及び中継方法 - Google Patents

中継装置、仮想マシンシステム及び中継方法 Download PDF

Info

Publication number
JP2011170656A
JP2011170656A JP2010034360A JP2010034360A JP2011170656A JP 2011170656 A JP2011170656 A JP 2011170656A JP 2010034360 A JP2010034360 A JP 2010034360A JP 2010034360 A JP2010034360 A JP 2010034360A JP 2011170656 A JP2011170656 A JP 2011170656A
Authority
JP
Japan
Prior art keywords
transmission destination
physical machine
multicast
port
mac address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010034360A
Other languages
English (en)
Other versions
JP5521620B2 (ja
Inventor
Koyo Nakagawa
幸洋 中川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010034360A priority Critical patent/JP5521620B2/ja
Priority to US13/021,285 priority patent/US8693343B2/en
Publication of JP2011170656A publication Critical patent/JP2011170656A/ja
Application granted granted Critical
Publication of JP5521620B2 publication Critical patent/JP5521620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

【課題】ライブマイグレーション実行後であってもマルチキャストパケットの送受信を途絶えさせない中継装置、仮想マシンシステム及び中継方法を提供すること。
【解決手段】ライブマイグレーションが行われる場合に、仮想マシンの移動元物理マシンがマルチキャストグループに属するか否かを判定する。そして、移動元物理マシンがマルチキャストグループに属する場合に、仮想マシンの移動先物理マシンをかかるマルチキャストグループに追加する。
【選択図】図1

Description

本発明は、中継装置、仮想マシンシステム及び中継方法に関する。
従来、物理マシン(Physical Machine)上に仮想マシン(Virtual Machine:以下、「VM」と表記する場合がある)を動作させる仮想マシンシステムが利用されている。このような仮想マシンシステムでは、VMが提供しているサービスをほとんど停止させずに別の物理マシンに移動させるVM動的移動(以下、「ライブマイグレーション」と言う)という技術が用いられる。
特開2008−217302号公報
"Using IP Multicast with VMware ESX 3.5"、[online]、[平成21年11月25日検索]、インターネット<URL:http://www.vmware.com/files/pdf/technology/esx35_ip_multicast.pdf>
しかしながら、上記従来の仮想マシンシステムには、IGMP(Internet Group Management Protocol)が適用されていると、ライブマイグレーション実行後に物理マシンがマルチキャストパケットを一定時間受信できない場合があるという問題があった。
かかる問題について、図10を用いて説明する。図10に示した例では、物理スイッチ91に、ルータ92と、物理マシンであるサーバ93A及び93Bとが接続されている。サーバ93Aは、仮想マシンであるVM94Aを動作させている。図10に示した仮想マシンシステムは、IGMPが適用されているものとする。すなわち、ルータ92は、定期的に、IGMPクエリメッセージを、物理スイッチ91を介してサーバ93A及び93Bへ送信する。かかるIGMPクエリメッセージに応答して、サーバ93A及び93Bは、IGMPホストメンバシップレポートメッセージ(Host Membership Report Message)を送信する。物理スイッチ91は、IGMPホストメンバシップレポートメッセージが、配信要求を示すJOINメッセージである場合には、JOINメッセージを送信したサーバ93Aや93Bに対して、マルチキャストパケットを送信する。
ここで、図10に示した仮想マシンシステムにおいて、サーバ93Aは、JOINメッセージを送信するが、サーバ93Bは、JOINメッセージを送信しないものとする。すなわち、サーバ93Aは、マルチキャストパケットを受信するが、サーバ93Bは、マルチキャストパケットを受信しないものとする。このような状態において、VM94Aが動作する物理マシンをサーバ93Aからサーバ93Bへ移動させるライブマイグレーションが行われるものとする。かかる場合に、ライブマイグレーションが完了した後に、VM94Aは、一定時間マルチキャストパケットを受信することができない。これは、VM94Aの移動先であるサーバ93Bが、ルータ92からIGMPクエリメッセージを受信し、かかるIGMPクエリメッセージに応答して、JOINメッセージを送信するまでの間は、マルチキャストパケットを受信できないからである。
ルータ92によってIGMPクエリメッセージが送信される間隔は、一般に60秒や125秒などである。したがって、上記例の場合には、VM94Aは、ライブマイグレーション完了後に、例えば、60秒間又は125秒間もマルチキャストパケットを受信することができなくなる。
なお、最近では、ライブマイグレーション完了後にマルチキャストパケットを受信することができるようにするために、物理スイッチに内蔵する仮想スイッチが擬似的なIGMPクエリメッセージを送信する技術も提案されている。しかし、かかる技術は、仮想スイッチをバイパスするシステムに適用することができない。例えば、ダイレクトI/O(Input/Output)によってライブマイグレーションを実行するようなシステムに適用することができない。また、かかる技術は、物理マシンが有するNIC(Network Interface Card)の中に仮想スイッチが内蔵される場合にも適用することが困難である。
開示の技術は、上記に鑑みてなされたものであって、マルチキャストパケットの送受信が途絶えることを防止することができる中継装置、仮想マシンシステム及び中継方法を提供することを目的とする。
本願の開示する中継装置は、一つの態様において、マルチキャストアドレスに対応付けて、マルチキャストパケットの送信先情報を記憶する送信先記憶部と、第1の物理マシン上で動作する仮想マシンを第2の物理マシン上に移動させる移動処理が行われる場合に、前記送信先記憶部に記憶されている送信先情報に基づいて、受信したマルチキャストパケットの送信先が前記第1の物理マシンであるか否かを判定する判定部と、前記判定部によって前記第1の物理マシンが前記マルチキャストパケットの送信先であると判定された場合に、該第1の物理マシンを送信先とするマルチキャストアドレスに対応する前記送信先記憶部の送信先情報に、前記第2の物理マシンに関する情報を追加する追加部とを備える。
本願の開示する中継装置の一つの態様によれば、マルチキャストパケットの送受信が途絶えることを防止することができるという効果を奏する。
図1は、実施例1に係る中継装置が含まれる仮想マシンシステムの構成例を示すブロック図である。 図2は、実施例2に係る仮想マシンシステムにおいて実行されるライブマイグレーションの例を示す図である。 図3は、実施例2に係る仮想マシンシステムにおいて実行されるライブマイグレーションの例を示す図である。 図4は、実施例2に係る仮想マシンシステムの構成例を示すブロック図である。 図5は、実施例2における物理スイッチの構成例を示すブロック図である。 図6は、VLAN(Virtual Local Area Network)テーブルの一例を示す図である。 図7は、MAC(Media Access Control)アドレステーブルの一例を示す図である。 図8は、実施例2における管理サーバによる処理手順を示すフローチャートである。 図9は、実施例2における物理スイッチによる処理手順を示すフローチャートである。 図10は、従来技術を説明するための図である。
以下に、本願の開示する中継装置、仮想マシンシステム及び中継方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願の開示する中継装置、仮想マシンシステム及び中継方法が限定されるものではない。
まず、図1を用いて、実施例1に係る中継装置の構成について説明する。図1は、実施例1に係る中継装置が含まれる仮想マシンシステムの構成例を示すブロック図である。図1に示した仮想マシンシステムSY1は、中継装置1と、物理マシン5A及び5Bとを有する。物理マシン5Aは、仮想マシン6を動作させている。
なお、図1に示した仮想マシンシステムSY1は、IGMPが適用されているものとする。また、仮想マシンシステムSY1では、仮想マシン6が動作する物理マシンを物理マシン5Aから物理マシン5Bへ移動させるライブマイグレーションが行われるものとする。
図1に示すように、中継装置1は、送信先記憶部2と、判定部3と、追加部4とを有する。送信先記憶部2は、マルチキャストアドレスに対応付けて、マルチキャストパケットの送信先情報を記憶する。例えば、送信先記憶部2は、MACアドレステーブルであり、送信先情報として、物理マシン5Aや物理マシン5Bと接続されている中継装置1のポートを識別するポート番号等を記憶する。
判定部3は、仮想マシン6が動作する物理マシンを他の物理マシンへ移動させる移動処理が行われる場合に、送信先記憶部2に記憶されている送信先情報に基づいて、仮想マシン6の移動元物理マシンがマルチキャストパケットの送信先であるか否かを判定する。
追加部4は、判定部3によって移動元物理マシンがマルチキャストパケットの送信先であると判定された場合に、かかる移動元物理マシンを送信先とするマルチキャストグループに仮想マシン6の移動先物理マシンに関する情報を追加する。具体的には、追加部4は、移動元物理マシンを送信先とするマルチキャストアドレスに対応付けて送信先記憶部2に記憶されている送信先情報に、移動先物理マシンに関する情報を追加する。
図1に示した例では、仮想マシン6が動作している物理マシンを物理マシン5Aから物理マシン5Bへ移動させるライブマイグレーションが行われる。したがって、判定部3は、仮想マシン6の移動元物理マシンである物理マシン5Aがマルチキャストパケットの送信先であるか否かを判定する。そして、追加部4は、物理マシン5Aがマルチキャストパケットの送信先である場合に、物理マシン5Aを送信先とするマルチキャストアドレスに対応付けて送信先記憶部2に記憶されている送信先情報に、物理マシン5Bに関する情報を追加する。
上述してきたように、実施例1に係る中継装置1は、ライブマイグレーションが行われる場合に、移動元物理マシンが属するマルチキャストグループに、移動先物理マシンを追加する。これにより、実施例1に係る中継装置1は、ライブマイグレーションが完了した直後であっても、移動先物理マシンへマルチキャストパケットを送信することができる。すなわち、実施例1に係る中継装置1を用いると、ライブマイグレーションを実行する場合であっても、移動先物理マシンに対するマルチキャストパケットの送受信が途絶えることを防止することができる。
次に、上記実施例1において説明した中継装置について、具体例を用いて説明する。実施例2では、中継装置として物理スイッチを用いる場合を例に挙げて説明する。また、実施例2では、仮想マシンが所定の仮想ネットワーク(以下、「VLAN」と言う)に属する場合を例に挙げて説明する。
[実施例2において実行されるライブマイグレーション]
まず、図2及び図3を用いて、実施例2に係る仮想マシンシステムにおいて実行されるライブマイグレーションの例について説明する。図2及び図3は、実施例2に係る仮想マシンシステムにおいて実行されるライブマイグレーションの例を示す図である。なお、図2には、ライブマイグレーションが実行される前の仮想マシンシステムの状態を示し、図3には、ライブマイグレーションが実行された後の仮想マシンシステムの状態を示す。
図2に示すように、実施例2に係る仮想マシンシステムSY2は、物理スイッチ100と、サーバ200A及び200Bとを有する。物理スイッチ100は、ポートP11を介してサーバ200Aと接続され、ポートP12を介してサーバ200Bと接続されている。また、物理スイッチ100は、ポートP21を介して、図示しない装置(例えば、ルータ等)と接続されているものとする。
サーバ200A及び200Bは、物理マシンであり、各種サービスを提供する。図2に示した例では、サーバ200Aは、VM231A及び232Aを動作させている。また、サーバ200Bは、VM231B及び232Bを動作させている。ここで、図2に示した例では、VM231A及び232Aは、VLAN「V1」に属しており、VM231B及び232Bは、VLAN「V2」に属しているものとする。
このような状態において、物理スイッチ100は、例えば、マルチキャストアドレスが「MA11」であるマルチキャストパケットを受け付けた場合に、かかるマルチキャストパケットをポートP11を介してサーバ200Aへ送信するものとする。また、物理スイッチ100は、例えば、マルチキャストアドレスが「MA12」であるマルチキャストパケットを受け付けた場合に、かかるマルチキャストパケットをポートP12を介してサーバ200Bへ送信するものとする。
かかる場合に、図2に示した状態から図3に示した状態へライブマイグレーションが実行されると、VM232AやVM231Bは、ライブマイグレーション実行後にマルチキャストパケットを一定時間受信できないおそれがある。
具体的には、図3に示すように、サーバ200A上で動作していたVM232Aは、サーバ200Bへ移動している。このため、VM232Aは、サーバ200BがIGMPクエリメッセージを受信してから、JOINメッセージを送信するまでの間は、マルチキャストアドレスが「MA11」であるマルチキャストパケットを受信できない。また、サーバ200B上で動作していたVM231Bは、サーバ200Aへ移動している。このため、VM231Bは、サーバ200AがIGMPクエリメッセージを受信してから、JOINメッセージを送信するまでの間は、マルチキャストアドレスが「MA12」であるマルチキャストパケットを受信できない。
そこで、実施例2に係る物理スイッチ100は、VM232Aがサーバ200Aからサーバ200Bへ移動するライブマイグレーションが開始される時点で、マルチキャストアドレスが「MA11」であるマルチキャストグループにサーバ200Bを追加する。これにより、物理スイッチ100は、ライブマイグレーションが完了した時点で、マルチキャストアドレスが「MA11」であるマルチキャストパケットをVM232Aへ送信することができる。言い換えれば、VM232Aは、ライブマイグレーション実行後であってもマルチキャストパケットを一定時間受信できなくなることがない。
また、実施例2に係る物理スイッチ100は、VM231Bがサーバ200Bからサーバ200Aへ移動するライブマイグレーションが開始される時点で、マルチキャストアドレスが「MA12」であるマルチキャストグループにサーバ200Aを追加する。これにより、物理スイッチ100は、ライブマイグレーションが完了した時点で、マルチキャストアドレスが「MA12」であるマルチキャストパケットをVM231Bへ送信することができる。言い換えれば、VM231Bは、ライブマイグレーション実行後であってもマルチキャストパケットを一定時間受信できなくなることがない。
[実施例2に係る仮想マシンシステムの構成]
次に、図4を用いて、実施例2に係る仮想マシンシステムSY2の構成について説明する。図4は、実施例2に係る仮想マシンシステムSY2の構成例を示すブロック図である。図4に示すように、実施例2に係る仮想マシンシステムSY2は、物理スイッチ100と、サーバ200A及び200Bと、管理サーバ300とを有する。
なお、図4では、仮想マシンシステムSY2が1個の物理スイッチ100を有する例を示したが、仮想マシンシステムSY2が有する物理スイッチの数は1個に限られない。また、図4では、仮想マシンシステムSY2が2個のサーバ200A及び200Bを有する例を示したが、仮想マシンシステムSY2が有するサーバの数は2個に限られない。例えば、仮想マシンシステムSY2は、2個以上の物理スイッチを有してもよいし、3個以上のサーバを有してもよい。
物理スイッチ100は、装置間で送受される各種データを中継する。例えば、物理スイッチ100は、サーバ200Aとサーバ200Bとの間で送受される各種データを中継したり、サーバ200A又は200Bと、図示しないルータ等との間で送受される各種データを中継したりする。なお、物理スイッチ100の構成については、図5を用いて後述する。
サーバ200Aは、NIC210Aと、VM管理部220Aとを有し、VM231A及び232Aを動作させている。また、サーバ200Bは、NIC210Bと、VM管理部220Bとを有し、VM231B及び232Bを動作させている。
NIC210A及び210Bは、外部装置との間で各種データを送受するインタフェースである。例えば、NIC210A及び210Bは、物理スイッチ100との間で各種データを送受する。
VM管理部220A及び220Bは、VMを管理する。例えば、VM管理部220Aは、VM231A及び232Aの起動や停止等を管理する。また、例えば、VM管理部220Aは、VM231A及び232Aを動作させる物理マシンを他のサーバ(例えば、サーバ200B)へ移動させるライブマイグレーションを制御したりする。
管理サーバ300は、仮想マシンシステムSY2において動作するVMを管理する仮想マシンシステム管理装置である。かかる管理サーバ300は、図4に示すように、マイグレーション制御部310を有する。なお、図4では図示することを省略したが、管理サーバ300は、各種情報を入力するための入力部や、各種情報を表示するための表示部等を有してもよい。
マイグレーション制御部310は、ライブマイグレーションの実行を制御する。具体的には、マイグレーション制御部310は、監視部311と、通知部312とを有する。
監視部311は、ライブマイグレーションに関する各種処理を行う。具体的には、監視部311は、VMが動作するサーバを他のサーバへ移動させるライブマイグレーションが実行される否かを監視する監視処理を行う。例えば、監視部311は、管理者等からライブマイグレーションを行う旨の操作が行われた場合に、ライブマイグレーションが実行されることを検知する。そして、監視部311は、ライブマイグレーションが実行されることを検知した場合に、移動対象のVMや、移動元サーバ及び移動先サーバ等に関する情報を取得する。そして、監視部311は、移動元サーバのVM管理部220A又は220Bに対して、ライブマイグレーションを実行するように指示する。このように、監視部311は、ライブマイグレーションが実行されるか否かを監視する監視部として動作する。
通知部312は、監視部311によってライブマイグレーションが実行されることが検知された場合に、移動元サーバ及び移動先サーバと、移動対象のVMが属するVLANに関する情報とを含むコマンドを物理スイッチ100へ通知する。なお、以下では、通知部312によって物理スイッチ100へ通知されるコマンドを「IGMPコマンド」と表記する場合がある。かかるIGMPコマンドは、例えば、以下に示す形式によって表される。
igmpsnooping migrate <from port> <to port> [vid] ・・・ (1)
上記(1)のIGMPコマンドのうち、<from port>には、VMの移動元サーバが接続されている物理スイッチ100のポートを示すポート番号が設定される。また、<to port>には、VMの移動先サーバが接続されている物理スイッチ100のポートを示すポート番号が設定される。また、[vid]には、移動対象のVMが属するVLANを識別するVLAN番号が設定される。なお、[vid]は任意の設定情報であり、VLAN番号が設定されなくてもよい。
例えば、図2に示した例において、VM232Aが動作しているサーバ200Aは、物理スイッチ100のポートP11と接続されている。また、サーバ200Bは、物理スイッチ100のポートP12と接続されている。そして、図3に示した例のように、VLAN番号が「V1」であるVLANに属するVM232Aは、サーバ200Aからサーバ200Bへ移動する。このような場合には、通知部312は、以下の(2)に示すIGMPコマンドを物理スイッチ100へ通知する。
igmpsnooping migrate P11 P12 V1 ・・・ (2)
上記(2)のIGMPコマンドを受信した物理スイッチ100は、VLAN番号「V1」であるVLANに属するVMが、ポートP11に接続されているサーバ200Aから、ポートP12に接続されているサーバ200Bへ移動する情報を取得できる。なお、以下では、各ポートに付した符号が、かかるポートのポート番号であるものとする。例えば、ポートP11のポート番号は「P11」であり、ポートP12のポート番号は「P12」であるものとする。
なお、IGMPコマンドの<from port>、<to port>、[vid]の各項目には、複数の情報が設定されてもよい。具体的には、各項目について、所定の記号や文字等で区切られた複数の情報が設定されてもよい。以下の(3)に示すIGMPコマンドは、<from port>、<to port>、[vid]に複数の情報が設定される例である。
igmpsnooping migrate Pf1,Pf2 Pt1,Pt2 Vz1,Vz2 ・・・ (3)
上記(3)に示した例では、各項目のN番目に設定されている情報が互いに対応する。具体的には、<from port>=「Pf1」と、<to port>=「Pt1」と、[vid]=「Vz1」とが対応し、<from port>=「Pf2」と、<to port>=「Pt2」と、[vid]=「Vz2」とが対応する。すなわち、上記(3)のIGMPコマンドは、VLAN番号「Vz1」であるVLANに属するVMが、ポートPf1に接続されているサーバから、ポートPt1に接続されているサーバへ移動することを示している。さらに、上記(3)のIGMPコマンドは、VLAN番号「Vz2」であるVLANに属するVMが、ポートPf2に接続されているサーバから、ポートPt2に接続されているサーバへ移動することを示している。なお、上記(3)では、区切り文字が「,」である例を示したが、区切り文字は、例えば、「:」や「+」や「−」や「/」等の他の記号や文字であってもよい。
なお、図4に示した例では、通知部312は、物理スイッチ100が有するポートとサーバとの接続関係を示す情報を保持しているものとする。例えば、通知部312は、物理スイッチ100のポートP11にサーバ200Aが接続されており、ポートP12にサーバ200Bが接続されていることを示す情報を保持する。このように、通知部312は、中継装置に対して、VMの移動元サーバと移動先サーバとを通知する通知部として動作する。
上述したVM管理部220A及び220Bや、監視部311、通知部312は、例えば、電子回路である。電子回路の例としては、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等である。
[実施例2における物理スイッチの構成]
次に、図5を用いて、実施例2における物理スイッチ100の構成について説明する。図5は、実施例2における物理スイッチ100の構成例を示すブロック図である。図5に示すように、物理スイッチ100は、ポートモジュール群10及び20と、ストリームメモリ30と、記憶部40と、制御部50とを有する。
ポートモジュール群10は、ポートモジュール11〜1nを有する。また、ポートモジュール群20は、ポートモジュール21〜2nを有する。ポートモジュール11〜1n及び21〜2nは、物理スイッチ100の外部からパケットを入力された場合に、かかるパケットをストリームメモリ30に格納する。このとき、ポートモジュール11〜1n及び21〜2nは、ストリームメモリ30に格納したパケットのヘッダ情報を制御部50へ出力する。なお、ここで言う「ヘッダ情報」とは、例えば、パケットに含まれるDA(Destination Address)や、SA(Source Address)、VLAN番号等を示す。
また、ポートモジュール11〜1n及び21〜2nは、ストリームメモリ30に格納されているパケットを読み出して、読み出したパケットを外部へ送信する。具体的には、ポートモジュール11〜1n及び21〜2nは、後述する制御部50による指示に従って、ストリームメモリ30から読み出すパケット等を決定する。
なお、ポートモジュール11〜1n及び21〜2nは、ポート毎に設けられる。図5に示した例では、ポートモジュール11は、ポートP11を介してデータを送受し、ポートモジュール12は、ポートP12を介してデータを送受するものとする。また、ポートモジュール21は、ポートP21を介してデータを送受するものとする。
ストリームメモリ30は、各種情報を記憶する記憶デバイスであり、ポートモジュール11〜1n及び21〜2nによって書き込まれるパケットを記憶する。また、ストリームメモリ30は、ポートモジュール11〜1n及び21〜2nからパケットを読み出される。なお、ストリームメモリ30は、所定のサイズの論理ブロック毎に分割された記憶領域を有しており、論理ブロック単位にデータを記憶する。
記憶部40は、各種情報を記憶する記憶デバイスであり、VLANテーブル41と、MACアドレステーブル42とを有する。VLANテーブル41は、VLANの構成情報を記憶する。図6に、VLANテーブル41の一例を示す。図6に示すように、VLANテーブル41は、「VLAN番号」、「メンバポート番号」といった項目を有する。
「VLAN番号」は、VLANを識別するための番号を示す。「メンバポート番号」は、VLAN番号が示すVLAN上で流通するパケットを送受信するポートのポート番号を示す。
例えば、図6に示したVLANテーブル41は、VLAN番号が「V1」であるVLANに、ポートP11とポートP21に接続されている装置が属することを示している。また、例えば、図6に示したVLANテーブル41は、VLAN番号が「V2」であるVLANに、ポートP12とポートP21に接続されている装置が属することを示している。
MACアドレステーブル42は、パケットの宛先に対応付けて、かかるパケットを受信する装置が属するVLANのVLAN番号や、パケットの出力先ポートを記憶する。図7に、MACアドレステーブル42の一例を示す。図7に示すように、MACアドレステーブル42は、「MACアドレス」、「VLAN番号」、「ポート番号」といった項目を有する。
「MACアドレス」は、パケットの宛先を示す情報であり、例えば、パケットヘッダのDAに設定される情報である。「VLAN番号」は、パケットの宛先となる装置が属するVLANのVLAN番号を示す。「ポート番号」は、MACアドレスが示す装置が接続されているポートのポート番号を示す。なお、図7に示したMACアドレスのうち、「01:00:5e」から始まるMACアドレスは、マルチキャストアドレスを示す。なお、MACアドレステーブル42は、図1に示した送信先記憶部2に対応する。
例えば、図7に示したMACアドレステーブル42は、MACアドレス「00:01:02:03:04:05」宛のパケットを受信する装置が、VLAN番号「V1」であるVLANに属することを示している。また、図7に示したMACアドレステーブル42は、MACアドレス「00:01:02:03:04:05」がDAに設定されているパケットがポートP11に出力されることを示している。
また、図7に示したMACアドレステーブル42は、MACアドレス「01:00:5e:xx:xx:xx」宛のパケットを受信する装置が、VLAN番号「V1」であるVLANに属することを示している。また、図7に示したMACアドレステーブル42は、MACアドレス「01:00:5e:xx:xx:xx」がDAに設定されているパケットがポートP11及びP14に出力されることを示している。
また、図7に示したMACアドレステーブル42は、MACアドレス「01:00:5e:yy:yy:yy」宛のパケットを受信する装置が、VLAN番号「V2」であるVLANに属することを示している。また、図7に示したMACアドレステーブル42は、MACアドレス「01:00:5e:yy:yy:yy」がDAに設定されているパケットが、ポートP12及びP14に出力されることを示している。
制御部50は、物理スイッチ100を全体制御し、方路決定部51と、マルチキャスト制御部52とを有する。方路決定部51は、VLANテーブル41及びMACアドレステーブル42に記憶されている情報に基づいて、物理スイッチ100の外部から受信したパケットの送信先を決定する。
具体的には、方路決定部51は、ポートモジュール群10又は20からヘッダ情報を入力された場合に、かかるヘッダ情報に設定されているDAに対応するポート番号を、MACアドレステーブル42から取得する。ここで取得されたポート番号が示すポートは、かかるヘッダ情報を有するパケットの出力先ポートに該当する。続いて、方路決定部51は、VLANテーブル41に記憶されている情報に基づいて、MACアドレステーブル42から取得したポート番号と、パケットを受信したポートのポート番号とが同一のVLANに属するか否かを判定する。
そして、方路決定部51は、双方のポート番号が同一のVLANに属しない場合には、かかるヘッダ情報を有するパケットを他の装置へ中継しない。一方、方路決定部51は、双方のポート番号が同一のVLANに属する場合には、入力されたヘッダ情報を有するパケットが格納されている論理ブロックを示す論理ブロック番号や、かかるヘッダ情報等を含む命令(以下、「中継処理命令」と言う)を生成する。そして、方路決定部51は、生成した中継処理命令を、パケットの出力先ポートと接続されているポートモジュール11〜1n又は21〜2nのいずれかへ出力する。
なお、上述したポートモジュール11〜1n及び21〜2nは、方路決定部51から入力される中継処理命令を格納するためのキューを複数有する。そして、ポートモジュール11〜1n及び21〜2nは、方路決定部51から入力された中継処理命令に従って、ストリームメモリ30に格納されているパケットを、図示しないポートへ出力する。
マルチキャスト制御部52は、図4に示した通知部312から通知されるIGMPコマンドに従って、MACアドレステーブル42を更新する。具体的には、マルチキャスト制御部52は、IGMPコマンドを受信した場合に、IGMPコマンドに設定されている<from port>と[vid]とを用いて、移行元サーバがマルチキャストパケットの宛先であるか否かを判定する。そして、マルチキャスト制御部52は、移行元サーバがマルチキャストパケットの宛先である場合には、移行元サーバを送信先とするマルチキャストグループに、IGMPコマンドに設定されている<to port>を追加する。
例えば、マルチキャスト制御部52は、MACアドレステーブル42から、以下の条件(A)〜(C)を全て満たすMACアドレスを取得する。ただし、マルチキャスト制御部52は、IGMPコマンドの[vid]にVLAN番号が設定されていない場合には、条件(C)を外し、条件(A)及び(B)を満たすMACアドレスをMACアドレステーブル42から取得する。
(A)MACアドレスの先頭が「01:00:5e」である。
(B)ポート番号に、IGMPコマンドの<from port>に設定されるポート番号が含まれる。
(C)VLAN番号と、IGMPコマンドの[vid]に設定されるVLAN番号とが一致する。
そして、マルチキャスト制御部52は、MACアドレスを取得できた場合には、取得したMACアドレスに対応するMACアドレステーブル42の「ポート番号」に、IGMPコマンドの<to port>に設定されているポート番号を追加する。このとき、マルチキャスト制御部52は、MACアドレステーブル42から複数のMACアドレスを取得した場合には、各MACアドレスに対応する「ポート番号」に、IGMPコマンドの<to port>に設定されているポート番号を追加する。一方、マルチキャスト制御部52は、MACアドレスを取得できなかった場合には、処理を終了する。
なお、マルチキャスト制御部52は、マルチキャストグループから移動元サーバを削除しない。これは、マルチキャストグループに属する他のVMが移動元サーバで動作していない場合には、移動元サーバがJOINメッセージを送信しないので、結果的に、マルチキャストグループから移動元サーバが削除されるからである。また、マルチキャストグループに属する他のVMが移動元サーバで動作している場合には、移動元サーバがJOINメッセージを送信するので、かかる他のVMにはマルチキャストパケットが配信されるので問題ない。
また、上記では、条件(A)〜(C)、または、条件(A)及び(B)を満たすMACアドレスを取得することにより、移行元サーバがマルチキャストパケットの宛先であるか否かを判定する例を示した。しかし、マルチキャスト制御部52は、上記例以外の処理によって、移行元サーバがマルチキャストパケットの宛先であるか否かを判定してもよい。
例えば、マルチキャスト制御部52は、MACアドレステーブル42から、上記の条件(B)及び(C)を満たすMACアドレスを取得してもよい。または、マルチキャスト制御部52は、IGMPコマンドの[vid]にVLAN番号が設定されていない場合には、条件(B)を満たすMACアドレスをMACアドレステーブル42から取得してもよい。かかる場合には、MACアドレステーブル42は、取得したMACアドレスの先頭が「01:00:5e」であるか否かを判定する。そして、マルチキャスト制御部52は、MACアドレスの先頭が「01:00:5e」である場合には、移行元サーバがマルチキャストパケットの宛先であると判定する。一方、マルチキャスト制御部52は、MACアドレスの先頭が「01:00:5e」でない場合には、移行元サーバがマルチキャストパケットの宛先でないと判定する。
また、マルチキャスト制御部52は、MACアドレステーブル42から、MACアドレスとVLAN番号とポート番号との組合せを取得した後に、取得した組合せの中に上記の条件(A)〜(C)を全て満たすMACアドレスが存在するか否かを判定してもよい。または、マルチキャスト制御部52は、IGMPコマンドの[vid]にVLAN番号が設定されていない場合には、取得した組合せの中に上記の条件(A)及び(B)を満たすMACアドレスが存在するか否かを判定してもよい。
続いて、通知部312から受信するIGMPコマンドの具体例を挙げて、マルチキャスト制御部52による処理の一例を説明する。なお、以下の説明では、MACアドレステーブル42は図7に示した状態であるものとする。まず、マルチキャスト制御部52が、以下の(4)に示すIGMPコマンドを受信したものとする。
igmpsnooping migrate P11 P12 ・・・ (4)
上記(4)のIGMPコマンドは、VMが、ポートP11に接続されているサーバ200Aから、ポートP12に接続されているサーバ200Bへ移動することを示している。マルチキャスト制御部52は、上記(4)のIGMPコマンドを受信した場合に、MACアドレステーブル42から、MACアドレスの先頭が「01:00:5e」であり、かつ、ポート番号に「P11」が含まれるMACアドレスを取得する。
図7に示した例では、MACアドレステーブル42は、MACアドレス「01:00:5e:xx:xx:xx」とポート番号「P11、P14」とを対応付けて記憶する。したがって、マルチキャスト制御部52は、MACアドレステーブル42から、MACアドレス「01:00:5e:xx:xx:xx」を取得する。そして、マルチキャスト制御部52は、移動先のサーバ200Bと接続されているポートP12を、移動元のサーバ200Aが属するマルチキャストグループに追加する。具体的には、マルチキャスト制御部52は、MACアドレステーブル42のMACアドレス「01:00:5e:xx:xx:xx」に対応するポート番号を、「P11、P14」から「P11、P14、P12」へ更新する。これにより、サーバ200A上で動作するVMがサーバ200Bへ移動した直後であっても、サーバ200Bは、宛先が「01:00:5e:xx:xx:xx」であるマルチキャストパケットを受信することができる。
続いて、マルチキャスト制御部52が、以下の(5)に示すIGMPコマンドを受信したものとする。
igmpsnooping migrate P11 P12 V1 ・・・ (5)
上記(5)のIGMPコマンドは、上記(4)のIGMPコマンドと比較して、[vid]にVLAN番号「V1」が設定されている点が異なる。マルチキャスト制御部52は、上記(5)のIGMPコマンドを受信した場合、MACアドレステーブル42から、MACアドレスの先頭が「01:00:5e」であり、ポート番号に「P11」が含まれ、VLAN番号が「V1」であるMACアドレスを取得する。
図7に示した例では、MACアドレステーブル42は、MACアドレス「01:00:5e:xx:xx:xx」とVLAN番号「V1」とポート番号「P11、P14」とを対応付けて記憶する。したがって、マルチキャスト制御部52は、MACアドレステーブル42から、MACアドレス「01:00:5e:xx:xx:xx」を取得する。そして、マルチキャスト制御部52は、MACアドレステーブル42のMACアドレス「01:00:5e:xx:xx:xx」に対応するポート番号を、「P11、P14」から「P11、P14、P12」へ更新する。
続いて、マルチキャスト制御部52が、以下の(6)に示すIGMPコマンドを受信したものとする。
igmpsnooping migrate P11,P12 P15,P15 V1,V2 ・・・ (6)
上記(6)のIGMPコマンドは、<from port>に「P11,P12」が設定されており、<to port>に「P15,P15」が設定されており、[vid]に「V1,V2」が設定されている。マルチキャスト制御部52は、上記(6)のIGMPコマンドを受信した場合、MACアドレステーブル42から、MACアドレスの先頭が「01:00:5e」であり、ポート番号に「P11」が含まれ、VLAN番号が「V1」であるMACアドレスを取得する。
図7に示した例では、MACアドレステーブル42は、MACアドレス「01:00:5e:xx:xx:xx」とVLAN番号「V1」とポート番号「P11、P14」とを対応付けて記憶する。したがって、マルチキャスト制御部52は、MACアドレステーブル42から、MACアドレス「01:00:5e:xx:xx:xx」を取得する。そして、マルチキャスト制御部52は、MACアドレステーブル42のMACアドレス「01:00:5e:xx:xx:xx」に対応するポート番号を、「P11、P14」から「P11、P14、P15」へ更新する。
さらに、マルチキャスト制御部52は、上記(6)のIGMPコマンドを受信した場合、MACアドレステーブル42から、MACアドレスの先頭が「01:00:5e」であり、ポート番号に「P12」が含まれ、VLAN番号が「V2」であるMACアドレスを取得する。
図7に示した例では、MACアドレステーブル42は、MACアドレス「01:00:5e:yy:yy:yy」とVLAN番号「V2」とポート番号「P12、P14」とを対応付けて記憶する。したがって、マルチキャスト制御部52は、MACアドレステーブル42から、MACアドレス「01:00:5e:yy:yy:yy」を取得する。そして、マルチキャスト制御部52は、MACアドレステーブル42のMACアドレス「01:00:5e:yy:yy:yy」に対応するポート番号を、「P12、P14」から「P12、P14、P15」へ更新する。
このように、マルチキャスト制御部52は、IGMPコマンドの各項目に複数の情報が設定されている場合には、<from port>と<to port>と[vid]との組合せ毎に、移行元サーバがマルチキャストパケットの宛先であるか否かを判定する。なお、マルチキャスト制御部52は、上述したように、MACアドレステーブル42から、MACアドレスとVLAN番号とポート番号とを取得した後に、移行元サーバがマルチキャストパケットの宛先であるか否かを判定してもよい。このとき、マルチキャスト制御部52は、IGMPコマンドの各項目に複数の情報が設定されている場合には、MACアドレステーブル42から取得した情報を用いて、IGMPコマンドに設定されている全ての組合せについて判定処理を行う。かかる処理について一例を挙げて説明する。ここでは、マルチキャスト制御部52が、上記(6)のIGMPコマンドを受信したものとする。
かかる場合に、マルチキャスト制御部52は、図7に例示するMACアドレステーブル42から、MACアドレスと、VLAN番号と、ポート番号とを取得する。そして、例えば、マルチキャスト制御部52は、まず、MACアドレステーブル42から取得したMACアドレス「00:01:02:03:04:05」とVLAN番号「V1」とポート番号「P11」との組合せについて判定処理を行う。具体的には、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P11」が含まれ、VLAN番号が「V1」であるか否かを判定する。ここでは、マルチキャスト制御部52は、条件(A)〜(C)を満たさないと判定する。また、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P12」が含まれ、VLAN番号が「V2」であるか否かを判定する。ここでは、マルチキャスト制御部52は、条件(A)〜(C)を満たさないと判定する。
続いて、マルチキャスト制御部52は、MACアドレステーブル42から取得したMACアドレス「00:01:02:03:04:06」とVLAN番号「V2」とポート番号「P12」との組合せについて判定処理を行う。具体的には、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P11」が含まれ、VLAN番号が「V1」であるか否かを判定する。さらに、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P12」が含まれ、VLAN番号が「V2」であるか否かを判定する。ここでは、マルチキャスト制御部52は、条件(A)〜(C)を満たさないと判定する。
続いて、マルチキャスト制御部52は、MACアドレステーブル42から取得したMACアドレス「01:00:5e:xx:xx:xx」とVLAN番号「V1」とポート番号「P11、P14」との組合せについて判定処理を行う。具体的には、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P11」が含まれ、VLAN番号が「V1」であるか否かを判定する。ここでは、マルチキャスト制御部52は、条件(A)〜(C)を満たすと判定し、MACアドレス「01:00:5e:xx:xx:xx」を取得する。さらに、マルチキャスト制御部52は、かかる組合せ内のMACアドレスの先頭が「01:00:5e」であり、ポート番号に「P12」が含まれ、VLAN番号が「V2」であるか否かを判定する。ここでは、マルチキャスト制御部52は、条件(A)〜(C)を満たさないと判定する。
このように、マルチキャスト制御部52は、MACアドレステーブル42から取得したレコード毎に、IGMPコマンドに設定されている複数の組合せが条件(A)〜(C)を満たすか否かを判定する。これにより、マルチキャスト制御部52は、IGMPコマンドに複数の情報が設定されている場合であっても、MACアドレステーブル42から各種情報を何度も取得することがないので、高速に処理を行うことができる。
上述したマルチキャスト制御部52は、図1に示した判定部3及び追加部4に対応する。また、図5に示したポートモジュール11〜1n及び21〜2nや、制御部50は、例えば、電子回路である。電子回路の例としては、例えば、ASICやFPGA等の集積回路、又は、CPUやMPU等である。また、図5に示したストリームメモリ30、記憶部40は、例えば、RAM(Random Access Memory)やフラッシュメモリ等の記憶装置である。
[管理サーバによる処理手順]
次に、図8を用いて、実施例2における管理サーバ300による処理の手順について説明する。図8は、実施例2における管理サーバ300による処理手順を示すフローチャートである。
図8に示すように、管理サーバ300のマイグレーション制御部310は、まず、ライブマイグレーションを開始するか否かを判定する(ステップS101)。例えば、マイグレーション制御部310は、管理者等からライブマイグレーションを行う旨の操作が行われた場合に、ライブマイグレーションを開始すると判定する。
そして、マイグレーション制御部310の監視部311は、ライブマイグレーションを開始する場合に(ステップS101肯定)、ライブマイグレーションに関する各種情報を取得する(ステップS102)。例えば、監視部311は、管理者等から入力される情報に基づいて、移動対象のVMや、移動元サーバ及び移動先サーバ等に関する情報を取得する。
そして、マイグレーション制御部310の通知部312は、監視部311によって取得された移動元サーバ及び移動先サーバ等に基づいて、IGMPコマンドを物理スイッチ100へ発行する(ステップS103)。
そして、マイグレーション制御部310は、物理スイッチ100からIGMPコマンドの処理が完了した旨の通知を受信した場合に(ステップS104肯定)、処理を終了する。
[物理スイッチによる処理手順]
次に、図9を用いて、実施例2における物理スイッチ100による処理の手順について説明する。図9は、実施例2における物理スイッチ100による処理手順を示すフローチャートである。
図9に示すように、物理スイッチ100のマルチキャスト制御部52は、まず、管理サーバ300の通知部312からIGMPコマンドを受信したか否かを判定する(ステップS201)。そして、マルチキャスト制御部52は、通知部312からIGMPコマンドを受信した場合に(ステップS201肯定)、IGMPコマンドの[vid]にVLAN番号が設定されているか否かを判定する(ステップS202)。
そして、マルチキャスト制御部52は、IGMPコマンドにVLAN番号が設定されている場合には(ステップS202肯定)、MACアドレステーブル42から、上記の条件(A)〜(C)を全て満たすMACアドレスを取得する(ステップS203)。具体的には、マルチキャスト制御部52は、MACアドレスの先頭が「01:00:5e」であり、ポート番号が<from port>に設定されているポート番号を含み、VLAN番号が[vid]に設定されているVLAN番号と一致するMACアドレスを取得する。
一方、マルチキャスト制御部52は、IGMPコマンドにVLAN番号が設定されていない場合には(ステップS202否定)、MACアドレステーブル42から、上記の条件(A)及び(B)を全て満たすMACアドレスを取得する(ステップS204)。具体的には、マルチキャスト制御部52は、MACアドレスの先頭が「01:00:5e」であり、ポート番号が<from port>に設定されているポート番号を含むMACアドレスを取得する。
マルチキャスト制御部52は、MACアドレスを取得できた場合には(ステップS205肯定)、かかるMACアドレスに対応するMACアドレステーブル42のポート番号に、<to port>に設定されているポート番号を追加する(ステップS206)。このとき、マルチキャスト制御部52は、MACアドレステーブル42から複数のMACアドレスを取得した場合には、各MACアドレスに対応する「ポート番号」に、<to port>に設定されているポート番号を追加する。そして、マルチキャスト制御部52は、IGMPコマンドに対する処理が完了した旨の通知を管理サーバ300へ送信して(ステップS207)、処理を終了する。
一方、マルチキャスト制御部52は、MACアドレステーブル42からMACアドレスを取得できなかった場合には(ステップS205否定)、ステップS206における処理を行わない。そして、マルチキャスト制御部52は、IGMPコマンドに対する処理が完了した旨の通知を管理サーバ300へ送信して(ステップS207)、処理を終了する。
[実施例2の効果]
上述してきたように、実施例2に係る仮想マシンシステムSY2は、ライブマイグレーションが行われる場合に、管理サーバ300が、物理スイッチ100へIGMPコマンドを通知する。そして、物理スイッチ100は、かかるIGMPコマンドに従って、移動元サーバが属するマルチキャストグループに移動先サーバを追加する。これにより、実施例2に係る仮想マシンシステムSY2は、ライブマイグレーションが開始した時点で、移動元サーバが属するマルチキャストグループに移動先サーバを追加することができる。すなわち、実施例2に係る仮想マシンシステムSY2は、ライブマイグレーションが完了した直後であっても、移動先サーバへマルチキャストパケットを送信することができる。この結果、実施例2に係る仮想マシンシステムSY2は、ライブマイグレーションが完了した直後に、移動先サーバに対するマルチキャストパケットの送受信が途絶えることを防止することができる。
また、実施例2に係る仮想マシンシステムSY2は、管理サーバ300が、VLAN番号を含むIGMPコマンドを物理スイッチ100へ通知する。そして、物理スイッチ100は、IGMPコマンドに設定されている移動元サーバとVLAN番号とを用いて、移動元サーバが属するマルチキャストグループに移動先サーバを追加する。これにより、実施例2に係る仮想マシンシステムSY2は、物理スイッチ100が、移動元サーバとVLANとの組合せ毎に、マルチキャストアドレスに移動先サーバを追加することができる。
ところで、本願の開示する中継装置等は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、本願の開示する中継装置等の他の実施例について説明する。
[処理タイミング]
上記実施例2では、管理サーバが、ライブマイグレーションが実行されることを検知した場合にIGMPコマンドを通知し、物理スイッチ100がIGMPコマンドに従って、マルチキャストグループに移動先サーバを追加する例を示した。しかし、管理サーバは、ライブマイグレーションが完了した直後にIGMPコマンドを通知してもよい。かかる場合には、物理スイッチ100は、ライブマイグレーションが完了した直後に、マルチキャストグループに移動先サーバを追加する。このように、ライブマイグレーション完了時に、追加処理を行う場合であっても、仮想マシンシステムは、移動先サーバに対するマルチキャストパケットの送受信が途絶えることを防止することができる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図5に示した物理スイッチ100は、マルチキャスト制御部52を、図1に示した判定部3に対応する部位と、追加部4に対応する部位とに分散して有してもよい。
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、実施例2では、管理者等からライブマイグレーションを行う旨の操作を行われる例を示した。しかし、管理サーバ300は、バッチ処理等によって所定の時刻になった場合に、予め決められているライブマイグレーションの実行を開始してもよい。
また、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
SY1、SY2 仮想マシンシステム
1 中継装置
2 送信先記憶部
3 判定部
4 追加部
5A、5B 物理マシン
6 仮想マシン
10、20 ポートモジュール群
11〜1n、21〜2n ポートモジュール
30 ストリームメモリ
40 記憶部
41 VLANテーブル
42 MACアドレステーブル
50 制御部
51 方路決定部
52 マルチキャスト制御部
100 物理スイッチ
200A、200B サーバ
210A、210B NIC
220A、220B VM管理部
231A、232A、231B、232B VM
300 管理サーバ
310 マイグレーション制御部
311 監視部
312 通知部

Claims (4)

  1. マルチキャストアドレスに対応付けて、マルチキャストパケットの送信先情報を記憶する送信先記憶部と、
    第1の物理マシン上で動作する仮想マシンを第2の物理マシン上に移動させる移動処理が行われる場合に、前記送信先記憶部に記憶されている送信先情報に基づいて、受信したマルチキャストパケットの送信先が前記第1の物理マシンであるか否かを判定する判定部と、
    前記判定部によって前記第1の物理マシンが前記マルチキャストパケットの送信先であると判定された場合に、該第1の物理マシンを送信先とするマルチキャストアドレスに対応する前記送信先記憶部の送信先情報に、前記第2の物理マシンに関する情報を追加する追加部と
    を備えたことを特徴とする中継装置。
  2. 管理サーバと中継装置とを有する仮想マシンシステムであって、
    前記管理サーバが、
    第1の物理マシン上で動作する仮想マシンを第2の物理マシン上に移動させる移動処理が実行されるか否かを監視する監視部と、
    前記監視部によって前記移動処理が実行されることが検知された場合に、前記中継装置に対して、前記第1の物理マシンに関する情報と前記第2の物理マシンに関する情報とを通知する通知部とを備え、
    前記中継装置が、
    マルチキャストアドレスに対応付けて、マルチキャストパケットの送信先情報を記憶する送信先記憶部と、
    前記通知部から通知を受け付けた場合に、前記送信先記憶部に記憶されている送信先情報に基づいて、受信したマルチキャストパケットの送信先が前記第1の物理マシンであるか否かを判定する判定部と、
    前記判定部によって前記第1の物理マシンがマルチキャストパケットの送信先であると判定された場合に、該第1の物理マシンを送信先とするマルチキャストアドレスに対応する前記送信先記憶部の送信先情報に、前記第2の物理マシンに関する情報を追加する追加部と
    を備えたことを特徴とする仮想マシンシステム。
  3. 前記通知部は、前記監視部によって前記移動処理が行われることが検知された場合に、前記中継装置に対して、前記第1の物理マシンに関する情報と、前記第2の物理マシンに関する情報と、前記仮想マシンが属する仮想ネットワークを識別する仮想ネットワーク番号とを通知し、
    前記送信先記憶部は、マルチキャストアドレスと、送信先情報と、マルチキャストパケットの宛先である第1の物理マシンが属する仮想ネットワークの仮想ネットワーク番号とを対応付けて記憶し、
    前記判定部は、前記通知部から受け付けた第1の物理マシンと仮想ネットワーク番号との組合せに対応するマルチキャストアドレスが前記送信先記憶部に記憶されているか否かを判定し、
    前記追加部は、前記判定部によって前記第1の物理マシンと仮想ネットワーク番号との組合せに対応するマルチキャストアドレスが前記送信先記憶部に記憶されていると判定された場合に、該マルチキャストアドレスに対応する前記送信先記憶部の送信先情報に、前記第2の物理マシンに関する情報を追加することを特徴とする請求項2に記載の仮想マシンシステム。
  4. 仮想マシンが動作する第1の物理マシンを第2の物理マシンへ移動させる移動処理が行われる場合に、マルチキャストアドレスに対応付けてマルチキャストパケットの送信先情報を記憶する送信先記憶部に記憶されている送信先情報に基づいて、前記第1の物理マシンがマルチキャストパケットの送信先であるか否かを判定する判定ステップと、
    前記判定ステップによって前記第1の物理マシンがマルチキャストパケットの送信先であると判定された場合に、該第1の物理マシンを送信先とするマルチキャストアドレスに対応する前記送信先記憶部の送信先情報に、前記第2の物理マシンに関する情報を追加する追加ステップと
    を含んだことを特徴とする中継方法。
JP2010034360A 2010-02-19 2010-02-19 中継装置、仮想マシンシステム及び中継方法 Expired - Fee Related JP5521620B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010034360A JP5521620B2 (ja) 2010-02-19 2010-02-19 中継装置、仮想マシンシステム及び中継方法
US13/021,285 US8693343B2 (en) 2010-02-19 2011-02-04 Relay apparatus, virtual machine system, and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010034360A JP5521620B2 (ja) 2010-02-19 2010-02-19 中継装置、仮想マシンシステム及び中継方法

Publications (2)

Publication Number Publication Date
JP2011170656A true JP2011170656A (ja) 2011-09-01
JP5521620B2 JP5521620B2 (ja) 2014-06-18

Family

ID=44476402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010034360A Expired - Fee Related JP5521620B2 (ja) 2010-02-19 2010-02-19 中継装置、仮想マシンシステム及び中継方法

Country Status (2)

Country Link
US (1) US8693343B2 (ja)
JP (1) JP5521620B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121841A1 (ja) * 2012-02-16 2013-08-22 株式会社エヌ・ティ・ティ・ドコモ 移動体通信システム、通信システム、制御ノード、呼処理ノード及び通信制御方法
JP2014182544A (ja) * 2013-03-19 2014-09-29 Fujitsu Ltd 監視装置,情報処理システム,監視方法および監視プログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776057B2 (en) * 2011-06-02 2014-07-08 Fujitsu Limited System and method for providing evidence of the physical presence of virtual machines
JP5625217B2 (ja) * 2011-07-04 2014-11-19 アラクサラネットワークス株式会社 ネットワーク管理システム、及び管理計算機
CN102394831A (zh) * 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置
CN103207801B (zh) * 2012-01-11 2016-09-14 华为技术有限公司 虚拟机迁移的方法、装置和系统及光纤通道交换机
JP5935418B2 (ja) * 2012-03-15 2016-06-15 富士通株式会社 マルチキャストアドレスの管理のための情報処理装置、情報処理方法及びプログラム、中継装置、中継装置のための情報処理方法及びプログラム、並びに情報処理システム
US9197489B1 (en) 2012-03-30 2015-11-24 Amazon Technologies, Inc. Live migration of virtual machines in a hybrid network environment
US9928107B1 (en) * 2012-03-30 2018-03-27 Amazon Technologies, Inc. Fast IP migration in a hybrid network environment
US9164795B1 (en) 2012-03-30 2015-10-20 Amazon Technologies, Inc. Secure tunnel infrastructure between hosts in a hybrid network environment
US10225094B2 (en) * 2012-05-29 2019-03-05 Futurewei Technologies, Inc. SDN facilitated multicast in data center
US9201679B2 (en) * 2012-05-31 2015-12-01 Red Hat Israel, Ltd. Multiple destination live migration
US9058199B2 (en) 2012-05-31 2015-06-16 Red Hat Israel, Ltd. Pre-warming destination for fast live migration
US9110704B2 (en) * 2012-05-31 2015-08-18 Red Hat Israel, Ltd. Pre-warming of multiple destinations for fast live migration
JP2014007681A (ja) * 2012-06-27 2014-01-16 Hitachi Ltd ネットワークシステム、および、その管理装置、そのスイッチ
US9507586B2 (en) 2012-10-05 2016-11-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual machine based controller and upgrade mechanism
CN106452857B (zh) * 2013-02-18 2021-01-05 华为技术有限公司 生成配置信息的方法和网络控制单元
CN104010018B (zh) 2013-02-27 2017-09-12 联想企业解决方案(新加坡)私人有限公司 同步组播组的方法和装置
CN104079507B (zh) * 2013-03-27 2019-04-09 联想企业解决方案(新加坡)私人有限公司 同步ip信息的方法和装置
JP2015095784A (ja) * 2013-11-12 2015-05-18 富士通株式会社 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム
JP2015170242A (ja) * 2014-03-10 2015-09-28 富士通株式会社 中継プログラム、中継方法、および中継装置
CN111224897A (zh) * 2018-11-23 2020-06-02 北京金山云网络技术有限公司 一种流量转发方法、装置、交换机设备及智能网卡
US10936219B2 (en) * 2019-04-26 2021-03-02 Dell Products L.P. Controller-based inter-device notational data movement system
US11003488B2 (en) * 2019-05-03 2021-05-11 Dell Products L.P. Memory-fabric-based processor context switching system
US11537422B2 (en) * 2019-11-20 2022-12-27 Red Hat, Inc. Virtual machine migration downtime reduction using a multicast address
CN114143252B (zh) * 2021-11-29 2022-11-01 中电信数智科技有限公司 一种虚拟机迁移时组播流量不间断的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005286681A (ja) * 2004-03-30 2005-10-13 Allied Telesis Holdings Kk 中継機器
JP2009232207A (ja) * 2008-03-24 2009-10-08 Hitachi Ltd ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3632695B2 (ja) * 2003-05-06 2005-03-23 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
JP4415773B2 (ja) * 2004-06-30 2010-02-17 株式会社日立製作所 仮想ルータ対応マルチキャストパケット中継装置
GB2418326B (en) * 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
JP2008028914A (ja) * 2006-07-25 2008-02-07 Nec Corp 通信負荷低減装置、通信負荷低減方法、及びプログラム
JP4438807B2 (ja) 2007-03-02 2010-03-24 日本電気株式会社 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2010114665A (ja) * 2008-11-06 2010-05-20 Toshiba Corp 通信データ制御方法及び計算機システム
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
US9158567B2 (en) * 2009-10-20 2015-10-13 Dell Products, Lp System and method for reconfigurable network services using modified network configuration with modified bandwith capacity in dynamic virtualization environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005286681A (ja) * 2004-03-30 2005-10-13 Allied Telesis Holdings Kk 中継機器
JP2009232207A (ja) * 2008-03-24 2009-10-08 Hitachi Ltd ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013121841A1 (ja) * 2012-02-16 2013-08-22 株式会社エヌ・ティ・ティ・ドコモ 移動体通信システム、通信システム、制御ノード、呼処理ノード及び通信制御方法
JPWO2013121841A1 (ja) * 2012-02-16 2015-05-11 株式会社Nttドコモ 移動体通信システム、通信システム、制御ノード、呼処理ノード及び通信制御方法
US9451483B2 (en) 2012-02-16 2016-09-20 Ntt Docomo, Inc. Mobile communication system, communication system, control node, call-processing node, and communication control method
JP2014182544A (ja) * 2013-03-19 2014-09-29 Fujitsu Ltd 監視装置,情報処理システム,監視方法および監視プログラム

Also Published As

Publication number Publication date
JP5521620B2 (ja) 2014-06-18
US8693343B2 (en) 2014-04-08
US20110205904A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
JP5521620B2 (ja) 中継装置、仮想マシンシステム及び中継方法
US10091083B2 (en) Selectively refreshing address registration information
JP5347982B2 (ja) 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および管理装置
US10491628B2 (en) Attack observation apparatus and attack observation method
WO2017100365A1 (en) Directing data traffic between intra-server virtual machines
US9036638B2 (en) Avoiding unknown unicast floods resulting from MAC address table overflows
JP6256086B2 (ja) 情報処理システム、移動制御方法および移動制御プログラム
US20140250220A1 (en) Optimizing Handling of Virtual Machine Mobility in Data Center Environments
US8792502B2 (en) Duplicate MAC address detection
JP5983782B2 (ja) コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム
WO2018033153A1 (zh) Evpn中ip地址冲突的处理方法及装置
JP2015211374A (ja) 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
CN108810183B (zh) 冲突mac地址的处理方法、装置和机器可读存储介质
EP3224996A1 (en) Methods, routing device and further routing device for managing data frames in switched networks
WO2016177180A1 (zh) 一种OpenFlow交换机能力上报的方法及装置
WO2021103657A1 (zh) 网络操作方法、装置、设备和存储介质
JP2014207594A (ja) 障害影響範囲を特定するためのプログラム及び情報処理装置
CN106921553B (zh) 在虚拟网络中实现高可用的方法及系统
JP2020113836A (ja) 情報処理装置、情報処理システム、および設定プログラム
WO2016082614A1 (zh) 一种组播路由表项处理方法、装置及计算机存储介质
CN111865803A (zh) 基于evpn的路由处理方法及装置
CN111092777B (zh) 转发表项的学习方法和装置
CN105991424B (zh) 网络数据转发方法及装置
JP2015159500A (ja) オープンフロー制御装置、経路管理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140324

R150 Certificate of patent or registration of utility model

Ref document number: 5521620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees