JP5957965B2 - 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム - Google Patents

仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム Download PDF

Info

Publication number
JP5957965B2
JP5957965B2 JP2012047036A JP2012047036A JP5957965B2 JP 5957965 B2 JP5957965 B2 JP 5957965B2 JP 2012047036 A JP2012047036 A JP 2012047036A JP 2012047036 A JP2012047036 A JP 2012047036A JP 5957965 B2 JP5957965 B2 JP 5957965B2
Authority
JP
Japan
Prior art keywords
request
load
information
similar
virtual machine
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
JP2012047036A
Other languages
English (en)
Other versions
JP2013182509A (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 JP2012047036A priority Critical patent/JP5957965B2/ja
Publication of JP2013182509A publication Critical patent/JP2013182509A/ja
Application granted granted Critical
Publication of JP5957965B2 publication Critical patent/JP5957965B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想化システムに関し、特に、仮想マシンの負荷分散を行う技術に関する。
物理マシン上(仮想化サーバ)で複数の仮想マシンを動作させる仮想化技術がある。仮想化技術を適用した環境(仮想化環境)においては、物理マシンとストレージが用意され、仮想化サーバとストレージはストレージ・エリア・ネットワーク(SAN)などで接続される。また仮想化サーバとストレージは多対多の関係で接続される。
仮想化サーバ上で動作する各仮想マシンは、仮想化サーバのCPUやメモリ、I/Oを共有するため、大きな負荷を与えるリクエストは他の仮想マシンに影響を与えてしまう。しかし大きな負荷を与えるか否かはリクエストを実行するまで判断できないという問題があった。
また、共有リソースの内、CPU、メモリに比べ、I/Oの速度は特に遅く、仮想マシンが例えばHTTP、WebDAV、FTP、CIFS等の通信プロトコルによりファイルを主に扱う機能を提供している場合において、単純に仮想マシンの負荷によってリクエストを負荷分散した場合、ストレージの負荷は考慮されず、またキャッシュも考慮されないため、I/Oがボトルネックとなり性能が発揮できない場合が考えられる。
このような状況における負荷分散の方法が、特許文献1及び特許文献2に開示されている。特許文献1に開示の技術は、サーバとストレージの負荷を調整することにより、特許文献2に開示の技術は、Webサーバへのリクエストに対し区切り文字を利用してサーバに与える負荷を予測することにより、それぞれ負荷分散を行っている
ここで、関連技術として、過去の電力負荷データを蓄積し、過去の電力負荷データを修正することで予測データを生成する技術が特許文献3に開示されている。
また、別の関連技術として、負荷情報と、優先順位情報と、制約条件情報とに基づいて、物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバを選択する技術が特許文献4に開示されている。
さらに、別の関連技術として、ロードバランサを備える仮想化システムが、特許文献5に開示されている。
特開2008−015888号公報 特開2008−225651号公報 特開2011−114944号公報 特開2011−013822号公報 特開2009−265778号公報
特許文献1に開示の技術は、サーバとストレージの負荷を調整する方法であるが、リクエストを解析しないため事前に負荷予測できず高負荷を発生させてしまい、複数の種類の仮想マシンが動作する仮想環境においては問題が発生する可能性がある。
特許文献2に開示の技術は、Webサーバへのリクエストに対し区切り文字を利用してサーバに与える負荷を予測する方法であるが、HTTPプロトコルのみを想定しリクエストに区切り文字があることが前提のため、上記のようなHTTP以外のプロトコルが使用されるような環境では適用できない。
特許文献3に開示の技術は、任意の日の電力需要量を予測する発明に関するものであり、電力需要に関わるため時間単位での負荷計算となるが、仮想化システムにおいては時間単位で負荷を計算することは適切ではない。
特許文献4に開示の技術は、消費電力低減のために物理サーバに仮想マシンを再配置する特許であるが、消費電力低減を目的としており負荷分散ではない。また、高負荷時を考慮すると再配置は問題解決にならない。
また、特許文献5に開示の技術は、仮想マシンへの資源の割り当てに関するものであり、本発明の内容である仮想マシンへのリクエストの割り振りとは目的が異なる。また一般に資源は有限であり、有限の資源量を前提とした場合において、無限の資源量を前提とする特許文献5の方式には限界がある。
(発明の目的)
本発明の目的は、上述の課題を解決し、新規リクエストの負荷を予測し適切な仮想マシンへ転送する仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラムを提供することである。
本発明の第1の仮想化システムは、リクエストを送信するクライアント端末と、仮想マシンが動作する仮想化サーバと、仮想マシンが使用するストレージと、リクエストを適切な仮想マシンへ転送する負荷分散装置とを備え、負荷分散装置が、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択手段とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含む。
本発明の第1の負荷分散装置は、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択手段とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含む。
本発明の第1の負荷分散方法は、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含み、リクエスト負荷データベースが、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する。
本発明の第1の負荷分散プログラムは、クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシンのキャッシュを考慮して、転送先として適切な仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含み、リクエスト負荷データベースが、クライアント端末から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン及びストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する。
本発明によれば、新規リクエストの負荷を予測し適切な仮想マシンへ転送することができる。
本発明の第1の実施の形態による仮想化システムの構成を示すブロック図である。 本発明の第1の実施の形態による負荷分散装置の構成を示すブロック図である。 本発明の第1の実施の形態によるリクエスト負荷データベースの構成例を示す図である。 本発明の第1の実施の形態によるリクエストデータベースの構成例を示す図である。 本発明の第1の実施の形態によるプロトコルデータベースの構成例を示す図である。 本発明の第1の実施の形態による仮想化システムの動作を示すフローチャートである。 本発明の第1の実施の形態による仮想化システムの動作を示すフローチャートである。 本発明の第1の実施の形態による仮想化システムの動作を示すフローチャートである。 本発明の第2の実施の形態による仮想化システムの動作を示すフローチャートである。 本発明の仮想化システムの最小限の構成を示すブロック図である。 本発明の負荷分散装置のハードウェア構成例を示すブロック図である。
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。
なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は本発明の第1の実施の形態による仮想化システム100の構成を示すブロック図である。図1を参照すると、本実施の形態による仮想化システム100は、クライアント端末1000と、負荷分散装置2000と、仮想化サーバ3000(3000−1〜3000−2)と、仮想化サーバ3000上で動作する仮想マシン4000と、ストレージ5000(5000−1〜5000−2)とを備える。
なお、本実施の形態では、クライアント端末1000を1台構成とし、仮想化サーバ3000及びストレージ5000をそれぞれ2台構成としたが、これに限定はされない。また、仮想化サーバ3000では、1台以上の仮想マシン4000が動作する。
負荷分散装置2000は、クライアント端末1000からの要求を仮想化サーバ3000−1又は仮想化サーバ3000−2に転送する機能を有し、一般にロードバランサとも呼ばれる。負荷分散装置2000は、要求を分散して仮想化サーバ3000−1及び仮想化サーバ3000−2送信し、各仮想化サーバ3000が快適な応答速度を保つことを目的とする。図2は、本実施の形態による負荷分散装置2000の構成を示すブロック図である。
図2を参照すると、負荷分散装置2000は、リクエスト受信手段201と、新規受信リクエストのプロトコルやリクエスト種別、オプションを解析するプロトコル解析手段202と、過去のリクエストのデータから類似リクエストを検索する類似リクエスト検索手段203と、過去のリクエストの履歴を確認する履歴確認手段204と、現在の負荷を確認する負荷確認手段205と、類似リクエスト、リクエスト履歴、現在の負荷から新規受信リクエストを処理させる仮想マシン4000を選択する対象マシン選択手段206と、リクエストを転送するリクエスト転送手段205と、転送したリクエストに対するレスポンスを受信するレスポンス受信手段211と、転送したリクエストが与えた負荷を確認するリクエスト負荷確認手段210と、クライアント端末1000にレスポンスを返すレスポンス転送手段209と、構成要素の負荷を取得する構成要素負荷取得手段212とを備える。
また、負荷分散装置2000は、データとして各プロトコルのパラメータやオプションを保持するプロトコルデータベース251と、過去のリクエストによる構成要素への負荷を保持するリクエスト負荷データベース252と、仮想マシンで転送したリクエストの情報を蓄積するリクエストデータベース253と、過去からの負荷情報を保持する負荷データベース254とを備える。
リクエスト受信手段201は、クライアント端末1000からのリクエストを受信し、プロトコル解析手段202に処理を移す。
プロトコル解析手段202は、プロトコルデータベース251を参照し、受信したリクエストのプロトコルと、リクエスト種別と、オプションを解析する。
類似リクエスト検索手段203は、リクエスト負荷データベース252から解析されたリクエストと一致するリクエストがある場合は該リクエストを選択し類似リクエストに設定する。一致するリクエストがない場合は類似するリクエストを検索し、類似リクエストに設定する。
履歴確認手段204は過去のリクエストの実行履歴及び転送先の仮想マシン4000を確認する。
負荷確認手段205は、負荷データベース254を利用し、類似リクエストが負荷を与えた構成要素の負荷を確認する。
対象マシン選択手段206は、リクエストの負荷が許容できる仮想マシン4000の内、キャッシュを考慮し、リクエストを転送する仮想マシン4000を選択する。そのため、対象マシン選択手段206は、類似リクエスト検索手段203が取得した類似リクエストによる負荷と、負荷確認手段205が確認した構成要素の負荷の比較に加え、履歴確認手段204が確認したリクエスト数から、キャッシュヒット率が最も高いと想定される仮想マシン4000を選択する。
リクエスト転送手段205は、対象マシン選択手段206が選択した仮想マシン4000にリクエストを転送する。
レスポンス受信手段211は、リクエスト転送手段205が転送したリクエストに対するレスポンスを受信する。
リクエスト負荷確認手段210は、リクエスト転送後からレスポンス受信までの負荷と、現在実行中のリクエスト負荷の差を確認することで、レスポンスを受信したリクエストの負荷を決定する。
レスポンス転送手段209は、負荷分散装置2000が受け取ったレスポンスをクライアント端末1000に返却する。
構成要素負荷取得手段212は、定期的に構成要素の現在負荷を取得し、負荷データベース254に格納する。
ここで、図3は、リクエスト負荷データベース252の構成例を示す図である。図3を参照すると、リクエスト負荷データベース252は、新規リクエストごとに、プロトコル、リクエスト種別、オプション、構成要素(仮想化サーバ3000、仮想マシン4000、ストレージ5000)の負荷情報、及びリクエストが負荷をかけた仮想マシン4000及びストレージ5000(以下、対象仮想マシン4000及び対象ストレージ5000と称する)の情報を格納する。
プロトコルは、新規リクエストの通信プロトコルを示す情報である。
リクエスト種別は、新規リクエストの種別を示す情報である。
オプションは、リクエストを実行する対象のファイルやパス等を示す情報である。

構成要素の負荷情報は、対象の仮想マシン4000のCPU負荷量、メモリ負荷量、I/O量、及び、対象ストレージ5000のディスク時間についての情報を含む。
図4は、リクエストデータベース253の構成例を示す図である。リクエストデータベース253は、仮想マシンに転送されたリクエストを、リクエスト番号、転送先サーバ、転送日時、実行中フラグの組み合わせで管理する。
実行中フラグは、該リクエストが現在実行中(リクエスト転送を行ったがレスポンスを未だ受信していないリクエスト)であるか否かを示す情報であり、対象マシン選択手段206が、リクエストデータベース253に登録時にフラグを設定し、リクエスト負荷確認手段210がレスポンス受信時にリセットする。図4の例では、実行中である場合を”1”、実行中でない場合を”0”としてフラグ管理しているが、これに限定はされない。
図5は、プロトコルデータベース251の好例性を示す図である。プロトコルデータベース251は、プロトコル種別と、リクエスト種別と、オプション種別との組み合わせに対する優先度を定義する。
本発明は、上述の構成を有し、リクエストを事前に受け取る負荷分散装置2000において、過去に受信したリクエストが仮想マシン4000やストレージ5000に与えた負荷情報を格納するリクエスト負荷データベース252を保持し、新規リクエスト受信時にリクエスト負荷データベース252を検索する類似リクエスト検索手段203を備えることで、複数のプロトコルに対し、新規リクエストの負荷を事前予測し、他の仮想マシンへ4000の影響を最小限にとどめ、かつボトルネックを発生させない負荷分散を実現する。
また過去のリクエストの転送先を確認する履歴確認手段204と、現在のシステムの構成要素の負荷を確認する負荷確認手段205を備えることで、キャッシュの利用効率を最も得られるように負荷分散を行う。さらに、レスポンス受信時に負荷情報からリクエストの負荷を計算するリクエスト負荷確認手段210を備えることで、リクエストの負荷を蓄積かつ補正し、負荷予測の精度を向上する。
(第1の実施の形態の動作の説明)
次に、本実施の形態による仮想化システム100の動作について、図6、図7、図8を用いて詳細に説明する。
図6は、類似リクエスト検索手段203が類似リクエストを検索する際の動作を示すフローチャートである。
負荷分散装置2000がクライアント端末1000から新規リクエストを受信すると、プロトコル解析手段202が該新規リクエストのプロトコル、リクエスト種別及びオプションを解析し、類似リクエスト検索手段203が、該新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストを、リクエスト負荷データベース252から検索する(A1、A2)。
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがある場合、類似リクエスト検索手段203は、該一致するリクエストを類似リクエストに設定する(A7)。
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがない場合、類似リクエスト検索手段203は、新規リクエストのオプションにファイルが指定されているか否かを確認する(A3)。
新規リクエストのオプションにファイルが含まれている場合、類似リクエスト検索手段203は、該新規リクエストのオプションからファイルの情報を抽出し(A4)、該ファイルの情報をオプションに含むリクエストを、リクエスト負荷データベース252から検索する(A5)。該検索は、全てのプロトコル、リクエスト種別を対象として検索が行われていることになる。
該ファイルの情報をオプションに含むリクエストが負荷データベース252内に有る場合、類似リクエスト検索手段203は、該レコードを類似リクエストに設定する(A7)。新規リクエストのオプションでファイルが指定されている場合、オプションが一致するリクエストは、キャッシュを有効利用できると考えられるからである。
新規リクエストのオプションにファイルが指定されていない場合(A3)、及びファイルは指定されているが該ファイルの情報を含むリクエストが負荷データベース252内に無い場合(A6)、類似リクエスト検索手段203は、まず、プロトコルデータベース251で定義されている優先度を参照し、優先度が低い組み合わせを検索対象から除外する(A8)。
次いで、類似リクエスト検索手段203は、ステップA8で場外されなかった検索対象から、新規リクエストと同一のプロトコル及び同一のリクエスト種別を含むリクエストを、リクエスト負荷データベース252を検索する(A9、A10)。
類似リクエスト検索手段203は、検索条件に一致するリクエストがある場合は、該リクエストを類似リクエストと判断し(A7)、一致するリクエストが無い場合は、類似リクエストなしと判断する(A11)。
図7は、対象マシン選択手段206がリクエストの転送先の仮想マシン4000を選択する際の動作を示すフローチャートである。
はじめに、対象マシン選択手段206は、類似リクエスト検索手段203が検索した結果に基づき、類似リクエストの有無を確認する(B1)。
類似リクエストが無い場合、対象マシン選択手段206は、負荷確認手段205を用いて負荷データベース254を参照し、全ての仮想マシン4000の負荷を確認し、最も負荷の低い仮想マシン4000をリクエスト転送先として選択する(B8)。
そして、対象マシン選択手段206は、リクエストデータベース253に新規リクエストを登録する(B10)。この時、該新規リクエストの実効フラグは”1”に設定される。
類似リクエストがある場合、対象マシン選択手段206は、類似リクエスト実行以降に実行されたリクエストが少ないほどキャッシュを有効利用できると判断し、次の動作を行う。
まず、対象マシン選択手段206は、各類似リクエストについて、該類似リクエストが負荷を与えた構成要素を確認する(B2)。
次に、対象マシン選択手段206は、ステップB2の処理の内、仮想マシン4000について、各類似リクエストの実行後に実行されたリクエスト(以下、後続リクエストと称す)の数を確認する(B3)。そして、各類似リクエストを後続リクエストの昇順に並べ替える(B4)。
次に、対象マシン選択手段206は、各類似リクエストについて、後続リクエストの数の少ない順に、構成要素に対し該類似リクエストが与えた負荷と、構成要素の現在の負荷を比較し(B5)、該類似リクエストによる負荷が許容範囲内であるか否か確認する(B6)。
該類似リクエストによる負荷が許容範囲内の場合、対象マシン選択手段206は、該類似リクエストの対象仮想マシン4000をリクエスト転送先に設定し(B9)、リクエストデータベース253にリクエストを登録する(B10)。
該類似リクエストによる負荷が許容範囲外の場合、対象マシン選択手段206は、次の類似リクエストに対しステップB5、ステップB6の確認を行う。次の類似リクエストが無い場合は、類似リクエストが無い場合と同様にステップB8の動作を行う。
上記により、後続リクエストがより少なく、負荷が許容範囲内である類似リクエストの対象仮想化サーバ3000が、新規リクエストの転送先となる。
図8は、リクエスト負荷確認手段210がリクエストの負荷を決定する動作を示すフローチャートである。
レスポンス受信手段211が仮想化サーバ3000上の仮想マシン4000からのレスポンスを受信すると、リクエスト負荷確認手段210は、レスポンスを返した仮想マシン4000上で実行中のリクエストの一覧を、リクエストデータベース254から取得する(C1)。このとき、リクエスト負荷確認手段210は、実行中フラグを参照することで、実行中のリクエストを抽出する。
次いで、リクエスト負荷確認手段210は、取得したリクエスト一覧の各リクエストについて、リクエスト負荷データベース252を参照して、各リクエストが与える負荷量を取得し、それを合計する(C2)。
次に、リクエスト負荷確認手段210は、リクエスト転送時からレスポンス受信時までの対象仮想マシン4000、及びストレージ5000の負荷量を負荷データベース254から取得し、それを合計する(C3)。
そしてリクエスト負荷確認手段210は、ステップC3で算出した負荷量の合計値から、ステップC2で取得した負荷量の合計値を引く(C4)。
次に、リクエスト負荷確認手段210は、現在実行中のリクエストの一覧の中に、負荷情報がないリクエストがあるか否かを確認する(C5)。
負荷情報がないリクエストがあった場合、リクエスト負荷確認手段210は、ステップC4で算出した負荷量を、負荷情報がないリクエスト数で割ることで、負荷情報が無いリクエストの負荷量を算出し、負荷情報がない各リクエストに算出した該負荷量を設定する(C6)。
さらに、リクエスト負荷確認手段210は、レスポンスを受けたリクエストに対し、負荷量があるかを確認する(C7)。
レスポンスを受けたリクエストに負荷量がある場合、リクエスト負荷確認手段210は、既知リクエストの負荷量の補正を行うため、レスポンスを受けたリクエストの負荷量とステップC4で算出した負荷量と、ステップC6で算出した負荷量との平均値を算出する(C8)。そして、該平均値を、レスポンスを受けたリクエストの負荷量としてリクエスト負荷データベース252に格納する(C9)。
また、リクエスト負荷確認手段210は、レスポンスを受けたリクエストについて、リクエストデータベース253の実行中フラグをリセットする。
(第1の実施の形態による効果)
本実施の形態による第1の効果は、仮想マシンが高負荷となること、及びそれに伴い他の仮想マシンへ影響を与えることを防げることである。
その理由は、過去のリクエストによる負荷情報をリクエスト負荷データベース252に保存することで、リクエストの負荷を事前予測し、負荷が許容できる仮想マシンを選択するためである。
本実施の形態による第2の効果は、特定のプロトコルではなく複数のプロトコルを対象に負荷分散を行えることである。
その理由は、プロトコルデータベース251を利用することでプロトコルに応じた解析を行い、またその後の処理においてプロトコルに依存する処理はプロトコルデータベース251を参照しているためである。
本実施の形態による第3の効果は、キャッシュを考慮して負荷分散を行えることである。
その理由は対象マシン選択手段206において、キャッシュヒット率を向上させるため、類似リクエストを実行した以降に実行した別のリクエストが少ない仮想マシン4000を選択するためである。
なお、本発明の課題を解決できる最小限の構成を図10に示す。仮想化システム100が、リクエストを送信するクライアント端末1000と、仮想マシン4000が動作する仮想化サーバ3000と、仮想マシン4000が使用するストレージ5000と、リクエストを適切な仮想マシン4000へ転送する負荷分散装置2000とを備え、負荷分散装置2000が、クライアント端末1000から過去に受信したリクエストに関し、当該リクエストに関する情報と、当該リクエストが仮想マシン4000及びストレージ5000に与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベース252と、新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベース252から類似リクエストを検索する類似リクエスト検索手段203と、類似リクエストに基づき新規リクエストの負荷を予測するとともに、仮想マシン4000のキャッシュを考慮して、転送先として適切な仮想マシン4000を選択する対象マシン選択手段206とを備え、リクエスト負荷情報が、リクエストに係る通信プロトコルの情報と、リクエストの種別の情報と、リクエストの実行対象を指定するオプションの情報とを含むことで、上述した本発明の課題を解決することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明を行う。
図9は、本実施の形態による類似リクエスト検索手段203が類似リクエストを検索する際の動作を示すフローチャートである。
負荷分散装置2000がクライアント端末1000からリクエストを受信すると、プロトコル解析手段202が該リクエストの解析を行い、類似リクエスト検索手段203は、解析されたリクエスト(新規リクエスト)と、プロトコル、リクエスト種別及びオプションが一致するリクエストを、リクエスト負荷データベース252から検索する(D1、D2)。
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストが有る場合、類似リクエスト検索手段203は、該リクエストを類似リクエストに設定する(D5)。
検索の結果、新規リクエストとプロトコル、リクエスト種別及びオプションが一致するリクエストがない場合、類似リクエスト検索手段203は、各オプションが残っているかを確認し(D3)、残っている場合は最後のオプションを除外する(D4)、この状態で再度検索をおこない(D1)、一致するリクエストがあるかを確認する(D2)。これを全てのオプションに対し実行し一致がない場合は類似リクエストなしと設定する(D6)。
次に、本発明の負荷分散装置2000のハードウェア構成例について、図11を参照して説明する。図11は、負荷分散装置2000のハードウェア構成例を示すブロック図である。
図11を参照すると、本発明の負荷分散装置2000は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)2001、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部2002、ネットワークを介してデータの送受信を行う通信部2003、入力装置2005や出力装置2006及び記憶装置2007と接続してデータの送受信を行う入出力インタフェース部2004、上記各構成要素を相互に接続するシステムバス2008を備えている。記憶装置2007は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
本発明の負荷分散装置2000の各機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置2007に格納し、そのプログラムを主記憶部2002にロードしてCPU2001で実行することにより、ソフトウェア的に実現することも可能である。
また、本発明のクライアント端末1000、仮想化サーバ3000も、上記のようなハードウェア構成を有し、それぞれが有する各機能をハードウェア的又はソフトウェア的に実現する。
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
リクエストを送信するクライアント端末と、
仮想マシンが動作する仮想化サーバと、
前記仮想マシンが使用するストレージと、
前記リクエストを適切な前記仮想マシンへ転送する負荷分散装置とを備え、
前記負荷分散装置が、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択手段とを備え、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含む
ことを特徴とする仮想化システム。
(付記2)
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記1に記載の仮想化システム。
(付記3)
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記2に記載の仮想化システム。
(付記4)
前記負荷分散装置が、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
前記類似リクエスト検索手段は、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
前記プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
付記3に記載の仮想化システム。
(付記5)
前記類似リクエスト検索手段が、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストな無いと判断する
ことを特徴とする付記4に記載の仮想化システム。
(付記6)
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースを備え、
前記対象マシン選択手段は、
前記リクエスト負荷データベースと前記負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記1から付記5の何れか1項に記載の仮想化システム。
(付記7)
前記負荷分散装置が、
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースと、
前記リクエストデータベースにアクセスして情報を取得する履歴確認手段とを備え、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認手段が、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択手段が、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記6に記載の仮想化システム。
(付記8)
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記6又は付記7に記載の仮想化システム。
(付記9)
前記負荷分散装置が、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記類似リクエストが無かった場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記1から付記8の何れか1項に記載の仮想化システム。
(付記10)
前記負荷分散装置が、
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認手段を備え、
前記リクエスト負荷確認手段は、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記8又は付記9に記載の仮想化システム。
(付記11)
前記リクエスト負荷確認手段は、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記10に記載の仮想化システム。
(付記12)
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択手段とを備え、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含む
ことを特徴とする負荷分散装置。
(付記13)
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記12に記載の負荷分散装置。
(付記14)
前記類似リクエスト検索手段は、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記13に記載の負荷分散装置。
(付記15)
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
前記類似リクエスト検索手段は、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
前記プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記14に記載の負荷分散装置。
(付記16)
前記類似リクエスト検索手段が、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記15に記載の負荷分散装置。
(付記17)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースを備え、
前記対象マシン選択手段は、
前記リクエスト負荷データベースと前記負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記13から付記16の何れか1項に記載の負荷分散装置。
(付記18)
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースと、
前記リクエストデータベースにアクセスして情報を取得する履歴確認手段とを備え、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認手段が、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択手段が、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記17に記載の負荷分散装置。
(付記19)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記17又は付記18に記載の負荷分散装置。
(付記20)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
前記類似リクエストが無かった場合、
前記負荷確認手段が、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択手段が、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記12から付記19の何れか1項に記載の負荷分散装置。
(付記21)
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認手段を備え、
前記リクエスト負荷確認手段は、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記19又は付記20に記載の負荷分散装置。
(付記22)
前記リクエスト負荷確認手段は、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記21に記載の負荷分散装置。
(付記23)
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散方法。
(付記24)
前記類似リクエスト検索ステップで、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記23に記載の負荷分散方法。
(付記25)
前記類似リクエスト検索ステップで、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記24に記載の負荷分散方法。
(付記26)
前記類似リクエスト検索ステップで、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断し、
前記プロトコルデータベースが、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義する
ことを特徴とする付記25に記載の負荷分散方法。
(付記27)
前記類似リクエスト検索ステップで、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記26に記載の負荷分散方法。
(付記28)
前記対象マシン選択ステップで、
前記リクエスト負荷データベースと負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択し、
前記負荷データベースが、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷の情報を格納する
ことを特徴とする付記24から付記27の何れか1項に記載の負荷分散方法。
(付記29)
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースにアクセスして情報を取得する履歴確認ステップを、履歴確認手段が実行し、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認ステップで、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択ステップで、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記28に記載の負荷分散方法。
(付記30)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認ステップを、負荷確認手段が実行し、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認ステップで、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択ステップで、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記28又は付記29に記載の負荷分散方法。
(付記31)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認ステップを、負荷確認手段が実行し、
前記類似リクエストが無かった場合、
前記負荷確認ステップで、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択ステップで、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記23から付記30の何れか1項に記載の負荷分散方法。
(付記32)
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認ステップを、深確認手段が実行し、
前記リクエスト負荷確認ステップで、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記30又は付記31に記載の負荷分散方法。
(付記33)
前記リクエスト負荷確認ステップで、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記32に記載の負荷分散方法。
(付記34)
クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、
新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエスト検索手段に実行させ、
前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、
前記リクエスト負荷情報が、
前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
前記リクエスト負荷データベースが、
前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
ことを特徴とする負荷分散プログラム。
(付記35)
前記類似リクエスト検索処理で、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記34に記載の負荷分散プログラム。
(付記36)
前記類似リクエスト検索処理で、
前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
ことを特徴とする付記35に記載の負荷分散プログラム。
(付記37)
前記類似リクエスト検索処理で、
前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
プロトコルデータベースを参照し、
優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断し、
前記プロトコルデータベースが、
前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義する
ことを特徴とする付記36に記載の負荷分散プログラム。
(付記38)
前記類似リクエスト検索処理で、
検索条件に一致するリクエスト負荷情報がない場合、類似リクエストが無いと判断する
ことを特徴とする付記37に記載の負荷分散プログラム。
(付記39)
前記対象マシン選択処理で、
前記リクエスト負荷データベースと負荷データベースを参照し、
前記類似リクエストが、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、
許容範囲内であると判断した場合、該類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択し、
前記負荷データベースが、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷の情報を格納する
ことを特徴とする付記35から付記38の何れか1項に記載の負荷分散プログラム。
(付記40)
前記仮想マシンに転送したリクエストの情報を格納するリクエストデータベースにアクセスして情報を取得する履歴確認処理を、履歴確認手段に実行させ、
前記リクエストデータベースが、
当該リクエストについて、転送先の前記仮想マシンと、転送日時と、該リクエストが現在実行中であるか否かを示す実行中フラグとを組み合わせて格納し、
前記類似リクエストが複数あった場合、
前記履歴確認処理で、
該類似リクエストの実行後に実行された後続リクエストの数を、各前記類似リクエストについて確認し、
前記対象マシン選択処理で、
前記負荷が許容範囲内である前記類似リクエストのうち、前記後続リクエストの数が最も少ない前記類似リクエストの転送先の前記仮想マシンを、前記新規リクエストの転送先として選択する
ことを特徴とする付記39に記載の負荷分散プログラム。
(付記41)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認処理を、負荷確認手段に実行させ、
前記負荷が許容範囲内である前記類似リクエストがない場合、
前記負荷確認処理で、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択処理で、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記39又は付記40に記載の負荷分散プログラム。
(付記42)
前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認処理を、負荷確認手段に実行させ、
前記類似リクエストが無かった場合、
前記負荷確認処理で、
前記負荷データベースを参照して前記負荷情報を取得し、
前記対象マシン選択処理で、
前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
ことを特徴とする付記34から付記41の何れか1項に記載の負荷分散プログラム。
(付記43)
前記仮想マシンからレスポンスを受信したリクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷を計算するリクエスト負荷確認処理を、深確認手段に実行させ、
前記リクエスト負荷確認処理で、
前記リクエストデータベースから、前記仮想マシンで現在実行中である前記リクエストの一覧を取得し、
前記リクエスト負荷データベースを参照して、各リクエストが前記仮想マシン、前記仮想化サーバ、及び前記ストレージ与えた負荷量を取得し、前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、各リクエストの負荷量を合算するとともに、
前記リクエスト負荷データベースを参照して、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷量を算出し、
前記仮想マシン、前記仮想化サーバ、及び前記ストレージごとに、前記レスポンスを受信したリクエストが転送された時から該レスポンスを受信した時までの負荷量から、前記合算した負荷量を引くことで、前記レスポンスを受信したリクエストの負荷量を算出し、
前記算出した負荷量及び当該リクエストに関する情報を、前記リクエスト負荷データベースに格納する
ことを特徴とする付記41又は付記42に記載の負荷分散プログラム。
(付記44)
前記リクエスト負荷確認処理で、
前記現在実行中のリクエストについて、前記リクエスト負荷データベースに負荷情報が存在しなかった場合、前記合算した負荷量と負荷情報が存在したリクエスト数を用いて、負荷情報が存在した当該リクエストの負荷量の平均値を算出し、
前記平均値を、前記負荷情報が存在しなかった当該リクエストの負荷量とする
ことを特徴とする付記43に記載の負荷分散プログラム。
本発明によれば、仮想化環境など、複数の機能を持ったサーバとストレージで構成され、かつ複数のプロトコルを扱う環境における負荷分散技術に適用できる。
100:仮想化システム
1000:クライアント端末
2000:負荷分散装置
201:リクエスト受信手段
202:プロトコル解析手段
203:類似リクエスト検索手段
204:履歴確認手段
205:負荷確認手段
206:対象マシン選択手段
205:リクエスト転送手段
209:レスポンス転送手段
210:リクエスト負荷確認手段
211:レスポンス受信手段
212:構成要素負荷取得手段
2001:CPU
2002:主記憶部
2003:通信部
2004:入出力インタフェース部
2005:入力装置
2006:出力装置
2007:記憶装置
2008:システムバス
3000(3000−1〜3000−2):仮想化サーバ
4000:仮想マシン
5000(5000−1〜5000−2):ストレージ

