(57)【特許請求の範囲】
【請求項１】
相互接続コンピュータノードを備える、分散記憶システムであって、
前記コンピュータノードのうちの各１つが、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、
前記コンピュータノードのうちの少なくとも１つは、オブジェクトをキャッシュするように構成され、対応するキャッシュ関連パラメータを有する、少なくとも１つのキャッシュリソースを含む、１つ以上のリソースを備え、
前記少なくとも１つのキャッシュリソースを有する、コンピュータノードの少なくとも１つのＵＤＳＰエージェントは、
キャッシュ関連パラメータが高サービスレベル仕様（ＳＬＳ）基準を満たすかどうかを判定するために、前記コンピュータノードに接続された前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータを監視し、
前記コンピュータノードに接続された前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータが前記高ＳＬＳ基準を満たさない場合、少なくとも１つの他のコンピュータノードへの前記少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、前記少なくとも１つの他のコンピュータノードが、前記コンピュータノードから前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受け取った後、前記少なくとも１つの他のコンピュータノードのキャッシュ関連パラメータが、中間ＳＬＳ基準を満たすように、ハンドオフ標的の前記少なくとも１つの他のコンピュータノードを検索し、
前記コンピュータノードの前記ＵＤＳＰエージェントはさらに、
前記１つ以上のキャッシュオブジェクト空間の少なくとも一部がハンドオフされたハンドオフ標的の場所を示す、ハンドオフ後キャッシュマッピングを作成し、
前記ハンドオフ後キャッシュマッピングを、前記他のコンピュータノードに送り、
ハンドオフ後キャッシュマッピングにおいてハンドオフ標的にマップされたキャッシュオブジェクトを、ハンドオフ標的に送ることによって、および／またはハンドオフ元において前記キャッシュオブジェクトを削除することによって、１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を前記他のコンピュータノードに譲渡するように構成される、分散記憶システム。
【請求項２】
前記少なくとも１つのキャッシュリソースを有する前記コンピュータノードの各ＵＤＳＰエージェントが、
前記キャッシュ関連パラメータが、低ＳＬＳ基準を下回る場合に前記対応するキャッシュリソースの利用不足を示す、低ＳＬＳ基準を下回るか否かを監視し、
前記キャッシュ関連パラメータが、前記低ＳＬＳ基準を下回る場合、前記コンピュータノードが他のコンピュータノードからの前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、前記キャッシュ関連パラメータが、前記中間ＳＬＳ基準を満たすように、前記コンピュータノードをハンドオフ標的として、前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を送信するハンドオフ元である前記他のコンピュータノードを検索するように構成されている、請求項１に記載の分散記憶システム。
【請求項３】
第１のコンピュータノードのＵＤＳＰデータリポジトリが、第２のコンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含むように、第１のコンピュータノードが、ＵＤＳＰデータリポジトリを有し、
前記第１のコンピュータノードの前記ＵＤＳＰエージェントは、
第２のコンピュータノードのキャッシュ関連パラメータが高ＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの第２のコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、前記キャッシュ関連パラメータを監視し、
前記高ＳＬＳ基準が満たされない場合、前記第１のコンピュータノードの前記ＵＤＳＰデータリポジトリから抽出された、前記第２のコンピュータノードの前記キャッシュ関連パラメータを含む、前記第２のコンピュータノードへのメッセージを開始し、それにより、前記第１のコンピュータノードから受け取られた前記キャッシュ関連パラメータが、前記第２のコンピュータノードの前記キャッシュ関連パラメータよりも新しいかどうかを、前記第２のコンピュータノードが判定し、前記受け取られた前記キャッシュ関連パラメータが新しい場合は、前記第２のコンピュータノードの前記キャッシュ関連パラメータとして、前記受け取られた前記キャッシュ関連パラメータを利用することを可能にするように構成される、請求項１に記載の分散記憶システム。
【請求項４】
前記第１のコンピュータノードは、それに接続された前記少なくとも１つのキャッシュリソースを有する、請求項３に記載の分散記憶システム。
【請求項５】
前記第１のコンピュータノードの前記ＵＤＳＰデータリポジトリは、前記第１のコンピュータノードのキャッシュリソースに対応する自己のキャッシュ関連パラメータについてのデータも含む、請求項４に記載の分散記憶システム。
【請求項６】
前記ＵＤＳＰエージェントはさらに、ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供するように構成される、請求項１に記載の分散記憶システム。
【請求項７】
ゲートウェイリソースまたはクライアントサーバのＵＤＳＰデータリポジトリが、コンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含むように、ゲートウェイリソースまたはクライアントサーバが、それぞれのＵＤＳＰデータリポジトリを有し、
前記ゲートウェイリソースまたは前記クライアントサーバの前記ＵＤＳＰエージェントはさらに、
コンピュータノードの前記キャッシュ関連パラメータが高ＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つのコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、前記キャッシュ関連パラメータを監視し、
前記高ＳＬＳ基準が満たされない場合、前記ゲートウェイリソースまたは前記クライアントサーバの前記ＵＤＳＰデータリポジトリから抽出された、前記コンピュータノードの前記キャッシュ関連パラメータを含む、前記コンピュータノードへのメッセージを開始し、それにより、前記ゲートウェイリソースまたは前記クライアントサーバから受け取られた前記キャッシュ関連パラメータが、前記コンピュータノードの前記キャッシュ関連パラメータよりも新しいかどうかを、前記コンピュータノードが判定することを可能にするように構成される、請求項１に記載の分散記憶システム。
【請求項８】
前記コンピュータノードの前記ＵＤＳＰエージェントはさらに、
１つ以上のクライアントサーバがハンドオフされた前記１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる場合、前記ハンドオフ後キャッシュマッピングを、前記１つ以上のクライアントサーバに送るように構成される、請求項１に記載の分散記憶システム。
【請求項９】
前記コンピュータノードの前記ＵＤＳＰエージェントはさらに、
前記ハンドオフが開始されてから、前記キャッシュオブジェクトが削除されるまでの間に、前記ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受け、
前記オブジェクトが、前記ハンドオフ後キャッシュマッピングに従って、前記コンピュータノードによって削除され、前記コンピュータノードが、前記オブジェクトの所有権を持たない場合、前記要求を前記他のコンピュータノードに伝えるように構成される、請求項８に記載の分散記憶システム。
【請求項１０】
相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードであって、前記コンピュータノードは、
オブジェクトをキャッシュするように構成され、対応するキャッシュ関連パラメータを有する、少なくとも１つのキャッシュリソースと、
統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースと、を備え、前記ＵＤＳＰエージェントは、
キャッシュ関連パラメータが高サービスレベル仕様（ＳＬＳ）基準を満たすかどうかを判定するために、前記コンピュータノードに接続された前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータを監視し、
前記コンピュータノードに接続された前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータが前記高ＳＬＳ基準を満たさない場合、前記相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの、前記少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、前記少なくとも１つの他のコンピュータノードが、前記コンピュータノードから前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受け取った後、前記少なくとも１つの他のコンピュータノードのキャッシュ関連パラメータが、中間ＳＬＳ基準を満たすように、ハンドオフ標的の前記少なくとも１つの他のコンピュータノードを検索し、
前記１つ以上のキャッシュオブジェクト空間の少なくとも一部がハンドオフされたハンドオフ標的の場所を示す、ハンドオフ後キャッシュマッピングを作成し、
前記ハンドオフ後キャッシュマッピングを、前記他のコンピュータノードに送り、
ハンドオフ後キャッシュマッピングにおいてハンドオフ標的にマップされたキャッシュオブジェクトを、ハンドオフ標的に送ることによって、および／またはハンドオフ元において前記キャッシュオブジェクトを削除することによって、前記１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を前記他のコンピュータノードに譲渡するように構成される、コンピュータノード。
【請求項１１】
前記ＵＤＳＰエージェントはさらに、
前記キャッシュ関連パラメータが、低ＳＬＳ基準を下回る場合に前記対応するキャッシュリソースの利用不足を示す、低ＳＬＳ基準を下回るか否かを監視し、
前記キャッシュ関連パラメータが、前記低ＳＬＳ基準を下回る場合、前記コンピュータノードが他のコンピュータノードからの前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、前記キャッシュ関連パラメータが、前記中間ＳＬＳ基準を満たすように、前記コンピュータノードをハンドオフ標的として、前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を送信するハンドオフ元である前記他のコンピュータノードを検索するように構成されている、請求項１０に記載のコンピュータノード。
【請求項１２】
前記コンピュータノードはさらに、前記相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含む、ＵＤＳＰデータリポジトリを備え、前記ＵＤＳＰエージェントはさらに、
他のコンピュータノードの前記キャッシュ関連パラメータが高ＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの他のコンピュータノードの前記１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、前記キャッシュ関連パラメータを監視し、
前記高ＳＬＳ基準が満たされない場合、前記ＵＤＳＰデータリポジトリから抽出された、前記他のコンピュータノードの前記キャッシュ関連パラメータのうちの少なくとも１つを含む、前記他のコンピュータノードへのメッセージを開始し、それにより、前記コンピュータノードから受け取られた前記キャッシュ関連パラメータが、前記他のコンピュータノードの前記キャッシュ関連パラメータよりも新しいかどうかを、前記他のコンピュータノードが判定し、前記受け取られた前記キャッシュ関連パラメータが新しい場合は、第２のコンピュータノードの前記キャッシュ関連パラメータとして、前記受け取られた前記キャッシュ関連パラメータを利用することを可能にするように構成される、請求項１０に記載のコンピュータノード。
【請求項１３】
前記ＵＤＳＰデータリポジトリは、前記コンピュータノードのキャッシュリソースに対応する自己のキャッシュ関連パラメータについてのデータも含む、請求項１２に記載のコンピュータノード。
【請求項１４】
前記ＵＤＳＰエージェントはさらに、ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供するように構成される、請求項１０に記載のコンピュータノード。
【請求項１５】
前記ＵＤＳＰエージェントはさらに、
１つ以上のクライアントサーバがハンドオフされた前記１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる場合、前記ハンドオフ後キャッシュマッピングを、前記１つ以上のクライアントサーバに送るように構成される、請求項１０に記載のコンピュータノード。
【請求項１６】
前記ＵＤＳＰエージェントはさらに、
前記ハンドオフが開始されてから、前記キャッシュオブジェクトが削除されるまでの間に、前記ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受け、
前記オブジェクトが、前記ハンドオフ後キャッシュマッピングに従って、前記コンピュータノードによって削除され、前記コンピュータノードが、前記オブジェクトの所有権を持たない場合、前記要求を前記他のコンピュータノードに伝えるように構成される、請求項１５に記載のコンピュータノード。
【請求項１７】
コンピュータノードに接続された少なくとも１つのキャッシュリソースを有し、相互接続コンピュータノードを含むインフラストラクチャ層に接続されるように構成される、コンピュータノードを動作させる方法であって、
キャッシュ関連パラメータが高サービスレベル仕様（ＳＬＳ）基準を満たすかどうかを判定するために、対応するキャッシュ関連パラメータを有し、オブジェクトをキャッシュするように構成される、前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータを監視することと、
前記コンピュータノードに接続された前記少なくとも１つのキャッシュリソースの前記キャッシュ関連パラメータが前記高ＳＬＳ基準を満たさない場合、前記相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの、前記少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始することと、を含み、前記少なくとも１つの他のコンピュータノードが、前記コンピュータノードから前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受け取った後、前記少なくとも１つの他のコンピュータノードのキャッシュ関連パラメータが、中間ＳＬＳ基準を満たすように、ハンドオフ標的の前記少なくとも１つの他のコンピュータノードを検索するように構成され、
前記１つ以上のキャッシュオブジェクト空間の少なくとも一部がハンドオフされたハンドオフ標的の場所を示す、ハンドオフ後キャッシュマッピングを作成することと、
前記ハンドオフ後キャッシュマッピングを、前記他のコンピュータノードに送ることと、
ハンドオフ後キャッシュマッピングにおいてハンドオフ標的にマップされたキャッシュオブジェクトを、ハンドオフ標的に送ることによって、および／またはハンドオフ元において前記キャッシュオブジェクトを削除することによって、前記１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を前記他のコンピュータノードに譲渡することとをさらに含む、方法。
【請求項１８】
前記キャッシュ関連パラメータが、低ＳＬＳ基準を下回る場合に前記対応するキャッシュリソースの利用不足を示す、低ＳＬＳ基準を下回るか否かを監視することと、
前記キャッシュ関連パラメータが、前記低ＳＬＳ基準を下回る場合、前記コンピュータノードが他のコンピュータノードからの前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュされたパラメータが、前記中間ＳＬＳ基準を満たすように、前記コンピュータノードをハンドオフ標的として、前記１つ以上のキャッシュオブジェクト空間の少なくとも一部を送信するハンドオフ元である前記他のコンピュータノードを検索することをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記コンピュータノードがさらに、前記相互接続コンピュータノードのうちの前記少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースに対応する、キャッシュ関連パラメータについてのデータを含む、ＵＤＳＰデータリポジトリを備え、前記方法はさらに、
他のコンピュータノードの前記キャッシュ関連パラメータが高ＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、前記キャッシュ関連パラメータを監視することと、
前記高ＳＬＳ基準が満たされない場合、前記ＵＤＳＰデータリポジトリから抽出された、前記他のコンピュータノードの前記キャッシュ関連パラメータを含む、前記他のコンピュータノードへのメッセージを開始し、それにより、前記コンピュータノードから受け取られた前記キャッシュ関連パラメータが、前記他のコンピュータノードの前記キャッシュ関連パラメータよりも新しいかどうかを、前記他のコンピュータノードが判定し、前記受け取られた前記キャッシュ関連パラメータが新しい場合は、第２のコンピュータノードの前記キャッシュ関連パラメータとして、前記受け取られた前記キャッシュ関連パラメータを利用することを可能にすることと、を含む、請求項１７に記載の方法。
【請求項２０】
前記ＵＤＳＰデータリポジトリが、前記コンピュータノードのキャッシュリソースに対応する自己のキャッシュ関連パラメータについてのデータも含む、請求項１９に記載の方法。
【請求項２１】
ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供することをさらに含む、請求項１７に記載の方法。
【請求項２２】
１つ以上のクライアントサーバがハンドオフされた前記１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる場合、前記ハンドオフ後キャッシュマッピングを、前記１つ以上のクライアントサーバに送信すること
をさらに含む、請求項１７に記載の方法。
【請求項２３】
前記ハンドオフが開始されてから、前記キャッシュオブジェクトが削除されるまでの間に、前記ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受けることと、
前記オブジェクトが、前記ハンドオフ後キャッシュマッピングに従って、前記コンピュータノードによって削除され、前記コンピュータノードが、前記オブジェクトの所有権を持たない場合、前記要求を前記他のコンピュータノードに伝えることと、をさらに含む、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模記憶システムに関し、具体的には、そのようなシステムを実装するための装置および方法に関する。
【背景技術】
【０００２】
分散記憶システムは、ネットワークが容量および速度を増大させるにつれて、過去１０年にわたって急速に発展してきた。ネットワークがローカルエリアネットワーク（ＬＡＮ）から大域的な広域ネットワーク（ＷＡＮ）に拡張すると、事業がより大域的に分散しつつあり、分散記憶システムが遠隔の地理的場所にわたってデータ記憶およびアクセスを提供する要求をもたらしている。したがって、当技術分野では、汎用ネットワークにわたってデータ記憶を分散させるための新しい方法およびシステムの必要性がある。
【０００３】
背景として本開示主題に関連すると見なされる従来技術の参考文献が、以下に記載される。本明細書の参考文献の確認は、これらが本開示主題の特許性に何らかの点で関連すると意味するものとして推論されるものではない。
【０００４】
米国特許公開第２００９／００７０３３７号「Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  ａ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｒａｇｅ  Ｇｌｏｂａｌ  Ｄａｔａｂａｓｅ」は、「所与のデータ要素に対する要求が地理的慣性を負う、データ要素の分散を管理するための地理的分散記憶システム。地理的分散記憶システムは、地理的分散サイトを備え、それぞれ、データ要素と、データ要素のうちの１つに関する要求を受けるためのローカルアクセスポイントとを含む、大域的コヒーレント分散データベースの一部分をローカルに記憶するためのサイト記憶ユニットを備える。地理的分散記憶システムは、そこから要求が受け取られる、地理的分散サイトのうちの第１のサイトにおけるローカルアクセスポイントに少なくとも１つの要求されたデータ要素を転送し、第１のサイトにおいて少なくとも１つの要求されたデータ要素を記憶し、それにより、分散データベースの大域的一貫性を維持しながら、第１のサイトからの将来の要求のためにデータ要素へのローカルアクセス可能性を提供するためのデータ管理モジュールを備える。」ことに関する。
【０００５】
米国特許第５９８７５０５号「Ｒｅｍｏｔｅ  Ａｃｃｅｓｓ  ａｎｄ  Ｇｅｏｇｒａｐｈｉｃａｌｌｙ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｐｕｔｅｒｓ  ｉｎ  ａ  Ｇｌｏｂａｌｌｙ  Ａｄｄｒｅｓｓａｂｌｅ  Ｓｔｏｒａｇｅ  Ｅｎｖｉｒｏｎｍｅｎｔ」は、「コンピュータシステムは、データがコンピュータハードディスク等の永続記憶デバイスおよび他の伝統的にアドレス指定不可能なデータ記憶デバイス上に記憶されるときさえも対処することによって、複数のネットワークコンピュータがデータにアクセスすることを可能にする、大域的アドレス可能記憶環境を採用する。コンピュータは、単一のコンピュータネットワーク上、または広域ネットワーク（ＷＡＮ）によって連結される２つのローカルエリアネットワーク（ＬＡＮ）等の複数の相互接続コンピュータネットワーク上に位置することができる。大域的アドレス可能記憶環境は、複数のネットワーク上の種々のコンピュータによって、かつそれらの間で、データがアクセスおよび共有されることを可能にする。」ことに関する。
【０００６】
Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ａｐｐｌｉｃａｔｉｏｎｓ  ２０１０（０９７５−８８８７），Ｖｏｌｕｍｅ  １−Ｎｏ．２２，“Ｕｎｉｆｉｅｄ  Ｖｉｒｔｕａｌ  Ｓｔｏｒａｇｅ：Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ｏｆ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｓｔｏｒａｇｅ  ｉｎ  ａ  Ｎｅｔｗｏｒｋ”，Ｍｓ．Ｓ．Ｖ．Ｐａｔｉｌ  ｅｔ  ａｌ．は、「ネットワーク上で接続されるデスクトップマシン上のディスクの空き容量を効率的に利用する方法。現在、多くのネットワークでは、クライアントノードのローカルディスクは、散発的にしか使用されていない。これは、ネットワーク内のデータ記憶を効率的に管理し、かつＬＡＮ内のデスクトップマシン上のディスク空間の共有のためのソフトウェアサポートを提供しようとする試行である。現在の状況では、従来のサーバ上の記憶拡張は、最大拡張制限、費用のかかる問題のような制約を有し、ハードウェア交換、機能向上の場合には、データの手動再配置が乱雑になる。ＵＶＳ（統一仮想記憶）は、ネットワーク上で接続されるデスクトップマシン上の自由に利用可能なディスク空間を効率的に利用しようとする試行である。その目的は、クライアントノード上の空間を効率的に利用し、それにより、空間の浪費を回避するように、ネットワークサーバ上のデータトラフィックの負荷を低減することである。それはまた、記憶拡張のハードウェア制限を排除し、データ記憶の場所透過性を提供する。ＵＶＳの主要な利点は、それを既存のインフラストラクチャ（ローカルエリアネットワークシステム）にシームレスに組み込むことができることである。仮想記憶は、拡張性のあるアーキテクチャをサポートし、事実上無限である。クライアントノードは、異なるサーバにわたる分散記憶のための一点アクセスとして統一仮想ドライブを使用し、それにより、サーバの個別アドレス指定を排除することができる。ネットワークおよび性能によって接続されるＵＶＳサーバ上で実装されるプロトタイプの性能は、中央集権型システムよりも良好であり、フレームワークのオーバーヘッドは、高負荷中でさえも適度である。」と説明する。
【０００７】
米国特許公開第２０１１／０１５３７７０号、「Ｄｙｎａｍｉｃ  Ｓｔｒｕｃｔｕｒａｌ  Ｍａｎａｇｅｍｅｎｔ  ｏｆ  ａ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃａｃｈｉｎｇ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ」は、「ｎ−階層分散キャッシングインフラストラクチャの動的構造管理のための方法、システム、およびコンピュータプログラム製品。本発明の実施形態では、ｎ−階層分散キャッシングインフラストラクチャの動的構造管理の方法は、ｎ−階層キャッシュ内のそれぞれの階層ノードの中に配設される複数のキャッシュサーバへの通信接続を確立することと、ｎ−階層キャッシュのそれぞれの階層ノードの中のキャッシュサーバのうちのそれぞれに対する性能測定基準を収集することと、閾値を横断するｎ−階層の階層ノードのうちの対応する１つの中の特定のキャッシュリソースの特性を識別することと、識別された特性を考慮するように、特定のキャッシュリソースを含む一式のキャッシュリソースを動的に構造化することとを含む。」に関する。
【発明の概要】
【０００８】
本開示主題の態様によれば、相互接続コンピュータノードを含むインフラストラクチャ層に接続されるように構成されるコンピュータノードが提供され、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、コンピュータノードは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、
更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャ層は、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成されることと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることと、を行うように構成される。
【０００９】
本開示主題のある特定の実施例によれば、さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて行われる、コンピュータノードが提供される。
【００１０】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、コンピュータノードが提供される。
【００１１】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが動的に作成される、コンピュータノードが提供される。
【００１２】
本開示主題のある特定の実施例によれば、その上さらに、グレードが保留中の割り当てのみに対して計算される、コンピュータノードが提供される。
【００１３】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、コンピュータノードが提供される。
【００１４】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリのうちのそれぞれの少なくとも１つの記憶関連リソースを含む、コンピュータノードが提供される。
【００１５】
本開示主題のある特定の実施例によれば、その上さらに、割り当てグレードが最適化エンジンによって計算される、コンピュータノードが提供される。
【００１６】
本開示主題のある特定の実施例によれば、その上さらに、最適化エンジンが、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、コンピュータが提供される。
【００１７】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、コンピュータノードが提供される。
【００１８】
本開示主題のある特定の実施例によれば、その上さらに、より好適なコンピュータノードが、計算されたグレードに基づく、最も好適なコンピュータノードである、コンピュータノードが提供される。
【００１９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、計算された割り当てグレードに基づいて、統合グレードを計算するように構成され、割り当てのうちの１つ以上の実行、またはタスクをより好適なコンピュータノードにルートすることは、計算された統合グレードに基づく、コンピュータノードが提供される。
【００２０】
本開示主題のある特定の実施例によれば、その上さらに、タスクがクライアントサーバから受け取られる、コンピュータノードが提供される。
【００２１】
本開示主題のある特定の実施例によれば、その上さらに、タスクが、ゲートウェイリソースを通してクライアントサーバから受け取られる、コンピュータノードが提供される。
【００２２】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、コンピュータノードの現在の状態、または該当する場合、コンピュータノードに接続された１つ以上の記憶関連リソースの現在の状態を示す、少なくとも１つのパラメータを監視し、少なくとも１つの監視されたパラメータへの変更を示す通知を、相互接続コンピュータノードのうちの少なくとも１つに伝搬するように構成される、コンピュータノードが提供される。
【００２３】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、更新されたインフラストラクチャの少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算するように構成され、更新されたインフラストラクチャ層は、少なくとも１つの修正された相互接続コンピュータノードを含み、修正は、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含み、それに接続された新しい記憶関連リソースを有する、またはそこから切断された記憶関連リソースを有する、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算するように構成され、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、
または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートするように構成される、コンピュータノードが提供される。
【００２４】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳおよび記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、コンピュータノードが提供される。
【００２５】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、記憶システムの再構成を計算し、計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、コンピュータノードが提供される。
【００２６】
本開示主題のある特定の実施例によれば、その上さらに、相互接続コンピュータノードを含むインフラストラクチャ層に接続されるように構成されるコンピュータノードを動作させる方法が提供され、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、本方法は、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードが、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャ層が、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成される、更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることとを含む。
【００２７】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて行われる、方法が提供される。
【００２８】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算することは、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、方法が提供される。
【００２９】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが動的に作成される、方法が提供される。
【００３０】
本開示主題のある特定の実施例によれば、その上さらに、グレードが保留中の割り当てのみに対して計算される、方法が提供される。
【００３１】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、方法が提供される。
【００３２】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースは、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリのうちのそれぞれの少なくとも１つの記憶関連リソースを含む、方法が提供される。
【００３３】
本開示主題のある特定の実施例によれば、その上さらに、グレードを計算することが、最適化エンジンによって行われる、方法が提供される。
【００３４】
本開示主題のある特定の実施例によれば、その上さらに、最適化エンジンが、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、方法が提供される。
【００３５】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、方法が提供される。
【００３６】
本開示主題のある特定の実施例によれば、その上さらに、より好適なコンピュータノードが、計算されたグレードに基づく、最も好適なコンピュータノードである、方法が提供される。
【００３７】
本開示主題のある特定の実施例によれば、その上さらに、計算された割り当てグレードに基づいて、統合グレードを計算することをさらに含む、方法が提供され、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることは、計算された統合グレードに基づく。
【００３８】
本開示主題のある特定の実施例によれば、その上さらに、タスクがクライアントサーバから受け取られる、方法が提供される。
【００３９】
本開示主題のある特定の実施例によれば、その上さらに、タスクが、ゲートウェイリソースを通じてクライアントサーバから受け取られる、方法が提供される。
【００４０】
本開示主題のある特定の実施例によれば、その上さらに、コンピュータノードの現在の状態、または該当する場合、コンピュータノードに接続された１つ以上の記憶関連リソースの現在の状態を示す少なくとも１つのパラメータを監視することと、少なくとも１つの監視されたパラメータへの変更を示す通知を、相互接続コンピュータノードのうちの少なくとも１つに伝搬することとをさらに含む、方法が提供される。
【００４１】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャが、少なくとも１つの修正された相互接続コンピュータノードを含み、修正が、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含み、それに接続された新しい記憶関連リソースを有する、またはそこから切断された記憶関連リソースを有する、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることとをさらに含む、方法が提供される。
【００４２】
本開示主題のある特定の実施例によれば、その上さらに、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受けることと、少なくとも、少なくとも１つのＳＬＳおよび記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算することと、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることとをさらに含む、方法が提供される。
【００４３】
本開示主題のある特定の実施例によれば、その上さらに、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受けることと、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算することと、計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることとをさらに含む、方法が提供される。
【００４４】
本開示主題のある特定の実施例によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層を備える、分散記憶システムが提供され、相互接続コンピュータノードの各々は、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される少なくとも１つの処理リソースを備え、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをインフラストラクチャ層のより好適なコンピュータノードにルートするように構成され、更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャ層は、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成されることと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される。
【００４５】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて行われる、分散記憶システムが提供される。
【００４６】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、分散記憶システムが提供される。
【００４７】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが動的に作成される、分散記憶システムが提供される。
【００４８】
本開示主題のある特定の実施例によれば、その上さらに、グレードが保留中の割り当てのみに対して計算される、分散記憶システムが提供される。
【００４９】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、分散記憶システムが提供される。
【００５０】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリのうちのそれぞれの少なくとも１つの記憶関連リソースを含む、分散記憶システムが提供される。
【００５１】
本開示主題のある特定の実施例によれば、その上さらに、割り当てグレードが、最適化エンジンによって計算される、分散記憶システムが提供される。
【００５２】
本開示主題のある特定の実施例によれば、その上さらに、最適化エンジンが、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、分散記憶システムが提供される。
【００５３】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、分散記憶システムが提供される。
【００５４】
本開示主題のある特定の実施例によれば、その上さらに、より好適なコンピュータノードが、計算されたグレードに基づく、最も好適なコンピュータノードである、分散記憶システムが提供される。
【００５５】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、計算された割り当てグレードに基づいて、統合グレードを計算するように構成され、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることは、計算された統合グレードに基づく、分散記憶システムが提供される。
【００５６】
本開示主題のある特定の実施例によれば、その上さらに、タスクがクライアントサーバから受け取られる、分散記憶システムが提供される。
【００５７】
本開示主題のある特定の実施例によれば、その上さらに、タスクがゲートウェイリソースを通してクライアントサーバから受け取られる、分散記憶システムが提供される。
【００５８】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、コンピュータノードの現在の状態、または該当する場合、コンピュータノードに接続された１つ以上の記憶関連リソースの現在の状態を示す、少なくとも１つのパラメータを監視し、少なくとも１つの監視されたパラメータへの変更を示す通知を、相互接続コンピュータノードのうちの少なくとも１つに伝搬するように構成される、分散記憶システムが提供される。
【００５９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、更新されたインフラストラクチャの少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算するように構成され、更新されたインフラストラクチャ層は、少なくとも１つの修正された相互接続コンピュータノードを含み、修正は、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含み、それに接続された新しい記憶関連リソースを有する、またはそこから切断された記憶関連リソースを有する、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算するように構成され、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートするように構成される、分散記憶システムが提供される。
【００６０】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳおよび記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、分散記憶システムが提供される。
【００６１】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算し、かつ計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、分散記憶システムが提供される。
【００６２】
本開示主題のある特定の実施例によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層を備える、分散記憶システムが提供され、相互接続コンピュータノードのうちの各１つは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャは、少なくとも１つの相互接続コンピュータノードの修正に応じて作成され、修正は、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含み、それに接続された新しい記憶関連リソースを有し、またはそこから切断された記憶関連リソースを有し、更新されたインフラストラクチャ層を生じる、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される。
【００６３】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳ要件が違反されたときに、少なくとも、少なくとも１つのＳＬＳ要件、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算し、かつ計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、分散記憶システムが提供される。
【００６４】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて行われる、分散記憶システムが提供される。
【００６５】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、分散記憶システムが提供される。
【００６６】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが、動的に作成される、分散記憶システムが提供される。
【００６７】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、分散記憶システムが提供される。
【００６８】
本開示主題のある特定の実施例によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成される、コンピュータノードが提供され、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、コンピュータノードは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すようにし計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャの少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャ層は、少なくとも１つの相互接続コンピュータノードの修正に応じて作成され、修正は、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含み、それに接続された新しい記憶関連リソースを有し、またはそこから切断された記憶関連リソースを有し、更新されたインフラストラクチャ層を生じる、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される。
【００６９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳ要件が違反されたときに、少なくとも、少なくとも１つのＳＬＳ要件、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算し、かつ計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される、コンピュータノードシステムが提供される。
【００７０】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて行われる、コンピュータノードシステムが提供される。
【００７１】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの前記割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算は、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、コンピュータノードシステムが提供される。
【００７２】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが、動的に作成される、コンピュータノードシステムが提供される。
【００７３】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、コンピュータノードシステムが提供される。
【００７４】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードを動作させる方法が提供され、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、本方法は、
少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードが、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをインフラストラクチャ層のより好適なコンピュータノードにルートし、更新されたインフラストラクチャ層が、少なくとも１つの相互接続コンピュータノードの修正に応じて作成され、修正が、（ｉ）少なくとも１つの新しい記憶関連リソースがそれぞれのノードに接続されること、（ｉｉ）少なくとも１つの既存の記憶関連リソースがそれぞれのノードから切断されること、（ｉｉｉ）少なくとも１つの既存の記憶関連リソースが修正されることのうちの少なくとも１つを含む、更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、それに接続された新しい記憶関連リソースを有し、またはそこから切断された記憶関連リソースを有し、更新されたインフラストラクチャ層を生じる、少なくとも１つの相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることとを含む。
【００７５】
本開示主題のある特定の実施例によれば、その上さらに、記憶システムの動的挙動に関する動的挙動パラメータデータを受けることと、少なくとも１つのＳＬＳ要件が違反されたときに、少なくとも、少なくとも１つのＳＬＳ要件、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算することと、計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることとをさらに含む、方法が提供される。
【００７６】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算することは、作成された更新されたインフラストラクチャ層の少なくとも１つの修正された相互接続コンピュータノードについて行われる、方法が提供される。
【００７７】
本開示主題のある特定の実施例によれば、その上さらに、以後のタスクの割り当てのグレードを計算しながら、更新されたインフラストラクチャ層が作成され、計算することは、作成された更新されたインフラストラクチャ層の少なくとも１つの相互接続コンピュータノードについて行われる、方法が提供される。
【００７８】
本開示主題のある特定の実施例によれば、その上さらに、更新されたインフラストラクチャが、動的に作成される、方法が提供される。
【００７９】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースは、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、方法が提供される。
【００８０】
本開示主題のある特定の実施例によれば、その上さらに、分散記憶システムのインフラストラクチャ層に接続されるように構成されるコンピュータノードが提供され、インフラストラクチャ層は、相互接続コンピュータノードを含み、コンピュータノードは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、
少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳおよび記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、
計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付け、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算し、かつ計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される。
【００８１】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、ＳＬＳの少なくとも１つのユーザ定義された記憶関連要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャ層は、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成され、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される、コンピュータノードが提供される。
【００８２】
本開示主題のある特定の実施例によれば、その上さらに、構成が最適化エンジンによって計算される、コンピュータノードが提供される。
【００８３】
本開示主題のある特定の実施例によれば、その上さらに、最適化エンジンが、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、コンピュータノードが提供される。
【００８４】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、コンピュータノードが提供される。
【００８５】
本開示主題のある特定の実施例によれば、その上さらに、記憶要件は、場所、ローカル保護レベル、バックアップ保持ポリシー、遠隔保護レベル、性能レベル、暗号化レベル、重複排除、圧縮、記憶方法のうちの少なくとも１つを含む、コンピュータノードが提供される。
【００８６】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、コンピュータノードが提供される。
【００８７】
本開示主題のある特定の実施例によれば、その上さらに、記憶関連リソースが、少なくとも２つの場所の間で分散している、コンピュータノードが提供される。
【００８８】
本開示主題のある特定の実施例によれば、その上さらに、構成が、記憶システムリソースをオーバーコミットすることを含む、コンピュータノードが提供される。
【００８９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、構成の判定の失敗に応答して、ユーザに、失敗通知、または構成の計算の成功を可能にするであろう、少なくとも１つの追加の記憶関連リソースの追加を示す推奨を提供するように構成される、コンピュータノードが提供される。
【００９０】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードを動作させる方法が提供され、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の記憶関連リソースを備え、本方法は、
少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受けることと、少なくとも、少なくとも１つのＳＬＳおよび記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算することと、
計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることと、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受けることと、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算することと、計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることとを含む。
【００９１】
本開示主題のある特定の実施例によれば、その上さらに、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードが、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャ層が、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成される、更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算することと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることとをさらに含む、方法が提供される。
【００９２】
本開示主題のある特定の実施例によれば、その上さらに、構成を計算することが、最適化エンジンによって行われる、方法が提供される。
【００９３】
本開示主題のある特定の実施例によれば、その上さらに、最適化エンジンが、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、方法が提供される。
【００９４】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、方法が提供される。
【００９５】
本開示主題のある特定の実施例によれば、その上さらに、記憶要件が、場所、ローカル保護レベル、バックアップ保持ポリシー、遠隔保護レベル、性能レベル、暗号化レベル、重複排除、圧縮、記憶方法のうちの少なくとも１つを含む、方法が提供される。
【００９６】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、方法が提供される。
【００９７】
本開示主題のある特定の実施例によれば、その上さらに、記憶関連リソースが、少なくとも２つの場所の間で分散している、方法が提供される。
【００９８】
本開示主題のある特定の実施例によれば、その上さらに、構成が、記憶システムリソースをオーバーコミットすることを含む、方法が提供される。
【００９９】
本開示主題のある特定の実施例によれば、その上さらに、構成の判定の失敗に応答して、ユーザに、失敗通知、または構成の計算の成功を可能にするであろう、少なくとも１つの追加のリソースの追加を示す推奨を提供することをさらに含む、方法が提供される。
【０１００】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層を備える、分散記憶システムが提供され、相互接続コンピュータノードのうちの各１つは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳ、および記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付け、分散記憶システムの動的挙動に関する動的挙動パラメータデータを受け、少なくとも１つのＳＬＳが違反されたときに、少なくとも、少なくとも１つのＳＬＳ、記憶関連リソースパラメータデータ、および動的挙動パラメータデータに基づいて、分散記憶システムの再構成を計算し、かつ計算された再構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される。
【０１０１】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、ＳＬＳの少なくとも１つのユーザ定義された記憶要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、グレードは、該当する場合、それぞれのコンピュータノードに接続される１つ以上の記憶関連リソースに関するパラメータデータにも基づいて計算されることと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることと、更新されたインフラストラクチャ層の少なくとも１つの追加された相互接続コンピュータノードについて以後のタスクの割り当てのグレードを計算し、更新されたインフラストラクチャ層は、少なくとも１つの追加の相互接続コンピュータノードをそれに追加することに応じて作成されることと、計算されたグレードに基づいて、以後のタスクの割り当てのうちの１つ以上を実行するか、または以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される、分散記憶システムが提供される。
【０１０２】
本開示主題のある特定の実施例によれば、その上さらに、構成が最適化エンジンによって計算される、分散記憶システムが提供される。
【０１０３】
本開示主題のある特定の実施例によれば、その上さらに、最適化が、線形計画法、焼き鈍し法、遺伝的アルゴリズム等の最適化技法のうちの１つ以上を使用する、分散記憶システムが提供される。
【０１０４】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の最適化技法が、ヒューリスティックスまたは近似値を使用する、分散記憶システムが提供される。
【０１０５】
本開示主題のある特定の実施例によれば、その上さらに、記憶要件が、場所、ローカル保護レベル、バックアップ保持ポリシー、遠隔保護レベル、性能レベル、暗号化レベル、重複排除、圧縮、記憶方法のうちの少なくとも１つを含む、分散記憶システムが提供される。
【０１０６】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上の記憶関連リソースが、キャッシュリソース、データ記憶リソース、およびネットワークリソースの記憶関連リソースカテゴリの少なくとも１つの記憶関連リソースを含む、分散記憶システムが提供される。
【０１０７】
本開示主題のある特定の実施例によれば、その上さらに、記憶関連リソースが、少なくとも２つの場所の間で分散している、分散記憶システムが提供される。
【０１０８】
本開示主題のある特定の実施例によれば、その上さらに、構成が、記憶システムリソースをオーバーコミットすることを含む、分散記憶システムが提供される。
【０１０９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、構成の判定の失敗に応答して、ユーザに、失敗通知、または構成の計算の成功を可能にするであろう、少なくとも１つの追加の記憶関連リソースの追加を示す推奨を提供するように構成される、分散記憶システムが提供される。
【０１１０】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層を備える、分散記憶システムが提供され、相互接続コンピュータノードのうちの各１つは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳ、および記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される。
【０１１１】
本開示主題の態様によれば、その上さらに、分散記憶システムのインフラストラクチャ層に接続されるように構成されるコンピュータノードが提供され、インフラストラクチャ層は、相互接続コンピュータノードを含み、コンピュータノードは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、ＵＤＳＰエージェントは、
少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受け、少なくとも、少なくとも１つのＳＬＳ、および記憶関連リソースパラメータデータに基づいて、分散記憶システムの構成を計算し、
かつ計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けるように構成される。
【０１１２】
本開示主題の態様によれば、その上さらに、分散記憶システムのインフラストラクチャ層に接続されるように構成されるコンピュータノードを動作させる方法が提供され、インフラストラクチャ層は、相互接続コンピュータノードを含み、本方法は、少なくとも１つの論理的記憶エンティティを参照するユーザ定義された記憶要件と、相互接続コンピュータノードに接続された１つ以上の記憶関連リソースに関する記憶関連リソースパラメータデータと、を備える、少なくとも１つのサービスレベル仕様（ＳＬＳ）を受けることと、少なくとも、少なくとも１つのＳＬＳ、および記憶関連リソースパラメータデータに基づいて、記憶システムの構成を計算することと、計算された構成に従って、記憶関連リソースのうちの１つの少なくとも一部を自動的に割り付けることとを含む。
【０１１３】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層を備える、分散記憶システムが提供され、コンピュータノードのうちの各１つは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、相互接続コンピュータノードのうちの少なくとも１つは、１つ以上の他の記憶関連リソースを備え、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、相互接続コンピュータノードのうちの少なくとも１つについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算し、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをインフラストラクチャ層のより好適なコンピュータノードにルートすることを行うように構成される。
【０１１４】
本開示主題の態様によれば、その上さらに、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備える、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードが提供され、ＵＤＳＰエージェントは、少なくとも１つの割り当てを含むタスクを受けることと、インフラストラクチャ層に接続され、かつ１つ以上の記憶関連リソースを備える、少なくとも１つの他のコンピュータノードについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算することと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることを行うように構成される。
【０１１５】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードを動作させる方法が提供され、本方法は、
少なくとも１つの割り当てを含むタスクを受けることと、インフラストラクチャ層に接続され、かつ１つ以上の記憶関連リソースを備える、少なくとも１つの他のコンピュータノードについて割り当てのうちの少なくとも１つのグレードを、各グレードが、少なくとも１つのサービスレベル仕様（ＳＬＳ）要件を満たしながら、割り当てのうちのそれぞれの割り当てを実行する相互接続コンピュータノードのうちのそれぞれのコンピュータノードの適合性を示すように計算することと、計算されたグレードに基づいて、割り当てのうちの１つ以上を実行するか、またはタスクをより好適なコンピュータノードにルートすることとを含む。
【０１１６】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを備える、分散記憶システムが提供され、コンピュータノードのうちの各１つは、統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースを備え、コンピュータノードのうちの少なくとも１つは、オブジェクトをキャッシュするように構成され、かつ対応するキャッシュ関連パラメータを有する、少なくとも１つのキャッシュリソースを含む、１つ以上のリソースを備え、少なくとも１つのキャッシュリソースを有するそれぞれのコンピュータノードの少なくとも１つのＵＤＳＰエージェントは、キャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、それぞれのコンピュータノードに接続された少なくとも１つのキャッシュリソースのキャッシュ関連パラメータを監視し、少なくとも１つの第１のＳＬＳ基準が満たされない場合、少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュ関連パラメータは、少なくとも１つの第２のＳＬＳ基準を満たす。
【０１１７】
本開示主題のある特定の実施例によれば、その上さらに、少なくとも１つのキャッシュリソースを有する、それぞれのコンピュータノードの各ＵＤＳＰエージェントはさらに、キャッシュ関連パラメータが、対応するキャッシュリソースの利用不足を示す少なくとも１つの第３のＳＬＳ基準を満たすことを監視し、少なくとも１つの第３のＳＬＳ基準を満たす場合、少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュ関連パラメータは、少なくとも１つの第２のＳＬＳ基準を満たす、分散記憶システムが提供される。
【０１１８】
本開示主題のある特定の実施例によれば、その上さらに、第１のコンピュータノードのＵＤＳＰデータリポジトリが、第２のコンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含むように、第１のコンピュータノードが、それぞれのＵＤＳＰデータリポジトリを有し、第１のコンピュータノードのＵＤＳＰエージェントは、それぞれの第２のコンピュータノードのキャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの第２のコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、キャッシュ関連パラメータを監視し、少なくとも１つの第１のＳＬＳ基準が満たされない場合、第１のコンピュータノードのＵＤＳＰデータリポジトリから抽出されるような、それぞれの第２のコンピュータノードのキャッシュ関連パラメータのうちの少なくとも１つを含む、それぞれの第２のコンピュータノードへのメッセージを開始し、それにより、第１のコンピュータノードから受け取られたキャッシュ関連パラメータが、第２のコンピュータノードのキャッシュ関連パラメータよりも好ましいかどうかを、それぞれの第２のコンピュータノードが判定することを可能にするように構成される、分散記憶システムが提供される。
【０１１９】
本開示主題のある特定の実施例によれば、その上さらに、第１のコンピュータノードが、それに接続された少なくとも１つのキャッシュリソースを有する、分散記憶システムが提供される。
【０１２０】
本開示主題のある特定の実施例によれば、その上さらに、第１のコンピュータノードのＵＤＳＰデータリポジトリが、第１のコンピュータノードのキャッシュリソースに対応するセルフキャッシュ関連パラメータについてのデータも含む、分散記憶システムが提供される。
【０１２１】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供するように構成される、分散記憶システムが提供される。
【０１２２】
本開示主題のある特定の実施例によれば、その上さらに、ゲートウェイリソースまたはクライアントサーバのＵＤＳＰデータリポジトリが、コンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含むように、ゲートウェイリソースまたはクライアントサーバは、それぞれのＵＤＳＰデータリポジトリを有し、ゲートウェイリソースまたはクライアントサーバのＵＤＳＰエージェントはさらに、それぞれのコンピュータノードのキャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つのコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、キャッシュ関連パラメータを監視し、少なくとも１つの第１のＳＬＳ基準が満たされない場合、ゲートウェイリソースまたはクライアントサーバのＵＤＳＰデータリポジトリから抽出されるような、それぞれのコンピュータノードのキャッシュ関連パラメータのうちの少なくとも１つを含む、それぞれのコンピュータノードへのメッセージを開始し、それにより、ゲートウェイリソースまたはクライアントサーバから受け取られたキャッシュ関連パラメータが、コンピュータノードのキャッシュ関連パラメータよりも好ましいかどうかを、それぞれのコンピュータノードが判定することを可能にするように構成される、分散記憶システムが提供される。
【０１２３】
本開示主題のある特定の実施例によれば、その上さらに、それぞれのコンピュータノードのＵＤＳＰエージェントはさらに、１つ以上のオブジェクト空間の少なくとも一部の新しい場所を示す、ハンドオフ後キャッシュマッピングを作成し、ハンドオフ後キャッシュマッピングを、他のコンピュータノードに、および該当する場合、１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる１つ以上のクライアントサーバに送り、かつ１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を他のコンピュータノードに譲渡するように構成される、分散記憶システムが提供される。
【０１２４】
本開示主題のある特定の実施例によれば、その上さらに、それぞれのコンピュータノードのＵＤＳＰエージェントはさらに、ハンドオフ中に、ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受け、オブジェクトが、ハンドオフ後キャッシュマッピングに従って、それぞれのコンピュータノードによって所有されず、それぞれのコンピュータノードが、オブジェクトの所有権を持たない場合、要求を他のコンピュータノードに伝えるように構成される、分散記憶システムが提供される。
【０１２５】
本開示主題の態様によれば、その上さらに、相互接続コンピュータノードを含む、インフラストラクチャ層に接続されるように構成されるコンピュータノードが提供され、コンピュータノードは、オブジェクトをキャッシュするように構成され、かつ対応するキャッシュ関連パラメータを有する、少なくとも１つのキャッシュリソースと、
統一分散記憶プラットフォーム（ＵＤＳＰ）エージェントを実行するように構成される、少なくとも１つの処理リソースとを備え、ＵＤＳＰエージェントは、キャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、コンピュータノードに接続された少なくとも１つのキャッシュリソースのキャッシュ関連パラメータを監視し、少なくとも１つの第１のＳＬＳ基準が満たされない場合、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュ関連パラメータは、少なくとも１つの第２のＳＬＳ基準を満たす。
【０１２６】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、キャッシュ関連パラメータが、対応するキャッシュリソースの利用不足を示す、少なくとも１つの第３のＳＬＳ基準を満たすことを監視し、少なくとも１つの第３のＳＬＳ基準を満たす場合、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始するように構成され、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュされたパラメータは、少なくとも１つの第２のＳＬＳ基準を満たす、コンピュータノードが提供される。
【０１２７】
本開示主題のある特定の実施例によれば、その上さらに、コンピュータノードが提供され、コンピュータノードはさらに、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースに対応するキャッシュ関連パラメータについてのデータを含む、ＵＤＳＰデータリポジトリを備え、ＵＤＳＰエージェントはさらに、それぞれの他のコンピュータノードのキャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、キャッシュ関連パラメータを監視し、少なくとも１つの第１のＳＬＳ基準が満たされない場合、ＵＤＳＰデータリポジトリから抽出されるような、それぞれの他のコンピュータノードのキャッシュ関連パラメータのうちの少なくとも１つを含む、それぞれの他のコンピュータノードへのメッセージを開始し、それにより、コンピュータノードから受け取られたキャッシュ関連パラメータが、他のコンピュータノードのキャッシュ関連パラメータよりも好ましいかどうかを、それぞれの他のコンピュータノードが判定することを可能にするように構成される。
【０１２８】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰデータリポジトリは、コンピュータノードのキャッシュリソースに対応するセルフキャッシュ関連パラメータについてのデータも含む、コンピュータノードが提供される。
【０１２９】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供するように構成される、コンピュータノードが提供される。
【０１３０】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、１つ以上のキャッシュオブジェクト空間の少なくとも一部の新しい場所を示す、ハンドオフ後キャッシュマッピングを作成し、ハンドオフ後キャッシュマッピングを、他のコンピュータノードに、および該当する場合、１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる１つ以上のクライアントサーバに送り、かつ１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を他のコンピュータノードに譲渡するように構成される、コンピュータノードが提供される。
【０１３１】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰエージェントはさらに、ハンドオフ中に、ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受け、オブジェクトが、ハンドオフ後キャッシュマッピングに従って、それぞれのコンピュータノードによって所有されず、それぞれのコンピュータノードが、オブジェクトの所有権を持たない場合、要求を他のコンピュータノードに伝えるように構成される、コンピュータノードが提供される。
【０１３２】
本開示主題の態様によれば、その上さらに、それに接続された少なくとも１つのキャッシュリソースを有し、かつ相互接続コンピュータノードを含むインフラストラクチャ層に接続されるように構成される、コンピュータノードを動作させる方法が提供され、本方法は、キャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、対応するキャッシュ関連パラメータを有し、かつオブジェクトをキャッシュするように構成される、少なくとも１つのキャッシュリソースのキャッシュ関連パラメータを監視することと、少なくとも１つの第１のＳＬＳ基準が満たされない場合、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始することとを含み、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュ関連パラメータは、少なくとも１つの第２のＳＬＳ基準を満たす。
【０１３３】
本開示主題のある特定の実施例によれば、その上さらに、キャッシュ関連パラメータが、対応するキャッシュリソースの利用不足を示す、少なくとも１つの第３のＳＬＳ基準を満たすことを監視することと、少なくとも１つの第３のＳＬＳ基準を満たす場合、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードへの少なくとも１つのキャッシュリソースの１つ以上のキャッシュオブジェクト空間の少なくとも一部のハンドオフを開始することとを含む、方法が提供され、１つ以上のキャッシュオブジェクト空間の少なくとも一部を受けた後、そのキャッシュ関連パラメータは、少なくとも１つの第２のＳＬＳ基準を満たす。
【０１３４】
本開示主題のある特定の実施例によれば、その上さらに、コンピュータノードがさらに、相互接続コンピュータノードのうちの少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースに対応する、キャッシュ関連パラメータについてのデータを含む、ＵＤＳＰデータリポジトリを備える、方法が提供され、本方法はさらに、それぞれの他のコンピュータノードのキャッシュ関連パラメータが少なくとも１つの第１のＳＬＳ基準を満たすかどうかを判定するために、少なくとも１つの他のコンピュータノードの１つ以上のキャッシュリソースについて、そのＵＤＳＰデータリポジトリから抽出されたデータに従って、キャッシュ関連パラメータを監視することと、少なくとも１つの第１のＳＬＳ基準が満たされない場合、ＵＤＳＰデータリポジトリから抽出されるような、それぞれの他のコンピュータノードのキャッシュ関連パラメータのうちの少なくとも１つを含む、それぞれの他のコンピュータノードへのメッセージを開始し、それにより、コンピュータノードから受け取られたキャッシュ関連パラメータが、他のコンピュータノードのキャッシュ関連パラメータよりも好ましいかどうかを、それぞれの他のコンピュータノードが判定することを可能にすることとを含む。
【０１３５】
本開示主題のある特定の実施例によれば、その上さらに、ＵＤＳＰデータリポジトリが、コンピュータノードのキャッシュリソースに対応するセルフキャッシュ関連パラメータについてのデータも含む、方法が提供される。
【０１３６】
本開示主題のある特定の実施例によれば、その上さらに、ハンドオフの開始の失敗に応答して、ユーザに、失敗通知、またはハンドオフの開始の成功を可能にする、少なくとも１つの追加のキャッシュリソースの追加を示す推奨を提供することをさらに含む、方法が提供される。
【０１３７】
本開示主題のある特定の実施例によれば、その上さらに、１つ以上のキャッシュオブジェクト空間の少なくとも一部の新しい場所を示す、ハンドオフ後キャッシュマッピングを作成することと、ハンドオフ後キャッシュマッピングを、他のコンピュータノードに、および該当する場合、１つ以上のキャッシュオブジェクト空間の少なくとも一部と関連付けられる１つ以上のクライアントサーバに送ることと、
１つ以上のキャッシュオブジェクト空間の少なくとも一部の所有権を他のコンピュータノードに譲渡することとをさらに含む、方法が提供される。
【０１３８】
本開示主題のある特定の実施例によれば、その上さらに、ハンドオフ中に、ハンドオフ後キャッシュマッピング内のオブジェクトに関する要求を受けることと、オブジェクトが、ハンドオフ後キャッシュマッピングに従って、それぞれのコンピュータノードによって所有されず、それぞれのコンピュータノードが、オブジェクトの所有権を持たない場合、要求を他のコンピュータノードに伝えることとをさらに含む、方法が提供される。
【図面の簡単な説明】
【０１３９】
本開示主題を理解し、それが実践で実行され得る方法を確認するために、以下、添付図面を参照して、非限定的実施例のみとして、本主題が説明される。
【図１】本発明の例示的実施形態による、インフラストラクチャ層を含む、分散記憶システムの最上位アーキテクチャを概略的に図示する。
【図２】本開示主題による、分散記憶システムを構成するための簡略化した例となるシステムを概略的に図示する。
【図３】本開示主題による、目的ベースの管理システムによって行われる最適化プロセスの簡略化した例となるフロー図を概略的に図示する。
【図４】本開示主題による、目的ベースの管理システムによって行われる構成プロセスの例となる動作アルゴリズムの簡略化したフロー図を概略的に図示する。
【図５】本開示主題のある特定の実施例による、分散記憶システムに接続された例となるコンピュータノードを概略的に図示するブロック図である。
【図６】本開示主題のある特定の実施例による、タスクを作成するために実行される一連の動作を図示する、フローチャートである。
【図７】本開示主題のある特定の実施例による、例となる記憶ブロック書込タスクを作成するために実行される一連の動作を図示する、フローチャートである。
【図８】本開示主題のある特定の実施例による、ＵＤＳＰエージェントによって受け取られたタスクを管理するために実行される一連の動作を図示する、フローチャートである。
【図９】本開示主題のある特定の実施例による、保留中のタスク割り当てを実行するノードの適合性にグレードを付けるために実行される一連の動作を図示する、フローチャートである。
【図１０】本開示主題のある特定の実施例による、コンピュータノード上で保留中の割り当てを実行するために実行される一連の動作を図示する、フローチャートである。
【図１１】本開示主題のある特定の実施例による、分散記憶システム（ＤＳＳ）の再構成を管理するために実行される一連の動作を図示する、フローチャートである。
【図１２】本開示主題のある特定の実施例による、コンピュータノードおよびそれに接続されたリソースのローカルパラメータを監視するために実行される一連の動作を図示する、フローチャートである。
【図１３】本開示主題のある特定の実施例による、コンピュータノードに接続されたリソースを検出および管理するために実行される一連の動作を図示する、フローチャートである。
【図１４】本開示主題のある特定の実施例による、新しいコンピュータノードを分散記憶システム（ＤＳＳ）に接続するために実行される一連の動作を図示する、フローチャートである。
【図１５】本開示主題のある特定の実施例による、遠隔コンピュータノードから通知を受け、それに従って統一分散記憶プラットフォーム（ＵＤＳＰ）データリポジトリを更新するために実行される一連の動作を図示する、フローチャートである。
【図１６】本開示主題のある特定の実施例による、キャッシュ管理モジュールを概略的に図示するブロック図である。
【図１７】本開示主題のある特定の実施例による、コンピュータノードのローカルキャッシュリソースを管理するために実行される一連の動作を図示する、フローチャートである。
【図１８】本開示主題のある特定の実施例による、遠隔コンピュータノードの遠隔キャッシュリソースを管理するために実行される一連の動作を図示する、フローチャートである。
【図１９】本発明の例示的実施形態による、キャッシュリソースを分散させることの種々のシナリオを概略的に図示する。
【図２０】本開示主題のある特定の実施例による、ハンドオフイニシエータによってキャッシュハンドオフを行うために実行される一連の動作を図示する、フローチャートである。
【図２１】本開示主題のある特定の実施例による、ハンドオフ標的によってキャッシュハンドオフを行うために実行される一連の動作を図示する、フローチャートである。
【図２２】本開示主題のある特定の実施例による、ハンドオフ中にハンドオフイニシエータによって受け取られるオブジェクト関連要求を処理するために実行される一連の動作を図示する、フローチャートである。
【図２３】本開示主題のある特定の実施例による、ハンドオフ中にハンドオフ標的によって受け取られるオブジェクト関連要求を処理するために実行される一連の動作を図示する、フローチャートである。
【発明を実施するための形態】
【０１４０】
記載される図面および説明では、同一の参照数字は、異なる実施形態または構成に共通する構成要素を示す。
【０１４１】
特に記述がない限り、以下の考察から明白であるように、本明細書の全体を通して、「受ける」、「計算する」、「実行する」、「ルートする」、「監視する」、「伝搬する」、「割り付ける」、「提供する」、等の用語を用いる考察は、データを他のデータに操作および／または変換するコンピュータのアクションおよび／またはプロセスを含み、該データは、電子量等の物理量として表され、および／または該データは、物理的な物体を表すことが理解される。「コンピュータ」という用語は、非限定的例として、パーソナルコンピュータ、サーバ、コンピュータシステム、通信デバイス、プロセッサ（例えば、デジタル信号プロセッサ（ＤＳＰ）、マイクロコントローラ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、任意の他の電子コンピュータデバイス、および／またはそれらの任意の組み合わせを含む、データ処理能力を伴う任意の種類の電子デバイスを対象とすると広範囲に解釈されるべきである。
【０１４２】
本明細書の教示による動作は、所望の目的のために特別に構築されたコンピュータによって、またはコンピュータ可読記憶媒体に記憶されたコンピュータプログラムによる所望の目的のために特別に構成された汎用コンピュータによって行われてもよい。
【０１４３】
本明細書で使用されるように、「例えば（ｆｏｒ  ｅｘａｍｐｌｅ）」、「等の」、「例えば（ｆｏｒ  ｉｎｓｔａｎｃｅ）」、およびそれらの変形といった表現は、本開示主題の非限定的実施形態を表す。本明細書での「１つの場合」、「いくつかの場合」、「他の場合」、またはそれらの変形という言及は、実施形態と関連して説明される特定の特徴、構造、または特性が、本開示主題の少なくとも１つの実施形態に含まれることを意味する。したがって、「１つの場合」、「いくつかの場合」、「他の場合」、またはそれらの変形といった表現の出現は、必ずしも同じ実施形態を指すわけではない。
【０１４４】
明確にするために、別個の実施形態との関連で説明される、本開示主題のある特徴はまた、単一の実施形態と組み合わせて提供されてもよいことが理解される。逆に、簡潔にするために、単一の実施形態との関連で説明される、本開示主題の種々の特徴はまた、別々に、または任意の好適な副次的組み合わせで提供されてもよい。
【０１４５】
本開示主題の実施形態では、図３、４、６〜１８および２０〜２３に示されるものよりも少ない、多い、および／または異なる段階が実行されてもよい。本開示主題の実施形態では、図３、４、６〜１８および２０〜２３で図示される１つ以上の段階が、異なる順序で実行されてもよく、および／または段階の１つ以上のグループが、同時に実行されてもよい。図１、２、５、および１９は、本開示の実施形態によるシステムアーキテクチャの概略図を図示する。図１、２、５、および１９の各モジュールは、本明細書で定義および説明されるような機能を果たす、ソフトウェア、ハードウェア、および／またはファームウェアの任意の組み合わせで構成することができる。図１、２、５、および１９のモジュールは、１つの場所に集中させられ、または１つよりも多くの場所にわたって分散させられてもよい。本開示主題の他の実施形態では、本システムは、図１、２、５、および１９に示されるものよりも少ない、多い、および／または異なるモジュールを備えてもよい。
【０１４６】
これを念頭に置いて、本発明の例示的実施形態による、インフラストラクチャ層を含む、分散記憶システムの最上位アーキテクチャを概略的に図示する、図１に注目する。本開示主題の実施例によれば、分散記憶システム（ＤＳＳ）２００は、インフラストラクチャ層２０１、統一分散記憶プラットフォーム（ＵＤＳＰ）層２０２、およびＡＰＩ／フレームワーク層２０３等の層のうちの１つ以上を備えることができる。
【０１４７】
本開示主題のいくつかの実施例によれば、インフラストラクチャ層２０１は、１つ以上の相互接続コンピュータノード２０５（例えば、とりわけ、１つ以上の処理ユニット等の１つ以上の処理リソース、メモリ等の１つ以上のメモリリソース、および１つ以上のネットワークインターフェースを含む、任意のタイプのコンピュータ）、および場合によっては、２つ以上の相互接続コンピュータノード２０５を含むことができ、それについてのより詳細な説明は、とりわけ図５を参照して本明細書で提供される。インフラストラクチャ層２０１はさらに、以下の記憶関連リソースのうちの１つ以上を含むことができる：（ａ）データ記憶リソース（例えば、データ記憶デバイス２０４、ＲＡＩＤ（独立ディスク冗長アレイ）２０６、ＤＡＳ（ダイレクトアタッチトストレージ）２０８、ＪＢＯＤ（単なるディスクの束）２１０、ネットワーク記憶アプライアンス２０７（例えば、ＳＡＮ、ＮＡＳ等）、ＳＳＤ２１３等）、（ｂ）揮発性および／または不揮発性である、メモリリソース（例えば、ＲＡＭ、ＤＲＡＭ等）等のキャッシュリソース２１２、および／または場合によっては、加えて、または代替として、キャッシュリソースとして使用することができるデータ記憶リソース（例えば、ＳＳＤ２１３））等、（ｃ）ネットワークリソース２１４、および（ｄ）さらなる機能性をＤＳＳ２００に提供し、および／またはその性能を強化する追加のリソース（圧縮アクセラレータ、暗号化アクセラレータ２０９、ＳＡＮリソースとの通信を可能にするホストバスアダプタ（ＨＢＡ）等）。
【０１４８】
場合によっては、リソースは、１つよりも多くの同じタイプのデバイス、および／または１つよりも多くの異なるタイプのデバイスを含むことができる。リソースのうちのいくつかのさらに詳細な説明が、本明細書で以下に続く。
【０１４９】
本開示主題のいくつかの実施例によれば、コンピュータノード２０５は、ネットワーク（例えば、汎用ネットワーク）によって相互接続することができる。
【０１５０】
場合によっては、インフラストラクチャ層２０１のリソースのうちの１つ以上を、１つ以上のコンピュータノードに２０５直接接続することができる。場合によっては、インフラストラクチャ層２０１のリソースのうちの１つ以上は、コンピュータノード２０５内で構成され、その一部を形成することができる。場合によっては、インフラストラクチャ層２０１のリソースのうちの１つ以上を、ネットワーク（例えば、汎用ネットワーク）によって、コンピュータノード２０５のうちの１つ以上に（例えば、ｉＳＣＳＩ２２２等の論理接続によって）接続することができる。
【０１５１】
随意に、ネットワークは、汎用ネットワークであり得る。随意に、ネットワークは、ＷＡＮを含むことができる。随意に、ＷＡＮは、例えば、インターネット等のグローバルＷＡＮであり得る。随意に、ネットワークリソースは、ＩＰネットワークインフラストラクチャを使用して相互接続することができる。随意に、ネットワークは、記憶領域ネットワーク（ＳＡＮ）であり得る。随意に、ネットワークは、記憶の仮想化を含むことができる。随意に、ネットワークは、ＬＡＮを含むことができる。随意に、ネットワークインフラストラクチャは、イーサネット(登録商標)（Ｅｔｈｅｒｎｅｔ(登録商標)）、インフィニバンド（Ｉｎｆｉｎｉｂａｎｄ）、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ；ファイバチャネル）２１７、ＦＣｏＥ（ファイバチャネルオーバーイーサネット(登録商標)；Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ(登録商標)）等、または２つ以上のネットワークインフラストラクチャの任意の組み合わせを含むことができる。随意に、ネットワークは、汎用ネットワークおよび／または記憶ネットワークを含む、当技術分野で公知の任意の種類のネットワークであり得る。随意に、ネットワークは、本明細書でさらに詳述されるように、ネットワーク内でリソースを割り付けて管理するための目的ベースの管理システムを適用するために好適な任意のネットワークであり得る。随意に、ネットワークは、いずれか２つ以上のネットワークタイプ（とりわけ、本明細書で開示されるネットワークタイプを含む）の組み合わせであり得る。
【０１５２】
本開示主題のいくつかの実施例によれば、インフラストラクチャ層２０１の少なくとも１つのリソース（とりわけ、コンピュータノード２０５、データ記憶リソース、キャッシュリソース、ネットワークリソース、コンピュータノード２０５に接続される追加のリソース、または任意の他のリソースを含む）は、ネットワークおよび／または１つ以上のコンピュータノード２０５に接続された、既製商品の意図的に構築されていないリソースであり得る。そのようなリソースは、例えば、製造業者、サイズ、計算能力、容量等のリソース特性に関わらず、本明細書で詳述されるように相互接続できることに留意されたい。したがって、その製造業者に関わらず、コンピュータノード２０５と通信することができる、任意のリソース（とりわけ、コンピュータノード２０５を含む）を、本明細書でさらに詳述されるように、インフラストラクチャ層２０１に接続し、ＤＳＳ２００によって利用することができる。場合によっては、任意の数のリソース（とりわけ、コンピュータノード２０５を含む）を、ネットワークおよび／または１つ以上のコンピュータノード２０５に接続し、ＤＳＳ２００によって利用することができ、したがって、ＤＳＳ２００の拡張性を可能にする。場合によっては、任意の数のコンピュータノード２０５をネットワークに接続することができ、任意の数のリソースを１つ以上のコンピュータノード２０５に接続し、ＤＳＳ２００によって利用することができ、したがって、ＤＳＳ２００の拡張性を可能にする。新しいリソース（とりわけ、コンピュータノード２０５を含む）をＤＳＳ２００に接続するプロセスに関するより詳細な説明が、とりわけ図５を参照して、本明細書でさらに詳述されることに留意されたい。
【０１５３】
ＵＤＳＰ層２０２を参照すると、本開示主題のいくつかの実施例によれば、それは、コンピュータノード２０５のうちの１つ以上にインストールする（または別様に関連付ける、あるいは内側で構成する）ことができる、１つ以上のＵＤＳＰエージェント２２０を含むことができる。場合によっては、ＵＤＳＰエージェント２２０は、コンピュータノード２０５のうちのそれぞれにインストールする（または別様に関連付ける）ことができる。場合によっては、ＵＤＳＰエージェント２２０は、加えて、ゲートウェイリソース２１６（とりわけ、本明細書でさらに詳述されるようなプロトコル変換器の役割を果たすことができる）のうちの１つ以上に、および場合によっては、ゲートウェイリソース２１６のうちのそれぞれにインストールする（または別様に関連付ける）ことができる。場合によっては、ＵＤＳＰエージェント２２０は、加えて、クライアントサーバ２１８（例えば、クライアントとしてＤＳＳ２００に接続されるサーバおよび／または他のデバイス）のうちの１つ以上に、および場合によっては、クライアントサーバ２１８のうちのそれぞれにインストールする（または別様に関連付ける）ことができる。場合によっては、クライアントサーバ２１８は、随意的であるいずれのゲートウェイリソース２１６も必要とすることなく、ＤＳＳ２００と直接相互作用できることに留意されたい。さらに、場合によっては、そのインストール場所またはその関連性に従って、ＵＤＳＰエージェント２２０の差異（例えば、その機能性および／またはその能力の差異等）があり得る（例えば、コンピュータノード２０５にインストールされた、または関連付けられたＵＤＳＰエージェント２２０、ゲートウェイリソース２１６にインストールされた、または関連付けられたＵＤＳＰエージェント２２０、クライアントサーバ２１８にインストールされた、または関連付けられたＵＤＳＰエージェント２２０等の間の差異があり得る）ことに留意されたい。
【０１５４】
とりわけ図５を参照して、ＵＤＳＰエージェント２２０の詳細な説明が本明細書で提供されることに留意されたい。それでもやはり、本開示主題のいくつかの実施例によれば、ＵＤＳＰエージェント２２０は、ＤＳＳ２００の種々の動作（とりわけ、インフラストラクチャ層２０１のリソースを自動的に割り付けて管理すること、データ経路動作を処理すること等）を制御および管理するように構成できることに留意されたい。場合によっては、ＵＤＳＰエージェント２２０は、ＤＳＳ２００のインフラストラクチャ層２０１への新しいコンピュータノード２０５の接続を管理するように構成することができる。場合によっては、ＵＤＳＰエージェント２２０は、それらがインストールされるコンピュータノード２０５に接続されたリソースを検出するように、かつそのようなリソースを管理するように構成することができる。上記で示されるように、とりわけ図５を参照して、ＵＤＳＰエージェント２２０のより詳細な説明が本明細書で提供される。
【０１５５】
場合によっては、ＵＤＳＰ層２０２は、ＤＳＳ２００用の管理システムを含む、ＵＤＳＰ２２５を含むことができる。随意に、管理システム処理を、インフラストラクチャ層２０１内のコンピュータノード２０５にインストールされた１つ以上のＵＤＳＰエージェント２２０を通して、またはゲートウェイリソース２１６に、あるいは（例えば、直接、および／またはゲートウェイリソース２１６を通して）ＤＳＳ２００へのアクセスを伴うクライアントサーバ２１８にインストールされた１つ以上のＵＤＳＰエージェント２２０を通して、またはそれらの任意の組み合わせで、実装することができる。
【０１５６】
管理システムは、ユーザが、サービスレベル仕様（ＳＬＳ）と関連付けることができる新しい論理記憶エンティティ（論理ユニット、オブジェクト記憶部、ファイルシステムインスタンス等）を作成すること（場合によっては、各論理的記憶エンティティが単一のＳＬＳと関連付けられる）、論理記憶エンティティを更新すること、論理的記憶エンティティのアクセス許可をゲートウェイリソース２１６に、および／またはクライアントサーバ２１８に付与すること、スナップショットを作成すること、バックアップを作成すること、遠隔サイトへのフェイルオーバー、一次サイトへのフェイルバック、ＤＳＳ２００の動的挙動を監視すること、ＳＬＳコンプライアンスを監視すること、種々の（例えば、事前定義および／またはユーザ定義された等）レポート（例えば、性能レポート、リソース可用性レポート、在庫レポート、コンピュータノード２０５と他のリソースとの間の関係を示す関係レポート、傾向レポート、主要業績評価指標を含む種々のパラメータの予測レポート等）の生成、ＤＳＳ２００の異なる範囲を参照すること（例えば、ＤＳＳ２００全体の分解能では、あるサイト、あるＳＬＳ用等のある使用のタイプ、あるリソース等）、ＤＳＳ２００によって提供される種々の警告（故障したハードウェアの警告等）を管理すること等の、ＤＳＳ２００に関する種々の管理タスク（とりわけ、監視および報告タスク）を行うことを可能にすることができる。上記の管理タスクは、非限定的実施例のみとして提供されることに留意されたい。場合によっては、本明細書でさらに詳述されるように、論理的記憶エンティティは、ＳＬＳに従ってＤＳＳ２００によって自動的に作成できることに留意されたい。論理的記憶エンティティのうちのそれぞれは、１つ以上のデータ記憶リソースと関連付けることができることに留意されたい。
【０１５７】
本明細書の全体を通して、ユーザが言及されるとき、これは、システム管理者等の人間のオペレータ、または任意のタイプの補助エンティティを指すことができることに留意されたい。補助エンティティは、例えば、いずれの人間の介入も必要としない補助エンティティ等を含む、外部管理システム等の外部アプリケーションを指すことができる。
【０１５８】
場合によっては、管理システムは、ユーザがＤＳＳ２００に満たすように要求する種々の要件を特定する、サービスレベル仕様（ＳＬＳ）を定義する、ユーザ定義された記憶要件を、ユーザがＤＳＳ２００に提供することを可能にすることができる。場合によっては、ＳＬＳは、論理的記憶エンティティと関連付けることができる。随意に、ＳＬＳは、例えば、データが記憶および／または処理される１つ以上の地理的な場所の仕様、可用性、保持、復旧パラメータ（例えば、ＲＰＯ−目標復旧点、ＲＴＯ−目標復旧時間）を定義するローカル保護レベル、どれだけ長く情報が保持されるべきかを定義するバックアップ保持ポリシー、種々の障害シナリオ下で特定された可用性、保持、および復旧目標を達成するために、１つ以上の遠隔の地理的な場所を定義する、障害復旧（ＤＲ）の遠隔保護レベル、ローカルおよび／または遠隔の複製ポリシー、ＩＯＰＳ（毎秒の入力／出力動作）、応答時間、およびスループット等の測定基準を使用して定義される（随意にコミットされた）性能レベル、暗号化要件、重複排除要件、圧縮要件、記憶方法（物理的容量、シン容量／プロビジョニング）等の情報を含むことができる。
【０１５９】
場合によっては、管理システムは、種々のサービスレベルグループ（ＳＬＧ）の管理（作成、更新、および削除を含む）を可能にすることができる。ＳＬＧは、複数の論理的記憶エンティティの間で共有することができるテンプレートＳＬＳである。ＳＬＧは、部分ＳＬＳ（増強を必要とする）であり得る、および／またはオーバーライドすることができる設定を含有することができる。したがって、例えば、ＳＬＧは、それぞれがＳＬＳパラメータを追加する、および／またはオーバーライドすることができる、種々のＳＬＳによって受け継ぐことができる、種々の復旧パラメータのみを定義することができる。
【０１６０】
本開示主題のいくつかの実施例によれば、ＵＤＳＰ２２５は、リソースを割り付け、ＤＳＳ２００の中でリソースを管理するための自動管理システムを含むことができる。随意に、自動管理システムは、とりわけ図２および図５に関して本明細書でさらに詳述されるように、とりわけ、１つ以上のサービスレベル仕様（ＳＬＳ）によって定義される、ユーザ定義された要件、コンピュータノード２０５および／またはそれに接続されたリソースに関する種々のパラメータのデータ、ＤＳＳ２００またはその部品を指す種々のパラメータのデータ（例えば、最大許容サイトレベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）、ならびにＤＳＳ２００および環境（例えば、クライアントサーバ２１８、ゲートウェイリソース２１６等）の動的挙動を指す種々のパラメータのデータのうちのいずれか１つ、またはそれらの任意の組み合わせに基づいて、ネットワーク内でリソースを割り付けて管理するように構成することができる、目的ベースの管理システム（ＯＢＭＳ）１００である。随意に、ＯＢＭＳ１００処理は、インフラストラクチャ層２０１内のコンピュータノード２０５のうちの１つ以上にインストールされた１つ以上のＵＤＳＰエージェント２２０を通して、またはゲートウェイリソース２１６に、あるいは（例えば、直接、および／またはゲートウェイリソース２１６を通して）ＤＳＳ２００へのアクセスを伴うクライアントサーバ２１８にインストールされた１つ以上のＵＤＳＰエージェント２２０を通して、実装することができる。
【０１６１】
本開示主題のいくつかの実施例によれば、ＡＰＩ／フレームワーク層２０３は、ＤＳＳ２００へのソフトウェア拡張（プラグイン）の追加を促進する、プラグイン層を含む。そのようなプラグインは、例えば、プロセスをデータに適用する、新しい機能性および特徴をＤＳＳ２００に導入する、ＤＳＳ２００を特定のアプリケーションとインターフェース接続し、アプリケーション特有のタスク（例えば、記憶関連タスク等）を実装する、種々のリソース特有のドライバを実装する、（例えば、プラグイン機能性および／または目標に関して）新しいＳＬＳパラメータおよび／または１つ／複数のパラメータグループを導入する、管理機能を実装するため等に利用することができる。場合によっては、プラグイン層はまた、種々のハードウェア構成要素（例えば、暗号化カード等）と関連付けられるドライバを含むこともできる。
【０１６２】
場合によっては、プラグインは、１つ以上のＵＤＳＰエージェント２２０上で展開することができる。場合によっては、プラグインは、例えば、プラグイン仕様に従って（例えば、ソフトウェア暗号化プラグインを任意のＵＤＳＰエージェント２２０にインストールすることができる）、コンピュータノード２０５に、および／またはゲートウェイリソース２１６に、および／またはＵＤＳＰエージェント２２０がインストールされるクライアントサーバ２１８に接続された種々のリソースに従って（例えば、ハードウェアアクセラレータプラグインを、そのようなハードウェアアクセラレータと関連付けられるコンピュータノード２０５と関連付けられる、各ＵＤＳＰエージェント２２０上で自動的に展開することができる）、自動管理システム（例えば、ＯＢＭＳ１００）の決定に従って、またはシステム管理者の選択に従って等、１つ以上のＵＤＳＰエージェント２２０上で展開することができる。場合によっては、プラグインは、自動管理システム（例えば、ＯＢＭＳ１００）によって、および／またはコンピュータノード２０５によって、自動的に展開することができる。随意に、例えば、ソフトウェア拡張は、例えば、ＤＳＳ２００上に記憶されたデータの重複排除を可能にするデータ重複排除プラグイン、例えば、ＤＳＳ２００上に記憶されたデータの暗号化／復号を可能にするデータ暗号化プラグイン、例えば、ＤＳＳ２００上に記憶されたデータの圧縮／復元を可能にするデータ圧縮プラグイン等の、データ処理プラグイン２２６を含むことができる。随意に、例えば、ソフトウェア拡張は、例えば、ＤＳＳ２００上に記憶されたデータのインデックス作成を可能にするコンテンツインデキシングプラグイン、ＤＳＳ２００上に記憶されたデータのスナップショットの管理を可能にするスナップショット管理プラグイン、例えば、ＤＳＳ２００上に記憶されたデータの階層化を可能にする階層化管理プラグイン、例えば、障害復旧に関係するプロセス、ポリシー、およびプロシージャの管理を可能にする障害復旧プラグイン、例えば、ＤＳＳ２００上に記憶されたデータの連続またはリアルタイムバックアップを可能にする連続データ保護プラグイン等の記憶機能プラグイン２２８を含むことができる。随意に、例えば、ソフトウェア拡張は、例えば、クエリ処理を加速するデータベースプラグイン、例えば、種々のＤＳＳ２００管理タスク、ならびにユーザ、クライアントサーバ２１８、およびＤＳＳ２００に接続された他のエンティティとの他の相互作用の実施を可能にする管理プラグイン２３３、および他の好適なアプリケーションプラグイン等のアプリケーションプラグイン２３０を含むことができる。
【０１６３】
本明細書で示されるように、場合によっては、プラグインは、（例えば、プラグイン機能性および／または目標に関して）新しいＳＬＳパラメータおよび／またはパラメータグループを導入することができる。そのような場合、プラグインの機能に従って、それぞれのＳＬＳパラメータおよび／またはパラメータグループをＤＳＳ２００に導入することができる。そのような導入されたＳＬＳパラメータは、例えば、ユーザによって、および／または自動管理システム（例えば、ＯＢＭＳ１００）によって自動的に等、プラグイン関連要件を設定するために使用することができる。
【０１６４】
場合によっては、ソフトウェア拡張は、コンピュータノード２０５のうちの１つの上に記憶するか、または１つよりも多くのコンピュータノード２０５の上に分散させることができる。場合によっては、ソフトウェア拡張は、１つ以上のコンピュータノード２０５に接続された１つ以上のデータ記憶リソースの上に記憶することができる。場合によっては、ソフトウェア拡張は、ＵＤＳＰエージェント２２０によって共有することができる、仮想ソフトウェア拡張ライブラリの中に記憶することができる。
【０１６５】
場合によっては、ソフトウェア拡張は、自動的に、および／または手動で（例えば、システム管理者によって）管理することができる。そのような管理は、時として、管理プラグイン２３３を利用することによって実施することができる。そのような場合、管理プラグイン２３３は、ソフトウェア拡張のＤＳＳ２００への追加／からの除去、種々のソフトウェア拡張の１つ以上のＵＤＳＰエージェント２２０への追加／からの除去等を可能にすることができる。
【０１６６】
ＤＳＳ２００の最上位アーキテクチャの説明の後に、目的ベースの管理システム（ＯＢＭＳ）１００によって行うことができるＤＳＳ２００構成プロセスの詳細な説明が本明細書で提供される。この目的で、本開示主題による、分散記憶システム２００を構成するための簡略化した例となるシステムを概略的に図示する、図２にここで注目する。この目的で、ＯＢＭＳ１００は、とりわけ、インフラストラクチャ層２０１の中でリソースを自動的に割り付けて管理するように構成することができる。ＯＢＭＳ１００は、入力モジュール１０２と、１つ以上のプロセッサ１０４と、出力モジュール１０６とを含むことができる。
【０１６７】
場合によっては、入力モジュール１０２は、入力データを受けるように構成することができる。そのような入力データは、とりわけ、１つ以上のサービスレベル仕様（ＳＬＳ）によって定義される、ユーザ定義された記憶要件、１つ以上の論理的記憶エンティティの定義、コンピュータノード２０５および／またはそれに接続されたリソース（記憶関連リソースデータとも呼ばれる、記憶関連リソースを含む）に関する種々のパラメータのデータ、ＤＳＳ２００またはその部品を指す種々のパラメータのデータ（例えば、最大許容サイトレベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）、ならびにＤＳＳ２００および環境（例えば、クライアントサーバ２１８、ゲートウェイリソース２１６等）の動的挙動（動的挙動パラメータデータ）を指す種々のパラメータのデータ等のうちのいずれか１つ、またはそれらの任意の組み合わせを含むことができる。
【０１６８】
場合によっては、ユーザ定義された要件は、１人以上のユーザがＤＳＳ２００および／または１つ以上の論理的記憶エンティティに満たすように要求する種々の要件を特定する、１つ以上のサービスレベル仕様（ＳＬＳ）を定義することができる。
【０１６９】
場合によっては、ＤＳＳ２００および環境の動的挙動に関する種々のパラメータのデータ（動的挙動パラメータデータ）は、ＤＳＳ２００構成要素（コンピュータノード２０５およびそれに接続されたリソースを含む）のうちの１つ以上の現在の状態を示す、種々のパラメータデータを含むことができる。そのようなデータは、１つ以上のコンピュータノード２０５、１つ以上のゲートウェイリソース２１６、１つ以上のクライアントサーバ２１８等に関するデータを含む、リソースのうちの１つ以上に関する、存在および／または負荷および／または可用性および／または故障および／または能力および／または応答時間および／または接続性および／または費用（例えば、ネットワークリンク、異なるタイプのデータ記憶リソースの費用）のデータ、および／または任意の他のデータを含むことができる。場合によっては、そのようなデータは、とりわけ、種々の統計データを含むことができる。
【０１７０】
場合によっては、コンピュータノード２０５および／またはそれに接続されたリソース（記憶関連リソースデータとも呼ばれる、記憶関連リソースを含む）に関する種々のパラメータのデータは、例えば、以下等の、記憶関連リソースを含むハードウェアリソースを含む、ＤＳＳ２００のリソースを示す種々のパラメータのデータを含むことができる。
ａ．（例えば、そのハードドライブのうちのそれぞれに対する）データ記憶リソースに関するパラメータ：
１．ハードドライブカテゴリパラメータ（例えば、ハードドライブサイズ、インターフェース（例えば、ＳＡＳ、ＳＡＴＡ、ＦＣ、Ｕｌｔｒａ−ＳＣＳＩ等）、キャッシュサイズ、特殊な特徴（例えば、オンドライブ暗号化等）等）
２．ハードドライブ性能パラメータ（例えば、応答時間、平均待ち時間、ランダムシーク時間、データ転送速度等）
３．ハードドライブ電力消費
４．ハードドライブ信頼性パラメータ（例えば、平均故障間隔（ＭＴＢＦ）、年間故障率（ＡＦＲ）等）
ｂ．コンピュータノード２０５パラメータ：
１．ＣＰＵおよびＣＰＵあたりのコアの数
２．周波数、Ｌ２およびＬ３キャッシュサイズ等の各ＣＰＵおよび／またはコアの性能パラメータ
３．アーキテクチャ（例えば、ＣＰＵおよび／またはコアが６４ビット計算をサポートするか、それがリトルエンディアンまたはビッグエンディアンであるか）
４．ある命令セットのサポート（例えば、ＡＥＳ−ＮＩ、ＡＥＳ暗号化を加速するための新しい命令セット）
５．利用可能なハードドライブスロットの数
６．利用可能な記憶インターフェース（ＳＡＴＡ、ＳＡＳ等）
７．メモリの最大量
８．サポートされたメモリ構成
ｃ．キャッシュリソースパラメータ：
１．キャッシュリソースタイプ（例えば、ＤＲＡＭ、ＳＳＤ）、サイズ、および性能
２．キャッシュされた記憶空間がローカルまたは遠隔にあるか
３．ＮＵＭＡパラメータ
ｄ．ゲートウェイリソースパラメータ
１．ＣＰＵおよびＣＰＵあたりのコアの数
２．周波数、Ｌ２およびＬ３キャッシュサイズ等の各ＣＰＵおよび／またはコアの性能パラメータ
３．アーキテクチャ（例えば、ＣＰＵおよび／またはコアが６４ビット計算をサポートするか、それがリトルエンディアンまたはビッグエンディアンであるか）
４．ある命令セットのサポート（例えば、ＡＥＳ−ＮＩ、ＡＥＳ暗号化を加速するための新しい命令セット）
５．エンクロージャの中で利用可能なハードドライブスロットの数
６．利用可能な記憶インターフェース（ＳＡＴＡ、ＳＡＳ等）
７．メモリの最大量
８．サポートされたメモリ構成
９．ゲートウェイに関するネットワーキングパラメータ（ポートの数、各ポートの速度およびタイプ等）
ｅ．ネットワークリソースパラメータ：
１．切替およびルーティング能力
２．ネットワークタイプ
３．セキュリティパラメータ
【０１７１】
これらは実施例にすぎず、追加のおよび／または代替の種々のパラメータを使用できることに留意されたい。
【０１７２】
場合によっては、ＤＳＳ２００および環境の動的挙動に関するデータ（動的挙動パラメータデータ）は、例えば、以下等の、ハードウェアリソースを含む、ＤＳＳ２００のリソースを示す種々のパラメータのデータを含むことができる。
ａ．（例えば、そのハードドライブのうちのそれぞれに対する）データ記憶リソースに関するパラメータ：
１．ハードドライブ空き容量
２．ハードドライブのＳ．Ｍ．Ａ．Ｒ．Ｔ．パラメータ
３．ハードドライブの電力状態（オフにされている、回転段階にある、準備ができている等）
４．ハードドライブ上の最近および現在の負荷
５．既存の割り付けおよび保留
ｂ．コンピュータノード２０５パラメータ：
１．各コアに対する最近および現在の負荷統計
２．既存の割り付けおよび保留
３．メモリの現在の量
ｃ．キャッシュリソースパラメータ：
１．利用可能なサイズ
２．キャッシュの占有レベル
３．最近および現在のスワッピング／ページフォールト統計
４．既存の割り付けおよび保留
ｄ．ゲートウェイリソースパラメータ：
１．最近および現在のネットワーク接続統計
２．最近および現在のノード負荷統計
３．最近および現在の待ち時間統計
４．（ゲートウェイによってＤＳＳの中へルートされるコマンドの）最近および現在のルーティング費用統計
５．既存の割り付けおよび保留
ｅ．ネットワークリソースパラメータ：
１．ネットワークセグメントの最近および現在の負荷
２．ネットワークセグメントの最近および現在の信頼性および品質パラメータ
３．既存の割り付けおよび保留
【０１７３】
これらは実施例にすぎず、追加のおよび／または代替的な種々のパラメータを使用できることに留意されたい。
【０１７４】
場合によっては、入力モジュール１０２は、入力データを１つ以上のプロセッサ１０４に転送するように構成することができる。示されるように、ＯＢＭＳ１００処理は、（例えば、とりわけ図５を参照して、本明細書でさらに詳述されるように、目的ベースの構成モジュール３８０を利用しながら）１つ以上のＵＤＳＰエージェント２２０を通して、例えば、インフラストラクチャ層２０１内のコンピュータノード２０５のうちの１つ以上にインストールされたＵＤＳＰエージェント２２０を通して、またはゲートウェイリソース２１６にインストールされたＵＤＳＰエージェント２２０を通して、または（例えば、直接、またはゲートウェイリソース２１６を通して）ＤＳＳ２００へのアクセスを伴うクライアントサーバ２１８にインストールされたＵＤＳＰエージェント２２０を通して、またはそれらの任意の組み合わせで、実装することができる。そのような場合、１つ以上のプロセッサ１０４は、そのようなＵＤＳＰエージェント２２０と関連付けられた１つ以上の処理リソース（例えば、処理ユニット）であり得る（例えば、処理がコンピュータノード２０５にインストールされたＵＤＳＰエージェント２２０を通して実装される場合には、プロセッサがそのコンピュータノード２０５の処理ユニットであり得る等）。例えば、並列および／または分散処理の場合に、１つよりも多くの処理リソース（例えば、処理ユニット）を使用できることに留意されたい。
【０１７５】
１つ以上のプロセッサ１０４は、入力モジュール１０２から入力データを受けるように、かつとりわけそれらが影響を及ぼすエンティティ（そのようなＳＬＳと関連付けられる論理的記憶エンティティ等）に関して、ＤＳＳ２００の１人以上のユーザによって提供されるユーザ定義された記憶要件（例えば、ＳＬＳ）の全てを満たす構成要件を決定するために、入力データに基づいて最適化プロセスを行うように構成することができる。最適化プロセスおよび判定された構成要件のより詳細な説明が、とりわけ図３に関して本明細書で提供される。
【０１７６】
構成要件は、場合によっては、現在のＤＳＳ２００リソースが決定された構成要件を満たすために十分であるかどうかを判定することができる、出力モジュール１０６に転送することができる。したがって、出力モジュール１０６は、構成要件をシステムによって満たすことができる場合、リソースの割り付け、保留、コミット、またはオーバーコミット（例えば、インフラストラクチャ層２０１内で利用可能な実際のリソースよりも多くのリソースを事実上割り付けること）、あるいは、リソースを追加することおよび／またはプラグインを追加することを含み得る、ユーザによって作用される改良推奨、および／またはシステムが構成要件を満たすことを可能にするための任意の他の推奨を発行することを含む、ソリューション駆動型アクションを行うように構成することができる。そのような改良推奨は、例えば、１つ以上のリソースを追加する、１つ以上のプラグインを追加またはアップグレードする、追加のおよび／または異なる場所（ローカルおよび／または遠隔）にわたってインフラストラクチャを広げる推奨等を発行することを含むことができる。
【０１７７】
場合によっては、初めてＤＳＳ２００および／または１つ以上の論理的記憶エンティティを展開するときに、および／またはＤＳＳ２００および／または１つ以上の論理的記憶エンティティに適用された１つ以上の変更（例えば、事前定義された変更）（例えば、ＤＳＳ２００へのコンピュータノード２０５、キャッシュリソース、データ記憶リソース、ネットワークリソース、プラグイン、または任意の他のリソース等のリソースの追加／除去、１つ以上のユーザ定義された記憶要件の変更等）後に、および／または（とりわけ図５および図１１に関して、以下でさらに詳述されるように）ＤＳＳ２００の動的挙動に従って等、構成プロセスまたはその部分を開始できることに留意されたい。加えて、または代替として、構成プロセスまたはその部分は、半連続的に（例えば、所定の時間間隔等で）開始することができる。加えて、または代替として、構成プロセスまたはその部分は、連続的に行うことができる。
【０１７８】
さらに、図２を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０１７９】
ここで、本開示主題による、目的ベースの管理システムによって行われる最適化プロセスの簡略化した例となるフロー図を概略的に図示する、図３に注目されたい。場合によっては、１つ以上のプロセッサ１０４は、（例えば、入力モジュール１０２から）入力データを受け、場合によっては、受け取られた入力データを、最適化エンジンによる処理に好適な形式に（例えば、最適化問題表現に）変換するように構成することができる（ブロック１１２）。
【０１８０】
１つ以上のプロセッサ１０４と関連付けられる最適化エンジンは、（とりわけ図２を参照して、本明細書でさらに詳述されるように）入力データによって定義されるような要件を満たす必要構成に到達するよう、元のおよび／または変換された入力データに基づいて最適化プロセスを行うように構成することができる（ブロック１１４）。いくつかの場合では、最適化プロセスに、それが見出した第１の有効ソリューションを返信するように命令できる一方で、他の場合では、最適化プロセスに、一式の計算された有効ソリューションの中から最適ソリューションを検索するように命令できることに留意されたい。随意に、最適化プロセスで使用される最適化技法は、線形計画法、焼き鈍し法、遺伝的アルゴリズム、または当技術分野で公知である任意の他の好適な最適化技法のうちのいずれか１つ、またはそれらの任意の組み合わせを含むことができる。随意に、最適化技法は、ヒューリスティックスまたは近似値を利用することができる。随意に、部分的および／または非最新情報に基づいて、最適化決定を行うことができる。
【０１８１】
場合によっては、最適化エンジンの出力は、１つ以上のプロセッサ１０４によって、最適化ソリューション表現から構成要件表現に変換することができる（ブロック１１６）。
【０１８２】
場合によっては、構成要件は、例えば、下記のうちのいずれか１つ、またはそれらの任意の組み合わせとして、１つ以上のプロセッサ１０４によって出力される：場所要件（例えば、少なくとも１つの追加のサイトの可用性、１つ／複数の追加のサイト内のある記憶空間の可用性、サイト間の最大待ち時間、例えば、障害復旧目的でのサイト間の最短地理的距離等）、キャッシュリソース要件（例えば、必要キャッシュサイズ、必要キャッシュタイプ、必要キャッシュ場所、必要キャッシュ性能パラメータ等）、ゲートウェイリソース要件（例えば、必要ファイバチャネル帯域幅、必要処理性能パラメータ等）、ネットワークリソース要件（例えば、必要ネットワーク帯域幅、必要ネットワークタイプ等）、コンピューティングリソース要件（例えば、コンピュータノード処理性能パラメータ、ＣＰＵコアのコンピュータノードの数等）、データ記憶リソース要件（例えば、必要記憶空間、必要記憶装置タイプ等）、追加のリソース要件（例えば、必要圧縮性能、必要暗号化性能等）、プラグイン要件（例えば、必要データベースプラグイン等）、環境要件（例えば、必要物理的セキュリティレベル等）等（ブロック１１７）。
【０１８３】
図３を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０１８４】
図４を参照すると、本開示主題による、目的ベースの管理システムによって行われる構成プロセスの例となる動作アルゴリズムの簡略化したフロー図の概略図が示されている。場合によっては、上で示されるように、入力モジュール１０２は、入力データを受け、データを１つ以上のプロセッサ１０４に転送することができる（ブロック１１０）。上でさらに示されるように、１つ以上のプロセッサ１０４は、場合によっては、最適化エンジンによって、入力データを処理に好適な形式に（例えば、最適化問題表現に）変換することができる（ブロック１１２）。
【０１８５】
１つ以上のプロセッサ１０４と関連付けられる最適化エンジンは、（とりわけ図２を参照して、本明細書でさらに詳述されるように）入力データによって定義されるような要件を満たす必要構成に到達するよう、元のおよび／または変換された入力データに基づいて最適化プロセスを行うように構成することができる（ブロック１１４）。場合によっては、最適化エンジンの出力は、１つ以上のプロセッサ１０４によって、最適化ソリューション表現から構成要件表現に変換することができる（ブロック１１６）。
【０１８６】
場合によっては、出力モジュールは、ＤＳＳ２００が必要構成を満たすことができるかどうかを判定するために、必要構成を、ＤＳＳ２００リソース（例えば、コンピュータノード２０５、記憶関連リソース等）および／または環境の実際のデータと比較することができる（ブロック１１８）。場合によっては、実際のＤＳＳ２００リソースは、現在利用可能であるＤＳＳ２００リソースの部分を指すことができることに留意されたい。実際のＤＳＳ２００リソースおよび／または環境が必要構成を満たすことができる場合、必要構成に従って、リソースを保留する、および／または割り付けるように、ＯＢＭＳ１００を構成することができる（ブロック１２６）。場合によっては、ＯＢＭＳ１００は、ＤＳＳ２００構成を設定する、および／または任意の誘発された展開アクションを行うように構成することができる（ブロック１２８）。場合によっては、設定および／または展開アクションは、とりわけ、ＳＬＳと関連付けられる、新しい論理的記憶エンティティ（論理ユニット、オブジェクト記憶部、ファイルシステムインスタンス等）を自動的に作成することを含むことができる。場合によっては、各論理的記憶エンティティは、単一のＳＬＳと関連付けられる。
【０１８７】
記憶装置構成を設定すること、および／または任意の誘発された展開アクションを行うことの一部として、関連設定および／または展開アクション要求を、ＵＤＳＰエージェント２０５に送ることができ、場合によっては、そのような要求は、要求された設定および／または展開アクションに関連する記憶関連リソースと関連付けられる、ＵＤＳＰエージェント２０５に送られる。場合によっては、そのような要求を受けるＵＤＳＰエージェント２０５は、とりわけ図５に関して、以下でさらに詳述されるように、ＤＳＳ２００によって使用されるように要求された設定および／または展開に関して、それと関連付けられるデータリポジトリを更新するように構成することができる。場合によっては、展開後に、ＤＳＳ２００を展開するプロセスが無事に終了する（ブロック１３０）。
【０１８８】
実際のＤＳＳ２００リソースおよび／または環境が必要構成を満たすことができない場合、失敗通知および／または必要インフラストラクチャ構成の実装を可能にするためにユーザによって講じられる是正アクションに関する推奨をユーザに提供する、メッセージをユーザ（例えば、システム管理者）に送るように、ＯＢＭＳ１００を構成することができる（ブロック１２０）。随意に、アクションは、構成の計算の成功を可能にするであろう、インフラストラクチャリソースを追加することを含むことができる。随意に、アクションは、関連プラグインを追加することを含むことができる。随意に、アクションは、追加のおよび／または代替的な場所にわたってインフラストラクチャリソースを広げることを含むことができる。本明細書で開示される推奨は実施例にすぎず、加えて、または代替として、他の推奨をユーザに発行できることに留意されたい。場合によっては、ＯＢＭＳ１００は、随意に、ある間隔／遅延後に、必要インフラストラクチャ構成が再評価されるべきか否かに関する決定を行うように構成することができる（ブロック１２２）。もし再評価されるべきであれば、ＯＢＭＳ１００は、ブロック１１２に戻るように構成することができる。随意に、出力モジュール１０６は、随意に、連続モードに設定された場合、ある間隔／遅延後に、自動的に１１２へ進む。随意に、再試行するか否かの決定は、再試行命令のユーザ入力に基づく。もしそうでなければ、ＤＳＳ２００を展開するプロセスは失敗している。場合によっては、ＯＢＭＳ１００は、失敗を報告するように構成することができる。
【０１８９】
図４を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０１９０】
ここで、本開示主題のある特定の実施例による、分散記憶システムに接続された例となるコンピュータノードを概略的に図示する、ブロック図が示される、図５に注目する。
【０１９１】
本開示主題のいくつかの実施例によれば、コンピュータノード２０５は、１つ以上の処理リソース３１０を備えることができる。１つ以上の処理リソース３１０は、処理ユニット、マイクロプロセッサ、マイクロコントローラ、あるいは関連コンピュータノード２０５リソースおよび／またはコンピュータノード２０５に接続された記憶関連リソースを制御するため、かつコンピュータノード２０５リソースおよび／またはコンピュータノード２０５に接続された記憶関連リソースに関する動作を可能にするために、独立して、または協働してデータを処理するように適合される、複数および／または並列および／または分散処理ユニットを含む、任意の他のコンピュータデバイスまたはモジュールであり得る。
【０１９２】
コンピュータノード２０５はさらに、コンピュータノード２０５が、とりわけ、他のコンピュータノードおよび／またはＤＳＳ２００に接続された他のリソースと通信することを可能にするために、１つ以上のネットワークインターフェース３２０（例えば、ネットワークインターフェースカード、または任意の他の好適なデバイス）を備えることができる。
【０１９３】
本開示主題のいくつかの実施例によれば、コンピュータノード２０５は、とりわけ、ＳＬＳを定義する種々のユーザ定義された記憶要件のデータ、および／または各ＳＬＳと関連付けられる論理的記憶エンティティのデータ、および／またはコンピュータノード２０５および／またはそれに接続されたリソースに関する種々のパラメータのデータ、および／またはＤＳＳ２００またはその部品を指す種々のパラメータに関するデータ、および／またはＤＳＳ２００および環境（例えば、クライアントサーバ２１８、ゲートウェイリソース２１６等）の動的挙動に関するデータ、および／またはＤＳＳ２００設定および／または展開に関するデータ、および／または任意の他のデータを含む、データを記憶するように構成される、ＵＤＳＰデータリポジトリ３３０と関連付けることができる。場合によっては、ＵＤＳＰデータリポジトリ３３０はさらに、記憶されたデータの読み出し、更新、および削除を可能にするように構成することができる。場合によっては、ＵＤＳＰデータリポジトリ３３０は、コンピュータノード２０５上、コンピュータノード２０５に接続された記憶関連リソース（例えば、データ記憶リソース、キャッシュリソース、または任意の他の好適なリソース）上、クライアントサーバ２１８上、ゲートウェイリソース２１６上、または任意の他の好適な場所でローカルに位置できることに留意されたい。場合によっては、ＵＤＳＰデータリポジトリ３３０は、２つ以上の場所の間で分散させることができる。場合によっては、ＵＤＳＰデータリポジトリ３３０は、加えて、または代替として、ＤＳＳ２００内の１つ以上の論理的記憶エンティティの上に記憶することができる。場合によっては、加えて、または代替として、ＵＤＳＰデータリポジトリ３３０は、複数のコンピュータノードの間で共有することができる。
【０１９４】
本開示主題のいくつかの実施例によれば、コンピュータノード２０５はさらに、例えば、１つ以上の処理リソース３１０によって実行することができる、ＵＤＳＰエージェント２２０を備えることができる。上記で示されるように、ＵＤＳＰエージェント２２０は、とりわけ、コンピュータノード２０５および／またはＤＳＳ２００の種々の動作を制御して管理するように構成することができる。ＵＤＳＰエージェント２２０は、タスク管理モジュール３３５、マルチキャストモジュール３４０、タスク作成モジュール３４５、実行モジュール３５０、ローカルパラメータ監視モジュール３６０、遠隔ノードパラメータ監視モジュール３７０、クラウドプラグアンドプレイモジュール３８０、リソース検出および管理モジュール３８５、目的ベースの構成モジュール３９０、キャッシュ管理モジュール３９７、および目的ベースのルーティングモジュール３９５等の、モジュールのうちの１つ以上を備えることができる。
【０１９５】
本開示主題のいくつかの実施例によれば、タスク管理モジュール３３５は、とりわけ図８に関してさらに詳述されるように、データ経路動作（例えば、読取／書込動作）等の受け取られたタスクを管理するように構成することができる。
【０１９６】
マルチキャストモジュール３４０は、（例えば、ユニキャスト／マルチキャスト／リキャスト伝送によって）種々の通知を種々のＵＤＳＰエージェント２２０（例えば、他のコンピュータノードにインストールされたＵＤＳＰエージェント、ゲートウェイリソース２１６、クライアントサーバ２１８等）に伝搬するように構成することができる。そのような通知は、例えば、リソース状態変化の通知、新しいリソースの追加の通知、リソースの切断の通知、ローカルパラメータの変化の通知等を含むことができる。加えて、マルチキャストモジュール３４０は、種々のＵＤＳＰエージェント２２０とＤＳＳ２００の他のエンティティならびに外部エンティティ（外部管理システム等）との間で、任意のプロトコルを処理するように構成することができる。
【０１９７】
タスク作成モジュール３４５は、とりわけ図８および９に関してさらに詳述されるように、ＤＳＳ２００の中で実行するための新しいタスクを作成するように構成することができる。
【０１９８】
実行モジュール３５０は、とりわけ図１０に関してさらに詳述されるように、受け取られたタスクと関連付けられる１つ以上の割り当てをローカルで実行するように構成することができる。
【０１９９】
ローカルパラメータ監視モジュール３６０は、とりわけ図１２に関してさらに詳述されるように、コンピュータノード２０５および／またはそれに接続された任意のリソースの動的挙動を示すパラメータ等の、種々のローカルパラメータを監視し、（例えば、マルチキャストモジュール３４０を利用しながら）１つ以上のローカルパラメータへの変更を示す通知を伝搬するように構成することができる。場合によっては、ローカルパラメータは、監視が行われる特定のコンピュータノード２０５（あるいは必要な変更を加えて、ゲートウェイリソース２１６またはクライアントサーバ２１８）および／またはそれに接続されたリソースに関するパラメータであることに留意されたい。
【０２００】
遠隔ノードパラメータ監視モジュール３７０は、とりわけ図１５に関してさらに詳述されるように、１つ以上の遠隔コンピュータノード２０５および／またはそれに接続されたリソースの１つ以上のパラメータの変化を示す通知を受け、それに従ってＵＤＳＰデータリポジトリ３３０を更新するように構成することができる。場合によっては、遠隔ノードパラメータ監視モジュール３７０は、別のコンピュータノード２０５に（例えば、他のコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０に）登録して、そこから選択的通知を受けるように構成することができる。場合によっては、遠隔ノードパラメータ監視モジュール３７０は、独立して、および／または活発に、任意の必要情報について、遠隔コンピュータノード２０５にクエリを行うように構成できることに留意されたい。
【０２０１】
クラウドプラグアンドプレイモジュール３８０は、とりわけ図１４に関してさらに詳述されるように、ＤＳＳ２００へのコンピュータノード２０５の自律および／または自動接続を可能にするように構成することができる。
【０２０２】
リソース検出および管理モジュール３８５は、とりわけ図１３に関してさらに詳述されるように、コンピュータノード２０５に接続されたリソースを検出して管理するように構成することができる。
【０２０３】
目的ベースの構成モジュール３９０は、とりわけ図２〜４および１１に関してさらに詳述されるように、ＤＳＳ２００を構成および／または再構成するように構成することができる。
【０２０４】
目的ベースのルーティングモジュール３９５は、とりわけ図６および８に関してさらに詳述されるように、受け取られたタスクをコンピュータノード２０５にルートするように構成することができる。
【０２０５】
キャッシュ管理モジュール３９７は、とりわけ図１６〜２２に関してさらに詳述されるように、とりわけ、キャッシュリソースに関するパラメータを監視するように、およびコンピュータノードに接続されたキャッシュリソースを管理するように（とりわけ、キャッシュハンドオフを行うことを含む）構成することができる。
【０２０６】
１つ以上の処理リソース３１０は、ＵＤＳＰエージェント２２０およびその中で構成されるモジュールのうちのいずれをも実行するように構成できることに留意されたい。
【０２０７】
本開示主題のいくつかの実施例によれば、ＵＤＳＰエージェント２２０モジュールのうちのいくつかまたは全てを、組み合わせて単一のモジュールとして提供でき、または一例として、それらのうちの少なくとも１つを、２つ以上のモジュールの形態で実現できることに留意されたい。さらに、場合によっては、ＵＤＳＰエージェント２２０は、加えて、または代替として、１つ以上のゲートウェイリソース２１６および／またはクライアントサーバ２１８等にインストールできることに留意されたい。そのような場合、ＵＤＳＰエージェント２２０の部分的または修正バージョンを、１つ以上のゲートウェイリソース２１６および／またはクライアントサーバ２１８等にインストールするか、またはそれによって使用することができる。
【０２０８】
ここで図６を参照すると、本開示主題のある特定の実施例による、タスクを作成するために実行される一連の動作を図示する、フローチャートが示されている。ＤＳＳ２００によって受け取られる、要求された動作（例えば、読取／書込動作、管理動作等）を実行するために、タスクを生成することができる。場合によっては、タスクは、要求された動作の一部として実行される、１つ以上の割り当てのリストを備えることができる。
【０２０９】
場合によっては、タスク作成モジュール３４５は、タスク作成プロセス５００を行うことができる。この目的で、場合によっては、タスク作成モジュール３４５は、例えば、クライアントサーバ２１８、ゲートウェイリソース２１６、コンピュータノード２０５、または任意の他のソースから発信する、要求された動作を受けることができる（ブロック５１０）。受け取られた要求された動作は、動作のタイプ（例えば、読取、書込、管理等）を示すデータ、および／または要求された動作に関する任意の他のデータ（例えば、書込要求では、動作が行われる関連論理的記憶エンティティ、書き込まれるブロック等を示すデータ）を含むことができる。
【０２１０】
タスク作成モジュール３４５は、タスクコンテナを作成するように構成することができる（ブロック５２０）。タスクコンテナは、とりわけ、要求された動作発信元（例えば、そのネットワーク識別子）を示すデータ、動作が行われる関連論理的記憶エンティティを示すデータ、動作特有のデータ（例えば、ブロック書込動作の場合、書き込むブロック）、および空の割当リストのうちの１つ以上を備えることができる。
【０２１１】
場合によっては、例えば、要求が論理的記憶エンティティと関連付けられるときに、タスク作成モジュール３４５は、論理的記憶エンティティと関連付けられるＳＬＳを取り出し、ＳＬＳに従って行われる１つ以上の割り当てを作成する（例えば、ＳＬＳが、データが暗号化されることを要求する場合、暗号化割り当てを自動的に作成することができる等）ように構成することができる（ブロック５３０）。
【０２１２】
タスク作成プロセス５００は、コンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０のタスク作成モジュール３４５によって行うことができることに留意されたい。しかしながら、加えて、および／または代替として、タスク作成プロセス５００は、クライアントサーバ２１８および／またはゲートウェイリソース２１６、あるいはタスク作成モジュール３４５を有する任意の他のソースと関連付けられる、ＵＤＳＰエージェント２２０のタスク作成モジュール３４５によって行うことができる。したがって、場合によっては、コンピュータノード２０５は、例えば、クライアントサーバ２１８および／またはゲートウェイリソース２１６等によってすでに作成されている１つ以上のタスクを受けることができる。
【０２１３】
図６を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２１４】
タスク作成のプロセスをより良く理解するために、本開示主題のある特定の実施例による、例となる記憶ブロック書込タスクを作成するために実行される一連の動作を図示する、フローチャートを示す、図７に注目する。本明細書で提供される実施例では、タスク作成モジュール３４５は、ＤＳＳ２００に書き込まれるブロックデータ、およびブロックが書き込まれる関連論理的記憶エンティティを示すデータを受けることができる（ブロック６０５）。
【０２１５】
場合によっては、タスク作成モジュール３４５は、新しいタスクコンテナを作成するように構成することができる。タスクコンテナは、とりわけ、動作が起源とした発信元（例えば、そのネットワーク識別子）を示すデータ、ブロックが書き込まれる関連論理的記憶エンティティを示すデータ、論理的記憶エンティティに書き込まれる記憶ブロックデータ、および空の割当リストを備えることができる（ブロック６１０）。
【０２１６】
場合によっては、各タスクには、生成番号を割り当てることができる。そのような生成番号は、対立を解決し、故障シナリオに対処するために、種々のプラグインおよびリソースによって使用することができる、一意的な順次（または任意の他の順序の値）識別子であり得る。例えば、第１のタスク（ＦＴ）が第２の対立するタスク（ＳＴ）の前に発行され、ＳＴが最初に処理するために受け取られると仮定することができる。そのような場合、実行モジュール３５０は、ＦＴの生成番号がＳＴの生成番号よりも早いかどうかをチェックするように構成することができ、そのような場合、実行モジュール３５０は、ＳＴに従って以前に更新されたデータを上書きしないように構成することができる。
【０２１７】
タスク作成モジュール３４５はまた、動作が行われる論理的記憶エンティティと関連付けられるＳＬＳを取り出し（ブロック６１５）、それに従って、タスクと関連付けられる割り当てリストに関連割り当てを導入するように構成することもできる。したがって、タスク作成モジュール３４５は、ＳＬＳに従って圧縮が必要とされるかどうかをチェックするように構成することができ（ブロック６２０）、もしそうであれば、タスク作成モジュール３４５は、関連割り当てを割り当てリストに追加する（例えば、データを圧縮する）ように構成することができる（ブロック６２５）。タスク作成モジュール３４５はさらに、ＳＬＳに従って暗号化が必要とされるかどうかをチェックするように構成することができ（ブロック６３０）、もしそうであれば、タスク作成モジュール３４５は、関連割り当てを割り当てリストに追加する（例えば、データを暗号化する）ように構成することができる（ブロック６３５）。
【０２１８】
これらが、ＳＬＳに従って行われる２つだけの割り当てであると仮定すると、タスク作成モジュール３４５は、新しいタスクの作成に成功し、新しいタスクは、実行の準備ができている（ブロック６４０）。
【０２１９】
図７を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２２０】
タスクおよびそれらの作成に関する簡潔な説明の後に、本開示主題のある特定の実施例による、ＵＤＳＰエージェントによって受け取られたタスクを管理するために実行される一連の動作を図示する、フローチャートを示す、図８に注目する。
【０２２１】
場合によっては、ＵＤＳＰエージェント２２０のタスク管理モジュール３３５は、タスクを受けるように構成することができる（ブロック４０５）。タスクを、（例えば、直接、またはとりわけプロトコル変換器の役割を果たすことができるゲートウェイリソース２１６を通して）クライアントサーバ２１８から、ゲートウェイリソース２１６から、別のコンピュータノード２０５から、外部エンティティ（例えば、アプリケーション等）から、または任意の他のソースから受けることができることに留意されたい。
【０２２２】
タスクの受領後、タスク管理モジュール３３５は、ＤＳＳ２００リソース（例えば、コンピュータノードおよび／または記憶関連リソース等）の全てまたは一部の動的挙動を示す、データの全てまたは一部を取り出すように構成することができる（ブロック４１０）。
【０２２３】
場合によっては、タスク管理モジュール３３５は、タスクがＳＬＳと関連付けられる（例えば、タスクが特定の論理的記憶エンティティに関する等）かどうかをチェックし（ブロック４１２）、もしそうであれば、（例えば、ＵＤＳＰデータリポジトリ３３０から、またはＵＤＳＰデータリポジトリ３３０の中で入手可能でなければ、別のコンピュータノードのＵＤＳＰデータリポジトリ等から）タスクと関連付けられる論理的記憶エンティティと関連付けられる、ＳＬＳを取り出すように構成することができる（ブロック４１３）。
【０２２４】
タスク管理モジュール３３５は、ＤＳＳ２００コンピュータノード２０５のうちの１つ以上の適合性にグレードを付けて、１つ以上の保留中のタスク割り当てを実行するために、目的ベースのルーティングモジュール３９５を利用するように構成することができる（ブロック４１５）。
【０２２５】
保留中のタスク割り当ては、その実行前に満たされていない必須条件を持たない割り当てである。例えば、圧縮割り当ては、重複排除割り当ての以前の実行に依存し得る、暗号化割り当ては、圧縮割り当ての以前の実行に依存し得る、等である。
【０２２６】
保留中のタスク割り当てを実行するコンピュータノード２０５の適合性、したがって、それらのグレードは、例えば、それらの記憶関連リソースを含む、それらのリソース（例えば、それらの処理能力）に、および／またはタスクが論理的記憶エンティティに関する場合、１つ以上のＳＬＳ要件（例えば、そのような論理的記憶エンティティの範囲でタスク割り当てのうちの１つ以上を実行するために使用されることが可能なリソースを有する）が存在するならば、そのような要件を満たすそれらの能力に、および／またはそれらの動的挙動および現在の状態等に依存し得る。グレード付けプロセスのより詳細な説明が、図９に関して提供される。
【０２２７】
計算されたグレードに基づいて、タスク管理モジュール３３５は、グレード付け結果によって、タスクを、例えば、より好適なコンピュータノード２０５に、および時には最も好適なコンピュータノードにルートするために、目的ベースのルーティングモジュール３９５を利用するように構成することができる（例えば、タスクを、最高グレードを有するコンピュータノード２０５にルートすることができる）（ブロック４２０）。
【０２２８】
タスク管理モジュール３３５は、タスクが別のコンピュータノードにルートされたかどうかをチェックするために構成することができる（ブロック４２５）。タスクが別のコンピュータノードにルートされた場合には、ローカルコンピュータノード２０５（例えば、プロセスを実行するコンピュータノード２０５）に関するプロセスが終了する（ブロック４４０）。しかしながら、ローカルコンピュータノード２０５が最も好適なものである場合には、例えば、ＵＤＳＰエージェントの２２０実行モジュール３５０を利用することによって、保留中のタスク割り当てのうちの１つ以上をローカルコンピュータノード２０５上で実行することができる（ブロック４３０）。
【０２２９】
場合によっては、ローカルコンピュータノード２０５が実行することが可能である、保留中のタスク割り当ての全てが、それによって実行されるわけではなく、それが最も好適なものとして選択された、保留中のタスク割り当てのみが実行されることに留意されたい。したがって、例えば、タスクが３つの保留中のタスク割り当てを備え、そのうちの２つをローカルコンピュータノード２０５によって実行することができ、そのうちの１つに対してローカルコンピュータノードが最高グレードを有し、そのうちのもう１つに対して最高グレードを持たない場合、ローカルコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０は、ローカルコンピュータノード２０５が最高グレードを有する割り当てのみを実行するように構成することができる。さらに、ローカルコンピュータノード２０５のＵＤＳＰエージェント２２０は、場合によっては、１つ以上の割り当ての並列および／または同時処理のためにローカルコンピュータノード２０５の１つよりも多くの処理リソースを（そのようなものが存在すれば）利用できることに留意されたい。場合によっては、１つよりも多くの割り当てのそのような並列および／または同時処理のために、ローカルコンピュータノード２０５は、遠隔処理リソース（例えば、１つ以上の遠隔コンピュータノード２０５と関連付けられる処理リソース）を利用することができる。１つ／複数の割り当ての実行のより詳細な説明が、とりわけ図１０に関して提供される。
【０２３０】
タスク管理モジュール３３５はさらに、ローカルコンピュータノード２０５上での割り当ての実行後に追加の割り当てが存在するかどうか、および／またはローカルコンピュータノード２０５上での割り当ての実行が１つ以上の新しいタスク（例えば、複製割り当てが、それぞれ異なる場所に向かった、複数の書込タスクの生成をもたらすことができる）および／または割り当ての作成をトリガしたかどうかをチェックするように構成することができる（ブロック４３５）。もしそうでなければ、プロセスがは終了する（ブロック４４０）。もしそうであれば、プロセスはブロック４０５に戻り、そこで残りの割り当ておよび／または１つ以上の新しいタスクが、ローカルコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０によって受け取られ、タスクのうちのそれぞれを管理するプロセスが始まる。
【０２３１】
場合によっては、例えば、１つ以上の相互接続コンピュータノード２０５をインフラストラクチャ層に追加することによって、インフラストラクチャ層から１つ以上のコンピュータノード２０５を除去することによって、インフラストラクチャ層の１つ以上の既存のコンピュータノード２０５を修正すること（例えば、処理リソース３１０および／または他の記憶関連リソースをそれに追加すること、処理リソース３１０および／または他の記憶関連リソースをそこから除去すること等）等によって、インフラストラクチャ層を更新することができる。場合によっては、インフラストラクチャ層へのそのような変更は、ＤＳＳ２００の動作中を含む、動的に（例えば、ユーザが所望するときはいつでも）行うことができる
【０２３２】
タスク管理モジュール３３５は、場合によっては、追加または修正されている更新されたインフラストラクチャ層コンピュータノード２０５のうちの１つ以上の適合性にグレードを付けて、以後のタスクの１つ以上の保留中のタスク割り当てを実行するために、目的ベースのルーティングモジュール３９５を利用するように構成することができる。場合によっては、更新されたインフラストラクチャ層は、そのようなグレード付け計算中に作成することができ、計算は、更新されたインフラストラクチャ層の１つ以上のコンピュータノード２０５に関して行うことができる。場合によっては、計算は、更新されたインフラストラクチャ層の１つ以上の追加の、または修正されたコンピュータノード２０５に関して行うことができる。
【０２３３】
タスク管理モジュール３３５は、場合によっては、以後のタスクの該保留中の割り当てのうちの１つ以上を実行するか、または計算されたグレードに基づいて、該以後のタスクを更新されたインフラストラクチャ層のより好適なコンピュータノード２０５（および場合によっては、最も好適なコンピュータノード２０５）に送るように構成することができる。
【０２３４】
図８を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２３５】
本明細書で詳述されるように、タスク管理モジュール３３５は、保留中のタスク割り当てを実行するＤＳＳ２００コンピュータノード２０５のうちの１つ以上の適合性にグレードを付けるために、目的ベースのルーティングモジュール３９５を利用するように構成することができる。本開示主題のある特定の実施例による、保留中のタスク割り当てを実行するノードの適合性にグレードを付けるために実行される一連の動作を図示する、フローチャートを図示する、図９に注目する。
【０２３６】
グレード付けプロセス７００は、目的ベースのルーティングモジュール３９５が、行われるタスク、ＤＳＳ２００リソース（コンピュータノードおよび／または記憶関連リソース等を含む）の全てまたは一部の動的挙動を示すデータ、またはグレード付けプロセスによって使用することができる任意の他のデータのうちの少なくとも１つを受けることによって始まることができる（ブロック７１０）。場合によっては、タスクが特定の論理的記憶エンティティと関連付けられたときに、目的ベースのルーティングモジュール３９５はまた、タスクと関連付けられる論理的記憶エンティティと関連付けられる、ＳＬＳも受けることができる。
【０２３７】
目的ベースのルーティングモジュール３９５は、保留中のタスク割り当てのうちのそれぞれを実行する１つ以上のコンピュータノード２０５の適合性にグレードを付けるように構成することができる（ブロック７２０）。グレート付けは、とりわけ、受け取られたデータに基づいて行うことができる。
【０２３８】
グレードを、ＤＳＳ２００に接続された各コンピュータノード２０５に対して、またはコンピュータノード２０５のうちのいくつかのみ（例えば、ローカルコンピュータノード２０５からの地理的な距離である、ネットワークトポロジーに従って、１つ以上の保留中のタスク割り当てを実行するのに好適である十分な数のコンピュータノード２０５が見出されるまで、ランダムおよび／または確定的にコンピュータノード２０５を選択する等）に対して計算できることに留意されたい。さらに、保留中のタスク割り当てを実行するコンピュータノード２０５の適合性にグレードを付けるために、種々のグレード付けアルゴリズムを使用できることに留意されたい。なおもさらに、グレード付けプロセスは、ヒューリスティックスおよび／または近似値を含有および／または使用できることに留意されたい。加えて、または代替として、グレード付けは、部分的および／または非最新情報に基づくことができる。
【０２３９】
場合によっては、グレードが計算される各コンピュータノード２０５について、目的ベースのルーティングモジュール３９５は、各保留中のタスク割り当てについて、コンピュータノード２０５が保留中のタスク割り当てを実行できるかどうかをチェックするように構成することができる。タスクが論理的記憶エンティティと関連付けられる場合、目的ベースのルーティングモジュール３９５はまた、コンピュータノード２０５が、それぞれのＳＬＳによって定義される要件を満たしながら、保留中のタスク割り当てを実行できるかどうかをチェックするように構成することもできる。コンピュータノード２０５が保留中のタスク割り当てを実行することができない（または関連するときにＳＬＳによって定義される要件を満たすことができない）場合、そのノードのグレードは、（関連するときにＳＬＳによって定義される要件を満たしながら）保留中のタスク割り当てを実行することが可能であるコンピュータノード２０５のグレードよりも低くなるであろう。場合によっては、グレードは、それぞれのコンピュータノード２０５に接続された１つ以上の記憶関連リソースに関するパラメータデータ（例えば、記憶関連リソースと関連付けられる存在および／または負荷および／または可用性および／または故障および／または能力および／または応答時間および／または接続性および／または費用に関するパラメータのデータ）、および（関連するときにＳＬＳによって定義される要件を満たしながら）保留中のタスク割り当てを実行するそのような記憶関連リソースの能力にも基づいて計算される。
【０２４０】
例となる方式で、理解を容易にするために、（関連するときにＳＬＳによって定義される要件を満たしながら）保留中のタスク割り当てを実行することができないコンピュータノード２０５のグレードがゼロである一方で、（関連するときにＳＬＳによって定義される要件を満たしながら）保留中のタスク割り当てを実行することが可能であるコンピュータノード２０５のグレードは、ゼロよりも大きい。
【０２４１】
場合によっては、計算されたグレードは、非スカラー値によって、例えば、多次元値によって表すことができることに留意されたい。さらに、計算されたグレードが順序付けられたセットに属さなくてもよいことに留意されたい。なおもさらに、好適なノードおよび／または最も好適なノードの決定（例えば、どのグレードが「より高い」かという決定）は、恣意的であり得る（例えば、グレードが順序付けられたセットに属しないとき等）ことに留意されたい
【０２４２】
場合によっては、割り当てを実行するローカルコンピュータノード２０５の適合性が、１つ以上の遠隔コンピュータノード２０５の適合性と同一であれば、それら全てがタスクをそれに伝達する同一の通信費を有した場合、タスクを任意の遠隔コンピュータノード２０５に伝達することと関連付けられる費用により、ローカルコンピュータノード２０５のグレードがより高くなるであろう。
【０２４３】
場合によっては、グレードが計算される各コンピュータノード２０５については、目的ベースのルーティングモジュール３９５は、各保留中のタスク割り当てに対して計算されたグレードに基づいて、統合グレードを計算するように構成することができる（ブロック７３０）。そのような統合グレードは、例えば、コンピュータノード２０５の割り当てグレードの要約、コンピュータノード２０５の割り当てグレードの平均、または計算されたコンピュータノード２０５の割り当てグレードに基づく任意の他の計算の概要であり得る。
【０２４４】
図９を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２４５】
図１０を参照すると、本開示主題のある特定の実施例による、コンピュータノード上で保留中の割り当てを実行するために実行される一連の動作を図示する、フローチャートが示されている。
【０２４６】
本明細書で詳述されるように、タスク管理モジュール３３５は、保留中のタスク割り当てのうちの１つ以上を実行するための割り当て実行プロセス８００を行うために実行モジュール３５０を利用するように構成することができる。そのような場合、実行モジュール３５０は、１つ以上の保留中のタスク割り当てを実行するように構成することができる（ブロック８１０）。
【０２４７】
本明細書で示されるように、場合によっては、ローカルコンピュータノード２０５が実行できる、保留中のタスク割り当ての全てが、それによって実行されるわけではなく、それが最も好適なものとして選択された、保留中のタスク割り当てのみが実行されることに留意されたい。加えて、さらに、ローカルコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０は、場合によっては、１つ以上の割り当ての並列および／または同時処理のために１つよりも多くの処理リソースを（そのようなものが存在すれば）利用できることに留意されたい。場合によっては、１つよりも多くの割り当てのそのような並列および／または同時処理のために、ローカルコンピュータノード２０５は、遠隔処理リソース（例えば、１つ以上の遠隔コンピュータノード２０５と関連付けられる処理リソース）を利用することができる。
【０２４８】
１つ以上の保留中のタスク割り当ての実行後に、実行モジュール３３５は、実行された割り当ての状態を更新して、割り当てが実行されたことを示すように構成することができる（ブロック８２０）。
【０２４９】
場合によっては、割り当てを部分的に実行することができ、またはそれらの実行は失敗し得る。そのような場合、実行モジュール３３５は、関連指示を用いて割り当て状態を更新するように構成することができる。場合によっては、状態はまた、実行結果のデータを含有することもできる。
【０２５０】
場合によっては、実行モジュール３３５は、現在のＤＳＳ２００構成（とりわけ、リソース可用性および割り付けを含む）をチェックする必要性があるかどうかをチェックするように構成することができる（ブロック８３０）。そのような必要性は、例えば、論理的記憶エンティティと関連付けられる、実行された割り当てのうちの１つ以上の実行が、それぞれのＳＬＳ要件を満たさなかった（または、例えば、事前定義された閾値等に従って、満たさなくなりそうになった等）場合、および／または１つ以上の割り当ての実行が失敗した、および／または割り当ての実行が、事前定義または計算された閾値を超えるコンピュータノード２０５および／またはそれに接続されたリソースに関するパラメータのデータの変更（記憶空間または任意の他のリソースの不足等）をもたらす場合、および／または任意の他の理由により、存在し得る。
【０２５１】
ＤＳＳ２００の現在の構成をチェックする必要性がある場合、実行モジュール３３５は、再構成が必要とされるかどうかをチェックするよう、１つ以上のコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０に推奨するように構成することができる（ブロック８４０）。場合によっては、推奨は、１つ以上の割り当てが実行されるコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０の目的ベースの構成モジュール３９０によって処理できることに留意されたい。他の場合において、推奨は、再構成プロセスを行う責任を持つことができる１つ以上のコンピュータノード２０５（例えば、専用コンピュータノード）と関連付けられるＵＤＳＰエージェント２２０に送ることができる。再構成チェックに関するさらなる説明が、とりわけ図１１に関して本明細書で提供される。
【０２５２】
ＤＳＳ２００の現在の構成をチェックする必要性がない場合、または再構成が必要とされるかどうかをチェックする推奨後に、実行モジュール３３５は、１つ以上の保留中のタスク割り当ての実行後にタスクが終了した（例えば、タスクと関連付けられる割り当ての全てが実行された）かどうかをチェックするように構成することができる（ブロック８５０）。
【０２５３】
タスクが終了していない場合、プロセスが終了する（ブロック８６０）。タスクが終了した場合、実行モジュール３３５は、タスクが終了したことを示す任意の通知（例えば、タスク発信元への通知等）が必要とされるかどうかをチェックするように構成することができる（ブロック８７０）。通知が必要とされない場合、プロセスが終了する（ブロック８６０）。通知が必要とされる場合、実行モジュール３３５は、必要に応じてタスク実行の通知を発行するように構成することができ（ブロック８８０）、プロセスが終了する（ブロック８６０）。
【０２５４】
本開示主題のいくつかの実施例によれば、各必要通知について、例えば、本明細書で説明されるタスク作成プロセス中に、必要通知を送ることの専用割り当てを作成することができる。そのような場合、随意に、ブロック８５０〜８８０を無視することができる。
【０２５５】
図１０を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２５６】
ここで、本開示主題のある特定の実施例による、ＤＳＳの再構成を管理するために実行される一連の動作を図示する、図１１に注目する。
【０２５７】
本開示主題のいくつかの実施例によれば、場合によっては、ＤＳＳ２００の再構成が必要とされるかどうかをチェックする、再構成プロセス９００を行うことができる。場合によっては、そのようなチェックは、周期的に（例えば、事前定義された時間間隔に従って、例えば、１分ごと、５分ごと、１時間ごと、または任意の他の事前定義された時間間隔）、連続的に（例えば、繰り返しループ等で）、トリガイベント（例えば、監視されたパラメータが事前定義または計算された閾値を超える、とりわけ図１０に関して詳述されるように、コンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０からの推奨の受領等）後等に、行うことができる。
【０２５８】
本明細書で示されるように、場合によっては、コンピュータノード２０５と関連付けられる各ＵＤＳＰエージェント２２０は、例えば、目的ベースの構成モジュール３９０を利用しながら、再構成プロセス９００を行うように構成することができる。場合によっては、１つ以上のコンピュータノード２０５（例えば、専用コンピュータノードと関連付けられる）ＵＤＳＰエージェント２２０は、例えば、目的ベースの構成モジュール３９０を利用しながら、再構成プロセス９００を行う責任を持つことができる。
【０２５９】
場合によっては、目的ベースの構成モジュール３９０は、ＤＳＳ２００の中の１つ以上の論理的記憶エンティティと関連付けられるＳＬＳ、ＤＳＳ２００ならびにそのリソースおよび環境の動的挙動を示すデータ、ＤＳＳ２００の現在の構成のデータ、ＤＳＳ２００に関する統計データおよび履歴データ等のうちのいずれか１つ、またはそれらの任意の組み合わせを受けるように構成することができる（ブロック９１０）。場合によっては、加えて、または代替として、データの全てまたは一部を、再構成プロセス９００が実行されるコンピュータノード２０５と関連付けられるＵＤＳＰデータリポジトリ３３０から取り出すことができることに留意されたい。
【０２６０】
場合によっては、目的ベースの構成モジュール３９０は、ＳＬＳのうちのいずれかが違反されている（または、例えば、事前定義された閾値等に従って、違反される寸前である）かどうか、および／またはＤＳＳ２００の再構成を行うための、なんらかの他の理由（例えば、ＳＬＳに関係なく、１つ以上の割り当てを実行する失敗等）があるかどうかをチェックするために、受け取られたデータを利用するように構成することができる（ブロック９２０）。
【０２６１】
いくつかの場合では、ＳＬＳが違反されるたびに（ＳＬＳの違反は、時には、例えば、事前定義された閾値等に従って、そのような違反に近いことを含むことができることに留意されたい）、ＤＳＳ２００の再構成を開始できるが、他の場合では、そのようなＤＳＳ２００の再構成は、ある事前定義された基準を満たすことに応じて開始できることに留意されたい。そのような基準は、例えば、事前定義された時間枠内で、または時間に関係なくのいずれか等で、要求される、事前定義された数の検出されたＳＬＳ違反が満たされることであり得る。したがって、例えば、例となる基準は、３つのＳＬＳ違反の検出、または１日以内に３つのＳＬＳ違反の検出等であり得る。場合によっては、加えて、または代替として、違反の重要性を基準と見なすことができる。この目的で、目的ベースの構成モジュール３９０は、ＤＳＳ２００に関する統計データおよび履歴データを利用するように構成することができる。
【０２６２】
ＤＳＳ２００を再構成する必要性がある場合、目的ベースの構成モジュール３９０は、とりわけ図２〜４に関して上記で詳述されるように、ＤＳＳ２００構成プロセスを行うための目的ベースの管理システム（ＯＢＭＳ）１００を起動するように構成することができる（ブロック９３０）。本明細書で示されるように、ＤＳＳ２００の再構成の場合、ＯＢＭＳ１００は、構成プロセスのための入力の一部としてＤＳＳ２００の現在の構成を受け、ＤＳＳ２００を再構成するときにそれを考慮できることに留意されたい。場合によっては、そのような再構成中に、ＯＢＭＳ１００は、リソースの全てまたは一部を保留する、および／または割り付ける、および／または再び割り付ける、および／または解放するように構成することができる。
【０２６３】
ＳＬＳが違反されていない（または違反される寸前ではない）、かつ再構成を行うための他の理由がない場合、またはＤＳＳ２００の再構成の開始後に、再構成プロセス９００が終了する（ブロック９４０）。
【０２６４】
図１１を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２６５】
ここで、本開示主題のある特定の実施例による、コンピュータノードおよびそれに接続されたリソースのローカルパラメータを監視するために実行される一連の動作を図示する、図１２に注目する。
【０２６６】
場合によっては、ローカルパラメータ監視モジュール３６０は、コンピュータノード２０５および／またはそれに接続された記憶関連リソースの種々のパラメータを監視するように構成することができる（ブロック１０１０）。本明細書で示されるように、監視されたパラメータは、存在および／または負荷および／または可用性および／または故障および／または能力および／または応答時間および／または接続性および／または費用（例えば、ネットワークリンク、異なるタイプのデータ記憶リソースの費用）を示す任意のパラメータ、および／またはコンピュータノード２０５および／またはそれに接続された任意の記憶関連リソースの動的挙動を示す任意の他のパラメータ、および／またはコンピュータノード２０５および／またはそれに接続された記憶関連リソースのうちの１つ以上に関する任意の他のデータであり得る。場合によっては、ローカルパラメータ監視モジュール３６０は、必要な変更を加えて、クライアントサーバ２１８および／またはゲートウェイリソース２１６の種々のパラメータを監視するように構成することができる。
【０２６７】
そのような監視は、周期的に（例えば、事前定義された時間間隔に従って、例えば、１分ごと、５分ごと、１時間ごと、または任意の他の事前定義された時間間隔）、連続的に（例えば、繰り返しループ等で）、トリガイベント（例えば、コンピュータノード２０５への新しいリソースの接続等）後等に、行うことができることに留意されたい。
【０２６８】
場合によっては、ローカルパラメータ監視モジュール３６０は、新しいパラメータ、または監視されたパラメータのうちのいずれかの値の変化が検出されたかどうかをチェックするように構成することができる（ブロック１０２０）。もしそうでなければ、ローカルパラメータ監視モジュール３６０は、パラメータを監視し続けるように構成することができる。しかしながら、新しいパラメータ、または監視されたパラメータのうちのいずれかの値の変化が検出された場合、ローカルパラメータ監視モジュール３６０は、（例えば、マルチキャストモジュール３４０を利用しながら）１つ以上のローカルパラメータへの変更を示す通知を伝搬するように構成することができる。場合によっては、そのような通知は、（例えば、ユニキャスト／マルチキャスト／リキャスト伝送によって）１つ以上のコンピュータノード２０５および／またはクライアントサーバ２１８および／またはゲートウェイリソース２１６に送ることができる（ブロック１０３０）。
【０２６９】
場合によっては、ローカルパラメータ監視モジュール３６０は、種々の所定の期間で、または種々のトリガイベントに応答して、種々の指示（例えば、１つ以上のローカルパラメータの種々のグループの指示等）を備えることができる、種々の種類の通知を送るように構成することができることに留意されたい。さらに、いくつかの通知は、例えば、そのような通知を受けるように登録した１つ以上のコンピュータノード２０５に選択的に送ることができることに留意されたい。
【０２７０】
場合によっては、ローカルパラメータ監視モジュール３６０は、パラメータ値、場合によっては、加えて、または代替として、ＵＤＳＰデータリポジトリ３３０の中のそれらの派生物（例えば、パラメータに関係する種々の統計データ）を更新するように構成することができる（ブロック１０４０）。
【０２７１】
場合によっては、ローカルパラメータ監視モジュール３６０は、現在のＤＳＳ２００構成をチェックする必要性があるかどうかをチェックするように構成することができる。そのような必要性は、例えば、監視されたパラメータのうちの１つが、それと関連付けられる事前定義または計算された閾値を超えた場合、および／または任意の他の理由で存在し得る。
【０２７２】
ＤＳＳ２００の現在の構成をチェックする必要性がある場合、ローカルパラメータ監視モジュール３６０は、再構成が必要とされるかどうかをチェックするよう、１つ以上のコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０に推奨するように構成することができる。場合によっては、ローカルパラメータ監視モジュール３６０が作動しているローカルコンピュータノード２０５と関連付けられるＵＤＳＰエージェント２２０の目的ベースの構成モジュール３９０によって、推奨を処理できることに留意されたい。他の場合では、推奨は、再構成プロセスを行う責任を持つことができる１つ以上のコンピュータノード２０５（例えば、専用コンピュータノード）と関連付けられるＵＤＳＰエージェント２２０に送ることができる。再構成チェックに関するさらなる説明が、とりわけ図１１に関して本明細書で提供される。
【０２７３】
図１２を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２７４】
ここで、本開示主題のある特定の実施例による、コンピュータノードに接続されたリソースを検出および管理するために実行される一連の動作を図示する、フローチャートを図示する、図１３に注目する。
【０２７５】
場合によっては、リソース検出および管理モジュール３８５は、検出および管理プロセス１２００を行うように構成することができる。場合によっては、リソース検出および管理モジュール３８５は、１つ以上のコンピュータノード２０５に接続された記憶関連リソースについてスキャンするように構成することができる（ブロック１２１０）。場合によっては、リソース検出および管理モジュール３８５は、連続的および／または周期的等に（例えば、所定の期間ごとに、例えば、１分ごと、５分ごと、１時間ごと等）スキャンを行うように構成することができる。場合によっては、スキャンは、ユーザ（例えば、システム管理者等）によって開始することができる。
【０２７６】
リソース検出および管理モジュール３８５は、いずれか新しい記憶関連リソースが見出されたかどうかをチェックするように構成することができる（ブロック１２２０）。新しい記憶関連リソースが見出されない場合、リソース検出および管理モジュール３８５は、記憶関連リソースについてスキャンし続けるように構成することができる。１つ以上の新しい記憶関連リソースが見出された場合、記憶関連リソース検出および管理モジュール３８５は、そのような記憶関連リソースを使用する必要性が１つ以上のプラグインにあるかどうかをチェックし、もしそうであれば、プラグインがローカルに（例えば、新しいリソースが取り付けられる／接続されるコンピュータノード２０５上に）存在するかどうかをチェックするように構成することができる（ブロック１２３０）。
【０２７７】
１つ以上のプラグインの必要性があり、それらが全てローカルに存在する場合、リソース検出および管理モジュール３８５は、プラグインを新しい記憶関連リソースと関連付けるように構成することができ、記憶関連リソースをローカルリソースプールに追加することができる（ブロック１２４０）。
【０２７８】
ローカルに存在しない１つ以上のプラグインの必要性がある場合、リソース検出および管理モジュール３８５は、（例えば、マルチキャストモジュール３４０を利用しながら）１つ以上の欠落したプラグインが、例えば、１つ以上のコンピュータノード２０５および／またはクライアントサーバ２１８および／またはゲートウェイリソース２１６の上に、および／または本明細書で詳述されるように共有仮想ソフトウェア拡張ライブラリの中に（ブロック１２５０）、および／またはＤＳＳ２００上の任意の他の場所に、および／または任意の補助エンティティ上に存在するかどうかをチェックするように構成することができる。
【０２７９】
リソース検出および管理モジュール３８５が必要なプラグインを見出した場合、リソース検出および管理モジュール３８５は、プラグインを新しい記憶関連リソースと関連付けるように構成することができ、記憶関連リソースをローカルリソースプールに追加することができる（ブロック１２４０）。
【０２８０】
場合によっては、リソース検出および管理モジュール３８５が必要なプラグインを見出さなかった場合、リソース検出および管理モジュール３８５は、１つ以上のプラグイン要求を発行するように構成することができる。そのようなプラグイン要求は、場合によっては、ユーザに送ることができ（ブロック１２７０）、したがって、そのようなユーザが関連プラグインをＤＳＳ２００に追加することを可能にする（例えば、それを購入した、それをインターネットからダウンロードした後等に）。そのような要求を送信した後に、リソース検出および管理モジュール３８５は、記憶関連リソースについてスキャンし続けるように構成することができる（ブロック１２１０）。
【０２８１】
場合によっては、必要なプラグインが見出され、取り出され（要求される場合）、インストールされるまで、新しい記憶関連リソースを、記憶関連リソースのスキャンが行われるたびに識別される新しい記憶関連リソースとしてマークすることができ、したがって、必要なプラグインが見出されるまで本明細書で詳述されるプロセスを繰り返すことに留意されたい。
【０２８２】
場合によっては、加えて、または代替として、リソース検出および管理モジュール３８５は、記憶関連リソースのスキャン後に記憶関連リソース除去が検出されたかどうかをチェックするように構成することができる（ブロック１２８０）。そのような場合において、記憶関連リソース除去が検出された場合、リソース検出および管理モジュール３８５は、ローカルリソースプールから記憶関連リソースを除去し、随意に、もはや必要とされないあらゆるプラグインを消去する（例えば、そのようなプラグインを利用したリソースが除去されるという事実を踏まえて）ように構成することができる（ブロック１２９０）。
【０２８３】
場合によっては、加えて、または代替として、リソース検出および管理モジュール３８５は、必要な変更を加えて、１つ以上のクライアントサーバ２１８および／またはゲートウェイリソース２１６に接続された／から切断された記憶関連リソースに対する検出および管理プロセス１２００を行うように構成することができることに留意されたい。さらに、リソース検出および管理モジュール３８５の利用は、ＤＳＳ２００の動作中を含んで、場合によっては、ユーザによるいずれの管理アクション（とりわけ、いずれの予備管理アクションを含む）も行わずに、記憶関連リソースのコンピュータノード２０５へ、および／またはクライアントサーバ２１８および／またはゲートウェイリソース２１６への途切れない追加および／または除去および／またはアタッチおよび／またはデタッチ（例えば、「プラグアンドプレイ」）を可能にできることに留意されたい。
【０２８４】
さらに、場合によっては、記憶関連リソースのローカルリソースプールへの追加／からの除去が、コンピュータノード２０５の監視されたローカルパラメータへの変更（例えば、種々のローカルパラメータの追加および／または除去および／または更新および／または任意の他の変更）をもたらし得ることに留意されたい。本明細書で示されるように、新しいパラメータが検出されたときに、場合によっては、とりわけ図１２に関して本明細書で詳述されるように、適切な通知をローカルパラメータ監視モジュール３６０によって送ることができる。場合によっては、そのような通知が再構成をトリガできることに留意されたい。
【０２８５】
図１３を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２８６】
ここで、本開示主題のある特定の実施例による、新しいコンピュータノードを分散記憶システム（ＤＳＳ）に接続するために実行される一連の動作を図示する、フローチャート図１４に注目する。
【０２８７】
場合によっては、ＵＤＳＰエージェント２２０を備える、新しいコンピュータノード２０５がネットワークに接続するときに、新しいコンピュータノード２０５のクラウドプラグアンドプレイモジュール３８０は、新しいネットワーク接続および／または既存のネットワーク接続への変更（例えば、コンピュータノード２０５上で、クラウドプラグアンドプレイモジュール３８０が、新しい、または異なるネットワークに接続されること）を検出するように構成することができる（ブロック１３０５）。新しいネットワーク接続の検出後に、クラウドプラグアンドプレイモジュール３８０は、例えば、マルチキャストモジュール３４０を利用することによって、発見メッセージを（例えば、ユニキャスト／マルチキャスト／リキャスト伝送によって）送るように構成することができる（ブロック１３１０）。そのような発見メッセージは、例えば、少なくともＤＳＳ２００識別子（各ＤＳＳ２００が、その識別を可能にする一意的な識別子を有することができる）を含む応答を送ることによって応答するように、任意の受け取りコンピュータノード２０５をトリガすることができる。
【０２８８】
クラウドプラグアンドプレイモジュール３８０は、所定の時間間隔（例えば、受信コンピュータノード２０５が発見メッセージに応答することを可能にすることができる時間間隔）内に受け取られる任意の応答をリッスンし、任意の応答が受け取られたかどうかをチェックするように構成することができる（ブロック１３１５）。応答が受け取られず、コンピュータノード２０５がＤＳＳ２００に接続しなかった場合、クラウドプラグアンドプレイモジュール３８０は、ブロック１３１０を繰り返し、発見メッセージを再送るように構成することができる。
【０２８９】
応答が受け取られた場合、クラウドプラグアンドプレイモジュール３８０は、（例えば、受け取られたＤＳＳ２００識別子に従って）応答が単一のＤＳＳ２００を指すかどうかをチェックするように構成することができる（ブロック１３２０）。もしそうであれば、クラウドプラグアンドプレイモジュール３８０は、コンピュータノード２０５を検出されたＤＳＳ２００に接続させるように構成することができる（ブロック１３２５）。ＤＳＳ２００に参加する結果として、コンピュータノード２０５は、本明細書で詳述されるように、種々の通知を自動的に送信および受け始めることができることに留意されたい。
【０２９０】
１つよりも多くのＤＳＳ２００が検出された（例えば、１つよりも多くのＤＳＳ２００識別子が発見メッセージへの応答として受け取られた）場合、クラウドプラグアンドプレイモジュール３８０は、デフォルトＤＳＳ２００が存在するかどうかをチェックするように構成することができる（ブロック１３３０）。この目的で、場合によっては、ローカルレジストリ（例えば、ローカルネットワーク上でアクセス可能なデータリポジトリ）から、（例えば、事前定義されたＤＮＳ記録等の下で）ドメイン名システムから等、デフォルトＤＳＳ２００の指示を取り出すことができる。場合によっては、応答がデフォルトＤＳＳ２００の指示を含むことができる、応答コンピュータノード２０５のうちの１つによって、デフォルトＤＮＳ２００の指示を送ることができる。デフォルトＤＳＳ２００を識別するための他の方法および技法も使用できることに留意されたい。
【０２９１】
そのようなデフォルトＤＳＳ２００が存在する場合、クラウドプラグアンドプレイモジュール３８０は、コンピュータノード２０５をデフォルトＤＳＳ２００に接続させるように構成することができる（ブロック１３２５）。デフォルトＤＳＳ２００が検出されない場合、新しいコンピュータノード２０５の指示を、新しいコンピュータノード２０５が接続するＤＳＳ２００の選択のためにユーザに提供することができ、クラウドプラグアンドプレイモジュール３８０は、そのような選択を待つように構成することができる（ブロック１３３５）。いったん選択が行われると、クラウドプラグアンドプレイモジュール３８０は、コンピュータノード２０５を選択されたＤＳＳ２００に接続させるように構成することができる（ブロック１３２５）。
【０２９２】
場合によっては、新しいネットワーク接続の検出時に（ブロック１３０５）、クラウドプラグアンドプレイモジュール３８０は、加えて、または代替として、例えば、事前定義されたネットワークアドレスおよび／またはディレクトリサービス（例えば、ＤＮＳ、アクティブディレクトリ等）で、ローカルレジストリ（例えば、ローカルネットワーク上でアクセス可能なデータリポジトリ）および／またはグローバルレジストリ（例えば、インターネット上でアクセス可能なデータリポジトリ）レジストリサービスを調べるように構成することができる（ブロック１３４０）。そのようなレジストリサービスは、とりわけ、利用可能なＤＳＳ２００および／またはデフォルトＤＳＳ２００の特定を可能にすることができる。
【０２９３】
クラウドプラグアンドプレイモジュール３８０は、ローカルレジストリが見つかったかどうかをチェックするように構成することができ（ブロック１３４５）、もしそうであれば、それをローカルレジストリ上に登録するように構成することができる（まだ登録されていない場合）（ブロック１３５５）。そのような登録は、レジストリの中にローカルコンピュータノード２０５に関係する種々の構成パラメータを記憶することを含むことができる。クラウドプラグアンドプレイモジュール３８０はさらに、ローカルレジストリによって定義されるポリシーがグローバル登録を可能にするかどうかをチェックするように構成することができる（ブロック１３５５）。もしそうであれば、またはローカルレジストリが見出されない場合、クラウドプラグアンドプレイモジュール３８０は、グローバルレジストリが見出されたかどうかをチェックするように構成することができる（ブロック１３６０）。もしそうであれば、クラウドプラグアンドプレイモジュール３８０は、グローバルレジスタ上に登録するように構成することができる（まだ登録されていない場合）（ブロック１３６５）。そのような登録は、レジストリの中にローカルコンピュータノード２０５に関係する種々の構成パラメータを記憶することを含むことができる。
【０２９４】
グローバルレジストリ上の登録後に、またはローカルレジストリによって定義されるポリシーがグローバル登録を可能にしない場合、クラウドプラグアンドプレイモジュール３８０は、ブロック１３２０に飛び、そこから継続するように構成することができる。
【０２９５】
自動的および手動の両方で、新しいコンピュータノード２０５をＤＳＳ２００に参加させるために、他の方法を使用することができ、本明細書で提供される方法は実施例にすぎないことに留意されたい。
【０２９６】
クラウドプラグアンドプレイモジュール３８０の利用は、ＵＤＳＰエージェント２２０がコンピュータノード２０５にインストールされているならば（ＵＤＳＰエージェント２２０の詳細な説明が本明細書で提供される）、ＤＳＳ２００の動作中を含んで、場合によっては、ユーザによるいずれの管理アクション（とりわけ、いずれの予備管理アクションも含む）も行わずに、任意の時に、コンピュータノード２０５が、シームレスに、ネットワークに追加および／または除去および／またはアタッチおよび／またはデタッチされることを可能にできることに留意されたい。さらに、随意に、ネットワークからの１つ以上のコンピュータノード２０５の追加および／または除去および／またはアタッチおよび／またはデタッチ後に、ＤＳＳ２００の継続動作を可能にするために、いずれのユーザも必要とされないことに留意されたい。
【０２９７】
図１４を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０２９８】
ここで、本開示主題のある特定の実施例による、遠隔コンピュータノードから通知を受け、それに従って統一分散記憶プラットフォーム（ＵＤＳＰ）データリポジトリを更新するために実行される一連の動作を図示する、図１５に注目する。
【０２９９】
場合によっては、コンピュータノード２０５のＵＤＳＰエージェント２２０の遠隔ノードパラメータ監視モジュール３７０は、他のコンピュータノード２０５および／またはクライアントサーバ２１８および／またはゲートウェイリソース２１６および／またはユーザ等から発信する、種々の通知（一般的な通知、および／またはメッセージを受けるためにコンピュータノード２０５が登録したソースから発信する通知）を受けるように構成することができる（ブロック１４１０）。
【０３００】
場合によっては、遠隔ノードパラメータ監視モジュール３７０は、それに従ってＵＤＳＰデータリポジトリ３３０を更新するように構成することができる（ブロック１４２０）。
【０３０１】
本明細書で詳述されるように、コンピュータノード２０５によって実行されるプロセスに関連する、ＤＳＳ２００の状態（例えば、その動的挙動等）またはその部分の知識をローカルで維持するために、ＵＤＳＰデータリポジトリ３３０に記憶されたそのようなデータを使用できることに留意されたい。
【０３０２】
図１５を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３０３】
ＤＳＳ２００を説明した後に、ＤＳＳ２００の中のキャッシュリソースを管理するためのシステムおよび方法の説明が続く。本明細書で示されるように、インフラストラクチャ層２０１は、１つ以上の、場合によっては、２つ以上のコンピュータノード２０５を備えることができる。インフラストラクチャ層２０１はさらに、１つ以上のキャッシュリソース２１２および／またはキャッシュリソースとして使用することができるリソース（例えば、ＲＡＭ、ＤＲＡＭ、ＳＳＤ２１３等）を備えることができる。各キャッシュリソース２１２および／またはキャッシュリソースとして使用することができるリソースは、（例えば、直接、ネットワークによって等）１つ以上のコンピュータノード２０５に接続することができる。上記でさらに示されるように、各コンピュータノード２０５は、その上にインストールされた（または別様にそれと関連付けられた）ＵＤＳＰエージェント２２０を有することができる。
【０３０４】
本明細書で示されるように、ＵＤＳＰエージェント２２０は、キャッシュ管理モジュール３９７を備えることができる。キャッシュ管理モジュール３９７は、とりわけ標準および／または専用キャッシングアルゴリズム、方法、および技法が動作している、１つ以上のキャッシュリソース上で、種々のキャッシュ関連動作を処理するように構成することができる。キャッシュ管理モジュール３９７は、ＤＳＳ２００に接続された１つ以上のコンピュータノード２０５に接続された１つ以上のキャッシュリソース上に記憶されたオブジェクト空間のキャッシュマッピングを管理するように構成することができる。
【０３０５】
図１６は、本開示主題のある特定の実施例による、キャッシュ管理モジュールを概略的に図示するブロック図である。
【０３０６】
本開示主題のいくつかの実施例によれば、キャッシュ管理モジュール３９７は、ローカルキャッシュリソース管理モジュール２５１０、遠隔キャッシュリソース監視モジュール２５２０、キャッシュハンドオフモジュール２５３０、およびオブジェクト要求管理モジュール２５４０のモジュールのうちの１つ以上を備えることができる。
【０３０７】
ローカルキャッシュリソース管理モジュール２５１０は、とりわけ図１７に関して、本明細書でさらに詳述されるように、コンピュータノード２０５のローカルキャッシュリソースを管理するように構成することができる。
【０３０８】
遠隔キャッシュリソース監視モジュール２５２０は、とりわけ図１８に関して、本明細書でさらに詳述されるように、遠隔コンピュータノード２０５の遠隔キャッシュリソースを監視し、それに従ってハンドオフ推奨および／または命令を発行するように構成することができる。
【０３０９】
キャッシュハンドオフモジュール２５３０は、とりわけ図２０および２１に関して、本明細書でさらに詳述されるように、種々のキャッシュハンドオフ関連プロセスを行うように構成することができる。
【０３１０】
オブジェクト要求管理モジュール２５４０は、とりわけ図２２および２３に関して、本明細書でさらに詳述されるように、ハンドオフ中に受け取られたオブジェクト関連要求を管理するように構成することができる。
【０３１１】
本開示主題のいくつかの実施例によれば、キャッシュ管理モジュール３９７モジュールのうちのいくつかまたは全てを組み合わせて単一のモジュールとして提供でき、または一例として、それらのうちの少なくとも１つを、２つ以上のモジュールの形態で実現できることに留意されたい。
【０３１２】
図１７に注目する。図１７は、本開示主題のある特定の実施例による、コンピュータノードのローカルキャッシュリソースを管理するために実行される一連の動作を図示する、フローチャートである。
【０３１３】
本開示主題のいくつかの実施例によれば、ローカルキャッシュリソース管理モジュール２５１０は、コンピュータノード２０５に接続されたキャッシュリソースのパラメータを含む、種々のキャッシュ関連パラメータを監視するように構成することができる（ブロック１５１０）。
【０３１４】
キャッシュ関連パラメータ２０５は、コンピュータノード２０５および／またはそれに接続されたリソース（キャッシュリソースを含む）に対応する、ノードレベルキャッシュ関連パラメータ（例えば、負荷パラメータ、性能パラメータ、存在パラメータ、可用性パラメータ、故障パラメータ、能力パラメータ、応答時間パラメータ、接続性パラメータ、費用パラメータ、場所パラメータ等）を含むことができる。キャッシュ関連パラメータは、加えて、または代替として、キャッシュされたオブジェクト（例えば、キャッシュリソース上にキャッシュされたオブジェクト）に関するオブジェクトレベルキャッシュ関連パラメータ（例えば、キャッシュされたオブジェクトの場所、オブジェクトがキャッシュされる媒体のタイプ等）を含むことができる。キャッシュ関連パラメータはなおも、加えて、または代替として、キャッシュを使用する種々のエンティティ（例えば、クライアントサーバ２１８等）のパラメータ等の外部キャッシュ関連パラメータを含むことができる。
【０３１５】
ローカルキャッシュリソース管理モジュール２５１０はなおもさらに、（とりわけ、図１８に関して以下でさらに説明されるように）キャッシュハンドオフを行う第三者推奨（例えば、遠隔コンピュータノード２０５からの推奨）を受けるように構成することができる。そのような第三者推奨は、１つ以上のキャッシュ関連パラメータのデータを含むことができ、そのようなデータは、場合によっては、それに従って第三者がキャッシュハンドオフを行うことを推奨する理由を示す、キャッシュ関連パラメータを含むことができることに留意されたい。第三者推奨を受ける場合、ローカルキャッシュリソース管理モジュール２５１０は、そのような受け取られたパラメータがローカルで既知のパラメータ（例えば、コンピュータノード２０５と関連付けられるＵＤＳＰデータリポジトリ３３０上に記憶されたパラメータ）よりも好ましい（例えば、新しいおよび／またはより最新のパラメータが受け取られる）かどうかを判定し、もしそうであれば、以後のブロックで、ローカルで既知のパラメータに加えて、および／またはその代わりに、それらを考慮するように構成することができる。
【０３１６】
そのような監視は、周期的に（例えば、事前定義された時間間隔に従って、例えば、１分ごと、５分ごと、１時間ごと、または任意の他の事前定義された時間間隔）、連続的に（例えば、繰り返しループ等で）、トリガイベント（例えば、キャッシュリソースを含む記憶関連リソースのコンピュータノード２０５への接続／からの切断等）後等に、行うことができることに留意されたい。
【０３１７】
場合によっては、キャッシュ関連パラメータの監視は、とりわけ図１２に関して、本明細書で詳述されるローカルパラメータ監視モジュール３６０によって行うことができることに留意されたい。
【０３１８】
監視されたパラメータのうちの１つ以上の値の変化が検出される、および／または任意の新しいパラメータが検出される、および／または任意のパラメータがもはや検出されない（例えば、あるキャッシュリソースが除去された等）および／または周期的に（例えば、事前定義または計算された時間間隔に従って、例えば、１分ごと、５分ごと、１時間ごと、または任意の他の事前定義された時間間隔）検出される場合、ローカルキャッシュリソース管理モジュール２５１０は、監視されたパラメータが、１つ以上のＳＬＳによって定義される１つ以上のキャッシュ関連要件の違反を示すかどうかをチェックするように構成することができる。そのようなチェックは、例えば、キャッシュリソース上に現在キャッシュされているオブジェクトと関連付けられるＳＬＳを踏まえて、監視されたパラメータを、および／または例えば、（本明細書で詳述されるマッピングのうちのいずれかを使用して）キャッシュリソースにマップされるオブジェクトが関連付けられる、論理的記憶エンティティと関連付けられるＳＬＳを踏まえて、そのようなオブジェクトを評価することによって行うことができる。
【０３１９】
ローカルキャッシュリソース管理モジュール２５１０はさらに、監視されたパラメータが、１つ以上のそのようなＳＬＳの違反に近いこと（または違反）を示す、そのようなキャッシュ関連ＳＬＳと関連付けられる、１つ以上の高ウォーターマーク（例えば、事前定義された最大閾値、計算された最大閾値等）等の１つ以上の第１のＳＬＳ基準を満たすかどうかを判定するように構成することができる。
【０３２０】
ローカルキャッシュリソース管理モジュール２５１０はなおもさらに、監視されたパラメータが、ＤＳＳ２００あるいはその部分を指す１つ以上の閾値および／またはＳＬＳ（例えば、最大許容サイトレベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）の違反またはそのような違反に近いことを（例えば、１つ以上の高ウォーターマーク等の１つ以上の第１のＳＬＳ基準に従って）示すかどうかを判定するように構成することができる（ブロック１５２０）。
【０３２１】
これらの目的で、ローカルキャッシュリソース管理モジュール２５１０は、ＵＤＳＰデータリポジトリ３３０から関連ＳＬＳを取り出すように構成することができることに留意されたい。
【０３２２】
ＳＬＳ違反がある、またはＳＬＳが違反される寸前である、またはＤＳＳ２００あるいはその部分を指す１つ以上のパラメータの違反がある場合、全てのキャッシュ関連ＳＬＳ、および／またはＤＳＳ２００あるいはその部分を指す閾値および／またはＳＬＳ（例えば、最大許容レベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）が譲渡後に満たされるように、ローカルキャッシュリソース管理モジュール２５１０は、第１のローカルコンピュータノード２０５（ハンドオフイニシエータ）が１つ以上のキャッシュオブジェクト空間の所有権（例えば、処理する責任）を譲渡することが可能である１つ以上のハンドオフ標的（例えば、１つ以上のキャッシュリソース２１２、および／またはそれに接続されたキャッシュリソースとして使用することができる、１つ以上のリソースを有する、別の遠隔コンピュータノード２０５）を検索するように構成することができる（ブロック１５３０）。キャッシュ関連ＳＬＳは、１つ以上のキャッシュされたオブジェクト、および／またはそのようなオブジェクトおよび／またはそれと関連付けられるキャッシュリソースを含有する１つ以上のコンピュータノード２０５、および／またはそのようなコンピュータノード２０５と関連付けられる任意のエンティティを参照する、および／またはそれらに影響を及ぼす、要件を含有する任意のＳＬＳである。
【０３２３】
ハンドオフイニシエータは、１つ以上の論理的記憶エンティティに関する１つ以上のオブジェクト空間を処理する責任を持つことができることに留意されたい。１つ以上のキャッシュオブジェクト空間またはその部分のハンドオフ（所有権の譲渡）は、ハンドオフ標的に、譲渡された１つ以上のキャッシュオブジェクト空間またはその部分の所有権を受容させる。
【０３２４】
場合によっては、キャッシュ関連ＳＬＳのうちの１つ以上と関連付けられるハンドオフ標的の中間ウォーターマーク（例えば、事前定義された中間閾値、計算された中間閾値等）等の１つ以上の第２のＳＬＳ基準が満たされるように、場合によっては、ローカルキャッシュリソース管理モジュール２５１０はさらに、ローカルコンピュータノード２０５（ハンドオフイニシエータ）が１つ以上のキャッシュオブジェクト空間の所有権を譲渡することが可能である、ハンドオフ標的を検索するように構成することができる。
【０３２５】
ローカルキャッシュリソース管理モジュール２５１０はさらに、１つ以上のハンドオフ標的が見出されたかどうかをチェックするように構成することができる（ブロック１５４０）。もしそうでなければ、場合によっては、ローカルキャッシュリソース管理モジュール２５１０は、不十分なキャッシュリソース（不十分なリソースエラー）があることをユーザに報告し、随意に、キャッシュリソースが１つ以上のキャッシュ関連ＳＬＳの要件（例えば、キャッシュリソースを追加すること等）を満たすことを可能にするために行われるアクションをユーザに推奨するように構成することができる。
【０３２６】
１つ以上のハンドオフ標的が見出される場合、とりわけ図２０を参照してさらに詳述されるように、ローカルキャッシュリソース管理モジュール２５１０は、検出されたハンドオフ標的のうちの１つ以上を用いてハンドオフプロセスを開始するように構成することができる（ブロック１５６０）。場合によっては、ハンドオフプロセスの開始後に、ローカルキャッシュリソース管理モジュール２５１０は、ブロック１５１０に戻り、キャッシュパラメータを監視し続けるように構成することができる。
【０３２７】
場合によっては、非限定的実施例として、１つ以上のハンドオフ標的の選択は、ブロック１５３０で見出された、考えられるハンドオフ標的のうちの１つ以上をランダムに選択すること（または任意の他の規則等に従って選択すること）によって行うことができることに留意されたい。別の非限定的な実施例として、１つ以上のハンドオフ標的の選択は、ブロック１５３０で見出された、可能性のあるハンドオフ標的のうちの１つ以上の適合性をランク付けするように任意のタイプのランキングアルゴリズムを行い、最も好適なものを選択することによって行うことができる。
【０３２８】
ローカルコンピュータノード２０５に接続されたキャッシュリソースに、および／またはキャッシュハンドオフを行う第三者推奨の受領に関する、キャッシュ関連パラメータを監視した後、ＳＬＳ違反がない、または１つ以上の第１のＳＬＳ基準（例えば、高ウォーターマーク）の横断がない場合、ローカルキャッシュリソース管理モジュール２５１０は、監視されたキャッシュ関連パラメータのうちのいずれかが、１つ以上のキャッシュ関連ＳＬＳおよび／またはＤＳＳ２００あるいはその部品を指す閾値および／またはＳＬＳ（例えば、最大許容レベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）と関連付けられる、低ウォーターマーク（例えば、事前定義された最小閾値、計算された最小閾値等）等の１つ以上の第３のＳＬＳ基準を満たさず、よって、それが十分活用されていないと見なされるかどうかをチェックするように構成することができる（ブロック１５７０）。ローカルコンピュータノード２０５のキャッシュリソースが十分活用されない場合、ローカルキャッシュリソース管理モジュール２５１０は、ブロック１５１０に戻り、キャッシュパラメータを監視し続けるように構成することができる。
【０３２９】
ローカルコンピュータノード２０５のキャッシュリソースのうちの１つ以上、またはそれらの部分が十分活用されない場合、全てのキャッシュ関連ＳＬＳ、および／またはＤＳＳ２００あるいはその部品を指す閾値および／またはＳＬＳ（例えば、最大許容レベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）が譲渡後に満たされるように、ローカルキャッシュリソース管理モジュール２５１０は、ローカルコンピュータノード２０５が１つ以上のキャッシュオブジェクト空間の所有権を譲渡することが可能である、１つ以上のハンドオフ標的を検索するように構成することができる（ブロック１５８０）。場合によっては、キャッシュ関連ＳＬＳのうちの１つ以上と関連付けられる中間ウォーターマーク（例えば、事前定義された中間閾値、計算された中間閾値等）等のハンドオフ標的の第２のＳＬＳ基準が満たされるように、ローカルキャッシュリソース管理モジュール２５１０はさらに、ローカルコンピュータノード２０５が１つ以上のキャッシュオブジェクト空間の所有権を譲渡することができる、ハンドオフ標的を検索するように構成することができる。
【０３３０】
場合によっては、非限定的実施例として、１つ以上のハンドオフ標的の選択は、ブロック１５３０で見出された、考えられるハンドオフ標的のうちの１つ以上をランダムに選択すること（または任意の他の規則等に従って選択すること）によって行うことができることに留意されたい。別の非限定的な実施例として、１つ以上のハンドオフ標的の選択は、ブロック１５３０で見出された、可能性のあるハンドオフ標的のうちの１つ以上の適合性をランク付けするように任意のタイプのランキングアルゴリズム（キャッシュされたオブジェクトマッピングの連結を推進するアルゴリズム等）を行い、最も好適なものを選択することによって行うことができる。
【０３３１】
キャッシュされたオブジェクトのそのような譲渡は、例えば、可能であれば、他の目的で使用することができる、ＤＳＳ２００または任意の他のエンティティのうちのいずれか一方のキャッシュリソースを解放させることができることに留意されたい。キャッシュされたオブジェクトのそのような譲渡はまた、完全に解放された（それ以上オブジェクトがその上にキャッシュされておらず、いずれのエンティティもそれを使用していない）場合にキャッシュリソースをオフにすることを可能にさせ、したがって、電力消費の削減をもたらすこともできる。
【０３３２】
ローカルキャッシュリソース管理モジュール２５１０はさらに、１つ以上のハンドオフ標的が見出されるかどうかをチェックするように構成することができる（ブロック１５９０）。１つ以上のハンドオフ標的が見出される場合、ローカルキャッシュリソース管理モジュール２５１０は、とりわけ図２０を参照してさらに詳述されるように、検出されたハンドオフ標的のうちの１つ以上を用いてハンドオフプロセスを開始するように構成することができる（ブロック１５６０）。
【０３３３】
場合によっては、ハンドオフプロセスの開始後に、ローカルキャッシュリソース管理モジュール２５１０は、ブロック１５１０に戻り、キャッシュパラメータを監視し続けるように構成することができる。
【０３３４】
図１７を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３３５】
ここで、本開示主題のある特定の実施例による、遠隔コンピュータノードの遠隔キャッシュリソースを監視するために実行される一連の動作を図示する、図１８に注目する。
【０３３６】
本開示主題のいくつかの実施例によれば、遠隔キャッシュリソース監視モジュール２５２０は、１つ以上の遠隔コンピュータノード２０５に接続されたキャッシュリソースのパラメータを含む、種々のキャッシュ関連パラメータを監視するように構成することができる（ブロック１５１０）。キャッシュ関連パラメータ２０５は、遠隔コンピュータノード２０５および／またはそれに接続されたリソース（キャッシュリソースを含む）のノードレベルキャッシュ関連パラメータ（例えば、負荷パラメータ、性能パラメータ、存在パラメータ、可用性パラメータ、故障パラメータ、能力パラメータ、応答時間パラメータ、接続性パラメータ、費用パラメータ、場所パラメータ等）を含むことができる。キャッシュ関連パラメータは、加えて、または代替として、キャッシュされたオブジェクトに関するオブジェクトレベルキャッシュ関連パラメータ（例えば、キャッシュされたオブジェクトの場所、オブジェクトがキャッシュされる媒体のタイプ等）を含むことができる。キャッシュ関連パラメータはなおも、加えて、または代替として、キャッシュを使用する種々のエンティティ（例えば、クライアントサーバ２１８等）のパラメータ等の外部キャッシュ関連パラメータを含むことができる（ブロック１６１０）。
【０３３７】
この目的で、遠隔キャッシュリソース監視モジュール２５２０は、ＵＤＳＰデータリポジトリ３３０から関係するキャッシュ関連パラメータを取り出すように構成することができる。
【０３３８】
遠隔キャッシュリソース監視モジュール２５２０は、１つ以上のハンドオフ推奨が発効されるべきであるかどうかを判定するために、そのようなパラメータを利用するように構成することができる（ブロック１６２０）。
【０３３９】
例えば、監視されたキャッシュ関連パラメータが、１つ以上のキャッシュ関連ＳＬＳ（１つ以上のキャッシュされたオブジェクト、および／またはそのようなオブジェクトおよび／またはそれと関連付けられるキャッシュリソースを含有する１つ以上のコンピュータノード２０５、および／またはそのようなコンピュータノード２０５と関連付けられる任意のエンティティを参照する、および／またはそれらに影響を及ぼす、要件を含有する任意のＳＬＳ）、および／またはＤＳＳ２００あるいはその部品を指す閾値および／またはＳＬＳ（例えば、最大許容レベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）の違反を示す、またはそのような違反に近い（例えば、１つ以上の高ウォーターマーク等の１つ以上の第１のＳＬＳ基準に従って）場合に、ハンドオフ推奨が発行されるべきであることに留意されたい。
【０３４０】
別の実施例として、場合によっては、監視されたキャッシュ関連パラメータのうちのいずれかが、低ウォーターマーク（例えば、事前定義された最小閾値、計算された最小閾値等）
等の１つ以上の第３のＳＬＳ基準を横断し、よって、それが十分活用されていないと見なされる場合に、ハンドオフ推奨が発行されるべきである。
【０３４１】
この目的で、遠隔キャッシュリソース管理モジュール２５２０は、ＵＤＳＰデータリポジトリ３３０から関連ＳＬＳを取り出すように構成できることに留意されたい。
【０３４２】
ハンドオフ推奨が発行されるべきである場合に、遠隔キャッシュリソース監視モジュール２５２０は、本明細書で詳述されるように、監視されたパラメータが、ＳＬＳ違反、そのような違反に近いこと、または利用不足を示す、１つ以上のコンピュータノード２０５に、そのような通知を発行するように構成することができる（ブロック１６３０）。
【０３４３】
場合によっては、遠隔キャッシュリソース監視モジュール２５２０は、加えて、または代替として、１つ以上のハンドオフ命令を提供するように構成することができる。ハンドオフ推奨を、ハンドオフ標的／イニシエータによって拒否することができる一方で、ハンドオフ命令は、キャッシュハンドオフを行うコマンドであり得る。場合によっては、そのようなハンドオフ命令を、１つ以上のハンドオフイニシエータに発行することができ、それにハンドオフ標的を検索させ、それを用いてハンドオフを開始させる。場合によっては、そのようなハンドオフ命令を、１つ以上のハンドオフイニシエータ、およびハンドオフを行うことができる１つ以上のそれぞれのハンドオフ標的に発行することができ、１つ以上のハンドオフイニシエータに、それぞれの１つ以上のハンドオフ標的を用いてハンドオフを開始させる。
【０３４４】
図１８を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３４５】
ここで、本発明の例示的実施形態による、キャッシュリソースを分散させることの種々のシナリオを図示する、図１９に注目する。
【０３４６】
図１９を参照すると、キャッシュを伴うコンピュータノード２０１０（キャッシュを伴うコンピュータノードが言及されるとき、それは、それに接続されたキャッシュリソースを有するコンピュータノード２０５を指す）が、場合によっては、１つ以上のキャッシュオブジェクト空間またはその部分の所有権を、キャッシュを伴うコンピュータノード２０２０に譲渡するハンドオフイニシエータの役割、および例えば、キャッシュを伴うコンピュータノード２０３０から、１つ以上のキャッシュオブジェクト空間またはその部分の所有権を受容するハンドオフ標的の役割を果たすことができると理解することができる。場合によっては、キャッシュを伴うコンピュータノード２０１０は、ハンドオフイニシエータの役割およびハンドオフ標的の役割を同時に果たすことができることに留意されたい。
【０３４７】
場合によっては、あるキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０３０は、１つよりも多くの他のハンドオフ標的を用いて、例えば、場合によっては同時に、キャッシュを伴うコンピュータノード２０１０およびキャッシュを伴うコンピュータノード２０４０を用いて、ハンドオフを行うハンドオフイニシエータの役割を果たすことができる。
【０３４８】
場合によっては、あるキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０４０は、１つよりも多くの他のハンドオフ標的を用いて、例えば、場合によっては同時に、キャッシュを伴うコンピュータノード２０３０およびキャッシュを伴うコンピュータノード２０５０を用いて、ハンドオフを行うハンドオフ標的の役割を果たすことができる。
【０３４９】
場合によっては、あるキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０９０は、ハンドオフイニシエータを用いて、例えば、キャッシュを伴うコンピュータノード２０９５を用いて、ハンドオフを行うハンドオフ標的の役割を果たし、かつ同じハンドオフイニシエータを用いて、例えば、キャッシュを伴うコンピュータノード２０９５を用いて、ハンドオフを行うハンドオフイニシエータの役割を果たすことができ、場合によっては、同時にハンドオフ標的の役割を果たしている。したがって、例えば、場合によっては同時に、キャッシュを伴うコンピュータノード２０９５が、キャッシュを伴うコンピュータノード２０９０を用いてハンドオフを開始することができる一方で、キャッシュを伴うコンピュータノード２０９０は、キャッシュを伴うコンピュータノード２０９５を用いてハンドオフを開始することができる。
【０３５０】
場合によっては、ある特定のコンピュータノード（それに接続されたキャッシュリソースを伴う、または伴わない）、例えば、コンピュータノード２０５は、１つ以上のハンドオフ標的を用いて１つ以上のハンドオフを開始するよう、１つ以上のキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０８０およびキャッシュを伴うコンピュータノード２０７０に推奨するように構成することができる。
【０３５１】
場合によっては、あるクライアントサーバ、例えば、クライアントサーバ２１８は、１つ以上のハンドオフ標的を用いて１つ以上のハンドオフを開始するよう、１つ以上のキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０７０に推奨するように構成することができる。
【０３５２】
場合によっては、あるゲートウェイリソース、例えば、ゲートウェイリソース２１６は、１つ以上のハンドオフ標的を用いて１つ以上のハンドオフを開始するよう、１つ以上のキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０８０に推奨するように構成することができる（キャッシュを伴うコンピュータノード２０８０が、そのような推奨に従ってハンドオフを開始している、そのようなハンドオフは図面中に示されていない）。
【０３５３】
場合によっては、あるキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０７０およびキャッシュを伴うコンピュータノード２０８０は、１つ以上のコンピュータノード（それに接続されたキャッシュリソースを伴う、または伴わない）および／またはクライアントサーバおよび／またはゲートウェイリソース、例えば、コンピュータノード２０５、ゲートウェイリソース２１６、クライアントサーバ２１８から１つ以上の推奨を受けて、１つ以上のハンドオフ標的を用いて１つ以上のハンドオフを開始するように構成することができる。
【０３５４】
場合によっては、あるキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０７０は、１つ以上のコンピュータノード（それに接続されたキャッシュリソースを伴う、または伴わない）および／またはクライアントサーバおよび／またはゲートウェイリソース、例えば、コンピュータノード２０５、クライアントサーバ２１８から１つ以上の推奨を受けて、１つ以上のハンドオフ標的を用いて１つ以上のハンドオフを開始し、場合によっては同時に、別のキャッシュを伴うコンピュータノード、例えば、キャッシュを伴うコンピュータノード２０８０に１つ以上のキャッシュオブジェクト空間またはその部分の所有権を譲渡する、ハンドオフイニシエータの役割を果たすように構成することができる。
【０３５５】
当業者であれば理解することができるように、上記で例示されるシナリオは実施例にすぎず、図１９で提供される説明図で提示されていない多数の他のシナリオが存在し得ることに留意されたい。
【０３５６】
ここで、本開示主題のある特定の実施例による、ハンドオフイニシエータによってキャッシュハンドオフを行うために実行される一連の動作を図示する、図２０に注目する。
【０３５７】
本開示主題のいくつかの実施例によれば、ハンドオフイニシエータ（それに接続されたキャッシュリソースを有する別のコンピュータノード２０５への１つ以上のキャッシュオブジェクト空間またはその部分の所有権の譲渡を開始している、それに接続されたキャッシュリソースを有するコンピュータノード２０５）と関連付けられるキャッシュハンドオフモジュール２５３０は、１つ以上のキャッシュオブジェクト空間またはその部分の所有権のハンドオフを開始するように構成することができる（ブロック１７１０）。
【０３５８】
この目的で、キャッシュハンドオフモジュール２５３０は、ハンドオフプロセスの影響を受ける、キャッシュオブジェクト空間またはその部分のうちのそれぞれのハンドオフ後の場所を示す、新しいハンドオフ後キャッシュマッピングを作成するように構成することができる（ブロック１７２０）。
【０３５９】
各クライアントサーバ２１８（またはＤＳＳ２００の任意の他のユーザ）は、クライアントサーバ２１８（またはＤＳＳ２００の任意の他のユーザ）が参照する１つ以上の論理的記憶エンティティに関する、キャッシュオブジェクト空間を処理する１つ以上のコンピュータノード２０５を示す、１つ以上のローカルキャッシュマッピングを有することができることに留意されたい。キャッシュハンドオフは、とりわけブロック１７７０を参照してさらに詳述されるように、適宜にそのような１つ以上のキャッシュマッピングの更新を必要とすると理解することができる。
【０３６０】
いくつかの非限定的実施例では、そのようなキャッシュマッピングは、ハンドオフプロセスに起因する、キャッシュオブジェクト空間の任意の分割、マージ、および場所の変更をコンパクトに反映する、分割関数の階層構造を使用することによって表すことができる。そのような分割関数のいくつかの実施例は、奇数および偶数のアドレス指定されたオブジェクト等を分割する、ハッシュ関数である。そのようなキャッシュマッピング記述およびそのような分割関数は実施例にすぎず、加えて、または代替として、任意の他の既知の方法および／または技法を利用できることに留意されたい。
【０３６１】
キャッシュハンドオフモジュール２５３０はさらに、例えば、「ハンドオフ進行中」状態を示すローカルフラグを設定することによって、そのような状態になり（ブロック１７３０）、それを用いてハンドオフプロセスを監視する要求を示す、ハンドオフ後キャッシュマッピングを含む「ハンドオフ開始」通知を、ハンドオフが要求される、ハンドオフ標的（ハンドオフイニシエータから、１つ以上のキャッシュオブジェクト空間またはその部分の所有権を受領するように選択される、それに接続されたキャッシュリソースを有するコンピュータノード２０５）に送るように構成することができる（ブロック１７４０）。キャッシュハンドオフモジュール２５３０はさらに、ハンドオフ標的からのハンドオフ要求への応答を待つ（例えば、事前定義または計算された時間枠にわたって等）ように構成することができる。ハンドオフ標的は、そのようなハンドオフ要求を容認する、そのようなハンドオフ要求を拒絶する、またはそのようなハンドオフ要求を部分的に容認する（例えば、ハンドオフイニシエータがそれに譲渡しようとしている、１つ以上のキャッシュオブジェクト空間またはその部分の一部のみの所有権を受容することを容認する等）ことができることに留意されたい。
【０３６２】
キャッシュハンドオフモジュール２５３０はまた、ハンドオフ要求がハンドオフ標的によって受容されたかどうかをチェックするように構成することもできる（ブロック１７５０）。ハンドオフ要求が拒絶された場合（または場合によっては、応答が所定の時間枠内で受けられなかった場合等）、キャッシュハンドオフモジュール２５３０は、「ハンドオフ進行中」状態を終了するように構成することができる（ブロック１７６０）。
【０３６３】
しかしながら、要求が容認された場合、キャッシュハンドオフモジュール２５３０は、ハンドオフ後キャッシュマッピングを、１つ以上のクライアントサーバ２１８（またはＤＳＳ２００の任意の他の関連ユーザ）に、例えば、譲渡される１つ以上のキャッシュオブジェクト空間（例えば、それと関連付けられる論理的記憶エンティティへのアクセス権を有する）またはその部分と関連付けられるクライアントサーバ２１８に、送るように構成することができる（ブロック１７７０）。場合によっては、新しいキャッシュマッピングを、ＤＳＳ２００に接続された全てのクライアントサーバ２１８（またはＤＳＳ２００の任意の他の関連ユーザ）に送ることができることに留意されたい。
【０３６４】
加えて、キャッシュハンドオフモジュール２５３０は、例えば、ハンドオフ後キャッシュマッピングにおいてハンドオフ標的にマップされた非ダーティなキャッシュされたオブジェクト（関連キャッシュオブジェクト空間と関連付けられる永続記憶装置に最後に保存されて以来、修正されなかったキャッシュオブジェクト）を、（例えば、それらのデータを伝送することによって）ハンドオフ標的に送ることによって、および／またはそれらを「忘れる」ことによって（例えば、それらを削除されたとしてマークすること、またはハンドオフイニシエータのキャッシュリソースからそれらを物理的に削除することによって）、そのようなキャッシュされたオブジェクトの所有権をハンドオフ標的に譲渡するように構成することができる（ブロック１７８０）。
【０３６５】
なおも加えて、キャッシュハンドオフモジュール２５３０は、ハンドオフ後キャッシュマッピングにおいてハンドオフ標的にマップされるダーティキャッシュオブジェクト（関連キャッシュオブジェクト空間と関連付けられる永続記憶装置に最後に保存されて以来、修正されたキャッシュオブジェクト）を、一気に消去すること（それらを関連キャッシュオブジェクト空間と関連付けられる永久記憶装置に保存すること）によって、および／または（例えば、それらにデータを伝送することによって）そのようなキャッシュされたオブジェクトをハンドオフ標的に送り、ついで、それらを「忘れる」ことによって、それらの所有権を譲渡するように構成することができる（ブロック１７９０）。
【０３６６】
場合によっては、キャッシュハンドオフモジュール２５３０はさらに、ハンドオフが行われたことを示す「ハンドオフ終了」通知をハンドオフ標的に送るように（ブロック１７９５）、かつ「ハンドオフ進行中」状態を終了するように（ブロック１７６０）構成することができる。場合によっては、ブロック１７９５は、ブロック１７８０および１７９０の実行が完了した後のみ実施することができる。
【０３６７】
図２０を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３６８】
ここで、本開示主題のある特定の実施例による、ハンドオフ標的によってキャッシュハンドオフを行うために実行される一連の動作を図示する、図２１に注目する。
【０３６９】
本開示主題のいくつかの実施形態によれば、ハンドオフ標的と関連付けられるキャッシュハンドオフモジュール２５３０は、ハンドオフイニシエータから「ハンドオフ開始」通知（ハンドオフ後キャッシュマッピングを含む）を受け、ローカルのハンドオフ前キャッシュマッピングのバックアップコピーを保存し、ハンドオフイニシエータから受け取られるハンドオフ後キャッシュマッピングに従ってキャッシュマッピングを更新し、「ハンドオフ進行中」状態になるように構成することができる（ブロック１８１０）。
【０３７０】
キャッシュハンドオフモジュール２５３０はさらに、場合によっては、例えば、キャッシュ関連ＳＬＳ、および／またはＤＳＳ２００あるいはその部品を指す閾値および／またはＳＬＳ（例えば、最大許容サイトレベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）、および／またはそれと関連付けられるＵＤＳＰデータリポジトリ３３０の中に記憶されたキャッシュ関連パラメータのハンドオフ標的知識に従って、ハンドオフイニシエータから受け取られるハンドオフ要求が容認可能であるかどうかをチェックするように構成することができる（ブロック１８２０）。
【０３７１】
場合によっては、ハンドオフ標的は、ハンドオフイニシエータがアクセスできるそのような情報（および場合によっては、新しいおよび／またはより最新の情報）とは異なる、キャッシュ関連ＳＬＳ、および／またはＤＳＳ２００あるいはその部分を指す閾値および／またはＳＬＳ（例えば、最大許容サイトレベルオーバーコミット、最大許容全体オーバーコミット、種々のセキュリティパラメータ等）、および／またはそれと、および／またはそれに接続されたキャッシュリソースと関連付けられるキャッシュ関連パラメータに関する情報へのアクセスを有することができると理解することができる。例えば、場合によっては、ハンドオフ要求がハンドオフ標的によって受け取られる時間までに、それに接続されたキャッシュリソースに関する１つ以上のパラメータが、すでに変化している。
【０３７２】
（例えば、ハンドオフ標的知識に基づいて）ハンドオフ要求が容認できない場合、キャッシュハンドオフモジュール２５３０は、拒絶通知（ハンドオフ標的がハンドオフイニシエータによって送られたハンドオフ要求を容認しないことを示す）をハンドオフイニシエータに送り、ローカルのハンドオフ前キャッシュマッピング（ブロック１８１０でバックアップのために保存された）を修復し、「ハンドオフ進行中」状態を終了するように構成することができる（ブロック１８３０）。
【０３７３】
ハンドオフ要求が容認できる場合、キャッシュハンドオフモジュール２５３０は、容認通知（ハンドオフ標的がハンドオフイニシエータによって送られたハンドオフ要求を容認することを示す）をハンドオフイニシエータに送るように構成することができる（ブロック１８４０）。そのような場合、キャッシュハンドオフモジュール２５３０は、１つ以上のキャッシュオブジェクト空間またはその部分がハンドオフ標的の責任に譲渡されたことを示す、「ハンドオフ終了」通知を待ち、いったんそのような通知が受け取られると、「ハンドオフ進行中」状態を終了するように構成することができる（ブロック１８５０）。
【０３７４】
図２１を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３７５】
ここで、本開示主題のある特定の実施例による、ハンドオフ中にハンドオフイニシエータによって受け取られるオブジェクト関連要求を処理するために実行される一連の動作を図示する、図２２に注目する。
【０３７６】
本開示主題のいくつかの実施例によれば、ハンドオフイニシエータと関連付けられるオブジェクト要求管理モジュール２５４０は、例えば、ハンドオフ中に、クライアント（例えば、クライアントサーバ２１８、ゲートウェイリソース２１６、または任意の他のソース）から、ハンドオフ前および／またはハンドオフ後キャッシュマッピング内のオブジェクトに関するオブジェクト関連要求（例えば、読取／書込要求）を受けるように構成することができる（ブロック１９１０）。
【０３７７】
場合によっては、要求クライアントが、ハンドオフ後キャッシュマッピングに従ってそのローカルキャッシュマッピングを更新する前に、要求を送信できる（場合によっては、ハンドオフ後キャッシュマッピングが、例えば、ネットワーク上の重いトラフィックにより、または任意の他の理由で、即時にクライアントによって受け取られないため）ことに留意されたい。したがって、そのようなオブジェクト関連要求を、ハンドオフイニシエータに送ることができる一方で、要求されたオブジェクトは、それによってもはや所有（例えば、処理）されていない。したがって、そのようなオブジェクト関連要求の受領時に、オブジェクト要求管理モジュール２５４０は、ハンドオフ後キャッシュマッピングに従って、要求されたオブジェクトがハンドオフイニシエータの所有権の下にあるかどうかをチェックするように構成することができ（ブロック１９２０）、もしそうであれば、オブジェクト要求管理モジュール２５４０は、要求を処理するように構成することができる（ブロック１９３０）。
【０３７８】
しかしながら、ハンドオフイニシエータが、ハンドオフ後キャッシュマッピングに従って、要求されたオブジェクトの所有者ではない場合には、オブジェクト要求管理モジュール２５４０は、（例えば、ハンドオフイニシエータがまだ要求されたオブジェクトに所有権を譲渡していなかったため）要求されたオブジェクトが依然としてハンドオフイニシエータの所有権の下にあるかどうかをチェックするように構成することができる（ブロック１９４０）。
【０３７９】
そのような要求されたオブジェクトが依然としてハンドオフイニシエータによって所有されている場合、オブジェクト要求管理モジュール２５４０は、要求を処理するように構成することができる（ブロック１９３０）。しかしながら、そのような要求されたオブジェクトがもはやハンドオフイニシエータによって所有されていない場合、オブジェクト要求管理モジュール２５４０は、オブジェクト関連要求をハンドオフ標的に伝えるように構成することができる（ブロック１９５０）。
【０３８０】
図２２を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【０３８１】
ここで、本開示主題のある特定の実施例による、ハンドオフ中にハンドオフ標的によって受け取られる、ハンドオフ後キャッシュマッピングに含まれるオブジェクトに関する、オブジェクト関連要求を処理するために実行される一連の動作を図示する、図２３に注目する。
【０３８２】
本開示主題のいくつかの実施例によれば、ハンドオフ標的と関連付けられるオブジェクト要求管理モジュール２５４０は、例えば、クライアント（例えば、クライアントサーバ２１８、ゲートウェイリソース２１６、または任意の他のソース）から、またはハンドオフイニシエータから、ハンドオフ後キャッシュマッピング内のオブジェクトに関するオブジェクト関連要求（例えば、読取／書込要求）を受けるように構成することができる（ブロック２１１０）。そのような要求の受領時に、オブジェクト要求管理モジュール２５４０は、要求がハンドオフイニシエータから発信したかどうかをチェックするように構成することができる（ブロック２１２０）。
【０３８３】
本明細書で示されるように、ハンドオフイニシエータは、ハンドオフ後キャッシュマッピングに従って、ハンドオフイニシエータが要求されたオブジェクトの所有者ではない、およびハンドオフイニシエータが要求されたオブジェクトの現在の現在の所有者ではないという判定後に、オブジェクト関連要求をハンドオフ標的に伝えるであろう（ハンドオフイニシエータが依然として所有者であるという指示は、例えば、オブジェクトがハンドオフイニシエータのキャッシュの中で依然としてダーティであること等であり得る）。したがって、要求がハンドオフイニシエータから発信するときはいつでも、これは、ハンドオフイニシエータが要求されたオブジェクトの所有権をハンドオフ標的にすでに譲渡していることを示すので、オブジェクト要求管理モジュール２５４０は、要求を処理するように構成することができる（ブロック２１３０）。
【０３８４】
要求がハンドオフイニシエータから発信しなかった場合、オブジェクト要求管理モジュール２５４０は、（例えば、ハンドオフ標的がハンドオフイニシエータから要求されたオブジェクトの所有権をすでに受けている等のため）要求されたオブジェクトがハンドオフ標的によって所有されるかどうかをチェックするように構成することができる（ブロック２１４０）。それがハンドオフ標的によって所有される場合、オブジェクト要求管理モジュール２５４０は、要求を処理するように構成することができる（ブロック２１３０）。
【０３８５】
（例えば、要求されたオブジェクトの所有権がまだ転送されず、ハンドオフプロセスが終了しなかったため）要求されたオブジェクトがハンドオフ標的によって所有されない場合、オブジェクト要求管理モジュール２５４０は、要求をハンドオフイニシエータに伝えるように構成することができる（ブロック２１５０）。そのようなシナリオは、例えば、あるユーザが、更新されたハンドオフ後キャッシュマッピングを有することができるという事実に起因し得、要求されたオブジェクトがハンドオフ標的にマップされる一方で、それが要求されたオブジェクトを要求している間に、ハンドオフプロセスが依然として進行中であり、したがって、要求されたオブジェクトの所有権がまだハンドオフ標的に譲渡されていなかったことを示すことに留意されたい。
【０３８６】
図２３を参照すると、ブロックのうちのいくつかを連結ブロックに統合することができ、またはいくつかのブロックに分解することができ、および／または他のブロックが追加されてもよいことに留意されたい。さらに、場合によっては、ブロックは、本明細書で説明されるのとは異なる順序で実施することができる。また、それらを実現するシステム要素に関しても、フロー図が説明されるが、これは決して義務的ではなく、ブロックは、本明細書で説明される以外の要素によって実施できることにも留意されたい。
【図１】
0005902716.tif 000002
【図２】
0005902716.tif 000003
【図３】
0005902716.tif 000004
【図４】
0005902716.tif 000005
【図５】
0005902716.tif 000006
【図６】
0005902716.tif 000007
【図７】
0005902716.tif 000008
【図８】
0005902716.tif 000009
【図９】
0005902716.tif 000010
【図１０】
0005902716.tif 000011
【図１１】
0005902716.tif 000012
【図１２】
0005902716.tif 000013
【図１３】
0005902716.tif 000014
【図１４】
0005902716.tif 000015
【図１５】
0005902716.tif 000016
【図１６】
0005902716.tif 000017
【図１７】
0005902716.tif 000018
【図１８】
0005902716.tif 000019
【図１９】
0005902716.tif 000020
【図２０】
0005902716.tif 000021
【図２１】
0005902716.tif 000022
【図２２】
0005902716.tif 000023
【図２３】
0005902716.tif 000024