JP5644150B2 - サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム - Google Patents

サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム Download PDF

Info

Publication number
JP5644150B2
JP5644150B2 JP2010065708A JP2010065708A JP5644150B2 JP 5644150 B2 JP5644150 B2 JP 5644150B2 JP 2010065708 A JP2010065708 A JP 2010065708A JP 2010065708 A JP2010065708 A JP 2010065708A JP 5644150 B2 JP5644150 B2 JP 5644150B2
Authority
JP
Japan
Prior art keywords
service
virtual machine
virtual
address
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010065708A
Other languages
English (en)
Other versions
JP2011198200A (ja
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 JP2010065708A priority Critical patent/JP5644150B2/ja
Priority to US13/049,042 priority patent/US8769040B2/en
Publication of JP2011198200A publication Critical patent/JP2011198200A/ja
Application granted granted Critical
Publication of JP5644150B2 publication Critical patent/JP5644150B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Description

本発明は、仮想マシンシステムを用いたサービス提供システムに関し、提供するサービスに応じて仮想マシンを効率的に稼働させるサービス提供システム、仮想マシンサーバ、サービス提供方法及びプログアラムに関する。
近年のPC(Personal computer)サーバマシンの高性能化に伴い、PCサーバの世界でも、計算機を仮想化した仮想マシンを実行する仮想マシンシステムの普及が急速に進んでいる。
仮想マシンシステムは、物理マシン上で稼働し、複数の仮想マシンを動作させるプラットフォームとなる。
仮想マシンは、大型計算機では古くからあり、計算機資源を集約して有効活用することが主な目的となる。この場合、複数台の計算機の代わりに、一台の計算機上で仮想マシンシステムを動作させ、仮想マシンシステム上で複数台の仮想マシンを動作させる構成となる。
PCサーバでの仮想マシンシステムについても、計算機資源の集約として利用されることが多い。加えて、近年のPCサーバでの仮想マシンシステムでは、ある仮想マシンシステム上で稼働中の仮想マシンを稼働したまま別の仮想マシンシステムに移動させる仮想マシンのマイグレーションという方式が使われ始めている。この仮想マシンのマイグレーションは、計算機資源の適正化等を行うために使用されている。
仮想マシンのマイグレーションは、サービス環境の柔軟性を高めるために便利である。例えば、サービスを提供する途中で、セキュリティ上の考慮が必要となった場合などに、該サービスを提供する仮想マシンをよりセキュアな場所にマイグレーションすることが可能となる。
特開2009−265894号公報 特開平5−088922号公報 特表2007−506169号公報
一方で、仮想マシンのマイグレーションは、仮想マシンを利用しているクライアントに対して、マイグレーション後でも引き続きサービスを提供できなければならないという制限があり、これがより柔軟性を高める上での課題となるだろうと考えられる。
例えば、複数のクライアントにサービスを提供している場合、マイグレーション先は、セキュリティ上の理由から、特定のクライアントからのみ
アクセス可能な位置とする、というようなことができないという課題がある。
(発明の目的)
本発明の目的は、上述した課題を解決し、仮想マシンのマイグレーションの柔軟性を高めることを可能とするサービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラムを提供することである。
本発明の第1のサービス提供システムは、所定のサービスを提供する1つ以上の仮想マシンと仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバと、仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末とを備え、仮想マシンサーバが、クライアント端末をIPアドレス及びポート番号の組でグループ化し、グループ毎にサービスを提供する仮想マシンを区別する手段を備える。
本発明の第1の仮想マシンサーバは、所定のサービスを提供する1つ以上の仮想マシンと仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバであって、仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、グループ毎にサービスを提供する仮想マシンを区別する手段を備える。
本発明の第1のサービス提供方法は、所定のサービスを提供する1つ以上の仮想マシンと仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供方法であって、仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、グループ毎にサービスを提供する仮想マシンを区別する。
本発明の第1のサービス提供プログラムは、所定のサービスを提供する1つ以上の仮想マシンと仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供プログラムであって、仮想マシンサーバに、仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、グループ毎にサービスを提供する仮想マシンを区別する処理を、実行させる。
本発明によれば、仮想マシンのマイグレーションの柔軟性を高めることができる。
本発明の第1の実施の形態によるサービス提供システムの構成を示すブロック図である。 第1の実施の形態によるサービス定義リストの構成例を示す図である。 第1の実施の形態によるグループ定義リストの構成例を示す図である。 第1の実施の形態によるサービス転送管理テーブルの構成例を示す図である。 第1の実施の形態によるネットワークフレームに対する仮想マシンシサーバ20の処理の動作を示すフローチャートである。 本発明の第1の実施例によるサービス提供システムの構成を示すブロック図である。 本発明の仮想マシンサーバのハードウェア構成例を示すブロック図である。
次に、本発明の実施の形態について、図面を参照して詳細に説明する。なお、すべての図面において、同様な構成要素には同様の符号を付し,適宜説明を省略する。
(第1の実施の形態)
まず、本発明の第1の実施の形態について、図面を参照して詳細に説明する。以下の図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
図1を参照すると、本実施の形態によるサービス提供システム100は、仮想マシンサーバ20と、1つ以上のクライアント端末10#1〜#Lから構成される。1つ以上のクライアント端末10#1〜#Lと仮想マシンサーバ20とはネットワークを介して互いに接続されている。
ここで、Lは1以上の任意の自然数であり、#1・・・#Lは、クライアント端末10の数を示している。
仮想マシンサーバ20は、仮想的な計算機である1つ以上の仮想マシン300#1〜300#Mと、計算機ハードウェアである仮想マシンサーバ20を制御すると同時に、仮想マシン300を動作させるプラットフォームである仮想マシンシステム200と、ネットワークに接続するための装置であるNIC(Network Interface Card)110から構成される。
ここで、Mは1以上の任意の自然数であり、#1・・・#Mは、仮想マシン300の数を示している。
仮想マシンサーバ20は、一般的な計算機ハードウェアであり、CPUやメモリなどの基盤部分と、ディスクなどのI/O装置から成るが、ここでは便宜上NIC(Network Interface Card)110以外は図示していない。
仮想マシンシステム200は、仮想マシンサーバ20を制御する機能を有する。仮想マシンシステム200は、仮想マシンサーバ20の制御に関し、オペレーティングシステム(OS)と同様の機能を有する。
また、仮想マシンシステム200は、仮想マシン300#1〜300#Mを動作させるプラットフォームとしての機能を有する。
仮想マシンシステム200は、仮想マシン300#Mの生成や解放、起動や停止、監視、スケジュール管理等を行う仮想マシン管理部210と、仮想マシン300#Mのための仮想ネットワーク機能を実現する仮想ネットワーク処理部220とを備える。
また、仮想マシンシステム200は、図1では省略しているが、他にも、仮想マシン300#Mのためのメモリ管理機能や、仮想マシン300#Mのためのストレージ管理機能を備える。メモリ管理機能やストレージ管理機能については、本発明の技術分野における当業者にとってよく知られており、本発明とは直接的には関係しないため、その詳細については省略する。
仮想マシン300#Mは、仮想的な計算機であり、一般的に、仮想CPUや仮想メモリ、仮想NICや仮想ディスク等により構成される。
仮想マシン300#Mは、自マシン上で動作して何らかの機能を提供するソフトウェアであるサーバプログラム310#Mと、仮想的なネットワークカードである仮想NIC320#Mとを備える。
仮想ネットワーク処理部220は、仮想マシン300#Mのための仮想ネットワーク機能を有する。
仮想ネットワーク処理部220は、仮想ネットワークスイッチ221と、サービス定義リスト224と、1つ以上のサービス対応仮想ネットワークスイッチ処理部222#1〜222#Nと、サービス対応ネットワークスイッチ管理手段223と、グループ管理手段225と、グループ定義リスト226とを備える。
ここで、Nは1以上の任意の自然数であり、#1・・・#Nは、サービス対応仮想ネットワークスイッチ処理部222の数を示している。
仮想ネットワークスイッチ処理部221は、ネットワークスイッチの処理を仮想化して処理を行う機能を有する。仮想ネットワークスイッチ処理手段221は既存の技術を用いることもできる。なお、仮想ネットワーク処理部220において、仮想ネットワークスイッチ処理手段221以外の部分は、本発明特有の要素である。
サービス定義リスト224は、サービスを区分するための定義を示したリストである。ここで、図2に、サービス定義リスト224の構成例を示す。図2を参照すると、サービス定義リスト224は、サービス識別名毎に、IPアドレスと、ポート番号一覧と、仮想マシン起動コマンドとを定義した構成である。サービス定義リスト224は不揮発性で、管理者や管理ツール等により作成され、図示しないディスク等に保存される。
図2の例では、3つのサービス(Service_a、Service_b1、Service_b2)が定義されている。すなわち、仮想マシンモニタ300#1〜300#Mは、該3つのサービスの何れかを提供する。
サービス識別名は、提供するサービスを一意に識別する名称である。
IPアドレスとポート番号一覧は、組み合わせて、サービスを一意に区分するための自サーバ(仮想マシンサーバ20)側のネットワークアドレス情報を示している。
すなわち、クライアント端末10#Lは、利用したいサービスに対応するIPアドレスとポート番号の組を宛先として仮想マシンサーバ20へ送信し、仮想マシンサーバ20は、該宛先とサービス定義リスト224とを用いてクライアント端末10#Lの要求サービスを認識する。
仮想マシン起動コマンドは、対応するサービスを提供するサーバプログラム310#Mを持つ仮想マシン300#Mを起動するコマンドである。
グループ定義リスト226は、グループを区分するための定義を示したリストである。ここで、図3に、グループ定義リスト226の構成例を示す。図3を参照すると、グループ定義リスト226は、グループ識別名毎に、IPアドレス一覧と、ポート番号一覧と、対応サービス一覧とを定義した構成である。グループ定義リスト226は不揮発性で、管理者や管理ツール等により作成され、図示しないディスク等に保存される。
グループ識別名は、クライアント端末10#Lが属するグループを一意に識別する名称である。
IPアドレス一覧は、クライアント端末10#Lが使用するIPアドレスの情報であり、ポート番号一覧は、クライアント端末10#Lが使用するポート番号の情報である。IPアドレス一覧とポート番号一覧の組は、クライアント端末10#Lのグループを一意に区分するための情報となる。
対応サービス一覧は、該グループが利用可能なサービス識別名の一覧である。
サービス対応仮想ネットワークスイッチ処理部222#Nは、サービス定義リスト224にて定義されているサービス毎に、ネットワークスイッチのスイッチ処理を仮想化して処理を行う機能を有する。
サービス対応仮想ネットワークスイッチ処理部222#Nは、後述するサービス対応ネットワークスイッチ管理手段223によって生成又は終了される。
また、サービス対応ネットワークスイッチ処理部222#Nは、サービス転送管理テーブル2221#Nと、サービス転送手段2222#Nとを含む。

サービス転送管理テーブル2221#Nは、クライアント端末10#Lからのネットワークフレームに対し、要求されたサービス識別名とクライアント端末10#Lの属するグループ識別名とから、転送先仮想マシン300#Mを決定するために使用テーブルである。
ここで、サービス転送管理テーブル2221#Nの構成例を図4に示す。図4を参照すると、サービス転送管理テーブル2221#Nは、サービス識別名と、グループ識別名と、仮想マシン識別名と、MACアドレスとからなる構成である。サービス転送管理テーブル2221#Nは、サービス識別名とグループ識別名との組に対して、対応する仮想マシンの識別名とMACアドレスを保持した構成である。
サービス転送管理テーブル2221#Nの各エントリは、仮想マシン300#Mの起動、終了に対応して、サービス対応ネットワークスイッチ管理手段223により追加、削除される。
サービス転送手段2222#Nは、サービス転送管理テーブル2221#Nに基づいてネットワークフレームの転送を行う機能を有する。
サービス転送手段2222#Nは、サービス定義リスト224を参照して、クライアント端末10#Lからのネットワークフレームに含まれる宛先アドレス(IPアドレス及びポート番号)と、サービス定義リスト224のIPアドレスとポート番号一覧の組とを比較し、サービス定義リスト224に適合するエントリがあるか調べる。
サービス定義リスト224に適合するエントリがある場合、サービス転送手段2222#Nは、該エントリのサービス識別名を、クライアント端末10#Lが要求したサービスのサービス識別名と特定する。
また、サービス転送手段2222#Nは、グループ定義リスト226を参照して、クライアント端末10#Lからのネットワークフレームに含まれる送信元アドレス(IPアドレス及びポート番号)と、グループ定義リスト226のIPアドレス一覧及びポート番号一覧の組とを比較し、グループ定義リスト226に適合するエントリがあるか調べる。
グループ定義リスト226に適合するエントリがある場合、サービス転送手段2222#Nは、該エントリのグループ識別名を、クライアント端末10#Lが属するグループのグループ名と特定する。
また、サービス転送手段2222#Nは、クライアント端末10#Lからのネットワークフレームに対してサービス識別名とグループ識別名を特定した後、サービス転送管理テーブル2221#Nを参照して、特定したサービス識別名とグループ識別名の組と、サービス転送管理テーブル2221#Nのサービス識別名とグループ識別名の組とを比較し、適合するエントリがあるか調べる。
適合するエントリがない場合、サービス転送手段2222は、サービス定義リスト224を参照して、特定したサービス識別名に対応する仮想マシン起動コマンドを特定し、該仮想マシン起動コマンドを仮想マシン管理部210に実行させる要求を行う。
また、サービス転送手段2222#Nは、ネットワークフレームに対して、MACアドレス変換(MAT)を行って、適切な仮想マシン300#Mに該ネットワークフレームの転送を行う。また、IPアドレスに対するARP(Address Resolution Protocol)処理を行う。
なお、本実施の形態ではMACアドレス変換(MAT)を使用しているが、MACアドレス変換に代えて、リバースプロキシを使用するようにしても良い。
この場合、仮想マシン300#1〜300#Mはそれぞれ別個のIPアドレスを持ち、それに合わせて、サービス転送管理テーブル2221#Nの仮想マシン300#Mに対するMACアドレス欄は、IPアドレス欄に変更する。
サービス対応ネットワークスイッチ管理手段223は、サービス対応仮想ネットワークスイッチ処理部222#Nの生成や終了などを管理する機能を有する。
サービス対応ネットワークスイッチ管理手段223は、サービス定義リスト224に格納されているIPアドレス毎に、該IPアドレスに対応するサービス対応仮想ネットワークスイッチ処理部222#Nを生成する。
また、サービス対応ネットワークスイッチ管理手段223は、仮想マシン300#Mが新たに起動すると、該仮想マシン300#Mと、対応するサービス対応仮想ネットワークスイッチ処理部222#Nとを接続する。
また、サービス対応ネットワークスイッチ管理手段223は、サービス転送管理テーブル2221#Nに、新しいエントリを追加又はエントリの削除を行う機能を有する。
グループ管理手段225は、利用者をグループとして区分して管理するための機能を有する。グループ管理手段225は、グループ定義リスト226の更新等を行う。
次に、ネットワーク構成について説明する。ネットワーク構成では、仮想マシンサーバ20のNIC110は、実ネットワークに接続され、クライアント端末10#Lとネットワークフレームの送受信が可能となっている。
仮想ネットワークスイッチ処理部221は、NIC110及びサービス対応仮想ネットワークスイッチ処理部222#Nと接続されている。
サービス対応仮想ネットワークスイッチ処理部222#Nは、仮想マシン300#Mと接続されており、クライアント端末10#Lからのサービス要求に対して、仮想マシン300#Nのサーバプログラム310#Nが、要求されたサービスを提供する仕組みとなっている。
(第1の実施の形態の動作の説明)
次に、本実施の形態によるサービス提供システム100の動作について、図面を参照して詳細に説明する。
クライアント端末10#Lからのネットワークフレームに対する仮想マシンシサーバ20の処理の動作について、図5を参照して詳細に説明する。図5は、クライアント端末10#Lからのネットワークフレームに対する仮想マシンシサーバ20の処理の動作を示したフローチャートである。
まず、クライアント端末10#Lからネットワークフレームを受信する(ステップS501)と、仮想ネットワークスイッチ処理部221が、ネットワークフレームに含まれるパケットの宛先IPアドレスを参照して、IPアドレスが一致するサービス対応仮想ネットワークスイッチ処理部222#Nへネットワークフレームを転送する(ステップS502)。
次いで、該ネットワークフレームを受け取ったサービス対応仮想ネットワークスイッチ処理部222#Nでは、サービス転送手段2222#Nが、サービス定義リスト224を参照し、該ネットワークフレームに含まれる宛先アドレス(IPアドレス及びポート番号)と、サービス定義リスト224のIPアドレスとポート番号一覧の組とを比較し、サービス定義リスト224に適合するエントリがあるか調べる(ステップS503)。
適合するエントリがある場合(ステップS504”YES”)、サービス転送手段2222#Nは、該エントリのサービス識別名を、クライアント端末10#Lが要求したサービスのサービス識別名と特定する(ステップS505)。
なお、適合するエントリがない場合(ステップS504”NO”)は、クライアント端末10#Lが要求したサービスが存在しないため、エラー処理を行い終了する(ステップS516)。
サービス識別名を特定した後、次いで、サービス転送手段2222#Nは、グループ定義リスト226を参照して、該ネットワークフレームに含まれるパケットの送信元アドレス(IPアドレス及びポート番号)と、グループ定義リスト226のIPアドレス一覧及びポート番号一覧の組とを比較し、グループ定義リスト226に適合するエントリがあるか調べる(ステップS506)。
適合するエントリがある場合(ステップS507”YES”)、サービス転送手段2222#Nは、該エントリのグループ識別名を、クライアント端末10#Lが属するグループのグループ名と特定する(ステップS508)。
なお、適合するエントリがない場合(ステップS507”NO”)は、クライアント端末10#Lはグループ定義リスト226の何れのグループにも属していないため、エラー処理を行い終了する(ステップS516)。
次いで、サービス転送手段2222#Nは、サービス転送管理テーブル2221を参照し、特定したサービス識別名とグループ識別名の組と、サービス転送管理テーブル2221#Nのサービス識別名とグループ識別名の組とを比較し、適合するエントリがあるか調べる(ステップS509)。
適合するエントリがない場合(ステップS510”NO”)、サービス転送手段2222#Nは、サービス定義リスト224を参照して、特定したサービス識別名に対応する仮想マシン起動コマンドを特定し、該仮想マシン起動コマンドを仮想マシン管理部210に実行させる要求を行い、仮想マシンを起動させる(ステップS511)。なお、ステップS510がNOの場合とは、クライアント端末10#Lが要求するサービスを提供するサーバプログラム301#Mを含む仮想マシン300は、存在していなかったという状況である。
仮想マシン300#Mが起動されると、次いで、サービス対応仮想ネットワークスイッチ管理手段223が、起動した該仮想マシン300#Mと、仮想マシンの起動を要求したサービス転送手段2222#Nを含むサービス対応仮想ネットワークスイッチ処理部222#Nとを接続する(ステップS512)。
さらに、サービス対応仮想ネットワークス位置管理手段223は、起動した仮想マシン300#Mの識別名と、仮想マシン300#Mの仮想NIC320#MのMACアドレスとを関連付けて、サービス転送管理テーブル2221#Nに、新しいエントリを追加する(ステップS513)。このとき、サービス識別名及びグループ識別名は、仮想マシン300#M起動のトリガとなったネットワークフレームで特定されたサービス識別名及びグループ識別名を用いる。
サービス転送管理テーブル2221#Nに適合するエントリがあった後(ステップS510”YES”)、若しくはサービス転送管理テーブル2221#Nに新しいエントリを追加した後(ステップS513)、次いで、サービス転送手段2222#Nは、適合するエントリ或いは追加したエントリを参照して、ネットワークフレームに含まれる宛先MACアドレスを、該エントリのMACアドレスに置き換える(ステップS514)。
なお、逆に仮想マシン300#M からのネットワークフレームについては、送信元MACアドレスを、サービス対応仮想ネットワークスイッチ処理部222#NのMACアドレスに変換する。これは、MACアドレス変換(MAT)に相当する。
次いで、サービス転送手段2222#Nは、該ネットワークフレームを適切な仮想マシン300#Mへ転送する(ステップS515)。
なお、仮想マシン300#Mからのネットワークフレームについての動作は本発明とは直接的には関係しないため、また、本発明の技術分野における当業者によれば容易に想到できるため、その詳細については省略する。
次に、具体的な実施例を用いて本実施の形態を説明する。
図6を参照すると、図6は、本実施例によるサービス提供システム100の構成を示すブロック図である。なお、仮想マシンサーバ20については説明の便宜上ネットワーク接続に関する部分のみ図示ししておりその他は省略しているが、構成そのものは図1に示す仮想マシンサーバ20と同様である。
本実施例では、クライアント端末10#1〜#6の6台構成とし、クライアント端末10#1とクライアント端末10#2、クライアント端末10#3とクライアント端末10#4、クライアント端末10#5とクライアント端末10#6が、それぞれGroup_x、Group_y1、Group_y2を構成する。
クライアント端末10#1はIPアドレスが「22.33.44.50」であり、クライアント端末10#2はIPアドレスが「22.33.44.51」である。
Group_y1とGroup_y2は、プロキシサーバ30経由で通信を行っており、IPアドレスはプロキシサーバ30のものが使用される。そして、プロキシサーバ30の側で、Group_y1からの通信をプロキシする場合は、ポート番号1001−2000を、Group_y2からの通信をプロキシする場合は、ポート番号2001−3000を自側アドレスに使用してプロキシ接続を行っている。グループ管理手段225は、該IPアドレス及びポート番号に基づき、グループ定義リスト226を参照して、グループの識別を行っている。
また、本実施例においては、図2のサービス定義リスト224、図3のサービス転送管理テーブル、及び図4のグループ定義リスト226の構成例をそのまま利用する。
ここで、図6は、Service_aを提供する仮想マシン300#1(VM1)と、同じくService_aを提供する仮想マシン300#2(VM2)と、Service_b1を提供する仮想マシン300#3(VM3)と、Service_b2を提供する仮想マシン300#4(VM4)が起動している。なお、仮想マシン300#1〜#4については、説明の便宜上本実施例においては以下VM1、VM2、VM3、VM4と称す。
サービス対応仮想ネットワークスイッチ処理部221#1及び#2は、サービス対応仮想ネットワークスイッチ管理手段223が、サービス定義リスト224のIPアドレス毎に生成したものである。図2に示すサービス定義リスト224を参照すると、サービス定義リストには、IPアドレス「11.22.33.44」と、「11.22.33.55」の2つが存在するため、サービス対応仮想ネットワークスイッチ処理部222#1及び222#2の2つが生成されており、それぞれ対応するIPアドレスを持つ。
VM1〜4は、 以降で説明するように、 サービス定義リスト224のサービス識別名を単位として、
必要な場合に存在する。ネットワーク構成としては、VM1〜3は、サービス対応仮想ネットワークスイッチ処理部222#1に接続され、VM4は、サービス対応仮想ネットワークスイッチ処理部222#2に接続されている。
図2のサービス定義リスト224を参照すると、Service_a及びService_b1はIPアドレス「11.22.33.44」に対応しており、Servie_b2はIPアドレス「11.22.33.55」に対応しているため、図6では、Service_a又はService_b1を提供するVM1〜3は、IPアドレス「11.22.33.44」を持つサービス対応仮想ネットワークスイッチ処理部222#1と接続されている。また、Service_b2を提供するVM4は、IPアドレス「11.22.33.55」を持つサービス対応仮想ネットワークスイッチ処理部222#2と接続されている。
なお、VM1〜4は、実際の利用者が現れてから、サービス転送手段2222#1又は2222#2がサービス定義リスト224の適応する仮想マシン起動コマンドを使用して生成する。仮想マシン300#Mは生成されると仮想マシンを識別する情報(図6ではVM1〜4)が付与される。
ここで、VM1〜4は、接続されるサービス対応仮想ネットワークスイッチ処理部222#Nと、同じIPアドレスとなる。図6においては、VM1〜4のIPアドレスの記載は省略しているが、VM1〜3はIPアドレス「11.22.33.44」を持ち、VM4はIPアドレス「11.22.33.55」を持つ。
また、サービス対応仮想ネットワークスイッチ処理部222#1又は222#2と、それに接続されているVM1〜3或いはVM4は、別個のMACアドレスを持つ。該MACアドレスは、仮想マシンシステム200の機能或いは管理者により割り当てられる。
例えば、図6においては、サービス対応仮想ネットワークスイッチ処理部222#1がMACアドレス「10:20:30:40:50:60」を持つのに対し、サービス対応仮想ネットワークスイッチ処理部222#1に接続されているVM1〜VM3は、それぞれMACアドレス「10:20:30:40:50:70」、「10:20:30:40:50:71」、「10:20:30:40:50:72」を持つ。
図4に示すサービス転送管理テーブル2221#1及び2221#2を参照すると、図6においては、Service_aは、Group_xに対してはVM1が提供し、Group_y1に対してはVM2が提供している。また、Service_b1は、Group_xに対してVM3が提供している。そして、Service_b2は、Group_y2に対してVM4が提供している。
なお、図3 に示すグループ定義リスト226では、Service_b1は、Group_y1も利用可能となっているが、図4及び図6を参照すると、本実施例では対応する仮想マシン300#Mは起動しておらず、Group_y1では、クライアント端末10#5及び10#6の何れもService_b1の提供を受けていないことを示している。
(第1の実施の形態による効果)
次に本実施の形態の効果について説明する。
本実施の形態によれば、所定のサービスを提供する仮想マシンについて、該所定のサービスを利用するクライアント端末をグループ化して、クライアント端末のグループ毎に該所定のサービスを提供する仮想マシンを分けることで、その仮想マシンをマイグレーションする対象の仮想マシンシステムの位置に柔軟性を持たせることが可能となる。
なお、本実施の形態では、サービスの利用者が現れてから、そのサービスを提供するサーバプログラム310#Mを持つ仮想マシン300#Mを起動していたが、仮想マシン300#Mをあらかじめ起動した状態としておいても良い。
次に、本発明の仮想マシンサーバ20のハードウェア構成例について、図7を参照して説明する。図7は仮想マシンサーバ20のハードウェア構成例を示すブロック図である。
図7を参照すると、仮想マシンサーバ20は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)801、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部802、ネットワークを介してデータの送受信を行う通信部803、入力装置805や出力装置806及び記憶装置807と接続してデータの送受信を行う入出力インタフェース部804、上記各構成要素を相互に接続するシステムバス808を備えている。記憶装置807は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
本発明の仮想マシンサーバ20の仮想マシンシステム200は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置807に格納し、そのプログラムを主記憶部802にロードしてCPU801で実行することにより、ソフトウェア的に実現することも可能である。
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバと、
前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末とを備え、
前記仮想マシンサーバが、前記クライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に前記サービスを提供する前記仮想マシンを区別する手段を備えることを特徴とするサービス提供システム。
(付記2)
前記仮想マシンシステムは、
前記仮想マシンのIPアドレスとポート番号の組を前記サービス毎に定義したサービス定義リストと、
前記クライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に利用可能な前記サービスを定義したグループ定義リストと、
前記サービス定義リストのIPアドレス毎に、ネットワークスイッチのスイッチ処理を仮想化して処理を行うサービス対応仮想ネットワークスイッチ処理手段を生成するサービス対応仮想ネットワークスイッチ管理手段を備え、
前記サービス対応仮想ネットワークスイッチ処理手段は、
前記サービスと前記グループの組毎に転送先の前記仮想マシンを定めたサービス転送管理テーブルと、
前記サービス転送管理テーブルに従い前記ネットワークフレームを所定の前記仮想マシンに転送するサービス転送手段とを備えることを特徴とする付記1に記載のサービス提供システム。
(付記3)
前記サービス転送手段は、
前記サービス定義リストを参照し、前記ネットワークフレームに含まれる宛先IPアドレス及びポート番号の組と、前記サービス定義リストのIPアドレス及びポート番号の組とを比較し、適合するサービスを特定し、
前記グループ定義リストを参照し、前記ネットワークフレームに含まれる送信元IPアドレス及びポート番号の組と、前記グループ定義リストのIPアドレス及びポート番号の組とを比較し、適合するグループを特定し、
特定した前記サービスと前記グループの組と、前記サービス転送管理テーブルのサービス及びグループの組とを比較し、転送先仮想マシンを特定することを特徴とする付記2に記載のサービス提供システム。
(付記4)
前記仮想マシンシステムは、仮想マシンの生成及び削除を行う仮想マシン管理手段を備え、
前記サービス定義リストは、前記サービス毎に、当該サービスを提供する前記仮想マシンの起動コマンドを定義し、
前記サービス転送手段は、
特定した前記サービスと前記グループの組と適合する前記仮想マシンが前記サービス転送管理テーブルにない場合に、前記サービスの前記起動コマンドを前記仮想マシン管理手段に実行させることを特徴とする付記2又は付記3に記載のサービス提供システム。
(付記5)
前記サービス対応仮想ネットワークスイッチ管理手段は、
前記仮想マシン管理手段が前記仮想マシンを起動した場合に、当該仮想マシンと、対応する前記サービス対応仮想ネットワークスイッチ処理手段とを接続し、
対応する前記サービス対応仮想ネットワークスイッチ処理手段が含む前記サービス転送管理テーブルに、当該仮想マシンについての情報を追加することを特徴とする付記4に記載のサービス提供システム。
(付記6)
前記サービス転送管理テーブルは、前記仮想マシン毎のMACアドレスを保持し、
前記サービス転送手段は、前記ネットワークフレームに対して、MACアドレス変換を行って、所定の前記仮想マシンに当該ネットワークフレームを転送することを特徴とする付記2から付記5の何れかに記載のサービス提供システム。
(付記7)
MACアドレス変換に代えて、リバースプロシキを使用することを特徴とする付記6に記載のサービス提供システム。
(付記8)
所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバであって、
前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に前記サービスを提供する前記仮想マシンを区別する手段を備えることを特徴とする仮想マシンサーバ。
(付記9)
前記仮想マシンシステムは、
前記仮想マシンのIPアドレスとポート番号の組を前記サービス毎に定義したサービス定義リストと、
前記クライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に利用可能な前記サービスを定義したグループ定義リストと、
前記サービス定義リストのIPアドレス毎に、ネットワークスイッチのスイッチ処理を仮想化して処理を行うサービス対応仮想ネットワークスイッチ処理手段を生成するサービス対応仮想ネットワークスイッチ管理手段を備え、
前記サービス対応仮想ネットワークスイッチ処理手段は、
前記サービスと前記グループの組毎に転送先の前記仮想マシンを定めたサービス転送管理テーブルと、
前記サービス転送管理テーブルに従い前記ネットワークフレームを所定の前記仮想マシンに転送するサービス転送手段とを備えることを特徴とする付記8に記載の仮想マシンサーバ。
(付記10)
前記サービス転送手段は、
前記サービス定義リストを参照し、前記ネットワークフレームに含まれる宛先IPアドレス及びポート番号の組と、前記サービス定義リストのIPアドレス及びポート番号の組とを比較し、適合するサービスを特定し、
前記グループ定義リストを参照し、前記ネットワークフレームに含まれる送信元IPアドレス及びポート番号の組と、前記グループ定義リストのIPアドレス及びポート番号の組とを比較し、適合するグループを特定し、
特定した前記サービスと前記グループの組と、前記サービス転送管理テーブルのサービス及びグループの組とを比較し、転送先仮想マシンを特定することを特徴とする付記9に記載の仮想マシンサーバ。
(付記11)
前記仮想マシンシステムは、仮想マシンの生成及び削除を行う仮想マシン管理手段を備え、
前記サービス定義リストは、前記サービス毎に、当該サービスを提供する前記仮想マシンの起動コマンドを定義し、
前記サービス転送手段は、
特定した前記サービスと前記グループの組と適合する前記仮想マシンが前記サービス転送管理テーブルにない場合に、前記サービスの前記起動コマンドを前記仮想マシン管理手段に実行させることを特徴とする付記9又は付記10に記載の仮想マシンサーバ。
(付記12)
前記サービス対応仮想ネットワークスイッチ管理手段は、
前記仮想マシン管理手段が前記仮想マシンを起動した場合に、当該仮想マシンと、対応する前記サービス対応仮想ネットワークスイッチ処理手段とを接続し、
対応する前記サービス対応仮想ネットワークスイッチ処理手段が含む前記サービス転送管理テーブルに、当該仮想マシンについての情報を追加することを特徴とする付記11に記載の仮想マシンサーバ。
(付記13)
前記サービス転送管理テーブルは、前記仮想マシン毎のMACアドレスを保持し、
前記サービス転送手段は、前記ネットワークフレームに対して、MACアドレス変換を行って、所定の前記仮想マシンに当該ネットワークフレームを転送することを特徴とする付記9から付記12の何れかに記載の仮想マシンサーバ。
(付記14)
MACアドレス変換に代えて、リバースプロシキを使用することを特徴とする付記13に記載の仮想マシンサーバ。
(付記15)
所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供方法であって、
前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に前記サービスを提供する前記仮想マシンを区別することを特徴とするサービス提供方法。
(付記16)
前記仮想マシンシステムは、
前記仮想マシンのIPアドレスとポート番号の組を前記サービス毎に定義したサービス定義リストと、
前記クライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に利用可能な前記サービスを定義したグループ定義リストとを含み、
前記サービス定義リストのIPアドレス毎に、ネットワークスイッチのスイッチ処理を仮想化して処理を行うサービス対応仮想ネットワークスイッチ処理であって、前記サービスと前記グループの組毎に転送先の前記仮想マシンを定めたサービス転送管理テーブルに従い前記ネットワークフレームを所定の前記仮想マシンに転送するサービス転送処理を行うサービス対応仮想ネットワークスイッチ処理を行うことを特徴とする付記15に記載のサービス提供方法。
(付記17)
前記サービス転送処理は、
前記サービス定義リストを参照し、前記ネットワークフレームに含まれる宛先IPアドレス及びポート番号の組と、前記サービス定義リストのIPアドレス及びポート番号の組とを比較し、適合するサービスを特定し、
前記グループ定義リストを参照し、前記ネットワークフレームに含まれる送信元IPアドレス及びポート番号の組と、前記グループ定義リストのIPアドレス及びポート番号の組とを比較し、適合するグループを特定し、
特定した前記サービスと前記グループの組と、前記サービス転送管理テーブルのサービス及びグループの組とを比較し、転送先仮想マシンを特定することを特徴とする付記16に記載のサービス提供方法。
(付記18)
前記仮想マシンシステムは、仮想マシンの生成及び削除を行う仮想マシン管理を行い、
前記サービス定義リストは、前記サービス毎に、当該サービスを提供する前記仮想マシンの起動コマンドを定義し、
前記サービス転送処理は、
特定した前記サービスと前記グループの組と適合する前記仮想マシンが前記サービス転送管理テーブルにない場合に、前記サービスの前記起動コマンドを前記仮想マシン管理処理に実行させることを特徴とする付記16又は付記17に記載のサービス提供方法。
(付記19)
前記サービス対応仮想ネットワークスイッチ管理処理は、
前記仮想マシン管理手段が前記仮想マシンを起動した場合に、当該仮想マシンと、対応する前記サービス対応仮想ネットワークスイッチ処理手段とを接続し、
対応する前記サービス対応仮想ネットワークスイッチ処理手段が含む前記サービス転送管理テーブルに、当該仮想マシンについての情報を追加することを特徴とする付記18に記載のサービス提供方法。
(付記20)
前記サービス転送管理テーブルは、前記仮想マシン毎のMACアドレスを保持し、
前記サービス転送処理は、前記ネットワークフレームに対して、MACアドレス変換を行って、所定の前記仮想マシンに当該ネットワークフレームを転送することを特徴とする付記16から付記19の何れかに記載のサービス提供方法。
(付記21)
MACアドレス変換に代えて、リバースプロシキを使用することを特徴とする付記20に記載のサービス提供方法。
(付記22)
所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供プログラムであって、
前記仮想マシンサーバに、
前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に前記サービスを提供する前記仮想マシンを区別する処理を、実行させることを特徴とするサービス提供プログラム。
(付記23)
前記仮想マシンシステムは、
前記仮想マシンのIPアドレスとポート番号の組を前記サービス毎に定義したサービス定義リストと、
前記クライアント端末をIPアドレス及びポート番号の組でグループ化し、前記グループ毎に利用可能な前記サービスを定義したグループ定義リストとを含み、
前記仮想マシンシステムに、
前記サービス定義リストのIPアドレス毎に、ネットワークスイッチのスイッチ処理を仮想化して処理を行うサービス対応仮想ネットワークスイッチ処理であって、前記サービスと前記グループの組毎に転送先の前記仮想マシンを定めたサービス転送管理テーブルに従い前記ネットワークフレームを所定の前記仮想マシンに転送するサービス転送処理を行うサービス対応仮想ネットワークスイッチ処理を、実行させることを特徴とする付記22に記載のサービス提供プログラム。
(付記24)
前記サービス転送処理は、
前記サービス定義リストを参照し、前記ネットワークフレームに含まれる宛先IPアドレス及びポート番号の組と、前記サービス定義リストのIPアドレス及びポート番号の組とを比較し、適合するサービスを特定し、
前記グループ定義リストを参照し、前記ネットワークフレームに含まれる送信元IPアドレス及びポート番号の組と、前記グループ定義リストのIPアドレス及びポート番号の組とを比較し、適合するグループを特定し、
特定した前記サービスと前記グループの組と、前記サービス転送管理テーブルのサービス及びグループの組とを比較し、転送先仮想マシンを特定することを特徴とする付記23に記載のサービス提供プログラム。
(付記25)
前記仮想マシンシステムに、仮想マシンの生成及び削除を行う仮想マシン管理を実行させ、
前記サービス定義リストは、前記サービス毎に、当該サービスを提供する前記仮想マシンの起動コマンドを定義し、
前記サービス転送処理は、
特定した前記サービスと前記グループの組と適合する前記仮想マシンが前記サービス転送管理テーブルにない場合に、前記サービスの前記起動コマンドを前記仮想マシン管理処理に実行させることを特徴とする付記23又は付記24に記載のサービス提供プログラム。
(付記26)
前記サービス対応仮想ネットワークスイッチ管理処理は、
前記仮想マシン管理手段が前記仮想マシンを起動した場合に、当該仮想マシンと、対応する前記サービス対応仮想ネットワークスイッチ処理手段とを接続し、
対応する前記サービス対応仮想ネットワークスイッチ処理手段が含む前記サービス転送管理テーブルに、当該仮想マシンについての情報を追加することを特徴とする付記25に記載のサービス提供プログラム。
(付記27)
前記サービス転送管理テーブルは、前記仮想マシン毎のMACアドレスを保持し、
前記サービス転送処理は、前記ネットワークフレームに対して、MACアドレス変換を行って、所定の前記仮想マシンに当該ネットワークフレームを転送することを特徴とする付記23から付記26の何れかに記載のサービス提供プログラム。
(付記28)
MACアドレス変換に代えて、リバースプロシキを使用することを特徴とする付記27に記載のサービス提供プログラム。
100:サービス提供システム
10:クライアント端末
20:仮想マシンサーバ
110:NIC
200:仮想マシンシステム
210:仮想マシン管理部
220:仮想ネットワーク処理部
221:仮想ネットワークスイッチ処理部
222:サービス対応仮想ネットワークスイッチ処理部
2221:サービス転送管理テーブル
2222:サービス転送手段
223:サービス対応仮想ネットワークスイッチ管理手段
224:サービス定義リスト
225:グループ管理手段
226:グループ定義リスト
300:仮想マシン
310:サーバプログラム
320:仮想NIC
801:CPU
802:主記憶部
803:通信部
804:入出力インタフェース部
805:入力装置
806:出力装置
807:記憶装置
808:システムバス