Claims (9)

  1. リクエストを送信するクライアント端末と、
    仮想マシンが動作する仮想化サーバと、
    前記仮想マシンが使用するストレージと、
    前記リクエストを適切な前記仮想マシンへ転送する負荷分散装置とを備え、
    前記負荷分散装置が、
    前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記ストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
    新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
    前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択手段と
    を備えることを特徴とする仮想化システム。
  2. 前記負荷分散装置が、
    各前記リクエストについて、転送先の前記仮想マシンと、転送日時とを含む情報を格納するリクエストデータベースと、
    前記リクエストデータベースにアクセスして、各前記類似リクエストを実行した前記仮想マシンそれぞれについて、該類似リクエストの実行後に実行された後続リクエストの数を確認する履歴確認手段と
    前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
    を備え、
    前記対象マシン選択手段が、
    前記リクエスト負荷データベースと前記負荷データベースを参照し、
    各前記類似リクエストについて、転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージに与えた負荷と、該転送先の前記仮想マシン、前記仮想化サーバ、及び前記ストレージの現在の負荷とを比較して、該類似リクエストの負荷が、前記現在の負荷の状況に対して許容範囲内であるか否かを判断し、前記負荷が許容範囲内である前記類似リクエストを実行した前記仮想マシンのうち、前記後続リクエストの数が最も少ない前記仮想マシンを、前記新規リクエストの転送先として選択する
    ことを特徴とする請求項に記載の仮想化システム。
  3. 前記リクエスト負荷情報は、
    前記リクエストに係る通信プロトコルの情報と、前記リクエストの種別の情報と、前記リクエストの実行対象を指定するオプションの情報とを含み、
    前記類似リクエスト検索手段は、
    前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
    一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
    ことを特徴とする請求項1または請求項2に記載の仮想化システム。
  4. 前記類似リクエスト検索手段は、
    前記新規リクエストと、前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報が一致する前記リクエスト負荷情報がない場合、
    前記オプションの情報にファイルが指定されているか否かを確認し、前記オプションの情報にファイルが指定されていた場合、
    前記ファイルをオプションで指定している前記リクエスト負荷情報を前記リクエスト負荷データベースから検索し、
    該当する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
    ことを特徴とする請求項3に記載の仮想化システム。
  5. 前記負荷分散装置が、
    前記通信プロトコルの情報、前記リクエストの種別の情報、及び前記オプションの情報の組み合わせに基づいて優先度を定義するプロトコルデータベースを備え、
    前記類似リクエスト検索手段は、
    前記オプションの情報にファイルが指定されていない場合、又は、前記オプションの情報にファイルが指定されているが、当該ファイルをオプションで指定している前記リクエスト負荷情報が前記リクエスト負荷データベースに存在しない場合、
    前記プロトコルデータベースを参照し、
    優先度が低いと設定されている組み合わせと一致する前記リクエスト負荷情報以外の前記リクエスト負荷情報であって、前記新規リクエストと前記通信プロトコルの情報及び前記リクエストの種別の情報が一致する前記リクエスト負荷情報を、前記リクエスト負荷データベースから検索し、
    一致する前記リクエスト負荷情報が有る場合、当該リクエスト負荷情報に係るリクエストを、類似リクエストと判断する
    請求項4に記載の仮想化システム。
  6. 前記負荷分散装置が、
    前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷を格納する負荷データベースと、
    前記負荷データベースにアクセスして、前記仮想マシン、前記仮想化サーバ、及び前記ストレージの負荷情報を取得する負荷確認手段とを備え、
    前記類似リクエストが無かった場合、
    前記負荷確認手段が、
    前記負荷データベースを参照して前記負荷情報を取得し、
    前記対象マシン選択手段が、
    前記負荷情報を参照し、最も負荷の低い前記仮想マシンを前記新規リクエストの転送先として選択する
    ことを特徴とする請求項1から請求項5の何れか1項に記載の仮想化システム。
  7. クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置であって、
    前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納するリクエスト負荷データベースと、
    新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、前記リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索手段と、
    前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択手段と
    を備えることを特徴とする負荷分散装置。
  8. クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置による負荷分散方法であって、
    新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索ステップを、類似リクエスト検索手段が実行し、
    前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記仮想マシンのキャッシュを考慮して、転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
    前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択ステップを、対象マシン選択手段が実行し、
    記リクエスト負荷データベースが、
    前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
    ことを特徴とする負荷分散方法。
  9. クライアント端末からのリクエストを適切な仮想マシンへ転送する負荷分散装置を構成するコンピュータ上で動作する負荷分散プログラムであって、
    新規リクエストの受信時に、当該新規リクエストに関する情報に基づいて、リクエスト負荷データベースから類似リクエストを検索する類似リクエスト検索処理を、類似リクエスト検索手段に実行させ、
    前記類似リクエストに基づき前記新規リクエストの負荷を予測するとともに、前記類似リクエストを実行した前記仮想マシンの中から、該類似リクエストの実行後に実行された後続リクエストの数に基づいて、前記新規リクエストの転送先として適切な前記仮想マシンを選択する対象マシン選択処理を、対象マシン選択手段に実行させ、
    記リクエスト負荷データベースが、
    前記クライアント端末から過去に受信した前記リクエストに関し、当該リクエストに関する情報と、当該リクエストが前記仮想マシン及び前記仮想マシンが使用するストレージに与えた負荷情報とを組み合わせてリクエスト負荷情報として格納する
    ことを特徴とする負荷分散プログラム。
JP2012047036A 2012-03-02 2012-03-02 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム Expired - Fee Related JP5957965B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012047036A JP5957965B2 (ja) 2012-03-02 2012-03-02 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012047036A JP5957965B2 (ja) 2012-03-02 2012-03-02 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Publications (2)

Publication Number Publication Date
JP2013182509A JP2013182509A (ja) 2013-09-12
JP5957965B2 true JP5957965B2 (ja) 2016-07-27

Family

ID=49273098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012047036A Expired - Fee Related JP5957965B2 (ja) 2012-03-02 2012-03-02 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Country Status (1)

Country Link
JP (1) JP5957965B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI633366B (zh) 2013-09-03 2018-08-21 日商新力股份有限公司 Sensing device, display device and input device
US9614779B2 (en) 2013-12-24 2017-04-04 Intel Corporation Cloud compute scheduling using a heuristic contention model
US9576039B2 (en) * 2014-02-19 2017-02-21 Snowflake Computing Inc. Resource provisioning systems and methods
JP6742777B2 (ja) * 2016-03-28 2020-08-19 株式会社Skeed 自動負荷分散情報処理システム
CN116170476B (zh) * 2023-04-20 2023-11-03 北京华医网科技股份有限公司 一种医学继教用云服务信息管理方法和平台

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3502009B2 (ja) * 2000-04-14 2004-03-02 日本電信電話株式会社 負荷分散制御装置および方法ならびに記録媒体
JP2002024194A (ja) * 2000-07-05 2002-01-25 Matsushita Electric Ind Co Ltd ジョブ分散処理方法および分散処理システム

