(57)【要約】リソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムが提供される。方法は、第１クラスタインスタンスが所有する利用可能リソースの個数が閾値未満である場合に第１クラスタインスタンスが第２クラスタインスタンスへリソース借用要求を送信することと、第２クラスタインスタンスにより返送された、第２クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信することと、第１クラスタインスタンスが借用可能データサーバリソースをデータ処理のために取得することと、を含むことで、クラスタインスタンス間でのリソースの再利用を実現し、また各クラスタインスタンスのリソースを最大限利用しつつも、クラスタのリソース利用率を向上させる。
2021509989.tif 000002
【特許請求の範囲】
【請求項１】
第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、前記第１クラスタインスタンスにより、第２クラスタインスタンスへリソース借用要求を送信することと、
前記第２クラスタインスタンスにより返送された借用可能リソース情報を受信することであって、前記借用可能リソース情報は、前記第２クラスタインスタンス内の借用可能データサーバリソースを表す、ことと、
前記第１クラスタインスタンスにより、前記借用可能データサーバリソースをデータ処理のために取得することと、
を含む、リソース予約方法。
【請求項２】
前記リソース借用要求が前記第１クラスタインスタンスに対応するサービス優先順位及び期待リソース情報を含み、
前記サービス優先順位は、前記第２クラスタインスタンスが別のクラスタインスタンスが送信したリソース借用要求を同時に受信した際に、前記第２クラスタインスタンスが前記サービス優先順位に従って前記第１クラスタインスタンスの前記リソース借用要求へ応答するかどうかを決定できるようにするのに使用され、
前記期待リソース情報は、前記第２クラスタインスタンスが前記期待リソース情報に則して前記借用可能リソース情報を決定できるようにするのに使用される、
請求項１に記載の方法。
【請求項３】
前記第１クラスタインスタンスの負荷条件及び予め設定された借用可能リソース閾値の上限に従って、前記期待リソース情報を決定すること、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記第１クラスタインスタンスにより前記借用可能データサーバリソースを取得することは、
借用可能データサーバにより送信された登録要求を受信した場合に、前記借用可能データサーバを前記第１クラスタインスタンスに登録すること、
を含む、請求項１に記載の方法。
【請求項５】
前記第１クラスタインスタンス内のデータブロック複製の一部を前記借用可能データサーバリソースへ移行すること、
をさらに含む、請求項１に記載の方法。
【請求項６】
前記第１クラスタインスタンスが所有する前記利用可能リソースが回復して前記閾値よりも多くなった場合に、借用可能データサーバから返却されるべきデータサーバを決定することと、
前記返却されるべきデータサーバ内にある、前記第１クラスタインスタンスに属するデータブロック複製が前記第１クラスタインスタンスの別のデータサーバへ移行される必要があるかどうかを判断することと、
前記返却されるべきデータサーバ内にある、前記第１クラスタインスタンスに属する前記データブロック複製が前記第１クラスタインスタンスの前記別のデータサーバへ移行される必要がある場合に、前記データブロック複製を前記別のデータサーバへ移行することと、
前記返却されるべきデータサーバへ登録解除通知を送信することと、
をさらに含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記借用可能データサーバから前記返却されるべきデータサーバを決定することは、
前記借用可能データサーバのそれぞれのサービス品質及び／又はそれぞれの利用率に従って、前記借用可能データサーバから前記返却されるべきデータサーバを決定すること、
を含む、請求項６に記載の方法。
【請求項８】
前記返却されるべきデータサーバ内にある、前記第１クラスタインスタンスに属する前記データブロック複製が前記第１クラスタインスタンスの別のデータサーバへ移行される必要があるかどうかを判断することは、
前記データブロック複製を削除することによって、前記データブロック複製に相当するデータブロックの総数が予め設定された数未満となってしまう場合に、前記データブロック複製が前記別のデータサーバへ移行される必要があると判断すること、
を含む、請求項６に記載の方法。
【請求項９】
第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、前記第１クラスタインスタンスにより、第２クラスタインスタンスへリソース借用要求を送信することと、
前記リソース借用要求に応じて、前記第２クラスタインスタンスにより前記第２クラスタインスタンス内の借用可能データサーバリソースを決定することと、
前記第１クラスタインスタンスにより前記借用可能データサーバリソースをデータ処理のために取得することと、
を含む、リソース予約方法。
【請求項１０】
前記第２クラスタインスタンスにより前記第２クラスタインスタンス内の前記借用可能データサーバリソースを決定した後に、
前記第２クラスタインスタンスにより借用可能データサーバへ借用通知を送信することと、
前記借用可能データサーバにより前記借用通知に応じて前記第１クラスタインスタンスへ登録要求を送信することと、
をさらに含み、
前記第１クラスタインスタンスにより前記借用可能データサーバリソースを取得することは、
前記第１クラスタインスタンスにより、前記登録要求に従って前記借用可能データサーバを前記第１クラスタインスタンスに登録すること、
を含む、請求項９に記載の方法。
【請求項１１】
借用可能データサーバに借用状態である印をつけることであって、前記借用状態である印は、前記第１クラスタインスタンスが前記借用可能データサーバを借りていることを示す、ことと
をさらに含む、請求項９に記載の方法。
【請求項１２】
前記第１クラスタインスタンスが所有する前記利用可能リソースが回復して前記閾値よりも多くなった場合に、前記第１クラスタインスタンスにより前記借用可能データサーバから返却されるべきデータサーバを決定することと、
前記第１クラスタインスタンスが、前記返却されるべきデータサーバ内にある、前記第１クラスタインスタンスに属するデータブロック複製が前記第１クラスタインスタンスの別のデータサーバへ移行される必要があると判断した場合に、前記データブロック複製を前記別のデータサーバへ移行することと、
前記第１クラスタインスタンスにより前記返却されるべきデータサーバへ登録解除通知を送信することと、
前記第１クラスタインスタンスから前記返却されるべきデータサーバを前記登録解除通知に従って登録解除することと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記第１クラスタインスタンスから前記返却されるべきデータサーバを前記登録解除通知に従って登録解除した後に、
前記返却されるべきデータサーバにより登録解除完了通知を前記第２クラスタインスタンスへ送信することと、
前記第２クラスタインスタンスにより前記借用状態である印を削除することと、
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第２クラスタインスタンスが前記借用可能データサーバに関してログオフ通知を受信した場合、前記借用可能データサーバ内にある、前記第２クラスタインスタンスに対応するデータブロック複製を前記第２クラスタインスタンス内の別のデータサーバへ移行することと、
前記第２クラスタインスタンスにより前記借用状態である印に従って返却命令を前記第１クラスタインスタンスへ送信することと、
前記返却命令に応じて、前記第１クラスタインスタンスが前記借用可能データサーバ内にある、前記第１クラスタインスタンスに属する前記データブロック複製が前記第１クラスタインスタンスの別のデータサーバへ移行される必要があると判断した場合に、前記データブロック複製を前記別のデータサーバへ移行することと、前記借用可能データサーバへ登録解除通知を送信することで前記借用可能データサーバが前記第１クラスタインスタンスから登録解除されること、
をさらに含む、請求項１２に記載の方法。
【請求項１５】
第１クラスタインスタンスによって使用されて、前記第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第２クラスタインスタンスへリソース借用要求を送信するように構成されている送信モジュールと、
前記第２クラスタインスタンスにより返送された借用可能リソース情報を受信するように構成されている受信モジュールであって、前記借用可能リソース情報は、前記第２クラスタインスタンス内の借用可能データサーバリソースを表す、受信モジュールと、
前記第１クラスタインスタンスによって使用されて、前記借用可能データサーバリソースをデータ処理のために取得するように構成されている処理モジュールと、
を備えた、リソース予約装置。
【請求項１６】
第１クラスタインスタンス内に設置された電子デバイスであって、
メモリ及びプロセッサ
を備え、
前記メモリは１つ又は複数のコンピュータ命令を記憶するように構成され、前記コンピュータ命令は、前記プロセッサにより実行されると、前記プロセッサに、
前記第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、第２クラスタインスタンスへリソース借用要求を送信することと、
前記第２クラスタインスタンスにより返送された、前記第２クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信することと、
前記借用可能データサーバリソースをデータ処理のために取得することと、
を実行させる、
電子デバイス。
【請求項１７】
少なくとも第１クラスタインスタンス及び第２クラスタインスタンス
を備え、
前記第１クラスタインスタンスは第１メタデータサーバ及び複数の第１データサーバを含み、前記第２クラスタインスタンスは第２メタデータサーバ及び複数の第２データサーバを含み、
前記第１メタデータサーバは、前記第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に前記第２クラスタインスタンスへリソース借用要求を送信し、前記第２メタデータサーバにより決定された借用可能データサーバリソースをデータ処理のために取得するように構成されており、
前記第２メタデータサーバは、前記リソース借用要求に応じて、前記第２クラスタインスタンス内の前記借用可能データサーバリソースを決定するように構成されている、
リソース予約システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2018年1月9日に出願され、「リソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システム」と題された、中国特許出願第201810020116.X号明細書に対する優先権を主張し、その全体が参照により本明細書に援用される。
【０００２】
本発明はインターネット技術の分野に関し、より詳細にはリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムに関する。
【背景技術】
【０００３】
情報爆発の時代においては、様々なネットワークサービスにより生成されたデータの量が指数関数的に大きくなっている。大量のデータに対する記憶容量、データバックアップ、及びデータセキュリティの必要性を満足させるため、時代の要求に伴い分散ファイルシステムクラスタが出現した。簡単に言えば、分散ファイルシステムクラスタは完全なサービス計算論理を提供するサーバのグループから構成される。
【０００４】
適用シナリオにおいて、分散ファイルシステムクラスタは多数の異なるサービスにより共有されうる、又はサービスの多数の異なるタスク若しくは副サービスにより共有されうる。現時点では、分散ファイルシステムクラスタは多数のクラスタインスタンス（あるいはユニットクラスタ、サブクラスタなどとも呼ばれることがある）へ分割されることがあり、各クラスタインスタンスは１つ以上のサービス又はタスクにより使用されうる。各クラスタインスタンスは、独自のメタデータサーバ（ＭＳ）及び複数のデータサーバ（ＣＳ）を含む。
【０００５】
現在、サービスにより生成されたデータの増加によって分散ファイルシステムクラスタのリソースが不足した場合、分散ファイルシステムのリソースは、１つ又はいくつかのクラスタインスタンスに含まれるＣＳの個数を増やすなど、別々に拡張することにより増やされる。しかし、ますます多くのサービスでデータ量の変動がより大きくなっている。例えば、あるサービスではデータ量が一時的に急激に増加することがある。この時点では、拡張方式が採用されうる。一方で、データ量に急激な増加が検出された場合にのみ拡張がもたらされるため、拡張の適時性は、現在のデータ量の急増をリアルタイムで処理するという要求を満たせない。他方で、データ量の急激な増加に対処するのに拡張方式を採用すると、通常は多量のリソースが無駄になる。
【発明の概要】
【０００６】
この問題を鑑み、本発明の例示的な実施形態はリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムを提供することでクラスタインスタンス間でのリソースの再利用を実現し、クラスタのリソース利用率を向上させる。
【０００７】
第１態様では、本発明の例示的な実施形態はリソース予約方法を提供し、この方法は、
第１クラスタインスタンスにより、第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第２クラスタインスタンスへリソース借用要求を送信することと、
第２クラスタインスタンスにより返送された、第２クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信することと、
第１クラスタインスタンスにより借用可能データサーバリソースをデータ処理のために取得することと、
を含む。
【０００８】
第２態様では、本発明の例示的な実施形態は第１クラスタインスタンスへ適用されるリソース予約装置を提供し、この装置は
第１クラスタインスタンスによって使用されて、第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第２クラスタインスタンスへリソース借用要求を送信するように構成されている送信モジュールと、
第２クラスタインスタンスにより返送された、第２クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信するように構成されている受信モジュールと、
第１クラスタインスタンスによって使用されて、借用可能データサーバリソースをデータ処理のために取得するように構成されている処理モジュールと、
を備える。
【０００９】
第３態様では、本発明の例示的な実施形態は電子デバイスを提供する。電子デバイスはプロセッサ及びメモリを備えることができて、メモリはこの電子デバイスが第１態様のリソース予約方法を実行するのを支援するプログラムを記憶するように構成され、プロセッサはメモリに記憶されるプログラムを実行するように構成される。この電子デバイスは他の機器又は通信ネットワークと通信するための通信インタフェースをさらに備えうる。
【００１０】
さらに、本発明の例示的な実施形態は、電子デバイスにより使用されるコンピュータソフトウェア命令を記憶するように構成されているコンピュータ記憶媒体を提供し、このコンピュータ記憶媒体は第１態様のリソース予約方法を実行するためのプログラムを含む。
【００１１】
第４態様では、本発明の例示的な実施形態はリソース予約方法を提供し、この方法は、
第１クラスタインスタンスにより、第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第２クラスタインスタンスへリソース借用要求を送信することと、
リソース借用要求に応じて、第２クラスタインスタンスにより第２クラスタインスタンス内の借用可能データサーバリソースを決定することと、
第１クラスタインスタンスにより借用可能データサーバリソースをデータ処理のために取得することと、
を含む。
【００１２】
第５態様では、本発明の例示的な実施形態は少なくとも第１クラスタインスタンス及び第２クラスタインスタンスを備えるリソース予約システムを提供し、
第１クラスタインスタンスは第１メタデータサーバ及び複数の第１データサーバを含み、第２クラスタインスタンスは第２メタデータサーバ及び複数の第２データサーバを含み、
第１メタデータサーバは、第１クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第２クラスタインスタンスへリソース借用要求を送信し、第２メタデータサーバにより決定された借用可能データサーバリソースをデータ処理のために取得するように構成されており、
第２メタデータサーバは、リソース借用要求に応じて、第２クラスタインスタンス内の借用可能データサーバリソースを決定するように構成されている。
【００１３】
本発明の例示的な実施形態により提供されるリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムでは、第１クラスタインスタンスの利用可能リソースが不足した場合、第１クラスタインスタンスは第２クラスタインスタンスのリソースを借用するためのリソース借用要求を第２クラスタインスタンスへ送信することができる。具体的には、第２クラスタインスタンスはまず第２クラスタインスタンス内の借用可能データサーバリソースを決定して、借用可能データサーバリソースを表す借用可能リソース情報を第１クラスタインスタンスへ返送することで、第１クラスタインスタンスが借用可能データサービスリソースをデータ処理のために取得する。このことに基づいて、一方のクラスタインスタンスの利用可能リソースが不足した場合に他方のクラスタインスタンスのリソースを借用しうることで、クラスタインスタンス間でのリソースの再利用が実現できて、クラスタのリソース利用率を高めることができる。
【図面の簡単な説明】
【００１４】
本発明の例示的な実施形態又は従来技術における技術的解決法をより明確に説明するため、以下で例示的な実施形態又は従来技術を説明するのに必要な添付図面を簡潔に説明する。明らかに、以下の説明において添付図面は本発明のいくつかの例示的な実施形態を示しているが、当業者であれば創意工夫を必要とすることなくこれらの添付図面から他の添付図面を導き出しうる。
【図１】本発明の例示的な実施形態に係るリソース予約システムの模式図である。
【図２】本発明の例示的な実施形態に係るリソース予約方法のフローチャートである。
【図３】図１に基づいたリソース予約プロセスの模式図である。
【図４】本発明の例示的な実施形態に係る別のリソース予約方法のフローチャートである。
【図５】本発明の例示的な実施形態に係るさらに別のリソース予約方法のフローチャートである。
【図６】本発明の例示的な実施形態に係るリソース予約方法の相互作用図である。
【図７】本発明の例示的な実施形態に係るリソース予約装置の概略構造図である。
【図８】図７に示されるリソース予約装置に対応する電子デバイスの概略構造図である。
【図９】本発明の例示的な実施形態に係る別のリソース予約システムの概略構造図である。
【発明を実施するための形態】
【００１５】
本発明の例示的な実施形態の目的、技術的解決法、及び利点をより明確にするため、本発明の例示的な実施形態の技術的解決法について、以下で本発明の例示的な実施形態の図面を併用して共に明確かつ完全に説明する。明らかに、記載される例示的な実施形態は本発明の例示的な実施形態の一部であり、全ての例示的な実施形態ではない。本発明の例示的な実施形態に基づいて当業者により創意工夫を必要とせずに得られる他の例示的な実施形態は、全て本発明の保護範囲に含まれる。
【００１６】
本発明の例示的な実施形態において用語は具体的な例示的な実施形態を説明する目的のためだけに使用され、本発明を制限することは意図されていない。また、文脈においてそうでないと述べられていない限り、本発明の例示的な実施形態及び添付の請求項で使用される単数形の「ａ」、［ａｎ」、「ｔｈｅ」、及び「前記（ｓａｉｄ）」はその複数形を表すことも意図されている。概して、「複数の」は２つ以上を含むが、少なくとも１つを含むことが除外されるべきではない。
【００１７】
本明細書において使用される用語、「及び／又は（ａｎｄ／ｏｒ）」は、単に関連する物体を記述する連関関係に過ぎず、３つの関係がありうることを示すことを理解されたい。例えば、Ａ及び／又はＢは、Ａが単独で存在する、Ａ及びＢが同時に存在する、Ｂが単独で存在する、の３つの場合を示しうる。さらに、本明細書において文字「／」は、この文字の前後の関連する物体が概して「又は（ｏｒ）」の関係をなしていることを示す。
【００１８】
本発明の例示的な実施形態においてＸＸＸは「第１」、「第２」、「第３」などの言葉を使って記述されることがあるが、このＸＸＸはこれらの言葉に限定されるべきではないことを理解されたい。これらの言葉はＸＸＸを区別するためだけに使用される。例えば、本発明の例示的な実施形態の範囲から逸脱することなく、第１のＸＸＸは第２のＸＸＸと呼ばれることがあり、同様に第２のＸＸＸもまた、第１のＸＸＸと呼ばれることがある。
【００１９】
文脈によっては、用語「の場合（ｉｆ）」が本明細書で使用される場合、「ｗｈｅｎ」、「ｉｎ  ｔｈｅ  ｃａｓｅ  ｔｈａｔ」、「決定に応じて」、又は「検出に応じて」と解釈されうる。同様に、文脈によっては、語句、「決定された場合」又は「（記述された条件又は事象が）検出された場合」は、「決定された場合」若しくは「決定に応じて」、又は、「（記述された条件又は事象が）検出された場合」若しくは「（記述された条件又は事象を）検出したのに応じて」と解釈されうる。
【００２０】
また、用語、「備える／含む（ｃｏｍｐｒｉｓｅ）」、「含む（ｉｎｃｌｕｄｅ）」、又は任意の他のその異形は非排他的な包含を網羅することが意図されており、一連の要素を含む製品又はシステムはそれらの要素だけでなく、明示的に列挙されていない他の要素、又はそのような製品又はシステムに固有の要素も含むことに留意されたい。さらなる制限なしに、「〜を含む」という語句により規定される要素は、その要素を備える製品又はシステム内に別の同一の要素が存在することを排除しない。
【００２１】
さらに、以下の例示の方法の実施形態におけるステップの順序は一例に過ぎず、厳格な制限を課すものではない。
【００２２】
図１は、本発明の例示的な実施形態に係るリソース予約システムの模式図である。リソース予約システムは複数のクラスタインスタンスを備え、このクラスタインスタンスは分散ファイルシステムクラスタにおける任意の特定のサブクラスタでありうる。各クラスタインスタンスは、メタデータサーバ（ＭＳ）及び複数のデータサーバ（ＣＳ）を含む。概して、ユーザのファイルはチャンクへと分割され、異なるＣＳ上に記憶される。データが失われないことを保証するため、チャンクは複数の複製として記憶される。ＭＳはクラスタインスタンスのメタデータ情報を管理する責任を負う。メタデータ情報は、主にディレクトリとファイルスペース、ファイルのチャンクのリスト、これらのチャンクが記憶されているＣＳ、などを含む。ＣＳの機械ディスクが損傷した場合、ＭＳはデータの信頼性を保証するため、欠落したチャンク複製を他のＣＳへ複製する複製タスクを作動させる責任も負う。ＣＳは全てのローカルにあるチャンクの読み書きを管理する責任を負い、定期的にその状態をＭＳへ報告し、チャンクのメタデータ情報を同期する。チャンクのメタデータ情報にはチャンク長、バージョン番号、最終更新時刻などが含まれる。クライアントの作業員がファイルへアクセスする必要がある場合、作業員はまず、チャンク複製の場所に従って最も近い対応するＣＳに対応するデータを要求するためにＭＳにファイルのメタデータ情報を問い合わせる。
【００２３】
上記のメタデータサーバ及びデータサーバは、ネームノード及びデータノードとも呼ばれることがあることは注目に値する。したがって、これらがどのように呼ばれていようと、上述した特定のクラスタを構成するデバイスに対する機能記述に適合する限り、これらは本発明の例示的な実施形態の範囲に含まれる。
【００２４】
説明を簡単にするため、図１に示されるように、図中に示されるリソース予約システムは、少なくとも第１クラスタインスタンス（クラスタインスタンスＡ）及び第２クラスタインスタンス（クラスタインスタンスＢ）を備える。クラスタインスタンスＡは、メタデータサーバＭＳＡ及び複数のデータサーバＣＳ１、ＣＳ２、ＣＳ３を含み、クラスタインスタンスＢはメタデータサーバＭＳＢ及び複数のデータサーバＣＳ４、ＣＳ５、ＣＳ６を含む。
【００２５】
前述したように、各ＭＳは各ＭＳに対応するクラスタインスタンスの全てのディレクトリ及びファイルスペース、各ファイルのチャンクのリスト、及び各チャンクが記憶されているＣＳを記録する。したがって、図１に示されるように、ＭＳＡにより記録されるファイル及びディレクトリスペースは、／ａ／、／ａ／ｂ、／ａ／ｃ、及び／ａ／ｄ／と、各ファイルのチャンクのリスト、例えばファイル／ａ／ｂがＣ１、Ｃ２の２つのチャンクを持ち、別の例では／ａ／及び／ａ／ｄ／の末尾の「／」はディレクトリが存在するがチャンクが存在しないことを示すのでリストはヌル［］である、チャンクのリストと、例えばＣ１−＞［１，３］はチャンクＣ１がＣＳ１及びＣＳ３に記憶されていることを示す、各チャンクが記憶されているＣＳを含むと想定される。ＭＳＢにより記録されるファイル及びディレクトリスペースは、／ｆ／、／ｆ／ｇ、／ｆ／ｈ、及び／ｆ／ｋ／と、各ファイルのチャンクのリスト、例えばファイル／ｆ／ｇが１つのチャンクＣ４を持つ、チャンクのリストと、例えばＣ４−＞［４，５］はチャンクＣ４がＣＳ４及びＣＳ５に記憶されていることを示す、各チャンクが記憶されているＣＳを含むと想定される。
【００２６】
図１に示されるリソース予約システムに基づき、本発明の例示的な実施形態により提供されるリソース予約方法の核となる概念は、一方のクラスタインスタンスの利用可能リソースが不足した場合に他方のクラスタインスタンスのリソースを借用しうることであり、さらに、クラスタインスタンスの利用可能リソースが回復して充分である場合には借用リソースは返却されうる。したがって、異なるクラスタインスタンス間でのリソース共有が実現される。
【００２７】
本発明の例示的な実施形態により提供されるリソース予約方法について、以下においてクラスタインスタンスＡ及びクラスタインスタンスＢのそれぞれの観点から説明する。
【００２８】
図２は、本発明の例示的な実施形態によるリソース予約方法のフローチャートである。この例示的な実施形態によって提供されるリソース予約方法は、図１に示されるクラスタインスタンスＡによって実行されてもよいし、または随意に、具体的にクラスタインスタンスＡ内のメタデータサーバＭＳＡによって実行されてもよい。以下の例示的な実施形態を、リソース予約方法を実行するＭＳＡを用いて例示する。図２に示すとおり、この方法は以下のステップを含む：
２０１、クラスタインスタンスＡの所有する利用可能リソースが、予め設定された閾値よりも低い場合、クラスタインスタンスＡは、クラスタインスタンスＢにリソース借用要求を送信する。  
２０２、クラスタインスタンスＡは、クラスタインスタンスＢによって返信された借用可能リソース情報を受信するが、ここで、借用可能リソース情報とは、クラスタインスタンスＢ内の借用可能データサーバリソースを表す。  
２０３、クラスタインスタンスＡは、データ処理用の借用可能データサーバリソースを取得する。
【００２９】
本発明の例示的な実施形態では、クラスタインスタンスの所有する利用可能リソースは、クラスタインスタンスに最初に登録された複数ＣＳ向けの利用可能リソースを指す。
【００３０】
随意の例示的な実施形態では、１つのサービスまたは複数のサービスを、１つのクラスタインスタンス上で走らせていてもよく、異なるサービスが、異なる優先順位で設定されていてもよい。例えば、オンラインショッピングサービスをクラスタインスタンス上で走らせる一方で、ビッグデータ分析サービスを別のクラスタインスタンス上で走らせると仮定すると、オンラインショッピングサービスは優先順位を上げて設定され、ビッグデータ分析サービスは優先順位を下げて設定されてもよい。したがって、優先順位の高いサービスの動作が確実に優先されるようにするためには、優先順位の高いサービスを走らせるクラスタインスタンスのリソースを第１に保証することが、確実になされなければならない。概して、優先順位の高いサービスを走らせるクラスタインスタンスのリソースは、優先順位の低い他のサービスと共有されることはない。むしろ、優先順位の高いサービスを走らせるクラスタインスタンスは、優先順位の低いサービスを走らせるクラスタインスタンスのリソースを借用することがある。
【００３１】
これに基づいて、クラスタインスタンスＡのサービス優先順位が、クラスタインスタンスＢのサービス優先順位よりも高いと仮定すると、クラスタインスタンスＡのリソースが逼迫している場合には、クラスタインスタンスＢのリソースを借用することが望ましい。随意の例示的な実施形態では、ＭＳＡおよびＭＳＢは、予め構成されていてもよい。ＭＳＡ向けの構成内容は、ＭＳＢのアクセスアドレスと、借用が許されているクラスタインスタンスＢ内リソースの上限閾値、すなわち、借用可能リソースの上限閾値とを含んでいてもよい。ＭＳＢ向けの構成内容は、クラスタインスタンスＢからリソースを借用するクラスタインスタンスＡのＭＳＡのアクセスアドレスおよび同種のものを含んでいてもよい。アクセスアドレスは、ＩＰアドレス＋ポート番号であってもよいし、またはユニフォームリソースロケータ（ＵＲＬ：Uniform Resource Locator）アドレスであってもよい。リソースの最大閾値は、ＣＳの最大数、最大帯域幅、最大ストレージ容量などの規模の閾値であってもよい。
【００３２】
上記構成に基づいて、図３に示すとおり、クラスタインスタンスＡの利用可能リソースが不足していること、例えばクラスタインスタンスＡの容量が不足している、または要求されたトラヒックがピーク負荷に近いときに利用可能リソースが不足するようになることをＭＳＡが発見した場合には、クラスタインスタンスＢにリソース借用要求を送信するようにしてリソース借用処理を開始してもよい。このとき、ＭＳＡは、借用可能リソースを有するクラスタインスタンスＢのＭＳＢの構成済みアクセスアドレスに基づいて、リソース借用要求をＭＳＢに送信する。
【００３３】
随意の例示的な実施形態では、リソース借用要求は、クラスタインスタンスＡに対応するサービス優先順位を含んでいてもよい。サービス優先順位は、他のクラスタインスタンスからのリソース借用要求をクラスタインスタンスＢが同時に受信した場合に、クラスタインスタンスＡの送信したリソース借用要求に応答するかどうかを、サービス優先順位に応じて決定するのに使用される。すなわち、複数のリソース借用要求がクラスタインスタンスＢのＭＳＢによって同時に受信されたと仮定すると、クラスタインスタンスＢは次に、各リソース借用要求に担持されたサービス優先順位に応じて、最も高いサービス優先順位を有するリソース借用要求に応答するよう決定してもよい。
【００３４】
別の随意の例示的な実施形態では、リソース借用要求は、借用する必要があるリソースがどれだけあるかを記述した期待リソース情報をさらに含んでいてもよい。期待リソース情報によって、ＭＳＢは、クラスタインスタンスＢに含まれる複数のＣＳの中から、期待リソース情報に適合する１つまたは複数の借用可能ＣＳを決定することができる。
【００３５】
リソース借用要求が、サービス優先順位と期待リソース情報とを含む場合には、そして少なくとも２つのリソース借用要求におけるサービス優先順位が他のリソース借用要求におけるサービス優先順位と等しい、そしてそれより高いと仮定すると、随意に、応答に向けて少なくとも２つのリソース借用要求から１つのリソース借用要求が無秩序に選択されてもよく、または、期待リソース情報に対応する借用リソースの最小要求量または最大要求量を有するリソース借用要求が、応答に向けて少なくとも２つのリソース借用要求から選択されてもよい。
【００３６】
ここで、期待リソース情報は、以下のやり方にしたがって決定されてもよく、その場合、期待リソース情報は、クラスタインスタンスＡの負荷状態と、借用可能リソースの予め設定された上限閾値とに応じて決定される。例えば、クラスタインスタンスＡがクラスタインスタンスＢから借りられるリソースの予め構成された上限閾値が１００台のＣＳであると仮定すると、クラスタインスタンスＡの負荷が負荷容量を３０％超える場合には、期待借用量は３０台のＣＳであり、負荷が負荷容量を５０％超える場合には、期待借用量は５０台のＣＳであるように構成してもよい。負荷は、クラスタインスタンスＡの総ストレージ容量に対するその使用中のストレージ容量の比であってもよい。
【００３７】
随意に、前記リソース借用要求は、期待リソース情報を担持しないものであってもよい。このとき、ＭＳＢは、クラスタインスタンスＡにリソースの借用を許可するかどうかを、そして何台のＣＳのリソースを具体的に借用してもよいかどうかを、クラスタインスタンスＢの負荷や残りのリソース状況などの要因に基づいて決定してもよい。リソースは概して、帯域幅リソースやストレージ容量リソースとして反映される。
【００３８】
随意の例示的な実施形態では、ＭＳＢが借用可能ＣＳを決定した後、借用可能ＣＳに借用通知を送信して、クラスタインスタンスＡに借用可能ＣＳが借用されることを通知してもよい。借用通知は、帯域幅要求やストレージ空き領域要求などの情報を担持していてもよく、この情報は、前述の期待リソース情報の１つまたは様々な要因、クラスタインスタンスＢの負荷、クラスタインスタンスＢ内の各ＣＳの残りのリソース状況に応じて決定されてもよい。この時点で、借用可能ＣＳは、帯域幅要求およびストレージの空き領域要求の下で、対応する帯域幅リソースおよびストレージ空き領域を割り当ててもよく、借用可能ＣＳはさらに、クラスタインスタンスＡからの以降のデータを格納するために、図３に示される／ａ／ｅといったファイルディレクトリを作成してもよい。その結果、借用可能ＣＳは、作成されたファイルディレクトリ、割り当てられた帯域幅、およびストレージ空き領域をＭＳＢにフィードバックして、ＭＳＢが借用可能リソース情報を作成するようにしてもよい。
【００３９】
その結果として、クラスタインスタンスＢ内のＭＳＢは、クラスタインスタンスＡからリソース借用要求を受信すると、クラスタインスタンスＡに借用可能リソース情報を返信する。借用可能リソース情報は、クラスタインスタンスＢ内の借用可能ＣＳリソースを表している。ここで、借用可能ＣＳリソースは、借用可能ＣＳを示す場合があり、さらに、借用可能ＣＳ内のストレージ空き領域の量、帯域幅の量、およびファイルディレクトリを示す場合もある。図３に示すとおり、ＭＳＢは、借用可能ＣＳリソースを図中のＣＳ４、ＣＳ６と決定した後、借用可能リソース情報をＭＳＡに送信してもよい。借用可能リソース情報は、借用可能ＣＳの識別子を含んでいてもよいリストの形式にまとめて、ＭＳＡに借用されるＣＳがＭＳＡに通知されるようにしてもよい。
【００４０】
クラスタインスタンスＡのＭＳＡは、クラスタインスタンスＢのＭＳＢから返信された借用可能リソース情報を受信した後、対応する借用可能ＣＳリソースを取得してもよい。
【００４１】
随意の例示的な実施形態では、借用可能リソース情報は、クラスタインスタンスＡが借用し得る、クラスタインスタンスＢ内のＣＳリソースを記述しているので、借用可能リソース情報は、ＭＳＡが保持するメタデータ情報に書き込まれてもよい。このようにして、借用可能ＣＳリソースが取得されると考えられる。
【００４２】
別の随意の例示的な実施形態では、クラスタインスタンスＡによる借用されたリソースの使用を容易にするために、クラスタインスタンスＢの借用可能ＣＳリソースは、登録処理を通じてクラスタインスタンスＡに登録されてもよい。この時点でＭＳＢは、借用可能ＣＳリソースを決定した後、借用可能ＣＳに借用通知を送信してもよい。借用通知は、借用可能ＣＳを起動して、前述した特定の借用な可能帯域、ストレージ空き領域、およびファイルディレクトリなどのリソースを割り当てて作成するだけでなく、さらには、借用可能ＣＳをクラスタインスタンスＡに登録する処理を起動してもよい。具体的には、借用可能ＣＳは、クラスタインスタンスＡに加わるための登録要求をＭＳＡに送信してもよい。次いでＭＳＡは、受信した借用可能リソース情報に借用可能ＣＳが含まれているのを見出し、登録要求に応答し、登録を完了する。次いで借用可能ＣＳは、この登録処理を通じてクラスタインスタンスＡとクラスタインスタンスＢの両方に属することになる可能性がある。
【００４３】
借用可能ＣＳは、クラスタインスタンスＡとクラスタインスタンスＢの両方に属していてもよいが、借用可能ＣＳ向けの利用可能リソースは２つの別々の部分に分けられ、一方の部分がクラスタインスタンスＡによって排他的に使用され、もう一方の部分がクラスタインスタンスＢによって排他的に使用されることに留意されたい。
【００４４】
また随意に、ＭＳＢが借用可能ＣＳリソースを決定した後、その借用可能ＣＳは、借用状態と標識されてもよい。
【００４５】
これに基づいて、クラスタインスタンスＡは、クラスタインスタンスＢからリソースを借用する。その後、クラスタインスタンスＡが受信したデータ読み出し書き込み要求などの新たなデータ処理要求のため、借用されたリソースをそのデータ処理要求の処理に使用してもよく、このようにして、クラスタインスタンスＡの容量とトラヒック圧が共有される。例えば、図３に示されるＭＳＡがタスクワーカーからデータ書き込み要求を受信すると、ストレージを要求されたチャンクＣ６が次いで、ＣＳ１および借用されたＣＳ４に書き込まれてもよい。
【００４６】
借用されたリソースを使用して新しいデータ処理要求を処理するのに加えて、随意に、クラスタインスタンスＡは、その中にあるいくつかのチャンク複製を、借用されたリソースに移行させてもよい；すなわち、クラスタインスタンスＡ内に、例えば、図３のＣＳ１、ＣＳ２、およびＣＳ３内に元々記憶されていたＣＳの一部のチャンク複製を、借用されたリソースに移行させてもよい。
【００４７】
クラスタインスタンスＡが、借用されたリソースを使用する場合、通常は一部のチャンク複製のみが、借用されたリソースに移動させられ、クラスタインスタンスＡは、独立してサービスを提供できる全てのチャンクを依然として保持していることに留意されたい。例えば、元々クラスタインスタンスＡ内のチャンクが３つの複製を有する場合、借用されたリソースが利用可能になった後に、そのうちの１つの複製が、借用されたリソースに移行させられる。その結果として、借用されたリソースが利用できなくなった場合でも、クラスタインスタンスＡは、独立してデータの読みだし書き込みを行うための２つの複製を依然として保持することになる。
【００４８】
要約すると、１つのクラスタインスタンスの利用可能リソースが不足している場合、このクラスタインスタンスが、他のクラスタインスタンスと交渉してそこからリソースを借用してもよく、これにより、クラスタインスタンス間でのリソースの再利用を実現し、各クラスタインスタンスのリソースを目一杯に活用し、クラスタのリソース利用率を向上させる。
【００４９】
図４は、本発明の例示的な実施形態による別のリソース予約方法のフローチャートである。図４は、図２に示される例示的な実施形態に基づくものであり、この図４に示すとおり、ステップ２０３の後に、以下のステップをさらに含んでいてもよい：
４０１、クラスタインスタンスＡの所有する利用可能リソースが、閾値よりも高い状態に回復する場合には、借用可能ＣＳから返却されることになるＣＳを決定する。  
４０２、返却対象ＣＳ内のクラスタインスタンスＡに属するデータブロック複製を、クラスタインスタンスＡの他のＣＳに移行する必要があるかどうかを決定し、もしそうであれば、そのデータブロック複製を他のＣＳに移行させる。  
４０３、返却対象ＣＳに登録解除通知を送信することにより、クラスタインスタンスＡから返却対象ＣＳが登録解除されて登録解除完了通知をＭＳＢに送信するようにする。
【００５０】
上記のステップは、クラスタインスタンスＡのＭＳＡによって実行されてもよい。
【００５１】
クラスタインスタンスＡの所有するリソースが回復して充分になった後には、例えば、クラスタインスタンスＡの利用可能リソースが、アクセストラヒックの拡大または縮小により回復して充分になった後には、クラスタインスタンスＡは、借用されたリソースの全部または一部を返却してもよい。借用されたリソースの全部または一部を返却するかどうかは、クラスタインスタンスＡの所有する利用可能リソースがどの程度充分であるかを考慮することにより決定してもよい。例えば、クラスタインスタンスＡの所有する利用可能リソースが第１の予め設定された閾値よりも大きい場合には、借用されたリソースの全てを返却すると決定され、クラスタインスタンスＡの所有する利用可能リソースが第２の予め設定された閾値よりも大きいが第１の予め設定された閾値よりも小さい場合には、借用されたリソースの一部を返却すると決定され、第１の予め設定された閾値が第２の予め設定された閾値よりも大きい。
【００５２】
ここで、ステップ４０１においてクラスタインスタンスＡの所有する利用可能リソースとは、借用されたリソース以外のリソースを指す。図３に示すとおり、クラスタインスタンスＡが、クラスタインスタンスＢからＣＳ４とＣＳ６とを借用していると仮定すると、この時点でクラスタインスタンスＡが使用してもよいリソースは、ＣＳ１、ＣＳ２、ＣＳ３、ＣＳ４、およびＣＳ６を含む。しかしながら、元々クラスタインスタンスＡに登録されているＣＳ１、ＣＳ２、およびＣＳ３のみが、クラスタインスタンスＡの所有するリソースであり、ステップ４０１に記述されている所有された利用可能リソースである。
【００５３】
したがって、クラスタインスタンスＡがクラスタインスタンスＢからＣＳ４およびＣＳ６を借用するという図３の仮定と組み合わせて、随意の例示的な実施形態では、クラスタインスタンスＡの所有する利用可能リソースが、第１の予め設定された閾値よりも高い値に回復する場合には、クラスタインスタンスＡが借用したリソースの全て、すなわちＣＳ４およびＣＳ６を、クラスタインスタンスＢに返却してもよい。この時点で、ステップ４０２を直接実行してもよい。別の随意の例示的な実施形態では、クラスタインスタンスＡの所有する利用可能リソースが、第２の予め設定された閾値よりも大きいが第１の予め設定された閾値未満となるように回復する場合には、借用されたリソースの一部が返却される。この時点で返却対象ＣＳは、全ての借用可能ＣＳから決定される必要があることになろう。
【００５４】
具体的には、返却対象ＣＳは、各借用可能ＣＳのサービス品質および／または利用率に応じて決定してもよい。例えば、利用頻度の少ない借用可能ＣＳを返却対象ＣＳと決定してもよいし、またはサービス品質の悪い借用可能ＣＳを返却対象ＣＳと決定してもよい。ここで、サービス品質の計量は、単位時間当たりのデータの読み出し書き込み回数、提供されてもよい帯域幅等であってもよい。使用頻度は、借用可能ＣＳが利用可能になって以降に受信されたデータ読み出し書き込み要求の合計数に対する、借用可能ＣＳを使用して受信されたデータ読み出し書き込み要求を処理するクラスタインスタンスＡの比であってもよい。対応する閾値は、返却対象ＣＳを決定するための基準として構成されてもよい。
【００５５】
ＭＳＡが、返却対象ＣＳを決定した後、これらの返却対象ＣＳは、その後は使用されないことになる。
【００５６】
前述の例に続いて、ＭＳＡが、借用されたＣＳ４とＣＳ６とから返却されることになるＣＳがＣＳ４であると決定したと仮定して、クラスタインスタンスＡがＣＳ４を借用している間、クラスタインスタンスＡのデータは、ＣＳ４に記憶される可能性がある。よって、ＣＳ４がクラスタインスタンスＢに返却される前に、ＣＳ４内に記憶されているクラスタインスタンスＡのチャンク複製をクラスタインスタンスＡの他のＣＳに移行させる必要があるかどうかを決定して、データセキュリティと可用性の要望を満たすようにしなければならない。移行が必要であると決定されたならば、ＣＳ４内のチャンク複製を、クラスタインスタンスＡの他のＣＳに複製してもよい。
【００５７】
ＣＳ４内にはクラスタインスタンスＡの複数のチャンク複製が記憶される。いかなるチャンク複製に関しても、チャンク複製を移行させる必要があるかどうかは、以下のようにして決定してもよい。
【００５８】
チャンク複製に対応するデータブロックの合計数が、予め設定された数未満になるようにして、チャンク複製が削除されるのであれば、チャンク複製を他のＣＳに移行させる必要があると決定する。具体的には、ＭＳＡは、各ＣＳ内に記憶されているチャンク複製を記録しているので、すなわち、ＭＳＡは、同じチャンク複製をどのＣＳが格納しているかを知っているので、ＣＳ４内に記憶されているいかなるチャンク複製についても、ＭＳＡは、そのチャンク複製をも記憶しているＣＳを決定する場合があり、ＭＳＡはその後、チャンク複製の合計数を決定できる場合がある。合計数がＮであると仮定し、上述した予め設定された数がＭであると仮定すると、ＣＳ４が返却されると決定された場合、チャンク複製の数は（Ｎ−１）となる。（Ｎ−１）≧Ｍであれば、チャンク複製は移行させる必要がないと決定され、そうでなければ、チャンク複製は移行させる必要があると決定され、ＮおよびＭは共に１以上の整数である。
【００５９】
移行させる必要のあるＣＳ４のチャンク複製が移行させられた後、ＭＳＡはＣＳ４に登録解除通知を送信して、ＣＳ４がクラスタインスタンスＡから登録解除されるようにしてもよい。ＣＳ４の登録解除が完了した後、登録解除完了メッセージがＭＳＡに送信されてもよく、これによりＭＳＡは、ＣＳ４に関連する情報を借用可能リソース情報から削除してもよい。また、ＣＳ４の登録解除が完了した後、登録解除完了通知をさらにＭＳＢに送信して、ＣＳ４がクラスタインスタンスＡから登録解除されたことをＭＳＢに通知してもよい。この時点でＭＳＢは、ＣＳ４の標識を、借用状態から非借用状態に変更してもよい。一方、ＣＳ４は、クラスタインスタンスＡ向けに作成されるファイルディレクトリ空き領域、例えば、図３の／ａ／ｅをさらに取得してもよい。
【００６０】
要約すると、各クラスタインスタンスは強い独立性を有しており、それ自体の負荷、すなわち利用可能リソースが充分であるかどうかに応じて動的に、他のクラスタインスタンスからリソースを借用しても、またはそこにリソースを借用してもよい。各クラスタインスタンスは、より柔軟にリソースを再利用し、クラスタのリソース利用率を高めてもよい。
【００６１】
図５は、本発明の例示的な実施形態によるさらに別のリソース予約方法のフローチャートである。図５に示すとおり、この方法は以下のステップを含む：
５０１、第１クラスタインスタンスの所有する利用可能リソースが閾値未満の場合に、第１クラスタインスタンスが、リソース借用要求を第２クラスタインスタンスに送信する；
５０２、このリソース借用要求に応答して、第２クラスタインスタンスが、第２クラスタインスタンス内の借用可能データサーバリソースを決定する；および
５０３、第１クラスタインスタンスが、データ処理のために借用可能データサーバリソースを取得する。
【００６２】
この例示的な実施形態では、上記第１クラスタインスタンスは、図１に示されるクラスタインスタンスＡであってもよく、第２クラスタインスタンスは、図１に示されるクラスタインスタンスＢであってもよい。
【００６３】
実際の用途では、クラスタインスタンスＡにおけるＭＳＡは、クラスタインスタンスＡの利用可能リソースが所定の閾値未満であることをＭＳＡが見出した場合に、クラスタインスタンスＢのＭＳＢにリソース借用要求を送信してもよい。随意に、クラスタインスタンスＡの残りのストレージ空き領域および利用可能な帯域幅が所定の閾値よりも低いことをＭＳＡが見出した場合に、ＭＳＡは、ＭＳＡに予め割り当てられた構成情報に従って、クラスタインスタンスＢのＭＳＢにリソース借用要求を送信してもよい。前述の例示的な実施形態において記載したとおり、その構成情報は、クラスタインスタンスＡの利用可能リソースが不足している場合にクラスタインスタンスＡがリソースを借用する可能性のある、借用元のクラスタインスタンスのＭＳのアクセスアドレスを含む。したがって、ＭＳＢのアクセスアドレスが構成情報に割り当てられている場合、ＭＳＡは、そのアクセスアドレスに応じて、リソース借用要求をＭＳＢに送信してもよい。
【００６４】
前述の例示的な実施形態において記載したとおり、リソース借用要求は、クラスタインスタンスＡに対応するサービス優先順位、期待リソース情報、および同種のものなどのパラメータを含んでいてもよい。リソース借用要求が期待リソース情報を含んでいる場合、ＭＳＢは、クラスタインスタンスＢから、期待リソース情報に適合する借用可能ＣＳリソースを決定する。期待リソース情報は、クラスタインスタンスＡが取得すると期待されるＣＳの台数、ネットワーク距離、およびストレージ容量の要求を記述する。したがって、ＭＳＢは、クラスタインスタンスＢ内の各ＣＳの負荷やストレージ容量に応じて、要求を満たす１つのＣＳまたは複数のＣＳの組み合わせを、借用可能ＣＳリソースとして選択してもよい。
【００６５】
さらに、随意に、借用可能ＣＳリソースを、どのＣＳが借用され得るかという観点から反映させるという視点に加えて、それらのＣＳリソースを、ＣＳにおける特定のリソースとしてさらに反映させてもよい。これに基づいて、ＭＳＢは第１に、期待リソース情報に適合する複数の借用可能ＣＳを選択し、続いてこれらの借用可能ＣＳに借用通知を送信してもよく、これは、ファイルディレクトリ、ストレージ空き領域、帯域幅などの特定のリソースを借用可能ＣＳが割り当てるようにしてなされ、割り当てられたリソースは、ＭＳＢにフィードバックされて、より詳細な借用可能ＣＳリソースを形成する。
【００６６】
借用可能ＣＳリソースを決定した後、ＭＳＢは、借用可能ＣＳリソースを特徴付ける借用可能リソース情報をＭＳＡにフィードバックしてもよく、クラスタインスタンスＡは次いで、対応する借用可能ＣＳリソースを取得してもよい。ここで、クラスタインスタンスＡが借用可能ＣＳリソースを取得する処理に関しては、前述の例示的な実施形態における記述を参照してもよく、本明細書では繰り返さない。
【００６７】
また、借用可能ＣＳは、借用通知に基づいて、クラスタインスタンスＡへの登録をさらに起動してもよい。具体的には、借用可能ＣＳは、借用通知を受信した後、クラスタインスタンスＡへの登録要求を送信して、クラスタインスタンスＡへの登録を進めてもよい。
【００６８】
随意に、ＭＳＢがクラスタインスタンスＢ内の借用可能ＣＳを決定した後、借用可能ＣＳを借用状態と標識して、借用可能ＣＳをクラスタインスタンスＡが借用したことを表示してもよい。
【００６９】
随意の例示的な実施形態では、クラスタインスタンスＡが所有する利用可能リソースが回復して充分になると、クラスタインスタンスＡは、借用されたリソースの全部または一部を返却してもよい。ＭＳＡが、そこに提供された上述の借用可能ＣＳから返却対象ＣＳを決定すると、図４に示される返却処理が起動される。この返却処理では、ＭＳＡは、返却対象ＣＳに登録解除通知を送信して、返却対象ＣＳがクラスタインスタンスＡから登録解除されるようにする。返却対象ＣＳがクラスタインスタンスＡから登録解除された後、登録解除完了通知がＭＳＢに送信されて、返却対象ＣＳがクラスタインスタンスＡから登録解除されたことを、ＭＳＢに通知する。返却対象ＣＳにより送信された登録解除完了通知に応答して、ＭＳＢは、返却対象ＣＳの借用状態標識を削除してもよく、よって、クラスタインスタンスＢは、後に返却されることになるＣＳの使用を継続してもよい。
【００７０】
随意の例示的な実施形態では、ＣＳの障害といった理由に起因して、ＣＳをログオフする必要がある、すなわち、対応するクラスタインスタンスからＣＳを削除する必要がある。ＣＳが複数のクラスタインスタンスにサービスを提供しているなら、すなわち他のクラスタインスタンスがＣＳを借用している場合には、以下の処理を安全なログオフ処理として見なすことができる。
【００７１】
以下では、ログオフされることが必要な、図３に示された例示的な実施形態のＣＳ４を、例として使用する。ＣＳ４は、元々クラスタインスタンスＢに登録されているので、ＣＳ４に関するログオフ通知が、クラスタインスタンスＢのＭＳＢに送信されることになる。この時点でクラスタインスタンスＡは、借用可能ＣＳであるＣＳ４を借用しているので、借用可能ＣＳ―ＣＳ４向けのログオフ処理は、以下のとおりである。
【００７２】
第１に、ＭＳＢは、ＣＳ４に関するログオフ通知を受信した後、ＣＳ４内のクラスタインスタンスＢに対応するチャンク複製をクラスタインスタンスＢの他のＣＳに移行させて、データセキュリティと可用性の要望を保証する。
【００７３】
第２に、ＭＳＢは、ＣＳ４の借用状態標識に応じてログオフ通知をＭＳＡに送信して、ＣＳ４の返却処理をＭＳＡが実行するようにする。ここで、借用状態標識は、ＭＳＡがＣＳ４を借用していることを表示しているので、ＭＳＡの予め構成されているアクセスアドレスを通じて、ログオフ通知をＭＳＡに送信してもよい。ＭＳＡの返却処理は、図４に示されるステップ４０２から４０３を実行する処理であり、ここで、返却対象ＣＳは、ログオフ通知に担持されるＣＳ４である。
【００７４】
最後に、ＣＳ４上に記憶されているクラスタインスタンスＢのチャンク複製が他のＣＳに移行したなら、そして、前述の例示的な実施形態で言及されたログオフ通知のような、返却が行われたことを示す通知メッセージが受信されるなら、特定のログオフ処理を実行してもよいと確認される。
【００７５】
上記ログオフ処理フローに基づいて、ログオフされたＣＳのデータセキュリティと可用性が保証される。図６は、本発明の例示的な実施形態によるリソース予約方法の相互作用図である。図６に示されるとおり、この方法は以下のステップを含んでいてもよい。  
６０１、クラスタインスタンスＡのＭＳＡは、クラスタインスタンスＡのリソースが不足している場合に、クラスタインスタンスＢのＭＳＢにリソース借用要求を送信してもよい。  
６０２、クラスタインスタンスＢのＭＳＢは、借用可能ＣＳリソースであるＣＳ４を決定し、ＣＳを借用状態と標識する。
【００７６】
任意の例示的な実施形態において、ステップ６０２には、ＭＳＢが、借用可能なＣＳを決定し、借用可能なＣＳが、特定の借用可能リソースを割り当てるように借用通知を借用可能なＣＳに送信し，それによって借用可能なＣＳのリソースを決定し、借用可能なＣＳのリソースを特徴づける借用可能リソースの情報を取得することが特に含まれ得る。
【００７７】
６０３では、クラスタインスタンスＢのＭＳＢは、クラスタインスタンスＡのＭＳＡに借用可能リソース情報ＣＳ４を戻す。
【００７８】
６０４では、ＣＳ４は、クラスタインスタンスＡで登録を完了する。
【００７９】
６０５では、クラスタインスタンスＡのＭＳＡは、新しいデータ書き込み要求を受信し、ＣＳ４にデータブロックを書き込む。
【００８０】
６０６では、クラスタインスタンスＡのＭＳＡは、クラスタインスタンスＡのリソースが復元され、十分なとき、登録解除通知をＣＳ４に送信する。
【００８１】
６０７では、ＣＳ４は、クラスタインスタンスＡから登録を解除される。
【００８２】
６０８では、ＣＳ４は、登録解除完了通知をクラスタインスタンスＢのＭＳＢに送信する。
【００８３】
６０９では、クラスタインスタンスＢのＭＳＢは、ＣＳ４の借用状態マーキングを消去する。
【００８４】
６１０では、ＣＳ４は、クラスタインスタンスＡが借用した、利用可能リソースを取得する。
【００８５】
上記の例示的な実施形態では、以前の例示的な実施形態に記載された借用および返却プロセスを単に例示する。特定の実行プロセスに関する参照が、上述の対応する例示的な実施形態の説明になされてもよい。
【００８６】
本発明の１つ以上の例示的な実施形態のリソース予約装置は、以下に詳細に説明される。これらのリソース予約装置の全てが、本解決策で教示される工程を通じて市販のハードウェア構成要素の構成および使用により形成され得ることを、当業者は理解し得る。
【００８７】
図７は、本発明の一例示的な実施形態によるリソース予約装置の概略構造図である。リソース予約装置は、図１に示すクラスタインスタンスＡのＭＳＡに加えられてもよい。図７に示すように、その装置は、送信モジュール１１、受信モジュール１２、および処理モジュール１３を備える。
【００８８】
送信モジュール１１は、第１クラスタインスタンスによって所有される利用可能リソースが、閾値未満である場合、第１クラスタインスタンスによって使用されて、リソース借用要求を第２クラスタインスタンスに送信するように構成される。
【００８９】
受信モジュール１２は、借用可能リソース情報が、第２クラスタインスタンス内の借用可能データサーバリソースを表す、第２クラスタインスタンスによって返却された借用可能リソース情報を受信するように構成される。
【００９０】
処理モジュール１３は、データ処理用の借用可能データサーバリソースを取得するため第１クラスタインスタンスによって使用されるように構成される。
【００９１】
任意で、リソース借用要求は、第１クラスタインスタンスおよび期待リソース情報に対応するサービス優先順位を含み、そこでは、別のクラスタインスタンスによって送信されたリソース借用要求が、第２クラスタインスタンスに同時に受信されたとき、サービス優先順位を使用して、第１クラスタインスタンスのリソース借用要求に応じるかどうかをサービス優先順位にしたがって、第２クラスタインスタンスが判定できるようにし、期待リソース情報を使用して、第２クラスタインスタンスが、借用可能リソース情報が期待リソース情報に準拠することを判定できるようにする。
【００９２】
任意の例示的な実施形態では、装置は、第１決定モジュール１４をさらに含み得る。
【００９３】
第１決定モジュール１４は、第１クラスタインスタンスの負荷状態および借用可能リソースの予め決められた上限閾値にしたがって、期待リソース情報を判定するように構成される。
【００９４】
任意の例示的な実施形態では、処理モジュール１３は、借用可能データサーバによって送信された登録要求が受信された場合、第１クラスタインスタンスで借用可能データサーバの登録を行うようにさらに構成される。
【００９５】
任意の例示的な実施形態では、処理モジュール１３は、第１クラスタインスタンス内の一部のデータブロック複製を借用可能データサーバリソースに移動させるようにさらに構成される。
【００９６】
任意の例示的な実施形態では、装置は、第２決定モジュール１５および第３決定モジュール１６をさらに含む。
【００９７】
第２決定モジュール１５は、第１クラスタインスタンスに所有された利用可能リソースが、閾値より高くなるように復元された場合、借用可能データサーバから返却されるデータサーバを判定するように構成される。
【００９８】
第３決定モジュール１６は、返却されるデータサーバの第１クラスタインスタンスに属するデータブロック複製が、第１クラスタインスタンスの他のデータサーバに移動される必要があるかどうか判定するように構成される。
【００９９】
それに応じて、処理モジュール１３は、第３決定モジュール１６が、移動が必要であると判定した場合、データブロック複製を他のデータサーバに移動させるようにさらに構成される。
【０１００】
送信モジュール１１は、返却されるデータサーバに登録解除通知を送信するようにさらに構成され、その結果、返却されるデータサーバは、第１クラスタインスタンスから登録を解除され、第２クラスタインスタンスに登録解除完了通知を送信する。
【０１０１】
任意で、第２決定モジュール１５は、借用可能データサーバのサービス品質および／または利用率にしたがって、借用可能データサーバから返却されるデータサーバを特に判定するように構成される。
【０１０２】
任意で、第３決定モジュール１６は、データブロック複製に対応するデータブロックの総数が、事前に設定された数より小さくなるように、データブロック複製が消去されている場合、データブロック複製は、他のデータサーバに移動することが必要と判定するように特に構成される。
【０１０３】
図７に示す装置は、図２および図４に示す例示的な実施形態の方法を実行できる。本例示的な実施形態で詳細に説明されない部品に関する参照は、図２および図４に示す例示的な実施形態の関連する説明に対してなされ得る。本技術的解決策の実装プロセスおよび技術的効果に関する参照は、図２および図４に示す例示的な実施形態の説明に対してなされ得る。本明細書に詳細は繰り返さない。
【０１０４】
リソース予約装置の内部機能および構造は、上述されている。一つの考えられる設計では、図８に示すリソース予約装置の構造は、図１のＭＳＡなどの電子デバイスとして実装され得る。図８に示すように、電子デバイスは、プロセッサ２１およびメモリ２２を備え得る。メモリ２２は、図２および図４に示す例示的な実施形態に提供されるリソース予約方法を実行する電子デバイスを支持するプログラムを保存するように構成され、プロセッサ２１は、メモリ２２に保存されたプログラムを実行するように構成される。
【０１０５】
プログラムは、プロセッサ２１によって実行されると、第１クラスタインスタンスによって所有される利用可能リソースが、閾値未満である場合、第１クラスタインスタンスによって、第２クラスタインスタンスにリソース借用要求を送信し、借用可能リソース情報が、第２クラスタインスタンスの借用可能データサーバリソースを表す、第２クラスタインスタンスによって返却される借用可能リソース情報を受信し、データ処理用の借用可能データサーバリソースを第１クラスタインスタンスによって取得するステップを実施する、１つまたは複数のコンピュータ命令を備える。
【０１０６】
任意で、プロセッサ２１は、図２および図４に示す前述の例示的な実施形態のステップの全てまたは一部を実行するようにさらに構成される。
【０１０７】
電子デバイスの構造は、他のデバイスまたは通信ネットワークと通信するため通信インタフェース２３をさらに含み得る。
【０１０８】
追加で、本発明の例示的な実施形態は、電子デバイスによって使用されるコンピュータソフトウェア命令を保存するように構成されるコンピュータ記憶媒体を提供し、コンピュータ記憶媒体は、図２および図４に示す方法の例示的な実施形態でリソース予約方法を実行するためのプログラムを含む。
【０１０９】
図９は、本発明の一例示的な実施形態による別のリソース予約システムの概略構造図である。図９に示すように、システムは、少なくとも第１クラスタインスタンスおよび第２クラスタインスタンスを備え、第１クラスタインスタンスは、第１メタデータサーバおよび複数の第１データサーバを備え、第２クラスタインスタンスは、第２メタデータサーバおよび複数の第２データサーバを備え、第１メタデータサーバは、第１クラスタインスタンスによって所有される利用可能リソースが閾値未満である場合、第２クラスタインスタンスにリソース借用要求を送信するように構成され、データ処理のため第２メタデータサーバによって判定される借用可能データサーバリソースを取得し、第２メタデータサーバは、リソース借用要求に応じて、第２クラスタインスタンスの借用可能データサーバリソースを判定するように構成される。
【０１１０】
任意で、第１メタデータサーバ、第２メタデータサーバ、複数の第１データサーバ、および複数の第２データサーバは、前述の例示的な実施形態のそれぞれに対応するステップの全てまたは一部を実行するようにさらに構成される。
【０１１１】
上述の装置の例示的な実施形態は単に例であり、別個の構成要素として説明される単一体は、物理的に分離されていてもいなくてもよく、単一体として表示される構成要素は、物理的に単一体であってもなくてもよく、すなわち、単一体は、一つの場所に位置してもよく、または複数のネットワークユニット上に分散されてもよい。モジュールの一部または全ては、例示的な実施形態の解決策の目的を成し遂げるための実際の必要性にしたがって、選択され得る。当業者は、創造的な取り組みなしで、例示的な実施形態を理解し、実施することができる。
【０１１２】
上記の実装形態の説明を通じて、当業者は、各実装形態を、必要な一般のハードウェアプラットフォームにより実現することができ、ハードウェアとソフトウェアとの組み合わせにより確かに実装できることを明確に理解し得る。こうした理解に基づいて、従来技術に不可欠なまたは寄与する上記の技術的解決策または技術的解決策の一部を、ソフトウェア製品の形態で具現化することができる。本発明は、その中に含まれるコンピュータ使用可能プログラムコードを有する（ディスク記憶装置、ＣＤ−ＲＯＭ、光記憶装置などを含むがそれに限定されない）１つまたは複数のコンピュータ使用可能記憶媒体上で具現化されるコンピュータプログラム製品の形態を取ることができる。
【０１１３】
本発明は、本発明の例示的な実施形態による方法、デバイス（システム）およびコンピュータプログラム製品の流れ図および／またはブロック図を参照して説明される。コンピュータプログラム命令は、流れ図および／またはブロック図中の各プロセスおよび／または各ブロックならびに流れ図および／またはブロック図中のプロセスおよび／またはブロックの組み合わせを実施するため使用され得ることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサまたはマシンを生成するための別のプログラム可能データ処理デバイスのプロセッサに提供することができ、それによりコンピュータまたは別のプログラム可能データ処理デバイスのプロセッサによって実行される命令は、流れ図中の１つまたは複数のプロセスでおよび／またはブロック図中の１つまたは複数のブロックで特定の機能を実装する装置を生成する。
【０１１４】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスに特定の方法で作業するように命令することができるコンピュータ可読メモリに保存することができ、そうしてコンピュータ可読メモリに保存された命令は、命令装置を含む人工物を生成する。命令装置は、流れ図中の１つまたは複数のプロセスおよび／またはブロック図中の１つまたは複数のブロックで特定の機能を実施する。
【０１１５】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスにロードすることができ、その結果、一連の動作およびステップが、コンピュータ実施される処理を生成するためコンピュータまたは別のプログラム可能デバイス上で実施される。したがって、コンピュータまたは別のプログラム可能デバイス上で実行される命令を使用して、流れ図中の１つまたは複数のプロセスおよび／またはブロック図中の１つまたは複数のブロックで特定の機能を実施するためのステップを提供する。
【０１１６】
一つの典型的な構成では、コンピュータデバイスは、１つまたは複数の処理ユニット（ＣＰＵ）、入力／出力インタフェース、ネットワークインタフェース、およびメモリを備える。
【０１１７】
メモリは、コンピュータ可読媒体上の揮発性記憶デバイス、ランダムアクセスメモリ（ＲＡＭ）、および／または、読み出し専用メモリ（ＲＯＭ）もしくはフラッシュメモリ（ｆｌａｓｈ  ＲＡＭ）などの不揮発性メモリを含んでもよい。メモリは、コンピュータ可読媒体の一例である。
【０１１８】
コンピュータ可読媒体には、永久および非永久媒体、取り外し可能および非取り外し可能媒体の両方が含まれ、任意の方法または技術により情報を保存することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであってよい。コンピュータ記憶媒体の例として、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他の種類のランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光学記憶デバイス、カセット式磁気テープ、磁気テープ／磁気ディスク記憶装置または他の磁気記憶デバイスもしくは任意の他の非伝送媒体が挙げられるがそれに限定されず、コンピューティングデバイスによってアクセス可能な情報を保存するために使用され得る。本明細書に定義されるように、コンピュータ可読媒体は、変調データ信号および非変調搬送波などの一時的媒体を含まない。
【０１１９】
最後に、上記の例示的な実施形態は、本発明の技術的解決策を制限するのではなく、単に例示するために使用されることに留意されたい。本発明は、上述の例示的な実施形態を参照して詳細に説明されるが、上述の例示的な実施形態に記載の技術的解決策にさらに変更がなされてもよく、または均等物との置換がその技術的特徴の一部に適用されてもよく、これらの変更または置換は、対応する技術的解決策の本質を本発明の例示的な実施形態における技術的解決策の精神および範囲から逸脱させないことが当業者には理解される。
【図１】
2021509989.tif 000003
【図２】
2021509989.tif 000004
【図３】
2021509989.tif 000005
【図４】
2021509989.tif 000006
【図５】
2021509989.tif 000007
【図６】
2021509989.tif 000008
【図７】
2021509989.tif 000009
【図８】
2021509989.tif 000010
【図９】
2021509989.tif 000011
【国際調査報告】
2021509989.tif 000012
2021509989.tif 000013
2021509989.tif 000014
2021509989.tif 000015