Claims (10)

  1. 所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバと、
    前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末とを備え、
    前記仮想マシンシステムは、サービス対応仮想ネットワークスイッチ処理手段を前記仮想マシンのIPアドレス毎に生成し、
    前記サービス対応仮想ネットワークスイッチ処理手段は、ネットワークスイッチのスイッチ処理を仮想化し、前記クライアント端末をIPアドレス及びポート番号の組でグループ化したグループと前記サービスとの組のそれぞれに対応する前記仮想マシンに、前記ネットワークフレームを転送する
    ことを特徴とするサービス提供システム。
  2. 前記仮想マシンシステムは、前記仮想マシンのIPアドレスとポート番号の組を前記サービス毎に定義したサービス定義リストと、前記グループ毎に利用可能な前記サービスを定義したグループ定義リストとに基づいて、前記サービス対応仮想ネットワークスイッチ処理手段を生成し、
    前記サービス対応仮想ネットワークスイッチ処理手段は、
    前記サービスと前記グループの組毎に転送先の前記仮想マシンを定めたサービス転送管理テーブルに基づいて前記ネットワークフレームを所定の前記仮想マシンに転送する
    ことを特徴とする請求項1に記載のサービス提供システム。
  3. 前記サービス対応仮想ネットワークスイッチ処理は
    前記サービス定義リストを参照し、前記ネットワークフレームに含まれる宛先IPアドレス及びポート番号の組と、前記サービス定義リストのIPアドレス及びポート番号の組とを比較し、適合するサービスを特定し、
    前記グループ定義リストを参照し、前記ネットワークフレームに含まれる送信元IPアドレス及びポート番号の組と、前記グループ定義リストのIPアドレス及びポート番号の組とを比較し、適合するグループを特定し、
    特定した前記サービスと前記グループの組と、前記サービス転送管理テーブルのサービス及びグループの組とを比較し、転送先仮想マシンを特定する
    ことを特徴とする請求項2に記載のサービス提供システム。
  4. 前記仮想マシンシステムは、仮想マシンの生成及び削除を行う仮想マシン管理手段を備え、
    前記サービス定義リストは、前記サービス毎に、当該サービスを提供する前記仮想マシンの起動コマンドを定義し、
    前記サービス対応仮想ネットワークスイッチ処理は
    特定した前記サービスと前記グループの組と適合する前記仮想マシンが前記サービス転送管理テーブルにない場合に、前記サービスの前記起動コマンドを前記仮想マシン管理手段に実行させる
    ことを特徴とする請求項2又は請求項3に記載のサービス提供システム。
  5. 前記仮想マシンシステムは
    前記仮想マシン管理手段が前記仮想マシンを起動した場合に、当該仮想マシンと、対応する前記サービス対応仮想ネットワークスイッチ処理手段とを接続し、
    対応する前記サービス対応仮想ネットワークスイッチ処理手段が含む前記サービス転送管理テーブルに、当該仮想マシンについての情報を追加する
    ことを特徴とする請求項4に記載のサービス提供システム。
  6. 前記サービス転送管理テーブルは、前記仮想マシンによるMACアドレスを保持し、
    前記サービス対応仮想ネットワークスイッチ処理は、前記ネットワークフレームに対して、MACアドレス変換を行って、所定の前記仮想マシンに当該ネットワークフレームを転送する
    ことを特徴とする請求項2から請求項5の何れか1項に記載のサービス提供システム。
  7. MACアドレス変換に代えて、リバースプロキシを使用することを特徴とする請求項6に記載のサービス提供システム。
  8. 所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバであって、
    前記仮想マシンシステムは、サービス対応仮想ネットワークスイッチ処理手段を前記仮想マシンのIPアドレス毎に生成し、
    前記サービス対応仮想ネットワークスイッチ処理手段は、ネットワークスイッチのスイッチ処理を仮想化し、前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化したグループと前記サービスとの組のそれぞれに対応する前記仮想マシンに、前記ネットワークフレームを転送する
    ことを特徴とする仮想マシンサーバ。
  9. 所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供方法であって、
    前記仮想マシンシステムは、前記仮想マシンのIPアドレス毎に、
    ネットワークスイッチのスイッチ処理を仮想化し、
    前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、
    グループ化された前記グループと前記サービスとの組のそれぞれに対応する前記仮想マシンに、前記ネットワークフレームを転送する
    ことを特徴とするサービス提供方法。
  10. 所定のサービスを提供する1つ以上の仮想マシンと前記仮想マシンを制御する仮想マシンシステムを備える仮想マシンサーバのサービス提供プログラムであって、
    前記仮想マシンサーバに、前記仮想マシンのIPアドレス毎に、
    ネットワークスイッチのスイッチ処理を仮想化し、
    前記仮想マシンにネットワークフレームによるサービス要求を行う1つ以上のクライアント端末をIPアドレス及びポート番号の組でグループ化し、
    グループ化された前記グループと前記サービスとの組のそれぞれに対応する前記仮想マシンに、前記ネットワークフレームを転送する処理を、実行させる
    ことを特徴とするサービス提供プログラム。