Also Published As

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

Similar Documents

Publication Publication Date Title
US9645756B2 (en) Optimization of in-memory data grid placement
Ge et al. GA-based task scheduler for the cloud computing systems
JP5901024B2 (ja) コンテンツ配信に利用される動的バインド
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
US9830235B1 (en) Cooperative fault tolerance and load balancing
US9888065B2 (en) Defragmenting clusters with reserved resources
US11347775B2 (en) Export data from tables into partitioned folders on an external data lake
CN104834722A (zh) 基于cdn的内容管理系统
JP5957965B2 (ja) 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム
US20090210513A1 (en) Asynchronous automated routing of user to optimal host
US9191330B2 (en) Path selection for network service requests
US8694580B2 (en) Information processing apparatus, server selecting method and recording medium
US11347550B1 (en) Autoscaling and throttling in an elastic cloud service
US11030046B1 (en) Cluster diagnostics data for distributed job execution
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
US10684901B2 (en) Data store device and data management method
JP2012522318A (ja) スマートルーティング
Zheng et al. An infrastructure for web services migration in clouds
Huang et al. POTUS: Predictive online tuple scheduling for data stream processing systems
Zhang et al. Speeding up vm startup by cooperative vm image caching
US11755381B1 (en) Dynamic selection of where to execute application code in a distributed cloud computing network
US11403259B1 (en) Catalog query framework on distributed key value store
Rodrigues Filho et al. A Self-Distributing System Framework for the Computing Continuum
JP6387333B2 (ja) ノードおよびスロット最適化方法
CN115617528A (zh) 负载均衡的方法、装置、电子设备、存储介质和程序产品

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20131023

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5957965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees