JP5682932B2 - 制御サーバ、制御方法及び制御プログラム - Google Patents

制御サーバ、制御方法及び制御プログラム Download PDF

Info

Publication number
JP5682932B2
JP5682932B2 JP2012044035A JP2012044035A JP5682932B2 JP 5682932 B2 JP5682932 B2 JP 5682932B2 JP 2012044035 A JP2012044035 A JP 2012044035A JP 2012044035 A JP2012044035 A JP 2012044035A JP 5682932 B2 JP5682932 B2 JP 5682932B2
Authority
JP
Japan
Prior art keywords
virtual
user
identification information
virtual machine
user 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.)
Active
Application number
JP2012044035A
Other languages
English (en)
Other versions
JP2013183203A (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.)
Nippon Telegraph and Telephone Corp
Inter University Research Institute Corp Research Organization of Information and Systems
Original Assignee
Nippon Telegraph and Telephone Corp
Inter University Research Institute Corp Research Organization of Information and Systems
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 Nippon Telegraph and Telephone Corp, Inter University Research Institute Corp Research Organization of Information and Systems filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012044035A priority Critical patent/JP5682932B2/ja
Publication of JP2013183203A publication Critical patent/JP2013183203A/ja
Application granted granted Critical
Publication of JP5682932B2 publication Critical patent/JP5682932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、制御サーバ、制御方法及び制御プログラムに関する。
近年、仮想化技術を利用して、クラウドコンピューティングなど多数のサーバを用いて自律分散処理を実行する大規模分散処理が普及している。また、仮想マシンや仮想デスクトップを用いる技術がある。例えば、仮想デスクトップを用いる技術では、大規模分散処理システムのサーバにユーザにより用いられる仮想マシンが作成され、アプリケーションの実行やデータ保存などの処理を行う。また、仮想デスクトップを用いる技術では、ユーザ端末は、サーバから転送されるリモートデスクトップの画面を表示する。言い換えると、ユーザ端末の役割は、ユーザインタフェースをユーザに提供することになる。
また、仮想デスクトップや仮想マシンを、仮想化されたネットワークに接続する手法もある。ネットワークの仮想化技術としては、例えば、IEEE(Institute of Electrical and Electronics Engineers、 )802.1Q、VLAN(Virtual Local Area Network)、GRE(Generic Routing Encapsulation)トンネルなどがある。
RFC 1701 Generic Routing Encapsulation (GRE)、October 1994 「特集1 「仮想化?関係ないね」と思うべからず」、日経NETWORK、2011年10月号 p.44−p47
ここで、例えば、オフィスにおけるネットワーク環境を考えると、1人のユーザが複数のプロジェクトに参加し、状況に応じてプロジェクト単位の適切なサーバにアクセスする場合がある。かかる場合にセキュリティを実現する手法としては、例えば、ネットワークレベルで隔離する手法やアプリケーションレベルで隔離する手法が考えられる。もっとも、前者の手法によれば、ネットワーク毎に端末を複数台用意し、ユーザは、端末を切り替えながら作業を行うといった不便が発生するおそれがある。また、後者の手法によれば、ネットワークレベルでセキュリティを実現できないおそれがある。この点、上述したように、仮想デスクトップや仮想マシンを仮想化されたネットワークに接続する手法もあるが、この手法の場合、仮想マシンと仮想ネットワークとの接続作業が複雑であるという問題がある。例えば、仮想デスクトップや仮想マシンにおいては、特定の仮想デスクトップ等を1つの仮想ネットワークに接続させる場合、接続させる全ての仮想デスクトップ等のインタフェースに対して仮想ネットワークの設定を行う必要があり、設定作業が複雑となる。この結果、例えば、接続作業をユーザが行うことは困難であり、仮想デスクトップや仮想マシンのインタフェース情報を把握している運用者が時間をかけて行うことになる。
開示の技術は、上述に鑑みてなされたものであって、仮想マシンと仮想ネットワークとの接続作業をユーザや運用者が簡単に実行可能となる制御サーバ、制御方法及び制御プログラムを提供することを目的とする。
開示する制御サーバは、1つの態様において、ユーザを識別するユーザ識別情報と、ユーザに用いられる仮想マシンのインタフェースを識別する仮想マシンインタフェース識別情報とを対応付けて記憶する仮想マシン情報記憶部を備える。また、制御サーバは、ユーザグループを識別するユーザグループ識別情報と、ユーザグループにより用いられる仮想ネットワークを識別する仮想ネットワーク識別情報とを対応付けて記憶するユーザグループ情報記憶部を備える。また、制御サーバは、ユーザ識別情報とユーザグループ識別情報とを含む接続要求を受信する受信部を備える。また、制御サーバは、受信部により受信された接続要求に含まれるユーザ識別情報を検索キーとして、仮想マシン情報記憶部から仮想マシンインタフェース識別情報を取得する仮想マシンインタフェース取得部を備える。また、制御サーバは、受信部により受信された接続要求に含まれるユーザグループ識別情報を検索キーとして、ユーザグループ情報記憶部から仮想ネットワーク識別情報を取得する仮想ネットワーク取得部を備える。また、制御サーバは、仮想ネットワーク取得部により取得された仮想ネットワーク識別情報により識別される仮想ネットワークと、仮想マシンインタフェース取得部により取得された仮想マシンインタフェース識別情報により識別される仮想マシンインタフェースとを接続する接続処理を実行するネットワーク制御部を備える。
開示する制御サーバの1つの態様によれば、仮想マシンと仮想ネットワークとの接続作業をユーザや運用者が簡単に実行可能となるという効果を奏する。例えば、1つの態様によれば、物理ネットワークとは独立に作成される仮想ネットワークは、ユーザやユーザグループの単位で作成されることが可能である。また、1つの態様によれば、ユーザ自らの操作によって、プロジェクト単位の仮想ネットワークの作成や削除、選択が可能である。このように、1つの態様によれば、ネットワークレベルでのセキュリティを容易に実現することが可能となる。
図1は、実施例1に係る制御サーバの構成の一例について説明するためのブロック図である。 図2は、実施例1における仮想テーブルに記憶された情報の一例を説明するための図である。 図3は、実施例1におけるユーザグループテーブルに記憶された情報の一例を説明するための図である。 図4Aは、実施例1における仮想スイッチテーブルに記憶された情報の一例を説明するための図である。 図4Bは、実施例1における仮想ポートテーブルに記憶された情報の一例を説明するための図である。 図5は、実施例1におけるグループテーブルに記憶された情報の一例を説明するための図である。 図6は、実施例1におけるリソーステーブルに記憶された情報の一例を説明するための図である。 図7は、実施例1におけるユーザ登録要求受信時における処理の流れの一例を説明するためのシーケンス図である。 図8は、実施例1におけるユーザグループ作成要求受信時における処理の流れの一例を説明するためのシーケンス図である。 図9は、実施例1におけるユーザ追加要求受信時における処理の流れの一例を説明するためのシーケンス図である。 図10は、実施例1におけるユーザグループ参加要求受信時における処理の流れの一例を説明するためのシーケンス図である。 図11は、実施例1におけるログアウト時のユーザグループからの切断処理の流れの一例を説明するためのシーケンス図である。 図12は、実施例1における仮想デスクトップ再配置要求受信時における処理の流れの一例を説明するためのシーケンス図である。 図13は、一連の処理を実行するためのプログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
以下に、開示する制御サーバ、制御方法及び制御プログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[制御サーバの構成]
図1は、実施例1に係る制御サーバの構成の一例について説明するためのブロック図である。図1に示す例では、説明の便宜上、ユーザ端末200とサーバコンピュータ300とを併せて示した。なお、図1に示す例では、記載の便宜上、1つのユーザ端末200を記載したが、これに限定されるものではなく、任意の数あって良い。また、図1に示す例では、記載の便宜上、n個のサーバコンピュータ300を記載した。ここで、「n」は任意の自然数である。以下では、ユーザ端末200とサーバコンピュータ300とについて簡単に説明した上で、制御サーバ100について詳細に説明する。
ユーザ端末200は、ネットワークを介してユーザ端末200とサーバコンピュータ300と接続される。ユーザ端末200は、ユーザによって用いられる端末である。ユーザ端末200は、ユーザにユーザインタフェースを提供し、ユーザから各種操作を受け付ける。ユーザ端末200は、例えば、ユーザインタフェースをユーザに提供するシンクライアント端末である。
また、ユーザ端末200は、仮想デスクトップがサーバコンピュータ300に作成された仮想マシンから提供される。また、ユーザ端末200とサーバコンピュータ300との間のネットワークは、適宜、ネットワークの仮想化技術が適用される。ネットワークの仮想化技術とは、例えば、IEEE(Institute of Electrical and Electronics Engineers)802.1Q VLAN(Virtual Local Area Network)やGRE(Granular Recovery Extension)トンネルなどである。
サーバコンピュータ300は、ネットワークを介してユーザ端末200と制御サーバ100と接続される。サーバコンピュータ300は、ユーザの各種操作に対応するアプリケーションの実行やデータ保存などの処理の一部又は全てを実行する。サーバコンピュータ300は、例えば、他のサーバコンピュータ300と協働して自律分散処理を実行する大規模分散処理を実行する。サーバコンピュータ300は、複数の異なる拠点に配置されており、仮想マシンは、任意の拠点に配置されたサーバコンピュータ300に作成される。
ここで、サーバコンピュータ300に設けられる仮想マシンについて補足する。サーバコンピュータ300に設けられる仮想マシンには、例えば、ユーザにより用いられる仮想マシンであって、ユーザ端末200に仮想デスクトップを提供する仮想マシンがある。ユーザにより用いられる仮想マシンは、ユーザと1対1の関係をとる。
また、サーバコンピュータ300に設けられる仮想マシンには、ユーザグループにより用いられ、いわば共用サーバとして用いられる仮想マシンもある。ユーザグループにより用いられる仮想マシンは、1つの仮想ネットワークと接続され、一人又は複数のユーザにより用いられる。例えば、ユーザにより用いられる1つ又は複数の仮想マシンと接続される。
図1に示す例では、サーバコンピュータ300は、ハイパーバイザ301と、仮想スイッチ302と、仮想ポート303とを有する。また、サーバコンピュータ300は、1つ又は複数の仮想マシン304及び仮想IF(InterFace)305、1つ又は複数の仮想デスクトップ306及び仮想IF305を有する。また、サーバコンピュータ300は、仮想マシンや仮想デスクトップをユーザ端末200に提供する。
なお、以下では、図1に示すように、サーバコンピュータ300がハイパーバイザ301を有する場合を用いて説明するが、これに限定されるものではなく、ハイパーバイザ301を有さなくても良い。ハイパーバイザ301を有さない場合、サーバコンピュータ300は、仮想化のための専用のOS(Operating System)を用意することなく、任意のOSを起動した上で、起動した任意のOS上に1つ又は複数の仮想マシンや仮想デスクトップを作成するようにしても良い。
なお、ユーザ端末200は、例えば、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS(Personal Handyphone System)端末、シンクライアント端末、移動体通信端末又はPDA(Personal Digital Assistant)などの情報処理装置である。また、サーバコンピュータ300は、例えば、ワークステーションやサーバなどである。ユーザ端末200やサーバコンピュータ300の構成は、公知のユーザ端末やサーバコンピュータの構成を用いて実現して良い。
制御サーバ100について説明する。制御サーバ100は、以下に詳細に説明する一連の処理を実行することで、仮想マシンと仮想ネットワークとの接続作業をユーザや運用者が簡単に実行可能となる。具体的には、仮想デスクトップを含む仮想マシンを仮想ネットワークに接続させる際の設定を、ユーザ及びユーザグループの単位で制御・管理することができ、運用者だけでなく、エンドユーザによっても簡単に設定可能となる。
図1に示すように、制御サーバ100は、記憶部110と、制御部120とを有する。記憶部110、制御部120と接続される。記憶部110は、制御部120による各種処理に用いるデータを記憶する。記憶部110は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、又は、ハードディスクや光ディスクなどである。図1に示す例では、記憶部110は、仮想マシンテーブル111と、ユーザグループテーブル112と、仮想スイッチテーブル113と、仮想ポートテーブル114と、グループテーブル115と、リソーステーブル116とを有する。
仮想マシンテーブル111は、ユーザを一意に識別するユーザ識別情報と、ユーザに用いられる仮想マシンのインタフェースを一意に識別する仮想マシンインタフェース識別情報とを対応付けて記憶する。仮想マシンテーブル111を「仮想マシン情報記憶部」とも称し、ユーザ識別情報を「ユーザID」とも称し、仮想マシンインタフェース識別情報を「仮想インタフェースID」とも称する。
図2は、実施例1における仮想テーブルに記憶された情報の一例を説明するための図である。図2に示す例では、仮想マシンテーブル111は、「ユーザID」と「仮想デスクトップID」と「仮想インタフェースID」と「ログイン状態」とを対応付けて記憶する。「ユーザID」は、ユーザを一意に識別する識別情報である。「仮想デスクトップID」は、ユーザに割り当てられた仮想デスクトップを一意に識別する識別情報である。上述したように、仮想デスクトップは、サーバコンピュータ300に作成された仮想マシンにより提供され、ユーザにより用いられる仮想マシンとユーザとは1対1の関係をとる。このため、「仮想デスクトップID」は、ユーザにより用いられる仮想マシンも一意に識別することになる。「仮想インタフェースID」は、仮想マシンの仮想インタフェースを一意に識別する識別情報である。「ログイン状態」は、ユーザが仮想マシンにログイン状態にあるか否かを示す情報である。図2に示す例では、ユーザがログインしている場合には、ログイン状態「IN」と称し、ユーザがログインしている場合には、ログイン状態「OUT」と記載したが、これに限定されるものではなく、任意の記載を用いて良い。また、図2に示す例では、仮想マシンテーブル111が、「ログイン状態」を記憶する場合を示したが、これに限定されるものではなく、「ログイン状態」を記憶しなくても良い。
図2に示す例では、仮想マシンテーブル111は、ユーザID「User−A」と仮想デスクトップID「VD−A」と仮想インタフェースID「VIF−A」とログイン状態「IN」とを対応付けて記憶する。言い換えると、仮想マシンテーブル111は、ユーザ「User−A」に対して、仮想インタフェース「VIF−A」を有する仮想デスクトップ「VD−A」が割り当てられていることを記憶し、ユーザがログインしていることを記憶している。
なお、以下では、ユーザID「User−A」により識別されるユーザをユーザ「User−A」とも記載する。また、同様に、仮想ネットワークID「VIF−A」により識別される仮想ネットワークを仮想ネットワーク「VIF−A」とも記載し、仮想デスクトップID「VD−A」により識別される仮想デスクトップを仮想デスクトップ「VD−A」とも記載する。
ここで、ユーザと仮想デスクトップとの関係について説明する。仮想デスクトップは、例えば、サーバコンピュータ300に作成された仮想マシンによりユーザ端末200に提供される仮想デスクトップ機能である。仮想デスクトップとユーザとは、1対1の関係となるものとして説明する。図2に示す例では、仮想デスクトップ「VD−A」は、ユーザ「User−A」にのみ用いられるものとして説明する。
仮想マシンテーブル111に記憶された情報は、後述するデスクトップ制御部126によって管理される。具体的には、詳細については後述するように、仮想マシンテーブル111は、制御サーバ100がユーザ登録情報を受信すると、デスクトップ制御部126によって新たなレコードが格納される。また、詳細については後述するように、仮想マシンテーブル111は、制御サーバ100がユーザ抹消要求を受信すると、デスクトップ制御部126によってレコードが削除される。
なお、ユーザ登録要求は、ユーザIDとユーザを認証するための認証情報を指定した上で、ユーザを認証するユーザ管理部122にユーザについての情報を登録するとともに、仮想デスクトップを作成する旨の要求である。ユーザ抹消要求は、ユーザIDを指定した上で、指定されたユーザIDに対応する仮想デスクトップを削除するとともに、ユーザ管理部122に登録されたユーザについての情報を削除する旨の要求である。
ユーザグループテーブル112は、ユーザグループを一意に識別するユーザグループ識別情報と、ユーザグループにより用いられる仮想ネットワークを一意に識別する仮想ネットワーク識別情報とを対応付けて記憶する。ユーザグループテーブル112を「ユーザグループ情報記憶部」とも称する。ユーザグループ識別情報を「ユーザグループID」とも称する。
図3は、実施例1におけるユーザグループテーブルに記憶された情報の一例を説明するための図である。図3に示す例では、ユーザグループテーブル112は、ユーザグループID「Group−X」と仮想ネットワークID「VNW−X」とを含むレコードを記憶する。言い換えると、ユーザグループテーブル112は、ユーザグループID「Group−X」により仮想ネットワーク「VNW−X」が用いられることを記憶する。
ユーザグループテーブル112に記憶される情報は、クラウド制御部123により管理される。詳細については後述するように、ユーザグループテーブル112は、制御サーバ100がユーザグループ作成要求を受信すると、クラウド制御部123によって新たなレコードが格納される。また、ユーザグループテーブル112は、制御サーバ100がユーザグループ削除要求を受信すると、クラウド制御部123によってレコードが削除される。
なお、ユーザグループ作成要求は、ユーザグループIDを指定した上で、ユーザグループにより用いられる仮想マシンを作成する要求である。ユーザグループ削除要求は、ユーザグループを指定した上で、ユーザグループと仮想マシンとを削除する要求である。なお、以下では、ユーザグループ作成要求に、作成する仮想マシンのイメージが含まれる場合を用いて説明するが、これに限定されるものではない。例えば、ユーザグループ作成要求により仮想マシンのイメージが特定されない場合には、任意の仮想マシンを作成するようにしても良い。
仮想スイッチテーブル113と仮想ポートテーブル114とは、仮想マシンが作成されるサーバに設定されて仮想ネットワークを形成する仮想スイッチを一意に識別する仮想スイッチ識別情報と、仮想ネットワークの仮想ネットワーク識別情報とを対応付けて記憶する。仮想スイッチテーブル113と仮想ポートテーブル114とを「仮想スイッチ情報記憶部」とも称する。なお、仮想スイッチ識別情報を「仮想スイッチID」とも称する。
具体的には、サーバコンピュータ300に作成された仮想マシンと、仮想マシンと接続された仮想ネットワークについての情報を記憶する。具体的には、仮想マシンが作成されたサーバコンピュータ300を一意に識別する「サーバコンピュータ」と、サーバコンピュータ300の仮想インタフェースを一意に識別する仮想ネットワークIDと、仮想ネットワークを形成する仮想スイッチを一意に識別する「仮想スイッチID」と、仮想マシンと仮想ネットワークとの接続に用いられた仮想ポートを一意に識別する「仮想ポートID」と、仮想マシンの仮想インタフェースの「仮想インタフェースID」とを対応付けて記憶する。
図4Aは、実施例1における仮想スイッチテーブルに記憶された情報の一例を説明するための図である。また、図4Bは、実施例1における仮想ポートテーブルに記憶された情報の一例を説明するための図である。図4Aに示す例では、仮想スイッチテーブル113は、「サーバコンピュータ」と「仮想スイッチID」と「仮想インタフェースID」とを含むレコードを記憶する。なお、「サーバコンピュータ」は、仮想マシンが作成されたサーバコンピュータ300を一意に識別する。
図4Aに示す例では、仮想スイッチテーブル113は、サーバコンピュータ「Server−A」と仮想スイッチID「VSW−X」と仮想インタフェースID「VIF−A」とを含むレコードを記憶する。
また、図4Bに示す例では、仮想ポートテーブル114は、「仮想インタフェースID」と「仮想ポートID」と「仮想ネットワークID」とを含むレコードを記憶する。「仮想ネットワークID」は、仮想ネットワークを一意に識別する。「仮想ポートID」は、サーバコンピュータ300に設けられた仮想スイッチの仮想ポートを一意に識別する。
また、図4Bに示す例では、仮想ポートテーブル114は、仮想インタフェースID「VIF−A」と仮想ポートID「VP−X」と仮想ネットワークID「VNW−X」とを含むレコードを記憶する。
すなわち、図4Aや図4Bに示す例では、仮想スイッチテーブル113や仮想ポートテーブル114は、サーバコンピュータ「Server−A」に、仮想インタフェース「VIF−A」を有する仮想マシンを作成され、サーバコンピュータ「Server−A」に設けられた仮想スイッチ「VSW−X」の仮想ポート「VP−X」を用いて、仮想ネットワーク「VNW−X」と仮想マシンとが接続されたことを記憶する。
なお、仮想スイッチテーブル113と仮想ポートテーブル114とは、ネットワーク制御部125によって管理される。例えば、仮想スイッチテーブル113と仮想ポートテーブル114とは、ユーザグループ作成要求受信時やユーザグループ参加要求受信時に新たなレコードが格納される。なお、ユーザグループ参加要求を「接続要求」とも称する。また、例えば、仮想スイッチテーブル113と仮想ポートテーブル114とは、ユーザグループ削除要求受信時やユーザグループ退出要求受信時にレコードが削除される。
なお、ユーザグループ参加要求は、ユーザグループを指定して、ユーザの仮想デスクトップをユーザグループに対応する仮想ネットワークに接続させる要求である。ユーザグループ退出要求は、ユーザが接続する仮想ネットワークからユーザの仮想デスクトップを切断する要求である。
グループテーブル115は、ユーザIDと、ユーザIDにより識別されるユーザの仮想マシンが接続している仮想ネットワークを用いるユーザグループのユーザグループIDとを対応付けて記憶する。グループテーブル115を「グループ記憶部」とも称する。
図5は、実施例1におけるグループテーブルに記憶された情報の一例を説明するための図である。図5に示す例では、グループテーブル115が、「参加状態」を更に記憶する場合を示した。「参加状態」は、対応付けられたユーザIDにより識別されるユーザが、対応付けられたユーザグループIDにより識別されるユーザグループの仮想ネットワークと接続されているか否かを示す。図5に示す例では、参加状態「T」はユーザが参加していることを示し、参加状態「F」は、ユーザが参加していないことを示す。
図5に示す例では、グループテーブル115は、ユーザID「User−A」とユーザグループID「Group−X」と参加状態「T」とを記憶する。また、グループテーブル115に格納は、ユーザID「User−B」とユーザグループID「Group−Y」と参加状態「F」とを記憶する。言い換えると、グループテーブル115は、ユーザ「User−A」が、ユーザグループ「Group−X」「Group−Y」の両方に追加されており、現在はユーザグループ「Group−X」に接続していることを記憶する。なお、図5に示すように、ユーザは、1つ又は複数のユーザグループに追加され得る。
グループテーブル115は、グループ管理部124によって管理される。具体的には、グループテーブル115は、詳細は後述するように、制御サーバ100がユーザ追加要求を受信すると、新たなレコードが格納され、制御サーバ100がユーザ削除要求を受信すると、レコードが削除される。
なお、ユーザ追加要求は、ユーザグループを指定した上でユーザグループにユーザを追加する要求である。また、ユーザ削除要求は、ユーザグループを指定した上でユーザグループからユーザを削除する要求である。
リソーステーブル116は、ネットワーク帯域・遅延、サーバコンピュータ300において使用可能なリソースを示すリソース情報などを記憶する。図6は、実施例1におけるリソーステーブルに記憶された情報の一例を説明するための図である。図6に示す例では、リソーステーブル116は、「仮想マシンID」と、「サーバコンピュータ」と、「拠点ID」と、「往復遅延時間」とを対応付けて記憶する。「拠点ID」は、クラウドコンピューティングシステムが配置されている拠点を示す。言い換えると、対応付けられた「サーバコンピュータ」により識別されるサーバコンピュータ300が配置されている拠点を示す。「往復遅延時間」は、仮想マシンとの間のネットワークにおいて発生する遅延時間を示す。以下では、サーバコンピュータ300のリソースとして、往復遅延時間を用いる場合を例に説明するが、これに限定されるものではなく、任意のリソースを用いて良い。
図6に示す例では、リソーステーブル116は、仮想マシンID「VM−A」と、サーバコンピュータ「Server−A」と、拠点ID「DC−A」と、往復遅延時間「100ms」とを対応付けて記憶する。言い換えると、リソーステーブル116は、仮想マシン「VM−A」が、拠点「DC−A」に設けられたサーバコンピュータ「Server−A」に作成されており、仮想マシン「VM−A」との間の往復遅延時間が「100ms」であることを記憶する。
なお、リソーステーブル116に記憶される情報は、クラウド制御部123によって管理される。具体的には、リソーステーブル116は、制御サーバ100がユーザグループ作成要求を受信すると、クラウド制御部123によってレコードが作成されるとともに、その後、往復遅延時間が適宜更新される。また、リソーステーブル116は、制御サーバ100がユーザグループ削除要求を受信すると、詳細については後述するように、クラウド制御部123によってレコードが削除される。
なお、上述した説明では、記憶部110が、仮想マシンテーブル111からリソーステーブル116を有する場合を示したが、これに限定されるものではない。例えば、仮想マシンテーブル111からリソーステーブル116のうち、1つ又は複数のテーブルを統合して1つのテーブルとしても良い。
制御部120は、送受信部101と、記憶部110と接続される。制御部120は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部120は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などである。図1に示す例では、制御部120は、入力受付部121と、ユーザ管理部122と、クラウド制御部123と、グループ管理部124と、ネットワーク制御部125と、デスクトップ制御部126とを有する。各部の詳細な処理についてはシーケンス図を用いて後述し、以下では簡単に説明するに留める。
入力受付部121は、ユーザ端末200から各種の情報を受信し、受信した情報を制御部120の各部に送信する。具体的には、入力受付部121は、ユーザ識別情報とユーザグループ識別情報とを含む接続要求を受信したり、ユーザグループ識別情報ユーザグループを作成するユーザグループ作成要求を受信したり、拠点を一意に識別する拠点識別情報とユーザ識別情報とを含む仮想マシン再配置要求を受信したり、サーバの性能に関する性能条件とユーザ識別情報とを含む仮想マシン再配置要求を更に受信したりする。入力受付部121を「受信部」とも称する。仮想マシン再配置要求を「仮想デスクトップ再配置要求」とも称する。
ユーザ管理部122は、ユーザIDと認証情報との対応付けを保持し、ユーザの認証処理を実行する。認証処理は、任意の手法を用いて良い。なお、以下では、特段ユーザ管理部122による認証処理を実行するタイミングについて、特段言及しないが、ユーザ管理部122は、制御サーバ100がユーザIDを受信するごとに、認証情報をユーザ端末200に要求して認証処理を実行してもよい。この場合、ユーザ管理部122による認証処理が成功した場合に初めて、それ以後の処理が実行されることになる。
クラウド制御部123は、ユーザグループテーブル112を管理する。具体的には、クラウド制御部123は、ユーザグループ作成要求を受信すると、新たなレコードをユーザグループテーブル112に格納し、ユーザグループ削除要求を受信すると、ユーザグループテーブル112からレコードを削除する。
すなわち、クラウド制御部123は、ユーザグループ作成要求を受信すると、ユーザグループ作成要求により指定される仮想マシンをサーバコンピュータ300のハイパーバイザ上に作成して起動する。また、同様に、クラウド制御部123は、ユーザグループ削除要求を受信すると、ユーザグループ削除要求により指定される仮想マシンをサーバコンピュータ300のハイパーバイザ上から削除する。また、クラウド制御部123は、仮想マシンの作成や削除に併せて、ユーザグループテーブル112を更新する。
また、クラウド制御部123は、リソーステーブル116を管理する。例えば、クラウド制御部123は、仮想マシンが作成されるごとに、作成された仮想マシンの仮想マシンIDとサーバコンピュータ、サーバコンピュータ300の拠点を示す拠点IDとを含むレコードをリソーステーブル116に格納する。
また、例えば、クラウド制御部123は、仮想マシンと各サーバコンピュータのハイパーバイザとの間でpingを継続的に実施させ、仮想マシンから収集した結果に基づいて遅延を監視し、監視結果をリソーステーブル116に適宜格納する。ただし、これに限定されるものではなく、クラウド制御部123は、サーバコンピュータ300に搭載された任意の管理ツールや、任意のネットワーク管理ツール等から情報を収集することで遅延を監視しても良い。また、例えば、クラウド制御部123は、ユーザグループ削除要求を受信すると、対応するレコードをリソーステーブル116から削除する。
また、クラウド制御部123は、ユーザグループ参加要求に含まれるユーザグループIDを検索キーとして、ユーザグループテーブル112から仮想ネットワークIDを取得する。クラウド制御部123を「仮想ネットワーク取得部」とも称する。
グループ管理部124は、グループテーブル115を管理する。具体的には、グループ管理部124は、制御サーバ100がユーザ追加要求を受信すると、ユーザ追加要求に含まれるユーザIDとユーザグループIDとを対応付けてグループテーブル115に格納し、制御サーバ100がユーザ削除要求を受信すると、ユーザ削除要求に含まれるユーザIDとユーザグループIDとを含むレコードをグループテーブル115から削除する。
ネットワーク制御部125は、クラウド制御部123により取得された仮想ネットワークIDにより識別される仮想ネットワークと、デスクトップ制御部126により取得された仮想マシンインタフェースIDにより識別される仮想マシンインタフェースとを接続する接続処理を実行する。
具体的には、ネットワーク制御部125は、クラウド制御部123により取得された仮想ネットワークIDを検索キーとして仮想スイッチテーブル113や仮想ポートテーブル114から仮想スイッチIDを取得し、仮想スイッチ識別情報により識別される仮想スイッチの仮想ポートを仮想ネットワークの仮想ネットワークインタフェースとして用いて、接続処理を実行する。
また、ネットワーク制御部125は、制御サーバ100がユーザグループ作成要求を受信すると、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成し、新たなユーザグループにより用いられる仮想ネットワークを作成し、作成した仮想マシンの仮想マシンインタフェースと仮想ネットワークとを接続する接続処理を実行する。また、ネットワーク制御部125は、新たに作成されるユーザグループのユーザグループ識別情報と仮想ネットワークを一意に識別する仮想ネットワーク識別情報とを対応付けてユーザグループテーブル112に格納する。
また、ネットワーク制御部125は、仮想スイッチテーブル113と仮想ポートテーブル114とを管理する。具体的には、ネットワーク制御部125は、制御サーバ100がユーザグループ作成要求やユーザグループ参加要求を受信すると、仮想スイッチテーブル113や仮想ポートテーブル114に新たなレコードを格納する。また、詳細については後述するように、ネットワーク制御部125は、制御サーバ100がユーザグループ削除要求やユーザグループ自体要求を受信すると、仮想スイッチテーブル113や仮想ポートテーブル114からレコードを削除する。
すなわち、ネットワーク制御部125は、各サーバコンピュータ300のハイパーバイザ上にある仮想スイッチや仮想インタフェースを制御したり管理したりする。例えば、ネットワーク制御部125は、制御サーバ100がユーザグループ作成要求を受信すると、仮想スイッチ間に論理ネットワークを作成して仮想マシンの仮想インタフェースを仮想スイッチと接続する。ネットワーク制御部125は、制御サーバ100がユーザグループ参加要求を受信すると、仮想デスクトップの仮想インタフェースを仮想スイッチの仮想ポートと接続する。また、ネットワーク制御部125は、仮想スイッチや仮想インタフェースなどの制御に併せて、仮想スイッチテーブル113と仮想ポートテーブル114とを更新する。
デスクトップ制御部126は、制御サーバ100がユーザグループ作成要求を受信すると、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成する。デスクトップ制御部126を「仮想マシン作成部」とも称する。
デスクトップ制御部126は、仮想マシンテーブル111を管理する。具体的には、詳細については後述するように、デスクトップ制御部126は、制御サーバ100がユーザ登録情報を受信すると、新たなレコードを仮想マシンテーブル111に格納する。また、詳細については後述するように、デスクトップ制御部126は、制御サーバ100がユーザ抹消要求を受信すると、仮想マシンテーブル111からレコードを削除する。
すなわち、デスクトップ制御部126は、サーバコンピュータ300のハイパーバイザ上に仮想デスクトップのプロビジョニングを行うとともに、仮想デスクトップと、仮想デスクトップの仮想インタフェース及び仮想デスクトップを割り当てるユーザのユーザIDの対応を仮想マシンテーブル111にて管理する。なお、デスクトップ制御部126は、ハイパーバイザ上の仮想デスクトップを監視してユーザがログインしているか否かを管理しても良い。
また、デスクトップ制御部126は、入力受付部121により受信された接続要求に含まれるユーザ識別情報を検索キーとして、仮想マシンテーブル111から仮想マシンインタフェースIDを取得する。デスクトップ制御部126を「仮想マシンインタフェース取得部」とも称する。例えば、デスクトップ制御部126は、クラウド制御部123からユーザIDを受信すると、対応する仮想デスクトップの仮想インタフェースのIDをクラウド制御部123に送信する。ただし、これに限定されるものではなく、デスクトップ制御部126は、クラウド制御部123に仮想インタフェースのIDを送信しなくても良い。この場合、クラウド制御部123は、仮想マシンテーブル111からユーザIDに対応する仮想ネットワークIDを読み取ることで、仮想ネットワークIDを取得する。また、同様に、デスクトップ制御部126は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、仮想マシンテーブル111から仮想マシンインタフェースIDを取得する。
また、デスクトップ制御部126は、仮想マシン再配置要求を受信すると、ユーザIDにより識別されるユーザの仮想マシンを、拠点識別情報により識別される拠点に配置されたサーバに作成する。デスクトップ制御部126を「仮想マシン作成部」とも称する。
なお、制御部120は、既知のパーソナルコンピュータ、ワークステーション、サーバなどを利用して実現しても良い。例えば、既知のサーバに対して、図1に示した記憶部110と制御部120の各機能を搭載することによって実現しても良い。
[制御サーバによる処理]
以下では、シーケンス図を用いて、以下に示す処理の流れを順に説明する。具体的には、ユーザ登録要求受信時における処理の流れの一例、ユーザグループ作成要求受信時における処理の流れの一例、ユーザ追加要求受信時における処理の流れの一例、ユーザグループ参加要求受信時における処理の流れの一例、ログアウト時のユーザグループからの切断処理の流れの一例、仮想デスクトップ再配置要求受信時における処理の流れの一例について、順に説明する。
[ユーザ登録要求受信時における処理の流れの一例]
図7は、実施例1におけるユーザ登録要求受信時における処理の流れの一例を説明するためのシーケンス図である。図7に示す一連の処理を実行することで、ユーザにより用いられる仮想マシンがサーバコンピュータ300に作成され、図2に示す仮想マシンテーブル111に新たなレコードが格納される。
図7に示すように、制御サーバ100では、ユーザ端末200からユーザ登録要求(User−B)を受信すると(ステップS101)、入力受付部121が、ユーザ登録要求に含まれるユーザID「User−B」と認証情報とをユーザ管理部122に送信する(ステップS102)。つまり、ユーザ管理部122によるユーザの認証処理に用いられる情報をユーザ管理部122に登録する。
また、入力受付部121は、仮想デスクトップを作成する作成要求である仮想デスクトップ作成要求を作成し、作成した仮想デスクトップ作成要求をクラウド制御部123に送信する(ステップS103)。なお、入力受付部121により作成された仮想デスクトップ作成要求には、ユーザ登録要求に含まれるユーザIDが含まれ、例えば、ユーザID「User−B」が含まれる。その後、クラウド制御部123は、受信した仮想デスクトップ作成要求をデスクトップ制御部126に転送する(ステップS104)。
そして、デスクトップ制御部126は、仮想デスクトップ作成要求を受信すると、受信した仮想デスクトップ作成要求に含まれるユーザIDについて、仮想デスクトップを任意のサーバコンピュータ300に作成して割り当て、割り当てた仮想デスクトップのIDである仮想インタフェースIDを仮想インタフェースのIDと併せて仮想マシンテーブル111にて管理する。つまり、デスクトップ制御部126は、ユーザ端末200に仮想デスクトップを提供する仮想マシンをサーバコンピュータ300に作成する(ステップS105)。例えば、デスクトップ制御部126により割り当てられた仮想デスクトップの仮想デスクトップIDが「VD−B」であり、仮想インタフェースの仮想インタフェースIDが「VIF−B」である場合を用いて説明する。この場合、図2に示すように、デスクトップ制御部126は、仮想マシンテーブル111に対して、ユーザID「User−B」と仮想デスクトップID「VD−B」と仮想インタフェースID「VIF−B」とを含むレコードを格納する。
なお、ユーザ抹消要求受信時における処理の一例は、登録するか抹消するかという違いを除いて、図7に示したユーザ登録要求受信時における処理の流れと同様であり、説明を省略する。また、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップS103とステップS104とを統合することで、入力受付部121は、仮想デスクトップ作成要求をデスクトップ制御部126に直接送信しても良い。
[ユーザグループ作成要求受信時における処理の流れの一例]
図8は、実施例1におけるユーザグループ作成要求受信時における処理の流れの一例を説明するためのシーケンス図である。図8に示す一連の処理を実行することで、ユーザグループにより用いられる仮想マシンと仮想ネットワークとが作成され、図3に示すユーザグループテーブル112と、図4Aに示す仮想スイッチテーブル113と、図4Bに示す仮想ポートテーブル114とに格納に新たなレコードを格納される。
図8に示すように、制御サーバ100では、ユーザ端末200からユーザグループ作成要求(Group−Y、仮想マシンイメージB)を受信すると(ステップS201)、入力受付部121が、受信したユーザグループ作成要求をクラウド制御部123に転送する(ステップS202)。
そして、クラウド制御部123は、ユーザグループを作成する(ステップS203)。具体的には、クラウド制御部123は、ユーザグループ作成要求に含まれるユーザグループIDを含むレコードをユーザグループテーブル112に格納する。なお、この段階においては、図3に示すユーザグループテーブル112のうち、仮想ネットワークIDは空欄となっている。
また、クラウド制御部123は、ユーザグループ作成要求に含まれる仮想マシンイメージに相当する仮想マシンをサーバコンピュータ300に作成し、作成した仮想マシンを起動させる(ステップS204)。例えば、クラウド制御部123は、仮想マシン「B」をサーバコンピュータ300に作成して起動させる。その後、クラウド制御部123は、ネットワーク制御部125に仮想ネットワークの作成を要求する(ステップS205)。
その後、クラウド制御部123は、ネットワーク制御部125により用いられた仮想ネットワークを一意に識別する仮想ネットワークIDをネットワーク制御部125から受信し、受信した仮想ネットワークIDをユーザグループIDに対応付けて図3のユーザグループテーブル112に格納する。
また、ネットワーク制御部125は、ユーザグループ作成要求を受けると、仮想ネットワークを設定し(ステップS206)、設定した仮想ネットワークと仮想マシンとを接続する(ステップS207)。つまり、ネットワーク制御部125は、サーバコンピュータ300の仮想スイッチ間に論理ネットワークを設定することで仮想ネットワークを設定し、設定した仮想ネットワークの仮想スイッチと、ユーザグループにより用いられる仮想マシンの仮想インタフェースとを接続する。
また、ネットワーク制御部125は、仮想ネットワークと仮想マシンとを接続すると、新たなレコードを仮想スイッチテーブル113と仮想ポートテーブル114とに格納する。例えば、クラウド制御部123が、サーバコンピュータ「Server−A」に、仮想インタフェースIDが「VIF−A」となる仮想マシンを作成した場合を用いて説明する。また、ネットワーク制御部125が、仮想スイッチ「VSW−X」を用いて、仮想ネットワークIDが「VNW−X」となる仮想ネットワークを設定した場合を用いて説明する。また、仮想ネットワークと仮想マシンとを接続する際に用いられた仮想スイッチのポートを一意に識別する仮想ポートIDが「VP−X」である場合を用いて説明する。
この場合、ネットワーク制御部125は、図4Aに示すように、サーバコンピュータ「Server−A」と仮想スイッチID「VSW−X」と仮想インタフェースID「VIF−A」とを含むレコードを仮想スイッチテーブル113に格納する。また、ネットワーク制御部125は、図4Bに示すように、仮想インタフェースID「VIF−A」と仮想ポート「VP−X」と仮想ネットワークID「VNW−X」とを含むレコードを格納する。
すなわち、ネットワーク制御部125は、制御サーバ100がユーザグループ作成要求を受信すると、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成し、新たなユーザグループにより用いられる仮想ネットワークを作成し、作成した仮想マシンの仮想マシンインタフェースと仮想ネットワークとを接続する接続処理を実行する。また、ネットワーク制御部125は、新たに作成されるユーザグループのユーザグループ識別情報と仮想ネットワークを一意に識別する仮想ネットワーク識別情報とを対応付けてユーザグループテーブル112に格納する。
なお、ネットワーク制御部125により格納される情報のうち、仮想マシンが作成された「サーバコンピュータ」や仮想マシンの「仮想インタフェースID」については、仮想マシンを作成したクラウド制御部123により通知される。
また、ユーザグループを指定してユーザグループと仮想マシンとを削除する要求であるユーザグループ削除要求の受信時における処理の一例は、作成するか抹消するかという違いを除いて、図8に示したユーザグループ作成要求受信時における処理の流れと同様であり、説明を省略する。また、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップS203をS207の後に行っても良い。
[ユーザ追加要求受信時における処理の流れの一例]
図9は、実施例1におけるユーザ追加要求受信時における処理の流れの一例を説明するためのシーケンス図である。図9に示す一連の処理を実行することで、制御部120は、図3に示すユーザグループテーブル112と、図5に示すグループテーブル115に新たなレコードを格納する。
図9に示すように、制御サーバ100では、ユーザIDをユーザグループに追加するユーザ追加要求をユーザ端末200から受信すると(ステップS301)、入力受付部121は、受信したユーザ追加要求をグループ管理部124に送信する。
そして、グループ管理部124が、図5の仮想ポートテーブル114に対して、ユーザ追加要求に含まれるユーザIDをユーザ追加要求に含まれるユーザグループIDに対応付けて格納する(ステップS302)。例えば、ユーザ追加要求にユーザID「User−A」とユーザグループID「Group−Y」が含まれている場合には、グループ管理部124は、ユーザID「User−A」とユーザグループID「Group−Y」とを含むレコードをグループテーブル115に格納する。
なお、ユーザグループを指定してユーザグループからユーザを削除するユーザ削除要求の受信時における処理の一例は、追加するか削除するかという違いを除いて、図9に示したユーザ追加要求受信時における処理の流れの一例と同様であり、説明を省略する。また、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、図9の処理において、制御サーバ100は、ユーザIDに加えて認証情報を要求し、ユーザ管理部122における認証処理を実行し、認証成功した場合に、ユーザIDをグループテーブル115に格納するようにしても良い。
[ユーザグループ参加要求受信時における処理の流れの一例]
図10は、実施例1におけるユーザグループ参加要求受信時における処理の流れの一例を説明するためのシーケンス図である。以下に説明する一連の処理を制御サーバ100が実行することで、ユーザが参加を希望するユーザグループの仮想ネットワークと、ユーザにより用いられる仮想マシンとが、ユーザIDとユーザグループIDとに基づき接続される。
図10に示すように、制御サーバ100では、ユーザグループを指定した上でユーザの仮想デスクトップをユーザグループに対応する仮想ネットワークに接続させる要求であるユーザグループ参加要求を受信すると(ステップS401)、入力受付部121は、受信したユーザグループ参加要求をクラウド制御部123に送信する(ステップS402)。ここで、ユーザグループ参加要求には、ユーザグループに参加を要求するユーザのユーザIDと、参加先となるユーザグループのユーザグループIDとが含まれる。以下では、ユーザID「User−A」とユーザグループID「Group−Y」とが含まれる場合を用いて説明する。
そして、クラウド制御部123は、仮想インタフェースを取得する(ステップS403)。例えば、クラウド制御部123は、ユーザグループ参加要求に含まれるユーザID「User−A」をデスクトップ制御部126に送信することで、デスクトップ制御部126により管理される図2の仮想マシンテーブル111にユーザID「User−A」に対応付けられた仮想インタフェースID「VIF−A」を取得する。すなわち、デスクトップ制御部126は、ユーザグループ参加要求に含まれるユーザ識別情報を検索キーとして、仮想マシンテーブル111から仮想マシンインタフェースIDを取得し、クラウド制御部123に返す。また、クラウド制御部123は、ユーザグループ参加要求に含まれるユーザグループID「Group−Y」に対応付けられた仮想ネットワークID「VNW−Y」を図3のユーザグループテーブル112から取得する。つまり、クラウド制御部123は、ユーザグループ参加要求に含まれるユーザグループ識別情報を検索キーとして、ユーザグループテーブル112から仮想ネットワークIDを取得する。
すなわち、クラウド制御部123は、参加を要求したユーザについて作成された仮想デスクトップの仮想インタフェースIDを取得し、参加先となるユーザグループの仮想ネットワークIDを取得する。
そして、クラウド制御部123は、取得した仮想インタフェースID「VIF−A」と仮想ネットワークID「VNW−Y」とをネットワーク制御部125に送信し、仮想ネットワーク接続を要求する(ステップS404)。
そして、ネットワーク制御部125は、仮想ネットワークの接続設定を行う(ステップS405)。つまり、ネットワーク制御部125は、クラウド制御部123により取得された仮想ネットワークIDにより識別される仮想ネットワークと、デスクトップ制御部126により取得された仮想マシンインタフェースIDにより識別される仮想マシンインタフェースとを接続する接続処理を実行する。言い換えると、ネットワーク制御部125は、参加を要求したユーザの仮想デスクトップの仮想インタフェースと、参加先となるユーザグループの仮想ネットワークとを接続する設定を行う。
例えば、ネットワーク制御部125は、仮想ネットワークと仮想インタフェースとの接続に用いる仮想ポートを仮想スイッチに作成する。そして、ネットワーク制御部125は、作成した仮想ポートの仮想ポートIDを仮想インタフェースIDと仮想ネットワークIDとに対応付けて仮想ポートテーブル114に格納する。仮想ポートIDが「VP−Y」である場合を用いて説明する。この場合、図4Bに示すように、ネットワーク制御部125は、仮想ポートID「VP−Y」と、クラウド制御部123から受信した仮想インタフェースID「VIF−A」と仮想ネットワークID「VNW−Y」とを対応付けて仮想ポートテーブル114とに格納する。なお、ここで、ネットワーク制御部125は、参加先となるユーザグループの仮想ネットワークを形成する仮想スイッチに仮想ポートを作成する。そして、例えば、ネットワーク制御部125は、仮想インタフェース「VIF−A」を、仮想ネットワーク「VNW−Y」を形成する仮想スイッチ「VSW−X」の仮想ポート「VP−Y」と接続する。
ここで、ユーザ追加要求を受信することで、ユーザグループ参加要求に含まれるユーザIDとユーザグループIDとを含むレコードがグループテーブル115に格納されている場合について説明する。この場合、グループ管理部124は、ユーザグループ参加要求に含まれるユーザIDとユーザグループIDとについて、リソーステーブル116の参加状態を「T」に更新する。例えば、グループ管理部124は、ユーザID「User−A」とユーザグループID「Group−Y」とに対応する参加状態を「T」に更新する。
この結果、ユーザIDに基づいて、ユーザが接続操作を実行することなく、ユーザに対応する仮想ネットワークに接続が可能となる。
なお、ユーザが接続する仮想ネットワークからユーザの仮想デスクトップを切断する要求であるユーザグループ退出要求の受信時における処理の一例は、参加するか切断するかという違いを除いて、図10に示したユーザグループ参加要求受信時における処理の流れの一例と同様であり、説明を省略する。また、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。
また、ここで、仮想デスクトップが複数のユーザで共用される場合について、具体的な例をあげながら補足する。この場合、制御サーバ100がユーザグループ参加要求(User−A、Group−Y)をユーザ端末200から受信すると、クラウド制御部123は、ユーザのユーザIDに対応する仮想デスクトップ(VD−A)をデスクトップ制御部126により管理されるユーザグループテーブル112にて特定する。また、クラウド制御部123は、ユーザ(User−A)の仮想デスクトップの仮想インタフェース情報(VIF−A)をデスクトップ制御部126より管理されるユーザグループテーブル112から取得する。そして、取得した仮想インタフェース情報に基づき、クラウド制御部123は、クラウド制御部123により管理されるユーザグループテーブル112において特定されるユーザグループ(Group−Y)について、対応する仮想ネットワーク(VNW−Y)との接続をネットワーク制御部125に要求する。そして、ネットワーク制御部125は、ユーザの仮想デスクトップ(VD−A)に該当する仮想インタフェース(VIF−A)をユーザグループに対応付けられた仮想ネットワーク(VNW−Y)の仮想スイッチ(VSW−X)の仮想ポート(VP−Y)に接続する。
[ログアウト時のユーザグループからの切断処理の流れの一例]
図11は、実施例1におけるログアウト時のユーザグループからの切断処理の流れの一例を説明するためのシーケンス図である。
図11に示すように、デスクトップ制御部126は、サーバコンピュータ300に作成された仮想デスクトップを任意の手法を用いて監視する(ステップS501)。具体的には、デスクトップ制御部126は、仮想デスクトップからのユーザがログアウトしたかを監視する。例えば、デスクトップ制御部126は、定期的にログアウトの有無の確認要求を仮想デスクトップに送信し、確認要求に対する返信を受信することで、仮想デスクトップを監視する。
そして、デスクトップ制御部126は、ログアウトしたとの監視結果を得ると、ログアウトをクラウド制御部123に通知する(ステップS502)。例えば、仮想インタフェースIDが「VIF−A」の仮想デスクトップからユーザIDが「User−A」のユーザがログアウトした場合を用いて説明する。この場合、デスクトップ制御部126は、仮想インタフェースID「VIF−A」とユーザID「User−A」とをクラウド制御部123に送信する。
そして、クラウド制御部123は、ユーザグループの退出処理を行う(ステップS503)。具体的には、クラウド制御部123は、仮想ネットワーク切断をネットワーク制御部125に要求する。例えば、クラウド制御部123は、ログアウトしたユーザ「User−A」のユーザグループ「Group−Y」に対応する仮想ネットワークID「VNW−Y」と、ログアウトしたユーザ「User−A」の仮想インタフェースID「VIF−A」と、切断の指示とをネットワーク制御部125に送信する。
そして、ネットワーク制御部125は、仮想ネットワーク切断設定を行う。例えば、ネットワーク制御部125は、ログアウトしたユーザ「User−A」の仮想インタフェース「VIF−A」を、仮想ネットワークの仮想スイッチ「VSW−X」の仮想ポート「VP−Y」から切断する(ステップS504)。
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。
[仮想デスクトップ再配置要求受信時における処理の流れの一例]
図12は、実施例1における仮想デスクトップ再配置要求受信時における処理の流れの一例である。すなわち、仮想デスクトップや仮想マシンを提供するサーバコンピュータ300の拠点が複数ある環境下において、ユーザによって仮想マシンや仮想デスクトップを配置するサーバコンピュータ300の拠点が指定された場合における処理の流れの一例について説明する。以下に説明する一連の処理を制御サーバ100が実行する結果、ユーザが使用する仮想マシンを動作させるサーバコンピュータ300が配置されている拠点を、ユーザ自らが選択した上で、ユーザが接続する仮想ネットワークに接続可能となる。
以下では、ユーザ「User−A」により拠点「DC−B」が指定された場合を用いて説明する。言い換えると、ユーザID「User−A」と拠点ID「DC−B」とを含む仮想デスクトップ再配置要求を制御サーバ100が受信した場合を用いて説明する。
図12に示すように、制御サーバ100では、仮想デスクトップ再配置要求をユーザにユーザ端末200から受信すると(ステップS601)入力受付部121は、仮想デスクトップ再配置要求をクラウド制御部123に送信する(ステップS602)。
そして、クラウド制御部123は、仮想デスクトップの再配置をデスクトップ制御部126に要求し(ステップS603)、デスクトップ制御部126が、仮想デスクトップ再配置要求により指定された拠点(DC−B)のサーバコンピュータ300で動作するユーザ「User−A」の仮想デスクトップを作成して起動する(ステップS604)。ここで、デスクトップ制御部126は、ユーザにより用いられている仮想マシンと同一の仮想マシンを作成する。
例えば、デスクトップ制御部126は、ユーザ「User−A」の仮想デスクトップ「VD−A」のイメージを指定された拠点「DC−B」にあるサーバコンピュータ「Server−B」にロードする。また、デスクトップ制御部126は、再配置前の仮想デスクトップ「VD−A」を停止する。また、デスクトップ制御部126は、再配置後の仮想デスクトップ「VD−A」の動作を開始させる。つまり、デスクトップ制御部126は、仮想マシン再配置要求を受信すると、ユーザIDにより識別されるユーザの仮想マシンを、拠点識別情報により識別される拠点に配置されたサーバに作成する。
なお、仮想インタフェースは仮想デスクトップのイメージに固定されている。このため、仮想デスクトップ「VD−A」は、仮想デスクトップ「VD−A」が実行されるサーバコンピュータ300の拠点が拠点「DC−B」に再配置されたが、仮想デスクトップ「VD−A」の仮想インタフェースは仮想インタフェース「VIF−A」のままである。なお、仮想スイッチは、仮想デスクトップに固定されているわけではなく、サーバコンピュータ300に設けられている。このため、仮想デスクトップが作成されるサーバコンピュータ300が変更されると、仮想ネットワークを形成する仮想スイッチや仮想ポートも変わることになる。
そして、クラウド制御部123は、仮想インタフェースを取得する(ステップS605)。例えば、クラウド制御部123は、ユーザ「User−A」の仮想デスクトップ「VD−A」に対応する仮想インタフェースID「VIF−A」をデスクトップ制御部126により管理される仮想マシンテーブル111から取得する。言い換えると、デスクトップ制御部126が、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、仮想マシンテーブル111から仮想マシンインタフェースIDを取得し、クラウド制御部123は、デスクトップ制御部126から仮想マシンインタフェースIDを取得する。
また、例えば、クラウド制御部123は、ユーザ「User−A」の接続先となるユーザグループID「Group−X」をグループ管理部124により管理されるリソーステーブル116から取得する。また、クラウド制御部123は、ユーザグループID「Group−X」に対応する仮想ネットワーク「VNW−X」をユーザグループテーブル112から取得する。つまり、クラウド制御部123は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、グループテーブル115からユーザグループIDを取得し、取得したユーザグループIDを検索キーとして、ユーザグループテーブル112から仮想ネットワークIDを取得する。
そして、クラウド制御部123は、ネットワーク制御部125に対して仮想ネットワーク接続を要求する(ステップS606)。例えば、クラウド制御部123は、仮想デスクトップ「VD−A」の仮想インタフェースは仮想インタフェース「VIF−A」と、ユーザグループID「Group−X」に対応する仮想ネットワーク「VNW−X」とを接続する要求を送信する。
そして、ネットワーク制御部125は、仮想ネットワーク接続設定を行う(ステップS607)。つまり、ネットワーク制御部125は、仮想ネットワークと接続するための仮想ネットワークインタフェースとして、拠点識別情報により識別されるサーバに設けられた仮想ネットワークインタフェースを用いて、接続処理を実行する。
例えば、ネットワーク制御部125は、拠点「DC−B」のサーバコンピュータ300の仮想スイッチの仮想ポートを用いて、拠点「DC−B」に再配置された仮想デスクトップ「VD−A」の仮想インタフェースは仮想インタフェース「VIF−A」と、ユーザグループID「Group−X」に対応する仮想ネットワーク「VNW−X」とを接続する。その際、ネットワーク制御部125は、接続に用いた仮想スイッチや仮想ポートの仮想スイッチIDや仮想ポートIDを用いて、仮想ポートテーブル114とグループテーブル115とを更新する。
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、図12に示す例では、拠点の指定をユーザから受け付ける場合について説明したが、これに限定されるものではなく、制御サーバ100にて決定しても良い。
また、例えば、制御サーバ100は、サーバの性能に関する性能条件とユーザ識別情報とを含む仮想マシン再配置要求を受信した場合には、デスクトップ制御部126が、ユーザIDにより識別されるユーザの仮想マシンを、性能条件を満たすサーバコンピュータ300に作成しても良い。この場合、ネットワーク制御部125は、仮想ネットワークと接続するための仮想ネットワークインタフェースとして、仮想マシンが作成されたサーバコンピュータ300に設けられた仮想ネットワークインタフェースを用いて、接続処理を実行する。
より詳細な一例をあげて説明すると、制御サーバ100は、ユーザの属するユーザグループに接続された仮想マシンと仮想デスクトップの間の遅延を最小とする要求を受け付けた場合、リソーステーブル116に基づいて、仮想マシンや仮想デスクトップとサーバコンピュータ300との間を遅延が最小となる拠点を1つ選択し、選択した拠点のサーバコンピュータ300に再配置するようにしても良い。この結果、ユーザのネットワーク遅延に対する条件を満たす拠点のサーバコンピュータでユーザの仮想デスクトップを動作させ、仮想ネットワークに接続させることが可能となる。
[実施例1の効果]
上述したように、実施例1によれば、制御サーバ100は、ユーザを識別するユーザIDと、ユーザに用いられる仮想マシンのインタフェースを識別する仮想マシンインタフェースIDとを対応付けて記憶する。また、制御サーバ100は、ユーザグループを識別するユーザグループIDと、ユーザグループにより用いられる仮想ネットワークを識別する仮想ネットワークIDとを対応付けて記憶する。また、制御サーバ100は、ユーザIDとユーザグループIDとを含む接続要求を受信する。また、制御サーバ100は、受信した接続要求に含まれるユーザIDを検索キーとして、仮想マシン情報記憶部から仮想マシンインタフェースIDを取得する。また、制御サーバ100は、受信した接続要求に含まれるユーザグループIDを検索キーとして、ユーザグループ情報記憶部から仮想ネットワークIDを取得する。また、制御サーバ100は、仮想ネットワーク取得部により取得された仮想ネットワークIDにより識別される仮想ネットワークと、仮想マシンインタフェース取得部により取得された仮想マシンインタフェースIDにより識別される仮想マシンインタフェースとを接続する接続処理を実行する。この結果、仮想マシンと仮想ネットワークとの接続作業をユーザや運用者が簡単に実行可能となる。
具体的には、仮想デスクトップを含む仮想マシンを仮想ネットワークに接続させる際の設定を、ユーザ及びユーザグループの単位で制御・管理することができ、運用者だけでなく、エンドユーザによっても簡単に設定可能となる。また、この結果、仮想デスクトップが複数のユーザで共用されていたとしても、ユーザIDに基づき、ユーザが仮想デスクトップを使用している間、ユーザグループに対応する仮想ネットワークへの接続/切断が可能となる。
また、実施例1によれば、制御サーバ100は、ユーザグループを作成するユーザグループ作成要求を受信する。また、制御サーバ100は、ユーザグループ作成要求を受信すると、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成し、新たなユーザグループにより用いられる仮想ネットワークを作成し、仮想マシンの仮想マシンインタフェースと仮想ネットワークとを接続する接続処理を実行する。また、制御サーバ100は、新たに作成されるユーザグループのユーザグループIDと仮想ネットワークを識別する仮想ネットワークIDとを対応付けてユーザグループ情報記憶部に格納する。この結果、ユーザグループを簡単に設定可能となる。
また、実施例1によれば、制御サーバ100は、仮想マシンが作成されるサーバに設定されて仮想ネットワークを形成する仮想スイッチを識別する仮想スイッチIDと、仮想ネットワークの仮想ネットワークIDとを対応付けて記憶する。また、制御サーバ100は、仮想ネットワーク取得部により取得された仮想ネットワークIDを検索キーとして仮想スイッチ情報記憶部から仮想スイッチIDを取得し、仮想スイッチIDにより識別される仮想スイッチの仮想ポートを仮想ネットワークの仮想ネットワークインタフェースとして用いて、接続処理を実行する。この結果、仮想マシンと仮想ネットワークとの接続作業をユーザや運用者が簡単に実行可能となる。
また、実施例1によれば、制御サーバ100は、拠点を識別する拠点IDとユーザIDとを含む仮想マシン再配置要求を受信する。また、制御サーバ100は、ユーザIDと、ユーザIDにより識別されるユーザの仮想マシンが接続している仮想ネットワークを用いるユーザグループのユーザグループIDとを対応付けて記憶する。また、制御サーバ100は、仮想マシン再配置要求を受信すると、ユーザIDにより識別されるユーザにより用いられている仮想マシンと同一の仮想マシンを、拠点IDにより識別される拠点に配置されたサーバに作成する。また、制御サーバ100は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、仮想マシン情報記憶部から仮想マシンインタフェースIDを取得する。また、制御サーバ100は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、グループテーブル115からユーザグループIDを取得し、取得したユーザグループIDを検索キーとして、ユーザグループ情報記憶部から仮想ネットワークIDを取得する。また、制御サーバ100は、仮想ネットワークと接続するための仮想ネットワークインタフェースとして、拠点IDにより識別されるサーバに設けられた仮想ネットワークインタフェースを用いて、接続処理を実行する。この結果、ユーザや運用者が簡単に仮想マシンの再配置を行うことが可能となる。
また、実施例1によれば、制御サーバ100は、サーバの性能に関する性能条件とユーザIDとを含む仮想マシン再配置要求を受信する。また、制御サーバ100は、ユーザIDと、ユーザIDにより識別されるユーザの仮想マシンが接続している仮想ネットワークを用いるユーザグループのユーザグループIDとを対応付けて記憶する。また、制御サーバ100は、仮想マシン再配置要求を受信すると、ユーザIDにより識別されるユーザにより用いられている仮想マシンと同一の仮想マシンを、性能条件を満たすサーバに作成する。また、制御サーバ100は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、仮想マシン情報記憶部から仮想マシンインタフェースIDを取得する。また、制御サーバ100は、仮想マシン再配置要求に含まれるユーザIDを検索キーとして、グループテーブル115からユーザグループIDを取得し、取得したユーザグループIDを検索キーとして、ユーザグループ情報記憶部から仮想ネットワークIDを取得する。また、制御サーバ100は、仮想ネットワークと接続するための仮想ネットワークインタフェースとして、仮想マシン作成部により仮想マシンが作成されたサーバに設けられた仮想ネットワークインタフェースを用いて、接続処理を実行する。この結果、複数拠点に分散したクラウドコンピューティング環境においてユーザの要件を満たすコンピューティングリソースの利用と仮想ネットワークへの接続が可能となる。
すなわち、仮想デスクトップ等の利用には、画面転送のレスポンス、デスクトップが利用するコンピューティングリソースや通信帯域等、さまざまな要件を満たしながら、仮想デスクトップを配置し、仮想ネットワークを構成する必要があること等から、運用者による制御装置上での複雑な設定作業が求められる。ここで、実施例1によれば、ユーザ自らが簡単に設定可能となる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
[ユーザグループ作成要求]
例えば、上述の実施例では、ユーザグループ作成要求受信時に、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成し、作成した仮想マシンの仮想マシンインタフェースと仮想ネットワークとを接続する場合について説明した。ただし、これに限定されるものではなく、新たに作成されるユーザグループにより用いられる仮想マシンを作成しなくても良い。
具体的には、クラウド制御部123は、制御サーバ100によりユーザグループ作成要求が受信されたとしても、新たに作成されるユーザグループ用の仮想マシンを作成しない。その上で、ネットワーク制御部125は、制御サーバ100によりユーザグループ作成要求が受信されると、新たに作成されるユーザグループにより用いられる仮想ネットワークを作成し、新たなユーザグループのユーザグループ識別情報と仮想ネットワークの仮想ネットワーク識別情報とを対応付けてユーザグループテーブル112に格納しても良い。
この場合、その後、上述したユーザ追加要求受信における処理やユーザグループ参加要求受信時における処理、ユーザ登録要求受信における処理が実行されることで、ユーザグループに含まれるユーザの仮想マシンが、それぞれ仮想ネットワークと接続されることで、仮想ネットワークを介してユーザの仮想マシン各々が相互に接続されることになる。この結果、共用サーバとしての仮想マシンを用いることなく、仮想ネットワークを介してユーザの仮想デスクトップがP2P(Peer to Peer)で接続することが可能となる。
なお、制御サーバ100は、1つ又は複数のユーザIDが含まれているユーザグループ作成要求に場合には、ユーザグループ作成要求に含まれているユーザIDに対応する仮想マシン各々の仮想マシンインタフェースと、作成した仮想ネットワークとを接続する接続処理を、仮想ネットワークを作成した後に一連の処理として実行しても良い。
また、制御サーバ100は、仮想マシンのイメージがユーザグループ作成要求に含まれている場合には、実施例1にて説明したように、仮想マシンをサーバに作成し、作成した仮想マシンの仮想マシンインタフェースと仮想ネットワークしても良い。一方、例えば、制御サーバ100は、仮想マシンのイメージがユーザグループ作成要求に含まれていない場合には、上述したように、共有サーバとしての仮想マシンを作成することなく、仮想ネットワークを作成するに留めても良い。
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(図1〜図12)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、図1に示す例では、記憶部110に記憶されたテーブルの一部又は全てを制御サーバ100から独立した記憶装置に格納した上で、制御サーバ100と記憶装置とがネットワークを介して接続されるようにしても良い。
[プログラム]
図13は、一連の処理を実行するためのプログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図13に例示するように、コンピュータ3000は、例えば、メモリ3010と、CPU(Central Processing Unit)3020と、ハードディスクドライブ3080と、ネットワークインタフェース3070とを有する。コンピュータ3000の各部はバス3100によって接続される。
メモリ3010は、図13に例示するように、ROM3011及びRAM3012を含む。ROM3011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。
ここで、図13に例示するように、ハードディスクドライブ3080は、例えば、OS3081、アプリケーションプログラム3082、プログラムモジュール3083、プログラムデータ3084を記憶する。すなわち、開示の技術に係るプログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール3083として、例えばハードディスクドライブ3080に記憶される。具体的には、上記実施例で説明した制御部120の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ3080に記憶される。
また、上記実施例で説明した記憶部110の各テーブルに記憶されるデータのように、制御プログラムによる情報処理に用いられるデータは、プログラムデータ3084として、例えばハードディスクドライブ3080に記憶される。そして、CPU3020が、ハードディスクドライブ3080に記憶されたプログラムモジュール3083やプログラムデータ3084を必要に応じてRAM3012に読み出し、各種の手順を実行する。
なお、プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ハードディスクドライブ3080に記憶される場合に限られない。例えば、プログラムモジュール3083やプログラムデータ3084は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU3020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、制御プログラムに係るプログラムモジュール3083やプログラムデータ3084は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU3020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
[その他]
なお、本実施例で説明したプログラムは、インターネットなどのネットワークを介して配布することができる。また、プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
100 制御サーバ
110 記憶部
111 仮想マシンテーブル
112 ユーザグループテーブル
113 仮想スイッチテーブル
114 仮想ポートテーブル
115 グループテーブル
116 リソーステーブル
120 制御部
121 入力受付部
122 ユーザ管理部
123 クラウド制御部
124 グループ管理部
125 ネットワーク制御部
126 デスクトップ制御部
200 ユーザ端末
300 サーバコンピュータ
301 ハイパーバイザ
302 仮想スイッチ
303 仮想ポート
304 仮想マシン
305 仮想IF
306 仮想デスクトップ

