JP2015523747A - コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム - Google Patents
コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム Download PDFInfo
- Publication number
- JP2015523747A JP2015523747A JP2014560152A JP2014560152A JP2015523747A JP 2015523747 A JP2015523747 A JP 2015523747A JP 2014560152 A JP2014560152 A JP 2014560152A JP 2014560152 A JP2014560152 A JP 2014560152A JP 2015523747 A JP2015523747 A JP 2015523747A
- Authority
- JP
- Japan
- Prior art keywords
- server
- communication
- virtual
- virtual server
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Abstract
【課題】仮想サーバの通信応答性能の劣化を抑制しつつ、物理リソースを有効活用する。【解決手段】コンピュータシステムは、処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、転送ノードが保持する処理規則を制御する通信制御サーバと、仮想サーバが稼動する物理サーバとを備え、通信制御サーバは、転送ノードおよび物理サーバを含む通信ネットワークの接続関係、ならびに、通信ネットワークに接続される仮想サーバの動作状態を保持し、一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、一時停止状態の仮想サーバの稼動の再開を要求し、一時停止状態の仮想サーバの稼動再開後における通信ネットワークへの接続位置に基づいて、通信要求のパケットを転送する通信経路を転送ノードに設定する。【選択図】図1
Description
(関連出願についての記載)
本発明は、日本国特許出願:特願2012−132928号(2012年6月12日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、コンピュータシステム、通信制御サーバ、通信制御方法およびプログラムに関し、例えば、仮想化技術を利用したコンピュータシステム、かかるコンピュータシステムにおける通信制御サーバ、通信制御方法およびプログラムに関する。
本発明は、日本国特許出願:特願2012−132928号(2012年6月12日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、コンピュータシステム、通信制御サーバ、通信制御方法およびプログラムに関し、例えば、仮想化技術を利用したコンピュータシステム、かかるコンピュータシステムにおける通信制御サーバ、通信制御方法およびプログラムに関する。
近年、仮想化技術を活用したサーバの仮想化が広く利用されている。仮想化技術を用いると、CPU(Central Processing Unit)、メモリなどの物理リソースを有効活用できるようになるため、インフラ構築や運用に係るコストを削減することができる。
仮想化技術を活用したサービスとして、物理サーバの代わりに仮想サーバをレンタルする、VPS(Virtual Private Server)型のホスティングサービスがある。VPS型のホスティングサービスでは、仮想化によるコスト削減効果を活かすことで、物理サーバのレンタルサービスと比較して低廉な料金でサービスを提供することができる。
負荷が存在しない場合、仮想サーバを一時停止状態とすることで、使用リソースをさらに削減することが可能となる。例えば、仮想サーバがWebサーバである場合、負荷が存在しない状態とは、仮想サーバへのHTTP(Hypertext Transfer Protocol)通信がない状態を意味する。仮想サーバを一時停止状態にすると、当該仮想サーバが使用しているメモリは、その内容がディスクに書き出された後に解放される。さらに、当該仮想サーバはCPUリソースを消費しなくなる。したがって、仮想サーバを一時停止状態とすることで、当該仮想サーバを実行していた物理サーバで使用可能な物理リソースが増える。また、一時停止状態とする仮想サーバの数を増やすことで、より少ない物理サーバでシステムを稼動させることができ、システムの導入や運用に要するコストを削減することも可能となる。
関連技術として、特許文献1には、ジョブを実行中の仮想サーバに凍結指示を与えることで実行中のジョブを停止した凍結状態とするとともに、凍結状態の仮想サーバに再開指示を与えることで凍結したジョブの実行を仮想サーバに再開させる技術が記載されている。また、特許文献2には、オープンフロー(OpenFlow)(非特許文献1、2参照)に基づいて、仮想マシン(仮想サーバ)のマイグレーション(移動)を実現する技術が記載されている。
N. McKeown, et al., "OpenFlow: Enabling Innovation in Campus Network," March 14, 2008,[online]、[平成24年5月21日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
"OpenFlow Switch Specification, Version 1.1.0 Implemented (Wire Protocol 0x02)," February 28, 2011,[online]、[平成24年5月21日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。
仮想サーバを一時停止とすると、使用リソースを削減できる代わりに、当該仮想サーバへの通信要求が発生しても応答することが不可能となる。また、仮に通信要求の発生に伴い、仮想サーバの再開を試行できたとしても、仮想サーバを実行していた物理サーバのリソース使用状況によっては、仮想サーバを再開不能な場合が起こり得るため、当該通信要求を処理できないおそれがある。
また、特許文献1に記載された技術によると、仮想サーバは実行中のジョブとともに凍結され、仮想サーバの再開時には凍結されたジョブが再開される。したがって、特許文献1に記載された技術によると、実行中のジョブが凍結されることで、ジョブのレスポンスの低下(ターンアラウンドタイムの増加)を招くおそれがある。また、特許文献1に記載された技術によると、仮想サーバが稼動していた物理サーバ上で仮想サーバが再開されるため、当該物理サーバのリソース使用状況によっては、仮想サーバを再開できない場合が起こり得る。
そこで、仮想サーバの通信応答性能の劣化を抑制しつつ、物理リソースを有効活用できるようにすることが課題となる。本発明の目的は、かかる課題を解決するコンピュータシステム、通信制御サーバ、通信制御方法およびプログラムを提供することにある。
本発明の第1の視点に係るコンピュータシステムは、
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、
前記転送ノードが保持する前記処理規則を制御する通信制御サーバと、
仮想サーバが稼動する物理サーバと、を備え、
前記通信制御サーバは、
前記転送ノードおよび前記物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える。
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、
前記転送ノードが保持する前記処理規則を制御する通信制御サーバと、
仮想サーバが稼動する物理サーバと、を備え、
前記通信制御サーバは、
前記転送ノードおよび前記物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える。
本発明の第2の視点に係る通信制御サーバは、
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持する前記処理規則を制御する通信制御サーバであって、
前記転送ノードおよび仮想サーバが稼動する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える。
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持する前記処理規則を制御する通信制御サーバであって、
前記転送ノードおよび仮想サーバが稼動する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える。
本発明の第3の視点に係る通信制御方法は、
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御する通信制御サーバが、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する工程と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する工程と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する工程と、を含む。
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御する通信制御サーバが、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する工程と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する工程と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する工程と、を含む。
本発明の第4の視点に係るプログラムは、
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御するコンピュータに対して、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する処理と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する処理と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する処理と、を実行させる。
パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御するコンピュータに対して、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する処理と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する処理と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する処理と、を実行させる。
なお、プログラムは、non-transitoryなコンピュータ読み取り可能記録媒体(computer-readable storage medium)に記録されたプログラム製品として提供することができる。
本発明に係るコンピュータシステム、通信制御サーバ、通信制御方法およびプログラムによると、仮想サーバの通信応答性能の劣化を抑制しつつ物理リソースを有効活用することができる。
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
図1は、一実施形態に係るコンピュータシステムの構成を示す図である。また、図2は、図1に示したコンピュータシステムに設けられた通信制御サーバ(10)の構成を示すブロック図である。
図1を参照すると、コンピュータシステムは、パケットが属するフローとフローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、処理規則に基づいて他の装置から受信したパケットを処理する転送ノード(20−1〜20−3)と、転送ノード(20−1〜20−3)が保持する処理規則を制御する通信制御サーバ(10)と、仮想サーバ(33)が稼動する物理サーバ(30−1、30−2)と、を備える。図1においては、転送ノードの台数を3台とし、物理サーバの台数を2台としたが、これらの装置の台数は、かかる台数に限定されない。
図2を参照すると、通信制御サーバ(10)は、転送ノード(20−1〜20−3)および物理サーバ(30−1、30−2)を含む通信ネットワークの接続関係、ならびに、通信ネットワークに接続される仮想サーバ(33)の動作状態を記憶するトポロジ情報記憶部(14)と、一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部(12)と、一時停止状態の仮想サーバの稼動再開後における通信ネットワークへの接続位置に基づいて、通信要求のパケットを転送する通信経路を転送ノード(20−1〜20−3)に設定する転送ノード制御部(11)と、を備える。
一実施形態によれば、通信制御サーバ(10)は、一時停止状態とされた仮想サーバに対する通信要求を検出すると、当該仮想サーバの再開を要求するとともに、当該仮想サーバの新しい実行環境に応じた通信経路を設定する。負荷がない仮想サーバを一時停止状態とすることで、物理リソースを有効活用すると同時に、仮想サーバによって提供されるサービスのレスポンスの低下を防ぐことができる。また、一実施形態によると、通信要求を送出したクライアントと再開後の仮想サーバとの間に適切な通信経路が設定されるため、通信要求が発生した際の仮想サーバの通信応答性能の劣化を抑制することができる。
なお、本発明において、下記の形態が可能である。
[形態1]
上記第1の視点に係るコンピュータシステムのとおりである。
[形態2]
前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態3]
前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態4]
前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態5]
仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する仮想環境制御サーバを備え、
前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を前記仮想環境制御サーバに要求してもよい。
[形態6]
前記仮想環境制御サーバは、前記複数の物理サーバのそれぞれの物理リソースの空き状況を各物理サーバから収集してもよい。
[形態7]
前記仮想環境制御サーバは、前記一時停止状態の仮想サーバが一時停止前に稼動していた物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして優先的に選択してもよい。
[形態8]
前記仮想環境制御サーバは、物理リソースの空きが最も多い物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択してもよい。
[形態9]
前記仮想環境制御サーバは、前記通信要求を送出したクライアント端末との通信に適した物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択してもよい。
[形態10]
上記第2の視点に係る通信制御サーバのとおりである。
[形態11]
前記通信制御サーバにおいて、前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態12]
前記通信制御サーバにおいて、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態13]
前記通信制御サーバにおいて、前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態14]
前記通信制御サーバにおいて、前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
[形態15]
上記第3の視点に係る通信制御方法のとおりである。
[形態16]
前記通信制御方法において、前記通信制御サーバは、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態17]
前記通信制御方法において、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態18]
前記通信制御方法において、前記通信制御サーバは、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態19]
前記通信制御方法において、前記通信制御サーバは、前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
[形態20]
上記第4の視点に係るプログラムのとおりである。
[形態21]
前記プログラムは、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する処理を、前記コンピュータに実行させてもよい。
[形態22]
前記プログラムにおいて、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態23]
前記プログラムにおいて、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する処理を、前記コンピュータに実行させてもよい。
[形態24]
前記プログラムは、前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求する処理を、前記コンピュータに実行させ、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
[形態1]
上記第1の視点に係るコンピュータシステムのとおりである。
[形態2]
前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態3]
前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態4]
前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態5]
仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する仮想環境制御サーバを備え、
前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を前記仮想環境制御サーバに要求してもよい。
[形態6]
前記仮想環境制御サーバは、前記複数の物理サーバのそれぞれの物理リソースの空き状況を各物理サーバから収集してもよい。
[形態7]
前記仮想環境制御サーバは、前記一時停止状態の仮想サーバが一時停止前に稼動していた物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして優先的に選択してもよい。
[形態8]
前記仮想環境制御サーバは、物理リソースの空きが最も多い物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択してもよい。
[形態9]
前記仮想環境制御サーバは、前記通信要求を送出したクライアント端末との通信に適した物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択してもよい。
[形態10]
上記第2の視点に係る通信制御サーバのとおりである。
[形態11]
前記通信制御サーバにおいて、前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態12]
前記通信制御サーバにおいて、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態13]
前記通信制御サーバにおいて、前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態14]
前記通信制御サーバにおいて、前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
[形態15]
上記第3の視点に係る通信制御方法のとおりである。
[形態16]
前記通信制御方法において、前記通信制御サーバは、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御してもよい。
[形態17]
前記通信制御方法において、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態18]
前記通信制御方法において、前記通信制御サーバは、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄するようにしてもよい。
[形態19]
前記通信制御方法において、前記通信制御サーバは、前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
[形態20]
上記第4の視点に係るプログラムのとおりである。
[形態21]
前記プログラムは、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する処理を、前記コンピュータに実行させてもよい。
[形態22]
前記プログラムにおいて、前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバであってもよい。
[形態23]
前記プログラムにおいて、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する処理を、前記コンピュータに実行させてもよい。
[形態24]
前記プログラムは、前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求する処理を、前記コンピュータに実行させ、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択してもよい。
まず、本発明の各実施形態に共通する構成および動作の概要について説明する。図1は、本発明によるコンピュータシステムの構成の一例を示す説明図である。図1に例示するコンピュータシステムは、通信制御サーバ10と、転送ノード20−1〜20−3と、物理サーバ30−1、30−2と、仮想環境制御サーバ40と、ストレージサーバ50と、クライアント60と、制御用ネットワーク70と、通信用ネットワーク80と、を備えている。
また、物理サーバ30−1、30−2は、ハイパーバイザ部31、転送ノード部32、および、仮想サーバ33を備える。物理サーバ30−1、30−2の転送ノード部32は、基本的に、転送ノード20−1〜20−3と同様の機能を有している。以下、単に「転送ノード」と記述した場合、転送ノード20−1〜20−3および物理サーバ30−1、30−2の転送ノード部32のいずれかを表すものとする。
転送ノードは、他の転送ノード、物理サーバ30−1、30−2、仮想サーバ33、および通信用ネットワーク80と接続し通信を行う。図1に示す例では、転送ノードが行う通信経路を実線で表わす。また、転送ノードは、制御用ネットワーク70に接続され、制御用ネットワーク70を介して通信制御サーバ10と制御用通信(制御チャネル)を行う。図1に示す例では、転送ノードと通信制御サーバ10との間で通信される制御チャネルを破線で表わす。なお、図1に示す各装置の数や接続関係は一例であり、本発明によるコンピュータシステムは、図1に例示する構成に限定されない。
転送ノードは、自身に接続する、物理サーバ30−1、30−2、仮想サーバ33、通信用ネットワーク80、または他の転送ノードからパケットを受信し、自身が保持するフローテーブルに含まれる処理規則(フローエントリ)に基づいて、受信したパケットを処理する。具体的には、転送ノードは、受信したパケットに対して何らかの処理を施したり、受信したパケットを他の装置に転送したりする。また、転送ノードは、受信したパケットに対応するフローエントリがフローテーブルに存在しない場合、受信したパケットを通信制御サーバ10に通知する。
通信制御サーバ10は、転送ノードから対応するフローエントリ(処理規則)が存在しないパケットを受信し、そのパケットに対する経路計算を行う。また、通信制御サーバ10は、受信したパケットに対応するフローエントリを転送ノードに追加することでコンピュータシステム内での通信を制御する。具体的には、通信制御サーバ10は、転送ノードが保持する処理規則の追加、削除など、処理規則の変更指示を行う。すなわち、通信制御サーバ10は、転送ノードが保持する処理規則を制御する装置である。
オープンフローネットワーク(OpenFlow Network)においては、転送ノードはオープンフロースイッチ(OpenFlow Switch)に相当し、通信制御サーバ10はオープンフローコントローラ(OpenFlow Controller)に相当する。
物理サーバ30−1、30−2は、仮想サーバ33を実行するためのCPU、メモリなどの物理リソースを備え、仮想環境制御サーバ40の制御の下で仮想サーバ33を実行する。また、前述の通り、物理サーバ30−1、30−2は転送ノード部32を備え、仮想サーバ33と他の転送ノードなどとの間でパケット処理を行う。
仮想環境制御サーバ40は、物理サーバ30−1、30−2およびストレージサーバ50により実現される仮想環境を制御する。仮想環境制御サーバ40は、制御用ネットワーク70を介して物理サーバ30−1、30−2と接続され、物理サーバ30−1、30−2上での仮想サーバ33の実行状態の制御を行う。実行状態の制御として、例えば、仮想サーバ33の起動、終了、一時停止、再開、他の物理サーバへのマイグレーションなどがある。ただし、実行状態の制御は、これらに限定されない。
ストレージサーバ50は、物理サーバ30−1、30−2上で実行される仮想サーバのデータや状態(ディスクイメージ、サスペンドイメージ、スナップショットなど)を記憶する。
クライアント60は、物理サーバ30−1、30−2上で実行される仮想サーバ33が提供するサーバ機能(例えば、Webサーバ)を利用する端末装置である。クライアント60として、例えば、デスクトップPC(Personal Computer)、ノートPC、スマートフォン、携帯電話などが挙げられる。ただし、クライアント60は、これらに限定されない。
制御用ネットワーク70は、通信制御サーバ10、転送ノード、物理サーバ30−1、30−2、仮想環境制御サーバ40、および、ストレージサーバ50との間で制御メッセージなどの通信を可能とする通信ネットワークである。制御用ネットワーク70は、例えば、Ethernet(登録商標)スイッチ、IP(Internet Protocol)ルータなどを相互に接続したネットワークとして実現することができる。
通信用ネットワーク80は、通信制御サーバ10および転送ノードにより実現される通信ネットワークとクライアント60との間を接続する。通信用ネットワーク80は、例えば、Ethernetスイッチ、IPルータなどを相互に接続したネットワークとして実現することができる。
(実施形態1)
次に、第1の実施形態に係るコンピュータシステムについて、図面を参照して説明する。
次に、第1の実施形態に係るコンピュータシステムについて、図面を参照して説明する。
図2は、通信制御サーバ10の構成例を示すブロック図である。図2に例示する制御サーバ10は、転送ノード制御部11、仮想環境連携部12、トポロジ情報管理部13、および、トポロジ情報記憶部14を備えている。
転送ノード制御部11は、制御用ネットワーク70に接続され、制御用ネットワーク70を介して転送ノードとの間で制御用通信(制御チャネル)を行う。制御チャネルによる通信として、例えば、転送ノードから通信制御サーバ10へのパケットの通知、通信制御サーバ10から転送ノードへのパケット送信、通信制御サーバ10から転送ノードへのフローエントリの追加、削除および変更指示などが挙げられる。
また、転送ノード制御部11は、転送ノードからパケットの通知を受信した場合、経路計算を行い、フローエントリの作成を行う。転送ノード制御部11が経路を計算する方法には、一般的な方法が用いられる。転送ノード制御部11は、例えば、ショーテストパス(Shortest Path)により経路を計算してもよいし、STP(Spanning Tree Protocol)に基づいて経路を計算してもよい。転送ノード制御部11は、経路計算を行った後、計算された経路上に含まれる転送ノードごとに追加すべきフローエントリを作成する。転送ノード制御部11は、作成したフローエントリを各転送ノードに対して送信し、処理規則への追加を指示する。
トポロジ情報記憶部14は、ネットワークトポロジ情報(以下、単に「トポロジ情報」という。)を記憶する。トポロジ情報記憶部14が記憶するトポロジ情報の例として、転送ノードと転送ノードとの間の接続関係、転送ノードと仮想サーバとの間の接続関係、転送ノードと通信用ネットワーク80またはクライアント60との間の接続関係、仮想サーバおよびクライアント60の情報(使用するIPアドレスおよびMAC(Media Access Control)アドレスや動作状態など)が挙げられる。
図3は、トポロジ情報記憶部14に記憶されるトポロジ情報の一例を示す説明図である。図3(a)は、転送ノードと転送ノードとの間、転送ノードと仮想サーバ33との間、および転送ノードとクライアント60との間の接続関係を表すリストの一例である。例えば、図3(a)に例示するリストの最初の行は、転送ノード20−1のポート識別子1のポートと、転送ノード20−2のポート識別子1のポートとが接続されていることを意味する。
また、図3(b)は、転送ノードの各ポートに接続されている端末(仮想サーバ33およびクライアント60)の情報リストの一例である。例えば、図3(b)に例示するリストの最初の行は、仮想サーバ33−1のポート識別子1のポートは、IPアドレスとして「192.168.100.1」を使用し、MACアドレスが「01:00:00:03:03:01」であり、仮想サーバ33−1は“動作中”状態であることを意味する。装置の状態の例としては、当該装置が動作していることを意味する“動作中”状態の他、当該装置が動作を一時停止していることを意味する“一時停止中”状態が挙げられる。
トポロジ情報管理部13は、コンピュータシステム内のネットワークトポロジを検出し、トポロジ情報として管理する。具体的には、トポロジ情報管理部13は、検出したトポロジ情報をトポロジ情報記憶部14に記憶させる。また、トポロジ情報管理部13は、トポロジ検出に係るパケットを任意の転送ノードの任意のポートから送受信するために、制御チャネルを使用してもよい。
トポロジ情報管理部13がトポロジを検出する方法には、一般的な方法が用いられる。トポロジ情報管理部13がトポロジを検出する技術として、例えば、LLDP(Link Layer Discovery Protocol)、DHCP(Dynamic Host Configuration Protocol)スヌーピング(snooping)またはDHCPサーバとの連携、ユーザ認証(例えば、IEEE802.1x)との連携、通信ホストが送信するGratuitous ARPパケットの検出、STP(Spanning Tree Protocol)などが挙げられる。
仮想環境連携部12は、仮想環境制御サーバ40と通信し、仮想サーバ33の制御を要求したり、仮想環境の情報を要求したりする。
転送ノード制御部11、仮想環境連携部12、および、トポロジ情報管理部13は、プログラム(通信制御プログラム)に従って動作するコンピュータのCPUによって実現される。例えば、プログラムは、通信制御サーバ10の記憶部(非図示)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、転送ノード制御部11、仮想環境連携部12、および、トポロジ情報管理部13として動作してもよい。また、転送ノード制御部11、仮想環境連携部12、および、トポロジ情報管理部13は、それぞれ、専用のハードウェアで実現されていてもよい。
また、トポロジ情報記憶部14は、メモリ、磁気ディスクなどによって実現することができる。
図4は、転送ノード20−1〜20−3の構成例を示すブロック図である。図4を参照すると、転送ノード20−1〜20−3は、制御チャネル処理部21、転送処理部22、および、フローテーブル記憶部23を備えている。
制御チャネル処理部21は、制御用ネットワーク70に接続され、制御用ネットワーク70を介して通信制御サーバ10の転送ノード制御部11との間で制御用通信(制御チャネル)を行う。また、制御チャネル処理部21は、対応するフローエントリが存在しないパケットの通知を転送処理部22から受けると、制御チャネルを用いてそのパケットを通信制御サーバ10に通知する。
さらに、制御チャネル処理部21は、制御チャネルを介して通信制御サーバ10からフローエントリを追加、変更、または、削除するよう指示されると、指示された内容に基づきフローテーブルを変更するよう転送処理部22に指示する。また、制御チャネル処理部21は、制御チャネルを介して通信制御サーバ10からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するよう転送処理部22に指示する。
フローテーブル記憶部23は、処理規則(フローエントリ)を含むフローテーブルを記憶する。処理規則(フローエントリ)は、転送処理部22によってフローテーブル記憶部23に記録される。
転送処理部22は、他の装置(例えば、他の転送ノードや通信用ネットワーク80、仮想サーバ33)に接続され、接続された装置との間でパケットの送受信を行う。また、転送処理部22は、フローテーブル記憶部23に記憶されたフローテーブルを管理する。
転送処理部22は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブルに見つかった場合、転送処理部22は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、転送処理部22は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部21に通知する。
さらに、転送処理部22は、他の装置と通信を行うためのポートを複数備え、各ポートは、それぞれ異なる他の転送ノードまたは仮想サーバ33のポートと接続される。なお、各ポートは、ポート識別子により識別される。
フローエントリのアクションに基づき、転送処理部22が行う処理には、以下に例示する処理が挙げられる。また、転送処理部22が行う処理は、1つに限定されず、2つ以上であってもよい。ただし、フローエントリのアクションに指定される処理は、以下の処理に限定されない。
・指定されたポートからパケットを出力する。
・パケットの送信先MACアドレスを指定された値に変更する。
・パケットの送信元MACアドレスを指定された値に変更する。
・パケットの送信先IPアドレスを指定された値に変更する。
・パケットの送信元IPアドレスを指定された値に変更する。
・パケットの送信先ポート番号を指定された値に変更する。
・パケットの送信元ポート番号を指定された値に変更する。
・パケットにVLAN(Virtual Local Area Network)タグを追加する。
・パケットのVLANタグを削除する。
・パケットのVLANタグを変更する。
・パケットの送信先MACアドレスを指定された値に変更する。
・パケットの送信元MACアドレスを指定された値に変更する。
・パケットの送信先IPアドレスを指定された値に変更する。
・パケットの送信元IPアドレスを指定された値に変更する。
・パケットの送信先ポート番号を指定された値に変更する。
・パケットの送信元ポート番号を指定された値に変更する。
・パケットにVLAN(Virtual Local Area Network)タグを追加する。
・パケットのVLANタグを削除する。
・パケットのVLANタグを変更する。
制御チャネル処理部21および転送処理部22は、一例として、プログラムに従って動作するコンピュータのCPUによって実現することができる。また、制御チャネル処理部21および転送処理部22は、それぞれ、専用のハードウェアで実現されていてもよい。
図5は、物理サーバ30−1、30−2の構成例を示すブロック図である。図5を参照すると、物理サーバ30−1、30−2は、ハイパーバイザ部31、転送ノード部32、および、仮想サーバ33−1〜33−nを備えている。
ハイパーバイザ部31は、物理サーバ30−1、30−2が備えるCPUやメモリ、ディスクや通信インタフェースなどのIO(Input Output)といった物理リソースを仮想化して仮想サーバ33−1〜33−nに提供し、仮想サーバ33−1〜33−nの仮想リソース上での実行を制御する。ハイパーバイザ部31は、制御用ネットワーク70を介して仮想環境制御サーバ40と通信を行い、仮想サーバ33−1〜33−nの制御に関する指示を受け取ったり、仮想サーバ33−1〜33−nの状態を通知したり、物理リソースの状態を通知したりする。また、ハイパーバイザ部31は、制御用ネットワーク70を介してストレージサーバ50と通信を行い、ストレージサーバ50に記憶されている仮想サーバ33−1〜33−nのディスクイメージに対する読み書きを行う。さらに、ハイパーバイザ部31は、仮想化された通信インタフェース上での通信を、仮想サーバ33−1〜33−nおよび転送ノード部32との間で中継する。
転送ノード部32は、転送ノード20−1〜20−3と同様の機能を持ち、フローエントリに基づくパケットの処理や通信制御サーバ10との通信を行う。転送ノード部32と転送ノード20−1〜20−3との違いは、転送ノード部32は物理サーバ30−1、30−2の一部として構成され、仮想サーバ33−1〜33−nが使用する仮想化された通信インタフェース上で送受信されるパケットを処理対象に含む点である。転送ノード部32は、ソフトウェアプログラムとして実装されてもよいし、ハードウェアとして実装されてもよい。
仮想サーバ33−1〜33−nは、ハイパーバイザ部31により提供される仮想化されたリソース(CPU、メモリなど)を使用して実行されるサーバであり、プログラムに従って動作する。仮想サーバ33−1〜33−nのプログラムは、仮想化されたディスクに記憶されていてもよい。その実体は、例えば、ストレージサーバ50に記憶されており、ハイパーバイザ部31の働きにより仮想サーバ33−1〜33−nから読み書き可能となる。ある物理サーバ上で実行される仮想サーバの個数は、ゼロであっても、1つ以上であってもよい。また、仮想サーバ33−1〜33−nは、ハイパーバイザ部31および仮想環境制御サーバ40の働きにより、実行中に物理サーバ間で移動(マイグレーション)することができる。
図6は、仮想環境制御サーバ40の構成例を示すブロック図である。図6を参照すると、仮想環境制御サーバ40は、仮想サーバ制御部41および物理リソース管理部42を備えている。
仮想サーバ制御部41は、制御用ネットワーク70を介して物理サーバ30−1、30−2と制御メッセージの通信を行い、仮想サーバ33−1〜33−nの制御指示を物理サーバ30−1、30−2に送信し、物理リソースに関する情報や仮想サーバ33−1〜33−nの状態変化などの通知を物理サーバ30−1、30−2から受信する。仮想サーバの制御指示には、仮想サーバの起動、終了、一時停止、再開、他の物理マシンへのマイグレーションが含まれる。また、仮想サーバ制御部41は、他のモジュール(例えば、通信制御サーバ10の仮想環境連携部12)からの要求に基づき、仮想サーバ33−1〜33−nの制御を行ったり、仮想サーバ33−1〜33−nの状態を応答として通知したりする。
物理リソース管理部42は、仮想サーバ制御部41が物理サーバ30−1、30−2から収集した物理リソースに関する情報を記憶し、空き物理リソース量などを管理する。
次に、本実施形態に係るコンピュータシステムの動作について、図面を参照しつつ説明する。
<クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作>
まず、クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作について説明する。なお、以下の説明は、次の条件が成り立っていることを前提とする。
まず、クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作について説明する。なお、以下の説明は、次の条件が成り立っていることを前提とする。
・クライアント60は、仮想サーバ33−1のIPアドレスを知っている。
・転送ノードには、クライアント60と仮想サーバ33−1との通信に関するフローエントリが設定されていない。
・仮想サーバ33−1は、物理サーバ30−1上で実行中または一時停止中である。
・通信制御サーバ10は、トポロジ情報を取得済みである。
・通信制御サーバ10のトポロジ情報記憶部14には、仮想サーバ33−1は物理サーバ30−1の転送ノード部32に接続されており、仮想サーバ33−1の状態は“動作中”または“一時停止中”であると記憶されている。
・転送ノードには、クライアント60と仮想サーバ33−1との通信に関するフローエントリが設定されていない。
・仮想サーバ33−1は、物理サーバ30−1上で実行中または一時停止中である。
・通信制御サーバ10は、トポロジ情報を取得済みである。
・通信制御サーバ10のトポロジ情報記憶部14には、仮想サーバ33−1は物理サーバ30−1の転送ノード部32に接続されており、仮想サーバ33−1の状態は“動作中”または“一時停止中”であると記憶されている。
まず、仮想サーバ33−1が実行中の場合と、仮想サーバ33−1が一時停止中であり物理サーバ30−1上での再開が可能な場合の動作について、図7を参照して説明する。図7は、本実施形態におけるコンピュータシステムの動作の例を示すシーケンス図である。
クライアント60が、仮想サーバ33−1宛のパケットを送信する(ステップS1)。当該パケットの一例としては、HTTP用ポート番号(80)宛のTCP SYN(Transmission Control Protocol Synchronization)パケットが挙げられる。当該パケットは、通信用ネットワーク80を介して転送ノード20−1に届けられる。
転送ノード20−1は、クライアント60から受信したパケットの処理を行い、その結果として当該パケットを通信制御サーバ10に送信する(ステップS2)。具体的には、まず、転送ノード20−1の転送処理部22が受信パケットに対応するフローエントリを検索する。ここでは、対応するフローエントリが見つからないため、受信パケットが制御チャネル処理部21に通知され、さらに制御チャネル処理部21が制御チャネルを介して受信パケットを通信制御サーバ10に送信する。
通信制御サーバ10の転送ノード制御部11は、受信したパケットの宛先端末の状態を確認する(ステップS3)。具体的には、通信制御サーバ10の転送ノード制御部11は、例えば、受信したパケットの宛先IPアドレスと、トポロジ情報記憶部14が記憶しているトポロジ情報とを参照し、宛先端末の識別とその動作状態を取得する。宛先端末が“実行中”である場合、ステップS4〜S9およびステップS11〜S12は省略される。一方、宛先端末が“一時停止中”である場合、ステップS4以降が実行される。
通信制御サーバ10の仮想環境連携部12は、仮想環境制御サーバ40に仮想サーバ33−1の再開要求を行う(ステップS4)。
仮想環境制御サーバ40は、受信した仮想サーバ33−1の再開要求に基づき、仮想サーバ33−1を再開する物理サーバを選択する(ステップS5)。物理サーバの選択方法の一例としては、仮想サーバが一時停止状態になった際に使用されていた物理サーバに仮想サーバ再開に必要十分なリソースがある場合には当該物理サーバを選択し、一方、必要十分なリソースがない場合にはリソースがあるその他の物理サーバを選択するようにしてもよい。ここでは、物理サーバ30−1が選択されるものとする。
仮想環境制御サーバ40は、ステップS5で選択された物理サーバの情報を含む応答通知を通信制御サーバ10に送信する(ステップS6)。
仮想環境制御サーバ40は、ステップS5で選択された物理サーバである物理サーバ30−1に仮想サーバ33−1の再開を要求する(ステップS7)。
物理サーバ30−1のハイパーバイザ部31は、仮想サーバ33−1の再開処理を行う(ステップS8)。
ステップS8の完了に伴い、物理サーバ30−1上で仮想サーバ33−1が動作し始める(ステップS9)。
ステップS7〜ステップS9と並行して、通信制御サーバ10はクライアント60と仮想サーバ33−1との間の経路計算を行う(ステップS10)。このとき、通信制御サーバ10の転送ノード制御部11は、仮想サーバ33−1の接続先転送ノードを、ステップS6で受信した物理サーバの情報を基に決定する。ここでは、クライアント60と仮想サーバ33−1との間の経路は、転送ノード20−1、転送ノード20−2、および、物理サーバ30−1の転送ノード部32をこの順に経由する経路として計算されたとする。
物理サーバ30−1のハイパーバイザ部31は、仮想サーバ33−1の再開が完了したことを仮想環境制御サーバ40に通知する(ステップS11)。
仮想環境制御サーバ40は、ステップS4での仮想サーバ再開要求元である通信制御サーバ10に、仮想サーバ33−1の再開が完了したことを通知する(ステップS12)。
通信制御サーバ10の転送ノード制御部11は、ステップS10で計算された経路上の転送ノードに、計算された経路に基づくフローエントリを追加する(ステップS13)。
通信制御サーバ10の転送ノード制御部11は、ステップS2で受信したパケットを物理サーバ30−1の転送ノード部32に送信し、仮想サーバ33−1に送信するよう指示する(ステップS14)。
物理サーバ30−1の転送ノード部32は、ステップS14で受信したパケットを仮想サーバ33−1に送信する(ステップS15)。
仮想サーバ33−1は、ステップS15で受信したパケットを処理する(ステップS16)。当該処理の一例としては、受信したパケットがTCP SYNパケットであった場合、TCP接続確立処理と応答パケット(TCP SYN・ACKパケット)の生成が挙げられる。
仮想サーバ33−1は、ステップS16の結果生成されたクライアント60宛のパケットを送信する(ステップS17)。
物理サーバ30−1の転送ノード部32は、仮想サーバ33−1から受信したパケットの処理を行い、その結果として当該パケットを転送ノード20−2に送信する(ステップS18)。具体的には、まず、物理サーバ30−1の転送ノード部32が受信パケットに対応するフローエントリを検索する。ここでは、ステップS13で追加されたフローエントリが対応するフローエントリとして発見され、当該フローエントリに基づきパケットが転送ノード20−2に送信される。
同様に、転送ノード20−2は、物理サーバ30−1の転送ノード部32から受信したパケットの処理を行い、その結果として当該パケットを転送ノード20−1に送信する(ステップS19)。転送ノード20−1は、転送ノード20−2から受信したパケットの処理を行い、その結果として当該パケットを通信用ネットワーク80を介してクライアント60に送信する(ステップS20)。
次に、仮想サーバ33−1が一時停止中であり物理サーバ30−1上での再開が不可能な場合の動作について、図8を用いて説明する。図8は、本実施形態におけるコンピュータシステムの動作の例を示すシーケンス図である。
クライアント60が仮想サーバ33−1宛のパケットを送信してから、通信制御サーバ10が仮想サーバ33−1の再開要求に対する応答通知を受け取るまでの動作は、図7を参照して説明した、ステップS1〜S6の動作と同様である。ただし、ここでは、ステップS5において仮想サーバ33−1を再開するのに用いる物理サーバとして物理サーバ30−2が選択されたものとする。再開用の物理サーバの選択方法として、例えば、最も空きリソースの多い物理サーバを選択するようにしてもよい。
仮想環境制御サーバ40は、ステップS5で選択された物理サーバである物理サーバ30−2に仮想サーバ33−1の再開を要求する(ステップS30)。
物理サーバ30−2のハイパーバイザ部31は、仮想サーバ33−1の再開処理を行う(ステップS31)。
ステップS31の完了に伴い、物理サーバ33−2上で仮想サーバ33−1が動作し始める(ステップS32)。
ステップS30〜S32と並行して、通信制御サーバ10はクライアント60と仮想サーバ33−2との間の経路計算を行う(ステップS33)。ここでは、クライアント60と仮想サーバ33−1との間の経路は、転送ノード20−1、転送ノード20−3、および、物理サーバ30−2の転送ノード部32をこの順に経由する経路として計算されたとする。
物理サーバ30−2のハイパーバイザ部31は、仮想サーバ33−1の再開が完了したことを仮想環境制御サーバ40に通知する(ステップS34)。
仮想環境制御サーバ40は、ステップS4での仮想サーバ再開要求元である通信制御サーバ10に、仮想サーバ33−1の再開が完了したことを通知する(ステップS35)。
通信制御サーバ10の転送ノード制御部11は、ステップS33で計算された経路上の転送ノードに、計算された経路に基づくフローエントリを追加する(ステップS36)。
通信制御サーバ10の転送ノード制御部11は、ステップS2で受信したパケットを物理サーバ30−2の転送ノード部32に送信し、仮想サーバ33−1に送信するよう指示する(ステップS37)。
物理サーバ30−2の転送ノード部32は、ステップS37で受信したパケットを仮想サーバ33−1に送信する(ステップS38)。
ステップS16の場合と同様、仮想サーバ33−1は、ステップS38で受信したパケットの処理を行う(ステップS39)。
仮想サーバ33−1は、ステップS39の結果生成されたクライアント60宛のパケットを送信する(ステップS40)。
ステップS18の場合と同様、物理サーバ30−2の転送ノード部32は、仮想サーバ33−1から受信したパケットの処理を行い、その結果として当該パケットを転送ノード20−3に送信する(ステップS41)。
同様に、転送ノード20−3は、物理サーバ30−2の転送ノード部32から受信したパケットの処理を行い、その結果として当該パケットを転送ノード20−1に送信する(ステップS42)。転送ノード20−1は、転送ノード20−3から受信したパケットの処理を行い、その結果として、当該パケットを通信用ネットワーク80を介してクライアント60に送信する(ステップS43)。
<仮想サーバ33−1が一時停止状態となる場合の動作>
次に、仮想サーバ33−1が一時停止状態となる場合の動作について、図9を用いて説明する。図9は、本実施形態に係るコンピュータシステムの動作を一例として示すフロー図である。
次に、仮想サーバ33−1が一時停止状態となる場合の動作について、図9を用いて説明する。図9は、本実施形態に係るコンピュータシステムの動作を一例として示すフロー図である。
仮想サーバ33−1への通信要求が、直近の過去一定時間内に存在したかどうかを確認する(ステップS51)。
ステップS51は、様々な方法で実現することができる。一例として、ステップS51を仮想サーバ33−1上で実行されるソフトウェアによって実現してもよい。この場合、仮想サーバ33−1上のソフトウェアは、通信状況を記録しておき、当該記録を基に直近の過去一定時間内に存在したかを確認する。
また、他の例として、ステップS51を仮想サーバ33−1と接続している転送ノードによって実現してもよい。この場合、転送ノードは、仮想サーバ33−1の通信状況を記録しておき、当該記録を基に直近の過去一定時間内に存在したかを確認する。
仮想サーバ33−1への通信要求が、直近の過去一定時間内に存在しない場合(ステップS51)、仮想サーバ33−1を一時停止させる(ステップS52)。仮想サーバ33−1が一時停止状態となることで、仮想サーバ33−1に使用されていた物理リソースが解放され、他の用途(例えば、他の仮想サーバの実行)に利用できるようになる。
ステップS52は、様々な方法で実現することができる。例えば、ステップS51が仮想サーバ33−1上で実行されるソフトウェアで実現される場合、当該ソフトウェアが仮想サーバ33−1のサスペンド処理もしくはハイバネーション処理を開始することでステップS52を実現できる。当該処理は仮想サーバ33−1を実行している物理サーバのハイパーバイザ部31で検知され、ハイパーバイザ部31は仮想サーバ33−1を一時停止状態とする。
また、ステップS51が仮想サーバ33−1に接続している転送ノードで実現される場合、当該転送ノードが仮想サーバ33−1を実行している物理サーバのハイパーバイザ部31または仮想環境制御サーバ40に仮想サーバ33−1の一時停止を要求することで実現できる。仮想環境制御サーバ40は、当該要求に基づき当該ハイパーバイザ部31に仮想サーバ33−1の一時停止を指示し、当該ハイパーバイザ部31は仮想サーバ33−1を一時停止状態とする。
仮想サーバ33−1を実行していた物理サーバのハイパーバイザ部31は、仮想サーバ33−1が一時停止状態となったことを仮想環境制御サーバ40に通知する(ステップS53)。なお、ステップS52において仮想環境制御サーバ40が一時停止の処理に関与している場合には、本ステップを省略してもよい。
仮想環境制御サーバ40は、仮想サーバ33−1が一時停止状態となったことを通信制御サーバ10に通知し、当該通知を基に仮想環境サーバ10はトポロジ情報内の仮想サーバ33−1に関する情報を更新する(ステップS54)。
以上説明したように、本実施形態によれば、負荷がない仮想サーバを一時停止状態にする。また、一時停止状態の仮想サーバに対する通信要求が発生した場合、通信制御サーバ10はそれを検出し、仮想環境制御サーバ40を介して当該仮想サーバを再開させる。その際、当該仮想サーバはその実行に適した物理サーバ上で再開されるとともに、当該仮想サーバの新しい実行環境に応じた通信経路が設定される。よって、負荷がない仮想サーバを一時停止状態とすることで物理リソースを有効活用することができるとともに、通信要求が発生した際の仮想サーバの通信応答性能の劣化を抑制することができる。
また、実施形態に係るコンピュータシステムの説明では、仮想サーバのデータや状態(ディスクイメージ、サスペンドイメージ、スナップショットなど)がストレージサーバに記憶され、複数の物理サーバから共有される例を示したが、本発明はこれに限定されるものではない。例えば、仮想サーバのデータや状態は複数の物理サーバで共有されなくてもよく、当該仮想サーバを実行している物理サーバ内の記憶装置に記憶されてもよい。この場合、例えば、一時停止状態の仮想サーバを別の物理サーバ上で再開する際、当該仮想サーバのデータや状態を、それらを保持している物理サーバから仮想サーバの再開に用いる物理サーバに転送する。こうすることで、ストレージサーバが存在しないシステムに対しても本発明を適用することが可能となる。
さらに、実施形態に係るコンピュータシステムの説明では、ステップS5における仮想サーバを再開するのに用いる物理サーバの選択方法として、最も空きリソースの多い物理サーバを選択することとしたが、本発明はこれに限定されるものではない。例えば、仮想サーバの再開に必要な空きリソースを持つ物理サーバの中で、最もクライアントとの通信に適した物理サーバを選択するようにしてもよい。適切か否かの基準として、クライアントとの間のネットワーク上の距離(ホップ数など)、リンク帯域、リンク利用率、または、これらの組み合わせを用いてもよい。この場合、例えば、ステップS5において仮想環境制御サーバは候補となる物理サーバのリストを通信制御サーバ10に通知し、通信制御サーバ10は自身が保持するネットワークの情報を用いて物理サーバを選択し、その結果を仮想環境制御サーバ40に通知する。こうすることで、再開後の仮想サーバとクライアント60の通信をより効率的に実行することが可能となる。
また、実施形態に係るコンピュータシステムにおいては、通信制御サーバ10と仮想環境制御サーバ40とを別個の装置として説明したが、これらの装置を一体化された単一の装置としてもよい。
(実施形態2)
次に、第2の実施形態におけるコンピュータシステムについて、図面を参照して説明する。
次に、第2の実施形態におけるコンピュータシステムについて、図面を参照して説明する。
第1の実施形態に係るコンピュータシステムでは、一時停止状態の仮想サーバに対する通信要求が発生した場合、通信制御サーバ10はそれを検出すると常に当該仮想サーバを再開させる例を示したが、本発明はこれに限定されるものではない。
本実施形態に係るコンピュータシステムでは、一時停止状態の仮想サーバに対する通信要求が発生した場合、通信制御サーバ10はそれを検出し、当該通信要求が当該仮想サーバにとって有効である(例えば、許可されている、処理対象である)場合にのみ、当該仮想サーバを再開させる。
以下、本実施形態に係るコンピュータシステムの構成および動作について、第1の実施形態に係るコンピュータシステムの構成および動作と異なる部分を説明する。
本実施形態における仮想サーバ33−1〜33−nは、クライアント60からの通信要求に応じるか否かを示す通信許可リストを保持するとともに、他のモジュール(例えば、物理サーバ30−1、30−2のハイパーバイザ部31)に当該通信許可リストを提供する通信許可リスト管理部33A(非図示)を備える。
通信許可リストの例として、仮想サーバ内のファイアウォールで許可されている通信のリスト、仮想サーバ内で待ち受け状態となっている通信ポート番号のリストなどが挙げられる。また、仮想サーバ内のファイアウォールの例として、iptablesが挙げられる。ただし、通信許可リストやファイアウォールは、これらに限定されない。
本実施形態における物理サーバ30−1、30−2のハイパーバイザ部31は、第1の実施形態における動作に加え、仮想サーバ33−1〜33−nの通信許可リスト管理部33Aから対象の仮想サーバの通信許可リストを取得し、仮想環境制御サーバ40の仮想サーバ制御部41に通知する。
本実施形態における仮想環境制御サーバ40の仮想サーバ制御部41は、第1の実施形態における動作に加え、物理サーバ30−1〜30−2のハイパーバイザ部31から各仮想サーバの通信許可リストを取得し、各仮想サーバの状態とともに保持する。また、仮想サーバ制御部41は、他のモジュール(例えば、通信制御サーバ10の仮想環境連携部12)からの要求に対し、仮想サーバの通信許可リストを応答として通知する。
本実施形態における通信制御サーバ10のトポロジ情報記憶部14は、第1の実施形態における内容に加え、仮想サーバの通信許可リストも記憶する。
本実施形態における通信制御サーバ10のトポロジ情報管理部13は、第1の実施形態における動作に加え、仮想サーバの通信許可リストの収集も行う。
本実施形態における通信制御サーバ10の仮想環境連携部12は、第1の実施形態における動作に加え、仮想サーバの通信許可リストの要求も行う。
本実施形態における通信制御サーバ10の転送ノード制御部11は、第1の実施形態における動作に加え、転送ノードから受信したパケットが当該パケットの宛先仮想サーバにおける通信許可リストで許可されないパケットであった場合、当該宛先仮想サーバの再開を行わず、当該パケットを破棄する。
次に、本実施形態によるコンピュータシステムの動作について、図面を参照しつつ説明する。
<クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作>
クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作は、当該パケットが仮想サーバ33−1の通信許可リストで許可される場合、図7および図8を参照して説明した第1の実施形態に係るコンピュータシステムの動作と、以下の例外を除いて同一である。
クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作は、当該パケットが仮想サーバ33−1の通信許可リストで許可される場合、図7および図8を参照して説明した第1の実施形態に係るコンピュータシステムの動作と、以下の例外を除いて同一である。
通信制御サーバ10の転送ノード制御部11は、ステップS3において、受信したパケットの宛先端末の状態を確認することに加え、受信したパケットの宛先端末の通信許可リストを確認し、当該パケットが宛先端末によって通信許可されることを確認する。
クライアント60が仮想サーバ33−1宛のパケットを送信した場合の動作について、当該パケットが仮想サーバ33−1の通信許可リストで許可されない場合について、図10を参照して説明する。図10は、本実施形態に係るコンピュータシステムの動作の例を示すシーケンス図である。
クライアント60が、仮想サーバ33−1宛のパケットを送信する(ステップS61)。当該パケットは、通信用ネットワーク80を介して転送ノード20−1に届けられる。
転送ノード20−1は、クライアント60から受信したパケットの処理を行い、その結果として当該パケットを通信制御サーバ10に送信する(ステップS62)。
通信制御サーバ10の転送ノード制御部11は、受信したパケットの宛先端末の通信許可リストを確認する(ステップS63)。具体的には、通信制御サーバ10の転送ノード制御部11は、例えば、受信したパケットの宛先IPアドレスと、トポロジ情報記憶部14が記憶しているトポロジ情報とを参照し、宛先端末の識別とその通信許可リストを取得する。
通信制御サーバ10の転送ノード制御部11は、ステップS63で得た通信許可リストと受信したパケットの比較を行い、当該パケットの通信が宛先端末で許可されない場合、当該パケットを破棄する(ステップS64)。
以上説明したように、本実施形態によれば、負荷がない仮想サーバを一時停止状態にする。また、仮想サーバに対する通信要求が発生した場合、通信制御サーバ10はそれを検出し、当該通信要求が当該仮想サーバによって通信が許可されない場合、当該通信要求を破棄する。本実施形態によると、不必要な仮想サーバの再開や不必要な通信要求の送信を抑制することで、物理リソースを有効活用することができる。
なお、本実施形態に係るコンピュータシステムの説明では、仮想環境制御サーバ40の仮想サーバ制御部41が仮想サーバの通信許可リストを物理サーバ30−1、30−2のハイパーバイザ部31から取得する場合について説明したが、本発明はこれに限定されるものではない。仮想環境制御サーバ40の仮想サーバ制御部41は、仮想サーバの通信許可リストを、物理サーバ30−1、30−2のハイパーバイザ部31からではなく、仮想サーバ33−1〜33−nの通信許可リスト管理部33Aから直接取得してもよい。
本実施形態に係るコンピュータシステムの説明では、通信制御サーバ10の転送ノード制御部11は、仮想サーバで許可されない通信要求(パケット)を検出した場合、当該パケットを破棄する例について説明したが、本発明はこれに限定されるものではない。他の例として、例えば、当該パケットを破棄するとともに、転送ノードの一部(例えば、当該要求を通知してきた転送ノード)または全部に対し、当該パケットを破棄するフローエントリを設定してもよい。これは、ステップS64のあとに、マッチするフローが当該パケットのフローであり、アクションがパケット破棄であるようなフローエントリを転送ノード(例えば、転送ノード20−1)に設定するステップを追加することで実現することができる。このとき、仮想サーバで許可されない通信要求を転送ノードの段階で破棄することができ、通信制御サーバ10や制御ネットワーク70の負荷を軽減することが可能となる。
なお、上記の特許文献などの先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素などを含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10 通信制御サーバ
11 転送ノード制御部
12 仮想環境連携部
13 トポロジ情報管理部
14 トポロジ情報記憶部
20−1〜20−3 転送ノード
21 制御チャネル処理部
22 転送処理部
23 フローテーブル記憶部
30−1、30−2 物理サーバ
31 ハイパーバイザ部
32 転送ノード部
33、33−1〜33−n 仮想サーバ
33A 通信許可リスト管理部
40 仮想環境制御サーバ
41 仮想サーバ制御部
42 物理リソース管理部
50 ストレージサーバ
60 クライアント
70 制御用ネットワーク
80 通信用ネットワーク
11 転送ノード制御部
12 仮想環境連携部
13 トポロジ情報管理部
14 トポロジ情報記憶部
20−1〜20−3 転送ノード
21 制御チャネル処理部
22 転送処理部
23 フローテーブル記憶部
30−1、30−2 物理サーバ
31 ハイパーバイザ部
32 転送ノード部
33、33−1〜33−n 仮想サーバ
33A 通信許可リスト管理部
40 仮想環境制御サーバ
41 仮想サーバ制御部
42 物理リソース管理部
50 ストレージサーバ
60 クライアント
70 制御用ネットワーク
80 通信用ネットワーク
Claims (24)
- パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードと、
前記転送ノードが保持する前記処理規則を制御する通信制御サーバと、
仮想サーバが稼動する物理サーバと、を備え、
前記通信制御サーバは、
前記転送ノードおよび前記物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える、コンピュータシステム。 - 前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する、請求項1に記載のコンピュータシステム。
- 前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバである、請求項1または2に記載のコンピュータシステム。
- 前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する、請求項1ないし3のいずれか1項に記載のコンピュータシステム。
- 仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する仮想環境制御サーバを備え、
前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を前記仮想環境制御サーバに要求する、請求項1ないし4のいずれか1項に記載のコンピュータシステム。 - 前記仮想環境制御サーバは、前記複数の物理サーバのそれぞれの物理リソースの空き状況を各物理サーバから収集する、請求項5に記載のコンピュータシステム。
- 前記仮想環境制御サーバは、前記一時停止状態の仮想サーバが一時停止前に稼動していた物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして優先的に選択する、請求項5または6に記載のコンピュータシステム。
- 前記仮想環境制御サーバは、物理リソースの空きが最も多い物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択する、請求項5または6に記載のコンピュータシステム。
- 前記仮想環境制御サーバは、前記通信要求を送出したクライアント端末との通信に適した物理サーバを、前記一時停止中の仮想サーバの稼動を再開する物理サーバとして選択する、請求項5または6に記載のコンピュータシステム。
- パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持し、前記処理規則に基づいて他の装置から受信したパケットを処理する転送ノードが保持する前記処理規則を制御する通信制御サーバであって、
前記転送ノードおよび仮想サーバが稼動する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶するトポロジ情報記憶部と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する仮想環境連携部と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する転送ノード制御部と、を備える、通信制御サーバ。 - 前記転送ノード制御部は、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する、請求項10に記載の通信制御サーバ。
- 前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバである、請求項10または11に記載の通信制御サーバ。
- 前記転送ノード制御部は、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する、請求項10ないし12のいずれか1項に記載の通信制御サーバ。
- 前記仮想環境連携部は、前記一時停止状態の仮想サーバの稼動の再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する、請求項10ないし13のいずれか1項に記載の通信制御サーバ。 - パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御する通信制御サーバが、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する工程と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する工程と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する工程と、を含む、通信制御方法。 - 前記通信制御サーバは、前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する、請求項15に記載の通信制御方法。
- 前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバである、請求項15または16に記載の通信制御方法。
- 前記通信制御サーバは、前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する、請求項15ないし17のいずれか1項に記載の通信制御方法。
- 前記通信制御サーバは、前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求し、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する、請求項15ないし18のいずれか1項に記載の通信制御方法。 - パケットが属するフローと前記フローに属するパケットに対する処理を規定する処理規則とを関連付けて保持する転送ノードであって、前記処理規則に基づいて他の装置から受信したパケットを処理する前記転送ノードが保持する前記処理規則を制御するコンピュータに対して、
前記転送ノードおよび仮想サーバを提供する物理サーバを含む通信ネットワークの接続関係、ならびに、前記通信ネットワークに接続される仮想サーバの動作状態を記憶部に保持する処理と、
一時停止状態とされた仮想サーバに対する通信要求の発生を契機として、前記一時停止状態の仮想サーバの稼動の再開を要求する処理と、
前記一時停止状態の仮想サーバの稼動再開後における前記通信ネットワークへの接続位置に基づいて、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定する処理と、を実行させる、プログラム。 - 前記通信要求のパケットの前記一時停止状態の仮想サーバへの送信が、前記一時停止状態の仮想サーバの稼動の再開が完了した後に行われるように制御する処理を、前記コンピュータに実行させる、請求項20に記載のプログラム。
- 前記一時停止状態の仮想サーバは、所定の期間に亘って通信要求を受け付けることがないため、前記物理サーバの物理リソースを解放して一時停止状態となった仮想サーバである、請求項20または21に記載のプログラム。
- 前記通信要求に基づく通信が前記一時停止状態の仮想サーバにおいて許可されている場合に、前記通信要求のパケットを転送する通信経路を前記転送ノードに設定し、それ以外の場合に、前記通信要求のパケットを破棄する処理を、前記コンピュータに実行させる、請求項20ないし22のいずれか1項に記載のプログラム。
- 前記一時停止状態の仮想サーバの再開を仮想環境制御サーバに要求する処理を、前記コンピュータに実行させ、
前記仮想環境制御サーバは、仮想サーバを提供する複数の物理サーバのそれぞれの状態、ならびに、前記転送ノードおよび前記複数の物理サーバを含む通信ネットワークの接続関係の少なくともいずれかに基づいて、前記一時停止状態の仮想サーバの稼動を再開する物理サーバを前記複数の物理サーバの中から選択する、請求項20ないし23のいずれか1項に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014560152A JP5983782B2 (ja) | 2012-06-12 | 2012-11-30 | コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012132928 | 2012-06-12 | ||
JP2012132928 | 2012-06-12 | ||
JP2014560152A JP5983782B2 (ja) | 2012-06-12 | 2012-11-30 | コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム |
PCT/JP2012/007714 WO2013186825A1 (en) | 2012-06-12 | 2012-11-30 | Computer system, communication control server, communication control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015523747A true JP2015523747A (ja) | 2015-08-13 |
JP5983782B2 JP5983782B2 (ja) | 2016-09-06 |
Family
ID=49757692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014560152A Active JP5983782B2 (ja) | 2012-06-12 | 2012-11-30 | コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9571379B2 (ja) |
JP (1) | JP5983782B2 (ja) |
WO (1) | WO2013186825A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170057034A (ko) * | 2015-11-16 | 2017-05-24 | 한국전자통신연구원 | 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9251002B2 (en) * | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
WO2015102875A1 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods of using data forwarding |
EP3090345B1 (en) | 2013-12-30 | 2017-11-08 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
JP6518672B2 (ja) | 2013-12-30 | 2019-05-22 | ストラタス・テクノロジーズ・バミューダ・リミテッド | 動的チェックポインティングシステムおよび方法 |
US9660933B2 (en) * | 2014-04-17 | 2017-05-23 | Go Daddy Operating Company, LLC | Allocating and accessing hosting server resources via continuous resource availability updates |
JP6874386B2 (ja) * | 2017-01-23 | 2021-05-19 | カシオ計算機株式会社 | 通信機器、通信システム及び通信方法 |
CN109150574B (zh) * | 2017-06-28 | 2022-08-16 | 中国电子科技集团公司电子科学研究院 | 一种规模网络复现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010115060A2 (en) * | 2009-04-01 | 2010-10-07 | Nicira Networks | Method and apparatus for implementing and managing virtual switches |
JP2011082799A (ja) * | 2009-10-07 | 2011-04-21 | Nec Corp | 省電力化システム、省電力化方法、及び省電力化用プログラム |
WO2011068091A1 (ja) * | 2009-12-04 | 2011-06-09 | 日本電気株式会社 | サーバ及びフロー制御プログラム |
WO2012033117A1 (ja) * | 2010-09-09 | 2012-03-15 | 日本電気株式会社 | ネットワークシステム、及びネットワーク管理方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US7783779B1 (en) * | 2003-09-19 | 2010-08-24 | Vmware, Inc | Storage multipath management in a virtual computer system |
WO2007108062A1 (ja) | 2006-03-17 | 2007-09-27 | Fujitsu Limited | サーバ管理方法、プログラム及び装置 |
US8234631B2 (en) * | 2007-08-14 | 2012-07-31 | Dynatrace Software Gmbh | Method and system for tracing individual transactions at the granularity level of method calls throughout distributed heterogeneous applications without source code modifications |
US7725531B1 (en) * | 2006-09-18 | 2010-05-25 | George Mason Intellectual Properties, Inc. | Single use server system |
WO2008121873A1 (en) * | 2007-03-29 | 2008-10-09 | Vmware, Inc. | Synchronization and customization of a clone computer |
JP4990940B2 (ja) * | 2009-07-06 | 2012-08-01 | 株式会社日立製作所 | 計算機装置及びパス管理方法 |
JP5446040B2 (ja) | 2009-09-28 | 2014-03-19 | 日本電気株式会社 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
US8621460B2 (en) * | 2009-11-02 | 2013-12-31 | International Business Machines Corporation | Endpoint-hosted hypervisor management |
US9477531B2 (en) * | 2010-01-27 | 2016-10-25 | Vmware, Inc. | Accessing virtual disk content of a virtual machine without running a virtual desktop |
US9274821B2 (en) * | 2010-01-27 | 2016-03-01 | Vmware, Inc. | Independent access to virtual machine desktop content |
US8392838B2 (en) * | 2010-01-27 | 2013-03-05 | Vmware, Inc. | Accessing virtual disk content of a virtual machine using a control virtual machine |
CN102262557B (zh) * | 2010-05-25 | 2015-01-21 | 运软网络科技(上海)有限公司 | 通过总线架构构建虚拟机监控器的方法及性能服务框架 |
US8600943B1 (en) * | 2010-12-31 | 2013-12-03 | Emc Corporation | Porting replication relationships |
US9003104B2 (en) * | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8996807B2 (en) * | 2011-02-15 | 2015-03-31 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a multi-level cache |
US8689054B1 (en) * | 2011-07-29 | 2014-04-01 | Emc Corporation | Increased distance of virtual machine mobility over asynchronous distances |
US8726067B1 (en) * | 2011-07-29 | 2014-05-13 | Emc Corporation | Utilizing both application and storage networks for distributed storage over asynchronous distances |
WO2013057751A1 (en) * | 2011-10-18 | 2013-04-25 | Hitachi, Ltd. | Method for data tiering and computer system using the same |
US8682852B1 (en) * | 2012-03-29 | 2014-03-25 | Emc Corporation | Asymmetric asynchronous mirroring for high availability |
-
2012
- 2012-11-30 JP JP2014560152A patent/JP5983782B2/ja active Active
- 2012-11-30 WO PCT/JP2012/007714 patent/WO2013186825A1/en active Application Filing
- 2012-11-30 US US14/407,140 patent/US9571379B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010115060A2 (en) * | 2009-04-01 | 2010-10-07 | Nicira Networks | Method and apparatus for implementing and managing virtual switches |
JP2011082799A (ja) * | 2009-10-07 | 2011-04-21 | Nec Corp | 省電力化システム、省電力化方法、及び省電力化用プログラム |
WO2011068091A1 (ja) * | 2009-12-04 | 2011-06-09 | 日本電気株式会社 | サーバ及びフロー制御プログラム |
WO2012033117A1 (ja) * | 2010-09-09 | 2012-03-15 | 日本電気株式会社 | ネットワークシステム、及びネットワーク管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170057034A (ko) * | 2015-11-16 | 2017-05-24 | 한국전자통신연구원 | 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법 |
KR102025425B1 (ko) * | 2015-11-16 | 2019-09-25 | 한국전자통신연구원 | 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2013186825A1 (en) | 2013-12-19 |
JP5983782B2 (ja) | 2016-09-06 |
US9571379B2 (en) | 2017-02-14 |
US20150180761A1 (en) | 2015-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5983782B2 (ja) | コンピュータシステム、通信制御サーバ、通信制御方法およびプログラム | |
AU2020239763B2 (en) | Virtual network, hot swapping, hot scaling, and disaster recovery for containers | |
US10171567B2 (en) | Load balancing computer device, system, and method | |
US20220294701A1 (en) | Method and system of connecting to a multipath hub in a cluster | |
JP5500270B2 (ja) | プロファイル処理プログラム、データ中継装置およびプロファイル制御方法 | |
US9614812B2 (en) | Control methods and systems for improving virtual machine operations | |
EP2812801B1 (en) | Application context transfer for distributed computing resources | |
US10333827B2 (en) | Adaptive session forwarding following virtual machine migration detection | |
US10749993B2 (en) | Path selection using TCP handshake in a multipath environment | |
JP2017518568A (ja) | 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法 | |
JP5757325B2 (ja) | 仮想デスクトップシステム、ネットワーク処理装置、管理方法、及び管理プログラム | |
US20150098320A1 (en) | Systems and methods of inter data center out-bound traffic management | |
JP2017033331A (ja) | 代理応答プログラム、代理応答装置及び代理応答方法 | |
JP2016536920A (ja) | ネットワークパフォーマンス監視のための機器および方法 | |
JP5904285B2 (ja) | 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム | |
US20150334019A1 (en) | Routing control method and non-transitory computer-readable recording medium storing routing control program | |
JP6260310B2 (ja) | ネットワークスイッチ、ネットワークシステム及びネットワークシステムの制御方法 | |
JP5880701B2 (ja) | 通信システム、通信制御方法、通信中継システム、及び、通信中継制御方法 | |
WO2018113633A1 (zh) | 报文转发方法、报文转发控制器、bras、计算机存储介质 | |
EP3562101A1 (en) | Bras management method, packet forwarding method, packet forwarding controller, and bras | |
KR101585413B1 (ko) | 소프트웨어 정의 네트워크 기반 클라우드 컴퓨팅 시스템을 위한 오픈플로우 컨트롤러 및 재해복구 방법 | |
US20240073140A1 (en) | Facilitating elasticity of a network device | |
US20190104195A1 (en) | Computer system and method for controlling communication path | |
JP2015156587A (ja) | ネットワークシステム、ネットワークスイッチ装置及び情報処理装置、並びに設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151007 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5983782 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |