(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-23
(54)【発明の名称】分散型コンピューティングシステムにおけるリソーススケジューリングのためのシステム及び方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20250116BHJP
G06F 9/455 20180101ALI20250116BHJP
【FI】
G06F9/50 120Z
G06F9/455 150
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024531633
(86)(22)【出願日】2022-11-24
(85)【翻訳文提出日】2024-06-26
(86)【国際出願番号】 IB2022061378
(87)【国際公開番号】W WO2023111732
(87)【国際公開日】2023-06-22
(31)【優先権主張番号】102021000031202
(32)【優先日】2021-12-13
(33)【優先権主張国・地域又は機関】IT
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】524200966
【氏名又は名称】エレメント エス.アール.エル.
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】フロンゼ、ガブリエル ガエタノ
(57)【要約】
本発明は、クラウドコンピューティングシステム(100)において共有リソース(205、206)を共有(600)及び選択(700)するための方法に関する。特に、リソースを共有(600)するための方法は、リソース(205、206)を要求するメッセージをシステム(100)のサーバ(104、105、106)が受信(601)する第1段階、及び、サーバ(104、105、106)に含まれた共有リソース(205、206)の利用指標に応じて計算された予め定められた送信時点において応答メッセージを上記サーバ(104、105、106)が送信する第2段階(604)を含む。リソース(205、206)を選択(700)するための方法は、リソースを要求するメッセージをユーザ機器(101、102、103)が送信(701)する第1段階、第1受信時点においてユーザ機器(101、102、103)が第1サーバ(104、105、106)から第1応答メッセージを受信(702)する第2段階、及び、第2受信時点においてユーザ機器(101、102、103)が第2サーバ(104、105、106)から第2応答メッセージを受信(703)する第3段階を含む。方法(700)はさらに、上記第1受信時点及び上記第2受信時点に応じて少なくとも1つのプロバイダサーバ(104、105、106)を選択(704)する段階を含む。
【特許請求の範囲】
【請求項1】
クラウドコンピューティングシステムにおいてリソースを共有するための方法であって、前記クラウドコンピューティングシステムは、遠隔通信ネットワークを用いて互いに動作可能に接続された複数のサーバを含み、前記クラウドコンピューティングシステムの各サーバは、1又は複数の共有リソースを含み、前記方法は、以下の段階、すなわち:
前記リソースを要求するメッセージを少なくとも1つのサーバにおいて受信する段階;
予め定められた送信時点において、前記少なくとも1つのサーバによって、前記遠隔通信ネットワークを介して応答メッセージを送信する段階;
を備え、
前記予め定められた送信時点は、前記少なくとも1つのサーバに含まれた前記1又は複数の共有リソースの利用指標に応じて計算される
クラウドコンピューティングシステムにおいてリソースを共有するための方法。
【請求項2】
以下の段階、すなわち:
前記少なくとも1つのサーバに含まれた前記1又は複数の共有リソースの総数及び現在使用されている前記1又は複数の共有リソースの数に応じて前記利用指標を計算する段階
をさらに備える、請求項1に記載のクラウドコンピューティングシステムにおいてリソースを共有するための方法。
【請求項3】
以下の段階、すなわち:
前記リソースを要求する前記メッセージの受信時点を判断する段階;
前記1又は複数の共有リソースの前記利用指標に応じて送信遅延を計算する段階;
前記送信遅延及び前記受信時点に基づいて前記送信時点を判断する段階
をさらに備える、請求項1に記載のクラウドコンピューティングシステムにおいてリソースを共有するための方法。
【請求項4】
前記応答メッセージは、前記リソースの利用可能性についての情報を含む、請求項1に記載のクラウドコンピューティングシステムにおいてリソースを共有するための方法。
【請求項5】
クラウドコンピューティングシステムにおいてリソースを選択するための方法であって、前記クラウドコンピューティングシステムは、遠隔通信ネットワークを用いて互いに動作可能に接続された複数のサーバ及び少なくとも1つのユーザ機器を含み、前記クラウドコンピューティングシステムの各サーバは1又は複数の共有リソースを含み、前記方法は、以下の段階、すなわち:
前記ユーザ機器によって、前記遠隔通信ネットワークを介して、前記リソースを要求するメッセージを送信する段階;
第1受信時点において、前記複数のサーバに含まれた第1サーバから前記ユーザ機器に第1応答メッセージを受信する段階;
第2受信時点において、前記複数のサーバに含まれた第2サーバから前記ユーザ機器に第2応答メッセージを受信する段階;
を備え、
前記方法はさらに、以下の段階、すなわち:
前記第1サーバ及び前記第2サーバから、前記リソースを提供する少なくとも1つのプロバイダサーバを、前記第1受信時点及び前記第2受信時点に応じて選択する段階;
前記少なくとも1つのプロバイダサーバに、前記遠隔通信ネットワークを介して、前記リソースを割り当てるメッセージを送信する段階
を備える、方法。
【請求項6】
クラウドコンピューティングシステムにおいてリソースを共有するために適合されたサーバであって、前記サーバは:
‐メモリ手段;
‐ネットワークインタフェース;
‐1又は複数の共有リソース;
‐前記メモリ手段、前記ネットワークインタフェース、及び前記1又は複数の共有リソースに動作可能に接続された処理ユニット;
前記処理ユニットは、請求項1から4のいずれか一項に記載のクラウドコンピューティングシステムにおいてリソースを共有するための方法の段階を実行するように構成されている
を備える、サーバ。
【請求項7】
クラウドコンピューティングシステムにおいてリソースを選択するように適合されたユーザ機器であって、前記ユーザ機器は:
‐メモリ手段;
‐ネットワークインタフェース;
‐前記メモリ手段及び前記ネットワークインタフェースに動作可能に接続された処理ユニット;
前記処理ユニットは、請求項5に記載のクラウドコンピューティングシステムにおいてリソースを選択するための方法の段階を実行するように構成されている
を備える、ユーザ機器。
【請求項8】
遠隔通信ネットワークを用いて互いに動作可能に接続された複数のサーバを備えるクラウドコンピューティングシステムであって、前記サーバの1つ1つは、請求項1から4のいずれか一項に記載の方法を実行するように構成されている、クラウドコンピューティングシステム。
【請求項9】
処理装置上で実行された場合に、前記処理装置に、請求項1から4のいずれか一項に記載の方法における段階を実行させる複数の命令を備える、クラウドコンピューティングシステムにおいてリソースを共有するためのコンピュータプログラム。
【請求項10】
処理装置上で実行された場合に、前記処理装置に、請求項5に記載の方法における段階を実行させる複数の命令を備える、クラウドコンピューティングシステムにおいてリソースを選択するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1に記載のクラウドコンピューティングシステムにおいてリソースを共有及び選択するための方法に関する。本発明はまた、クラウドコンピューティングシステムにおいてリソースを共有及び選択するためのシステム、サーバ、ユーザ機器、及びコンピュータプログラムに関する。
【0002】
本説明において、「クラウドコンピューティング」という用語又は「コンピューティングクラウド」又は「クラウド」という同等の用語は、コンピューティングパラダイムを指しており、これによって、複数のプロバイダ(本説明ではサーバとも称される)から保持される複数のリソース及び/又はサービスが、遠隔通信ネットワークを介して、複数のユーザ機器(本説明ではクライアント、端末、又は、より単純には、ユーザとも称される)に提供される。そのようなリソース及び/又はサービスは、例えば、物理又は仮想ハードウェアリソース、記憶リソース、計算リソース、データ送信リソース、ソフトウェアサービスなどであり得る。本説明の過程において、「リソース」という用語は、現在既知のクラウドコンピューティングシステムから一般に利用可能である任意のタイプの計算リソース又はサービスを指す。本発明は、いかなる修正も要求することなく、クラウドシステムによって提供される任意のタイプのリソース又はサービスにも適用可能なので、クラウドコンピューティングシステムによって提供される特定のタイプのリソース及び/又はサービスに限定されないことが理解される。本発明は、プロバイダ及びユーザの間(すなわち、サーバ及びクライアントの間)に明確な分離が存在するクラウドコンピューティングシステムに限定されず、反対に、本発明は、任意のタイプのクラウドコンピューティングシステムに区別なく適用され得ることも理解される。例えば、本発明は、単一装置がサーバ及びクライアントの両方として作用し得るクラウドコンピューティングシステム(例えば、ピアツーピアシステム)にも適用可能である。
【0003】
当技術分野において既知のクラウドコンピューティングシステムのアーキテクチャは通常、例えば、インターネットグローバルネットワーク又はローカルデータネットワークなどの遠隔通信ネットワークを用いて互いに動作可能に接続された1又は複数のサーバを含む;クラウドコンピューティングシステムに属する各サーバは普通、複数の最終ユーザ(final users:エンドユーザ)に利用可能にされるように構成された1又は複数のリソースを保持する;当技術分野において既知の技術によると、クラウドシステムのユーザは、上記遠隔通信ネットワークを用いてクラウドコンピューティングシステムに動作可能に接続された1又は複数のユーザ機器を介してクラウドシステムによって利用可能にされたサービスを使用し得る。一般的に、最終ユーザにリソースを割り当てる処理は、個人ユーザによって発行された特定の要求を受けて始まる;この目的で、当技術分野において既知のクラウドコンピューティングシステムは通常、ユーザによって生成された要求に応じてクラウドシステムのサーバによって保持されたリソースを運営するとともに割り当てることができるリソース管理システムを含む。そのようなリソース管理システムは典型的に、例えば、1又は複数の最終ユーザによって生成された1又は複数のリソース要求を受信及び処理するように構成されたユーザインタフェース、他のものの中でも、1又は複数のユーザによって要求されたリソースをクラウドコンピューティングシステムで検索する処理を管理するように構成された「制御プレーン」、1又は複数の最終ユーザのために特定のサーバに存在しているリソースをパーティション化することが可能な1又は複数の仮想マシンを作成するように構成された「ハイパーバイザ」を含む複数のモジュールを含む。
【0004】
当技術分野において既知のクラウドコンピューティングシステムのリソース管理システムによって実行される必須機能の1つは、クラウドシステムのサーバによって保持されたリソースを検索すること及び/又は場合によっては分類することから成る。特に、当技術分野において既知の技術によると、リソース管理システムは、クラウドシステムにおいて利用可能なリソースを監視するように構成され得、これにより、そのようなリソースの位置及び利用(すなわち、システムサーバによって提供されたリソースがどこに位置しているか、及び、その割り当ての状態)を任意の時間において確認することが可能である。この動作は、1又は複数のリソース管理システムによって集中方式で実行され得、これは、クラウドシステムにおいて利用可能なリソースのカタログをリアルタイムで作成するように構成され得る;例えば、集中型リソース管理システムは、集中型リソースカタログをプロアクティブな方式で規則的な間隔で更新するように構成され得、これにより、システムによって保持された全てのリソースの最新のビュー及びそれらの利用状態を絶えず有する。当技術分野において既知の集中型リソース管理システムは、いくつかの問題に悩まされており、これは、主に限定されたセットの装置におけるリソース管理機能の集中に関する。例えば、クラウドコンピューティングシステムの1又は複数の装置の潜在的な機能不全の場合においてある程度の弾性を保証すべく、リソース管理システムの集中型リソースカタログ及び機能は複製され、複数の別個の装置に並列に記憶され得る;このように、例えば、集中型リソースカタログのコピーを記憶した装置のうち1つの突然の故障の場合に、リソース管理システムは、代替の装置に記憶されたリソースカタログのレプリカを使用してサービスを継続して提供することが可能である。複数の装置におけるリソース管理システム及び集中型カタログのこの冗長性は、クラウドシステムの弾性をある程度保証する一方、リソース管理システムのレプリカの各々によって発生するコスト及び通信オーバーヘッドの観点から、非常に非効率的である。リソース管理システムのこの冗長性はまた、集中型管理サービスを提供するように構成された装置の数は、管理されているリソースの数とともに線形的にスケーラブルでないという点で計算的な観点から非効率的であり、そのような非効率さは、小さいクラウドコンピューティングシステムにおいて特に問題になることがわかっている。クラウドコンピューティングシステムのリソースの集中型管理から生じるさらなる問題は、新しい共有リソースの導入(例えば、新しいサーバ又は新しい共有リソースの追加)に続いて集中型カタログを更新することに関している;この場合、当技術分野において既知の技術によると、集中型カタログは多くの場合、遡及方式(すなわち、新しいリソースの導入後)で更新される;これは必然的に、結果として、その間に集中型カタログがクラウドコンピューティングシステムのリソースの実際の利用可能性を反映していない過渡期(time transient)をもたらす。
【0005】
代替的に、集中型リソース管理システムにより悩まされている問題を解決することを目的として、リソースは、集中型リソースカタログを使用することなく分散された方式でクラウドコンピューティングシステム内で検索され得る;そのような場合において、1又は複数のユーザによって要求されるリソースは、個人ユーザの必要に従って即席に検索され得る。例えば、所与のリソースは、例えば、クラウドシステムのサーバ及びユーザの間のアプリケーションレベルで確立された通信プロトコルを用いて個人ユーザによって直接検索され得る。一般的に、そのような通信プロトコルは、個人ユーザによって作成されてクラウドシステムの1又は複数のサーバに送信された1又は複数のリソース検索メッセージを介してリソースを検索するように構成されている;要求されたリソースの内部利用可能性に基づいて、各サーバは、例えば、ユーザによって要求された利用可能なリソースのリストを含む応答メッセージを作成してユーザに送信するように構成され得る。最終的に、受信された応答メッセージに基づいて、ユーザは、リソースを割り当てるべくクラウドシステムの1又は複数のサーバを自律的に選択し得る。
【0006】
それらは集中型システムに優るいくつかの利点を提供する一方、分散型リソース管理システムは依然として、クラウドシステムの完全且つ最新のビューを有する集中型エンティティの不在に関するいくつかの問題に悩まされている。例えば、そのような集中型エンティティの不在は、クラウドコンピューティングシステムのサーバ内の任意のバランスの取れたリソース割り当て戦略(本説明ではクラウド負荷分散、又は、より単純には負荷分散又はスケジューリングとも称される)を実装することを難しくする;特に、当技術分野において既知の分散型リソース検索プロトコルによると、予め定められたバランスの取れたリソース割り当て戦略に従ってリソースを割り当てる可能性は存在しない。例えば、サーバの選択は、システムのサーバから受信された応答メッセージのみに基づいて個人ユーザによって自律的に行われるので、当技術分野において既知のクラウドシステム内のリソース割り当ては、ランダムであり、多くの場合アンバランスである。クラウドシステムのサーバのそのような不均等な利用は、いくつかのサーバに過負荷問題をもたらし、結果として、クラウドシステムの他のサーバが十分に活用されない場合がある。分散型検索システムにおけるバランスの取れた割り当て戦略を管理する際の追加の困難さは、クラウドシステムのサーバの割り当ての状態に対して予め定められた程度の安全及びプライバシーを維持する必要性があることに起因する;例えば、サイバー攻撃に対してクラウドシステムを保護すべく、各サーバに存在するリソースの量及び構成についてのいずれの明示的な情報も個人ユーザに開示することを回避することが好ましい。
【0007】
例えば、米国特許出願US2002143944A1は、分散型検索プロトコルに基づくリソース共有システムを記載している。そのようなリソース検索プロトコルは、各サーバの作業負荷についてのいずれの情報を開示することも、システムレベルにおいて負荷のバランスを取るための任意の戦略を実装することも、想定していない。
【0008】
本発明の1つの目的は、先行技術の欠点を克服し得るクラウドコンピューティングシステムにおいてリソースを共有及び選択するための方法、システム、サーバ、ユーザ機器、及びコンピュータプログラムを提供することである。特に、本発明の1つの目的は、分散型リソース検索プロトコルに基づいてクラウドコンピューティングシステムにおいて1又は複数のバランスの取れたリソース割り当て戦略を実装し得る方法、システム、サーバ、ユーザ機器、及びコンピュータプログラムを提供することである。本発明のさらなる目的は、各サーバにおいて利用可能なリソースの量及び負荷についての情報の明示的な開示を回避しながら、クラウドコンピューティングシステムにおいて1又は複数のバランスの取れたリソース割り当て戦略を実装することである。
【図面の簡単な説明】
【0009】
上記の目的は、本説明の不可分な部分である添付の特許請求の範囲において提示された特徴を有する方法、システム、サーバ、ユーザ機器、及びコンピュータプログラムを介して、本発明によって達成される。本発明のさらなる目的、特徴及び利点は、単に非限定的な例として提供される以下の詳細な説明及び添付図面に鑑みて明らかになり、ここで:
【
図1】本発明のクラウドコンピューティングシステムの図を示す。
【
図2】本発明のクラウドコンピューティングシステムに含まれたサービスプロバイダのブロック図を示す。
【
図4】クラウドコンピューティングシステムのリソース管理システムの図を示す。
【
図5】リソースの共有及び選択のためのプロトコルの段階の例を示す。
【
図6】本発明に係るクラウドコンピューティングシステムにおいてリソースを共有するための方法の図を示す。
【
図7】本発明に係るクラウドコンピューティングシステムにおいてリソースを選択するための方法の図を示す。
【発明を実施するための形態】
【0010】
添付図面をここで参照すると、
図1における参照番号100は、本発明に係るクラウドコンピューティングシステムを全体として指す。
図1に示されるように、クラウドコンピューティングシステム100は、遠隔通信ネットワーク107を用いて互いに動作可能に接続された複数のサーバ104、105、106を含む。サーバ104、105、106の1つ1つは、上記遠隔通信ネットワーク107に動作可能に接続された複数のユーザ機器101、102、103によって共有され得る1又は複数のリソースを含むように構成され得る。当技術分野において既知の技術によると、上記遠隔通信ネットワーク107は、例えば、IEEE 802パケット通信規格ファミリーに従って動作する1又は複数のローカルデータネットワークを含み得る;最も基本的な場合において、遠隔通信ネットワーク107は、インターネットグローバルデータネットワークにおいて使用される規格(例えば、TCP/IP又はUDP/IP)に従って、ネットワーク及びトランスポートレベルで動作し得る。
【0011】
図2は、本発明のクラウドコンピューティングシステム100に含まれたサーバ104、105、106のブロック図を示す。単に非限定的な例として、各サーバ104、105、106は、以下の構成要素を含み得る:
・処理ユニット201(例えば、1又は複数のCPU、GPU、TPU、DPU又はFPGA);
・上記処理ユニット201に動作可能に接続され且つクラウドコンピューティングシステム100のリソース管理システムの1又は複数の機能を実行するように適合された命令の少なくとも一部を記憶するように構成されたメモリ202(例えば、ランダムアクセスメモリRAM及び/又はフラッシュメモリ及び/又は同様のもの);
・上記遠隔通信ネットワーク107を介したデータ送信及び受信を可能にするように適合された1又は複数のネットワークインタフェース203;
・例えば当業者が、サーバ104、105、106を構成することを可能にするように適合された入出力(I/O)手段204;
・複数のユーザ機器101、102、103によって共有されるように構成された1又は複数のリソース205、206(本説明において共有リソースとも称される);
・処理ユニット201、メモリ202、入出力手段205、及びリソース205、206を動作可能に接続するように構成された通信バス207。
【0012】
共有リソース205、206は、異なるタイプであり得、物理又は仮想ハードウェアリソース、記憶リソース、計算リソース、データ送信リソース、ソフトウェアサービスなどを含み得る;前述のように、本発明は、クラウドコンピューティングシステム100のサーバ104、105、106によって提供される特定のタイプのリソース又はサービスに限定されない;反対に、それは、クラウドシステム100によって利用可能にされる任意のタイプのリソース又はサービスに修正なしで適用可能である。
【0013】
図3は、本発明のクラウドコンピューティングシステム100に含まれたユーザ機器101、102、103のブロック図を示す。単に非限定的な例として、各ユーザ機器101、102、103は、以下の構成要素を含み得る:
・処理ユニット301(例えば、1又は複数のCPU、GPU、TPU、DPU、又はFPGA);
・上記処理ユニット301に動作可能に接続され且つクラウドコンピューティングシステム100のリソース管理システムとのインタフェース接続のために適合された命令の少なくとも一部を記憶するように構成されたメモリ302(例えば、ランダムアクセスメモリRAM及び/又はフラッシュメモリ及び/又は同様のもの);
・1又は複数のユーザがユーザ機器101、102、103を構成することを可能にするように適合された入出力(I/O)手段303;
・上記遠隔通信ネットワーク107を介したデータ送信及び受信を可能にするように適合された1又は複数のネットワークインタフェース304。
【0014】
一般的に、ユーザ機器101、102、103は、ラップトップコンピュータ、スマートフォン、パーソナルコンピュータなどに含まれ得る;加えて、ユーザ機器101、102、103は、モータ車両のインフォテインメントシステム又は家庭用電子装置の電子制御ユニットに含まれ得る。さらに、クラウドコンピューティングシステム100における共有リソースの共有及び選択のためのプロトコルに関するユーザ機器101、102、103の機能は、仮想デバイスによって管理され得る。
【0015】
本発明の1つの態様によると、クラウドコンピューティングシステムは、クラウドシステムによって提供されるサービスを運営するように構成されたリソース管理システムを含み得る;例えば、リソース管理システムは、複数のユーザとインタフェース接続するように構成され得、これにより、後者からリソース要求を受信し、システム100に含まれたサーバ104、105、106内で1又は複数の検索を実行し、リソース205、206などを割り当てる。単に例として、
図4は、クラウドシステムのサーバの1つ1つによって保持されたハードウェアを抽象化するように構成された仮想化フレームワークを含むクラウドコンピューティングシステム100のリソース管理システム400を示す。クラウドコンピューティングシステム100のリソース管理システム400は、例えば、クラウドコンピューティングシステム100のユーザ101、102、103がシステム100から保持された1又は複数のリソースを割り当てることを要求することを可能にするように構成されたユーザインタフェース401を含み得る。クラウドコンピューティングシステム100のリソース管理システム400はさらに、例えば、クラウドコンピューティングシステム100のリソースへのアクセスを運営すること、ユーザ101、102、103によって要求されたリソースの検索を管理すること、そのようなリソースを予約及び監視する(本説明において「記帳」とも称される)ためのサービスを管理することなどを行うように構成された制御プレーン402を含み得る。例えば、クラウドコンピューティングシステム100のユーザインタフェース401及び制御プレーン402は、例えば、VMware vSphere WebUI、Openstack WebUI、Proxmox WebUI、Microsoft Hyper-V、Citrix XenCenter、Xen Orchestra、Red Hat Enterprise Virtualization及びoVirtなどといった当技術分野において既知の解決手段を含み得る。クラウドコンピューティングシステム100のリソース管理システム400は、各サーバ104、105、106内の1又は複数の仮想マシンの生成のために適合されたモジュール403を含み得る;例えば、モジュール403は、例えばVMware vSphere、Linux KVM、Citrix Xen、Microsoft Hyper-V、XCP-ngなどといった当技術分野において既知の1又は複数のハイパーバイザを含み得る。リソース管理システム400のモジュール401、402、403は、クラウドコンピューティングシステムのサーバ104、105、106において及び/又はユーザ機器101、102、103において部分的に又は完全に分散された方式で複数のハードウェア及びソフトウェアコンポーネントを介して実装され得る。
【0016】
本発明の1つの態様によると、クラウドコンピューティングシステム100内のリソースの検索のためのメカニズムは、完全に分散され得、例えば、リソース管理システム400の制御プレーンモジュール402の分散された実装を介して提供され得る。この場合、制御プレーンモジュール402、特にリソース検索メカニズムは、クラウドコンピューティングシステム100に含まれた1又は複数のユーザ機器101、102、103及び1又は複数のサーバ104、105、106の間に分散された複数のソフトウェア及び/又はハードウェアコンポーネントを用いて実装され得る;この場合、1又は複数のユーザ101、102、103によって要求されたリソースは、集中型リソースカタログを使用することなく検索され得る。そのような分散型リソース検索メカニズムは、制御プレーンレベルで実装されるリソースを共有及び選択するための通信プロトコルを含み得、これは、1又は複数のユーザ機器101、102、103及び1又は複数のサーバ104、105、106の間で交換された複数のメッセージを介して、1又は複数の共有リソース205、206を検索、選択、及び共有する機能を実装し得る。
【0017】
図5は、本発明に係るクラウドコンピューティングシステム100における1又は複数のリソースを検索するための通信プロトコルによって実行される段階の形象的な例を示す。
図5の(a)は、時点t=t
0において上記プロトコルによって実行される段階を表す;
図5の(b)は、t
0に続く時点t=t
1において上記プロトコルによって実行される段階を表す;
図5の(c)は、t
1に続く時点t=t
2において上記プロトコルによって実行される段階を表す;最後に、
図5の(d)は、t
2に続く時点t=t
3において上記プロトコルによって実行される段階を表す。
図5の(a)に示されるように、ユーザ機器101は、上記1又は複数のリソースを特定する少なくとも1つの情報を含む要求メッセージ(本説明の過程において1又は複数のリソースを要求するためのメッセージとも称される)を生成し得る。本発明の1つの態様によると、1又は複数のリソースを要求するための上記メッセージは、上記ユーザ機器101によって、遠隔通信ネットワーク107を介して、クラウドコンピューティングシステム100の少なくとも1つのサーバ104、105、106に送信され得る。一般的に、1又は複数のリソースを要求するためのメッセージは、各ユーザ機器101、102、103によって複数のサーバ104、105、106に送信され得る;例えば、遠隔通信ネットワーク107によって採用されたネットワーク技術に依存して、1又は複数のリソースを要求するためのメッセージは、ブロードキャストモードでアドレス指定され得、その結果、複数のサーバ104、105、106に送達され得る。本発明に係る1又は複数のリソースを検索するための通信プロトコルは、1又は複数のリソースを要求するためのメッセージがクラウドシステム100の少なくとも1つのサーバ104、105、106によって受信される第2段階を含む。
図5の(b)及び
図5の(c)に示されるように、クラウドコンピューティングシステム100のサーバ104、105、106は、遠隔通信ネットワーク107を介して、要求メッセージにおいて指定されたリソースの実際の利用可能性に依存して、予め定められた送信時点において応答メッセージを送信し得る。例えば、
図5の(b)では、第1送信時点t=t
1において、第1応答メッセージがサーバ104によってユーザ機器101に送信される;同様に、
図5の(c)に示されるように、第2送信時点t=t
2において、第2応答メッセージがサーバ106によって送信され、ユーザ機器101に送られる。
図5に示された例において、サーバ105は、応答メッセージの送信を回避し得る;本発明に係るリソースを共有及び選択するためのプロトコルは、実際に、システム100のサーバ104、105、106に応答を送信することを強要しないように構成され得る。
図5の例において、サーバ105は、ユーザ機器101によって要求されるリソースを有しなくてもよく、又は、要求されたリソースの使用をユーザ機器101に意図的に許可しなくてもよい。
【0018】
以下で詳細に説明されるように、応答メッセージの送信時点は、上記少なくとも1つのサーバに含まれた共有リソースの利用指標に応じて計算され得る;例えば、上記リソース利用指標は、リソース要求メッセージの受信時点において又は要求メッセージがサーバ104、105、106によって処理される期間において使用状態にある共有リソース205、206の数と正比例する値を有し得る。より一般的に、本発明に係るリソースを共有及び選択するためのプロトコルは、利用指標を計算するために、利用指標、及び、リソース要求メッセージの受信時点において又は要求メッセージがサーバ104、105、106によって処理される期間において使用状態にある共有リソース205、206の数の間の任意の予め定められた関係を使用し得る。以下にさらに説明されるように、システム100における1又は複数の負荷分散戦略を実装すべく、利用指標及び使用状態にあるリソースの間のそのような関係は、少なくとも複数のサーバ104、105、106及び複数のユーザ101、102、103にとって既知である必要があることが好ましい。本説明の過程において、「使用状態にあるリソース」という表現は、ユーザ機器101と共有できないサーバ104、105、106に含まれた任意のリソース205、206を指す。例えば、共有リソース205、206は、要求メッセージの受信時点において又はそのような要求メッセージがサーバ104、105、106によって処理される期間においてユーザ機器101以外のユーザ機器102、103に割り当てられ及び/又はそれらによって使用されている場合がある;そのような場合、その共有リソース205、206は、ユーザ機器101と共有できないので、使用状態にある。さらに、共有リソース205、206の利用の指標は、サーバ104、105、106に含まれた共有リソース205、206の総数及び使用状態にある共有リソース205、206の数に応じたパーセント値を取り得る;換言すると、各サーバ104、105、106のリソースの利用の指標は、サーバ104、105、106に含まれた共有リソース205、206の総数に対する、使用状態にある共有リソース205、206の比又はパーセント値を表し得る。例えば、サーバ104、105、106が共有リソース205、206の総数Xを含むこと及びそのような共有リソースの数Yが使用状態にあることを仮定すると、サーバ104、105、106の利用の指標はY/X比であり得る。前に説明したように、利用の指標は、使用状態にあるリソースの数を含む任意の関係に従って計算され得る。
図5の(b)及び
図5の(c)に示された例において、サーバ104の共有リソースの利用の指標及びサーバ106の共有リソースの利用の指標は別個の値を有すると仮定されてきた。特に、使用状態にあるリソースの数及びサーバ104によって保持された共有リソースの総数の比は、使用状態にあるリソースの数及びサーバ106の共有リソースの総数の比とは異なる。換言すると、リソース要求メッセージの受信時点における又はそのようなメッセージが処理される期間におけるサーバ104の作業負荷は、サーバ106の作業負荷とは異なる;このことから、サーバ104の第1応答メッセージの第1送信時点t=t
1がサーバ106によって送信された第2応答メッセージの第2送信時点t=t
2とは異なるということになる。代替的に又は加えて、利用の指標は、使用状態にあるリソースの数及び要求されたリソースの数の和、及び、サーバ104、105、106によって保持されたリソースの総数の比に応じて計算され得る。このように、利用の指標は、リソース要求メッセージにおいて要求されたリソースが当該サーバ104、105、106に実際に割り当てられた場合にサーバが処理する必要がある作業負荷を間接的に表す。各サーバ104、105、106の利用の指標及び応答メッセージの送信時点は、多く方法で計算され得る;例えば、各サーバ104、105、106の応答メッセージの送信時点は、サーバ104、105、106の作業負荷に正比例するか又はサーバ104、105、106の作業負荷に反比例するかのいずれかであり得ることが理解される。計算の採用された方法にかかわらず、応答メッセージの送信時点は、サーバ104、105、106の1つ1つの作業負荷についての間接的な指示をユーザ機器101、102、103に提供する。
【0019】
本発明に係る1又は複数のリソースを検索するための通信プロトコルは、システム100に含まれた1又は複数のサーバ104、105、106から発生した1又は複数の応答メッセージが遠隔通信ネットワーク107を介してユーザ機器101によって受信されるさらなる段階を含む。そのような応答メッセージの1つ1つは、リソース要求メッセージにおいて機器101によって要求されるリソースの利用可能性についての明示的な指示を含み得る。
図5の(b)及び
図5の(c)に示された例において、ユーザ機器101は、第1受信時点においてサーバ104から第1応答メッセージを、第2受信時点においてサーバ106から第2応答メッセージを受信する。簡潔さのために、
図5に示された例において、遠隔通信ネットワーク107の任意の2つのノード間の送信遅延が無視できる又は固定値Δt
pを有すると仮定する。結果的に、
図5に示された例において、第1受信時点は第1送信時点t=t
1と一致するか又は代替的に受信時点t=t
1+Δt
pと一致する。同様に、第2受信時点は、第2送信時点t=t
2と一致するか又は代替的に受信時点t=t
2+Δt
pと一致する。
【0020】
それに従ってユーザ機器101によって応答メッセージが受信される時間の連続は、サーバ104から及びサーバ106からの応答メッセージの送信時点の順序と一致するので、第1受信時点及び第2受信時点は、利用の指標の値についての、従って、各サーバ104、106の作業負荷の、間接的な指示を提供する。クラウドコンピューティングシステム100における1又は複数の負荷分散戦略を実装すべく、ユーザ機器101は、サーバ104及びサーバ106から、上記リソースを提供するサーバを、第1受信時点及び第2受信時点に応じて好都合に選択し得る;本説明の過程において、「プロバイダサーバ」という表現は、割り当てメッセージを用いてそのリソースを共有するように実際に要求されることになるサーバ104、105、106を示す。そのような割り当てメッセージは、ユーザ機器からのリソースの割り当て要求についての情報を含み得、換言すると、ユーザ機器によって送信されたリソース割り当てメッセージは、ユーザ機器が、リソース共有及び検索プロトコルを介して特定された共有リソース205、206を使用したいということを示す。特に、第1受信時点及び第2受信時点は、サーバ104、106の作業負荷についての間接的な指示を提供するので、ユーザ機器101は、システム100に対して実装される1又は複数の負荷分散戦略に従って、要求されたリソースを提供することになるサーバを選択し得る。
【0021】
特に、
図5に示された例において、サーバ104からの第1応答メッセージは、第2応答メッセージの第2受信時点に先行する第1受信時点において受信される;従って、上記で説明された理由で、ユーザ機器101は、例えば、サーバ104の作業負荷がサーバ106の作業負荷より低いと推測し得る。従って、ユーザ機器101は、サーバ104及びサーバ106から、サービスを提供することになるサーバを適切に選択し、これにより、例えば、システム100のサーバ104、105、106の作業負荷を均一にし得る。
図5の(d)に示された例において、ユーザ機器は、サーバ104をプロバイダサーバとして選択し、要求されたリソースを割り当てるためのメッセージをサーバ104に送信し得る。
【0022】
本発明に係るクラウドコンピューティングシステム100は、遠隔通信ネットワーク107を用いて動作可能に接続された複数の分散されたコンポーネントで作られているので、システム100においてリソースを共有及び選択するためのプロトコルによって実行される段階は必ずシステム100のコンポーネント間で分散されている。従って、ユーザ機器101、102、103が、サーバ104、105、106の作業負荷を、そのようなサーバ104、105、106によって送信された応答メッセージの受信時点に応じて推測することを可能にすべく、ユーザ機器101、102、103は、各サーバが利用の指標及び各応答メッセージの送信時点をどのように計算するかを知っていることが適切であることが理解される。
【0023】
特に、
図6は、本発明に係るクラウドコンピューティングシステム100においてリソースを共有するための方法600の図を示す;そのような方法は、システム100の1又は複数のサーバ104、105、106によって実行される、システム100においてリソースを共有及び選択するためのプロトコルの一部を表す。
図6に示されるように、方法600は、システム100に含まれたサーバ104、105又は106が1又は複数のリソースを要求するメッセージを受信する第1段階601を含み;方法600はさらに、サーバ104、105又は106がそれ自身の共有リソースの利用の指標を計算する段階602を含む。例えば、そのような利用の指標は、サーバ104、105又は106に含まれた共有リソースの総数及びサーバ104、105又は106に含まれた使用状態にあるリソースの数に応じて計算され得る;代替的に、利用の指標は、使用状態にあるリソースの数と一致し得る。方法600はさらに、サーバ104、105又は106が、利用の指標に応じて予め定められた送信時点を計算する段階603を含む;最後に、段階604において、サーバ104、105又は106は、上記予め定められた送信時点において上記遠隔通信ネットワーク107を介して応答メッセージを送信する。例えば、サーバ104、105又は106は、リソース要求メッセージの受信時点を記憶すること及び上記1又は複数の共有リソースの上記利用の指標に応じて送信遅延を計算することによって、送信時点を判断し得る。例えば、送信遅延は、各サーバ104、105又は106のリソースの利用の指標に正比例するような方法で計算され得る。このように、所与のサーバ104、105又は106の作業負荷が高いほど、そのサーバ104、105、106によって送信されることになる応答メッセージの送信遅延は長くなる。代替的に、送信時点は、各サーバ104、105又は106のリソースの利用の指標に反比例するような方法で計算され得る。換言すると、本発明の1つの態様によると、各サーバは、一般的に言えば、そのサーバの作業負荷に依存して変動する(すなわち、現在使用されている共有リソースの数に応じた)遅延を伴ってリソース要求メッセージに応答し得る。
図6に示され上記で説明されたリソースを共有するための方法600は、コンピュータプログラムとして有利に実装され得る;そのような場合において、上記コンピュータプログラムは、1又は複数のサーバ104、105、106のメモリ202にインストールされ得、サーバ104、105、106の処理ユニット201によって実行された場合に、上記サーバ104、105、106に方法600の段階を実行させる複数の命令を含み得る。
【0024】
図7は、本発明に係るクラウドコンピューティングシステム100においてリソースを選択するための方法の図を示す;そのような方法は、システム100の1又は複数のユーザ機器101、102、103によって実行される、システム100においてリソースを共有及び選択するためのプロトコルの一部を表す。
図7に示されるように、方法700は、ユーザ機器101、102又は103が1又は複数のリソースを要求するメッセージを送信する第1段階701を含む;1又は複数のリソースを要求するそのようなメッセージは、上記1又は複数のリソースを特定する情報を含み得る。方法700はさらに、上記ユーザ機器101、102又は103が、第1受信時点において、第1サーバ104、105又は106から第1応答メッセージを受信する第2段階702、及び、上記ユーザ機器101、102又は103が、第2受信時点において、第2サーバ104、105又は106から第2応答メッセージを受信する第3段階703を含む。方法700はさらに、ユーザ機器101、102又は103が、上記第1サーバ104、105又は106及び上記第2サーバ104、105又は106から、プロバイダサーバを、第1受信時点及び第2受信時点に応じて選択する段階704を含む。換言すると、2又はそれより多くの応答メッセージの受信は、サーバ104、105又は106の間から(すなわち、それらからユーザ機器101、102、103が少なくとも1つの応答メッセージを受信したサーバ104、105、106の間から)選択する必要があることを示し、これにより、要求されたリソースを共有するように求められることになるサーバ104、105、106(すなわち、プロバイダサーバ)を特定する。本発明の1つの態様によると、この選択は、第1受信時点及び第2受信時点に基づいてユーザ機器101、102、103によって行われる。本明細書において前に説明したように、応答メッセージの到着の順序(すなわち、第1受信時点及び第2受信時点の時間の連続)は、サーバ104、105、106の作業負荷を暗黙的に示す。従って、プロバイダサーバの選択は、特定の負荷分散戦略に従って行われてよい。例えば、ユーザ機器101、102、103は、その応答メッセージがシステム100の他のサーバ104、105、106のそれより低い作業負荷を示す受信時点において受信されたサーバ104、105、106を選択し得る;例えば、応答メッセージの送信時点がサーバ104、105、106の作業負荷に正比例するような方法で計算された場合、ユーザ機器101、102、103は、その応答メッセージが他のサーバの応答メッセージより前に受信されたサーバ104、105、106を、プロバイダサーバとして選択し得る。従って、システム100のサーバ104、105、106の間で作業負荷を均等に分散するであろう負荷分散戦略を実装することが可能になるであろう。代替的に、ユーザ機器101、102、103は、その応答メッセージが、システム100の他のサーバ104、105、106のそれより高い作業負荷を示す受信時点において受信されたサーバ104、105、106を選択し得る。従って、システム100のサーバ104、105、106の間で作業負荷を不均等に分散するであろう負荷分散戦略を実装することが可能になるであろう。本発明に係る1又は複数のリソースを共有及び選択するためのプロトコルは、同様に、当技術分野において既知である任意の負荷分散戦略(例えば、等しい負荷分散、等しくない負荷分散など)を実装するために使用され得ることが理解される。最後に、方法700は、ユーザ機器101、102、103がプロバイダサーバにリソース割り当てメッセージを送信する段階705を含む;リソース割り当てメッセージは、プロバイダサーバ上の要求されたリソースを割り当てるように適合された1又は複数の命令を含み得る。本明細書に前に説明され
図7に示されたリソースを選択するための方法700は、コンピュータプログラムとして有利に実装され得る;そのような場合において、上記コンピュータプログラムは、1又は複数のユーザ機器101、102、103のメモリ302にインストールされ得、ユーザ機器104、105、106のプロセッサ301によって実行された場合に、上記ユーザ機器101、102、103に方法700の段階を実行させる複数の命令を含み得る。
【0025】
本発明に係るクラウドコンピューティングシステム100、サーバ104、105、106、ユーザ機器101、102、103、リソースを共有するための方法600、リソースを選択するための方法700、及びそれらに関連付けられたコンピュータプログラムは、当技術分野において現在既知のクラウドコンピューティングシステムに優るいくつかの利点を提供する。例えば、本発明によって、集中型リソースカタログが欠けているクラウドコンピューティングシステム100における1又は複数の負荷分散戦略の実装が有利に可能になる。本明細書において前に説明したように、本発明は、ユーザ機器101、102、103が、クラウドコンピューティングシステム100に含まれたサーバ104、105、106の作業負荷についての指示を間接的に受信することを可能にする。本発明のさらなる利点は、サーバ104、105、106の構成についてのいずれの特定の情報も開示することなく、サーバ104、105、106の作業負荷についての指示を提供することにある。
【0026】
もちろん、本発明の原理を損なわずに、添付の特許請求の範囲に提示されたような本発明の保護範囲から逸脱することなく、実施形態及び実装の詳細は、単に非限定的な例として本明細書に説明され示されたものから幅広く変動し得る。
(他の可能な項目)
(項目1)
クラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)であって、前記クラウドコンピューティングシステム(100)は、遠隔通信ネットワーク(107)を用いて互いに動作可能に接続された複数のサーバ(104、105、106)を含み、前記クラウドコンピューティングシステム(100)の各サーバ(104、105、106)は、1又は複数の共有リソース(205、206)を含み、前記方法(600)は、以下の段階、すなわち:
前記リソース(205、206)を要求するメッセージを少なくとも1つのサーバ(104、105、106)において受信する段階(601);
予め定められた送信時点において、前記少なくとも1つのサーバ(104、105、106)によって、前記遠隔通信ネットワーク(107)を介して応答メッセージを送信する段階(604);
を備え、
前記予め定められた送信時点は、前記少なくとも1つのサーバ(104、105、106)に含まれた前記1又は複数の共有リソース(205、206)の利用指標に応じて計算される
クラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)。
(項目2)
以下の段階、すなわち:
前記少なくとも1つのサーバ(104、105、106)に含まれた前記1又は複数の共有リソース(205、206)の総数及び現在使用されている前記1又は複数の共有リソース(205、206)の数に応じて前記利用指標を計算する段階
をさらに備える、項目1に記載のクラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)。
(項目3)
以下の段階、すなわち:
前記リソースを要求する前記メッセージの受信時点を判断する段階;
前記1又は複数の共有リソース(205、206)の前記利用指標に応じて送信遅延を計算する段階;
前記送信遅延及び前記受信時点に基づいて前記送信時点を判断する段階
をさらに備える、項目1または2に記載のクラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)。
(項目4)
前記応答メッセージは、前記リソースの利用可能性についての情報を含む、項目1から3のいずれか一項に記載のクラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)。
(項目5)
クラウドコンピューティングシステム(100)においてリソース(205、206)を選択するための方法(700)であって、前記クラウドコンピューティングシステム(100)は、遠隔通信ネットワーク(107)を用いて互いに動作可能に接続された複数のサーバ(104、105、106)及び少なくとも1つのユーザ機器(101、102、103)を含み、前記クラウドコンピューティングシステム(100)の各サーバ(104、105、106)は1又は複数の共有リソース(205、206)を含み、前記方法(700)は、以下の段階、すなわち:
前記ユーザ機器(101、102、103)によって、前記遠隔通信ネットワーク(107)を介して、前記リソースを要求するメッセージを送信する段階(701);
第1受信時点において、前記複数のサーバに含まれた第1サーバ(104、105、106)から前記ユーザ機器(101、102、103)に第1応答メッセージを受信する段階(702);
第2受信時点において、前記複数のサーバに含まれた第2サーバ(104、105、106)から前記ユーザ機器(101、102、103)に第2応答メッセージを受信する段階(703);
を備え、
前記方法(700)はさらに、以下の段階、すなわち:
前記第1サーバ(104、105、106)及び前記第2サーバ(104、105、106)から、前記リソース(205、206)を提供する少なくとも1つのプロバイダサーバ(104、105、106)を、前記第1受信時点及び前記第2受信時点に応じて選択する段階(704);
前記少なくとも1つのプロバイダサーバ(104、105、106)に、前記遠隔通信ネットワーク(107)を介して、前記リソース(205、206)を割り当てるメッセージを送信する段階(705)
を備える、方法(700)。
(項目6)
クラウドコンピューティングシステム(100)においてリソース(205、206)を共有するために適合されたサーバ(104、105、106)であって、前記サーバ(104、105、106)は:
‐メモリ手段(202);
‐ネットワークインタフェース(203);
‐1又は複数の共有リソース(205、206);
‐前記メモリ手段(202)、前記ネットワークインタフェース(203)、及び前記1又は複数の共有リソース(205、206)に動作可能に接続された処理ユニット(201);
前記処理ユニット(201)は、項目1から4のいずれか一項に記載のクラウドコンピューティングシステム(100)においてリソース(205、206)を共有するための方法(600)の段階を実行するように構成されている
を備える、サーバ(104、105、106)。
(項目7)
クラウドコンピューティングシステム(100)においてリソース(205、206)を選択するように適合されたユーザ機器(101、102、103)であって、前記ユーザ機器(101、102、103)は:
‐メモリ手段(302);
‐ネットワークインタフェース(304);
‐前記メモリ手段(302)及び前記ネットワークインタフェース(304)に動作可能に接続された処理ユニット(301);
前記処理ユニット(301)は、項目5に記載のクラウドコンピューティングシステム(100)においてリソース(205、206)を選択するための方法(700)の段階を実行するように構成されている
を備える、ユーザ機器(101、102、103)。
(項目8)
遠隔通信ネットワーク(100)を用いて互いに動作可能に接続された複数のサーバ(104、105、106)を備えるクラウドコンピューティングシステム(100)であって、前記サーバ(104、105、106)の1つ1つは、項目1から4のいずれか一項に記載の方法(600)を実行するように構成されている、クラウドコンピューティングシステム(100)。
(項目9)
処理装置(104、105、106)上で実行された場合に、前記処理装置(104、105、106)に、項目1から4のいずれか一項に記載の方法(600)の段階を実行させる複数の命令を備える、クラウドコンピューティングシステム(100)においてリソースを共有するためのコンピュータプログラム。
(項目10)
処理装置(101、102、103)上で実行された場合に、前記処理装置(101、102、103)に、項目5に記載の方法(700)の段階を実行させる複数の命令を備える、クラウドコンピューティングシステム(100)においてリソースを選択するためのコンピュータプログラム。
【国際調査報告】