Claims (8)

  1. ユーザを識別するユーザ識別情報と、該ユーザに用いられる仮想マシンのインタフェースを識別する仮想マシンインタフェース識別情報とを対応付けて記憶する仮想マシン情報記憶部と、
    ユーザグループを識別するユーザグループ識別情報と、該ユーザグループにより用いられる仮想ネットワークを識別する仮想ネットワーク識別情報とを対応付けて記憶するユーザグループ情報記憶部と、
    前記ユーザ識別情報と前記ユーザグループ識別情報とを含む接続要求を受信する受信部と、
    前記受信部により受信された前記接続要求に含まれる前記ユーザ識別情報を検索キーとして、前記仮想マシン情報記憶部から前記仮想マシンインタフェース識別情報を取得する仮想マシンインタフェース取得部と、
    前記受信部により受信された前記接続要求に含まれる前記ユーザグループ識別情報を検索キーとして、前記ユーザグループ情報記憶部から前記仮想ネットワーク識別情報を取得する仮想ネットワーク取得部と、
    前記仮想ネットワーク取得部により取得された前記仮想ネットワーク識別情報により識別される仮想ネットワークと、前記仮想マシンインタフェース取得部により取得された前記仮想マシンインタフェース識別情報により識別される仮想マシンインタフェースとを接続する接続処理を実行するネットワーク接続部と
    を備えたことを特徴とする制御サーバ。
  2. 前記受信部は、新たなユーザグループを作成するユーザグループ作成要求を更に受信し、
    前記ネットワーク接続部は、前記受信部により前記ユーザグループ作成要求が受信されると、新たに作成されるユーザグループにより用いられる仮想マシンをサーバに作成し、新たなユーザグループにより用いられる仮想ネットワークを作成し、該仮想マシンの仮想マシンインタフェースと該仮想ネットワークとを接続する接続処理を実行し、新たなユーザグループのユーザグループ識別情報と該仮想ネットワークの仮想ネットワーク識別情報とを対応付けてユーザグループ情報記憶部に格納することを特徴とする請求項1に記載の制御サーバ。
  3. 前記受信部は、新たなユーザグループを作成するユーザグループ作成要求を更に受信し、
    前記ネットワーク接続部は、前記受信部により前記ユーザグループ作成要求が受信されると、新たに作成されるユーザグループにより用いられる仮想ネットワークを作成し、新たなユーザグループのユーザグループ識別情報と該仮想ネットワークの仮想ネットワーク識別情報とを対応付けてユーザグループ情報記憶部に格納することを特徴とする請求項1に記載の制御サーバ。
  4. 前記仮想マシンが作成されるサーバに設定されて前記仮想ネットワークを形成する仮想スイッチを識別する仮想スイッチ識別情報と、該仮想ネットワークの仮想ネットワーク識別情報とを対応付けて記憶する仮想スイッチ情報記憶部を更に備え、
    前記ネットワーク接続部は、前記仮想ネットワーク取得部により取得された前記仮想ネットワーク識別情報を検索キーとして前記仮想スイッチ情報記憶部から前記仮想スイッチ識別情報を取得し、該仮想スイッチ識別情報により識別される仮想スイッチの仮想ポートを前記仮想ネットワークの仮想ネットワークインタフェースとして用いて、前記接続処理を実行することを特徴とする請求項1に記載の制御サーバ。
  5. 前記ユーザにより用いられる仮想マシンは、複数の異なる拠点に配置されたサーバのうち任意の拠点に配置されたサーバに作成され、
    前記受信部は、前記拠点を識別する拠点識別情報と前記ユーザ識別情報とを含む仮想マシン再配置要求を更に受信し、
    前記制御サーバは、
    前記ユーザ識別情報と、該ユーザ識別情報により識別されるユーザの仮想マシンが接続している仮想ネットワークを用いるユーザグループの前記ユーザグループ識別情報とを対応付けて記憶するグループ記憶部と、
    前記受信部により前記仮想マシン再配置要求が受信されると、前記ユーザ識別情報により識別されるユーザにより用いられている仮想マシンと同一の仮想マシンを、前記拠点識別情報により識別される拠点に配置されたサーバに作成する仮想マシン作成部と
    を更に備え、
    前記仮想マシンインタフェース取得部は、前記仮想マシン再配置要求に含まれる前記ユーザ識別情報を検索キーとして、前記仮想マシン情報記憶部から前記仮想マシンインタフェース識別情報を取得し、
    前記仮想ネットワーク取得部は、前記仮想マシン再配置要求に含まれる前記ユーザ識別情報を検索キーとして、前記グループ記憶部から前記ユーザグループ識別情報を取得し、取得したユーザグループ識別情報を検索キーとして前記ユーザグループ情報記憶部から前記仮想ネットワーク識別情報を取得し、
    前記ネットワーク接続部は、前記仮想ネットワークと接続するための仮想ネットワークインタフェースとして、前記拠点識別情報により識別されるサーバに設けられた仮想ネットワークインタフェースを用いて、前記接続処理を実行することを特徴とする請求項1に記載の制御サーバ。
  6. 前記ユーザにより用いられる仮想マシンは、複数の異なる拠点に配置されたサーバのうち任意の拠点に配置されたサーバに作成され、
    前記受信部は、前記サーバの性能に関する性能条件と前記ユーザ識別情報とを含む仮想マシン再配置要求を更に受信し、
    前記制御サーバは、
    前記ユーザ識別情報と、該ユーザ識別情報により識別されるユーザの仮想マシンが接続している仮想ネットワークを用いるユーザグループの前記ユーザグループ識別情報とを対応付けて記憶するグループ記憶部と、
    前記受信部により前記仮想マシン再配置要求が受信されると、前記ユーザ識別情報により識別されるユーザにより用いられている仮想マシンと同一の仮想マシンを、前記性能条件を満たす前記サーバに作成する仮想マシン作成部と
    を更に備え、
    前記仮想マシンインタフェース取得部は、前記仮想マシン再配置要求に含まれる前記ユーザ識別情報を検索キーとして、前記仮想マシン情報記憶部から前記仮想マシンインタフェース識別情報を取得し、
    前記仮想ネットワーク取得部は、前記仮想マシン再配置要求に含まれる前記ユーザ識別情報を検索キーとして、前記グループ記憶部から前記ユーザグループ識別情報を取得し、取得したユーザグループ識別情報を検索キーとして、前記ユーザグループ情報記憶部から前記仮想ネットワーク識別情報を取得し、
    前記ネットワーク接続部は、前記仮想ネットワークと接続するための仮想ネットワークインタフェースとして、前記仮想マシン作成部により仮想マシンが作成されたサーバに設けられた仮想ネットワークインタフェースを用いて、前記接続処理を実行することを特徴とする請求項1に記載の制御サーバ。
  7. 制御サーバで実行される制御方法であって、
    ユーザを識別するユーザ識別情報とユーザグループを識別するユーザグループ識別情報とを含む接続要求を受信する受信工程と、
    前記ユーザ識別情報と、前記ユーザに用いられる仮想マシンのインタフェースを識別する仮想マシンインタフェース識別情報とを対応付けて記憶する仮想マシン情報記憶部から、前記受信工程により受信された前記接続要求に含まれるユーザ識別情報を検索キーとして該仮想マシンインタフェース識別情報を取得する仮想マシンインタフェース取得工程と、
    前記ユーザグループ識別情報と、前記ユーザグループにより用いられる仮想ネットワークを識別する仮想ネットワーク識別情報とを対応付けて記憶するユーザグループ情報記憶部から、前記受信工程により受信された前記接続要求に含まれる前記ユーザグループ識別情報を検索キーとして該仮想ネットワーク識別情報を取得する仮想ネットワーク取得工程と、
    前記仮想ネットワーク取得工程により取得された前記仮想ネットワーク識別情報により識別される仮想ネットワークと、前記仮想マシンインタフェース取得工程により取得された前記仮想マシンインタフェース識別情報により識別される仮想マシンインタフェースとを接続する接続処理を実行するネットワーク接続工程と
    を含んだことを特徴とする制御方法。
  8. ユーザを識別するユーザ識別情報とユーザグループを識別するユーザグループ識別情報とを含む接続要求を受信する受信ステップと、
    前記ユーザ識別情報と、前記ユーザに用いられる仮想マシンのインタフェースを識別する仮想マシンインタフェース識別情報とを対応付けて記憶する仮想マシン情報記憶部から、前記受信ステップにより受信された前記接続要求に含まれるユーザ識別情報を検索キーとして該仮想マシンインタフェース識別情報を取得する仮想マシンインタフェース取得ステップと、
    前記ユーザグループ識別情報と、前記ユーザグループにより用いられる仮想ネットワークを識別する仮想ネットワーク識別情報とを対応付けて記憶するユーザグループ情報記憶部から、前記受信ステップにより受信された前記接続要求に含まれる前記ユーザグループ識別情報を検索キーとして該仮想ネットワーク識別情報を取得する仮想ネットワーク取得ステップと、
    前記仮想ネットワーク取得ステップにより取得された前記仮想ネットワーク識別情報により識別される仮想ネットワークと、前記仮想マシンインタフェース取得ステップにより取得された前記仮想マシンインタフェース識別情報により識別される仮想マシンインタフェースとを接続する接続処理を実行するネットワーク接続ステップと
    をコンピュータに実行させるための制御プログラム。