JP2010065708A 2010-03-23 2010-03-23 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム Expired - Fee Related JP5644150B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010065708A JP5644150B2 (ja) 2010-03-23 2010-03-23 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム
US13/049,042 US8769040B2 (en) 2010-03-23 2011-03-16 Service providing system, a virtual machine server, a service providing method, and a program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010065708A JP5644150B2 (ja) 2010-03-23 2010-03-23 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム

Publications (2)

Publication Number Publication Date
JP2011198200A JP2011198200A (ja) 2011-10-06
JP5644150B2 true JP5644150B2 (ja) 2014-12-24

Family

ID=44657832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010065708A Expired - Fee Related JP5644150B2 (ja) 2010-03-23 2010-03-23 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム

Country Status (2)

Country Link
US (1) US8769040B2 (ja)
JP (1) JP5644150B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407366B2 (en) * 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
US8621496B2 (en) * 2011-04-05 2013-12-31 Netapp, Inc. Decoupled application program-operating system computing architecture
US8958298B2 (en) 2011-08-17 2015-02-17 Nicira, Inc. Centralized logical L3 routing
JP5891900B2 (ja) * 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
US9396034B2 (en) * 2012-07-30 2016-07-19 Hewlett Packard Enterprise Development Lp Job placement based on modeling of job slots
US9424228B2 (en) * 2012-11-01 2016-08-23 Ezchip Technologies Ltd. High performance, scalable multi chip interconnect
EP2960784A4 (en) * 2013-02-21 2016-09-14 Nec Corp VIRTUALIZATION SYSTEM
US9069608B2 (en) * 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
CN103763610B (zh) * 2013-12-27 2018-10-30 华为技术有限公司 一种远程桌面的重定向方法及装置
JP6436103B2 (ja) * 2014-02-12 2018-12-12 日本電気株式会社 情報処理装置、通信方法、ネットワーク制御装置、ネットワーク制御方法、通信システムおよびプログラム
WO2015122177A1 (ja) * 2014-02-12 2015-08-20 日本電気株式会社 情報処理装置、通信方法、ネットワーク制御装置、ネットワーク制御方法、およびプログラム
US20170054637A1 (en) * 2014-02-12 2017-02-23 Nec Corporation Information processing apparatus, communication method, network control apparatus, network control method, communication system, and program
EP3133794B1 (en) 2014-05-15 2019-04-03 Huawei Technologies Co., Ltd. Network function virtualization network system
WO2015199685A1 (en) 2014-06-25 2015-12-30 Hewlett Packard Development Company, L.P. Network function virtualization
CN105407056B (zh) * 2014-09-16 2019-04-26 中国电信股份有限公司 一种软件定义网络中的业务链建立方法及***
CN106549793B (zh) * 2015-09-23 2020-08-07 华为技术有限公司 流量控制方法及设备
EP3422771B1 (en) * 2016-04-01 2020-05-27 Huawei Technologies Co., Ltd. Group communication method and device
CN107423114B (zh) * 2017-07-17 2020-12-22 中国科学院软件研究所 一种基于服务分类的虚拟机动态迁移方法
US11048536B2 (en) * 2017-11-28 2021-06-29 Microsoft Technology Licensing, Llc High availability cloud service provision
US11115324B2 (en) 2019-08-27 2021-09-07 Nokia Solutions Networks Oy System and method for performing segment routing over an MPLS network
CN110597598B (zh) * 2019-09-16 2023-07-14 电子科技大学广东电子信息工程研究院 一种云环境中的虚拟机迁移的控制方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445704B1 (en) * 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
US20020143965A1 (en) * 2001-04-03 2002-10-03 International Business Machines Corporation Server application initiated affinity within networks performing workload balancing
US20020143953A1 (en) * 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
JP2006252214A (ja) * 2005-03-11 2006-09-21 Onkyo Corp 自動ネットワーク接続機能付きクライアントまたはコントローラおよびネットワーク接続プログラム
US7996834B2 (en) * 2006-04-14 2011-08-09 Microsoft Corporation Virtual machine self-service restrictions
JP4293234B2 (ja) * 2006-12-05 2009-07-08 日本電気株式会社 シンクライアントにおける接続管理方法及び接続管理サーバ
US8312154B1 (en) * 2007-06-18 2012-11-13 Amazon Technologies, Inc. Providing enhanced access to remote services
JP4488077B2 (ja) * 2008-02-29 2010-06-23 日本電気株式会社 仮想化システム、仮想化方法、及び仮想化用プログラム
JP4618455B2 (ja) * 2008-04-09 2011-01-26 日本電気株式会社 端末装置、ネットワーク接続方法及びプログラム
US8365167B2 (en) * 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
JP5293580B2 (ja) * 2009-03-19 2013-09-18 日本電気株式会社 ウェブサービスシステム、ウェブサービス方法及びプログラム
US20110131330A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Collocating desktop virtual machines to proximity of the user

Also Published As

Publication number Publication date
JP2011198200A (ja) 2011-10-06
US8769040B2 (en) 2014-07-01
US20110239216A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP5644150B2 (ja) サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US11372802B2 (en) Virtual RDMA switching for containerized applications
US9935920B2 (en) Virtualization gateway between virtualized and non-virtualized networks
JP5222651B2 (ja) 仮想計算機システムおよび仮想計算機システムの制御方法
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
JP7034187B2 (ja) データ処理方法、ネットワークインタフェースカード、及びサーバ
CN107707622B (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
US20130047157A1 (en) Information processing apparatus and interrupt control method
JP2018523932A (ja) 負荷バランシングコンピュータデバイス、システム、および方法
WO2015043147A1 (zh) 一种虚拟机内存数据的迁移方法及相关装置和集群***
WO2009005966A2 (en) Virtual desktop integration with terminal services
JP2013137650A (ja) 情報処理装置および通信制御方法
CN112910685B (zh) 实现对容器网络统一管理的方法及装置
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
CN108632354A (zh) 物理机纳管方法、装置及云桌面管理平台
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
WO2021258861A1 (zh) 一种作业处理方法以及相关设备
JP5930181B2 (ja) 通信制御装置、通信制御方法および通信制御プログラム
US11601515B2 (en) System and method to offload point to multipoint transmissions
TWM440467U (en) Cloud platform integration system
JP2013207386A (ja) 通信制御システム、通信制御方法及び通信制御プログラム
JP7212158B2 (ja) プロバイダネットワークサービス拡張
JP2017005518A (ja) ネットワークシステム
MacCormac et al. Implementation of a Systemto Support Mobile Computing Sessions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20131010

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees