(57)【要約】  ハードディスク間の対話のための方法、装置、およびシステムを提供し、クラスタコントローラの性能がその相対的に高い負荷圧力のために低減されるという問題を解決する。方法は、第1ハードディスクによってサポートされるサービスケイパビリティのセットである第1ケイパビリティセットを決定するステップと、第2ハードディスクによって送信される、第2ハードディスクによってサポートされるサービスケイパビリティのセットである第2ケイパビリティセットを受信するステップと、第1および第2のケイパビリティセットに従って、第1および第2のハードディスクの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定するステップと、協調サービスケイパビリティを使用して第2ハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定するステップとを含む。
2016539419.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスク間のインタラクションのための方法であって、
第1のハードディスクにより、前記第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するステップと、
前記第1のハードディスクにより、第2のハードディスクによって送信される、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するステップと、
前記第1のハードディスクにより、前記第1のケイパビリティセットおよび前記第2のケイパビリティセットに従って、前記第1のハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定するステップと、
前記第1のハードディスクにより、協調サービスケイパビリティを使用して前記第2のハードディスクとのサービス処理を実行するために、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するステップと
を有する、ハードディスク間のインタラクションのための方法。
【請求項２】
前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、前記第1のハードディスクにより、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定する前記ステップは、
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定するステップと、
前記第1のハードディスクにより、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するステップと
を含む、請求項1に記載のハードディスク間のインタラクションのための方法。
【請求項３】
前記第1のハードディスクにより、第1の乱数を生成するステップと、
前記第1のハードディスクにより、前記第2のハードディスクによって送信される第2の乱数を受信するステップと
をさらに有し、
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定する前記ステップは、
前記第1のハードディスクにより、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するために、前記第1の乱数と前記第2の乱数とを比較するステップを含み、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項2に記載のハードディスク間のインタラクションのための方法。
【請求項４】
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定する前記ステップは、
前記第1のハードディスクにより、前記第1のハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するステップを含む、請求項2に記載のハードディスク間のインタラクションのための方法。
【請求項５】
前記第1のハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記第1のハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項1に記載のハードディスク間のインタラクションのための方法。
【請求項６】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項1に記載のハードディスク間のインタラクションのための方法。
【請求項７】
前記第1のハードディスクにより、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記第1のハードディスクとのサービス処理を実行するよう、前記協調サービスケイパビリティを前記第2のハードディスクに送信するステップをさらに有する、請求項1から6のいずれか一項に記載のハードディスク間のインタラクションのための方法。
【請求項８】
ハードディスクであって、
前記ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するように構成された決定部と、
第2のハードディスクによって送信される、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するように構成された受信部と、
前記決定部によって決定される協調サービスケイパビリティを使用して、前記第2のハードディスクとのサービス処理を実行するように構成されたサービス処理部と
を具備し、
前記決定部は、前記第1のケイパビリティセットおよび前記受信部によって受信される前記第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するようにさらに構成され、
前記共通ケイパビリティセットは、前記ハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである、ハードディスク。
【請求項９】
前記決定部は、前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、前記ハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定し、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するようにさらに構成される、請求項8に記載のハードディスク。
【請求項１０】
生成部と
比較部と
をさらに具備し、
前記生成部は、第1の乱数を生成するように構成され、
前記受信部は、前記第2のハードディスクによって送信される第2の乱数を受信するようにさらに構成され、
前記比較部は、前記生成部によって生成される前記第1の乱数と前記受信部によって受信される前記第2の乱数とを比較するように構成され、
前記決定部は、前記比較部の比較結果に従って、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するようにさらに構成され、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項9に記載のハードディスク。
【請求項１１】
前記決定部は、前記ハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するようにさらに構成される、請求項9に記載のハードディスク。
【請求項１２】
前記ハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記ハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項8に記載のハードディスク。
【請求項１３】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項8に記載のハードディスク。
【請求項１４】
送信部をさらに具備し、
前記送信部は、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記ハードディスクとのサービス処理を実行するよう、前記決定部によって決定される前記協調サービスケイパビリティを前記第2のハードディスクに送信するように構成される、請求項8から13のいずれか一項に記載のハードディスク。
【請求項１５】
ハードディスクであって、
第1のケイパビリティセットを決定し、第2のハードディスクによって送信される第2のケイパビリティセットを受信し、前記第1のケイパビリティセットおよび前記第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、協調サービスケイパビリティを使用して前記第2のハードディスクとのサービス処理を実行するために、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するように構成されたプロセッサと、
前記第1のケイパビリティセット、前記第2のケイパビリティセット、前記共通ケイパビリティセット、および前記協調サービスケイパビリティを格納するように構成されたメモリと
を具備し、
前記第1のケイパビリティセットは、前記ハードディスクによってサポートされるサービスケイパビリティのセットであり、
前記第2のケイパビリティセットは、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットであり、
前記共通ケイパビリティセットは、前記ハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである、ハードディスク。
【請求項１６】
前記プロセッサは、前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、前記ハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定し、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するようにさらに構成される、請求項15に記載のハードディスク。
【請求項１７】
前記プロセッサは、第1の乱数を生成し、前記第2のハードディスクによって送信される第2の乱数を受信し、前記第1の乱数と前記第2の乱数とを比較し、比較結果に従って、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するようにさらに構成され、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項16に記載のハードディスク。
【請求項１８】
前記プロセッサは、前記ハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するようにさらに構成される、請求項16に記載のハードディスク。
【請求項１９】
前記ハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記ハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項15に記載のハードディスク。
【請求項２０】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項15に記載のハードディスク。
【請求項２１】
前記プロセッサは、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記ハードディスクとのサービス処理を実行するよう、前記協調サービスケイパビリティを前記第2のハードディスクに送信するようにさらに構成される、請求項15から20のいずれか一項に記載のハードディスク。
【請求項２２】
クラスタシステムであって、
複数のハードディスクを具備し、
前記複数のハードディスクは、請求項8から14のいずれか一項または請求項15から21のいずれか一項に記載のハードディスクであり、
前記複数のハードディスクのうちのあるハードディスクが、請求項1から7のいずれか一項に記載のハードディスク間のインタラクションのための方法を実行することによって、前記あるハードディスクを除く前記複数のハードディスクのうちの別のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定し、前記協調サービスケイパビリティを使用して前記別のハードディスクとのサービス処理を実行する、クラスタシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ技術の分野に関し、詳細には、ハードディスク間のインタラクションのための方法、装置、およびシステムに関する。
【背景技術】
【０００２】
近年、クラウドストレージの出現と共に、イーサネット（登録商標）インターフェースを備えるハードディスク、すなわち、イーサネット・インターフェース・ハードディスクが一層幅広く適用されている。
【０００３】
先行技術において、イーサネット・インターフェース・ハードディスクを含むクラスタシステムでは、イーサネット・インターフェース・ハードディスクをスケジュールするために、集中型コントローラ、すなわちクラスタコントローラが一般に必要とされる。クラスタシステムでは、イーサネット・インターフェース・ハードディスク間のインタラクション時にサービススケジューリングを行うためにクラスタコントローラが必要とされる場合、すなわち、あるイーサネット・インターフェース・ハードディスクが他のイーサネット・インターフェース・ハードディスクとやりとりする必要がある場合、そのあるイーサネット・インターフェース・ハードディスクは、対応するサービス要求をクラスタコントローラに送信することができ、クラスタコントローラは、そのあるイーサネット・インターフェース・ハードディスクと他のイーサネット・インターフェース・ハードディスクとの間のインタラクションを完了するために、対応する他のイーサネット・インターフェース・ハードディスクへのサービス要求をスケジュールする。
【０００４】
しかしながら、イーサネット・インターフェース・ハードディスク間のインタラクションのための前述の方法では、すべてのサービス要求がクラスタコントローラによってスケジュールされる必要があり、それによって、クラスタコントローラに相対的に高い負荷圧力が生じ、そのため、クラスタコントローラの性能が低減される。
【発明の概要】
【課題を解決するための手段】
【０００５】
先行技術における問題を解決するために、本発明の実施態様は、ハードディスク間のインタラクションのための方法、装置、およびシステムを提供する。
【０００６】
前述の目的を達成するために、本発明の実施態様においては、以下の技術的解決策が使用される。
【０００７】
第1の態様によれば、本発明は、ハードディスク間のインタラクションのための方法を提供し、本方法は、
第1のハードディスクにより、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するステップと、
第1のハードディスクにより、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するステップと、
第1のハードディスクにより、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定するステップと、
第1のハードディスクにより、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定するステップとを含む。
【０００８】
第1の態様の第1の可能な実施態様において、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、第1のハードディスクにより、共通ケイパビリティセットから協調サービスケイパビリティを決定するステップは、
第1のハードディスクにより、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定するステップと、
第1のハードディスクにより、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、協調サービスケイパビリティを決定するステップとを含む。
【０００９】
第1の態様の第1の可能な実施態様に関連して、第2の可能な実施態様において、本方法は、
第1のハードディスクにより、第1の乱数を生成するステップと、
第1のハードディスクにより、第2のハードディスクによって送信される第2の乱数を受信するステップとをさらに含み、
第1のハードディスクにより、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定するステップは、
第1のハードディスクにより、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するために、第1の乱数と第2の乱数とを比較するステップを含み、所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【００１０】
第1の態様の第1の可能な実施態様に関連して、第3の可能な実施態様において、第1のハードディスクにより、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定するステップは、
第1のハードディスクにより、第1のハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定するステップを含む。
【００１１】
第1の態様の第4の可能な実施態様において、第1のハードディスクおよび第2のハードディスクは、同じクラスタシステム内のハードディスクであり、第1のハードディスクは、クラスタシステムにおけるプライマリハードディスクであり、第2のハードディスクは、クラスタシステムにおけるセカンダリハードディスクであり、複数の第2のハードディスクが存在する。
【００１２】
第1の態様の第5の可能な実施態様において、複数の第2のハードディスクが存在する場合に、第2のケイパビリティセットは、すべての複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである。
【００１３】
前述の第1の態様または第1の態様の第1から第5の可能な実施態様のいずれかの実施態様に関連して、第6の可能な実施態様において、本方法は、
第1のハードディスクにより、第2のハードディスクが協調サービスケイパビリティを使用して第1のハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを第2のハードディスクに送信するステップをさらに含む。
【００１４】
第2の態様によれば、本発明は、ハードディスクを提供し、本ハードディスクは、
本ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するように構成された決定部と、
第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するように構成された受信部と
決定部によって決定される協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するように構成されたサービス処理部とを含み、決定部は、第1のケイパビリティセットおよび受信部によって受信される第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、共通ケイパビリティセットから協調サービスケイパビリティを決定するようにさらに構成され、共通ケイパビリティセットは、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである。
【００１５】
第2の態様の第1の可能な実施態様において、決定部は、具体的には、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、本ハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定し、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、協調サービスケイパビリティを決定するように構成される。
【００１６】
第2の態様の第1の可能な実装方法に関連して、第2の可能な実施態様において、本ハードディスクは、生成部と、比較部とをさらに含み、
生成部は、第1の乱数を生成するように構成され、
受信部は、第2のハードディスクによって送信される第2の乱数を受信するようにさらに構成され、
比較部は、生成部によって生成される第1の乱数と受信部によって受信される第2の乱数とを比較するように構成され、
決定部は、具体的には、比較部の比較結果に従って、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するように構成され、所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【００１７】
第2の態様の第1の可能な実施態様に関連して、第3の可能な実施態様において、決定部は、具体的には、本ハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定するように構成される。
【００１８】
第2の態様の第4の可能な実施態様において、本ハードディスクおよび第2のハードディスクは、同じクラスタシステム内のハードディスクであり、本ハードディスクは、クラスタシステムにおけるプライマリハードディスクであり、第2のハードディスクは、クラスタシステムにおけるセカンダリハードディスクであり、複数の第2のハードディスクが存在する。
【００１９】
第2の態様の第5の可能な実施態様において、複数の第2のハードディスクが存在する場合に、第2のケイパビリティセットは、すべての複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである。
【００２０】
前述の第2の態様または第2の態様の第1から第5の可能な実施態様のいずれかの実施態様に関連して、第6の可能な実施態様において、本ハードディスクは、送信部をさらに含み、
送信部は、第2のハードディスクが協調サービスケイパビリティを使用して本ハードディスクとのサービス処理を実行するよう、決定部によって決定される協調サービスケイパビリティを第2のハードディスクに送信するように構成される。
【００２１】
第3の態様によれば、本発明は、ハードディスクを提供し、本ハードディスクは、
第1のケイパビリティセットを決定し、第2のハードディスクによって送信される第2のケイパビリティセットを受信し、第1のケイパビリティセットおよび第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定するように構成されたプロセッサと、
第1のケイパビリティセット、第2のケイパビリティセット、共通ケイパビリティセット、および協調サービスケイパビリティを格納するように構成されたメモリとを含み、第1のケイパビリティセットは、本ハードディスクによってサポートされるサービスケイパビリティのセットであり、第2のケイパビリティセットは、第2のハードディスクによってサポートされるサービスケイパビリティのセットであり、共通ケイパビリティセットは、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである。
【００２２】
第3の態様の第1の可能な実施態様において、プロセッサは、具体的には、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、本ハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定し、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、協調サービスケイパビリティを決定するように構成される。
【００２３】
第3の態様の第1の可能な実施態様に関連して、第2の可能な実施態様において、プロセッサは、具体的には、第1の乱数を生成し、第2のハードディスクによって送信される第2の乱数を受信し、第1の乱数と第2の乱数とを比較し、比較結果に従って、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するように構成され、所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【００２４】
第3の態様の第1の可能な実施態様に関連して、第3の可能な実施態様において、プロセッサは、本ハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定するようにさらに構成される。
【００２５】
第3の態様の第4の可能な実施態様において、本ハードディスクおよび第2のハードディスクは、同じクラスタシステム内のハードディスクであり、本ハードディスクは、クラスタシステムにおけるプライマリハードディスクであり、第2のハードディスクは、クラスタシステムにおけるセカンダリハードディスクであり、複数の第2のハードディスクが存在する。
【００２６】
第3の態様の第5の可能な実施態様において、複数の第2のハードディスクが存在する場合に、第2のケイパビリティセットは、すべての複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである。
【００２７】
前述の第3の態様または第3の態様の第1の可能な実施態様から第5の可能な実施態様のいずれかの実施態様に関連して、第6の可能な実施態様において、プロセッサは、第2のハードディスクが協調サービスケイパビリティを使用して本ハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを第2のハードディスクに送信するようにさらに構成される。
【００２８】
第4の態様によれば、本発明は、クラスタシステムを提供し、本クラスタシステムは、
前述の第2の態様または第3の態様による複数のハードディスクを含み、複数のハードディスク中のあるハードディスクは、前述の第1の態様によるハードディスク間のインタラクションのための方法を実行することによって、そのあるハードディスクを除く複数のハードディスクのうちの別のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用してその別のハードディスクとのサービス処理を実行する。
【００２９】
本発明において提供される、ハードディスク間のインタラクションのための方法、装置、およびシステムによれば、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、第1のハードディスクは、第2のハードディスクと直接やりとりして、折衝により、第1のハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態によるハードディスク間のインタラクションのための方法の第1の流れ図である。
【図２】本発明の一実施形態によるハードディスク間のインタラクションのための方法の第2の流れ図である。
【図３】本発明の一実施形態によるハードディスク間のインタラクションのための方法の第3の流れ図である。
【図４】本発明の一実施形態によるハードディスク間のインタラクションのための方法の第4の流れ図である。
【図５】本発明の一実施形態によるハードディスク間のインタラクションのための別の方法の流れ図である。
【図６】本発明の一実施形態によるハードディスクの第1の概略的構造図である。
【図７】本発明の一実施形態によるハードディスクの第2の概略的構造図である。
【図８】本発明の一実施形態によるハードディスクの第3の概略的構造図である。
【図９】本発明の一実施形態によるハードディスクの第4の概略的構造図である。
【図１０】本発明の一実施形態によるクラスタシステムのブロック図である。
【発明を実施するための形態】
【００３１】
添付の図面に関連して、本発明の実施形態において提供される、ハードディスク間のインタラクションのための方法、装置、およびシステムを以下で詳細に説明する。
【００３２】
第1の実施形態
本発明の本実施形態は、ハードディスク間のインタラクションのための方法を提供する。図1に示すように、本方法は以下を含むことができる。
ステップS101において、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定する。
【００３３】
本発明の本実施形態で提供されるハードディスクは、クラスタシステムにおけるハードディスクとすることができ、本ハードディスクは、ハードディスク・クラスタ・システムにおけるイーサネット・インターフェース・ハードディスク（ネットワーク・ハードディスクとも称される）とすることができる。
【００３４】
本発明の本実施形態で提供されるイーサネット・インターフェース・ハードディスクはスマート・ハードディスクと称することもできる。すなわち、本発明の本実施形態で提供されるハードディスクは、ARM（Advanced Reduced Instruction Set Computing Machines）システムに基づくハードディスクとすることができる。ARMシステムに基づくハードディスクは、ARMシステムを従来のハードディスクに統合することによって従来のハードディスクの性能を改善する。
【００３５】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法において、第1のハードディスクと第2のハードディスクとは、まず、サービス処理を実行するために使用することのできる協調サービスケイパビリティを直接折衝するために、ポイントツーポイントモード（Ad Hoc）でインタラクションを行うことができる。例えば、データ伝送時に、第1のハードディスクと第2のハードディスクとは、データ伝送時の伝送パラメータ（例えば、伝送データのトラフィックの上限値）を直接折衝することができ、または、第1のハードディスクと第2のハードディスクとは、直接折衝してデータ整合性状況の相互確認を行うこともできる。
【００３６】
例えば、第1のハードディスク側を例にとる。第1のハードディスクが第2のハードディスクとのサービス処理を実行する必要がある場合に、第1のハードディスクは、第2のハードディスクと折衝して、第2のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定することができる。具体的には、第1のハードディスクは、第1のケイパビリティセットを決定する。第1のケイパビリティセットは、第1のハードディスクのケイパビリティセットであり、第1のハードディスクによってサポートされるサービスケイパビリティのセットである。すなわち、第1のケイパビリティセットは、第1のハードディスクに対応するサービスケイパビリティのセットである。
【００３７】
本発明の本実施形態で提供されるサービスケイパビリティは、ハードディスクが有するサービスケイパビリティ、すなわち、当該ハードディスクが提供することのできるサービスであることに留意すべきである。例えば、第1のケイパビリティセット中のサービスケイパビリティは、第1のハードディスクが有するサービスケイパビリティ、すなわち、第1のハードディスクが提供することのできるサービスである。
【００３８】
具体的には、本発明の本実施形態で提供されるハードディスクのサービスケイパビリティは、イーサネット・インターフェース・ハードディスクが、当該ハードディスクによって完了される動作が独立しており、実行時間境界を有することを指示するために、特定の情報を符号化し、送信するケイパビリティ、またはその特定の情報を受信し、復号するケイパビリティを有するものとして理解することができる。例えば、ハードディスクは、データ圧縮および抗ウイルス操作を行い、データを探索し、データ検査を実行する。
【００３９】
例えば、ハードディスクが有するサービスケイパビリティには、通信のためにハードディスクによって使用されるプロトコル、異なる帯域幅についてハードディスクによって使用されるデータ接続方式、ハードディスクが通信データを圧縮する方式、通信のためにハードディスクによって使用される伝送パラメータ、ハードディスクがデータを暗号化する方式、ハードディスクがデータ整合性状況の相互確認を行う方式が含まれうる。当然ながら、本発明の本実施形態で提供されるハードディスクが有するサービスケイパビリティは、前述のタイプを含むがそれだけに限定されない。すなわち、ハードディスクが提供することのできるあらゆるサービスが、本発明の保護範囲内に含まれる。
【００４０】
さらに、ハードディスクが有する特定のサービスケイパビリティは、ハードディスクを使用する際の実際の要件によって決定することができ、これは本発明では限定されない。
【００４１】
ステップS102において、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信する。
【００４２】
第1のハードディスクは、第2のハードディスクによって送信される第2のケイパビリティセットを受信する。第2のケイパビリティセットは、第2のハードディスクのケイパビリティセットであり、第2のハードディスクによってサポートされるサービスケイパビリティのセットである。すなわち、第2のケイパビリティセットは、第2のハードディスクに対応するサービスケイパビリティのセットである。
【００４３】
本発明は、ステップS101およびステップS102を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS101をステップS102の前に実行することもでき、ステップS102をステップS101の前に実行することもでき、ステップS101とステップS102とを同時に実行することもできることに留意すべきである。
【００４４】
ステップS103において、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定する。
【００４５】
第1のハードディスクが、第1のハードディスクに対応する第1のケイパビリティセットを決定し、第2のハードディスクに対応する第2のケイパビリティセットを受信した後で、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットを決定することができ、共通ケイパビリティセットは、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットとすることができる。
【００４６】
ここまでで、第1のハードディスクは、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットを決定した。
【００４７】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、各ハードディスクが異なる性能を有するために、前述の共通ケイパビリティセット中のサービスケイパビリティを実施するための優先順位が各ハードディスクのケイパビリティセットにおいて異なりうること、すなわち、前述の共通ケイパビリティセット中のサービスケイパビリティを実施するための優先順位が、第1のケイパビリティセットと第2のケイパビリティセットとにおいて異なりうることに留意すべきである。
【００４８】
特に、各ハードディスクに対応するケイパビリティセットにおいて、ケイパビリティセットに含まれるサービスケイパビリティを実施するための優先順位は、ケイパビリティセット中のサービスケイパビリティの優先度を表すのに使用することができる。具体的には、ケイパビリティセット中の最上位の実施優先順位を有するサービスケイパビリティはケイパビリティセットにおいて高い優先度を有する。それに対応して、ケイパビリティセット中の後の実施優先順位を有するサービスケイパビリティはケイパビリティセットにおいて低い優先度を有する。
【００４９】
ステップS104において、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。
【００５０】
第1のハードディスクが、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットを決定した後で、第1のハードディスクは、共通ケイパビリティセットから協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行することができる。
【００５１】
第1のハードディスクは、共通ケイパビリティセット中のサービスケイパビリティのものである、第1のケイパビリティセットまたは第2のケイパビリティセットにおける優先度に従って、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定することができる、ということを理解できよう。
【００５２】
さらに、第1のハードディスクは、共通ケイパビリティセットから、第1のケイパビリティセットまたは第2のケイパビリティセットにおいて最高の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、共通ケイパビリティセットから、第1のケイパビリティセットまたは第2のケイパビリティセットにおいて最低の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、共通ケイパビリティセットから、第1のケイパビリティセットまたは第2のケイパビリティセットにおいて別の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、これは、具体的には、実際の設計事情に従って決定することができる。すなわち、第1のハードディスクは、実際の要件を満たす任意の条件に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定することができ、この条件は本発明では限定されない。第1のハードディスクが共通ケイパビリティセットから協調サービスケイパビリティを決定するための具体的な方法を、後続の実施形態において詳細に説明する。
【００５３】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、クラスタシステム内のすべてのハードディスクにおけるただ1つのハードディスク、すなわち第1のハードディスクが、本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法に関する例示的説明を行うための例として使用される、ということを理解できよう。しかしながら、クラスタシステム内の第2のハードディスクといった別のハードディスクがインタラクションを行うための方法も、第1のハードディスクがインタラクションを行うための方法と同様であり、ここでは詳細を繰り返さない。すなわち、サービス処理を実行する前に、サービス処理に関与すべきである2つのハードディスクが両方とも、サービス処理に関与すべきである2つのハードディスクの各々が、協調サービスケイパビリティに従って、サービス処理に関与すべきである他方のハードディスクとのサービス処理を実行するように、本発明の本実施形態で提供されるインタラクション方法に従ってインタラクションおよび折衝を行うことにより、サービス処理に関与すべきである2つのハードディスクの両方によってサポートされる協調サービスケイパビリティを決定することができる。
【００５４】
例えば、ハードディスクAは前述の第1のハードディスクを表し、ハードディスクBは前述の第2のハードディスクを表し、ハードディスクAによってサポートされるサービスケイパビリティのセットはA｛Cap1，Cap2，Cap3，Cap4｝であり、ハードディスクBによってサポートされるサービスケイパビリティのセットはB｛Cap5，Cap2，Cap6，Cap1｝であるものと仮定する。本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法によれば、ハードディスクAがハードディスクBとのサービス処理を実行する前に、ハードディスクAは、ハードディスクBと折衝して、ハードディスクAがハードディスクBとのサービス処理を実行するための協調サービスケイパビリティを決定する必要がある。具体的には、ハードディスクAは、ハードディスクAによってサポートされるサービスケイパビリティのセット、およびハードディスクBによってサポートされるサービスケイパビリティのセットに従って、ハードディスクAとハードディスクBとの両方によってサポートされるサービスケイパビリティのセットは｛Cap1，Cap2｝であると、すなわち、ハードディスクAによってサポートされるサービスケイパビリティのセットとハードディスクBによってサポートされるサービスケイパビリティのセットとの共通ケイパビリティセットは｛Cap1，Cap2｝であると決定することができる。ハードディスクAが共通ケイパビリティセットを決定した後で、ハードディスクAは、所定のポリシ（後続の実施形態において詳細に説明し、ここでは詳細を繰り返さない）に従って、ハードディスクAおよびハードディスクBのうちから好ましいハードディスクを選択することができる。ハードディスクAは、共通ケイパビリティセット中のサービスケイパビリティCap1およびCap2のものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティをさらに決定する。ハードディスクAおよびハードディスクBは、協調サービスケイパビリティに従ってサービス処理を実行することができる。例えば、ハードディスクAによって選択された好ましいハードディスクがハードディスクAである場合、ハードディスクAは、A｛Cap1，Cap2，Cap3，Cap4｝におけるCap1およびCap2のものである優先度に従って、Cap1およびCap2のうちからサービスケイパビリティを選択することができる。Cap1が協調サービスケイパビリティとして使用される場合、ハードディスクAおよびハードディスクBは、Cap1に従って最終的にサービス処理を実行することができる。
【００５５】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、ハードディスク間のインタラクションがクラスタコントローラに依拠する必要がなく、ハードディスク間のインタラクションおよび折衝だけに関連するものであるため、ハードディスクとクラスタコントローラとの間の頻繁な通信が行われないようにすることができ、これにより、クラスタコントローラの圧力が低減され、インタラクション回数が減少し、サービス処理遅延が低減され、クラスタシステムの全般的性能が改善される。
【００５６】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法によれば、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、第1のハードディスクは、第2のハードディスクと直接やりとりして、折衝により、第1のハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【００５７】
第2の実施形態
本発明の本実施形態は、ハードディスク間のインタラクションのための方法を提供する。図2に示すように、本方法は以下を含むことができる。
ステップS201において、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定する。
【００５８】
本発明の本実施形態で提供されるハードディスクは、クラスタシステムにおけるハードディスクとすることができ、本ハードディスクは、ハードディスク・クラスタ・システムにおけるイーサネット・インターフェース・ハードディスクとすることができる。
【００５９】
本発明の本実施形態で提供されるイーサネット・インターフェース・ハードディスクはスマート・ハードディスクと称することもできる。すなわち、本発明の本実施形態で提供されるハードディスクは、ARMシステムに基づくハードディスクとすることができる。ARMシステムに基づくハードディスクは、ARMシステムを従来のハードディスクに統合することによって従来のハードディスクの性能を改善する。
【００６０】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法において、第1のハードディスクと第2のハードディスクとは、まず、サービス処理を実行するために使用することのできる協調サービスケイパビリティを直接折衝するために、ポイントツーポイントモードでインタラクションを行うことができる。例えば、データ伝送時に、第1のハードディスクと第2のハードディスクとは、データ伝送時の伝送パラメータ（例えば、伝送データのトラフィックの上限値）を直接折衝することができ、または、第1のハードディスクと第2のハードディスクとは、直接折衝してデータに関するデータ整合性状況の相互確認を行うこともできる。
【００６１】
例えば、第1のハードディスク側を例にとる。第1のハードディスクが第2のハードディスクとのサービス処理を実行する必要がある場合に、第1のハードディスクは、第2のハードディスクと折衝して、第2のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定することができる。具体的には、第1のハードディスクは、第1のケイパビリティセットを決定する。第1のケイパビリティセットは、第1のハードディスクのケイパビリティセットであり、第1のハードディスクによってサポートされるサービスケイパビリティのセットである。すなわち、第1のケイパビリティセットは、第1のハードディスクに対応するサービスケイパビリティのセットである。
【００６２】
本発明の本実施形態で提供されるサービスケイパビリティは、ハードディスクが有するサービスケイパビリティ、すなわち、当該ハードディスクが提供することのできるサービスであることに留意すべきである。例えば、第1のケイパビリティセット中のサービスケイパビリティは、第1のハードディスクが有するサービスケイパビリティ、すなわち、第1のハードディスクが提供することのできるサービスである。
【００６３】
具体的には、本発明の本実施形態で提供されるハードディスクのサービスケイパビリティは、イーサネット・インターフェース・ハードディスクが、当該ハードディスクによって完了される動作が独立しており、実行時間境界を有することを指示するために、特定の情報を符号化し、送信するケイパビリティ、またはその特定の情報を受信し、復号するケイパビリティを有するものとして理解することができる。例えば、ハードディスクは、データ圧縮および抗ウイルス操作を行い、データを探索し、データ検査を実行する。
【００６４】
例えば、ハードディスクが有するサービスケイパビリティには、通信のためにハードディスクによって使用されるプロトコル、異なる帯域幅についてハードディスクによって使用されるデータ接続方式、ハードディスクが通信データを圧縮する方式、通信のためにハードディスクによって使用される伝送パラメータ、ハードディスクがデータを暗号化する方式、ハードディスクがデータ整合性状況の相互確認を行う方式が含まれうる。当然ながら、本発明の本実施形態で提供されるハードディスクが有するサービスケイパビリティは、前述のタイプを含むがそれだけに限定されない。すなわち、ハードディスクが提供することのできるあらゆるサービスが、本発明の保護範囲内に含まれる。
【００６５】
さらに、ハードディスクが有する特定のサービスケイパビリティは、ハードディスクを使用する際の実際の要件によって決定することができ、これは本発明では限定されない。
【００６６】
ステップS202において、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信する。
【００６７】
第1のハードディスクは、第2のハードディスクによって送信される第2のケイパビリティセットを受信する。第2のケイパビリティセットは、第2のハードディスクのケイパビリティセットであり、第2のハードディスクによってサポートされるサービスケイパビリティのセットである。すなわち、第2のケイパビリティセットは、第2のハードディスクに対応するサービスケイパビリティのセットである。
【００６８】
本発明は、ステップS201およびステップS202を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS201をステップS202の前に実行することもでき、ステップS202をステップS201の前に実行することもでき、ステップS201とステップS202とを同時に実行することもできることに留意すべきである。
【００６９】
ステップS203において、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定する。
【００７０】
第1のハードディスクが、第1のハードディスクに対応する第1のケイパビリティセットを決定し、第2のハードディスクに対応する第2のケイパビリティセットを受信した後で、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットを決定することができ、共通ケイパビリティセットは、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットとすることができる。
【００７１】
ここまでで、第1のハードディスクは、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットを決定した。
【００７２】
ステップS204において、第1のハードディスクは、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定する。
【００７３】
第1のハードディスクが、第1のハードディスクに対応する第1のケイパビリティセット、および第2のハードディスクに対応する第2のケイパビリティセットを取得した後で、第1のハードディスクは、所定のポリシに従って好ましいハードディスクとして、第1のハードディスクおよび第2のハードディスクのうちからハードディスクを決定することができる。
【００７４】
特に、本発明の本実施形態で提供される好ましいハードディスクは、所定のポリシを満たすハードディスクとすることができる。以下で具体的な所定のポリシを詳細に説明する。
【００７５】
任意選択で、本発明の本実施形態で提供される所定のポリシは、乱数比較ポリシおよびサービス処理を能動的に開始するというポリシを含むこともできる。具体的には、第1のハードディスクが、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定することは、本実施形態の後続の部分で詳細に説明する。
【００７６】
ステップS205において、共通ケイパビリティセットに複数のサービスケイパビリティが存在する場合に、第1のハードディスクは、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って協調サービスケイパビリティを決定する。
【００７７】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、各ハードディスクが異なる性能を有するために、前述の共通ケイパビリティセット中のサービスケイパビリティを実施するための優先順位が各ハードディスクのケイパビリティセットにおいて異なりうること、すなわち、前述の共通ケイパビリティセット中のサービスケイパビリティを実施するための優先順位が、第1のケイパビリティセットと第2のケイパビリティセットとにおいて異なりうることに留意すべきである。
【００７８】
特に、各ハードディスクに対応するケイパビリティセットにおいて、ケイパビリティセットに含まれるサービスケイパビリティを実施するための優先順位は、ケイパビリティセット中のサービスケイパビリティの優先度を表すのに使用することができる。具体的には、ケイパビリティセット中の最上位の実施優先順位を有するサービスケイパビリティはケイパビリティセットにおいて高い優先度を有する。それに対応して、ケイパビリティセット中の後の実施優先順位を有するサービスケイパビリティはケイパビリティセットにおいて低い優先度を有する。
【００７９】
第1のハードディスクが、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定した後で、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定することができる。
【００８０】
共通ケイパビリティセットは、複数のサービスケイパビリティを含む場合もあり、1つのサービスケイパビリティを含む場合もある、ということを理解できよう。共通ケイパビリティセット中のサービスケイパビリティの具体的な数は、実際に必要とされるケイパビリティに関連するものであり、これは本発明では限定されない。
【００８１】
さらに、共通ケイパビリティセットにただ1つのサービスケイパビリティしかない場合には、第1のハードディスクはそのサービスケイパビリティを協調サービスケイパビリティとして直ちに使用し、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行することができる。
【００８２】
例えば、第1のハードディスクが、好ましいハードディスクは第1のハードディスクであると決定した場合に、第1のハードディスクは、共通ケイパビリティセットから、第1のハードディスクに対応するケイパビリティセット、すなわち、第1のケイパビリティセットにおいて最高の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することができ、それに対応して、第1のハードディスクが、好ましいハードディスクは第2のハードディスクであると決定した場合には、第1のハードディスクは、共通ケイパビリティセットから、第2のハードディスクに対応するケイパビリティセット、すなわち、第2のケイパビリティセットにおいて最高の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することができる。
【００８３】
さらに、第1のハードディスクは、共通ケイパビリティセットから、好ましいハードディスクに対応するケイパビリティセットにおいて最高の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、共通ケイパビリティセットから、好ましいハードディスクに対応するケイパビリティセットにおいて最低の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、共通ケイパビリティセットから、好ましいハードディスクに対応するケイパビリティセットにおいて別の優先度を有するサービスケイパビリティが協調サービスケイパビリティであると決定することもでき、これは具体的には、実際の設計事情に従って決定することができる。すなわち、第1のハードディスクは、実際の要件を満たす任意の条件に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定することができ、この条件は本発明では限定されない。
【００８４】
例えば、前述のステップS204における所定のポリシがサービス処理を能動的に開始するというポリシであることを例にとる。ハードディスクAは前述の第1のハードディスクを表し、ハードディスクBは前述の第2のハードディスクを表し、ハードディスクAによってサポートされるサービスケイパビリティのセットはA｛Cap1，Cap2，Cap3，Cap4｝であり、ハードディスクBによってサポートされるサービスケイパビリティのセットはB｛Cap5，Cap2，Cap6，Cap1｝であるものと仮定する。本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法によれば、ハードディスクAがハードディスクBとのサービス処理を実行する前に、ハードディスクAは、ハードディスクBと折衝して、ハードディスクAがハードディスクBとのサービス処理を実行するための協調サービスケイパビリティを決定する必要がある。具体的には、ハードディスクAは、ハードディスクAによってサポートされるサービスケイパビリティのセット、およびハードディスクBによってサポートされるサービスケイパビリティのセットに従って、ハードディスクAとハードディスクBとの両方によってサポートされるサービスケイパビリティのセットは｛Cap1，Cap2｝であると、すなわち、ハードディスクAによってサポートされるサービスケイパビリティのセットとハードディスクBによってサポートされるサービスケイパビリティのセットとの共通ケイパビリティセットは｛Cap1，Cap2｝であると決定することができる。ハードディスクAが共通ケイパビリティセットを決定した後で、ハードディスクAは、ハードディスクAおよびハードディスクBのうちから、サービス処理を能動的に開始するハードディスクを選択し、そのハードディスクを好ましいハードディスクとして使用することができる。ハードディスクAは、共通ケイパビリティセット中のサービスケイパビリティCap1およびCap2のものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティをさらに決定することができる。例えば、ハードディスクAによって選択された、サービス処理を能動的に開始するハードディスクがハードディスクAである場合、ハードディスクAは、A｛Cap1，Cap2，Cap3，Cap4｝中のCap1およびCap2のものである優先度に従って、協調サービスケイパビリティとしてCap1およびCap2のうちからサービスケイパビリティを選択することができる。ハードディスクAによって選択された、サービス処理を能動的に開始するハードディスクがハードディスクBである場合、ハードディスクAは、B｛Cap5，Cap2，Cap6，Cap1｝中のCap1およびCap2のものである優先度に従って、協調サービスケイパビリティとしてCap1およびCap2のうちからサービスケイパビリティを選択することができる。
【００８５】
ステップS206において、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行する。
【００８６】
第1のハードディスクが共通ケイパビリティセットから協調サービスケイパビリティを決定した後で、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行することができる。例えば、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのデータ伝送を行うことができ、または第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのデータ整合性状況の相互確認を行うこともできる。
【００８７】
さらに、図3に示すように、本発明の本実施形態で提供される前述の2つの所定のポリシに対応して、本発明の本実施形態で提供されるステップS204、すなわち、第1のハードディスクが、所定のポリシに従って、第1のハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定することは、以下を含むことができる。
（1）乱数比較ポリシ
具体的には、本発明の本実施形態で提供される所定のポリシが乱数比較ポリシである場合、本発明の本実施形態で提供されるステップS204の前に、本方法は以下をさらに含むことができる。
ステップS2040において、第1のハードディスクは、第1の乱数を生成する。
【００８８】
乱数は、専用のランダム実験によって生成される結果である。乱数の最も重要な特徴は、生成される後の数が前の数と無関係であることである。実際の適用においては、コンピュータまたは計算器によって生成される乱数は、極度に長い周期を有し、真のランダム性は有しないが、乱数の特性に類似した統計的特性を有する。
【００８９】
実装を容易にするために、本発明の本実施形態で提供される乱数は、実際の適用において生成される前述の乱数に類似したものとすることができる。当然ながら、本発明の本実施形態で提供される乱数は、物理現象によって生成される真の乱数、例えば、コインまたはサイコロを投げること、車輪を回すこと、電子部品の使用中に生成される雑音、核分裂といった現象によって生成される乱数とすることもできる。
【００９０】
第1のハードディスクが乱数比較ポリシを使用する場合、第1のハードディスクは1つの第1の乱数を生成することができる。
【００９１】
ステップS2041において、第1のハードディスクは、第2のハードディスクによって送信される第2の乱数を受信する。
【００９２】
第1のハードディスクは、第2のハードディスクによって送信される第2の乱数を受信し、第2の乱数は、第2のハードディスクによって生成される。
【００９３】
本発明の本実施形態においては、1つのハードディスクが、それに対応して1つの乱数を生成することができる。例えば、第1のハードディスクは、それに対応して1つの第1の乱数を生成することができ、第2のハードディスクは、それに対応して1つの第2の乱数を生成することができる。
【００９４】
本発明は、ステップS2040およびステップS2041を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS2040をステップS2041の前に実行することもでき、ステップS2041をステップS2040の前に実行することもでき、ステップS2040とステップS2041とを同時に実行することもでき、これは本発明では限定されないことに留意すべきである。
【００９５】
本発明の本実施形態で提供されるステップS204は以下を含むことができる。
ステップS2042において、第1のハードディスクは、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するために、第1の乱数と第2の乱数とを比較する。所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【００９６】
第1のハードディスクが、第1の乱数を生成し、第2のハードディスクによって送信される第2の乱数を受信した後で、第1のハードディスクは、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するために、第1の乱数と第2の乱数とを比較することができる。所定のポリシは、乱数が最大であること、または乱数が最小であることとすることができる。
【００９７】
例えば、所定のポリシが、乱数が最大であることである場合、第1のハードディスクは、第1の乱数および第2の乱数における最大の乱数を有するハードディスクが好ましいハードディスクであると決定することができ、それに対応して、所定のポリシが、乱数が最小であることである場合、第1のハードディスクは、第1の乱数および第2の乱数における最小の乱数を有するハードディスクが好ましいハードディスクであると決定することができる。
【００９８】
さらに、本発明の本実施形態で提供される所定のポリシは、乱数が最大であること、乱数が最小であること、または乱数が偶数であることとすることもでき、実際の使用要件を満たす別の条件、例えば、乱数が奇数であることとすることもでき、これは本発明では限定されない。
【００９９】
特に、所定のポリシが、乱数が偶数であること、または乱数が奇数であることである場合、各ハードディスクは、複数回にわたって乱数を生成することを必要とする可能性がある。すなわち、第1のハードディスクは複数回にわたってステップS2040〜S2042を実行する必要がある。その結果、所定のポリシを満たす唯一のハードディスクが最終的に決定され、そのハードディスクが好ましいハードディスクとして使用されることになる。
【０１００】
（2）サービス処理を能動的に開始するというポリシ
具体的には、本発明の本実施形態で提供される所定のポリシがサービス処理を能動的に開始するというポリシである場合、本発明の本実施形態で提供されるステップS204の前に、本方法は以下をさらに含むことができる。
ステップS2043において、第1のハードディスクは、第1のハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定する。
【０１０１】
第1のハードディスクが、サービス処理を能動的に開始するハードディスクは第1のハードディスクであると決定する場合、第1のハードディスクは、第1のハードディスクが好ましいハードディスクであると決定することができ、それに対応して、第1のハードディスクが、サービス処理を能動的に開始するハードディスクは第2のハードディスクであると決定する場合、第1のハードディスクは、第2のハードディスクが好ましいハードディスクであると決定することができる。
【０１０２】
任意選択で、本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法において、折衝により、サービス処理を実行するための協調サービスケイパビリティを決定する場合に、第1のハードディスクおよび第2のハードディスクは、所定のカスタマイズされたポリシコードを使用して協調サービスケイパビリティを決定することもできる。カスタマイズされたポリシコードは、クラスタコントローラによって第1のハードディスクおよび第2のハードディスクに配送することができ、カスタマイズされたポリシコードは、「ポリシを記述するモバイルコード」または「パブリック仮想マシンエンジンに基づく実行コード」とすることができる。
【０１０３】
具体的には、クラスタシステム内の第1のハードディスクおよび第2のハードディスクがクラスタコントローラによって配送されたカスタマイズされたポリシコードを受信した後で、第1のハードディスクおよび第2のハードディスクは、カスタマイズされたポリシコードにおいて指示されるサービスケイパビリティを、相互にサービス処理を実行するための協調サービスケイパビリティとして使用することができ、協調サービスケイパビリティを使用して相互にサービス処理を実行する。
【０１０４】
カスタマイズされたポリシコードは、ポリシを記述する前述のモバイルコードとして実行するために第1のハードディスクおよび第2のハードディスクに動的にロードすることができ、第1のハードディスクおよび第2のハードディスクのファームウェア（firmware）において予め設定することもできることに留意すべきである。例えば、カスタマイズされたポリシコードは、「if (bandwidth < xxx), then｛簡略化されたデータ接続｝ケイパビリティを使用する」と表現することができる。その結果、第1のハードディスクと第2のハードディスクとの両方がカスタマイズされたポリシコードにおいて「簡略化されたデータ接続」ケイパビリティをサポートする場合、第1のハードディスクおよび第2のハードディスクは、相互に通信を行うための協調サービスケイパビリティとして「簡略化されたデータ接続」ケイパビリティを使用することができ、「簡略化されたデータ接続」ケイパビリティを使用して相互に通信を行う。
【０１０５】
例えば、クラスタコントローラによって第1のハードディスクおよび第2のハードディスクに配送されるカスタマイズされたポリシコードが、意味的に：
（各ハードディスクが、収束イーサネットプロトコル上でのリモートの直接メモリアクセスをサポートする）場合、2つのハードディスクごとに、この技術を使用して通信を行う；いずれかのハードディスクが収束イーサネットプロトコル上でのリモートの直接メモリアクセスをサポートしない場合、2つのハードディスクごとに、基本のTCP/IP（Transmission Control Protocol/Internet Protocol、伝送制御プロトコル／インターネットプロトコル）方式で通信を行う；
として表現することができる場合には、第1のハードディスクと第2のハードディスクとの両方が「収束イーサネットプロトコル上でのリモートの直接メモリアクセス」サービスケイパビリティをサポートするときに、第1のハードディスクおよび第2のハードディスクは、「収束イーサネットプロトコル上でのリモートの直接メモリアクセス」サービスケイパビリティを協調サービスケイパビリティとして使用することができ、収束イーサネットプロトコル上でのリモートの直接メモリアクセスを使用することによって相互に通信を行うことができる。
【０１０６】
当然ながら、第1のハードディスクおよび第2のハードディスクにおける少なくとも1つのハードディスクが「収束イーサネットプロトコル上でのリモートの直接メモリアクセス」ケイパビリティをサポートしない場合には、第1のハードディスクおよび第2のハードディスクは、基本のTCP/IP方式で相互に通信を行うことができる。
【０１０７】
さらに、3つのイーサネット・インターフェース・ハードディスク、例えば、ハードディスクA、ハードディスクB、およびハードディスクCが存在するものと仮定する。3つのハードディスクはすべてJava（登録商標）仮想マシン（Java Virtual Machine、JVM）をサポートし、クラスタコントローラは3つのイーサネット・インターフェース・ハードディスクの各々にJavaバイトコードを配送する。Javaバイトコードは、意味的に以下のように表現することができる。
（ハードディスクA、ハードディスクB、およびハードディスクCがすべてgzip圧縮コードをサポートする）場合、通信は、伝送データがgzipを使用して圧縮された後で行われる；ハードディスクA、ハードディスクB、およびハードディスクCのいずれか1つがgzip圧縮コードをサポートしない場合、通信を行うために圧縮コードは使用されない。
【０１０８】
前述のgzipはデータ圧縮形式であり、3つのハードディスクの各々は、JVMに基づいて前述のJavaバイトコードを実行することができる。
【０１０９】
3つのハードディスクすべてが「gzip圧縮コード」ケイパビリティをサポートする場合には、3つのハードディスクの各々が「gzip圧縮コード」サービスケイパビリティを協調サービスケイパビリティとして使用することができ、伝送データがgzipを使用することによって圧縮された後で通信を行う。
【０１１０】
当然ながら、3つのハードディスクにおける1つハードディスクが「gzip圧縮コード」ケイパビリティをサポートしない場合には、3つのハードディスクのいずれも圧縮コードを使用して通信を行うことができない。
【０１１１】
本発明の本実施形態で提供される所定のポリシは、それだけに限らないが、上述のいくつかのタイプを含むこと、すなわち、本発明の本実施形態で提供される所定のポリシは、実際の使用要件に従って設計し、または適応的に調整することができ、これは本発明では限定されないに留意すべきである。
【０１１２】
さらに、本発明の本実施形態においては、第1のハードディスクによって決定される、共通ケイパビリティセット中のサービスケイパビリティがパラメータを保持する場合、共通ケイパビリティセット中のサービスケイパビリティにおいて保持されるパラメータは、所定のやり方で決定することができる。例えば、共通ケイパビリティセット中のサービスケイパビリティはデータ圧縮ケイパビリティであり、データ圧縮ケイパビリティにおいて保持されるプロセスはデータ圧縮時のスキャンブロックのサイズであるとする。その場合、データ圧縮ケイパビリティで保持されるパラメータは、クラスタコントローラがカスタマイズされたポリシコードを配送する方式で決定することができる。具体的には、クラスタコントローラによって配送されるカスタマイズされたポリシコードが、データ圧縮が行われる必要のある圧縮比を指定する場合、データ圧縮時のスキャンブロックのサイズは、圧縮比に従って決定することができる。
【０１１３】
例えば、1メガバイトのデータが相対的に高い圧縮比で圧縮される必要がある場合、データ圧縮時のスキャンブロックのサイズは1キロバイトとすることができ、1メガバイトのデータが相対的に低い圧縮比で圧縮される必要がある場合、データ圧縮時のスキャンブロックのサイズは64キロバイトとすることができる。
【０１１４】
さらに、図4に示すように、ステップS205の後で、すなわち、共通ケイパビリティセットに複数のサービスケイパビリティが存在するときに、第1のハードディスクは、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定し、本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法は、以下をさらに含むことができる。
ステップS207において、第1のハードディスクは、第2のハードディスクが協調サービスケイパビリティを使用して第1のハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを第2のハードディスクに送信する。
【０１１５】
第1のハードディスクが共通ケイパビリティセットから協調サービスケイパビリティを決定した後で、第1のハードディスクは、第2のハードディスクが協調サービスケイパビリティを使用して第1のハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを第2のハードディスクに送信することができる。
【０１１６】
本発明は、ステップS206およびステップS207を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS206をステップS207の前に実行することもでき、ステップS207をステップS206の前に実行することもでき、ステップS206とステップS207とを同時に実行することもできることに留意すべきである。
【０１１７】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、クラスタシステム内のすべてのハードディスクにおけるただ1つのハードディスク、すなわち第1のハードディスクが、本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法に関する例示的説明を行うための例として使用される、ということを理解できよう。しかしながら、クラスタシステム内の第2のハードディスクといった別のハードディスクがインタラクションを行うための方法も、第1のハードディスクがインタラクションを行うための方法と同様であり、ここでは詳細を繰り返さない。すなわち、サービス処理を実行する前に、サービス処理に関与すべきである2つのハードディスクが両方とも、サービス処理に関与すべきである2つのハードディスクの各々が、協調サービスケイパビリティに従って、サービス処理に関与すべきである他方のハードディスクとのサービス処理を実行するように、本発明の本実施形態で提供されるインタラクション方法に従ってインタラクションおよび折衝を行うことにより、サービス処理に関与すべきである2つのハードディスクの両方によってサポートされる協調サービスケイパビリティを決定することができる。
【０１１８】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法においては、ハードディスク間のインタラクションがクラスタコントローラに依拠する必要がなく、ハードディスク間のインタラクションおよび折衝だけに関連するものであるため、ハードディスクとクラスタコントローラとの間の頻繁な通信が行われないようにすることができ、これにより、クラスタコントローラの圧力が低減され、インタラクション回数が減少し、サービス処理遅延が低減され、クラスタシステムの全般的性能が改善される。
【０１１９】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための方法によれば、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、第1のハードディスクは、第2のハードディスクと直接やりとりして、折衝により、第1のハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１２０】
さらに、図5に示すように、本発明の本実施形態は、ハードディスク間のインタラクションのための別の方法を提供し、本方法は、協調サービスケイパビリティを決定するために、同じクラスタシステム内の複数のハードディスク間で折衝が行われるシナリオに適用される。クラスタコントローラは、クラスタシステム内のハードディスク間の折衝に関与しなくてもよい。したがって、クラスタシステム内のハードディスクは、まず、Paxos（分散選出アルゴリズム）または別のクラスタシステム選出アルゴリズムを使用して、クラスタシステム内のハードディスクからプライマリハードディスク、すなわち第1のハードディスクを選択することができる。第1のハードディスクを除くクラスタシステム内の他のハードディスクはすべて、セカンダリハードディスク、すなわち第2のハードディスクであり、複数の第2のハードディスクが存在する。本発明の本実施形態におけるプライマリハードディスクは、クラスタシステム内のハードディスクであり、別のハードディスクの代わりにいくつかの動作を行うことができるハードディスク、すなわち、クラスタシステムにおける主要なハードディスクをいう。セカンダリハードディスクは、プライマリハードディスクを除くクラスタシステム内のその他のハードディスクをいう。
【０１２１】
具体的には、クラスタシステム内の複数のハードディスク間のインタラクションのための方法は以下を含むことができる。
ステップS301において、第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定する。
【０１２２】
クラスタシステム内のハードディスクがプライマリハードディスク、すなわち第1のハードディスクを決定した後で、第1のハードディスクは、まず、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定することができる。
【０１２３】
ステップS302において、第1のハードディスクは、複数の第2のハードディスクによって送信される、その各々が対応する第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信する。
【０１２４】
クラスタシステム内のハードディスクがプライマリハードディスク、すなわち第1のハードディスクを決定した後で、複数のセカンダリハードディスク、すなわち複数の第2のハードディスクは、第1のハードディスクに、複数のセカンダリハードディスクによってサポートされるサービスケイパビリティのセット、すなわち、複数の第2のハードディスクと1対1の対応関係にある第2のケイパビリティセットを送信することができる。
【０１２５】
クラスタシステム内のハードディスクがクラスタシステムからプライマリハードディスクを選択した後、本発明は、ステップS301およびステップS302を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS301をステップS302の前に実行することもでき、ステップS302をステップS301の前に実行することもでき、ステップS301とステップS302とを同時に実行することもできることに留意すべきである。
【０１２６】
ステップS303において、第1のハードディスクは、第1のケイパビリティセットおよび複数の第2のケイパビリティセットに従って、第1のハードディスクと複数の第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定する。
【０１２７】
第1のハードディスクが、第1のケイパビリティセットを決定し、複数の第2のケイパビリティセットを受信した後で、第1のハードディスクは、第1のケイパビリティセットと複数の第2のケイパビリティセットとを比較し、第1のケイパビリティセットと複数の第2のケイパビリティセットとの共通ケイパビリティセットを決定することができ、共通ケイパビリティセットは、第1のハードディスクと複数の第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである。
【０１２８】
ステップS304において、共通ケイパビリティセットに複数のサービスケイパビリティが存在する場合に、第1のハードディスクは、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、第1のケイパビリティセットにおける優先度に従って、サービス処理を実行するための協調サービスケイパビリティを決定する。
【０１２９】
第1のハードディスクが第1のハードディスクと複数の第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定した後で、共通ケイパビリティセットに複数のサービスケイパビリティが存在する場合に、第1のハードディスクは、共通ケイパビリティセット中の複数のサービスケイパビリティのものである、第1のケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから、サービス処理を実行するための協調サービスケイパビリティを決定することができる。
【０１３０】
ステップS305において、第1のハードディスクは、協調サービスケイパビリティを使用して複数の第2のハードディスクとのサービス処理を実行する。
【０１３１】
第1のハードディスクがサービス処理を実行するための協調サービスケイパビリティを決定した後で、第1のハードディスクは、協調サービスケイパビリティを使用して複数の第2のハードディスクとのサービス処理を実行することができる。
【０１３２】
ステップS306において、第1のハードディスクは、複数の第2のハードディスクの各々が協調サービスケイパビリティを使用してサービス処理を実行するよう、協調サービスケイパビリティを複数の第2のハードディスクに送信する。
【０１３３】
第1のハードディスクがサービス処理を実行するための協調サービスケイパビリティを決定した後で、第1のハードディスクは、複数の第2のハードディスクの各々が協調サービスケイパビリティを使用して別のハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを複数の第2のハードディスクの各々に送信することができる。
【０１３４】
本発明は、ステップS305およびステップS306を実行するための順序に制限を課さない場合もあること、すなわち、本発明においては、ステップS305をステップS306の前に実行することもでき、ステップS306をステップS305の前に実行することもでき、ステップS305とステップS306とを同時に実行することもできることに留意すべきである。
【０１３５】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための別の方法においては、ハードディスク間のインタラクションがクラスタコントローラに依拠する必要がなく、ハードディスク間のインタラクションおよび折衝だけに関連するものであるため、ハードディスクとクラスタコントローラとの間の頻繁な通信が行われないようにすることができ、これにより、クラスタコントローラの圧力が低減され、インタラクション回数が減少し、サービス処理遅延が低減され、クラスタシステムの全般的性能が改善される。
【０１３６】
本発明の本実施形態で提供されるハードディスク間のインタラクションのための別の方法によれば、第1のハードディスクは、折衝により、第1のハードディスクと複数の第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定するために、複数の第2のハードディスクと直接やりとりすることができ、第1のハードディスクは、共通ケイパビリティセットから、サービス処理を実行するための協調サービスケイパビリティを決定し、第1のハードディスクおよび複数の第2のハードディスクが協調サービスケイパビリティを使用して相互にサービス処理を実行するよう、協調サービスケイパビリティを複数の第2のハードディスクに送信することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１３７】
さらに、本発明の本実施形態は、ハードディスク間のインタラクションのためのさらに別の方法を提供し、本方法は、協調サービスケイパビリティを決定するために、同じクラスタシステム内の複数のハードディスク間で折衝が行われるシナリオに適用される。クラスタコントローラは、クラスタシステム内のハードディスク間の折衝に関与しなくてもよく、折衝は、2つのハードディスクごとの間で行われさえすればよい。したがって、本方法での折衝を行うのにgossipプロトコルを使用することができる。具体的には、本方法は以下を含むことができる。
クラスタシステム内のすべてのハードディスクが、gossipプロトコルに従って、各ハードディスクによってサポートされるサービスケイパビリティのセット、および各ハードディスクによって生成された乱数を送信する。無秩序な通信の後、クラスタシステム内のすべてのハードディスクは最終的に、これらすべてのハードディスクによってサポートされるサービスケイパビリティのセット、すなわち、クラスタシステム内のすべてのハードディスクによってサポートされる共通ケイパビリティセットを知り、乱数を比較することによって、所定のポリシを満たすハードディスクを見つけ、そのハードディスクを好ましいハードディスクとして使用し、最終的には、クラスタシステム内のすべてのハードディスクによってサポートされる共通ケイパビリティセット中のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから、サービス処理を実行するための協調サービスケイパビリティを決定する。
【０１３８】
任意選択で、前述の所定のポリシは、乱数が最大であることとすることもでき、乱数が最小であることとすることもできる。具体的には、所定のポリシは、乱数が最大であること、乱数が最小であること、または乱数が偶数であること、とすることもでき、実際の使用要件を満たす別の条件、例えば、乱数が奇数であることとすることもでき、これは本発明では限定されない。
【０１３９】
前述のgossipプロトコルは、アンチエントロピー（Anti-Entropy）とも称されうることに留意すべきである。エントロピーは物理学の概念であり、無秩序を表す。アンチエントロピーは無秩序の一貫性を求めることであり、これはgossipの特性を十分に説明するものである。境界を定められたネットワークにおいて、各ハードディスクは別のハードディスクとランダムに通信し、最終的には、無秩序な通信の後ですべてのハードディスクの状態が一貫した状態になる。各ハードディスクは、他のすべてのハードディスクの状態、またはいくつかの近隣するハードディスクだけの状態を知ることができる。しかしながら、これらのハードディスクがネットワークを使用することによって接続されうる限り、これらのハードディスクの状態はすべて最終的には一貫した状態のままとなりうるものであり、当然ながら、流行性拡散の特性も有する。
【０１４０】
例えば、クラスタシステムが4つのハードディスク、すなわち、ハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDを含むことを例にとる。前述の、gossipプロトコルを使用することによってクラスタシステム内のすべてのハードディスクが協調サービスケイパビリティを決定することを実施する可能な実施態様は、以下を含むことができる。
（1）クラスタシステム内のハードディスクAは、まず、クラスタシステム内のハードディスクBと折衝することにより、ハードディスクAとハードディスクBとの両方によってサポートされる共通ケイパビリティセットを決定し、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスク、例えばクラスタシステム内のハードディスクCとさらに折衝を行うのはハードディスクAか、それともハードディスクBか折衝することができる。
【０１４１】
（2）ハードディスクAがハードディスクCと折衝する場合、ハードディスクAおよびハードディスクCは、折衝後に、ハードディスクA、ハードディスクB、およびハードディスクCによってサポートされる共通ケイパビリティセットを決定し、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスク、例えばハードディスクDとさらに折衝を行うのはハードディスクAか、それともハードディスクCか折衝することができる。本発明の本実施形態においては、前述のハードディスクA、ハードディスクB、およびハードディスクCを複数の第2のハードディスクとすることができ、ハードディスクA、ハードディスクB、およびハードディスクCによってサポートされる共通ケイパビリティセットを第2のケイパビリティセットとすることができ、折衝により決定される、ハードディスクDとさらに折衝を行うべきハードディスクを、複数の第2のハードディスクのうちの第2のハードディスクとすることができる。
【０１４２】
（3）ハードディスクAがハードディスクDと折衝する場合、ハードディスクAおよびハードディスクDは、折衝後に、ハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDによってサポートされる共通ケイパビリティセットを決定することができる。本発明の本実施形態においては、ハードディスクAは複数の第2のハードディスクのうちの第2のハードディスクであり、ハードディスクDは第1のハードディスクであり、ハードディスクDによってサポートされるサービスケイパビリティのセットは第1のケイパビリティセットである。その場合、ハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDによってサポートされる共通ケイパビリティセットは、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットである。
【０１４３】
それに対応して、（1）で、ハードディスクBが、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスクとさらに折衝を行うことが折衝される場合、ハードディスクBは、（2）でハードディスクCと折衝することにより、ハードディスクA、ハードディスクB、およびハードディスクCによってサポートされる共通ケイパビリティセットを決定し、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスクとさらに折衝を行うのがハードディスクBか、それともハードディスクCか折衝する。
【０１４４】
（2）で、ハードディスクCが、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスクとさらに折衝を行うことが折衝される場合、ハードディスクCは（3）でハードディスクDと折衝することにより、ハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDによってサポートされる共通ケイパビリティセットを決定する。
【０１４５】
類推によれば、クラスタシステムに複数のハードディスクが存在する場合には、（3）で折衝により決定される、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスクとさらに折衝を行うべきであるハードディスクが、まだ折衝が行われていない相手であるクラスタシステム内の別のハードディスクとさらに折衝を行うことにより、クラスタシステム内のすべてのハードディスクによってサポートされる共通ケイパビリティセットを最終的に決定する。
【０１４６】
（4）クラスタシステム内のすべてのハードディスクによってサポートされる共通ケイパビリティセットを最終的に決定するハードディスク、すなわちハードディスクDは、クラスタシステム内のすべてのハードディスクがこれらすべてのハードディスクによってサポートされる共通ケイパビリティセットを知るように、共通ケイパビリティセットを、クラスタシステム内のすべてのハードディスク、例えば、ハードディスクA、ハードディスクB、およびハードディスクCに送信する。
【０１４７】
（5）クラスタシステム内のすべてのハードディスクは、各ハードディスクによって生成された乱数を相互に比較することにより、所定のポリシを満たすハードディスクを決定し、そのハードディスクを好ましいハードディスクとして使用する。
【０１４８】
所定のポリシを満たす複数のハードディスクが存在する場合、それら複数のハードディスクは、所定のポリシを満たす唯一のハードディスクが獲得されるまで、新しい乱数を再生成し、それらの新しい乱数をさらに比較することができることに留意すべきである。
【０１４９】
（6）クラスタシステム内のすべてのハードディスクは、共通ケイパビリティセット中のサービスケイパビリティのものである、好ましいハードディスクのケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから、サービス処理を実行するための協調サービスケイパビリティを決定する。
【０１５０】
gossipプロトコルが使用される前述の方法においては、複数の第2のハードディスクが存在する場合に、第2のケイパビリティセットは、すべての複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである。例えば、前述のハードディスクA、ハードディスクB、およびハードディスクCはすべて第2のハードディスクであり、ハードディスクDは第1のハードディスクである。ハードディスクA、ハードディスクB、およびハードディスクCによる折衝により決定されるハードディスクA、ハードディスクB、およびハードディスクCの共通ケイパビリティセットは第2のケイパビリティセットであり、ハードディスクDのケイパビリティセットは第1のケイパビリティセットである。この場合には、ハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDによる折衝により決定されるハードディスクA、ハードディスクB、ハードディスクC、およびハードディスクDの共通ケイパビリティセットは、第1のケイパビリティセットと第2のケイパビリティセットとの共通ケイパビリティセットである。
【０１５１】
本発明の本実施形態で提供されるハードディスク間のインタラクションのためのさらに別の方法においては、ハードディスク間のインタラクションがクラスタコントローラに依拠する必要がなく、ハードディスク間のインタラクションおよび折衝だけに関連するものであるため、ハードディスクとクラスタコントローラとの間の頻繁な通信が行われないようにすることができ、これにより、クラスタコントローラの圧力が低減され、インタラクション回数が減少し、サービス処理遅延が低減され、クラスタシステムの全般的性能が改善される。
【０１５２】
本発明の本実施形態で提供されるハードディスク間のインタラクションのためのさらに別の方法によれば、クラスタシステム内のハードディスクは、各ハードディスクがすべて、協調サービスケイパビリティを使用して別のハードディスクとのサービス処理を実行することができるように、直接インタラクションを行って、折衝により、各ハードディスクによってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットから、サービス処理を実行するための協調サービスケイパビリティを決定することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１５３】
第3の実施形態
図6に示すように、本発明はハードディスク1を提供し、本ハードディスク1は、
本ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するように構成された決定部10と、
第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するように構成された受信部11と
決定部10によって決定される協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するように構成されたサービス処理部12とを含むことができ、決定部10は、第1のケイパビリティセットおよび受信部11によって受信される第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、共通ケイパビリティセットから協調サービスケイパビリティを決定するようにさらに構成されており、共通ケイパビリティセットは、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである。
【０１５４】
任意選択で、決定部10は、具体的には、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、本ハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定し、複数のサービスケイパビリティのものである、好ましいハードディスクに対応するケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定するように構成されている。
【０１５５】
任意選択で、図7に示すように、ハードディスク1は、生成部13と、比較部14とをさらに含むことができる。
【０１５６】
生成部13は、第1の乱数を生成するように構成されており、受信部11は、第2のハードディスクによって送信される第2の乱数を受信するようにさらに構成されており、比較部14は、生成部13によって生成される第1の乱数と受信部11によって受信される第2の乱数とを比較するように構成されており、決定部10は、具体的には、比較部14の比較結果に従って、所定のポリシを満たすハードディスクが好ましいハードディスクであると決定するように構成されており、所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【０１５７】
任意選択で、決定部10は、具体的には、本ハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定するように構成されている。
【０１５８】
任意選択で、本ハードディスクおよび第2のハードディスクは、同じクラスタシステム内のハードディスクであり、本ハードディスクは、クラスタシステムにおけるプライマリハードディスクであり、第2のハードディスクは、クラスタシステムにおけるセカンダリハードディスクであり、複数の第2のハードディスクが存在する。
【０１５９】
任意選択で、図8に示すように、ハードディスク1は、送信部15をさらに含むことができる。
【０１６０】
送信部15は、第2のハードディスクが協調サービスケイパビリティを使用して本ハードディスクとのサービス処理を実行するよう、決定部10によって決定される協調サービスケイパビリティを第2のハードディスクに送信するように構成されている。
【０１６１】
本発明の本実施形態で提供されるハードディスク1は、クラスタシステムにおけるハードディスクとすることができ、本ハードディスク1は、ハードディスク・クラスタ・システムにおけるイーサネット・インターフェース・ハードディスクとすることができる。
【０１６２】
本発明の本実施形態はハードディスクを提供する。本ハードディスクは、本ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、本ハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、本ハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、本ハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、本ハードディスクは、第2のハードディスクを直接やりとりして、折衝により、本ハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１６３】
第4の実施形態
図9に示すように、本発明の本実施形態はハードディスクを提供し、本ハードディスクは、本発明の一実施形態で提供される、ハードディスク間のインタラクションのための方法に対応するものである。本ハードディスクは、プロセッサ16、例えば、CPU（Central Processing Unit、中央処理装置）と、データインターフェース17と、メモリ18と、システムバス19とを含むことができる。システムバス19は、これらの構成要素間の接続および通信を実施するように構成されている。メモリ18は、RAM（Random Access Memory、ランダム・アクセス・メモリ）を含むことができ、不揮発性メモリ（non-volatile memory）、例えば、少なくとも1つのディスクメモリをさらに含むことができる。メモリ18は、任意選択で、少なくとも1つの記憶装置を含むこともできる。
【０１６４】
いくつかの実施態様において、メモリ18は、以下の要素、実行可能モジュールもしくはデータ構造、またはそのサブセット、またはその拡張セットを格納する。すなわち、
様々な基本サービスを実施し、ハードウェアベースのタスクを処理するように構成されている様々なシステムプログラムを含む、オペレーティングシステムと、
様々なアプリケーションサービスを実施するように構成されている様々なアプリケーションプログラムを含む、アプリケーションモジュールとを格納する。
【０１６５】
本ハードディスクが動作するときに、プロセッサ16は、ハードディスクの内部実行命令を実行することによって、図1から図4のいずれか1つに記載されている方法手順を行うことができ、この方法手順は、具体的には、以下を含む。
プロセッサ16は、システムバス19を使用することによって第1のケイパビリティセットを決定し、システムバス19を使用することによってデータインターフェース17から、第2のハードディスクによって送信される第2のケイパビリティセットを受信し、第1のケイパビリティセットおよび第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定するように構成されており、第1のケイパビリティセットは、本ハードディスクによってサポートされるサービスケイパビリティのセットであり、第2のケイパビリティセットは、第2のハードディスクによってサポートされるサービスケイパビリティのセットであり、共通ケイパビリティセットは、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである。メモリ18は、第1のケイパビリティセット、第2のケイパビリティセット、共通ケイパビリティセット、および協調サービスケイパビリティ、ならびに前述のプロセスを完了するのに使用されるアプリケーションプログラムおよび関連アプリケーションコードを格納するように構成されている。プロセッサ16は、アプリケーションプログラムを実行し、アプリケーションコードを呼び出すことによって前述のプロセスを完了する。
【０１６６】
任意選択で、プロセッサ16は、具体的には、共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、本ハードディスクおよび第2のハードディスクのうちから好ましいハードディスクを決定し、複数のサービスケイパビリティのものである、好ましいハードディスクに対応するケイパビリティセットにおける優先度に従って、共通ケイパビリティセットから協調サービスケイパビリティを決定するように構成されている。
【０１６７】
任意選択で、プロセッサ16は、具体的には、第1の乱数を生成し、システムバス19を使用することによってデータインターフェース17から、第2のハードディスクによって送信される第2の乱数を受信し、第1の乱数と第2の乱数とを比較し、比較結果に従って、所定事のポリシを満たすハードディスクが好ましいハードディスクであると決定するように構成されており、所定のポリシは、乱数が最大であること、または乱数が最小であることである。
【０１６８】
任意選択で、プロセッサ16は、本ハードディスクおよび第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが好ましいハードディスクであると決定するようにさらに構成されている。
【０１６９】
任意選択で、本ハードディスクおよび第2のハードディスクは、同じクラスタシステム内のハードディスクであり、本ハードディスクは、クラスタシステムにおけるプライマリハードディスクであり、第2のハードディスクは、クラスタシステムにおけるセカンダリハードディスクであり、複数の第2のハードディスクが存在する。
【０１７０】
任意選択で、プロセッサ16は、第2のハードディスクが協調サービスケイパビリティを使用して本ハードディスクとのサービス処理を実行するよう、協調サービスケイパビリティを、システムバス19を使用することによってデータインターフェース17を介して第2のハードディスクに送信するようにさらに構成されている。
【０１７１】
本発明の本実施形態で提供される本ハードディスクは、クラスタシステムにおけるハードディスクとすることができ、本ハードディスクは、ハードディスク・クラスタ・システムにおけるイーサネット・インターフェース・ハードディスクとすることができる。
【０１７２】
本発明の本実施形態はハードディスクを提供する。本ハードディスクは、本ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、本ハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、本ハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、本ハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、本ハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、本ハードディスクは、第2のハードディスクを直接やりとりして、折衝により、本ハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１７３】
第5の実施形態
図10に示すように、本発明の本実施形態はクラスタシステムを提供し、本クラスタシステムは、前述の第3の実施形態または第4の実施形態による複数のハードディスクを含むことができる。複数のハードディスクのうちのあるハードディスクは、前述の第1の実施形態および第2の実施形態によるハードディスク間のインタラクションのための方法を実行することによって、そのあるハードディスクを除く複数のハードディスクのうちの別のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定し、その協調サービスケイパビリティを使用して別のハードディスクとのサービス処理を実行することができる。
【０１７４】
具体的には、クラスタシステムにおける2つのハードディスク間のインタラクションのための方法の実施については、本発明の第1の実施形態および第2の実施形態で提供される、ハードディスク間のインタラクションのための方法を参照されたい。具体的な実施プロセスは、前述の第1の実施形態および第2の実施形態で詳細に記述されており、ここでは詳細を繰り返さない。クラスタシステムにおける2つを超えるハードディスク間のインタラクションのための方法の実施については、本発明の第2の実施形態で提供されるハードディスク間のインタラクションのための別の方法およびハードディスク間のインタラクションのためのさらに別の方法を参照されたい。具体的な実施プロセスは、前述の第2の実施形態で詳細に記述されており、ここでは詳細を繰り返さない。
【０１７５】
本発明の本実施形態はクラスタシステムを提供する。クラスタシステム内の第1のハードディスクは、第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定し、第1のハードディスクは、第2のハードディスクによって送信される、第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信し、第1のハードディスクは、第1のケイパビリティセットおよび第2のケイパビリティセットに従って、第1のハードディスクと第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定し、第1のハードディスクは、協調サービスケイパビリティを使用して第2のハードディスクとのサービス処理を実行するために、共通ケイパビリティセットから協調サービスケイパビリティを決定する。本解決策を使用することによって、第1のハードディスクは、第2のハードディスクと直接やりとりして、折衝により、第1のハードディスクと第2のハードディスクとの両方によってサポートされる共通ケイパビリティセットを決定し、共通ケイパビリティセットからサービス処理を実行するための協調サービスケイパビリティを決定し、協調サービスケイパビリティを使用して相手側とのサービス処理を実行することができる。したがって、先行技術における解決策と比べて、クラスタコントローラは、ハードディスク間で集中化されたスケジューリングを行うことを必要とされ、クラスタコントローラの相対的に高い負荷圧力のためにクラスタコントローラの性能が低減されるという問題が解決され、そのため、クラスタコントローラの負荷圧力を軽減することができ、クラスタコントローラの性能が改善される。
【０１７６】
説明を簡便にすることを目的として、前述の機能モジュールの分割が説明のための例として挙げられていることが、当業者にははっきりと理解できよう。実際の適用においては、前述の各機能を、異なる機能モジュールに割り振り、要件に従って実装することができる。すなわち、装置の内部構造が上述の各機能の全部または一部を実装するための異なる機能モジュールに分割される。前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法実施形態における対応するプロセスを参照されたく、ここでは詳細を繰り返さない。
【０１７７】
本出願において提供されるいくつかの実施形態においては、開示のシステム、装置、および方法を他のやり方で実現することもできることを理解すべきである。例えば、説明された装置実施形態は例示にすぎない。例えば、モジュールまたはユニットの分割は論理的機能分割にすぎず、実際の実装に際しては他の分割も可能である。例えば、複数のユニットまたはコンポーネントを組み合わせて、または統合して別のシステムとする場合もあり、いくつかの特徴を無視し、または実行しない場合もある。加えて、表示された、または論じられた相互結合または直接結合または通信接続を、いくつかのインターフェースを介して実現することもできる。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、または他の形態として実現することができる。
【０１７８】
別々の部品として記述されたユニットは、物理的に分離していてもそうでなくてもよく、ユニットとして表示された部品は、物理的ユニットであってもそうでなくてもよく、一箇所に位置していてもよく、複数のネットワークユニット上に分散されていてもよい。ユニットの一部または全部を、各実施形態の解決策の目的を達成するための実際の必要に従って選択することもできる。
【０１７９】
加えて、本発明の各実施形態における機能ユニットを1つの処理ユニットに統合することもでき、ユニットの各々が物理的に独立して存在していてよく、または2つ以上のユニットが1つのユニットに統合されていてもよい。統合ユニットは、ハードウェアの形態で実現することもでき、ソフトウェア機能ユニットの形態で実現することもできる。
【０１８０】
統合ユニットがソフトウェア機能ユニットの形態で実現され、独立した製品として販売され、または使用される場合に、その統合ユニットはコンピュータ可読記憶媒体に格納することができる。そうした理解に基づき、本発明の技術解決策を本質的に、または先行技術に寄与する部分を、または技術解決策の全部または一部を、ソフトウェア製品の形態で実現することができる。ソフトウェア製品は記憶媒体に格納されており、（パーソナルコンピュータ、サーバ、またはネットワークデバイスとすることができる）コンピュータデバイスまたはプロセッサに、本発明の各実施形態で記述されている方法のステップの全部または一部を実行するよう命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、ROM（Read‐Only Memory、読取り専用メモリ）、ランダム・アクセス・メモリ、磁気ディスク、光ディスクといった、プログラムコードを格納することができる任意の媒体を含む。
【０１８１】
以上の説明は、本発明の具体的実装態様であるにすぎず、本発明の保護範囲を限定するためのものではない。本発明で開示される技術範囲内で当業者によって容易に想到されるいかなる変形または置換も、本発明の保護範囲内に含まれるものとする。したがって、本発明の保護範囲は、特許請求の範囲の保護範囲に従うべきものとする。
【符号の説明】
【０１８２】
1  ハードディスク
10  決定部
11  受信部
12  サービス処理部
13  生成部
14  比較部
15  送信部
16  プロセッサ
17  データインターフェース
18  メモリ
19  システムバス
【図１】
2016539419.tif 000003
【図２】
2016539419.tif 000004
【図３】
2016539419.tif 000005
【図４】
2016539419.tif 000006
【図５】
2016539419.tif 000007
【図６】
2016539419.tif 000008
【図７】
2016539419.tif 000009
【図８】
2016539419.tif 000010
【図９】
2016539419.tif 000011
【図１０】
2016539419.tif 000012
【手続補正書】
【提出日】平成28年5月12日(2016.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハードディスク間のインタラクションのための方法であって、
第1のハードディスクにより、前記第1のハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するステップと、
前記第1のハードディスクにより、第2のハードディスクによって送信される、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するステップと、
前記第1のハードディスクにより、前記第1のケイパビリティセットおよび前記第2のケイパビリティセットに従って、前記第1のハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである共通ケイパビリティセットを決定するステップと、
前記第1のハードディスクにより、協調サービスケイパビリティを使用して前記第2のハードディスクとのサービス処理を実行するために、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するステップと
を有する、ハードディスク間のインタラクションのための方法。
【請求項２】
前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、前記第1のハードディスクにより、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定する前記ステップは、
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定するステップと、
前記第1のハードディスクにより、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するステップと
を含む、請求項1に記載のハードディスク間のインタラクションのための方法。
【請求項３】
前記第1のハードディスクにより、第1の乱数を生成するステップと、
前記第1のハードディスクにより、前記第2のハードディスクによって送信される第2の乱数を受信するステップと
をさらに有し、
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定する前記ステップは、
前記第1のハードディスクにより、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するために、前記第1の乱数と前記第2の乱数とを比較するステップを含み、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項2に記載のハードディスク間のインタラクションのための方法。
【請求項４】
前記第1のハードディスクにより、所定のポリシに従って、前記第1のハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定する前記ステップは、
前記第1のハードディスクにより、前記第1のハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するステップを含む、請求項2に記載のハードディスク間のインタラクションのための方法。
【請求項５】
前記第1のハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記第1のハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項1から4のいずれか一項に記載のハードディスク間のインタラクションのための方法。
【請求項６】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項1から5のいずれか一項に記載のハードディスク間のインタラクションのための方法。
【請求項７】
前記第1のハードディスクにより、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記第1のハードディスクとのサービス処理を実行するよう、前記協調サービスケイパビリティを前記第2のハードディスクに送信するステップをさらに有する、請求項1から6のいずれか一項に記載のハードディスク間のインタラクションのための方法。
【請求項８】
ハードディスクであって、
前記ハードディスクによってサポートされるサービスケイパビリティのセットである第1のケイパビリティセットを決定するように構成された決定部と、
第2のハードディスクによって送信される、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットである第2のケイパビリティセットを受信するように構成された受信部と、
前記決定部によって決定される協調サービスケイパビリティを使用して、前記第2のハードディスクとのサービス処理を実行するように構成されたサービス処理部と
を具備し、
前記決定部は、前記第1のケイパビリティセットおよび前記受信部によって受信される前記第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するようにさらに構成され、
前記共通ケイパビリティセットは、前記ハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである、ハードディスク。
【請求項９】
前記決定部は、前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、前記ハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定し、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するようにさらに構成される、請求項8に記載のハードディスク。
【請求項１０】
生成部と
比較部と
をさらに具備し、
前記生成部は、第1の乱数を生成するように構成され、
前記受信部は、前記第2のハードディスクによって送信される第2の乱数を受信するようにさらに構成され、
前記比較部は、前記生成部によって生成される前記第1の乱数と前記受信部によって受信される前記第2の乱数とを比較するように構成され、
前記決定部は、前記比較部の比較結果に従って、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するようにさらに構成され、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項9に記載のハードディスク。
【請求項１１】
前記決定部は、前記ハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するようにさらに構成される、請求項9に記載のハードディスク。
【請求項１２】
前記ハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記ハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項8から11のいずれか一項に記載のハードディスク。
【請求項１３】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項8から12のいずれか一項に記載のハードディスク。
【請求項１４】
送信部をさらに具備し、
前記送信部は、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記ハードディスクとのサービス処理を実行するよう、前記決定部によって決定される前記協調サービスケイパビリティを前記第2のハードディスクに送信するように構成される、請求項8から13のいずれか一項に記載のハードディスク。
【請求項１５】
ハードディスクであって、
第1のケイパビリティセットを決定し、第2のハードディスクによって送信される第2のケイパビリティセットを受信し、前記第1のケイパビリティセットおよび前記第2のケイパビリティセットに従って共通ケイパビリティセットを決定し、協調サービスケイパビリティを使用して前記第2のハードディスクとのサービス処理を実行するために、前記共通ケイパビリティセットから前記協調サービスケイパビリティを決定するように構成されたプロセッサと、
前記第1のケイパビリティセット、前記第2のケイパビリティセット、前記共通ケイパビリティセット、および前記協調サービスケイパビリティを格納するように構成されたメモリと
を具備し、
前記第1のケイパビリティセットは、前記ハードディスクによってサポートされるサービスケイパビリティのセットであり、
前記第2のケイパビリティセットは、前記第2のハードディスクによってサポートされるサービスケイパビリティのセットであり、
前記共通ケイパビリティセットは、前記ハードディスクと前記第2のハードディスクとの両方によってサポートされるサービスケイパビリティのセットである、ハードディスク。
【請求項１６】
前記プロセッサは、前記共通ケイパビリティセットが複数のサービスケイパビリティを含む場合に、所定のポリシに従って、前記ハードディスクおよび前記第2のハードディスクのうちから好ましいハードディスクを決定し、前記共通ケイパビリティセット中の前記複数のサービスケイパビリティのものである、前記好ましいハードディスクのケイパビリティセットにおける優先度に従って、前記協調サービスケイパビリティを決定するようにさらに構成される、請求項15に記載のハードディスク。
【請求項１７】
前記プロセッサは、第1の乱数を生成し、前記第2のハードディスクによって送信される第2の乱数を受信し、前記第1の乱数と前記第2の乱数とを比較し、比較結果に従って、前記所定のポリシを満たすハードディスクが前記好ましいハードディスクであると決定するようにさらに構成され、
前記所定のポリシは、乱数が最大であること、または乱数が最小であることである、請求項16に記載のハードディスク。
【請求項１８】
前記プロセッサは、前記ハードディスクおよび前記第2のハードディスクのうちから、サービス処理を能動的に開始するハードディスクが前記好ましいハードディスクであると決定するようにさらに構成される、請求項16に記載のハードディスク。
【請求項１９】
前記ハードディスクおよび前記第2のハードディスクは、同じクラスタシステム内のハードディスクであり、
前記ハードディスクは、前記クラスタシステムにおけるプライマリハードディスクであり、
前記第2のハードディスクは、前記クラスタシステムにおけるセカンダリハードディスクであり、
複数の第2のハードディスクが存在する、請求項15から18のいずれか一項に記載のハードディスク。
【請求項２０】
複数の第2のハードディスクが存在する場合に、前記第2のケイパビリティセットは、すべての前記複数の第2のハードディスクによってサポートされ、かつサービスケイパビリティ折衝後に前記複数の第2のハードディスクによって決定されるサービスケイパビリティのセットである、請求項15から19のいずれか一項に記載のハードディスク。
【請求項２１】
前記プロセッサは、前記第2のハードディスクが前記協調サービスケイパビリティを使用して前記ハードディスクとのサービス処理を実行するよう、前記協調サービスケイパビリティを前記第2のハードディスクに送信するようにさらに構成される、請求項15から20のいずれか一項に記載のハードディスク。
【請求項２２】
クラスタシステムであって、
複数のハードディスクを具備し、
前記複数のハードディスクは、請求項8から14のいずれか一項または請求項15から21のいずれか一項に記載のハードディスクであり、
前記複数のハードディスクのうちのあるハードディスクが、前記あるハードディスクを除く前記複数のハードディスクのうちの別のハードディスクとのサービス処理を実行するための協調サービスケイパビリティを決定し、前記協調サービスケイパビリティを使用して前記別のハードディスクとのサービス処理を実行する、クラスタシステム。
【国際調査報告】
2016539419.tif 000013
2016539419.tif 000014
2016539419.tif 000015
2016539419.tif 000016