JP2012044035A 2012-02-29 2012-02-29 制御サーバ、制御方法及び制御プログラム Active JP5682932B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012044035A JP5682932B2 (ja) 2012-02-29 2012-02-29 制御サーバ、制御方法及び制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012044035A JP5682932B2 (ja) 2012-02-29 2012-02-29 制御サーバ、制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2013183203A JP2013183203A (ja) 2013-09-12
JP5682932B2 true JP5682932B2 (ja) 2015-03-11

Family

ID=49273606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012044035A Active JP5682932B2 (ja) 2012-02-29 2012-02-29 制御サーバ、制御方法及び制御プログラム

Country Status (1)

Country Link
JP (1) JP5682932B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015040788A1 (ja) * 2013-09-17 2015-03-26 日本電気株式会社 情報処理装置、及び、システム設計支援方法
US20160241535A1 (en) * 2013-10-03 2016-08-18 Nec Solution Innovators, Ltd. Terminal authentication and registration system, method for authenticating and registering terminal, and storage medium
JPWO2022054291A1 (ja) * 2020-09-14 2022-03-17

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369333B2 (en) * 2009-10-21 2013-02-05 Alcatel Lucent Method and apparatus for transparent cloud computing with a virtualized network infrastructure
US8407366B2 (en) * 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
JP5482453B2 (ja) * 2010-05-27 2014-05-07 富士通株式会社 ルータ、情報処理装置及びプログラム
JP4721082B1 (ja) * 2010-09-28 2011-07-13 株式会社Csk Vpn接続システム

