(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】リソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システム
(51)【国際特許分類】
G06F 16/182 20190101AFI20231027BHJP
G06F 16/13 20190101ALI20231027BHJP
【FI】
G06F16/182
G06F16/13 100
(21)【出願番号】P 2020537180
(86)(22)【出願日】2019-01-07
(86)【国際出願番号】 CN2019070579
(87)【国際公開番号】W WO2019137320
(87)【国際公開日】2019-07-18
【審査請求日】2021-12-10
(31)【優先権主張番号】201810020116.X
(32)【優先日】2018-01-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジアジー ジュー
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2007-325235(JP,A)
【文献】国際公開第2013/018288(WO,A1)
【文献】米国特許出願公開第2014/0156853(US,A1)
【文献】特開2006-023948(JP,A)
【文献】特開2005-004349(JP,A)
【文献】特開2010-282667(JP,A)
【文献】特開2007-183708(JP,A)
【文献】中国特許出願公開第106230997(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/10 - 16/188
(57)【特許請求の範囲】
【請求項1】
第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、前記第1クラスタインスタンス
が、第2クラスタインスタンスへリソース借用要求を送信することと、
前記第1クラスタインスタンスが、前記第2クラスタインスタンスに
よって返送された借用可能リソース情報を受信することであって、前記借用可能リソース情報は、前記第2クラスタインスタンス内の借用可能データサーバリソースを表す、ことと、
前記第1クラスタインスタンス
が、前記借用可能データサーバリソースをデータ処理のために取得することと、
前記第1クラスタインスタンス内の複数のデータサーバリソースに記憶されていた複数のデータブロック複製のうちの一部のデータブロック複製を前記借用可能データサーバリソースへ移行して記憶させることと
を含む、リソース予約方法。
【請求項2】
前記リソース借用要求が前記第1クラスタインスタンスに対応するサービス優先順位及び期待リソース情報を含み、
前記サービス優先順位は、前記第2クラスタインスタンスが別のクラスタインスタンスが送信したリソース借用要求を同時に受信した際に、前記第2クラスタインスタンスが前記サービス優先順位に従って前記第1クラスタインスタンスの前記リソース借用要求へ応答するかどうかを決定できるようにするのに使用され、
前記期待リソース情報は、前記第2クラスタインスタンスが前記期待リソース情報に則して前記借用可能リソース情報を決定できるようにするのに使用される、
請求項1に記載の方法。
【請求項3】
前記第1クラスタインスタンスの負荷条件及び予め設定された借用可能リソース閾値の上限に従って、前記期待リソース情報を決定すること、
をさらに含む、請求項2に記載の方法。
【請求項4】
前記第1クラスタインスタンス
が、前記借用可能データサーバリソースを取得することは、
前記第1クラスタインスタンスが、借用可能データサーバに
よって送信された登録要求を受信した場合に、前記借用可能データサーバ
リソースを前記第1クラスタインスタンスに登録すること、
を含む、請求項1に記載の方法。
【請求項5】
前記第1クラスタインスタンスが所有する前記利用可能リソースが回復して前記閾値よりも多くなった場合に、借用可能データサーバ
リソースから返却されるべきデータサーバ
リソースを決定することと、
前記返却されるべきデータサーバ
リソースに記憶された、前記第1クラスタインスタンスに属するデータブロック複製が前記第1クラスタインスタンス
内の別のデータサーバ
リソースへ移行され
て記憶される必要があるかどうかを判断することと、
前記返却されるべきデータサーバ
リソースに記憶された、前記第1クラスタインスタンスに属する前記データブロック複製が前記第1クラスタインスタンス
内の前記別のデータサーバ
リソースへ移行され
て記憶される必要がある場合に、前記データブロック複製を前記別のデータサーバ
リソースへ移行
して記憶することと、
前記返却されるべきデータサーバへ登録解除通知を送信することと、
をさらに含む、請求項1から
4のいずれか一項に記載の方法。
【請求項6】
前記借用可能データサーバ
リソースから前記返却されるべきデータサーバ
リソースを決定することは、
前記借用可能データサーバ
リソースのそれぞれのサービス品質及び/又はそれぞれの利用率に従って、前記借用可能データサーバ
リソースから前記返却されるべきデータサーバ
リソースを決定すること、
を含む、請求項
5に記載の方法。
【請求項7】
前記返却されるべきデータサーバ
リソースに記憶された、前記第1クラスタインスタンスに属する前記データブロック複製が前記第1クラスタインスタンス
内の別のデータサーバ
リソースへ移行され
て記憶される必要があるかどうかを判断することは、
前記データブロック複製を削除することによって、前記データブロック複製に相当するデータブロックの総数が予め設定された数未満となってしまう場合に、前記データブロック複製が前記別のデータサーバ
リソースへ移行され
て記憶される必要があると判断すること、
を含む、請求項
5に記載の方法。
【請求項8】
第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、前記第1クラスタインスタンス
が、第2クラスタインスタンスへリソース借用要求を送信することと、
前記リソース借用要求に応じて、前記第2クラスタインスタンス
が、前記第2クラスタインスタンス内の借用可能データサーバリソースを決定することと、
前記第1クラスタインスタンス
が、前記借用可能データサーバリソースをデータ処理のために取得することと、
前記第1クラスタインスタンスが所有する前記利用可能リソースが回復して前記閾値よりも多くなった場合に、前記第1クラスタインスタンスが、前記借用可能データサーバリソースから返却されるべきデータサーバリソースを決定することと、
前記第1クラスタインスタンスが、前記返却されるべきデータサーバリソースに記憶された、前記第1クラスタインスタンスに属するデータブロック複製が前記第1クラスタインスタンス内の別のデータサーバリソースへ移行されて記憶される必要があると判断した場合に、前記データブロック複製を前記別のデータサーバリソースへ移行して記憶することと
を含む、リソース予約方法。
【請求項9】
前記第2クラスタインスタンス
が、前記第2クラスタインスタンス内の前記借用可能データサーバリソースを決定した後に、
前記第2クラスタインスタンス
が、借用可能データサーバへ借用通知を送信することと、
前記借用可能データサーバ
が、前記借用通知に応じて前記第1クラスタインスタンスへ登録要求を送信することと、
をさらに含み、
前記第1クラスタインスタンス
が、前記借用可能データサーバリソースを取得することは、
前記第1クラスタインスタンス
が、前記登録要求に従って前記借用可能データサーバ
リソースを前記第1クラスタインスタンスに登録すること、
を含む、請求項
8に記載の方法。
【請求項10】
借用可能データサーバ
リソースに借用状態である印をつけることであって、前記借用状態である印は、前記第1クラスタインスタンスが前記借用可能データサーバリソースを借りていることを示す、ことと
をさらに含む、請求項
8に記載の方法。
【請求項11】
前記第1クラスタインスタンス
が、前記返却されるべきデータサーバへ登録解除通知を送信することと、
前記第1クラスタインスタンスから前記返却されるべきデータサーバ
リソースを前記登録解除通知に従って登録解除することと、
をさらに含む、請求項
10に記載の方法。
【請求項12】
前記第1クラスタインスタンスから前記返却されるべきデータサーバ
リソースを前記登録解除通知に従って登録解除した後に、
前記返却されるべきデータサーバ
が、登録解除完了通知を前記第2クラスタインスタンスへ送信することと、
前記第2クラスタインスタンス
が、前記借用状態である印を削除することと、
をさらに含む、請求項
11に記載の方法。
【請求項13】
前記第2クラスタインスタンスが前記借用可能データサーバ
リソースに関してログオフ通知を受信した場合、前記借用可能データサーバ
リソース内にある、前記第2クラスタインスタンスに対応するデータブロック複製を前記第2クラスタインスタンス内の別のデータサーバ
リソースへ移行
して記憶することと、
前記第2クラスタインスタンス
が、前記借用状態である印に従って返却命令を前記第1クラスタインスタンスへ送信することと、
前記返却命令に応じて、前記第1クラスタインスタンスが前記借用可能データサーバ
リソースに記憶された、前記第1クラスタインスタンスに属する前記データブロック複製が前記第1クラスタインスタンス
内の別のデータサーバ
リソースへ移行され
て記憶される必要があると判断した場合に、前記データブロック複製を前記別のデータサーバへ移行
して記憶することと、前記借用可能データサーバへ登録解除通知を送信することで前記借用可能データサーバ
リソースが前記第1クラスタインスタンスから登録解除されること、
をさらに含む、請求項
11に記載の方法。
【請求項14】
第1クラスタインスタンスによって使用されて、前記第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第2クラスタインスタンスへリソース借用要求を送信するように構成されている送信モジュールと、
前記第2クラスタインスタンスに
よって返送された借用可能リソース情報を受信するように構成されている受信モジュールであって、前記借用可能リソース情報は、前記第2クラスタインスタンス内の借用可能データサーバリソースを表す、受信モジュールと、
前記第1クラスタインスタンスによって使用されて、前記借用可能データサーバリソースをデータ処理のために取得するように構成されている処理モジュールと、
前記第1クラスタインスタンス内の複数のデータサーバリソースに記憶されていた複数のデータブロック複製のうちの一部のデータブロック複製を前記借用可能データサーバリソースへ移行して記憶させるように構成されている前記処理モジュールと
を備えた、リソース予約装置。
【請求項15】
第1クラスタインスタンス内に設置された電子デバイスであって、
メモリ及びプロセッサ
を備え、
前記メモリは1つ又は複数のコンピュータ命令を記憶するように構成され、前記コンピュータ命令は、前記プロセッサにより実行されると、前記プロセッサに、
前記第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に、第2クラスタインスタンスへリソース借用要求を送信することと、
前記第2クラスタインスタンスに
よって返送された、前記第2クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信することと、
前記借用可能データサーバリソースをデータ処理のために取得することと、
前記第1クラスタインスタンス内の複数のデータサーバリソースに記憶されていた複数のデータブロック複製のうちの一部のデータブロック複製を前記借用可能データサーバリソースへ移行して記憶させることと
を実行させる、
電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年1月9日に出願され、「リソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システム」と題された、中国特許出願第201810020116.X号明細書に対する優先権を主張し、その全体が参照により本明細書に援用される。
【0002】
本発明はインターネット技術の分野に関し、より詳細にはリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムに関する。
【背景技術】
【0003】
情報爆発の時代においては、様々なネットワークサービスにより生成されたデータの量が指数関数的に大きくなっている。大量のデータに対する記憶容量、データバックアップ、及びデータセキュリティの必要性を満足させるため、時代の要求に伴い分散ファイルシステムクラスタが出現した。簡単に言えば、分散ファイルシステムクラスタは完全なサービス計算論理を提供するサーバのグループから構成される。
【0004】
適用シナリオにおいて、分散ファイルシステムクラスタは多数の異なるサービスにより共有されうる、又はサービスの多数の異なるタスク若しくは副サービスにより共有されうる。現時点では、分散ファイルシステムクラスタは多数のクラスタインスタンス(あるいはユニットクラスタ、サブクラスタなどとも呼ばれることがある)へ分割されることがあり、各クラスタインスタンスは1つ以上のサービス又はタスクにより使用されうる。各クラスタインスタンスは、独自のメタデータサーバ(MS)及び複数のデータサーバ(CS)を含む。
【0005】
現在、サービスにより生成されたデータの増加によって分散ファイルシステムクラスタのリソースが不足した場合、分散ファイルシステムのリソースは、1つ又はいくつかのクラスタインスタンスに含まれるCSの個数を増やすなど、別々に拡張することにより増やされる。しかし、ますます多くのサービスでデータ量の変動がより大きくなっている。例えば、あるサービスではデータ量が一時的に急激に増加することがある。この時点では、拡張方式が採用されうる。一方で、データ量に急激な増加が検出された場合にのみ拡張がもたらされるため、拡張の適時性は、現在のデータ量の急増をリアルタイムで処理するという要求を満たせない。他方で、データ量の急激な増加に対処するのに拡張方式を採用すると、通常は多量のリソースが無駄になる。
【発明の概要】
【0006】
この問題を鑑み、本発明の例示的な実施形態はリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムを提供することでクラスタインスタンス間でのリソースの再利用を実現し、クラスタのリソース利用率を向上させる。
【0007】
第1態様では、本発明の例示的な実施形態はリソース予約方法を提供し、この方法は、
第1クラスタインスタンスにより、第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第2クラスタインスタンスへリソース借用要求を送信することと、
第2クラスタインスタンスにより返送された、第2クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信することと、
第1クラスタインスタンスにより借用可能データサーバリソースをデータ処理のために取得することと、
を含む。
【0008】
第2態様では、本発明の例示的な実施形態は第1クラスタインスタンスへ適用されるリソース予約装置を提供し、この装置は
第1クラスタインスタンスによって使用されて、第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第2クラスタインスタンスへリソース借用要求を送信するように構成されている送信モジュールと、
第2クラスタインスタンスにより返送された、第2クラスタインスタンス内の借用可能データサーバリソースを表す借用可能リソース情報を受信するように構成されている受信モジュールと、
第1クラスタインスタンスによって使用されて、借用可能データサーバリソースをデータ処理のために取得するように構成されている処理モジュールと、
を備える。
【0009】
第3態様では、本発明の例示的な実施形態は電子デバイスを提供する。電子デバイスはプロセッサ及びメモリを備えることができて、メモリはこの電子デバイスが第1態様のリソース予約方法を実行するのを支援するプログラムを記憶するように構成され、プロセッサはメモリに記憶されるプログラムを実行するように構成される。この電子デバイスは他の機器又は通信ネットワークと通信するための通信インタフェースをさらに備えうる。
【0010】
さらに、本発明の例示的な実施形態は、電子デバイスにより使用されるコンピュータソフトウェア命令を記憶するように構成されているコンピュータ記憶媒体を提供し、このコンピュータ記憶媒体は第1態様のリソース予約方法を実行するためのプログラムを含む。
【0011】
第4態様では、本発明の例示的な実施形態はリソース予約方法を提供し、この方法は、
第1クラスタインスタンスにより、第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第2クラスタインスタンスへリソース借用要求を送信することと、
リソース借用要求に応じて、第2クラスタインスタンスにより第2クラスタインスタンス内の借用可能データサーバリソースを決定することと、
第1クラスタインスタンスにより借用可能データサーバリソースをデータ処理のために取得することと、
を含む。
【0012】
第5態様では、本発明の例示的な実施形態は少なくとも第1クラスタインスタンス及び第2クラスタインスタンスを備えるリソース予約システムを提供し、
第1クラスタインスタンスは第1メタデータサーバ及び複数の第1データサーバを含み、第2クラスタインスタンスは第2メタデータサーバ及び複数の第2データサーバを含み、
第1メタデータサーバは、第1クラスタインスタンスが所有する利用可能リソースが閾値未満である場合に第2クラスタインスタンスへリソース借用要求を送信し、第2メタデータサーバにより決定された借用可能データサーバリソースをデータ処理のために取得するように構成されており、
第2メタデータサーバは、リソース借用要求に応じて、第2クラスタインスタンス内の借用可能データサーバリソースを決定するように構成されている。
【0013】
本発明の例示的な実施形態により提供されるリソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システムでは、第1クラスタインスタンスの利用可能リソースが不足した場合、第1クラスタインスタンスは第2クラスタインスタンスのリソースを借用するためのリソース借用要求を第2クラスタインスタンスへ送信することができる。具体的には、第2クラスタインスタンスはまず第2クラスタインスタンス内の借用可能データサーバリソースを決定して、借用可能データサーバリソースを表す借用可能リソース情報を第1クラスタインスタンスへ返送することで、第1クラスタインスタンスが借用可能データサービスリソースをデータ処理のために取得する。このことに基づいて、一方のクラスタインスタンスの利用可能リソースが不足した場合に他方のクラスタインスタンスのリソースを借用しうることで、クラスタインスタンス間でのリソースの再利用が実現できて、クラスタのリソース利用率を高めることができる。
【図面の簡単な説明】
【0014】
本発明の例示的な実施形態又は従来技術における技術的解決法をより明確に説明するため、以下で例示的な実施形態又は従来技術を説明するのに必要な添付図面を簡潔に説明する。明らかに、以下の説明において添付図面は本発明のいくつかの例示的な実施形態を示しているが、当業者であれば創意工夫を必要とすることなくこれらの添付図面から他の添付図面を導き出しうる。
【
図1】本発明の例示的な実施形態に係るリソース予約システムの模式図である。
【
図2】本発明の例示的な実施形態に係るリソース予約方法のフローチャートである。
【
図3】
図1に基づいたリソース予約プロセスの模式図である。
【
図4】本発明の例示的な実施形態に係る別のリソース予約方法のフローチャートである。
【
図5】本発明の例示的な実施形態に係るさらに別のリソース予約方法のフローチャートである。
【
図6】本発明の例示的な実施形態に係るリソース予約方法の相互作用図である。
【
図7】本発明の例示的な実施形態に係るリソース予約装置の概略構造図である。
【
図8】
図7に示されるリソース予約装置に対応する電子デバイスの概略構造図である。
【
図9】本発明の例示的な実施形態に係る別のリソース予約システムの概略構造図である。
【発明を実施するための形態】
【0015】
本発明の例示的な実施形態の目的、技術的解決法、及び利点をより明確にするため、本発明の例示的な実施形態の技術的解決法について、以下で本発明の例示的な実施形態の図面を併用して共に明確かつ完全に説明する。明らかに、記載される例示的な実施形態は本発明の例示的な実施形態の一部であり、全ての例示的な実施形態ではない。本発明の例示的な実施形態に基づいて当業者により創意工夫を必要とせずに得られる他の例示的な実施形態は、全て本発明の保護範囲に含まれる。
【0016】
本発明の例示的な実施形態において用語は具体的な例示的な実施形態を説明する目的のためだけに使用され、本発明を制限することは意図されていない。また、文脈においてそうでないと述べられていない限り、本発明の例示的な実施形態及び添付の請求項で使用される単数形の「a」、[an」、「the」、及び「前記(said)」はその複数形を表すことも意図されている。概して、「複数の」は2つ以上を含むが、少なくとも1つを含むことが除外されるべきではない。
【0017】
本明細書において使用される用語、「及び/又は(and/or)」は、単に関連する物体を記述する連関関係に過ぎず、3つの関係がありうることを示すことを理解されたい。例えば、A及び/又はBは、Aが単独で存在する、A及びBが同時に存在する、Bが単独で存在する、の3つの場合を示しうる。さらに、本明細書において文字「/」は、この文字の前後の関連する物体が概して「又は(or)」の関係をなしていることを示す。
【0018】
本発明の例示的な実施形態においてXXXは「第1」、「第2」、「第3」などの言葉を使って記述されることがあるが、このXXXはこれらの言葉に限定されるべきではないことを理解されたい。これらの言葉はXXXを区別するためだけに使用される。例えば、本発明の例示的な実施形態の範囲から逸脱することなく、第1のXXXは第2のXXXと呼ばれることがあり、同様に第2のXXXもまた、第1のXXXと呼ばれることがある。
【0019】
文脈によっては、用語「の場合(if)」が本明細書で使用される場合、「when」、「in the case that」、「決定に応じて」、又は「検出に応じて」と解釈されうる。同様に、文脈によっては、語句、「決定された場合」又は「(記述された条件又は事象が)検出された場合」は、「決定された場合」若しくは「決定に応じて」、又は、「(記述された条件又は事象が)検出された場合」若しくは「(記述された条件又は事象を)検出したのに応じて」と解釈されうる。
【0020】
また、用語、「備える/含む(comprise)」、「含む(include)」、又は任意の他のその異形は非排他的な包含を網羅することが意図されており、一連の要素を含む製品又はシステムはそれらの要素だけでなく、明示的に列挙されていない他の要素、又はそのような製品又はシステムに固有の要素も含むことに留意されたい。さらなる制限なしに、「~を含む」という語句により規定される要素は、その要素を備える製品又はシステム内に別の同一の要素が存在することを排除しない。
【0021】
さらに、以下の例示の方法の実施形態におけるステップの順序は一例に過ぎず、厳格な制限を課すものではない。
【0022】
図1は、本発明の例示的な実施形態に係るリソース予約システムの模式図である。リソース予約システムは複数のクラスタインスタンスを備え、このクラスタインスタンスは分散ファイルシステムクラスタにおける任意の特定のサブクラスタでありうる。各クラスタインスタンスは、メタデータサーバ(MS)及び複数のデータサーバ(CS)を含む。概して、ユーザのファイルはチャンクへと分割され、異なるCS上に記憶される。データが失われないことを保証するため、チャンクは複数の複製として記憶される。MSはクラスタインスタンスのメタデータ情報を管理する責任を負う。メタデータ情報は、主にディレクトリとファイルスペース、ファイルのチャンクのリスト、これらのチャンクが記憶されているCS、などを含む。CSの機械ディスクが損傷した場合、MSはデータの信頼性を保証するため、欠落したチャンク複製を他のCSへ複製する複製タスクを作動させる責任も負う。CSは全てのローカルにあるチャンクの読み書きを管理する責任を負い、定期的にその状態をMSへ報告し、チャンクのメタデータ情報を同期する。チャンクのメタデータ情報にはチャンク長、バージョン番号、最終更新時刻などが含まれる。クライアントの作業員がファイルへアクセスする必要がある場合、作業員はまず、チャンク複製の場所に従って最も近い対応するCSに対応するデータを要求するためにMSにファイルのメタデータ情報を問い合わせる。
【0023】
上記のメタデータサーバ及びデータサーバは、ネームノード及びデータノードとも呼ばれることがあることは注目に値する。したがって、これらがどのように呼ばれていようと、上述した特定のクラスタを構成するデバイスに対する機能記述に適合する限り、これらは本発明の例示的な実施形態の範囲に含まれる。
【0024】
説明を簡単にするため、
図1に示されるように、図中に示されるリソース予約システムは、少なくとも第1クラスタインスタンス(クラスタインスタンスA)及び第2クラスタインスタンス(クラスタインスタンスB)を備える。クラスタインスタンスAは、メタデータサーバMSA及び複数のデータサーバCS1、CS2、CS3を含み、クラスタインスタンスBはメタデータサーバMSB及び複数のデータサーバCS4、CS5、CS6を含む。
【0025】
前述したように、各MSは各MSに対応するクラスタインスタンスの全てのディレクトリ及びファイルスペース、各ファイルのチャンクのリスト、及び各チャンクが記憶されているCSを記録する。したがって、
図1に示されるように、MSAにより記録されるファイル及びディレクトリスペースは、/a/、/a/b、/a/c、及び/a/d/と、各ファイルのチャンクのリスト、例えばファイル/a/bがC1、C2の2つのチャンクを持ち、別の例では/a/及び/a/d/の末尾の「/」はディレクトリが存在するがチャンクが存在しないことを示すのでリストはヌル[]である、チャンクのリストと、例えばC1->[1,3]はチャンクC1がCS1及びCS3に記憶されていることを示す、各チャンクが記憶されているCSを含むと想定される。MSBにより記録されるファイル及びディレクトリスペースは、/f/、/f/g、/f/h、及び/f/k/と、各ファイルのチャンクのリスト、例えばファイル/f/gが1つのチャンクC4を持つ、チャンクのリストと、例えばC4->[4,5]はチャンクC4がCS4及びCS5に記憶されていることを示す、各チャンクが記憶されているCSを含むと想定される。
【0026】
図1に示されるリソース予約システムに基づき、本発明の例示的な実施形態により提供されるリソース予約方法の核となる概念は、一方のクラスタインスタンスの利用可能リソースが不足した場合に他方のクラスタインスタンスのリソースを借用しうることであり、さらに、クラスタインスタンスの利用可能リソースが回復して充分である場合には借用リソースは返却されうる。したがって、異なるクラスタインスタンス間でのリソース共有が実現される。
【0027】
本発明の例示的な実施形態により提供されるリソース予約方法について、以下においてクラスタインスタンスA及びクラスタインスタンスBのそれぞれの観点から説明する。
【0028】
図2は、本発明の例示的な実施形態によるリソース予約方法のフローチャートである。この例示的な実施形態によって提供されるリソース予約方法は、
図1に示されるクラスタインスタンスAによって実行されてもよいし、または随意に、具体的にクラスタインスタンスA内のメタデータサーバMSAによって実行されてもよい。以下の例示的な実施形態を、リソース予約方法を実行するMSAを用いて例示する。
図2に示すとおり、この方法は以下のステップを含む:
201、クラスタインスタンスAの所有する利用可能リソースが、予め設定された閾値よりも低い場合、クラスタインスタンスAは、クラスタインスタンスBにリソース借用要求を送信する。
202、クラスタインスタンスAは、クラスタインスタンスBによって返信された借用可能リソース情報を受信するが、ここで、借用可能リソース情報とは、クラスタインスタンスB内の借用可能データサーバリソースを表す。
203、クラスタインスタンスAは、データ処理用の借用可能データサーバリソースを取得する。
【0029】
本発明の例示的な実施形態では、クラスタインスタンスの所有する利用可能リソースは、クラスタインスタンスに最初に登録された複数CS向けの利用可能リソースを指す。
【0030】
随意の例示的な実施形態では、1つのサービスまたは複数のサービスを、1つのクラスタインスタンス上で走らせていてもよく、異なるサービスが、異なる優先順位で設定されていてもよい。例えば、オンラインショッピングサービスをクラスタインスタンス上で走らせる一方で、ビッグデータ分析サービスを別のクラスタインスタンス上で走らせると仮定すると、オンラインショッピングサービスは優先順位を上げて設定され、ビッグデータ分析サービスは優先順位を下げて設定されてもよい。したがって、優先順位の高いサービスの動作が確実に優先されるようにするためには、優先順位の高いサービスを走らせるクラスタインスタンスのリソースを第1に保証することが、確実になされなければならない。概して、優先順位の高いサービスを走らせるクラスタインスタンスのリソースは、優先順位の低い他のサービスと共有されることはない。むしろ、優先順位の高いサービスを走らせるクラスタインスタンスは、優先順位の低いサービスを走らせるクラスタインスタンスのリソースを借用することがある。
【0031】
これに基づいて、クラスタインスタンスAのサービス優先順位が、クラスタインスタンスBのサービス優先順位よりも高いと仮定すると、クラスタインスタンスAのリソースが逼迫している場合には、クラスタインスタンスBのリソースを借用することが望ましい。随意の例示的な実施形態では、MSAおよびMSBは、予め構成されていてもよい。MSA向けの構成内容は、MSBのアクセスアドレスと、借用が許されているクラスタインスタンスB内リソースの上限閾値、すなわち、借用可能リソースの上限閾値とを含んでいてもよい。MSB向けの構成内容は、クラスタインスタンスBからリソースを借用するクラスタインスタンスAのMSAのアクセスアドレスおよび同種のものを含んでいてもよい。アクセスアドレスは、IPアドレス+ポート番号であってもよいし、またはユニフォームリソースロケータ(URL:Uniform Resource Locator)アドレスであってもよい。リソースの最大閾値は、CSの最大数、最大帯域幅、最大ストレージ容量などの規模の閾値であってもよい。
【0032】
上記構成に基づいて、
図3に示すとおり、クラスタインスタンスAの利用可能リソースが不足していること、例えばクラスタインスタンスAの容量が不足している、または要求されたトラヒックがピーク負荷に近いときに利用可能リソースが不足するようになることをMSAが発見した場合には、クラスタインスタンスBにリソース借用要求を送信するようにしてリソース借用処理を開始してもよい。このとき、MSAは、借用可能リソースを有するクラスタインスタンスBのMSBの構成済みアクセスアドレスに基づいて、リソース借用要求をMSBに送信する。
【0033】
随意の例示的な実施形態では、リソース借用要求は、クラスタインスタンスAに対応するサービス優先順位を含んでいてもよい。サービス優先順位は、他のクラスタインスタンスからのリソース借用要求をクラスタインスタンスBが同時に受信した場合に、クラスタインスタンスAの送信したリソース借用要求に応答するかどうかを、サービス優先順位に応じて決定するのに使用される。すなわち、複数のリソース借用要求がクラスタインスタンスBのMSBによって同時に受信されたと仮定すると、クラスタインスタンスBは次に、各リソース借用要求に担持されたサービス優先順位に応じて、最も高いサービス優先順位を有するリソース借用要求に応答するよう決定してもよい。
【0034】
別の随意の例示的な実施形態では、リソース借用要求は、借用する必要があるリソースがどれだけあるかを記述した期待リソース情報をさらに含んでいてもよい。期待リソース情報によって、MSBは、クラスタインスタンスBに含まれる複数のCSの中から、期待リソース情報に適合する1つまたは複数の借用可能CSを決定することができる。
【0035】
リソース借用要求が、サービス優先順位と期待リソース情報とを含む場合には、そして少なくとも2つのリソース借用要求におけるサービス優先順位が他のリソース借用要求におけるサービス優先順位と等しい、そしてそれより高いと仮定すると、随意に、応答に向けて少なくとも2つのリソース借用要求から1つのリソース借用要求が無秩序に選択されてもよく、または、期待リソース情報に対応する借用リソースの最小要求量または最大要求量を有するリソース借用要求が、応答に向けて少なくとも2つのリソース借用要求から選択されてもよい。
【0036】
ここで、期待リソース情報は、以下のやり方にしたがって決定されてもよく、その場合、期待リソース情報は、クラスタインスタンスAの負荷状態と、借用可能リソースの予め設定された上限閾値とに応じて決定される。例えば、クラスタインスタンスAがクラスタインスタンスBから借りられるリソースの予め構成された上限閾値が100台のCSであると仮定すると、クラスタインスタンスAの負荷が負荷容量を30%超える場合には、期待借用量は30台のCSであり、負荷が負荷容量を50%超える場合には、期待借用量は50台のCSであるように構成してもよい。負荷は、クラスタインスタンスAの総ストレージ容量に対するその使用中のストレージ容量の比であってもよい。
【0037】
随意に、前記リソース借用要求は、期待リソース情報を担持しないものであってもよい。このとき、MSBは、クラスタインスタンスAにリソースの借用を許可するかどうかを、そして何台のCSのリソースを具体的に借用してもよいかどうかを、クラスタインスタンスBの負荷や残りのリソース状況などの要因に基づいて決定してもよい。リソースは概して、帯域幅リソースやストレージ容量リソースとして反映される。
【0038】
随意の例示的な実施形態では、MSBが借用可能CSを決定した後、借用可能CSに借用通知を送信して、クラスタインスタンスAに借用可能CSが借用されることを通知してもよい。借用通知は、帯域幅要求やストレージ空き領域要求などの情報を担持していてもよく、この情報は、前述の期待リソース情報の1つまたは様々な要因、クラスタインスタンスBの負荷、クラスタインスタンスB内の各CSの残りのリソース状況に応じて決定されてもよい。この時点で、借用可能CSは、帯域幅要求およびストレージの空き領域要求の下で、対応する帯域幅リソースおよびストレージ空き領域を割り当ててもよく、借用可能CSはさらに、クラスタインスタンスAからの以降のデータを格納するために、
図3に示される/a/eといったファイルディレクトリを作成してもよい。その結果、借用可能CSは、作成されたファイルディレクトリ、割り当てられた帯域幅、およびストレージ空き領域をMSBにフィードバックして、MSBが借用可能リソース情報を作成するようにしてもよい。
【0039】
その結果として、クラスタインスタンスB内のMSBは、クラスタインスタンスAからリソース借用要求を受信すると、クラスタインスタンスAに借用可能リソース情報を返信する。借用可能リソース情報は、クラスタインスタンスB内の借用可能CSリソースを表している。ここで、借用可能CSリソースは、借用可能CSを示す場合があり、さらに、借用可能CS内のストレージ空き領域の量、帯域幅の量、およびファイルディレクトリを示す場合もある。
図3に示すとおり、MSBは、借用可能CSリソースを図中のCS4、CS6と決定した後、借用可能リソース情報をMSAに送信してもよい。借用可能リソース情報は、借用可能CSの識別子を含んでいてもよいリストの形式にまとめて、MSAに借用されるCSがMSAに通知されるようにしてもよい。
【0040】
クラスタインスタンスAのMSAは、クラスタインスタンスBのMSBから返信された借用可能リソース情報を受信した後、対応する借用可能CSリソースを取得してもよい。
【0041】
随意の例示的な実施形態では、借用可能リソース情報は、クラスタインスタンスAが借用し得る、クラスタインスタンスB内のCSリソースを記述しているので、借用可能リソース情報は、MSAが保持するメタデータ情報に書き込まれてもよい。このようにして、借用可能CSリソースが取得されると考えられる。
【0042】
別の随意の例示的な実施形態では、クラスタインスタンスAによる借用されたリソースの使用を容易にするために、クラスタインスタンスBの借用可能CSリソースは、登録処理を通じてクラスタインスタンスAに登録されてもよい。この時点でMSBは、借用可能CSリソースを決定した後、借用可能CSに借用通知を送信してもよい。借用通知は、借用可能CSを起動して、前述した特定の借用な可能帯域、ストレージ空き領域、およびファイルディレクトリなどのリソースを割り当てて作成するだけでなく、さらには、借用可能CSをクラスタインスタンスAに登録する処理を起動してもよい。具体的には、借用可能CSは、クラスタインスタンスAに加わるための登録要求をMSAに送信してもよい。次いでMSAは、受信した借用可能リソース情報に借用可能CSが含まれているのを見出し、登録要求に応答し、登録を完了する。次いで借用可能CSは、この登録処理を通じてクラスタインスタンスAとクラスタインスタンスBの両方に属することになる可能性がある。
【0043】
借用可能CSは、クラスタインスタンスAとクラスタインスタンスBの両方に属していてもよいが、借用可能CS向けの利用可能リソースは2つの別々の部分に分けられ、一方の部分がクラスタインスタンスAによって排他的に使用され、もう一方の部分がクラスタインスタンスBによって排他的に使用されることに留意されたい。
【0044】
また随意に、MSBが借用可能CSリソースを決定した後、その借用可能CSは、借用状態と標識されてもよい。
【0045】
これに基づいて、クラスタインスタンスAは、クラスタインスタンスBからリソースを借用する。その後、クラスタインスタンスAが受信したデータ読み出し書き込み要求などの新たなデータ処理要求のため、借用されたリソースをそのデータ処理要求の処理に使用してもよく、このようにして、クラスタインスタンスAの容量とトラヒック圧が共有される。例えば、
図3に示されるMSAがタスクワーカーからデータ書き込み要求を受信すると、ストレージを要求されたチャンクC6が次いで、CS1および借用されたCS4に書き込まれてもよい。
【0046】
借用されたリソースを使用して新しいデータ処理要求を処理するのに加えて、随意に、クラスタインスタンスAは、その中にあるいくつかのチャンク複製を、借用されたリソースに移行させてもよい;すなわち、クラスタインスタンスA内に、例えば、
図3のCS1、CS2、およびCS3内に元々記憶されていたCSの一部のチャンク複製を、借用されたリソースに移行させてもよい。
【0047】
クラスタインスタンスAが、借用されたリソースを使用する場合、通常は一部のチャンク複製のみが、借用されたリソースに移動させられ、クラスタインスタンスAは、独立してサービスを提供できる全てのチャンクを依然として保持していることに留意されたい。例えば、元々クラスタインスタンスA内のチャンクが3つの複製を有する場合、借用されたリソースが利用可能になった後に、そのうちの1つの複製が、借用されたリソースに移行させられる。その結果として、借用されたリソースが利用できなくなった場合でも、クラスタインスタンスAは、独立してデータの読みだし書き込みを行うための2つの複製を依然として保持することになる。
【0048】
要約すると、1つのクラスタインスタンスの利用可能リソースが不足している場合、このクラスタインスタンスが、他のクラスタインスタンスと交渉してそこからリソースを借用してもよく、これにより、クラスタインスタンス間でのリソースの再利用を実現し、各クラスタインスタンスのリソースを目一杯に活用し、クラスタのリソース利用率を向上させる。
【0049】
図4は、本発明の例示的な実施形態による別のリソース予約方法のフローチャートである。
図4は、
図2に示される例示的な実施形態に基づくものであり、この
図4に示すとおり、ステップ203の後に、以下のステップをさらに含んでいてもよい:
401、クラスタインスタンスAの所有する利用可能リソースが、閾値よりも高い状態に回復する場合には、借用可能CSから返却されることになるCSを決定する。
402、返却対象CS内のクラスタインスタンスAに属するデータブロック複製を、クラスタインスタンスAの他のCSに移行する必要があるかどうかを決定し、もしそうであれば、そのデータブロック複製を他のCSに移行させる。
403、返却対象CSに登録解除通知を送信することにより、クラスタインスタンスAから返却対象CSが登録解除されて登録解除完了通知をMSBに送信するようにする。
【0050】
上記のステップは、クラスタインスタンスAのMSAによって実行されてもよい。
【0051】
クラスタインスタンスAの所有するリソースが回復して充分になった後には、例えば、クラスタインスタンスAの利用可能リソースが、アクセストラヒックの拡大または縮小により回復して充分になった後には、クラスタインスタンスAは、借用されたリソースの全部または一部を返却してもよい。借用されたリソースの全部または一部を返却するかどうかは、クラスタインスタンスAの所有する利用可能リソースがどの程度充分であるかを考慮することにより決定してもよい。例えば、クラスタインスタンスAの所有する利用可能リソースが第1の予め設定された閾値よりも大きい場合には、借用されたリソースの全てを返却すると決定され、クラスタインスタンスAの所有する利用可能リソースが第2の予め設定された閾値よりも大きいが第1の予め設定された閾値よりも小さい場合には、借用されたリソースの一部を返却すると決定され、第1の予め設定された閾値が第2の予め設定された閾値よりも大きい。
【0052】
ここで、ステップ401においてクラスタインスタンスAの所有する利用可能リソースとは、借用されたリソース以外のリソースを指す。
図3に示すとおり、クラスタインスタンスAが、クラスタインスタンスBからCS4とCS6とを借用していると仮定すると、この時点でクラスタインスタンスAが使用してもよいリソースは、CS1、CS2、CS3、CS4、およびCS6を含む。しかしながら、元々クラスタインスタンスAに登録されているCS1、CS2、およびCS3のみが、クラスタインスタンスAの所有するリソースであり、ステップ401に記述されている所有された利用可能リソースである。
【0053】
したがって、クラスタインスタンスAがクラスタインスタンスBからCS4およびCS6を借用するという
図3の仮定と組み合わせて、随意の例示的な実施形態では、クラスタインスタンスAの所有する利用可能リソースが、第1の予め設定された閾値よりも高い値に回復する場合には、クラスタインスタンスAが借用したリソースの全て、すなわちCS4およびCS6を、クラスタインスタンスBに返却してもよい。この時点で、ステップ402を直接実行してもよい。別の随意の例示的な実施形態では、クラスタインスタンスAの所有する利用可能リソースが、第2の予め設定された閾値よりも大きいが第1の予め設定された閾値未満となるように回復する場合には、借用されたリソースの一部が返却される。この時点で返却対象CSは、全ての借用可能CSから決定される必要があることになろう。
【0054】
具体的には、返却対象CSは、各借用可能CSのサービス品質および/または利用率に応じて決定してもよい。例えば、利用頻度の少ない借用可能CSを返却対象CSと決定してもよいし、またはサービス品質の悪い借用可能CSを返却対象CSと決定してもよい。ここで、サービス品質の計量は、単位時間当たりのデータの読み出し書き込み回数、提供されてもよい帯域幅等であってもよい。使用頻度は、借用可能CSが利用可能になって以降に受信されたデータ読み出し書き込み要求の合計数に対する、借用可能CSを使用して受信されたデータ読み出し書き込み要求を処理するクラスタインスタンスAの比であってもよい。対応する閾値は、返却対象CSを決定するための基準として構成されてもよい。
【0055】
MSAが、返却対象CSを決定した後、これらの返却対象CSは、その後は使用されないことになる。
【0056】
前述の例に続いて、MSAが、借用されたCS4とCS6とから返却されることになるCSがCS4であると決定したと仮定して、クラスタインスタンスAがCS4を借用している間、クラスタインスタンスAのデータは、CS4に記憶される可能性がある。よって、CS4がクラスタインスタンスBに返却される前に、CS4内に記憶されているクラスタインスタンスAのチャンク複製をクラスタインスタンスAの他のCSに移行させる必要があるかどうかを決定して、データセキュリティと可用性の要望を満たすようにしなければならない。移行が必要であると決定されたならば、CS4内のチャンク複製を、クラスタインスタンスAの他のCSに複製してもよい。
【0057】
CS4内にはクラスタインスタンスAの複数のチャンク複製が記憶される。いかなるチャンク複製に関しても、チャンク複製を移行させる必要があるかどうかは、以下のようにして決定してもよい。
【0058】
チャンク複製に対応するデータブロックの合計数が、予め設定された数未満になるようにして、チャンク複製が削除されるのであれば、チャンク複製を他のCSに移行させる必要があると決定する。具体的には、MSAは、各CS内に記憶されているチャンク複製を記録しているので、すなわち、MSAは、同じチャンク複製をどのCSが格納しているかを知っているので、CS4内に記憶されているいかなるチャンク複製についても、MSAは、そのチャンク複製をも記憶しているCSを決定する場合があり、MSAはその後、チャンク複製の合計数を決定できる場合がある。合計数がNであると仮定し、上述した予め設定された数がMであると仮定すると、CS4が返却されると決定された場合、チャンク複製の数は(N-1)となる。(N-1)≧Mであれば、チャンク複製は移行させる必要がないと決定され、そうでなければ、チャンク複製は移行させる必要があると決定され、NおよびMは共に1以上の整数である。
【0059】
移行させる必要のあるCS4のチャンク複製が移行させられた後、MSAはCS4に登録解除通知を送信して、CS4がクラスタインスタンスAから登録解除されるようにしてもよい。CS4の登録解除が完了した後、登録解除完了メッセージがMSAに送信されてもよく、これによりMSAは、CS4に関連する情報を借用可能リソース情報から削除してもよい。また、CS4の登録解除が完了した後、登録解除完了通知をさらにMSBに送信して、CS4がクラスタインスタンスAから登録解除されたことをMSBに通知してもよい。この時点でMSBは、CS4の標識を、借用状態から非借用状態に変更してもよい。一方、CS4は、クラスタインスタンスA向けに作成されるファイルディレクトリ空き領域、例えば、
図3の/a/eをさらに取得してもよい。
【0060】
要約すると、各クラスタインスタンスは強い独立性を有しており、それ自体の負荷、すなわち利用可能リソースが充分であるかどうかに応じて動的に、他のクラスタインスタンスからリソースを借用しても、またはそこにリソースを借用してもよい。各クラスタインスタンスは、より柔軟にリソースを再利用し、クラスタのリソース利用率を高めてもよい。
【0061】
図5は、本発明の例示的な実施形態によるさらに別のリソース予約方法のフローチャートである。
図5に示すとおり、この方法は以下のステップを含む:
501、第1クラスタインスタンスの所有する利用可能リソースが閾値未満の場合に、第1クラスタインスタンスが、リソース借用要求を第2クラスタインスタンスに送信する;
502、このリソース借用要求に応答して、第2クラスタインスタンスが、第2クラスタインスタンス内の借用可能データサーバリソースを決定する;および
503、第1クラスタインスタンスが、データ処理のために借用可能データサーバリソースを取得する。
【0062】
この例示的な実施形態では、上記第1クラスタインスタンスは、
図1に示されるクラスタインスタンスAであってもよく、第2クラスタインスタンスは、
図1に示されるクラスタインスタンスBであってもよい。
【0063】
実際の用途では、クラスタインスタンスAにおけるMSAは、クラスタインスタンスAの利用可能リソースが所定の閾値未満であることをMSAが見出した場合に、クラスタインスタンスBのMSBにリソース借用要求を送信してもよい。随意に、クラスタインスタンスAの残りのストレージ空き領域および利用可能な帯域幅が所定の閾値よりも低いことをMSAが見出した場合に、MSAは、MSAに予め割り当てられた構成情報に従って、クラスタインスタンスBのMSBにリソース借用要求を送信してもよい。前述の例示的な実施形態において記載したとおり、その構成情報は、クラスタインスタンスAの利用可能リソースが不足している場合にクラスタインスタンスAがリソースを借用する可能性のある、借用元のクラスタインスタンスのMSのアクセスアドレスを含む。したがって、MSBのアクセスアドレスが構成情報に割り当てられている場合、MSAは、そのアクセスアドレスに応じて、リソース借用要求をMSBに送信してもよい。
【0064】
前述の例示的な実施形態において記載したとおり、リソース借用要求は、クラスタインスタンスAに対応するサービス優先順位、期待リソース情報、および同種のものなどのパラメータを含んでいてもよい。リソース借用要求が期待リソース情報を含んでいる場合、MSBは、クラスタインスタンスBから、期待リソース情報に適合する借用可能CSリソースを決定する。期待リソース情報は、クラスタインスタンスAが取得すると期待されるCSの台数、ネットワーク距離、およびストレージ容量の要求を記述する。したがって、MSBは、クラスタインスタンスB内の各CSの負荷やストレージ容量に応じて、要求を満たす1つのCSまたは複数のCSの組み合わせを、借用可能CSリソースとして選択してもよい。
【0065】
さらに、随意に、借用可能CSリソースを、どのCSが借用され得るかという観点から反映させるという視点に加えて、それらのCSリソースを、CSにおける特定のリソースとしてさらに反映させてもよい。これに基づいて、MSBは第1に、期待リソース情報に適合する複数の借用可能CSを選択し、続いてこれらの借用可能CSに借用通知を送信してもよく、これは、ファイルディレクトリ、ストレージ空き領域、帯域幅などの特定のリソースを借用可能CSが割り当てるようにしてなされ、割り当てられたリソースは、MSBにフィードバックされて、より詳細な借用可能CSリソースを形成する。
【0066】
借用可能CSリソースを決定した後、MSBは、借用可能CSリソースを特徴付ける借用可能リソース情報をMSAにフィードバックしてもよく、クラスタインスタンスAは次いで、対応する借用可能CSリソースを取得してもよい。ここで、クラスタインスタンスAが借用可能CSリソースを取得する処理に関しては、前述の例示的な実施形態における記述を参照してもよく、本明細書では繰り返さない。
【0067】
また、借用可能CSは、借用通知に基づいて、クラスタインスタンスAへの登録をさらに起動してもよい。具体的には、借用可能CSは、借用通知を受信した後、クラスタインスタンスAへの登録要求を送信して、クラスタインスタンスAへの登録を進めてもよい。
【0068】
随意に、MSBがクラスタインスタンスB内の借用可能CSを決定した後、借用可能CSを借用状態と標識して、借用可能CSをクラスタインスタンスAが借用したことを表示してもよい。
【0069】
随意の例示的な実施形態では、クラスタインスタンスAが所有する利用可能リソースが回復して充分になると、クラスタインスタンスAは、借用されたリソースの全部または一部を返却してもよい。MSAが、そこに提供された上述の借用可能CSから返却対象CSを決定すると、
図4に示される返却処理が起動される。この返却処理では、MSAは、返却対象CSに登録解除通知を送信して、返却対象CSがクラスタインスタンスAから登録解除されるようにする。返却対象CSがクラスタインスタンスAから登録解除された後、登録解除完了通知がMSBに送信されて、返却対象CSがクラスタインスタンスAから登録解除されたことを、MSBに通知する。返却対象CSにより送信された登録解除完了通知に応答して、MSBは、返却対象CSの借用状態標識を削除してもよく、よって、クラスタインスタンスBは、後に返却されることになるCSの使用を継続してもよい。
【0070】
随意の例示的な実施形態では、CSの障害といった理由に起因して、CSをログオフする必要がある、すなわち、対応するクラスタインスタンスからCSを削除する必要がある。CSが複数のクラスタインスタンスにサービスを提供しているなら、すなわち他のクラスタインスタンスがCSを借用している場合には、以下の処理を安全なログオフ処理として見なすことができる。
【0071】
以下では、ログオフされることが必要な、
図3に示された例示的な実施形態のCS4を、例として使用する。CS4は、元々クラスタインスタンスBに登録されているので、CS4に関するログオフ通知が、クラスタインスタンスBのMSBに送信されることになる。この時点でクラスタインスタンスAは、借用可能CSであるCS4を借用しているので、借用可能CS―CS4向けのログオフ処理は、以下のとおりである。
【0072】
第1に、MSBは、CS4に関するログオフ通知を受信した後、CS4内のクラスタインスタンスBに対応するチャンク複製をクラスタインスタンスBの他のCSに移行させて、データセキュリティと可用性の要望を保証する。
【0073】
第2に、MSBは、CS4の借用状態標識に応じてログオフ通知をMSAに送信して、CS4の返却処理をMSAが実行するようにする。ここで、借用状態標識は、MSAがCS4を借用していることを表示しているので、MSAの予め構成されているアクセスアドレスを通じて、ログオフ通知をMSAに送信してもよい。MSAの返却処理は、
図4に示されるステップ402から403を実行する処理であり、ここで、返却対象CSは、ログオフ通知に担持されるCS4である。
【0074】
最後に、CS4上に記憶されているクラスタインスタンスBのチャンク複製が他のCSに移行したなら、そして、前述の例示的な実施形態で言及されたログオフ通知のような、返却が行われたことを示す通知メッセージが受信されるなら、特定のログオフ処理を実行してもよいと確認される。
【0075】
上記ログオフ処理フローに基づいて、ログオフされたCSのデータセキュリティと可用性が保証される。
図6は、本発明の例示的な実施形態によるリソース予約方法の相互作用図である。
図6に示されるとおり、この方法は以下のステップを含んでいてもよい。
601、クラスタインスタンスAのMSAは、クラスタインスタンスAのリソースが不足している場合に、クラスタインスタンスBのMSBにリソース借用要求を送信してもよい。
602、クラスタインスタンスBのMSBは、借用可能CSリソースであるCS4を決定し、CSを借用状態と標識する。
【0076】
任意の例示的な実施形態において、ステップ602には、MSBが、借用可能なCSを決定し、借用可能なCSが、特定の借用可能リソースを割り当てるように借用通知を借用可能なCSに送信し,それによって借用可能なCSのリソースを決定し、借用可能なCSのリソースを特徴づける借用可能リソースの情報を取得することが特に含まれ得る。
【0077】
603では、クラスタインスタンスBのMSBは、クラスタインスタンスAのMSAに借用可能リソース情報CS4を戻す。
【0078】
604では、CS4は、クラスタインスタンスAで登録を完了する。
【0079】
605では、クラスタインスタンスAのMSAは、新しいデータ書き込み要求を受信し、CS4にデータブロックを書き込む。
【0080】
606では、クラスタインスタンスAのMSAは、クラスタインスタンスAのリソースが復元され、十分なとき、登録解除通知をCS4に送信する。
【0081】
607では、CS4は、クラスタインスタンスAから登録を解除される。
【0082】
608では、CS4は、登録解除完了通知をクラスタインスタンスBのMSBに送信する。
【0083】
609では、クラスタインスタンスBのMSBは、CS4の借用状態マーキングを消去する。
【0084】
610では、CS4は、クラスタインスタンスAが借用した、利用可能リソースを取得する。
【0085】
上記の例示的な実施形態では、以前の例示的な実施形態に記載された借用および返却プロセスを単に例示する。特定の実行プロセスに関する参照が、上述の対応する例示的な実施形態の説明になされてもよい。
【0086】
本発明の1つ以上の例示的な実施形態のリソース予約装置は、以下に詳細に説明される。これらのリソース予約装置の全てが、本解決策で教示される工程を通じて市販のハードウェア構成要素の構成および使用により形成され得ることを、当業者は理解し得る。
【0087】
図7は、本発明の一例示的な実施形態によるリソース予約装置の概略構造図である。リソース予約装置は、
図1に示すクラスタインスタンスAのMSAに加えられてもよい。
図7に示すように、その装置は、送信モジュール11、受信モジュール12、および処理モジュール13を備える。
【0088】
送信モジュール11は、第1クラスタインスタンスによって所有される利用可能リソースが、閾値未満である場合、第1クラスタインスタンスによって使用されて、リソース借用要求を第2クラスタインスタンスに送信するように構成される。
【0089】
受信モジュール12は、借用可能リソース情報が、第2クラスタインスタンス内の借用可能データサーバリソースを表す、第2クラスタインスタンスによって返却された借用可能リソース情報を受信するように構成される。
【0090】
処理モジュール13は、データ処理用の借用可能データサーバリソースを取得するため第1クラスタインスタンスによって使用されるように構成される。
【0091】
任意で、リソース借用要求は、第1クラスタインスタンスおよび期待リソース情報に対応するサービス優先順位を含み、そこでは、別のクラスタインスタンスによって送信されたリソース借用要求が、第2クラスタインスタンスに同時に受信されたとき、サービス優先順位を使用して、第1クラスタインスタンスのリソース借用要求に応じるかどうかをサービス優先順位にしたがって、第2クラスタインスタンスが判定できるようにし、期待リソース情報を使用して、第2クラスタインスタンスが、借用可能リソース情報が期待リソース情報に準拠することを判定できるようにする。
【0092】
任意の例示的な実施形態では、装置は、第1決定モジュール14をさらに含み得る。
【0093】
第1決定モジュール14は、第1クラスタインスタンスの負荷状態および借用可能リソースの予め決められた上限閾値にしたがって、期待リソース情報を判定するように構成される。
【0094】
任意の例示的な実施形態では、処理モジュール13は、借用可能データサーバによって送信された登録要求が受信された場合、第1クラスタインスタンスで借用可能データサーバの登録を行うようにさらに構成される。
【0095】
任意の例示的な実施形態では、処理モジュール13は、第1クラスタインスタンス内の一部のデータブロック複製を借用可能データサーバリソースに移動させるようにさらに構成される。
【0096】
任意の例示的な実施形態では、装置は、第2決定モジュール15および第3決定モジュール16をさらに含む。
【0097】
第2決定モジュール15は、第1クラスタインスタンスに所有された利用可能リソースが、閾値より高くなるように復元された場合、借用可能データサーバから返却されるデータサーバを判定するように構成される。
【0098】
第3決定モジュール16は、返却されるデータサーバの第1クラスタインスタンスに属するデータブロック複製が、第1クラスタインスタンスの他のデータサーバに移動される必要があるかどうか判定するように構成される。
【0099】
それに応じて、処理モジュール13は、第3決定モジュール16が、移動が必要であると判定した場合、データブロック複製を他のデータサーバに移動させるようにさらに構成される。
【0100】
送信モジュール11は、返却されるデータサーバに登録解除通知を送信するようにさらに構成され、その結果、返却されるデータサーバは、第1クラスタインスタンスから登録を解除され、第2クラスタインスタンスに登録解除完了通知を送信する。
【0101】
任意で、第2決定モジュール15は、借用可能データサーバのサービス品質および/または利用率にしたがって、借用可能データサーバから返却されるデータサーバを特に判定するように構成される。
【0102】
任意で、第3決定モジュール16は、データブロック複製に対応するデータブロックの総数が、事前に設定された数より小さくなるように、データブロック複製が消去されている場合、データブロック複製は、他のデータサーバに移動することが必要と判定するように特に構成される。
【0103】
図7に示す装置は、
図2および
図4に示す例示的な実施形態の方法を実行できる。本例示的な実施形態で詳細に説明されない部品に関する参照は、
図2および
図4に示す例示的な実施形態の関連する説明に対してなされ得る。本技術的解決策の実装プロセスおよび技術的効果に関する参照は、
図2および
図4に示す例示的な実施形態の説明に対してなされ得る。本明細書に詳細は繰り返さない。
【0104】
リソース予約装置の内部機能および構造は、上述されている。一つの考えられる設計では、
図8に示すリソース予約装置の構造は、
図1のMSAなどの電子デバイスとして実装され得る。
図8に示すように、電子デバイスは、プロセッサ21およびメモリ22を備え得る。メモリ22は、
図2および
図4に示す例示的な実施形態に提供されるリソース予約方法を実行する電子デバイスを支持するプログラムを保存するように構成され、プロセッサ21は、メモリ22に保存されたプログラムを実行するように構成される。
【0105】
プログラムは、プロセッサ21によって実行されると、第1クラスタインスタンスによって所有される利用可能リソースが、閾値未満である場合、第1クラスタインスタンスによって、第2クラスタインスタンスにリソース借用要求を送信し、借用可能リソース情報が、第2クラスタインスタンスの借用可能データサーバリソースを表す、第2クラスタインスタンスによって返却される借用可能リソース情報を受信し、データ処理用の借用可能データサーバリソースを第1クラスタインスタンスによって取得するステップを実施する、1つまたは複数のコンピュータ命令を備える。
【0106】
任意で、プロセッサ21は、
図2および
図4に示す前述の例示的な実施形態のステップの全てまたは一部を実行するようにさらに構成される。
【0107】
電子デバイスの構造は、他のデバイスまたは通信ネットワークと通信するため通信インタフェース23をさらに含み得る。
【0108】
追加で、本発明の例示的な実施形態は、電子デバイスによって使用されるコンピュータソフトウェア命令を保存するように構成されるコンピュータ記憶媒体を提供し、コンピュータ記憶媒体は、
図2および
図4に示す方法の例示的な実施形態でリソース予約方法を実行するためのプログラムを含む。
【0109】
図9は、本発明の一例示的な実施形態による別のリソース予約システムの概略構造図である。
図9に示すように、システムは、少なくとも第1クラスタインスタンスおよび第2クラスタインスタンスを備え、第1クラスタインスタンスは、第1メタデータサーバおよび複数の第1データサーバを備え、第2クラスタインスタンスは、第2メタデータサーバおよび複数の第2データサーバを備え、第1メタデータサーバは、第1クラスタインスタンスによって所有される利用可能リソースが閾値未満である場合、第2クラスタインスタンスにリソース借用要求を送信するように構成され、データ処理のため第2メタデータサーバによって判定される借用可能データサーバリソースを取得し、第2メタデータサーバは、リソース借用要求に応じて、第2クラスタインスタンスの借用可能データサーバリソースを判定するように構成される。
【0110】
任意で、第1メタデータサーバ、第2メタデータサーバ、複数の第1データサーバ、および複数の第2データサーバは、前述の例示的な実施形態のそれぞれに対応するステップの全てまたは一部を実行するようにさらに構成される。
【0111】
上述の装置の例示的な実施形態は単に例であり、別個の構成要素として説明される単一体は、物理的に分離されていてもいなくてもよく、単一体として表示される構成要素は、物理的に単一体であってもなくてもよく、すなわち、単一体は、一つの場所に位置してもよく、または複数のネットワークユニット上に分散されてもよい。モジュールの一部または全ては、例示的な実施形態の解決策の目的を成し遂げるための実際の必要性にしたがって、選択され得る。当業者は、創造的な取り組みなしで、例示的な実施形態を理解し、実施することができる。
【0112】
上記の実装形態の説明を通じて、当業者は、各実装形態を、必要な一般のハードウェアプラットフォームにより実現することができ、ハードウェアとソフトウェアとの組み合わせにより確かに実装できることを明確に理解し得る。こうした理解に基づいて、従来技術に不可欠なまたは寄与する上記の技術的解決策または技術的解決策の一部を、ソフトウェア製品の形態で具現化することができる。本発明は、その中に含まれるコンピュータ使用可能プログラムコードを有する(ディスク記憶装置、CD-ROM、光記憶装置などを含むがそれに限定されない)1つまたは複数のコンピュータ使用可能記憶媒体上で具現化されるコンピュータプログラム製品の形態を取ることができる。
【0113】
本発明は、本発明の例示的な実施形態による方法、デバイス(システム)およびコンピュータプログラム製品の流れ図および/またはブロック図を参照して説明される。コンピュータプログラム命令は、流れ図および/またはブロック図中の各プロセスおよび/または各ブロックならびに流れ図および/またはブロック図中のプロセスおよび/またはブロックの組み合わせを実施するため使用され得ることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサまたはマシンを生成するための別のプログラム可能データ処理デバイスのプロセッサに提供することができ、それによりコンピュータまたは別のプログラム可能データ処理デバイスのプロセッサによって実行される命令は、流れ図中の1つまたは複数のプロセスでおよび/またはブロック図中の1つまたは複数のブロックで特定の機能を実装する装置を生成する。
【0114】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスに特定の方法で作業するように命令することができるコンピュータ可読メモリに保存することができ、そうしてコンピュータ可読メモリに保存された命令は、命令装置を含む人工物を生成する。命令装置は、流れ図中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックで特定の機能を実施する。
【0115】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理デバイスにロードすることができ、その結果、一連の動作およびステップが、コンピュータ実施される処理を生成するためコンピュータまたは別のプログラム可能デバイス上で実施される。したがって、コンピュータまたは別のプログラム可能デバイス上で実行される命令を使用して、流れ図中の1つまたは複数のプロセスおよび/またはブロック図中の1つまたは複数のブロックで特定の機能を実施するためのステップを提供する。
【0116】
一つの典型的な構成では、コンピュータデバイスは、1つまたは複数の処理ユニット(CPU)、入力/出力インタフェース、ネットワークインタフェース、およびメモリを備える。
【0117】
メモリは、コンピュータ可読媒体上の揮発性記憶デバイス、ランダムアクセスメモリ(RAM)、および/または、読み出し専用メモリ(ROM)もしくはフラッシュメモリ(flash RAM)などの不揮発性メモリを含んでもよい。メモリは、コンピュータ可読媒体の一例である。
【0118】
コンピュータ可読媒体には、永久および非永久媒体、取り外し可能および非取り外し可能媒体の両方が含まれ、任意の方法または技術により情報を保存することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであってよい。コンピュータ記憶媒体の例として、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他の種類のランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)または他の光学記憶デバイス、カセット式磁気テープ、磁気テープ/磁気ディスク記憶装置または他の磁気記憶デバイスもしくは任意の他の非伝送媒体が挙げられるがそれに限定されず、コンピューティングデバイスによってアクセス可能な情報を保存するために使用され得る。本明細書に定義されるように、コンピュータ可読媒体は、変調データ信号および非変調搬送波などの一時的媒体を含まない。
【0119】
最後に、上記の例示的な実施形態は、本発明の技術的解決策を制限するのではなく、単に例示するために使用されることに留意されたい。本発明は、上述の例示的な実施形態を参照して詳細に説明されるが、上述の例示的な実施形態に記載の技術的解決策にさらに変更がなされてもよく、または均等物との置換がその技術的特徴の一部に適用されてもよく、これらの変更または置換は、対応する技術的解決策の本質を本発明の例示的な実施形態における技術的解決策の精神および範囲から逸脱させないことが当業者には理解される。