(57)【要約】【課題】分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法を提供する。【解決手段】分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法は、第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、受信した動作要求に対応する認可要求をキューに入れるステップを含む。第１の要求キューが第１のキュー制限条件と比べて好ましくないと判定したことに応答して、アイデンティティおよびアクセス管理（ＩＡＭ）システムへの送信のために、キューに入れられた認可要求を含む第１のバッチ認可要求が生成される。第２のシステム利用率データに基づいて、第１のキュー制限条件とは異なる第２のキュー制限条件が定められる。第２の要求キューが第２のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求が生成される。【選択図】図９
2021515295.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを含む分散ストレージ・ネットワーク（ＤＳＮ）の分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法であって、前記方法は、
第１のシステム利用率データを定めるステップと、
第１の動作要求を受信するステップと、
前記第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、前記第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、
前記第１のシステム利用率データに基づいて、前記第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップと、
第１の後続動作要求を受信するステップと、
前記第１の後続動作要求に対応する第１の後続認可要求を前記第１の要求キューに付加するステップと、
前記第１の要求キューが前記第１のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、
前記第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップと、
前記第１の要求キューの前記第１の複数の認可要求に対応する第１の複数の認可応答を前記ＩＡＭシステムから受信するステップと、
認可成功を示す前記第１の複数の認可応答の第１のサブセットを識別するステップと、
前記第１の複数の認可応答の前記第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、
第２のシステム利用率データを定めるステップと、
第２の動作要求を受信するステップと、
前記第２のシステム利用率データが前記正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、前記第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、前記第２の利用率レベルは前記第１の利用率レベルとは異なる、ステップと、
前記第２のシステム利用率データに基づいて、前記第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、前記第２のキュー制限条件は前記第１のキュー制限条件とは異なる、ステップと、
第２の後続動作要求を受信するステップと、
前記第２の後続動作要求に対応する第２の後続認可要求を前記第２の要求キューに付加するステップと、
前記第２の要求キューが前記第２のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップと、
前記第２のバッチ認可要求を前記ＩＡＭシステムに送信するステップと
を含む、方法。
【請求項２】
第３のシステム利用率データを定めるステップと、
第３の動作要求を受信するステップと、
前記第３のシステム利用率データが正常利用率閾値と比べて好ましいシステム利用率レベルを示していると判定したことに応答して、前記第３の動作要求に対応する第３の認可要求を単一の認可要求として前記ＩＡＭシステムに送信することを決定するステップと、
前記第３の認可要求に対応する単一の認可応答を前記ＩＡＭシステムから受信するステップと、
前記単一の認可応答が認可成功を示すとき、前記第３の動作要求の実行を促進するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
認可失敗を示す前記第１の複数の認可応答の第２のサブセットを識別するステップであって、前記第１の複数の認可応答の前記第２のサブセットと、前記第１の複数の認可応答の前記第１のサブセットとの共通部分は空である、ステップと、
前記第１の複数の認可応答の前記第２のサブセットに対応する前記複数の動作要求の第２のサブセットを送信した複数のリクエスタのサブセットを識別するステップと、
前記複数のリクエスタの前記サブセットへの送信のための認可失敗通知を生成するステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ＩＡＭシステムによって生成された第１のバッチ認可応答において、前記第１の複数の認可応答が受信される、請求項１に記載の方法。
【請求項５】
前記第１の複数の認可応答の少なくとも１つの第１の応答は第１の時間の第１の送信において受信され、前記第１の複数の認可応答の少なくとも１つの第２の応答は第２の時間の第２の送信において受信され、前記第１の時間は前記第２の時間とは異なる、請求項１に記載の方法。
【請求項６】
前記第１の動作要求はデータ・オブジェクトを示す読取り要求を含み、前記ＤＳＮのストレージ・ユニットのセットに保存される符号化データ・スライスのセットを生成するために、前記データ・オブジェクトのデータ・セグメントに対して分散ストレージ・エラー符号化機能が行われており、前記第１の動作要求に対応する認可応答は認可成功を示し、前記第１の動作要求を実行するステップは、
前記ストレージ・ユニットのセットから読取り閾値数の前記符号化データ・スライスのセットを検索するステップと、
前記読取り閾値数の前記符号化データ・スライスのセットに対して分散ストレージ・エラー復号機能を行って前記データ・セグメントを再生するステップと
を含む、請求項１に記載の方法。
【請求項７】
前記ＤＳＮのネットワーク・コンポーネントのセットから第１の複数のネットワーク利用率レベルを受信するステップと、
前記第１の複数のネットワーク利用率レベルに基づいて前記第１のシステム利用率データを生成するステップと、
前記ＤＳＮの前記ネットワーク・コンポーネントのセットから第２の複数のネットワーク利用率レベルを受信するステップと、
前記第２の複数のネットワーク利用率レベルに基づいて前記第２のシステム利用率データを生成するステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記ＤＳＮの前記ネットワーク・コンポーネントのセットは、前記ＤＳＮの複数のネットワーク・コンポーネントのサブセットであり、前記方法はさらに、
前記ＤＳＮの前記複数のネットワーク・コンポーネントのうち動作要求の認可に関与しているものを識別することに基づいて前記ネットワーク・コンポーネントのセットを定めるステップと、
前記ＤＳＮの前記ネットワーク・コンポーネントのセットへの送信のための第１の複数のネットワーク利用率レベル要求を生成するステップであって、前記第１の複数のネットワーク利用率レベル要求に応答して前記第１の複数のネットワーク利用率レベルが受信される、ステップと
を含む、請求項７に記載の方法。
【請求項９】
前記ネットワーク・コンポーネントのセットは、認可要求を前記ＤＳＴ処理ユニットから前記ＩＡＭシステムにルーティングするように定められた複数のネットワーク・スイッチを含む、請求項８に記載の方法。
【請求項１０】
前記ＩＡＭシステムから第１のＩＡＭ利用率レベルを受信するステップと、
前記第１のＩＡＭ利用率レベルに基づいて前記第１のシステム利用率データを生成するステップと、
前記ＩＡＭシステムから第２のＩＡＭ利用率レベルを受信するステップと、
前記第２のＩＡＭ利用率レベルに基づいて前記第２のシステム利用率データを生成するステップと
をさらに含み、
前記第１のＩＡＭ利用率レベルおよび前記第２のＩＡＭ利用率レベルは、前記ＩＡＭシステムに対するネットワーク・トラフィックに基づいて前記ＩＡＭによって生成される、請求項１に記載の方法。
【請求項１１】
前記第１のキュー制限条件は第１のキュー・サイズ閾値を示し、前記第２のキュー制限条件は第２のキュー・サイズ閾値を示し、前記第１の利用率レベルが前記第２の利用率レベルよりも深刻な過剰利用を示していることに基づいて、前記第１のキュー・サイズ閾値は前記第２のキュー・サイズ閾値よりも大きく、応答において、前記第１のバッチ認可要求の前記第１の複数の認可要求の第１の数は、前記第２のバッチ認可要求の前記第２の複数の認可要求の第２の数よりも大きい、請求項１に記載の方法。
【請求項１２】
前記第１のキュー制限条件を定めるステップは、前記第１の利用率レベルに対する機能を行うことによって前記第１のキュー・サイズ閾値を算出するステップを含み、前記第２のキュー制限条件を定めるステップは、前記第２の利用率レベルに対する前記機能を行うことによって前記第２のキュー・サイズ閾値を算出するステップを含み、前記機能は、利用率レベルの単調増加関数としてキュー・サイズ閾値を算出する、請求項１１に記載の方法。
【請求項１３】
前記第１のキュー制限条件は第１のキュー時間制限を示し、前記第２のキュー制限条件は第２のキュー時間制限を示し、前記第２の利用率レベルが前記第１の利用率レベルよりも深刻でない過剰利用を示していることに基づいて、前記第１のキュー時間制限は前記第２のキュー時間制限よりも短く、応答において、前記第１の要求キューの生成から前記第１のバッチ認可要求の生成までに経過した第１の時間は、前記第２の要求キューの前記生成から前記第２のバッチ認可要求の前記生成までに経過した第２の時間よりも短い、請求項１に記載の方法。
【請求項１４】
前記第１のキュー制限条件を定めるステップは、前記第１の利用率レベルに対する機能を行うことによって前記第１のキュー時間制限を算出するステップを含み、前記第２のキュー制限条件を定めるステップは、前記第２の利用率レベルに対する前記機能を行うことによって前記第２のキュー時間制限を算出するステップを含み、前記機能は、利用率レベルの単調増加関数としてキュー時間制限を算出する、請求項１３に記載の方法。
【請求項１５】
前記第１のキュー制限条件は第１のキュー時間制限を含み、前記第２のキュー制限条件は第２のキュー時間制限を含み、前記第１のキュー時間制限がリクエスタ感知待ち時間要件と比べて好ましくないと判定したことに応答して、前記第２のキュー時間制限は前記第１のキュー時間制限よりも短くなるように定められる、請求項１３に記載の方法。
【請求項１６】
前記第２のキュー制限条件を定めるステップはさらに、前記第１の複数の認可応答の失敗認可応答の割合が失敗応答閾値と比べて好ましくないと判定したことに基づく、請求項１に記載の方法。
【請求項１７】
分散ストレージおよびタスク（ＤＳＴ）処理ユニットの処理システムであって、
少なくとも１つのプロセッサと、
動作命令を保存するメモリと
を含み、前記動作命令は前記少なくとも１つのプロセッサによって実行されるときに、前記処理システムに
第１のシステム利用率データを定めるステップと、
第１の動作要求を受信するステップと、
前記第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、前記第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、
前記第１のシステム利用率データに基づいて、前記第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップと、
第１の後続動作要求を受信するステップと、
前記第１の後続動作要求に対応する第１の後続認可要求を前記第１の要求キューに付加するステップと、
前記第１の要求キューが前記第１のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、
前記第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップと、
前記第１の要求キューの前記第１の複数の認可要求に対応する第１の複数の認可応答を前記ＩＡＭシステムから受信するステップと、
認可成功を示す前記第１の複数の認可応答の第１のサブセットを識別するステップと、
前記第１の複数の認可応答の前記第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、
第２のシステム利用率データを定めるステップと、
第２の動作要求を受信するステップと、
前記第２のシステム利用率データが前記正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、前記第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、前記第２の利用率レベルは前記第１の利用率レベルとは異なる、ステップと、
前記第２のシステム利用率データに基づいて、前記第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、前記第２のキュー制限条件は前記第１のキュー制限条件とは異なる、ステップと、
第２の後続動作要求を受信するステップと、
前記第２の後続動作要求に対応する第２の後続認可要求を前記第２の要求キューに付加するステップと、
前記第２の要求キューが前記第２のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップと、
前記第２のバッチ認可要求を前記ＩＡＭシステムに送信するステップと
を行わせる、処理システム。
【請求項１８】
前記動作命令は前記少なくとも１つのプロセッサによって実行されるときに、前記処理システムにさらに
第３のシステム利用率データを定めるステップと、
第３の動作要求を受信するステップと、
前記第３のシステム利用率データが正常利用率閾値と比べて好ましいシステム利用率レベルを示していると判定したことに応答して、前記第３の動作要求に対応する第３の認可要求を単一の認可要求として前記ＩＡＭシステムに送信することを決定するステップと、
前記第３の認可要求に対応する単一の認可応答を前記ＩＡＭシステムから受信するステップと、
前記単一の認可応答が認可成功を示すとき、前記第３の動作要求の実行を促進するステップと
を行わせる、請求項１７に記載の処理システム。
【請求項１９】
前記動作命令は前記少なくとも１つのプロセッサによって実行されるときに、前記処理システムにさらに
ネットワーク・コンポーネントのセットから第１の複数のネットワーク利用率レベルを受信するステップと、
前記第１の複数のネットワーク利用率レベルに基づいて前記第１のシステム利用率データを生成するステップと、
前記ネットワーク・コンポーネントのセットから第２の複数のネットワーク利用率レベルを受信するステップと、
前記第２の複数のネットワーク利用率レベルに基づいて前記第２のシステム利用率データを生成するステップと
を行わせる、請求項１７に記載の処理システム。
【請求項２０】
前記動作命令は前記少なくとも１つのプロセッサによって実行されるときに、前記処理システムにさらに
前記ＩＡＭシステムから第１のＩＡＭ利用率レベルを受信するステップと、
前記第１のＩＡＭ利用率レベルに基づいて前記第１のシステム利用率データを生成するステップと、
前記ＩＡＭシステムから第２のＩＡＭ利用率レベルを受信するステップと、
前記第２のＩＡＭ利用率レベルに基づいて前記第２のシステム利用率データを生成するステップとを行わせ、
前記第１のＩＡＭ利用率レベルおよび前記第２のＩＡＭ利用率レベルは、前記ＩＡＭシステムに対するネットワーク・トラフィックに基づいて前記ＩＡＭによって生成される、請求項１７に記載の処理システム。
【請求項２１】
前記第１のキュー制限条件は第１のキュー・サイズ閾値を示し、前記第２のキュー制限条件は第２のキュー・サイズ閾値を示し、前記第１の利用率レベルが前記第２の利用率レベルよりも深刻な過剰利用を示していることに基づいて、前記第１のキュー・サイズ閾値は前記第２のキュー・サイズ閾値よりも大きく、応答において、前記第１のバッチ認可要求の前記第１の複数の認可要求の第１の数は、前記第２のバッチ認可要求の前記第２の複数の認可要求の第２の数よりも大きい、請求項１７に記載の処理システム。
【請求項２２】
前記第１のキュー制限条件は第１のキュー時間制限を示し、前記第２のキュー制限条件は第２のキュー時間制限を示し、前記第２の利用率レベルが前記第１の利用率レベルよりも深刻でない過剰利用を示していることに基づいて、前記第１のキュー時間制限は前記第２のキュー時間制限よりも短く、応答において、前記第１の要求キューの生成から前記第１のバッチ認可要求の生成までに経過した第１の時間は、前記第２の要求キューの前記生成から前記第２のバッチ認可要求の前記生成までに経過した第２の時間よりも短い、請求項１７に記載の処理システム。
【請求項２３】
コンピュータ可読ストレージ媒体であって、
動作命令を保存する少なくとも１つのメモリ・セクションを含み、前記動作命令は、プロセッサおよびメモリを含む分散ストレージ・ネットワーク（ＤＳＮ）の処理システムによって実行されるときに、前記処理システムに
第１のシステム利用率データを定めるステップと、
第１の動作要求を受信するステップと、
前記第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、前記第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、
前記第１のシステム利用率データに基づいて、前記第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップと、
第１の後続動作要求を受信するステップと、
前記第１の後続動作要求に対応する第１の後続認可要求を前記第１の要求キューに付加するステップと、
前記第１の要求キューが前記第１のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、
前記第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップと、
前記第１の要求キューの前記第１の複数の認可要求に対応する第１の複数の認可応答を前記ＩＡＭシステムから受信するステップと、
認可成功を示す前記第１の複数の認可応答の第１のサブセットを識別するステップと、
前記第１の複数の認可応答の前記第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、
第２のシステム利用率データを定めるステップと、
第２の動作要求を受信するステップと、
前記第２のシステム利用率データが前記正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、前記第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、前記第２の利用率レベルは前記第１の利用率レベルとは異なる、ステップと、
前記第２のシステム利用率データに基づいて、前記第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、前記第２のキュー制限条件は前記第１のキュー制限条件とは異なる、ステップと、
第２の後続動作要求を受信するステップと、
前記第２の後続動作要求に対応する第２の後続認可要求を前記第２の要求キューに付加するステップと、
前記第２の要求キューが前記第２のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップと、
前記第２のバッチ認可要求を前記ＩＡＭシステムに送信するステップと
を行わせる、コンピュータ可読ストレージ媒体。
【請求項２４】
プロセッサを含む分散ストレージ・ネットワーク（ＤＳＮ）の分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法であって、前記方法は、
第１のシステム利用率データを定めるステップと、
第１の動作要求を受信するステップと、
前記第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、前記第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、
前記第１のシステム利用率データに基づいて、前記第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップと、
第１の後続動作要求を受信するステップと、
前記第１の後続動作要求に対応する第１の後続認可要求を前記第１の要求キューに付加するステップと、
前記第１の要求キューが前記第１のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、
前記第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップと、
前記第１の要求キューの前記第１の複数の認可要求に対応する第１の複数の認可応答を前記ＩＡＭシステムから受信するステップと、
認可成功を示す前記第１の複数の認可応答の第１のサブセットを識別するステップと、
前記第１の複数の認可応答の前記第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、
第２のシステム利用率データを定めるステップと、
第２の動作要求を受信するステップと、
前記第２のシステム利用率データが前記正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、前記第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、前記第２の利用率レベルは前記第１の利用率レベルとは異なる、ステップと、
前記第２のシステム利用率データに基づいて、前記第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、前記第２のキュー制限条件は前記第１のキュー制限条件とは異なる、ステップと、
第２の後続動作要求を受信するステップと、
前記第２の後続動作要求に対応する第２の後続認可要求を前記第２の要求キューに付加するステップと、
第３のシステム利用率データを定めるステップと、
前記第３のシステム利用率データに基づいて、第３のキュー制限条件を定めるステップであって、前記第３のキュー制限条件は前記第２のキュー制限条件とは異なる、ステップと、
前記第３のキュー制限条件を定めるステップに応答し、かつ前記第２の要求キューが前記第３のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップであって、前記第２の要求キューは前記第２のキュー制限条件と比べて好ましい、ステップと、
前記第２のバッチ認可要求を前記ＩＡＭシステムに送信するステップと
を含む、方法。
【請求項２５】
分散ストレージおよびタスク（ＤＳＴ）処理ユニットの処理システムであって、
少なくとも１つのプロセッサと、
動作命令を保存するメモリと
を含み、前記動作命令は前記少なくとも１つのプロセッサによって実行されるときに、前記処理システムに
第１のシステム利用率データを定めるステップと、
第１の動作要求を受信するステップと、
前記第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、前記第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、
前記第１のシステム利用率データに基づいて、前記第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップと、
第１の後続動作要求を受信するステップと、
前記第１の後続動作要求に対応する第１の後続認可要求を前記第１の要求キューに付加するステップと、
前記第１の要求キューが前記第１のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、
前記第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップと、
前記第１の要求キューの前記第１の複数の認可要求に対応する第１の複数の認可応答を前記ＩＡＭシステムから受信するステップと、
認可成功を示す前記第１の複数の認可応答の第１のサブセットを識別するステップと、
前記第１の複数の認可応答の前記第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、
第２のシステム利用率データを定めるステップと、
第２の動作要求を受信するステップと、
前記第２のシステム利用率データが前記正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、前記第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、前記第２の利用率レベルは前記第１の利用率レベルとは異なる、ステップと、
前記第２のシステム利用率データに基づいて、前記第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、前記第２のキュー制限条件は前記第１のキュー制限条件とは異なる、ステップと、
第２の後続動作要求を受信するステップと、
前記第２の後続動作要求に対応する第２の後続認可要求を前記第２の要求キューに付加するステップと、
第３のシステム利用率データを定めるステップと、
前記第３のシステム利用率データに基づいて、第３のキュー制限条件を定めるステップであって、前記第３のキュー制限条件は前記第２のキュー制限条件とは異なる、ステップと、
前記第３のキュー制限条件を定めるステップに応答し、かつ前記第２の要求キューが前記第３のキュー制限条件と比べて好ましくないと判定したことに応答して、前記第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップであって、前記第２の要求キューは前記第２のキュー制限条件と比べて好ましい、ステップと、
前記第２のバッチ認可要求を前記ＩＡＭシステムに送信するステップと
を行わせる、処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にコンピュータ・ネットワークに関し、より具体的には分散するエラー符号化データに関する。
【背景技術】
【０００２】
コンピュータ・デバイスはデータを通信するか、データを処理するか、もしくはデータを保存するか、またはその組み合わせを行うことが公知である。こうしたコンピュータ・デバイスはワイヤレス・スマート・フォン、ラップトップ、タブレット、パーソナル・コンピュータ（ＰＣ：ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒｓ）、ワーク・ステーション、およびビデオ・ゲーム・デバイスから、毎日何百万ものウェブ・サーチ、株式取引、またはオンライン購入をサポートするデータ・センタまでの範囲にわたっている。一般的に、コンピュータ・デバイスは中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）と、メモリ・システムと、ユーザ入力／出力インターフェースと、周辺デバイス・インターフェースと、相互接続バス構造とを含む。
【０００３】
さらに公知であるとおり、コンピュータは、１つ以上のコンピューティング機能（例、サービス、アプリケーション、アルゴリズム、算術論理機能など）を行うためにコンピュータの代わりに「クラウド・コンピューティング」を用いることによって、自身のＣＰＵを効果的に拡張してもよい。さらに、大きいサービス、アプリケーション、もしくは機能、またはその組み合わせに対しては、そのサービス、アプリケーション、もしくは機能、またはその組み合わせの完了のための応答時間を改善するために、クラウド・コンピューティングが複数のクラウド・コンピューティング・リソースによって分散型の方式で行われてもよい。たとえばＨａｄｏｏｐ（Ｒ）は、何千ものコンピュータによるアプリケーション実行を可能にする分散型アプリケーションをサポートするオープン・ソース・ソフトウェア・フレームワークである。
【０００４】
クラウド・コンピューティングに加えて、コンピュータは「クラウド・ストレージ」を自身のメモリ・システムの一部として用いてもよい。公知であるとおり、クラウド・ストレージは、ユーザがそのコンピュータを介してファイル、アプリケーションなどをインターネット・ストレージ・システムに保存することを可能にする。インターネット・ストレージ・システムは、ストレージに対するデータを符号化するためにエラー訂正スキームを用いるＲＡＩＤ（独立ディスクの冗長アレイ（ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｄｅｐｅｎｄｅｎｔ  ｄｉｓｋｓ））システムもしくは分散ストレージ・システム、またはその両方を含んでもよい。
【０００５】
出願人の出願である特許文献１は、ＤＳＴ実行ユニットによる実行のための方法を開示しており、この方法は、ネットワークを介してコンピュータ・デバイスから認可トークンを含むアクセス要求を受信するステップと、アクセス要求に基づいて認可データを生成するステップと、アクセス要求を実行するステップと、認可データが検証インジケータを含むときにはアクセス要求の結果をネットワークを介してコンピュータ・デバイスに送信するステップとを含む。認可データが無効トークン・インジケータを含むときは、コンピュータ・デバイスへの送信のために無効トークン通知が生成される。
【０００６】
出願人の出願である特許文献２は、処理システムによる分散ストレージ・ネットワーク（ＤＳＮ：ｄｉｓｐｅｒｓｅｄ  ｓｔｏｒａｇｅ  ｎｅｔｗｏｒｋ）の分散ストレージおよびタスク（ＤＳＴ：ｄｉｓｐｅｒｓｅｄ  ｓｔｏｒａｇｅ  ａｎｄ  ｔａｓｋ）実行ユニットの第１の適切なサブセットの選択を開示している。この処理システムは、ＤＳＮのＤＳＴ実行ユニットの第１の適切なサブセットによる期間にわたってアクセス要求をバッチ処理することで、その期間中のＤＳＮのＤＳＴ実行ユニットの第１の適切なサブセットに対するアクセス要求を制限する。
【０００７】
出願人の米国特許である特許文献３は、ネットワークを通じて安全なアクセス制御リスト情報を一斉送信および更新するネットワークに接続される管理ユニットを開示している。ターゲット・デバイスが一斉送信を受信するとき、ターゲット・デバイスは、もしその一斉送信がアクセス制御リスト情報を更新するための有効な要求であれば同じ一斉送信を受信したはずであるすべての他のシステム・デバイスに対して、アクセス制御リスト変更通知メッセージを作成および送信する。ターゲット・デバイスは他のシステム・デバイスからの応答を待つことで、一斉送信に従ってローカル・データを演算的に変更する動作を行う前に、他のシステム・デバイスの閾値数に一斉送信が適切に送られたことを確認する。
【０００８】
こうしたシステムと本開示とを比較することによって、従来の伝統的アプローチの限界および不利益が当業者に明らかになるだろう。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許出願公開第２０１７００６０４５９号
【特許文献２】米国特許出願公開第２０１７０３１５７３５号
【特許文献３】米国特許第９７９８６２１号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、プロセッサを含む分散ストレージ・ネットワーク（ＤＳＮ）の分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法を提供する。
【課題を解決するための手段】
【００１１】
本発明の１つの態様によると、プロセッサを含む分散ストレージ・ネットワーク（ＤＳＮ）の分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行のための方法が提供され、この方法は、第１のシステム利用率データを定めるステップと、第１の動作要求を受信するステップと、第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップと、第１のシステム利用率データに基づいて、第１の要求キューを生成するステップに応答して第１のキュー制限条件を定めるステップと、第１の後続動作要求を受信するステップと、第１の後続動作要求に対応する第１の後続認可要求を第１の要求キューに付加するステップと、第１の要求キューが第１のキュー制限条件と比べて好ましくないと判定したことに応答して、第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップと、アイデンティティおよびアクセス管理（ＩＡＭ：Ｉｄｅｎｔｉｔｙ  ａｎｄ  Ａｃｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ）システムに第１のバッチ認可要求を送信するステップと、第１の要求キューの第１の複数の認可要求に対応する第１の複数の認可応答をＩＡＭシステムから受信するステップと、認可成功を示す第１の複数の認可応答の第１のサブセットを識別するステップと、第１の複数の認可応答の第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップと、第２のシステム利用率データを定めるステップと、第２の動作要求を受信するステップと、第２のシステム利用率データが正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップであって、第２の利用率レベルは第１の利用率レベルとは異なる、ステップと、第２のシステム利用率データに基づいて、第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップであって、第２のキュー制限条件は第１のキュー制限条件とは異なる、ステップと、第２の後続動作要求を受信するステップと、第２の後続動作要求に対応する第２の後続認可要求を第２の要求キューに付加するステップと、第２の要求キューが第２のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップと、ＩＡＭシステムに第２のバッチ認可要求を送信するステップとを含む。
【図面の簡単な説明】
【００１２】
【図１】本発明による分散（ｄｉｓｐｅｒｓｅｄ）または分散型（ｄｉｓｔｒｉｂｕｔｅｄ）ストレージ・ネットワーク（ＤＳＮ）の実施形態を示す概略ブロック図である。
【図２】本発明によるコンピューティング・コアの実施形態を示す概略ブロック図である。
【図３】本発明によるデータの分散ストレージ・エラー符号化の例を示す概略ブロック図である。
【図４】本発明によるエラー符号化機能の一般的な例を示す概略ブロック図である。
【図５】本発明によるエラー符号化機能の特定の例を示す概略ブロック図である。
【図６】本発明による符号化データ・スライス（ＥＤＳ：ｅｎｃｏｄｅｄ  ｄａｔａ  ｓｌｉｃｅ）のスライス名の例を示す概略ブロック図である。
【図７】本発明によるデータの分散ストレージ・エラー復号の例を示す概略ブロック図である。
【図８】本発明によるエラー復号機能の一般的な例を示す概略ブロック図である。
【図９】本発明による分散または分散型ストレージ・ネットワーク（ＤＳＮ）の実施形態を示す概略ブロック図である。
【図１０】本発明による分散または分散型ストレージ・ネットワーク（ＤＳＮ）の実施形態を示す概略ブロック図である。
【図１１】本発明によるネットワーク・スイッチの実施形態を示す概略ブロック図である。
【図１２】本発明による分散または分散型ストレージ・ネットワーク（ＤＳＮ）の実施形態を示す概略ブロック図である。
【図１３】本発明による動的認可バッチ処理の方法の例を示す論理図である。
【図１４】本発明による動的認可バッチ処理の方法の例を示す論理図である。
【図１５】本発明による動的認可バッチ処理の方法の例を示す論理図である。
【発明を実施するための形態】
【００１３】
図１は分散または分散型ストレージ・ネットワーク（ＤＳＮ）１０の実施形態の概略ブロック図であり、この分散または分散型ストレージ・ネットワーク（ＤＳＮ）１０は複数のコンピュータ・デバイス１２〜１６と、管理ユニット１８と、完全性処理ユニット２０と、ＤＳＮメモリ２２とを含む。ＤＳＮ１０のコンポーネントはネットワーク２４に結合されており、ネットワーク２４は１つ以上のワイヤレスおよび／もしくは有線通信システム、１つ以上の非公共イントラネット・システムおよび／もしくは公共インターネット・システム、および／または１つ以上のローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋｓ）および／もしくは広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋｓ）を含んでもよい。
【００１４】
ＤＳＮメモリ２２は複数のストレージ・ユニット３６を含み、これらのストレージ・ユニット３６は地理的に異なる場所（例、１つはシカゴ（Ｃｈｉｃａｇｏ）、１つはミルウォーキー（Ｍｉｌｗａｕｋｅｅ）など）、共通の場所、またはその組み合わせに位置してもよい。たとえば、ＤＳＮメモリ２２が８つのストレージ・ユニット３６を含むとき、各ストレージ・ユニットは異なる場所に位置する。別の例として、ＤＳＮメモリ２２が８つのストレージ・ユニット３６を含むとき、８つのストレージ・ユニットすべてが同じ場所に位置する。さらに別の例として、ＤＳＮメモリ２２が８つのストレージ・ユニット３６を含むとき、ストレージ・ユニットの第１の対は第１の共通の場所にあり、ストレージ・ユニットの第２の対は第２の共通の場所にあり、ストレージ・ユニットの第３の対は第３の共通の場所にあり、ストレージ・ユニットの第４の対は第４の共通の場所にある。なお、ＤＳＮメモリ２２は、８つよりも多いかまたは少ないストレージ・ユニット３６を含んでもよい。さらに注記すると、各ストレージ・ユニット３６はコンピューティング・コア（図２に示されるもの、またはそのコンポーネント）と、分散エラー符号化データを保存するための複数のメモリ・デバイスとを含む。
【００１５】
さまざまな実施形態において、各々のストレージ・ユニットは分散型ストレージおよびタスク（ＤＳＴ）実行ユニットとして動作し、分散エラー符号化データを保存するか、もしくはデータに対する１つ以上のタスクを分散型の方式で実行するか、またはその両方のために動作可能である。タスクは単純な機能（例、数学関数、論理関数、認識機能、発見機能、サーチ・エンジン機能、置換機能など）、複雑な機能（例、圧縮、人間もしくはコンピュータまたはその両方の言語の翻訳、テキストから音声への変換、音声からテキストへの変換など）、複数の単純もしくは複雑またはその両方の機能、１つ以上のアルゴリズム、１つ以上のアプリケーションなどであってもよい。以後、ストレージ・ユニットは分散ストレージおよびタスク（ＤＳＴ）実行ユニットと取り換え可能に呼ばれることがあり、ストレージ・ユニットのセットはＤＳＴ実行ユニットのセットと取り換え可能に呼ばれることがある。
【００１６】
コンピュータ・デバイス１２〜１６、管理ユニット１８、および完全性処理ユニット２０の各々はコンピューティング・コア２６を含み、このコンピューティング・コア２６はネットワーク・インターフェース３０〜３３を含む。コンピュータ・デバイス１２〜１６の各々は、ポータブル・コンピュータ・デバイスもしくは固定コンピュータ・デバイスまたはその両方であってもよい。ポータブル・コンピュータ・デバイスはソーシャル・ネットワーク形成デバイス、ゲーム・デバイス、携帯電話、スマート・フォン、デジタル・アシスタント、デジタル音楽プレーヤ、デジタル・ビデオ・プレーヤ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、タブレット、ビデオ・ゲーム・コントローラ、もしくはコンピューティング・コアを含む任意のその他のポータブル・デバイス、またはその組み合わせであってもよい。固定コンピュータ・デバイスはコンピュータ（ＰＣ）、コンピュータ・サーバ、ケーブル・セットトップ・ボックス、衛星受信機、テレビジョン・セット、プリンタ、ファックス機、家庭用娯楽機器、ビデオ・ゲーム・コンソール、または任意のタイプの家庭用もしくはオフィス用コンピューティング機器、あるいはその組み合わせであってもよい。なお、各々の管理ユニット１８および完全性処理ユニット２０は別々のコンピュータ・デバイスであってもよいし、共通のコンピュータ・デバイスであってもよいし、かつ／またはコンピュータ・デバイス１２〜１６の１つ以上および／もしくはストレージ・ユニット３６の１つ以上に統合されてもよい。さまざまな実施形態において、コンピュータ・デバイス１２〜１６はユーザ・デバイスを含み得るか、もしくはアクセス要求を生成する要求エンティティによって使用され得るか、またはその両方であり、このアクセス要求はＤＳＮ内のストレージ・ユニットに対するデータの読取りまたは書込みの要求を含み得る。
【００１７】
各インターフェース３０、３２、および３３は、ネットワーク２４を介した１つ以上の通信リンクを間接的もしくは直接的またはその両方でサポートするためのソフトウェアおよびハードウェアを含む。たとえば、インターフェース３０はコンピュータ・デバイス１４および１６の間の通信リンク（例、有線、ワイヤレス、直接、ＬＡＮ経由、ネットワーク２４経由など）をサポートする。別の例として、インターフェース３２は、コンピュータ・デバイス１２および１６とＤＳＮメモリ２２との間の通信リンク（例、有線接続、ワイヤレス接続、ＬＡＮ接続、もしくはネットワーク２４へ／からの任意のその他のタイプの接続、またはその組み合わせ）をサポートする。さらに別の例として、インターフェース３３は、各々の管理ユニット１８および完全性処理ユニット２０のネットワーク２４に対する通信リンクをサポートする。
【００１８】
コンピュータ・デバイス１２および１６は分散ストレージ（ＤＳ）クライアント・モジュール３４を含み、これは図３〜８の１つ以上を参照して後で説明するとおり、コンピュータ・デバイスがデータを分散ストレージ・エラー符号化および復号することを可能にする。この実施形態例において、コンピュータ・デバイス１６は、コンピュータ・デバイス１４に対する分散ストレージ処理エージェントとして機能する。この役割において、コンピュータ・デバイス１６はコンピュータ・デバイス１４の代わりにデータを分散ストレージ・エラー符号化および復号する。分散ストレージ・エラー符号化および復号の使用によって、ＤＳＮ１０はデータの損失なく、かつデータの冗長またはバックアップ・コピーを必要とせずに顕著な数のストレージ・ユニットの故障に耐える（故障の数は分散ストレージ・エラー符号化関数のパラメータに基づく）。さらに、ＤＳＮ１０はデータ損失なしに安全な方式で無限の期間にわたってデータを保存する（例、このシステムはデータにアクセスする未認可の試みに対して非常に抵抗性が高い）。
【００１９】
動作中に、管理ユニット１８はＤＳ管理サービスを行う。たとえば、管理ユニット１８はコンピュータ・デバイス１２〜１４に対する分散型データ・ストレージ・パラメータ（例、ボールト作成、分散型ストレージ・パラメータ、セキュリティ・パラメータ、請求情報、ユーザ・プロファイル情報など）を個別に、またはユーザ・デバイスのグループの一部として確立する。特定の例として、管理ユニット１８は、ユーザ・デバイス、デバイスのグループ、または公共アクセスに対するＤＳＮメモリ２２内のボールト（例、ＤＳＮのネームスペース全体の一部分に関連する仮想メモリ・ブロック）の作成を調整し、ボールトごとにボールトに対する分散ストレージ（ＤＳ）エラー符号化パラメータを確立する。管理ユニット１８は、ＤＳＮ１０のレジストリ情報を更新することによって各ボールトに対するＤＳエラー符号化パラメータのストレージを促進し、このレジストリ情報はＤＳＮメモリ２２、コンピュータ・デバイス１２〜１６、管理ユニット１８、もしくは完全性処理ユニット２０、またはその組み合わせに保存されてもよい。
【００２０】
ＤＳＮ管理ユニット１８は、ユーザ・プロファイル情報（例、アクセス制御リスト（ＡＣＬ：ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ  ｌｉｓｔ））を作成して、ローカル・メモリもしくはＤＳＮメモリ２２のメモリまたはその両方の中に保存する。ユーザ・プロファイル情報は認証情報、許可、もしくはセキュリティ・パラメータ、またはその組み合わせを含む。セキュリティ・パラメータは暗号化／復号スキーム、１つ以上の暗号化キー、キー生成スキーム、もしくはデータ符号化／復号スキーム、またはその組み合わせを含んでもよい。
【００２１】
ＤＳＮ管理ユニット１８は、特定のユーザ、ユーザ・グループ、ボールト・アクセス、公共ボールト・アクセスなどに対する請求情報を作成する。たとえば、ＤＳＮ管理ユニット１８はユーザが非公共ボールトもしくは公共ボールトまたはその両方にアクセスした回数を追跡し、それを用いてアクセスごとの請求情報を生成できる。別の場合には、ＤＳＮ管理ユニット１８はユーザ・デバイスもしくはユーザ・グループまたはその両方によって保存もしくは検索またはその両方がなされたデータの量を追跡し、それを用いてデータ量ごとの請求情報を生成できる。
【００２２】
別の例として、管理ユニット１８はネットワーク動作、ネットワーク管理、もしくはネットワーク・メンテナンス、またはその組み合わせを行う。ネットワーク動作は、ユーザ・データ割り当て要求（例、読取りもしくは書込みまたはその両方の要求）の認証、ボールトの作成の管理、ユーザ・デバイスに対する認証証明書の確立、ＤＳＮ１０へ／からのコンポーネント（例、ユーザ・デバイス、ストレージ・ユニット、もしくはＤＳクライアント・モジュール３４を有するコンピュータ・デバイス、またはその組み合わせ）の追加／除去、もしくはストレージ・ユニット３６に対する認証証明書の確立、またはその組み合わせを含む。ネットワーク管理は、デバイスおよび／もしくはユニットの故障のモニタ、ボールト情報の維持、デバイスおよび／もしくはユニットの活動化状態の判定、デバイスおよび／もしくはユニットの負荷の判定、またはＤＳＮ１０の性能レベルに影響する任意のその他のシステム・レベル動作の判定、あるいはその組み合わせを含む。ネットワーク・メンテナンスは、ＤＳＮ１０のデバイスもしくはユニットまたはその両方の交換、アップグレード、修理、もしくは拡張、またはその組み合わせの促進を含む。
【００２３】
完全性処理ユニット２０は、「不良」または紛失した符号化データ・スライスの再構築を行う。高レベルにおいて、完全性処理ユニット２０は、ＤＳＮメモリ２２から符号化データ・スライスもしくは符号化データ・スライスのスライス名またはその両方を検索／リストすることを定期的に試みることによって、再構築を行う。検索された符号化スライスに対して、データ破損、古いバージョンなどによるエラーがチェックされる。もしスライスがエラーを含んでいれば、それは「不良」スライスとフラグ付けされる。受信されなかったか、もしくはリストされなかったか、またはその両方である符号化データ・スライスに対して、それらは紛失スライスとフラグ付けされる。不良もしくは紛失またはその両方のスライスはその後、再構築スライスを生成するための良好スライスとみなされた他の検索符号化データ・スライスを用いて再構築される。再構築されたスライスは、ＤＳＮメモリ２２に保存される。
【００２４】
図２はコンピューティング・コア２６の実施形態の概略ブロック図であり、このコンピューティング・コア２６は処理モジュール５０と、メモリ・コントローラ５２と、メイン・メモリ５４と、ビデオ・グラフィックス処理ユニット５５と、入力／出力（ＩＯ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）コントローラ５６と、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）インターフェース５８と、ＩＯインターフェース・モジュール６０と、少なくとも１つのＩＯデバイス・インターフェース・モジュール６２と、リード・オンリ・メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ  ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）６４と、１つ以上のメモリ・インターフェース・モジュールとを含む。１つ以上のメモリ・インターフェース・モジュール（単数または複数）は、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インターフェース・モジュール６６、ホスト・バス・アダプタ（ＨＢＡ：ｈｏｓｔ  ｂｕｓ  ａｄａｐｔｅｒ）インターフェース・モジュール６８、ネットワーク・インターフェース・モジュール７０、フラッシュ・インターフェース・モジュール７２、ハード・ドライブ・インターフェース・モジュール７４、およびＤＳＮインターフェース・モジュール７６のうちの１つ以上を含む。
【００２５】
ＤＳＮインターフェース・モジュール７６は、従来のオペレーティング・システム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）ファイル・システム・インターフェース（例、ネットワーク・ファイル・システム（ＮＦＳ：ｎｅｔｗｏｒｋ  ｆｉｌｅ  ｓｙｓｔｅｍ）、フラッシュ・ファイル・システム（ＦＦＳ：ｆｌａｓｈ  ｆｉｌｅ  ｓｙｓｔｅｍ）、ディスク・ファイル・システム（ＤＦＳ：ｄｉｓｋ  ｆｉｌｅ  ｓｙｓｔｅｍ）、ファイル転送プロトコル（ＦＴＰ：ｆｉｌｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、ウェブ・ベースの分散型オーサリングおよびバージョン管理（ＷｅｂＤＡＶ：ｗｅｂ−ｂａｓｅｄ  ｄｉｓｔｒｉｂｕｔｅｄ  ａｕｔｈｏｒｉｎｇ  ａｎｄ  ｖｅｒｓｉｏｎｉｎｇ）など）、もしくはブロック・メモリ・インターフェース（例、小型コンピュータ・システム・インターフェース（ＳＣＳＩ：ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）、インターネット小型コンピュータ・システム・インターフェース（ｉＳＣＳＩ：ｉｎｔｅｒｎｅｔ  ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）など）、またはその両方を模倣するように機能する。ＤＳＮインターフェース・モジュール７６もしくはネットワーク・インターフェース・モジュール７０またはその両方は、図１のインターフェース３０〜３３の１つ以上として機能してもよい。なお、ＩＯデバイス・インターフェース・モジュール６２もしくはメモリ・インターフェース・モジュール６６〜７６またはその両方は、集合的または個別にＩＯポートと呼ばれることがある。
【００２６】
図３は、データの分散ストレージ・エラー符号化の例の概略ブロック図である。コンピュータ・デバイス１２または１６が保存すべきデータを有するとき、そのコンピュータ・デバイスは分散ストレージ・エラー符号化パラメータに基づく分散ストレージ・エラー符号化プロセスに従ってデータを分散ストレージ・エラー符号化する。ここでコンピュータ・デバイスはデータ・オブジェクト４０を保存し、このデータ・オブジェクト４０はファイル（例、テキスト、ビデオ、オーディオなど）またはその他のデータ配置を含み得る。分散ストレージ・エラー符号化パラメータは、符号化関数（例、情報分散アルゴリズム（ＩＤＡ：ｉｎｆｏｒｍａｔｉｏｎ  ｄｉｓｐｅｒｓａｌ  ａｌｇｏｒｉｔｈｍ）、リード・ソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）、コーシー・リード・ソロモン（Ｃａｕｃｈｙ  Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）、系統的符号化、非系統的符号化、オンライン・コードなど）、データ・セグメント化プロトコル（例、データ・セグメント・サイズ、固定、可変など）、およびデータ・セグメントごとの符号化値を含む。データ・セグメントごとの符号化値は、データ・セグメントの符号化ごとの（すなわち符号化データ・スライスのセット内の）符号化データ・スライスの合計またはピラー幅の数（Ｔ）、データ・セグメントを回復させるために必要な符号化データ・スライスのセットの符号化データ・スライスの復号閾値数（Ｄ）、データ・セグメントを復号するためにストレージから読取るべきセットごとの符号化データ・スライスの数を示すための符号化データ・スライスの読取り閾値数（Ｒ）、もしくは符号化データ・セグメントが適切に保存されたとみなされる前に正確に保存される必要のあるセットごとの符号化データ・スライスの数を示すための書込み閾値数（Ｗ）、またはその組み合わせを含む。分散ストレージ・エラー符号化パラメータはさらに、スライス情報（例、各データ・セグメントに対して作成されることとなる符号化データ・スライスの数）、もしくはスライス・セキュリティ情報（例、符号化データ・スライス暗号化、圧縮、完全性チェックサムなどに対するもの）、またはその両方を含んでもよい。
【００２７】
本例においては、符号化関数としてコーシー・リード・ソロモンが選択されており（一般的な例が図４に示され、特定の例が図５に示されている）、そのデータ・セグメント化プロトコルはデータ・オブジェクトを固定サイズのデータ・セグメントに分割することであり、データ・セグメントごとの符号化値はピラー幅５と、復号閾値３と、読取り閾値４と、書込み閾値４とを含む。データ・セグメント化プロトコルによると、コンピュータ・デバイス１２または１６はデータ・オブジェクト４０を複数の固定サイズのデータ・セグメント（例、キロバイトからテラバイト以上の範囲の固定サイズの１からＹ）に分割する。作成されるデータ・セグメントの数は、データのサイズおよびデータ・セグメント化プロトコルに依存する。
【００２８】
コンピュータ・デバイス１２または１６は、次いで選択された符号化関数（例、コーシー・リード・ソロモン）を用いてデータ・セグメントを分散ストレージ・エラー符号化して、符号化データ・スライスのセットを生成する。図４は一般的なコーシー・リード・ソロモン符号化関数を示しており、この符号化関数は符号化行列（ＥＭ：ｅｎｃｏｄｉｎｇ  ｍａｔｒｉｘ）と、データ行列（ＤＭ：ｄａｔａ  ｍａｔｒｉｘ）と、コード行列（ＣＭ：ｃｏｄｅｄ  ｍａｔｒｉｘ）とを含む。符号化行列（ＥＭ）のサイズは、選択されたデータ・セグメントごとの符号化値のピラー幅数（Ｔ）および復号閾値数（Ｄ）に依存する。データ行列（ＤＭ）を生成するために、データ・セグメントは複数のデータ・ブロックに分割され、それらのデータ・ブロックは１行当りＺのデータ・ブロックを有するＤ数の行に配置される。なお、Ｚはデータ・セグメントから作成されるデータ・ブロックの数と、復号閾値数（Ｄ）との関数である。コード行列は、データ行列に符号化行列を掛けた行列によって生成される。
【００２９】
図５は、ピラー数（Ｔ）５および復号閾値数３によるコーシー・リード・ソロモン符号化の特定の例を示す。この例において、第１のデータ・セグメントは１２のデータ・ブロック（Ｄ１〜Ｄ１２）に分割される。コード行列は５行のコード・データ・ブロックを含み、ここで第１の行Ｘ１１〜Ｘ１４は第１の符号化データ・スライス（ＥＤＳ１＿１）に対応し、第２の行Ｘ２１〜Ｘ２４は第２の符号化データ・スライス（ＥＤＳ２＿１）に対応し、第３の行Ｘ３１〜Ｘ３４は第３の符号化データ・スライス（ＥＤＳ３＿１）に対応し、第４の行Ｘ４１〜Ｘ４４は第４の符号化データ・スライス（ＥＤＳ４＿１）に対応し、第５の行Ｘ５１〜Ｘ５４は第５の符号化データ・スライス（ＥＤＳ５＿１）に対応する。なお、ＥＤＳ名称の２番目の数はデータ・セグメント番号に対応する。
【００３０】
図３の考察に戻って、コンピュータ・デバイスは、符号化データ・スライスのセット内の各符号化データ・スライス（ＥＤＳ：ｅｎｃｏｄｅｄ  ｄａｔａ  ｓｌｉｃｅ）に対してスライス名（ＳＮ：ｓｌｉｃｅ  ｎａｍｅ）も作成する。スライス名８０に対する典型的なフォーマットを図６に示す。示されるとおり、スライス名（ＳＮ）８０は符号化データ・スライスのピラー番号（例、１〜Ｔの１つ）と、データ・セグメント番号（例、１〜Ｙの１つ）と、ボールト識別子（ＩＤ：ｉｄｅｎｔｉｆｉｅｒ）と、データ・オブジェクト識別子（ＩＤ）とを含み、さらに符号化データ・スライスのリビジョン・レベル情報を含んでもよい。スライス名は、ストレージおよびＤＳＮメモリ２２からの検索のための符号化データ・スライスに対するＤＳＮアドレスの少なくとも一部として機能する。
【００３１】
符号化の結果として、コンピュータ・デバイス１２または１６は符号化データ・スライスの複数のセットを生成し、それらにはストレージのためのストレージ・ユニットに対するそれぞれのスライス名が提供される。示されるとおり、符号化データ・スライスの第１のセットはＥＤＳ１＿１からＥＤＳ５＿１を含み、スライス名の第１のセットはＳＮ１＿１からＳＮ５＿１を含み、符号化データ・スライスの最終セットはＥＤＳ１＿ＹからＥＤＳ５＿Ｙを含み、スライス名の最終セットはＳＮ１＿ＹからＳＮ５＿Ｙを含む。
【００３２】
図７は、図４の例において分散ストレージ・エラー符号化されて保存されたデータ・オブジェクトの分散ストレージ・エラー復号の例の概略ブロック図である。この例において、コンピュータ・デバイス１２または１６は、ストレージ・ユニットからデータ・セグメント当り少なくとも復号閾値数の符号化データ・スライスを検索する。特定の例として、コンピュータ・デバイスは読取り閾値数の符号化データ・スライスを検索する。
【００３３】
復号閾値数の符号化データ・スライスからデータ・セグメントを回復させるために、コンピュータ・デバイスは図８に示される復号関数を用いる。示されるとおり、復号関数は本質的に図４の符号化関数の逆関数である。コード行列は復号閾値数の行（例、この例においては３）を含み、復号行列はコード行列の対応する行を含む符号化行列の逆行列である。たとえば、コード行列が行１、２、および４を含むとき、符号化行列は行１、２、および４に縮小され、次いで逆行列にされて復号行列を生成する。
【００３４】
図９は分散ストレージ・ネットワーク（ＤＳＮ）の別の実施形態の概略ブロック図であり、この分散ストレージ・ネットワーク（ＤＳＮ）はＤＳＴ処理ユニット９１０と、複数のリクエスタ９２０と、複数のストレージ・ユニット１〜ｎと、アイデンティティおよびアクセス管理（ＩＡＭ）システム９３０と、図１のネットワーク２４とを含む。ＤＳＴ処理ユニット９１０、いくつかまたはすべてのリクエスタ９２０、いくつかまたはすべてのストレージ・ユニット１〜ｎ、およびＩＡＭシステム９３０は、図１のインターフェース３２、図１のコンピューティング・コア２６、もしくは図１のＤＳクライアント・モジュール３４、またはその組み合わせを含み得る。ＤＳＮのＤＳＴ処理ユニット９１０は、ＩＡＭシステム９３０に送信される認証もしくは認証要求またはその両方をバッチ処理することによってネットワーク輻輳およびシステム利用率を軽減させるように機能するか、もしくは利用率と待ち時間とのトレードオフを最適化するようにその挙動を動的に調整できるか、またはその両方である。
【００３５】
各ストレージ・ユニットは、図１のＤＳＮメモリ２２のストレージ・ユニット３６を使用して実現され得る。ＤＳＴ処理ユニット９１０は、たとえば前述のとおりコンピュータ・デバイス１４に対する分散ストレージ処理エージェントとして機能するコンピュータ・デバイス１６を使用して実現され得るか、もしくはたとえば分散ストレージおよびタスク・ユニットとして機能する１つ以上のストレージ・ユニット３６を使用して実現され得るか、またはその両方である。加えてＤＳＴ処理ユニットは、ＤＳＮメモリ２２のいくつかまたはすべてのストレージ・ユニット３６に対するアクセス要求およびその他の動作要求の実行を促進するために動作可能であるか、ＤＳＮメモリ２２の利用率をモニタするために動作可能であるか、かつ／あるいはネットワーク２４の輻輳もしくはネットワーク利用率またはその両方をモニタするために動作可能である、プロセッサおよびメモリを含む任意のシステムを使用して実現され得る。いくつかまたはすべてのリクエスタ９２０は、コンピュータ・デバイス１２、１４、または１６を使用して実現され得るか、ユーザ・デバイスに対応し得るか、かつ／またはネットワーク２４を介してＤＳＴ処理ユニットに動作要求を送信する責を負うプロセッサおよびメモリを含む任意のシステムを使用して実現され得る。ＩＡＭシステム９３０は、コンピュータ・デバイス１６、図１の管理ユニット１８、完全性処理ユニット２０、またはプロセッサおよびメモリを含みかつＤＳＴ処理ユニット９１０に対する動作要求を認証および／または認可するために動作可能なネットワーク２４と通信する任意のシステムを使用して実現され得る。
【００３６】
リクエスタ９２０がＤＳＮメモリへの動作を開始するとき、そのリクエスタはこうした動作を行うことが許可されていることを確実にするために認可される必要がある。ＩＡＭシステム９３０は、こうした認可を行うために動作可能である。正常利用率条件において、この認可は各動作とインラインで行われ得る。言い換えると、動作が行われるときに直ちに認可が生じる。
【００３７】
しかし、可用性もしくは信頼性またはその両方に影響することを避けるために、ＩＡＭシステムに対するトラフィックを低減することが有利または必要であるような状況が起こることがある。一例は、ＩＡＭシステムが過負荷条件であって、トラフィックの低減がその利用率の低減を助けると考えられるときである。別の例は、ネットワークが異常な輻輳を経験していて、全体のネットワーク・トラフィックの低減がこうした輻輳の軽減を助けると考えられるときである。本明細書に記載される「動的認可バッチ処理の適用（Ａｐｐｌｙｉｎｇ  Ｄｙｎａｍｉｃ  Ａｕｔｈｏｒｉｚａｔｉｏｎ  Ｂａｔｃｈｉｎｇ）」は、こうした条件下でＩＡＭシステムに対するトラフィックを低減するように自身を自動的に調整できる。
【００３８】
「動的認可バッチ処理の適用」は、以下の主要な態様の少なくとも１つを含み得る。（１）ＤＳＴ処理ユニット９１０、もしくはＤＳＮメモリ２２の別のエレメント、またはその両方がシステムの現在の容量および利用率の理解を得るためのプロセス、（２）将来の認可要求のフロー制御を最適化するためのその理解の適用、および（３）こうした最適化をモニタしてその利益を定量可能に測定すること。
【００３９】
現在のシステム容量および利用率を理解することの一部として、ＤＳＴ処理ユニット９１０は最初に、たとえばネットワーク２４のネットワーク・スイッチもしくはその他のルーティング・コンポーネント、ＩＡＭシステム９３０、ストレージ・ユニット１〜ｎ、またはＤＳＮのその他のコンポーネント、あるいはその組み合わせなど、認可プロセスに関与する異なるシステム・コンポーネントおよびそれらの潜在的容量を認識し得る。こうした情報は、構成および／または動的コンポーネントならびにネットワーク・トポロジ―発見を介して得られてもよい。
【００４０】
次に、ＤＳＮメモリは各システム・コンポーネントの現在の利用率と、それがどのようにそれら全体の能力に影響するかとを動的に認識し得る。たとえば、ＤＳＴ処理ユニット９１０は、定期的な容量広告を介してＩＡＭシステム９３０の容量および利用パーセンテージに関して動的に学習し得る。代替的または付加的に、ＤＳＴ処理ユニット９１０は、認可プロセスの間に横断されるネットワーク２４のいくつかまたはすべてのネットワーク・スイッチもしくはその他のさまざまなネットワーク・エレメントまたはその両方の輻輳および利用率を定期的に問い合わせ得る。
【００４１】
たとえば図１０に示されるとおり、ＤＳＴ処理ユニット９１０からＩＡＭシステム９３０への認可要求は、ネットワーク２４の複数のネットワーク・スイッチ１〜ｎを介してルーティングされ得る。いくつかまたはすべてのネットワーク・スイッチ１〜ｎは、図１１のスイッチ９６０を使用して実現でき、このスイッチ９６０は少なくとも１つのネットワーク・インターフェース９６２と、メモリ９６４と、処理システム９６６とを含み、これらすべてがバス９６８を介して接続されている。スイッチ１〜ｎはメモリ９６４に実行可能な命令を保存するために動作可能であってもよく、その命令は処理システム９６６によって実行されるとき、スイッチ９６０に少なくとも１つのネットワーク・インターフェース９６２の１つ以上のポートを介して、ネットワーク２４の他のスイッチもしくはその他のコンポーネントまたはその両方に対する有線もしくはワイヤレスまたはその両方の接続を介したネットワーク・トラフィックを送信および受信させる。加えて、いくつかまたはすべてのネットワーク・スイッチ１〜ｎは、たとえば経験したネットワーク・トラフィックもしくは輻輳またはその両方などに基づいて、利用率データをモニタしてＤＳＴ処理ユニットに送信するために動作可能であり得る。代替的に、いくつかまたはすべてのネットワーク・スイッチ１〜ｎに対するネットワーク・トラフィックもしくは輻輳またはその両方は、ＤＳＴ処理ユニット９１０への送信のためにＤＳＮの他のエンティティによってモニタされ得る。
【００４２】
いくつかの実施形態において、ＤＳＴ処理ユニットは、ＩＡＭシステムもしくはネットワーク・エレメントまたはその両方から受信した複数の利用率レベルに基づいて現在の利用率データを生成し、ここでたとえば利用率データは、受信した利用率レベルの合計、平均、もしくは集計分析、またはその組み合わせに基づいて生成される。複数の利用率レベルは、ＤＳＴ処理ユニット９１０によって生成されてＤＳＮメモリの複数のコンポーネントに送信される複数の利用率レベル要求に応答して受信され得る。ＤＳＴ処理ユニット９１０は、予め定められた時間間隔で、要求を受信したことに応答して、システム利用率が変化したと判定したことに応答して、ＩＡＭシステム９３０から要求もしくはその他の情報を受信したことに応答して、かつ／または他の要素に基づく決定によって、複数の利用率レベルを要求することを決定できる。ＤＳＴ処理ユニット９１０は、たとえば認可プロセスに異なるコンポーネントが関与していると判定したことなどに応答して、後の時間における利用率データのその後の決定において利用率レベルを要求すべき異なる複数のコンポーネントを決定できる。さまざまな実施形態において、ＤＳＮの１つ以上の他のエレメントは報告される利用率の収集もしくは利用率データの決定またはその両方に対する責を負い、ＤＳＴ処理ユニット９１０は１つ以上の他のエレメントからの利用率データを要求し得るか、もしくは別様に利用率データを受信し得るか、またはその両方である。
【００４３】
現在のシステム容量が学習されると、ＤＳＮメモリはその理解を適用して認可要求に対する動的バッチ処理を行い得る。バッチ処理法は、システム輻輳の期間中のリクエスタ感知待ち時間の最適化を（リクエスタ感知待ち時間を犠牲にして）優先し得る。代替的または付加的に、バッチ処理法はシステム輻輳の深刻度に依存して、いくつの要求をともにバッチ処理するかの点でより積極的になり得る。
【００４４】
動作の一例において、リクエスタ９２０は、認可を必要とする動作要求をＤＳＴ処理ユニット９１０に送信し得る。たとえば動作要求は、分散ストレージ・エラー符号化されて複数のストレージ・ユニット１〜ｎに保存されたデータ・オブジェクトに関与する読取り要求、書込み要求、アクセス要求、または別のタイプの要求などを含み得る。ＤＳＴ処理ユニット９１０は、システムが正常利用率条件内にあると判定したことに応答して、動作要求を受信するとＩＡＭシステム９３０に認可要求を自動的に送信し得る。たとえばＤＳＴ処理ユニット９１０は、現在の利用率データのシステム利用率レベルを構成された正常利用率閾値と比較でき、システム利用率レベルが正常利用率閾値と比べて好ましいときには、そのシステム利用率レベルが正常システム利用率を示すと判定できる。ＩＡＭシステム９３０は、受信した認可要求に基づいてリクエスタからの動作要求が認可されるかどうかを判定でき、応答において認可成功または認可失敗を送信できる。ＩＡＭシステム９３０から認可成功を受信するとき、ＤＳＴ処理ユニット９１０はそれによって動作要求を実行できる。認可失敗を受信するとき、ＤＳＴ処理ユニットは要求の実行を控えることができ、かつ／またはリクエスタおよび／もしくは動作要求に示されるデータの責を負うとみなされるエンティティへの送信のための認可失敗通知を生成できる。
【００４５】
時間とともに、たとえば複数のＤＳＮコンポーネントの複数のその後の利用率レベルに基づいて生成されるその後の利用率データに基づいて、ＤＳＴ処理ユニット９１０はシステムが過剰利用されていると判定し得る。たとえばＤＳＴ処理ユニットは、利用率データが正常利用率閾値と比べて好ましくないと判定することで、システムが過剰利用されていると判定し得る。システムが過剰利用されていると判定したことに応答して、１つ以上のリクエスタ９２０からＤＳＴ処理ユニットに新たな動作要求が送信されるときに、対応する認可要求は直接ＩＡＭシステム９３０に送信されるのではなく、キューに入れられる。たとえば認可要求は、キャッシュもしくはたとえばＤＳＴ処理ユニット９１０のコンピューティング・コアのメモリ５４などのローカル・メモリ、またはその両方のキュー９１５に保存され得る。
【００４６】
その後ＤＳＴ処理ユニット９１０は、キュー内のいくつかまたはすべての認可要求をバッチ要求として送信することを決定し得る。ＤＳＴ処理ユニットは、応答においてキュー内の要求に対応する認可要求情報を含ませるための単一のバッチ要求を生成でき、その単一のバッチ要求をＩＡＭシステム９３０に送信できる。ＤＳＴ処理ユニット９１０は、要求キューがキュー制限条件と比べて好ましくないと判定したことに基づいて、キュー要求を送信するというこの決定を行い得る。たとえばＤＳＴ処理ユニット９１０は、キュー内の認可要求の数がキュー・サイズ閾値と一致するか、またはそれを超えていると判定したことに応答して、キューに入れられた認可要求をバッチ要求として送信できる。代替的または付加的に、ＤＳＴ処理ユニット９１０は、キュー内の第１の要求を受信してからの時間がキュー時間制限と一致するか、またはそれを超えていると判定したことに応答して、キュー内の認可要求をバッチ要求として送信することを決定できる。さまざまな実施形態において、ＤＳＴ処理ユニット９１０は、これらの条件のいずれかが起こったことに応答するか、もしくは複数のキュー制限条件のうちの最初に引き起こされた１つに応答するか、またはその両方に応答して、キュー内の認可要求をバッチ要求として送信することを決定する。本明細書において考察されるとおり、要求キューのバッチ処理および送信を自動的に引き起こすこのキュー制限条件は、現在のシステム利用率データに基づいてＤＳＴ処理ユニット９１０によって定められ得る。
【００４７】
ＩＡＭシステム９３０は、バッチ要求内の対応する複数の要求の各々に対する認可要求情報を抽出して、バッチ要求の複数の要求の各々に対する認可の成功または失敗を判定できる。ＩＡＭシステム９３０は、バッチ要求の複数の認可要求の各々の成功または失敗を示すバッチ応答を生成し得る。たとえば、各要求に対する成功または失敗を示す認可応答が定められるとき、ＩＡＭシステム９３０によってそれらの認可応答がキューに入れられ得る。バッチ要求の各々の要求に対する認可応答が生成されるとき、ＩＡＭシステム９３０はそのキュー内の認可応答を単一のバッチ応答としてＤＳＴ処理ユニット９１０に送り返し得る。代替的に、ＩＡＭシステム９３０は認可応答が生成されたときに、それを一度に１つずつＤＳＴ処理ユニット９１０に送り返し得る。
【００４８】
いくつかの実施形態において、ＩＡＭシステム９３０は、たとえば自身のサイズ閾値もしくはキュー時間制限またはその両方などの、自身のキュー制限条件に基づいてバッチ応答を生成し得る。たとえばＩＡＭシステム９３０は、バッチ要求内の要求の一部のみに対する応答を示すバッチ応答をＤＳＴ処理ユニット９１０に送信することを決定し得る。反対にＩＡＭシステム９３０は、すべての要求が処理された後もキュー内の応答を保って、ＤＳＴ処理ユニット９１０からのさらなるバッチ要求が受信されてキューに含まれるように処理されるのを待つことを決定してもよく、複数のバッチ要求に対応する応答のキューを単一のバッチ応答として送信し得る。
【００４９】
ＤＳＴ処理ユニット９１０は、たとえば利用率データを正常利用率閾値と比較することなどによって、システムが正常利用率レベルに戻ったことを判定でき、リクエスタから対応する動作要求を受信した際に、バッチ処理なしでＩＡＭシステムに認可要求を再び送信することを決定し得る。
【００５０】
バッチ処理の有効性は、ＤＳＴ処理ユニットまたはＤＳＮ内の１つ以上の他のエンティティによって、経時的にＤＳＮのコンポーネントによって報告されるシステム容量およびその他の統計を観察することによって測定され得る。たとえばＤＳＴ処理ユニット９１０は、ＤＳＴ処理ユニット９１０とＩＡＭシステム９３０との間の認可要求速度をモニタし得る。代替的または付加的に、ＤＳＴ処理ユニット９１０は、輻輳または輻輳に関連する速度制限のために起こる失敗認可要求をモニタし得る。代替的または付加的に、ＤＳＴ処理ユニット９１０は、いくつかまたはすべてのリクエスタの感知待ち時間をモニタし得る。正常利用率の条件下で、リクエスタ感知待ち時間は短いはずであり、認可要求速度は高いはずである。システムがより高い利用率レベルになるとき、リクエスタ感知待ち時間は増加するはずであり、認可要求速度は減少するはずである。この自己調整は、システムを正常利用率に戻すこと、正常なユーザ感知待ち時間に戻すこと、もしくは低い認可失敗率を維持すること、またはその組み合わせを助け得る。
【００５１】
この自己調整を行うために、たとえばＤＳＴ処理ユニット９１０もしくはＩＡＭシステム９３０またはその両方のキュー・サイズ閾値もしくはキュー時間制限またはその両方などのキュー制限条件は、変化するシステム利用率に基づいて異なる値に設定されてもよく、よって更新された利用率データを受信する際の利用率データの関数であり得る。たとえば、システム利用率が大過剰利用率から低減してほんのわずかな過剰利用になったと判定したことに応答して、ＤＳＴ処理ユニット９１０は、より小さいバッチ要求の送信もしくはより頻度の高いバッチ要求の送信またはその両方を開始し得る。反対に、システム利用率がわずかな過剰利用率から増加して大過剰利用になったと判定したことに応答して、ＤＳＴ処理ユニット９１０は、より大きいバッチ要求の送信もしくはより頻度の低いバッチ要求の送信またはその両方を開始し得る。システムが正常利用率レベルにあると判定したことに応答して、ＤＳＴ処理ユニットは認可要求をバッチ処理なしで直ちに送信し得る。ＩＡＭシステム９３０は、変化するシステム利用率に基づいて、より大きいバッチ応答およびより小さいバッチ応答の送信、または頻度がより高いかもしくは低いバッチ応答の送信、あるいはその両方を類似のやり方で決定し得る。システム利用率が経時的に変化するとき、たとえばＤＳＮコンポーネントの新たな利用率レベルが収集されて更新利用率データが生成されるときなどに、それに従って応答においてＤＳＴ処理ユニット９１０もしくはＩＡＭシステム９３０またはその両方によって、キュー・サイズ閾値もしくはキュー時間制限またはその両方が更新され得る。
【００５２】
いくつかの実施形態において、たとえばキュー・サイズ閾値もしくはキュー時間制限またはその両方などのキュー制限条件は、システムの測定された有効性、いくつかもしくはすべてのリクエスタの感知待ち時間要件、またはたとえば輻輳もしくは輻輳に関連する速度制限などによって起こる失敗認可要求の数もしくは割合、あるいはその組み合わせの関数でもあり得る。たとえば、失敗認可要求の割合が閾値を超えるとき、ＤＳＴ処理ユニット９１０は、キュー・サイズ閾値もしくはキュー時間制限またはその両方を増加させることを決定し得る。別の例として、いくつかまたはすべてのリクエスタのリクエスタ感知待ち時間が待ち時間の時間制限を超えるとき、ＤＳＴ処理ユニットは、キュー・サイズ閾値もしくはキュー時間制限またはその両方を減少させることを決定し得る。キュー制限条件はこれらの要素のいくつかまたはすべての関数であってもよく、これらの要素には重みが割り当てられてもよく、その重みはこの自己調整の一部として経時的に変化し得る。いくつかの実施形態において、キュー制限条件を定めることは、これらの割り当てられた重みを使用することによって、それに従ってリクエスタ感知待ち時間、ネットワーク利用率、ＩＡＭ輻輳、もしくは失敗認可要求の割合、またはその組み合わせの間のトレードオフを最適化するための最適化機能を行うことを含み得る。
【００５３】
いくつかの実施形態において、利用率データのシステム利用率レベルは、たとえば報告される利用率の集合体と、複数のシステム利用率レベル閾値とを比較することなどによって定められ得る。たとえば、利用率データをＮのシステム利用率レベルと比較することによって、そのシステムの利用率が利用率増加中のＮのシステム利用率レベルの１つの中にあることが定められ得る。キュー・サイズ閾値もしくはキュー時間制限またはその両方は、Ｎの増加関数であり得るか、もしくは別様にシステム利用率レベルの増加関数であり得るか、またはその両方である。最低レベルは正常利用率レベルに相当してもよく、ここでキュー・サイズ閾値は１に設定されるか、もしくはキュー時間制限は動作要求を受信したときに認可要求を送信することを示すか、またはその両方である。
【００５４】
代替的または付加的に、利用率レベルはシステムの過剰利用率の値を示してもよく、これは正常利用率閾値からの利用率データの利用率の差を算出することによって定められ得る。たとえば、利用率データの集計利用率値から正常利用率閾値を引いて利用率の差を計算でき、ここで集計利用率値は複数の受信した利用率レベルに基づいて算出される。利用率データが正常利用率閾値と比べて好ましくないとき、キュー・サイズ閾値もしくはキュー時間制限またはその両方は、利用率の差の増加関数であり得る。利用率データが正常利用率閾値と比べて好ましく、正常利用率レベルを示しているとき、キュー・サイズ閾値は１に設定され得るか、もしくはキュー時間制限は動作要求を受信したときに認可要求を送信することを示し得るか、またはその両方である。過剰利用率はＤＳＴ処理ユニット９１０によって、複数の利用率レベルの重み付き和、重み付き平均、もしくはその他の重み付き関数、またはその組み合わせとして計算されてもよく、ここで各々の受信利用率レベルの対応する重みは、対応するＤＳＮコンポーネントがどれほどシステム待ち時間に影響すると判定されるかに基づいている。
【００５５】
ＩＡＭシステム９３０によって定められる利用率データもしくは対応するキュー制限条件またはその両方は、たとえばＤＳＴ処理ユニットにとって未知であるか、またはＤＳＴ処理ユニットに無関係であるＩＡＭシステムの輻輳要素の結果として、ＤＳＴ処理ユニット９１０とは異なるものであり得る。たとえば図１２に示されるとおり、いくつかの実施形態は、ＩＡＭシステム９３０に認可要求を送信する複数のＤＳＴ処理ユニット９１０を含み得る。こうした実施形態において、ＩＡＭシステムは、すべてが自身のバッチ認可要求または非バッチ認可要求を送信しているシステム内の複数のＤＳＴ処理ユニット９１０から受信したトラフィックに基づいて、自身の利用率データを定め得る。単一のＤＳＴ処理ユニット９１０は、他のＤＳＴ処理ユニット９１０によって引き起こされたこのトラフィックを自身のキュー制限条件を定めるときに考慮しないかもしれず、かつ／または、たとえば異なる輻輳および／もしくは利用率データ、リクエスタの優先度および／もしくは異なる感知リクエスタ待ち時間要件、あるいはＩＡＭシステム９３０にとって未知であるか、もしくはＩＡＭシステム９３０と無関係のその他の要素などの異なる要素を考慮するかもしれず、それによって異なるキュー・サイズ閾値もしくは異なるキュー時間制限またはその両方がもたらされるかもしれない。代替的にＩＡＭシステム９３０は、複数のＤＳＴ処理ユニット９１０からのトラフィックに基づく容量情報、ネットワーク・トラフィック・データ、もしくは輻輳情報を、いくつかまたはすべてのＤＳＴ処理ユニット９１０に送信し得る。いくつかまたはすべてのＤＳＴ処理ユニット９１０は、自身の利用率データを定めるときにこの情報を用いることを定め得る。こうした実施形態において、この戦略は、たとえばシステム全体の利用率の変化などに応答して、ＩＡＭシステムといくつかまたはすべてのＤＳＴ処理ユニット９１０との間でキュー・サイズ閾値もしくはキュー時間制限またはその両方を同期させるために用いられ得る。代替的にＩＡＭシステム９３０は、デフォルトで対応するＤＳＴ処理ユニットのバッチ要求の数と一致するように自身のバッチ応答を生成でき、よって自身のキュー制限条件を定めることがない。
【００５６】
いくつかの実施形態において、ＤＳＴ処理ユニット９１０は、キュー内の１つ以上の要求が緊急もしくは別様に優先度の高い動作タイプに対応するか、または優先度の高いリクエスタに対応するか、あるいはその両方であると判定したことに応答して、キュー内の認可要求をバッチ要求として送信することを決定し得る。いくつかの実施形態において、優先度の高い動作はキュー制限条件より優先でき、ここで要求キュー内のいくつかまたはすべての要求は、キュー制限条件に達する前にバッチ処理されて送信される。たとえばＤＳＴ処理ユニット９１０は、要求を受信した際に受信した要求の優先度が高いか否かを判定し得る。その要求の優先度が高いと判定したことに応答して、ＤＳＴ処理ユニット９１０は、優先度の高い動作に対応する認可要求をすでにキュー内にある認可要求とともにＩＡＭシステムへの送信のためにバッチ処理することを決定してもよいし、キュー内に他の認可要求がないときには優先度の高い動作に対応する単一の認可要求を送信することを決定してもよい。別の例として、キュー内のいくつかまたはすべての要求は、対応する動作期限もしくは認可期限またはその両方を有してもよく、それはＤＳＴ処理ユニットによって定められるか、もしくは要求に含まれるか、またはその両方である。ＤＳＴ処理ユニットは、認可キュー内の任意の要求の動作期限もしくは認可期限またはその両方が近づいていると判定したことに応答し、かつ／あるいは現在の時間が動作期限もしくは認可期限またはその両方と比べて好ましくないと別様に判定したことに応答して、キュー内のすべての要求によるバッチ認可要求の生成を進めて、そのバッチ認可要求をＩＡＭシステムに送信し得る。
【００５７】
リクエスタ９２０のこうした優先度決定は、リクエスタ感知待ち時間がキュー制限条件の決定に使用される要素であるような実施形態において使用され得る。キュー制限条件は、複数のリクエスタ９２０のリクエスタ感知待ち時間の関数であってもよく、それはリクエスタ９２０に割り当てられた優先度、もしくはリクエスタ９２０によって送信された動作要求に割り当てられた優先度、またはその両方によって重み付けされ得る。たとえば、より優先度の高いリクエスタ９２０により高い重みが割り当てられることによって、キュー・サイズ閾値もしくはキュー時間制限またはその両方がより大きく低減し、結果として優先度の高いリクエスタの感知待ち時間がより大きく低減する（おそらくはＩＡＭシステム９３０に対するシステム利用率もしくは輻輳またはその両方が犠牲になる）。一方で、より優先度の低いリクエスタは同じやり方で優先されなくてもよく、感知待ち時間の改善はもっと少ないか、または改善されない。
【００５８】
さまざまな実施形態において、分散ストレージおよびタスク（ＤＳＴ）処理ユニットの処理システムは少なくとも１つのプロセッサと、動作命令を保存するメモリとを含み、この動作命令は少なくとも１つのプロセッサによって実行されるときに、処理システムが第１のシステム利用率データを定めるようにさせる。第１の動作要求が受信され、第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、第１の動作要求に対応する第１の認可要求を含む第１の要求キューが生成される。第１のシステム利用率データに基づいて第１の要求キューを生成することに応答して、第１のキュー制限条件が定められる。第１の後続動作要求に対応する第１の後続認可要求が受信されて、第１の要求キューに付加される。第１の要求キューが第１のキュー制限条件と比べて好ましくないと判定したことに応答して、第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求が生成される。第１の要求キューの第１の複数の認可要求に対応して、ＩＡＭシステムに対する第１のバッチ認可要求および第１の複数の認可応答がＩＡＭシステムから受信される。認可成功を示す第１の複数の認可応答の第１のサブセットが識別され、第１の複数の認可応答の第１のサブセットに対応する複数の動作要求のサブセットの実行が促進される。
【００５９】
第２のシステム利用率データが定められ、第２の動作要求が受信される。第２のシステム利用率データが正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、第２の動作要求に対応する第２の認可要求を含む第２の要求キューが生成され、ここで第２の利用率レベルは第１の利用率レベルとは異なる。第２のシステム利用率データに基づいて第２の要求キューを生成することに応答して第２のキュー制限条件が定められ、ここで第２のキュー制限条件は第１のキュー制限条件とは異なる。第２の後続動作要求に対応する第２の後続認可要求が受信されて、第２の要求キューに付加される。
【００６０】
さまざまな実施形態において、第２の要求キューが第２のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求が生成され、第２のバッチ認可要求はＩＡＭシステムに送信される。
【００６１】
さまざまな実施形態において、第３のシステム利用率データが定められる。第３のシステム利用率データに基づいて第３のキュー制限条件が定められ、ここで第３のキュー制限条件は第２のキュー制限条件とは異なる。第３のキュー制限条件を定めることに応答し、かつ第２の要求キューが第３のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求が生成され、ここで第２の要求キューは第２のキュー制限条件と比べて好ましい。第２のバッチ認可要求はＩＡＭシステムに送信される。
【００６２】
図１３〜１５は、動的認可バッチ処理の例を示す流れ図である。特に図１３は、図１〜１２とともに説明した１つ以上の機能および特徴と関連して用いるための方法を提供するものであり、この方法は、プロセッサを含む分散ストレージおよびタスク（ＤＳＴ）処理ユニットによる実行か、または少なくとも１つのプロセッサと、以下に説明されるステップを行うようにその単数もしくは複数のプロセッサを構成する命令を保存するメモリとを含む分散ストレージ・ネットワークの別の処理システムを介した実行のためのものである。
【００６３】
ステップ１００２は、第１のシステム利用率データを定めるステップを含む。ステップ１００４は、第１の動作要求を受信するステップを含む。ステップ１００６は、第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、第１の動作要求に対応する第１の認可要求を含む第１の要求キューを生成するステップを含む。ステップ１００８は、第１のシステム利用率データに基づいて第１の要求キューを生成するステップに応答して、第１のキュー制限条件を定めるステップを含む。
【００６４】
ステップ１０１０は、第１の後続動作要求を受信するステップを含む。ステップ１０１２は、第１の後続動作要求に対応する第１の後続認可要求を第１の要求キューに付加するステップを含む。ステップ１０１４は、第１の要求キューが第１のキュー制限条件と比べて好ましくないと判定したことに応答して、第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求を生成するステップを含む。ステップ１０１６は、第１のバッチ認可要求をアイデンティティおよびアクセス管理（ＩＡＭ）システムに送信するステップを含む。ステップ１０１８は、第１の要求キューの第１の複数の認可要求に対応する第１の複数の認可応答をＩＡＭシステムから受信するステップを含む。ステップ１０２０は、認可成功を示す第１の複数の認可応答の第１のサブセットを識別するステップを含む。ステップ１０２２は、第１の複数の認可応答の第１のサブセットに対応する複数の動作要求のサブセットの実行を促進するステップを含む。
【００６５】
ステップ１０２４は、第２のシステム利用率データを定めるステップを含む。ステップ１０２６は、第２の動作要求を受信するステップを含む。ステップ１０２８は、第２のシステム利用率データが正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、第２の動作要求に対応する第２の認可要求を含む第２の要求キューを生成するステップを含み、ここで第２の利用率レベルは第１の利用率レベルとは異なる。ステップ１０３０は、第２のシステム利用率データに基づいて第２の要求キューを生成するステップに応答して第２のキュー制限条件を定めるステップを含み、ここで第２のキュー制限条件は第１のキュー制限条件とは異なる。ステップ１０３２は、第２の後続動作要求を受信するステップを含む。
【００６６】
図１３のステップ１０３２の後、この方法は図１４に示されるステップ１０３４に続き得る。ステップ１０３４は、第２の後続動作要求に対応する第２の後続認可要求を第２の要求キューに付加するステップを含む。ステップ１０３６は、第２の要求キューが第２のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップを含む。ステップ１０３８は、第２のバッチ認可要求をＩＡＭシステムに送信するステップを含む。
【００６７】
図１５に示されるとおり、さまざまな実施形態において、図１３の方法は図１３のステップ１０３２からステップ１０３４に続くことができ、ステップ１０３４は再び、第２の後続動作要求に対応する第２の後続認可要求を第２の要求キューに付加するステップを含む。この方法はステップ１０３４からステップ１０４０に続くことができ、ステップ１０４０は第３のシステム利用率データを定めるステップを含む。ステップ１０４２は、第３のシステム利用率データに基づいて第３のキュー制限条件を定めるステップを含み、ここで第３のキュー制限条件は第２のキュー制限条件とは異なる。ステップ１０４４は、第３のキュー制限条件を定めるステップに応答し、かつ第２の要求キューが第３のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求を生成するステップを含み、ここで第２の要求キューは第２のキュー制限条件と比べて好ましい。ステップ１０４６は、第２のバッチ認可要求をＩＡＭシステムに送信するステップを含む。
【００６８】
さまざまな実施形態において、第３のシステム利用率データが定められ、第３の動作要求が受信される。第３のシステム利用率データが正常利用率閾値と比べて好ましいシステム利用率レベルを示していると判定したことに応答して、第３の動作要求に対応する第３の認可要求を単一の認可要求としてＩＡＭシステムに送信することが決定される。第３の認可要求に対応する単一の認可応答がＩＡＭシステムから受信される。単一の認可応答が認可成功を示すとき、第３の動作要求の実行が促進される。
【００６９】
さまざまな実施形態において、認可失敗を示す第１の複数の認可応答の第２のサブセットが識別され、ここで第１の複数の認可応答の第２のサブセットと、第１の複数の認可応答の第１のサブセットとの共通部分は空である。第１の複数の認可応答の第２のサブセットに対応する複数の動作要求の第２のサブセットを送信した複数のリクエスタのサブセットが識別される。その複数のリクエスタのサブセットへの送信のために、認可失敗通知が生成される。
【００７０】
さまざまな実施形態において、ＩＡＭシステムによって生成された第１のバッチ認可応答において、第１の複数の認可応答が受信される。さまざまな実施形態において、第１の複数の認可応答の少なくとも１つの第１の応答は第１の時間の第１の送信において受信され、第１の複数の認可応答の少なくとも１つの第２の応答は第２の時間の第２の送信において受信され、第１の時間は第２の時間とは異なる。
【００７１】
さまざまな実施形態において、第１の動作要求はデータ・オブジェクトを示す読取り要求を含み、ここではＤＳＮのストレージ・ユニットのセットに保存される符号化データ・スライスのセットを生成するために、データ・オブジェクトのデータ・セグメントに対して分散ストレージ・エラー符号化機能が行われている。第１の動作要求に対応する認可応答は認可成功を示し、第１の動作要求を実行するステップは、ストレージ・ユニットのセットから読取り閾値数の符号化データ・スライスのセットを検索するステップと、読取り閾値数の符号化データ・スライスのセットに対して分散ストレージ・エラー復号機能を行ってデータ・セグメントを再生するステップとを含む。
【００７２】
さまざまな実施形態において、ＤＳＮのネットワーク・コンポーネントのセットから第１の複数のネットワーク利用率レベルが受信され、この第１の複数のネットワーク利用率レベルに基づいて第１のシステム利用率データが生成される。ＤＳＮのネットワーク・コンポーネントのセットから第２の複数のネットワーク利用率レベルが受信され、この第２の複数のネットワーク利用率レベルに基づいて第２のシステム利用率データが生成される。さまざまな実施形態において、ＤＳＮのネットワーク・コンポーネントのセットは、ＤＳＮの複数のネットワーク・コンポーネントのサブセットである。ネットワーク・コンポーネントのセットは、ＤＳＮの複数のネットワーク・コンポーネントのうち動作要求の認可に関与しているものを識別することに基づいて定められる。ＤＳＮのネットワーク・コンポーネントのセットに送信するための第１の複数のネットワーク利用率レベル要求が生成され、この第１の複数のネットワーク利用率レベル要求に応答して第１の複数のネットワーク利用率レベルが受信される。さまざまな実施形態において、ネットワーク・コンポーネントのセットは、認可要求をＤＳＴ処理ユニットからＩＡＭシステムにルーティングするように定められた複数のネットワーク・スイッチを含む。
【００７３】
さまざまな実施形態において、ＩＡＭシステムから第１のＩＡＭ利用率レベルが受信され、この第１のＩＡＭ利用率レベルに基づいて第１のシステム利用率データが生成される。ＩＡＭシステムから第２のＩＡＭ利用率レベルが受信され、この第２のＩＡＭ利用率レベルに基づいて第２のシステム利用率データが生成される。第１のＩＡＭ利用率レベルおよび第２のＩＡＭ利用率レベルは、ＩＡＭシステムに対するネットワーク・トラフィックに基づいてＩＡＭによって生成される。
【００７４】
さまざまな実施形態において、第１のキュー制限条件は第１のキュー・サイズ閾値を示し、第２のキュー制限条件は第２のキュー・サイズ閾値を示す。第１の利用率レベルが第２の利用率レベルよりも深刻な過剰利用を示していることに基づいて、第１のキュー・サイズ閾値は第２のキュー・サイズ閾値よりも大きい。応答において、第１のバッチ認可要求の第１の複数の認可要求の第１の数は、第２のバッチ認可要求の第２の複数の認可要求の第２の数よりも大きい。さまざまな実施形態において、第１のキュー制限条件を定めるステップは、第１の利用率レベルに対する機能を行うことによって第１のキュー・サイズ閾値を算出するステップを含み、第２のキュー制限条件を定めるステップは、第２の利用率レベルに対する機能を行うことによって第２のキュー・サイズ閾値を算出するステップを含む。この機能は、利用率レベルの単調増加関数としてキュー・サイズ閾値を算出する。
【００７５】
さまざまな実施形態において、第１のキュー制限条件は第１のキュー時間制限を示し、第２のキュー制限条件は第２のキュー時間制限を示す。第２の利用率レベルが第１の利用率レベルよりも深刻でない過剰利用を示していることに基づいて、第１のキュー時間制限は第２のキュー時間制限よりも短い。応答において、第１の要求キューの生成から第１のバッチ認可要求の生成までに経過した第１の時間は、第２の要求キューの生成から第２のバッチ認可要求の生成までに経過した第２の時間よりも短い。さまざまな実施形態において、第１のキュー制限条件を定めるステップは、第１の利用率レベルに対する機能を行うことによって第１のキュー時間制限を算出するステップを含み、第２のキュー制限条件を定めるステップは、第２の利用率レベルに対する機能を行うことによって第２のキュー時間制限を算出するステップを含む。この機能は、利用率レベルの単調増加関数としてキュー時間制限を算出する。さまざまな実施形態において、第１のキュー制限条件は第１のキュー時間制限を含み、第２のキュー制限条件は第２のキュー時間制限を含み、第１のキュー時間制限がリクエスタ感知待ち時間要件と比べて好ましくないと判定したことに応答して、第２のキュー時間制限は第１のキュー時間制限よりも短くなるように定められる。
【００７６】
さまざまな実施形態において、第２のキュー制限条件を定めるステップはさらに、第１の複数の認可応答の失敗認可応答の割合が失敗応答閾値と比べて好ましくないと判定したことに基づく。
【００７７】
さまざまな実施形態において、非一時的コンピュータ可読ストレージ媒体は、動作命令を保存する少なくとも１つのメモリ・セクションを含み、この動作命令は、プロセッサおよびメモリを含む分散ストレージ・ネットワーク（ＤＳＮ）の処理システムによって実行されるときに、処理システムが第１のシステム利用率データを定めるようにさせる。第１の動作要求が受信され、第１のシステム利用率データが正常利用率閾値と比べて好ましくない第１の利用率レベルを示していると判定したことに応答して、第１の動作要求に対応する第１の認可要求を含む第１の要求キューが生成される。第１のシステム利用率データに基づいて第１の要求キューを生成することに応答して、第１のキュー制限条件が定められる。第１の後続動作要求に対応する第１の後続認可要求が受信されて、第１の要求キューに付加される。第１の要求キューが第１のキュー制限条件と比べて好ましくないと判定したことに応答して、第１の要求キューの第１の複数の認可要求を含む第１のバッチ認可要求が生成される。第１の要求キューの第１の複数の認可要求に対応して、ＩＡＭシステムに対する第１のバッチ認可要求および第１の複数の認可応答がＩＡＭシステムから受信される。認可成功を示す第１の複数の認可応答の第１のサブセットが識別され、第１の複数の認可応答の第１のサブセットに対応する複数の動作要求のサブセットの実行が促進される。
【００７８】
第２のシステム利用率データが定められ、第２の動作要求が受信される。第２のシステム利用率データが正常利用率閾値と比べて好ましくない第２の利用率レベルを示していると判定したことに応答して、第２の動作要求に対応する第２の認可要求を含む第２の要求キューが生成され、ここで第２の利用率レベルは第１の利用率レベルとは異なる。第２のシステム利用率データに基づいて第２の要求キューを生成することに応答して第２のキュー制限条件が定められ、ここで第２のキュー制限条件は第１のキュー制限条件とは異なる。第２の後続動作要求に対応する第２の後続認可要求が受信されて、第２の要求キューに付加される。
【００７９】
さまざまな実施形態において、第２の要求キューが第２のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求が生成され、第２のバッチ認可要求はＩＡＭシステムに送信される。
【００８０】
さまざまな実施形態において、第３のシステム利用率データが定められる。第３のシステム利用率データに基づいて第３のキュー制限条件が定められ、ここで第３のキュー制限条件は第２のキュー制限条件とは異なる。第３のキュー制限条件を定めることに応答し、かつ第２の要求キューが第３のキュー制限条件と比べて好ましくないと判定したことに応答して、第２の要求キューの第２の複数の認可要求を含む第２のバッチ認可要求が生成され、ここで第２の要求キューは第２のキュー制限条件と比べて好ましい。第２のバッチ認可要求はＩＡＭシステムに送信される。
【００８１】
なお、本明細書において用いられることがあるたとえばビット・ストリーム、ストリーム、信号配列などの用語（またはそれらと同等の用語）は、いくつかの所望のタイプ（例、データ、ビデオ、音声、オーディオなど、そのいずれも一般的に「データ」と呼ばれることがある）のいずれかに対応する内容を有するデジタル情報を説明するために、交換可能に用いられたものである。
【００８２】
本明細書において用いられることがある「実質的に」および「約」という用語は、その対応する用語に対する産業上受容される許容差、もしくは項目間の相対性、またはその両方を提供する。こうした産業上受容される許容差は、１パーセント未満から５０パーセントの範囲であり、成分値、集積回路プロセス変動、温度変動、立ち上がりおよび立ち下がり時間、もしくは熱雑音、またはその組み合わせに対応するが、それに限定されない。こうした項目間の相対性は、数パーセントの差から大きな差までの範囲である。加えて、本明細書において用いられることがある「構成される」、「動作的に結合される」、「結合される」、もしくは「結合する」、またはその組み合わせの用語（単数または複数）は、項目間の直接的結合、もしくは介在項目（例、コンポーネント、エレメント、回路、もしくはモジュール、またはその組み合わせを含むがそれに限定されない項目）を介した項目間の間接的結合、またはその両方を含み、ここで間接的結合の例に対する介在項目は、信号の情報を変更することはないが、信号の電流レベル、電圧レベル、もしくは電力レベル、またはその組み合わせを調整してもよい。本明細書においてさらに用いられることがある推論結合（すなわち、１つのエレメントが推論によって別のエレメントに結合されるとき）は、「結合される」と同じ方式での２つの項目間の直接的および間接的結合を含む。本明細書においてまださらに用いられることがある「構成される」、「動作可能である」、「結合される」、または「動作可能に結合される」という用語は、ある項目が電力接続、入力（単数または複数）、出力（単数または複数）などの１つ以上を含んで、活動化されたときに１つ以上の自身の対応する機能を行うこと、およびさらに１つ以上の他の項目に対する推論結合を含んでもよいことを示す。本明細書においてまださらに用いられることがある「関連する」という用語は、別個の項目の直接的もしくは間接的またはその両方の結合か、または１つの項目が別の項目に埋め込まれていることか、あるいはその両方を含む。
【００８３】
本明細書において用いられることがある「比べて好ましい」という用語は、２つ以上の項目、信号などの比較が所望の関係を提供することを示す。たとえば、所望の関係とは信号１の大きさが信号２よりも大きいことであるとき、信号１の大きさが信号２の大きさよりも大きいとき、または信号２の大きさが信号１の大きさよりも小さいときに好ましい比較が達成されてもよい。本明細書において用いられることがある「比べて好ましくない」という用語は、２つ以上の項目、信号などの比較が所望の関係を提供しないことを示す。
【００８４】
加えて、本明細書において用いられることがある「処理システム」、「処理モジュール」、「処理回路」、「プロセッサ」、もしくは「処理ユニット」という用語、またはその組み合わせは交換可能に用いられてもよく、かつ単一の処理デバイスまたは複数の処理デバイスであってもよい。こうした処理デバイスはマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、マイクロコンピュータ、中央処理ユニット、フィールド・プログラマブル・ゲート・アレイ、プログラマブル論理デバイス、状態機械、論理回路、アナログ回路、デジタル回路、および／または、回路のハード・コーディングもしくは動作命令またはその両方に基づいて信号（アナログもしくはデジタルまたはその両方）を操作する任意のデバイスであってもよい。処理システム、処理モジュール、モジュール、処理回路、もしくは処理ユニット、またはその組み合わせは、メモリもしくは集積メモリ・エレメントまたはその両方であるか、またはそれをさらに含んでもよく、それは単一のメモリ・デバイスであるか、複数のメモリ・デバイスであるか、あるいは別の処理システム、処理モジュール、モジュール、処理回路、もしくは処理ユニット、またはその組み合わせの埋め込み回路であるか、あるいはその組み合わせであってもよい。こうしたメモリ・デバイスはリード・オンリ・メモリ、ランダム・アクセス・メモリ、揮発性メモリ、不揮発性メモリ、スタティック・メモリ、ダイナミック・メモリ、フラッシュ・メモリ、キャッシュ・メモリ、もしくはデジタル情報を保存する任意のデバイス、またはその組み合わせであってもよい。なお、処理システム、処理モジュール、モジュール、処理回路、もしくは処理ユニット、またはその組み合わせが２つ以上の処理デバイスを含むとき、それらの処理デバイスは中央に位置してもよいし（例、有線もしくはワイヤレスまたはその両方のバス構造を介してともに直接結合される）、分散的に位置してもよい（例、ローカル・エリア・ネットワークもしくは広域ネットワークまたはその両方を介した間接的結合を介したクラウド・コンピューティング）。さらに注記すると、処理システム、処理モジュール、モジュール、処理回路、もしくは処理ユニット、またはその組み合わせが状態機械、アナログ回路、デジタル回路、もしくは論理回路、またはその組み合わせを介して自身の機能の１つ以上を実現するとき、対応する動作命令を保存するメモリもしくはメモリ・エレメントまたはその両方は、状態機械、アナログ回路、デジタル回路、もしくは論理回路、またはその組み合わせを含む回路内に埋め込まれるか、またはその外部にあってもよい。なおさらに注記すると、図面の１つ以上に示されるステップもしくは機能またはその両方の少なくともいくつかに対応するハード・コード命令もしくは動作命令またはその両方を、メモリ・エレメントが保存してもよく、かつ処理システム、処理モジュール、モジュール、処理回路、もしくは処理ユニット、またはその組み合わせが実行する。こうしたメモリ・デバイスまたはメモリ・エレメントは、製造物品に含まれ得る。
【００８５】
指定された機能の実行およびそれらの関係を示す方法ステップの助けによって、１つ以上の実施形態を上に説明した。これらの機能構成要素および方法ステップの境界および配列は、本明細書において説明の簡便さのために任意に定められたものである。指定された機能および関係が適切に実行される限り、代替的な境界および配列が定められ得る。よって、任意のこうした代替的な境界または配列は、請求項の範囲および思想の内にある。さらに、これらの機能構成要素の境界は、説明の簡便さのために任意に定められたものである。特定の重要な機能が適切に実行される限り、代替的な境界が定められ得るだろう。同様に流れ図のブロックも、本明細書において特定の重要な機能を示すために任意に定められたものであってもよい。
【００８６】
使用される範囲に対して、流れ図のブロック境界および配列は、別様に定められても特定の重要な機能を行い得るだろう。よって、機能構成要素ならびに流れ図のブロックおよび配列の両方のこうした代替的な定義は、請求項の範囲および思想の内にある。加えて当業者は、本明細書における機能構成要素、ならびにその他の例示的ブロック、モジュール、およびコンポーネントを例示されるとおりに実現することもできるし、個別のコンポーネント、特定用途向け集積回路、適切なソフトウェアを実行するプロセッサなど、またはその任意の組み合わせによって実現することもできることを認識するだろう。
【００８７】
加えて、流れ図は「開始」もしくは「続く」またはその両方の表示を含むことがある。「開始」および「続く」の表示は、提示されるステップが任意に他のルーチンに組み込まれるか、または別様に他のルーチンとともに用いられ得ることを反映する。この状況において、「開始」は提示される第１のステップの始まりを示し、具体的に示されていない他の活動が先行していてもよい。さらに、「続く」の表示は、提示されるステップが複数回行われ得るか、もしくは具体的に示されていない他の活動に後続され得るか、またはその両方であることを反映する。さらに、流れ図はステップの特定の順序を示すが、因果の原理が維持されていれば、他の順序も同様に可能である。
【００８８】
本明細書においては、１つ以上の態様、１つ以上の特徴、１つ以上の概念、もしくは１つ以上の例、またはその組み合わせを示すために１つ以上の実施形態を用いている。装置、製造物品、機械、もしくはプロセス、またはその組み合わせの物理的実施形態は、本明細書において考察される実施形態の１つ以上を参照して説明される態様、特徴、概念、例などの１つ以上を含んでもよい。さらに、実施形態は複数の図面にわたって同じかまたは類似の名称の機能、ステップ、モジュールなどを取り入れてもよく、それらは同じかまたは異なる参照番号を用いてもよく、よってそれらの機能、ステップ、モジュールなどは同じかまたは類似の機能、ステップ、モジュールなどであってもよいし、異なるものであってもよい。
【００８９】
反対のことが具体的に述べられていない限り、本明細書において提供される任意の図面の図面におけるエレメントへの信号、エレメントからの信号、もしくはエレメント間の信号、またはその組み合わせは、アナログまたはデジタル、連続時間または離散時間、およびシングルエンドまたは差分であってもよい。たとえば、信号経路がシングルエンド経路として示されるとき、それは差分信号経路も表している。同様に、信号経路が差分経路として示されるとき、それはシングルエンド信号経路も表している。本明細書には１つ以上の特定のアーキテクチャが記載されているが、当業者に認識されるとおり、明示的に示されていない１つ以上のデータ・バス、エレメント間の直接接続、もしくは他のエレメント間の間接的結合、またはその組み合わせを用いるその他のアーキテクチャも同様に実現され得る。
【００９０】
１つ以上の実施形態の説明において、「モジュール」という用語が用いられている。モジュールは、動作命令を保存するメモリを含むかまたはそれとともに動作し得る、たとえばプロセッサなどのデバイスまたはその他の処理デバイスもしくはその他のハードウェアを介して、１つ以上の機能を実現する。モジュールは独立して動作するか、あるいはソフトウェアもしくはファームウェアまたはその両方とともに動作するか、あるいはその両方であってもよい。加えて、本明細書で用いられるモジュールは１つ以上のサブモジュールを含んでもよく、サブモジュールの各々は１つ以上のモジュールであってもよい。
【００９１】
さらに、本明細書で用いられることのあるコンピュータ可読メモリは、１つ以上のメモリ・エレメントを含む。メモリ・エレメントは別個のメモリ・デバイスであるか、複数のメモリ・デバイスであるか、またはメモリ・デバイス内のメモリ場所のセットであってもよい。こうしたメモリ・デバイスはリード・オンリ・メモリ、ランダム・アクセス・メモリ、揮発性メモリ、不揮発性メモリ、スタティック・メモリ、ダイナミック・メモリ、フラッシュ・メモリ、キャッシュ・メモリ、もしくはデジタル情報を保存する任意のデバイス、またはその組み合わせであってもよい。メモリ・デバイスは固体メモリ、ハード・ドライブ・メモリ、クラウド・メモリ、サム・ドライブ、サーバ・メモリ、コンピュータ・デバイス・メモリ、もしくはデジタル情報を保存するためのその他の物理的媒体、またはその組み合わせの形であってもよい。
【００９２】
本明細書において、１つ以上の実施形態のさまざまな機能および特徴の特定の組み合わせを明示的に説明しているが、これらの特徴および機能のその他の組み合わせも同様に可能である。本開示は本明細書において開示される特定の実施例によって限定されず、これらのその他の組み合わせも明確に包含する。
【図１】
2021515295.tif 000003
【図２】
2021515295.tif 000004
【図３】
2021515295.tif 000005
【図４】
2021515295.tif 000006
【図５】
2021515295.tif 000007
【図６】
2021515295.tif 000008
【図７】
2021515295.tif 000009
【図８】
2021515295.tif 000010
【図９】
2021515295.tif 000011
【図１０】
2021515295.tif 000012
【図１１】
2021515295.tif 000013
【図１２】
2021515295.tif 000014
【図１３】
2021515295.tif 000015
【図１４】
2021515295.tif 000016
【図１５】
2021515295.tif 000017
【国際調査報告】
2021515295.tif 000018
2021515295.tif 000019