Also Published As

Publication number Publication date
JP2013183203A (ja) 2013-09-12

Similar Documents

Publication Publication Date Title
US10523748B2 (en) Managing health status of network devices in a distributed global server load balancing system
CN110113441B (zh) 实现负载均衡的计算机设备、系统和方法
JP6280641B2 (ja) アカウントログイン方法、デバイス及びシステム
US20200356401A1 (en) Method for Accessing Remote Acceleration Device by Virtual Machine, and System
JP5582344B2 (ja) 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
JP6888078B2 (ja) ネットワーク機能nf管理方法及びnf管理装置
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
JP7375203B2 (ja) アカウントアクセス方法及びその装置、記憶媒体、並びに電子機器
WO2014044075A1 (en) A data-sharing method, terminal, server, and system
US8930547B2 (en) Techniques for achieving storage and network isolation in a cloud storage environment
JP2008181427A (ja) シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム
EP3160084B1 (en) Fibre channel storage area network configuration method and apparatus
CN112910685B (zh) 实现对容器网络统一管理的方法及装置
CN104158868B (zh) 一种文件传输方法和管理服务器
CN106790759B (zh) 基于SDN的IPv4/IPv6转换系统和方法
US20140337471A1 (en) Migration assist system and migration assist method
JP7132494B2 (ja) マルチクラウド運用プログラム、およびマルチクラウド運用方法
JP5682932B2 (ja) 制御サーバ、制御方法及び制御プログラム
CN108650337B (zh) 一种服务器探测方法、系统及存储介质
WO2017181626A1 (zh) 友邻共享网络建立方法、使用方法及友邻共享网络系统
JP2016144186A (ja) 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム
US20140089430A1 (en) Data-sharing method, terminal, server, and system
JP5491934B2 (ja) サーバ装置、及び情報処理システムの制御方法、並びにプログラム
US9465541B2 (en) Apparatus and method for constructing storage virtualization network
CN111385324A (zh) 一种数据通信方法、装置、设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150107

R150 Certificate of patent or registration of utility model

Ref document number: 5682932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250