(57)【要約】【課題】電力を抑えながら、処理性能を向上させるコンピューティングシステム及びそのリソース管理方法を提供する。【解決手段】本発明によるコンピューティングシステムはプロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック（ｃｏｍｍａｎｄ  ｆｅｔｃｈ  ｂｌｏｃｋ）、及び前記コマンドフェッチブロックに連結されて通信エンドポイントで前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントでのインスタンスバジェット（ｉｎｓｔａｎｃｅ  ｂｕｄｇｅｔ）を計算するクレジットチェッカブロック（ｃｒｅｄｉｔ  ｃｈｅｃｋｅｒ  ｂｌｏｃｋ）を含む。【選択図】図１
2017021798.tif 000002
【特許請求の範囲】
【請求項１】
プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック（ｃｏｍｍａｎｄ  ｆｅｔｃｈ  ｂｌｏｃｋ）と、
前記コマンドフェッチブロックに連結され、通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェット（ｉｎｓｔａｎｃｅ  ｂｕｄｇｅｔ）を計算するように構成されたクレジットチェッカブロック（ｃｒｅｄｉｔ  ｃｈｅｃｋｅｒ  ｂｌｏｃｋ）と、を含むことを特徴とするコンピューティングシステム。
【請求項２】
前記クレジットチェッカブロックは、
プロセシングセグメントの次（ｕｐｃｏｍｉｎｇ）のインスタンスのための装置アクセスクレジット（ｄｅｖｉｃｅ  ａｃｃｅｓｓ  ｃｒｅｄｉｔ）を予測するために消費予測を計算し、
前記消費予測に基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項１に記載のコンピューティングシステム。
【請求項３】
前記クレジットチェッカブロックは、前記プロセシング要請を処理するためのデータプロバイダーを有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項１に記載のコンピューティングシステム。
【請求項４】
前記コマンドフェッチブロックは、前記要請ホストを表すための連結識別子（ｃｏｎｎｅｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ）、物理機能識別子（ｐｈｙｓｉｃａｌ  ｆｕｎｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ  ）、及び仮想機能識別子（ｖｉｒｔｕａｌ  ｆｕｎｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ）の中の少なくとも一つを含む前記ホストプロファイルを判別するように構成され、
前記クレジットチェッカブロックは、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも１つに基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項１に記載のコンピューティングシステム。
【請求項５】
前記クレジットチェッカブロックは、前記通信エンドポイントにおいて前記プロセシング要請を処理するためにプロセシングセグメントに対応する前記インスタンスバジェットを計算するように構成されることを特徴とする請求項１に記載のコンピューティングシステム。
【請求項６】
前記コマンドフェッチブロックは、前記要請ホストから前記プロセシング要請を処理するために前記通信エンドポイントにおいて前記プロセシング要請を受信するように構成され、
前記クレジットチェッカブロックは、前記プロセシング要請に基づいてプロセシングセグメントのための前記インスタンスバジェットを計算するように構成され、
前記コマンドフェッチブロックに連結され、前記プロセシング要請に応答して前記インスタンスバジェットによって前記通信エンドポイントにおいてプロセシング結果が発生するコマンド処理ブロックをさらに含み、
前記プロセシング結果は、前記プロセシングセグメントに対応することを特徴とする請求項１に記載のコンピューティングシステム。
【請求項７】
前記クレジットチェッカブロックは、
プロセシングセグメントのための装置アクセスクレジットを予測するために前記ホストプロファイル、及び前記プロセシング要請の中の少なくとも一つに基づいて消費予測を計算し、
前記消費予測に基づいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項１に記載のコンピューティングシステム。
【請求項８】
前記クレジットチェッカブロックは、前記プロセシング結果のために前記プロセシング要請を処理するためのスマート格納装置を有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算するように構成されることを特徴とする請求項６に記載のコンピューティングシステム。
【請求項９】
コマンドプロセシングブロックは、
前記要請ホストのために利用された前記全体リソースを表すための装置アクセスクレジットを計算し、
前記インスタンスバジェットを超過しないアクセスクレジットを有する前記プロセシング結果が発生するように構成されることを特徴とする請求項６に記載のコンピューティングシステム。
【請求項１０】
コマンドプロセシングブロックは、
前記プロセシングセグメントの間に前記要請ホストのために利用された前記全体リソースを表すための前記プロセシングセグメントに対応する装置アクセスクレジットを計算し、
前記プロセシングセグメントの各々のインスタンスのための前記装置アクセスクレジットをリセットするように構成されることを特徴とする請求項６に記載のコンピューティングシステム。
【請求項１１】
コンピューティングシステムの動作方法において、
プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階と、
通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階と、を含むことを特徴とする方法。
【請求項１２】
前記インスタンスバジェットを計算する段階は、
プロセシングセグメントの次（ｕｐｃｏｍｉｎｇ）のインスタンスのための装置アクセスクレジットを予測するために消費予測を計算する段階と、
前記消費予測に基づいて前記インスタンスバジェットを計算する段階と、を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記インスタンスバジェットを計算する段階は、
前記プロセシング要請を処理するためのデータプロバイダーを有する前記通信エンドポイントにおいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記ホストプロファイルを判別する段階は、前記要請ホストを表すための連結識別子、物理機能識別子、及び仮想機能識別子の中の少なくとも一つを有する前記ホストプロファイル判別する段階を含み、
前記インスタンスバジェットを計算する段階は、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも一つに基づいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記インスタンスバジェットを計算する段階は、前記通信エンドポイントにおいて前記プロセシング要請を処理するためのプロセシングセグメントのインスタンスに対応する前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階と、
通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階と、を遂行するコンピューティングシステムのためのインストラクションを有することを特徴とする非一時的コンピュータ読出し可能媒体。
【請求項１７】
前記インスタンスバジェットを計算する段階は、
プロセシングセグメントの次（ｕｐｃｏｍｉｎｇ）のインスタンスのための装置アクセスクレジットを予測するために消費予測を計算する段階と、
前記消費予測に基づいて前記インスタンスバジェットを計算する段階と、を含むことを特徴とする請求項１６に記載の非一時的コンピュータ読出し可能媒体。
【請求項１８】
前記インスタンスバジェットを計算する段階は、
前記プロセシング要請を処理するためのデータプロバーダーを有する前記通信エンドポイントにおける前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１６に記載の非一時的コンピュータ読出し可能媒体。
【請求項１９】
前記ホストプロファイルを判別する段階は、前記要請ホストを表すための連結識別子、物理機能識別子、及び仮想機能識別子の中の少なくとも一つを有する前記ホストプロファイル判別する段階を含み、
前記インスタンスバジェットを計算する段階は、前記連結識別子、前記物理機能識別子、及び前記仮想機能識別子の中の少なくとも一つに基づいて前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１６に記載の非一時的コンピュータ読出し可能媒体。
【請求項２０】
前記インスタンスバジェットを計算する段階は、前記通信エンドポイントにおいて前記プロセシング要請を処理するためのプロセシングセグメントのインスタンスに対応する前記インスタンスバジェットを計算する段階を含むことを特徴とする請求項１６に記載の非一時的コンピュータ読出し可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピューティングシステム及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体に係り、より詳しくは、ホストプロファイルを判別するコマンドフェッチブロック、インスタンスバジェットを計算するクレジットチェッカブロックを含むコンピューティングシステム及びそのリソース管理方法、並びにコンピューティングシステムのための記録媒体に関する。
【背景技術】
【０００２】
コンピューティングシステム、サーバ、家電製品、テレビジョン、携帯電話、自動車、衛星、及び結合装置などの消費者電子産業は現代生活の支援水準を高めている。性能要求は消費者製品、企業又は商業製品において互いに異なることがあるが、電力消費を抑えながら、さらに高い性能を要求する点においては一般的である。現在の技術の研究開発は多くの方向に及んでいる。
【０００３】
このような方向は有用なリソースの管理の改善を含む。電子装置の個数及び各装置の消費する電力が増加することによって、コンピューティングリソースに対する要求が幾何級数的に増加している。効率的又は効果的に有用なリソースを管理することは複数の装置において機能及び性能の水準を増加させる。
【０００４】
したがって、電力を抑えながら、処理性能を向上させるためのリソース管理メカニズムを有するコンピューティングシステムに対する要求が高い。さらに増加する商業的な競争圧迫の観点から消費者の期待が増加して市場において意味ある製品差別化が減少する状況であり、このような問題点の解決策を発見することがますます重要になっている。さらに、費用を減らし、効率と性能を改善し、競争圧力に対する要求はこのような問題点の解決策に対してさらに緊急なものである。
【０００５】
このような問題点に対する解決策は長い間模索されて来たが、従来の技術によっては何らかの解決策を教示、或いは提案ができなかった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第７，４７８，１７８号公報
【特許文献２】米国特許第７，６７５，９２９号公報
【特許文献３】米国特許第７，８６９，３５６号公報
【特許文献４】米国特許第８，１３９，５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は電力を抑えながら、処理性能を向上させるコンピューティングシステム及びそのリソース管理方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の実施形態によるコンピューティングシステムは、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別するコマンドフェッチブロック（ｃｏｍｍａｎｄ  ｆｅｔｃｈ  ｂｌｏｃｋ）、及び前記コマンドフェッチブロックに連結されて通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェット（ｉｎｓｔａｎｃｅ  ｂｕｄｇｅｔ）を計算するように構成されたクレジットチェッカブロック（ｃｒｅｄｉｔ  ｃｈｅｃｋｅｒ  ｂｌｏｃｋ）を含む。
【０００９】
本発明の実施形態によるコンピューティングシステムの動作方法は、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階、及び通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階を含む。
【００１０】
本発明の実施形態による非一時的コンピュータ読出し可能媒体は、プロセシング要請に対応する要請ホストを表すためのホストプロファイルを判別する段階、及び通信エンドポイントにおいて前記プロセシング要請を制御するために前記通信エンドポイントの全体リソースから前記通信エンドポイントにおけるインスタンスバジェットを計算する段階を遂行するコンピューティングシステムのためのインストラクションを有する。
【発明の効果】
【００１１】
本発明の実施形態によるコンピューティングシステム及びそのリソース管理方法において、データプロバイダーは、処理結果を発生するためにプロセシング要請を処理しながら、データプロバイダーのインスタンスバジェットを利用してリソース使用を制御することにより、消費電力を抑えながら、性能の改善を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態によるリソース管理メカニズムを有するコンピューティングシステムの例示的なブロック図である。
【図２】本発明の実施形態によるコンピューティングシステムのブロック図である。
【図３】本発明の実施形態によるコンピューティングシステムの追加的な例示ブロック図である。
【図４】本発明の実施形態によるコンピューティングシステムの制御フローを例示的に示す図である。
【図５】本発明の実施形態によるコンピューティングシステムの動作方法を例示的に示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下においては、図面を利用して本発明の技術分野において通常の知識を有する者が容易に実施できる程度に本発明の内容を明確、詳細に記載する。
【００１４】
以下に開示する本発明の実施形態はインスタンスバジェットを計算するためにクレジット管理メカニズムを具現するデータプロバイダーを含む。データプロバイダーは要請ホスト（ｒｅｑｕｅｓｔｉｎｇ  ｈｏｓｔ）からのプロセシング要請を処理するためにインスタンスバジェットを使用する。インスタンスバジェットが指定したデータプロバイダーは全体リソースのうちの一部を使用する。スマート格納装置又はＩｏＴ（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）装置を有するデータプロバイダーは、処理結果を発生するためにプロセシング要請を処理しながら、データプロバイダーのインスタンスバジェットを利用してリソース使用を制御する。
【００１５】
ターゲットリソースはターゲット業務を遂行するか、或いは具現するためのノード熱容量を含む。ここで、ターゲットノードは電力消費及び性能のバランスのための最適なノード又は最も熱的に余裕があるノードであってもよい。熱候補セットは、ノード間の熱容量、現在電力、現在熱的負荷、熱的モデル又はそれらの組合せに基づいて動的に計算される。
【００１６】
次に、開示する実施形態は本発明を構成して使用する当業者が具現するのに十分に詳細に説明される。本発明に基づいた他の実施形態も、システム、工程、アーキテクチャ、又は機械的変更が本発明の範囲を逸脱なく、なされるとして理解されるべきである。
【００１７】
以下の説明においては、多数の特定細部事項は本発明の完全な理解を提供するために与えられる。しかし、本発明及び多様な実施形態がこのような特定細部事項無しでも実施できることが分かる。本発明によると、幾つかの広く公知された回路、システム構成及び工程段階の実施形態をあいまいにすることを避けるため、詳細に記載しないこともあり得る。
【００１８】
システムの実施形態を示した図面は半図式的である。特に、寸法の一部は明確な表現のために、図面において誇張されて示すこともあり得る。説明の便宜のために図面において一般的に類似な方向を表示しても、図面における説明は大部分の場合、任意的である。一般的に、実施形態は任意の方向に動作される。
【００１９】
本発明において言及される“ブロック（ｂｌｏｃｋ）”という用語は使用される文脈によって本発明の実施形態によるソフトウェア、ハードウェア、又はそれらの組合せを含む。例えば、ソフトウェアはマシンコード、ファームウェア、埋め込み型コード、及びアプリケーションソフトウェアであってもよい。また、例えばハードウェアは回路、プロセッサ、コンピュータ、集積回路、集積回路コア、圧力センサ、慣性センサ、マイクロ電子機械システム（ＭＥＭＳ）、受動素子、又はこれらの組合せであってもよい。さらに、ブロックが装置の請求項の中に記入される場合、ブロックは目的達成のためのハードウェア回路装置、及び装置を含むと看做される。
【００２０】
実施形態の説明においてブロックは説明されるか、或いは図示された他の装置に連結されてもよい。ここで、連結は直接又は間接、結合された項目の間の介入があるか、或いは無いこともあり得る。また、連結は物理的接触又は項目の間の通信による。
【００２１】
図１は本発明の実施形態によるリソース管理メカニズムを有するコンピューティングシステム１００の例示的なブロック図を示す。図１を参照すれば、コンピューティングシステム１００は、クライアント装置又はサーバのような第２装置１０６に接続されたクライアント装置のような第１装置１０２を含む。第１装置１０２は無線又は有線ネットワークのようなネットワーク１０４を通じて第２装置１０６と通信する。
【００２２】
例えば、第１装置１０２はスマートフォン、ウェアラブル装置又は健康モニタ、センサ又はＩｏＴのための処理装置又はそれらの組合せを含む。また、例えば第１装置１０２はコンピュータ、グリッドコンピューティングリソース、仮想化コンピュータリソース、クラウドコンピューティングリソース、ルータ、スイッチ、ピアツーピアの分散コンピューティング装置、又はそれらの組合せを含む。また、例えば第２装置１０６はサービスプロバイダーによって利用されるサーバを含む。また、例えば第２装置１０６はスマート格納装置、分散コンピューティングリソース又は分散格納システム、データセンタ、ディスクドライブ、アレイ、又はそれらの組合せの格納装置を含む。
【００２３】
第１装置１０２は独立形装置であってもよく、又はモバイル装置、エンターテイメント装置、衣類商品、アクセサリー、接着又は固定器具、多機能装置、サーバ又はデータセンタ、又はそれらの組合せと統合される。第１装置１０２は第２装置１０６と通信するためにネットワーク１０４に連結される。
【００２４】
第２装置１０６はモバイル装置又は非モバイル装置であってもよい。例えば、第２装置１０６はスマートフォン、タブレット装置、セルラー電話、個人携帯情報端末機、ノートブック型コンピュータ、ネットブックコンピュータ、シンクライアント装置（ｔｈｉｎ  ｃｌｉｅｎｔ  ｄｅｖｉｃｅ）、多重機能のモバイル装置、又はエンターテイメント装置、ＩｏＴ装置、又はそれらの組合せのような多様なモバイル装置の中のいずれか一つであってもよい。
【００２５】
また、第２装置１０６はコンピューティング装置、機器、又はそれらの組合せの非モバイル装置であってもよい。第２装置１０６は中央集中型又は分散コンピューティングのような多様な装置の中の任意のものであってもよい。例えば、第２装置１０６はデスクトップコンピュータ、グリッドコンピューティングリソース、サーバ、サーバファーム、仮想コンピューティングリソース、クラウドコンピューティングリソース、ルータ、スイッチ、ピアツーピアの分散コンピューティングリソース、又はそれらの組合せを含む。
【００２６】
第２装置１０６は１つのコンピュータルームに集中されるか、異なるルームに分散されるか、互に異なる地理的位置に分散されるか、又は通信ネットワークに内蔵される。例えば、第２装置１０６はメーンフレーム、サーバ、クラスターサーバ、ラックマウンテッドサーバ、又はブレードサーバ等の特殊化マシンであってもよい。さらに詳細には、第２装置１０６はＩＢＭシステムｚ１０（登録商標）ビジネスクラスメーンフレーム又はＨＰ  ＰｒｏＬｉａｎｔ  ＭＬ（登録商標）サーバであってもよい。
【００２７】
また、第２装置１０６はリビング機器、キッチン機器、バス機器、ベッドルーム機器、又はそれらの組合せを含む機器であってもよい。例えば、第２装置１０６はテレビジョン、ビデオ装置、オーディオ装置、時計、照明装置、ホームエンターテイメントシステム、洗濯機、冷蔵庫、オーブン、電子レンジ、ゲームコンソール、又はそれらの組合せを含む。また、第２装置１０６は自動温度調節装置、警報装置、加熱装置、冷却装置、電子ドアロック、ガレージドアオープナ（ｇａｒａｇｅ  ｄｏｏｒ  ｏｐｅｎｅｒ）、発電システム装置、又はそれらの組合せを含む。
【００２８】
ネットワーク１０４は多様なネットワーク又は通信媒体であってもよい。例えば、ネットワーク１０４は無線通信、有線通信、光通信、超音波通信、又はそれらの組合せを含む。衛星通信、セルラー通信、ブルートゥース（登録商標）、低いエネルギー（Ｌｏｗ  Ｅｎｅｒｇｙ、ＢＬＥ）、無線高画質マルチメディアインターフェイス（ｗｉｒｅｌｅｓｓ  Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ、ＨＤＭＩ（登録商標））、ジグビー（ＺｉｇＢｅｅ）（登録商標）、近距離無線通信（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ、ＮＦＣ）、赤外線データ協会（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）標準（ＩｒＤＡ）、Ｗｉ−Ｆｉ（登録商標）（ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ）、マイクロウェーブアクセスのための世界的な相互運用（ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ、ＷｉＭＡＸ）は無線のネットワーク１０４に含まれる。イーサーネット（登録商標）（ｅｔｈｅｒｎｅｔ）、ＨＤＭＩ（登録商標）、デジタル加入者回線（ＤＳＬ）、ＦＴＴＨ（ｆｉｂｅｒ  ｔｏ  ｔｈｅ  ｈｏｍｅ）、ＰＯＴＳ（ｐｌａｉｎ  ｏｌｄ  ｔｅｌｅｐｈｏｎｅ  ｓｅｒｖｉｃｅ）は有線のネットワーク１０４に含まれる。
【００２９】
また、ネットワーク１０４は多数のネットワークトポロジーを横断できる。例えば、ネットワーク１０４は直接接続、個人領域ネットワーク（ＰＡＮ）、近距離通信網（ＬＡＮ）、都市圏通信網（ＭＡＮ）、広域通信網（ＷＡＮ）又はこれらの組合せを含む。
【００３０】
ネットワーク１０４は一つ以上の中間ネットワークコンポーネント１０８を含む。中間ネットワークコンポーネント１０８は、プロセシング要請１１２を発生及び処理する複数の通信エンドポイント１１０の間に介在する。中間ネットワークコンポーネント１０８は通信エンドポイント１１０の間において情報をリレーするように構成される装置又は一部を含む。例えば、中間ネットワークコンポーネント１０８はルータ、リピーター、基地局増幅機、装置内のインターフェイス、又はそれらの組合せを含む。
【００３１】
通信エンドポイント１１０は情報を発生する装置、又はその一部を含む。通信エンドポイント１１０は要請を発生するか、プロセシング出力を発生するか、そこに格納された情報にアクセスするか、それらの組み合わせを実行する装置又はその一部を含む。
【００３２】
例えば、通信エンドポイント１１０の中の一つは情報にアクセスするためのプロセシング要請１１２を発生する。プロセシング要請１１２は通信エンドポイント１１０の他のインスタンスに伝達される。前記他のインスタンスはプロセシング要請１１２に対応する情報又は出力値としてプロセシング結果１１４を発生する。
【００３３】
また、例えば通信エンドポイント１１０はプロセシング結果１１４を発生するデータプロバイダー１１６を含む。データプロバイダー１１６はプロセシング要請１１２を処理するように構成されるか、或いは要請された情報を利用するように構成される。データプロバイダー１１６はプロセシング結果１１４を計算するか、或いは発生でき、データプロバイダー１１６に格納された情報にアクセスでき、又はそれらの組合せをすることができる。データプロバイダー１１６はプロセシング要請１１２を通信してきた通信エンドポイント１１０のインスタンスにプロセシング結果１１４を返す。
【００３４】
データプロバイダー１１６はプロセシング要請１１２に対する消費者であってもよい。データプロバイダー１１６はデータプロバイダー１１６の外部に分離された装置又は分離された部分を利用せずに、プロセシング要請１１２を処理するか、或いは応答する。例えば、データプロバイダー１１６はプロセシング要請１１２によって要請された情報を有する装置内の格納装置又は格納部分であってもよい。また、例えばデータプロバイダー１１６はプロセシング結果１１４によって要請された情報を発生及び提供するコンピューティング装置又は計算ユニットであってもよい。
【００３５】
中間ネットワークコンポーネント１０８は通信エンドポイントの間に存在する。中間ネットワークコンポーネント１０８はプロセシング要請１１２、プロセシング結果１１４、又は通信エンドポイントの間のその組合せをリレーする。
【００３６】
コンピューティングシステム１００はクレジット管理メカニズム１１８を具現するためにデータプロバイダー１１６を使用する。クレジット管理メカニズム１１８はプロセシング要請１１２の処理においてデータプロバイダー１１６のための全体リソース１２０を管理して消費バランスを合わせるように構成された方法、工程、回路、又はそれらの組合せである。
クレジット管理メカニズム１１８はさらに機能、回路、段階又は命令、方程式又はそれらの組合せの適応又は自体学習インスタンスのように自体的に再構成される。クレジット管理メカニズム１１８はプロセシング要請１１２の一つ以上のインスタンスを処理するためにクレジット又はバジェットを割当することに基づいて全体リソース１２０の使用を管理しバランスを合わせる。
【００３７】
全体リソース１２０はデータプロバイダー１１６の総処理能力を示す。例えば、全体リソース１２０はデータの量、処理速度、又はそれらの組合せを示す。より具体的な例として、全体リソース１２０はデータリソース１２２、プロセシングリソース１２４、又はそれらの組合せを含む。
【００３８】
データリソース１２２は格納容量になり得る。データリソース１２２は揮発性又は不揮発性格納装置を含む。データリソース１２２は後のアクセスのために格納、与えられた時間又は期間に同時にアクセスできるデータの量、又はそれらの組合せを含む。
【００３９】
プロセシングリソース１２４はデータの造作と関連した容量であってもよい。プロセシングリソース１２４は速度や処理速度を含む。プロセシングリソース１２４は命令語の数や同時に所定の期間中に処理できるデータの量を示す。
【００４０】
コンピューティングシステム１００はプロセシング要請１１２の一つ以上のインスタンスを処理するため、全体リソース１２０のために制御、管理、分割、専用、拡張するように、又はそれらの組合せを遂行するようにクレジット管理メカニズム１１８を利用する。例えば、コンピューティングシステム１００はクレジット管理メカニズム１１８を利用して入出力（ＩＯ）読出し／書込み要請を有するプロセシング要請１１２が進行中のインスタンスを優先する。
【００４１】
例を続けて、コンピューティングシステム１００はポート、身体機能、仮想関数、又はそれらの組合せに基づいて処理を優先する。コンピューティングシステム１００はサービスレベル合意書（ＳＬＡ）の応答時間約束を観察しながら、多数のコンピューティングホストがデータプロバイダー１１６を共有する共通データセンタ環境のクレジット管理メカニズム１１８を使用する。クレジット管理メカニズム１１８に関する詳細な事項は後述する。
【００４２】
図示したコンピューティングシステム１００においては通信エンドポイント１１０として第１装置１０２と第２装置１０６とを示す。しかし、コンピューティングシステム１００は第１装置１０２、第２装置１０６、及びネットワーク１０４の間に互に異なるパーティションを有するとして理解されるべきである。
【００４３】
例えば、第１装置１０２、第２装置１０６、又はそれらの組合せはネットワーク１０４の一部として機能する。また、例えば第２装置１０６はデータプロバイダー１１６として示したが、第１装置１０２がデータプロバイダー１１６であってもよい。
【００４４】
さらに詳細な実施形態において、コンピューティングシステム１００は第１装置１０２、第２装置１０６、又は管理及び格納システム、通信システム等のコンピューティングリソースを提供するためにそれらの組合せを含む。コンピューティングシステム１００は第１装置１０２、第２装置１０６又は管理するメモリアクセスの処理サイクル又は時間、熱容量、帯域幅、又はそれらの組合せを含むコンピューティングリソースを提供するためのそれらの組合せを含む。
【００４５】
例示的な例を継続して、コンピューティングシステム１００は第１装置１０２、第２装置１０６、又はそれらの組合せにより構成されたデータプロバイダー１１６を含む。コンピューティングシステム１００は管理及び一つ以上のホストコンピューティングリソースを提供するためにデータプロバイダー１１６を使用する。コンピューティングシステム１００はデータプロバイダー１１６、一つ以上のホスト、又はこの一つの装置又はシステム内のコンポーネントとして構成されるか、又は様々な個別装置又はシステムにより構成されるか、或いはそれらの組合せにより構成されることを含む。
【００４６】
さらに具体的な例として、コンピューティングシステム１００は他のサーバ、ワークステーション、又はエンドユーザー装置により構成されたホストを支援するための多機能格納装置、ネットワーク格納装置、サーバ、基地局、又は他のサーバにより構成されるサービスホスト、それらの組合せとして構成されたデータプロバイダー１１６を含む。また、さらに具体的な例としてコンピューティングシステム１００は独立的なコンピューティング装置又は分散コンピューティングシステム内の他の回路又は装置を支援するためのディスクドライブ、プロセッサ、制御回路、ソフトウェア機能又はファームウェア機能、又はそれらの組合せにより構成されるデータプロバイダー１１６をさらに含む。
【００４７】
図２は本発明の実施形態によるコンピューティングシステム１００の例示的なブロック図を示す。図２を参照すれば、コンピューティングシステム１００は第１装置１０２、ネットワーク１０４、及び第２装置１０６を含む。第１装置１０２はネットワーク１０４の第１装置伝送２０８から情報を第２装置１０６に伝送する。
【００４８】
図示したコンピューティングシステム１００はクライアント装置として第１装置１０２を示している。しかし、コンピューティングシステム１００は互に異なる種類の装置として第１装置１０２を含むとして理解されるべきである。例えば、第１装置１０２は中継装置であってもよい。
【００４９】
また、コンピューティングシステム１００はモバイル装置、コンピューティング装置、機器、又はそれらの組合せとして第２装置１０６を含むことを示す。しかし、コンピューティングシステム１００は互に異なる種類の装置として第２装置１０６を含むとして理解されるべきである。
【００５０】
本発明の実施形態において、説明を簡単にするために第１装置１０２はクライアント装置として説明し、第２装置１０６はモバイル装置、コンピューティング装置、機器、ウェアラブル装置、又はそれらの組合せとして説明する。本発明の実施形態において、装置の種類のための選択は制限されないとして理解されるべきである。選択は本発明の実施形態の例である。
【００５１】
第１装置１０２は第１制御ユニット２１２、第１格納ユニット２１４、第１通信ユニット２１６、第１使用者インターフェイス２１８、位置ユニット２２０、又はそれらの組合せを含む。第１制御ユニット２１２は多くの他の方式により構成されるコンピューティングシステム１００の知能を提供するための第１ソフトウェア２２６を実行する。
【００５２】
例えば、第１制御ユニット２１２はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械（ＦＳＭ）、デジタル信号プロセッサ（ＤＳＰ）、又はそれらの組合せであってもよい。第１制御インターフェイス２２２は第１装置１０２において第１制御ユニット２１２及び他の機能ユニットの間の通信のために使用される。また、第１制御インターフェイス２２２は第１装置１０２と外部との通信のために使用される。
【００５３】
第１制御インターフェイス２２２は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第１装置１０２の外部にあるソースと目的地を指す。
【００５４】
第１制御インターフェイス２２２は多様な方式により構成される。第１制御インターフェイス２２２は第１制御インターフェイス２２２にインターフェイスする機能ユニット又は外部ユニットに依存する互に異なる構成を含む。例えば、第１制御インターフェイス２２２は圧力センサ、慣性センサ、マイクロ電子機械システム（ＭＥＭＳ）、光学回路、導波路、無線回路、有線回路、又はそれらの組合せを含む。
【００５５】
位置ユニット２２０は例えば、位置情報、ヘディング（ｈｅａｄｉｎｇ）、加速度、第１装置１０２の速度を発生する。位置ユニット２２０は多くの方式により構成されてもよい。例えば、位置ユニット２２０は衛星位置確認システム（ＧＰＳ）、ジャイロスコープ、加速度計、磁力計、コンパス、スペクトル分析機、ビーコン、セルラータワー位置システム、加圧位置システム、又はこれらの組合せの少なくとも一部の機能を含む。
【００５６】
位置ユニット２２０は位置インターフェイス２３２を含む。位置インターフェイス２３２は第１装置１０２の位置ユニット２２０及び他の機能ユニットの間の通信のために使用される。また、位置インターフェイス２３２は第１装置１０２の外部との通信のために使用される。
【００５７】
位置インターフェイス２３２は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。ここで外部ソースと外部目的地は、第１装置１０２の外部にあるソースと目的地を指す。
【００５８】
位置インターフェイス２３２は機能ユニット又は外部装置が位置ユニット２２０とインターフェイスされているか否かによって互に異なる構成を含む。位置インターフェイス２３２は第１制御インターフェイス２２２の構成と類似の技術により構成される。
【００５９】
第１格納ユニット２１４は第１ソフトウェア２２６を格納する。また、第１格納ユニット２１４は生体情報、関心位置（ＰＯＩ）、ナビゲーションルーティングエントリ、レビュー／レーティング、フィードバック、又はそれらの組合せ等の関連情報を格納する。
【００６０】
第１格納ユニット２１４は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ、又はそれらの組合せであってもよい。例えば、第１格納ユニット２１４は不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、ディスク格納装置等の不揮発性格納装置又は静的ＲＡＭ（ＳＲＡＭ）等の揮発性格納であってもよい。
【００６１】
第１格納ユニット２１４は第１格納インターフェイス２２４を含む。第１格納インターフェイス２２４は第１格納ユニット２１４と位置ユニット２２０及び他の機能ユニットの間の通信のために使用される。また、第１格納インターフェイス２２４は第１装置１０２の外部と通信するのに使用される。
【００６２】
第１格納インターフェイス２２４は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第１装置１０２の外部にあるソースと目的地を指す。
【００６３】
第１格納インターフェイス２２４は機能ユニット又は外部装置が第１格納ユニット２１４とインターフェイスされているか否かによって互に異なる構成を含む。第１格納インターフェイス２２４は第１制御インターフェイス２２２の構成技術又は類似の技術により構成される。
【００６４】
第１通信ユニット２１６は第１装置１０２に／から外部通信を活性化する。第１通信ユニット２１６は図１の第２装置１０６、周辺装置又はノートブック型コンピュータのような付属物、及びネットワーク１０４と通信する第１装置１０２を許容する。
【００６５】
また、第１通信ユニット２１６はエンドポイント又は端末機ユニットに制限されないネットワーク１０４の一部として機能を遂行する第１装置１０２を許容する通信ハブとして機能を遂行する。第１通信ユニット２１６は、ネットワーク１０４と相互作用するためのマイクロエレクトロニクス又はアンテナ等の能動及び手動素子を含む。
【００６６】
第１通信ユニット２１６は第１通信インターフェイス２２８を含む。第１通信インターフェイス２２８は第１装置１０２の第１通信ユニット２１６及び他の機能ユニットの間の通信のために使用される。第１通信インターフェイス２２８は他の機能ユニットから情報を受信するか、或いは他の機能ユニットに情報を伝送する。
【００６７】
第１通信インターフェイス２２８は第１通信ユニット２１６にインターフェイスされる機能ユニットに依存する互に異なる構成を含む。第１通信インターフェイス２２８は第１制御インターフェイス２２２の技術又は類似の技術により構成される。
【００６８】
第１使用者インターフェイス２１８は使用者（図示されない）が第１装置１０２にインターフェイス及び相互作用することを許容する。第１使用者インターフェイス２１８は入力装置及び出力装置を含む。第１使用者インターフェイス２１８の入力装置の実施形態はキーパッド、タッチパッド、ソフトキー、キーボード、センサ、信号発生機、又はこのデータ通信入力を提供する任意の組合せを含む。
【００６９】
先ず、第１使用者インターフェイス２１８は第１ディスプレイインターフェイス２３０を含む。第１ディスプレイインターフェイス２３０はディスプレイ、プロジェクター、ビデオスクリーン、スピーカー、又はこの任意の組合せを含む。
【００７０】
第１制御ユニット２１２はコンピューティングシステム１００によって発生された情報をディスプレイするために第１使用者インターフェイス２１８を動作させる。また、第１制御ユニット２１２は位置ユニット２２０から位置情報を受信するコンピューティングシステム１００の他の機能のためのソフトウェアを実行する。第１制御ユニット２１２は第１通信ユニット２１６を通じてネットワーク１０４にインターフェイスする第１ソフトウェア２２６をさらに実行する。
【００７１】
第２装置１０６は第１装置１０２を有する複数の装置において、多様な実施形態を構成するために最適化される。第２装置１０６は第１装置１０２と比較して高い性能処理電力を提供する。第２装置１０６は第２制御ユニット２３４、第２通信ユニット２３６、及び第２使用者インターフェイス２３８を含む。
【００７２】
第２使用者インターフェイス２３８は使用者に第２装置１０６にインターフェイスし、相互作用することを許可する。第２使用者インターフェイス２３８は入力装置及び出力装置を含む。第２使用者インターフェイス２３８の入力装置の例はキーパッド、タッチパッド、ソフトキー、キーボード、マイクロフォン、又はそのデータと通信入力を提供する任意の組合せを含む。第２使用者インターフェイス２３８の出力装置は第２ディスプレイインターフェイス２４０を含む。第２ディスプレイインターフェイス２４０はディスプレイ、プロジェクター、ビデオスクリーン、スピーカー、又はこの任意の組合せを含む。
【００７３】
第２制御ユニット２３４はコンピューティングシステム１００の第２装置１０６に知能を提供する第２ソフトウェア２４２を実行する。第２ソフトウェア２４２は第１ソフトウェア２２６と連接して動作する。第２制御ユニット２３４は第１制御ユニット２１２の追加性能を提供する。
【００７４】
第２制御ユニット２３４は情報を表示する第２使用者インターフェイス２３８を動作する。また、第２制御ユニット２３４はネットワーク１０４を通じて第１装置１０２と通信する第２通信ユニット２３６動作を含むコンピューティングシステム１００の他の機能のための第２ソフトウェア２４２を実行する。
【００７５】
第２制御ユニット２３４は互に異なる方法により構成される。例えば、第２制御ユニット２３４はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械（ＦＳＭ）、デジタル信号プロセッサ（ＤＳＰ）、又はそれらの組合せであってもよい。
【００７６】
第２制御ユニット２３４は第２制御インターフェイス２４４を含む。第２制御インターフェイス２４４は第２装置１０６の第２制御ユニット２３４及び他の機能ユニットの間の通信に使用される。また、第２制御インターフェイス２４４は第２装置１０６の外部の通信のために使用される。
【００７７】
第２制御インターフェイス２４４は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は第２装置１０６の外部にあるソースと目的地を指す。
【００７８】
第２制御インターフェイス２４４は多様な方式により構成され、機能ユニット又は外部ユニットが第２制御インターフェイス２４４にインターフェイスすることに依存する互に異なる実施形態を含む。例えば、第２制御インターフェイス２４４は圧力センサ、慣性センサ、マイクロ電子機械システム（ＭＥＭＳ）、光学回路、導波路、無線回路、有線回路、又はそれらの組合せを含む。
【００７９】
第２格納ユニット２４６は第２ソフトウェア２４２を格納する。また、第２格納ユニット２４６は広告、生体情報、関心地点、ナビゲーションルーティングエントリ、レビュー／レーティング、フィードバック、又はそれらの組合せのような関連情報を格納する。第２格納ユニット２４６は第１格納ユニット２１４を補充する付加的な格納容量を提供するようにサイズが定められる。
【００８０】
第２格納ユニット２４６はシングル素子として示したが、第２格納ユニット２４６は格納素子が分布されると理解されるべきである。また、コンピューティングシステム１００は単一の階層格納システムとして第２格納ユニット２４６を示したが、コンピューティングシステム１００は互に異なる構造の第２格納ユニット２４６を有するとして理解されるべきである。例えば、第２格納ユニット２４６はキャッシング、メーンメモリ、回転媒体又はオフライン格納の互に異なるレベルを有するメモリ階層システムを形成する互に異なる格納技術により形成される。
【００８１】
第２格納ユニット２４６は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ又はそれらの組合せであってもよい。例えば、第２格納ユニット２４６は不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、ディスク格納装置等の不揮発性格納装置、又は静的ＲＡＭ（ＳＲＡＭ）のような揮発性格納装置であってもよい。
【００８２】
第２格納ユニット２４６は第２格納インターフェイス２４８を含む。第２格納インターフェイス２４８は第２装置１０６の位置ユニット２２０及び他の機能ユニットの間の通信のために使用される。また、第２格納インターフェイス２４８は第２装置１０６の外部との通信のために使用される。
【００８３】
第２格納インターフェイス２４８は他の機能ユニット又は外部ソースから情報を受信するか、或いは他の機能ユニット又は外部目的地に情報を伝送する。外部ソースと外部目的地は、第２装置１０６の外部にあるソースと目的地を指す。
【００８４】
第２格納インターフェイス２４８は機能ユニット又は外部ユニットが第２格納ユニット２４６とインターフェイスされることに依存する互に異なる構成を含む。第２格納インターフェイス２４８は第２制御インターフェイス２４４の構成と類似の技術により構成される。
【００８５】
第２通信ユニット２３６は第２装置１０６への、又は第２装置１０６からの外部通信を可能にさせる。例えば、第２通信ユニット２３６はネットワーク１０４を通じて第１装置１０２と通信することを第２装置１０６に許容する。
【００８６】
また、第２通信ユニット２３６はネットワーク１０４に対するエンドポイント又は端末機ユニットに制限されないネットワーク１０４の一部として機能を遂行するように第２装置１０６を許容する通信ハブとして機能を遂行する。例えば、第２通信ユニット２３６はネットワーク１０４と相互作用のためのマイクロ電子又はアンテナのような能動及び手動素子を含む。
【００８７】
第２通信ユニット２３６は第２通信インターフェイス２５０を含む。第２通信インターフェイス２５０は第２装置１０６において第２通信ユニット２３６及び他の機能ユニットの間の通信のために使用される。第２通信インターフェイス２５０は他の機能ユニットから情報を受信し、又は他の機能ユニットに情報を伝送する。
【００８８】
第２通信インターフェイス２５０は機能ユニットが第２通信ユニット２３６とインターフェイスすることに依存する互に異なる装置を含む。第２通信インターフェイス２５０は第２制御インターフェイス２４４の構成技術と類似に構成される。
【００８９】
第２通信インターフェイス２５０は第１装置伝送２０８から第２装置１０６に情報を伝送するようにネットワーク１０４に連結される。第２装置１０６はネットワーク１０４の第１装置伝送２０８から第２通信ユニット２３６により情報を受信する。
【００９０】
第２通信ユニット２３６は第２装置伝送２１０から第１装置１０２に情報を伝送するようにネットワーク１０４に連結される。第１装置１０２はネットワーク１０４の第２装置伝送２１０から第１通信ユニット２１６により情報を受信する。コンピューティングシステム１００は第１制御ユニット２１２、第２制御ユニット２３４、又はそれらの組合せによって実行される。
【００９１】
第２装置１０６は第２使用者インターフェイス２３８、第２格納ユニット２４６、第２制御ユニット２３４、及び第２通信ユニット２３６を有するパーティションを図示したが、第２装置１０６は互に異なるパーティションを含むとして理解されるべきである。例えば、第２ソフトウェア２４２は機能の全体又は一部が第２制御ユニット２３４及び第２通信ユニット２３６になるように互いに異なって分割できる。また、第２装置１０６は明確性のために図２に図示しない他の機能ユニットを含むことができる。
【００９２】
第１装置１０２の機能的ユニットの各々は独立的に他の機能ユニットと作業を遂行する。第１装置１０２は第２装置１０６とネットワーク１０４から個別的、及び独立的に動作する。
【００９３】
第２装置１０６の機能的ユニットの各々は独立的に他の機能ユニットと作業を遂行する。第２装置１０６は第１装置１０２とネットワーク１０４から個別的、及び独立的に動作する。
【００９４】
コンピューティングシステム１００を第１装置１０２及び第２装置１０６の動作によって説明した。第１装置１０２及び第２装置１０６はコンピューティングシステム１００のブロック及び機能のいずれか一つを動作するとして理解されるべきである。例えば、第１装置１０２は位置ユニット２２０を動作するように説明したが、第２装置１０６が位置ユニット２２０を動作するとしても理解されるべきである。
【００９５】
図３は本発明の実施形態によるコンピューティングシステム１００の追加的な例示ブロック図を示す。追加の例示ブロック図は図１の通信エンドポイント１１０を示す。通信エンドポイント１１０はスマート格納装置３０２、多機能格納装置３０４、感知装置３０６、プロセシングハブ３０８、他の機能（未図示）、又はそれらの組合せのデータプロバイダー１１６を含む。
【００９６】
スマート格納装置３０２は基本格納−アクセス機能に対して追加された能力を有してデータに対する格納、保管、及びアクセスするように構成された装置である。スマート格納装置３０２は、データを単に格納しアクセスする機能に追加してデータを処理する機能を提供する。スマート格納装置３０２は、格納されたデータ又はアクセスされたデータを処理して結果データを提供し、その結果データに対する格納又はアクセス操作を処理するため、又はそれらの組合せのための、回路、機能、又はそれらの組合せを含む。
【００９７】
スマート格納装置３０２は多機能格納装置３０４を含む。多機能格納装置３０４は複数のコンピューティングホスト、ホスト内の複数のホステッド仮想マシン、又はそれらの組合せを収容するためのデータを格納するか、或いは利用する装置である。
【００９８】
多機能格納装置３０４は共有メモリを利用するエンタープライズデータセンタのような複数のコンピューティングホスト及びそのホステッド仮想マシンからプロセシング要請１１２の複数のインスタンスを同時にサービスするように連結される。多機能格納装置３０４はエンタープライズＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）格納装置を含む。
【００９９】
データプロバイダー１１６は格納装置の互に異なるタイプをさらに含む。例えば、データプロバイダー１１６は揮発性格納装置、不揮発性格納装置、又はそれらの組合せを含む。より具体的な例として、データプロバイダー１１６はディスクドライブ、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ装置、ＮＡＮＤメモリ装置、他の不揮発性メモリ装置を含む分散メモリ又は分散形コンピューティングシステム、ディスクアレイ、その制御回路又は制御装置、又はそれらの組合せを含む。
【０１００】
感知装置３０６は環境又は感知装置と関連された対象と関連された情報を提供するように構成される装置又はその部分であってもよい。例えば、感知装置３０６は生体認証装置、位置又は動きの監視装置、環境モニタリング装置、又はそれらの組合せを含む。より具体的な例として、感知装置３０６は心臓モニタ、動きを追跡するＧＰＳ装置、加速度センサ、圧力センサ、温度計、光センサ、音響センサ、マイクロフォン、又はそれらの組合せを含む。
【０１０１】
プロセシングハブ３０８は環境又は感知装置３０６と関連された対象に対して処理された出力を提供する装置又はその部分であってもよい。例えば、仮にＩｏＴ技術を含むコンピューティングシステム１００は感知装置３０６を使用して多様な情報を検索する。感知装置３０６はサーバやスマートフォンのような処理装置に直接感知情報を提供する。また、例えば仮にＩｏＴ技術を含むコンピューティングシステム１００は格納された情報をセンシング情報に結合する。
【０１０２】
また、例えば感知装置３０６は感知された情報を要約するか、或いは中間処理を提供するプロセシングハブ３０８に感知された情報をさらに提供する。プロセシングハブ３０８はサーバ又は追加処理のためにスマートフォン等の通信エンドポイント１１０に要約又は中間出力を提供する。プロセシングハブ３０８はセンサデータを圧縮してセンサデータのためのパターンを計算して提供することによって、中間処理を要約するか、或いは提供し、センサデータを統計的に分析するグループ又はカテゴリーを提供し、それらの組合せを提供する。
【０１０３】
プロセシングハブ３０８及び感知装置３０６は通信エンドポイント１１０であってもよい。プロセシングハブ３０８又は感知装置３０６は図１のプロセシング要請１１２を発生するか、或いは図１のクレジット管理メカニズム１１８を構成するデータプロバイダー１１６の機能を遂行するか、或いはそれらの組合せを提供する。
【０１０４】
例えば、プロセシングハブ３０８はアップロードリソースを提供する感知装置に対して感知された情報又は中間結果を提供するサーバ又は／及びエンドユーザー装置のようなサービス装置、それらの組合せに対してデータプロバイダー１１６になる。また、例えば感知装置３０６は感知された情報を提供するプロセシングハブ３０８又はサービス装置に対してデータプロバイダー１１６の役割を遂行する。プロセシングハブ３０８、感知装置３０６、又はそれらの組合せはセンシング情報又はこの中間結果アクセスの全体リソース１２０を管理するクレジット管理メカニズム１１８を構成する。
【０１０５】
データプロバイダー１１６は通信メカニズム３１０を含む。通信メカニズム３１０は装置の間又は装置の部分の間において情報を交換するための方法、過程、連結、又はそれらの組合せを含む。通信メカニズム３１０はワイヤ、バス、周波数、時間スロット、コード、プロトコル、又はそれらの組合せを含む。
【０１０６】
例えば、通信メカニズム３１０は搬送波周波数、通信プロトコル、又はプロセシングハブ３０８、感知装置３０６、図１の第２装置１０６の間の通信のためのそれらの組合せを含む。また、通信メカニズム３１０は内部バス、外部バス、並列又は直列バス、又はそれらの組合せに対するバス、プロトコル、又はそれらの組合せを含む。より具体的な例として、通信メカニズム３１０はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）標準でＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）標準、汎用直列バス（ＵＳＢ）、又はその他の拡張バス又はプロトコルを含む。
【０１０７】
データプロバイダー１１６はプロセシングセグメント３１２を処理するためにプロセシング要請１１２を利用する。プロセシングセグメント３１２はデータプロバイダー１１６のための情報を処理するために利用されるリソースのユニットであってもよい。プロセシングセグメント３１２はデータプロバイダー１１６の情報を処理するためのプロセシング区間又は時間区間、メモリの分割、又はグループ、プロセシングサイクルの分割又は組合せを含む。
【０１０８】
例えば、プロセシングセグメント３１２はデータプロバイダー１１６のためのクロック又は命令又は動作を遂行する時間区間を含む。また、例えばプロセシングセグメント３１２はコンピューティングシステム１００によって事前に決定された時間の任意の区間又はコンピューティングシステム１００によって確立されるか、或いは樹立されたセッションを含む。
【０１０９】
データプロバイダー１１６はプロセシング要請１１２を処理するために全体リソース１２０を制御するダイナミックバジェッティングメカニズム３１４（ｄｙｎａｍｉｃ  ｂｕｄｇｅｔｉｎｇ  ｍｅｃｈａｎｉｓｍ）を使用する。ダイナミックバジェッティングメカニズム３１４は全体リソース１２０を割当するか、分配するか、管理するか、或いはそれらの組合せのための処理、方法、回路、方程式、又はそれらの組合せであってもよい。
【０１１０】
ダイナミックバジェッティングメカニズム３１４はプロセシングセグメント３１２に基づく。ダイナミックバジェッティングメカニズム３１４はプロセシングセグメント３１２の一つ以上のインスタンスのための全体リソース１２０の一部を動的に割当する。ダイナミックバジェッティングメカニズム３１４はプロセシング要請１１２の受信、請求（ｓｏｌｉｃｉｔｉｎｇ）、予期（ｅｘｐｅｃｔｉｎｇ）又はそれらの組合せに基づいてデータプロバイダー１１６の動作の中において全体リソース１２０、又はそれの部分を動的に割当する。
【０１１１】
データプロバイダー１１６は要請ホスト３１６と通信する。要請ホスト３１６はプロセシング要請１１２が発生するか、或いは伝送する通信エンドポイント１１０のインスタンスであってもよい。要請ホスト３１６は装置又はその部分を含み、データプロバイダー１１６から分離される。
【０１１２】
コンピューティングシステム１００は要請ホスト３１６を表すためのホストプロフィール３１８を含む。ホストプロフィール３１８はデータプロバイダー１１６によってサービスが提供される要請ホスト３１６の一つ以上のインスタンスの説明であってもよい。ホストプロフィール３１８はデータプロバイダー１１６に連結されるか、或いは割当された要請ホスト３１６の一つ以上のインスタンスを説明する。
【０１１３】
ホストプロフィール３１８は要請ホスト３１６とデータプロバイダー１１６との間の連結、データプロバイダー１１６によって提供される要請ホスト３１６に対する機能又はサービス、又はそれらの組合せを説明する。例えば、ホストプロフィール３１８は連結識別子３２０、物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せを含む。
【０１１４】
連結識別子３２０は要請ホスト３１６とデータプロバイダー１１６の間の連結に対する説明（ｄｅｓｃｒｉｐｔｉｏｎ、詳細記述の識別子、以下、単に「説明」という）である。連結識別子３２０は装置の間の又は装置の部分の間の情報交換のために物理メカニズムを説明する。連結識別子３２０は要請ホスト３１６、データプロバイダー１１６、又はそれらの組合せにおけるポート、チャンネル、接続の細部事項や特性、又はそれらの組合せを示す。
【０１１５】
物理機能識別子３２２はデータプロバイダー１１６によって提供される機能又は全体特徴又は全体機能に対する説明であり、またプロセシング要請１１２を通じた要請ホスト３１６に対するアクセス可能性に対する説明であってもよい。仮想機能識別子３２４はデータプロバイダー１１６によって提供されて対応する機能又は特徴、又はそれらの組合せに対する説明であり、またプロセッシング要請１１２を通じた要請ホスト３１６に対するアクセス可能性に対する説明であってもよい。
【０１１６】
仮想機能識別子３２４は物理機能に包含された構成リソースを欠くことができる。例えば、物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せは例えば、ＰＣＩｅを有する通信メカニズム３１０に対応する。物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せはデータプロバイダー１１６の可能な機能、過程、特徴、又はそれらの組合せをアクセスする又は構成することを示す。
【０１１７】
例示したように、コンピューティングシステム１００は通信及び格納システム等のデータセンタを含む。データセンタは要請ホスト３１６に要請ホスト３１６の複数のインスタンスを提供するデータプロバイダー１１６と一緒に複数のホストを収容するためのメモリ又はデータ格納のような共有されたリソースを使用する。要請ホスト３１６とデータプロバイダー１１６との間の通信メカニズム３１０はＰＣＩｅを含む。データプロバイダー１１６はスマート格納装置３０２、多機能格納装置３０４、又はそれらの組合せを含む。
【０１１８】
また、一例として、コンピューティングシステム１００は一つの装置内にデータプロバイダー１１６及び要請ホスト３１６を含む。データプロバイダー１１６は図２の第１格納ユニット２１４を含む。第１格納ユニット２１４は図２の第１制御ユニット２１２、図２の第１通信ユニット２１６、図２の第１使用者インターフェイス２１８、又はそれらの組合せを含む要請ホスト３１６をサービスする。また、データプロバイダー１１６は図２の第２格納ユニット２４６を含む。第２格納ユニット２４６は図２の第２制御ユニット２３４、図２の第２通信ユニット２３６、図２の第２使用者インターフェイス２３８、又はそれらの組合せを含む要請ホスト３１６をサービスする。
【０１１９】
さらに詳細な例として、コンピューティングシステム１００はデータ独立ディスク（ＲＡＩＤ）の重複配列の全体システムとして構成されるデータプロバイダー１１６ドライブやストレージアレイを含む。その他の詳細な例として、コンピューティングシステム１００はＲＡＩＤ内のドライブ又はストレージアレイ内の単一の個別ドライブ又はディスクとして構成されるデータプロバイダー１１６を含む。
【０１２０】
データプロバイダー１１６は要請ホスト３１６の複数のインスタンスに関連した全体リソース１２０の使用を管理するクレジット管理メカニズム１１８を構成する。データプロバイダー１１６は要請ホスト３１６の各インスタンスを提供するように全体リソース１２０の適切な部分を分割して割当するためのクレジット管理メカニズム１１８を具現する。
【０１２１】
データプロバイダー１１６はダイナミックバジェッティングメカニズム３１４を使用する。ダイナミックバジェッティングメカニズム３１４は要請ホスト３１６の各インスタンスのための現在又はプロジェクトされたプロセシング要求又は必要によって全体リソース１２０の部分を動的に分割及び割当する。
【０１２２】
データプロバイダー１１６によって連結されて提供される要請ホスト３１６のすべてのインスタンスにおいて要請ホスト３１６の個別インスタンスは重要な互に異なる性能の要求事項を有する。このような性能の要求事項は重要なＳＬＡマトリックスを満足することを補正するのに十分でなければならない。データプロバイダー１１６は対応するＳＬＡによって要請ホスト３１６の各インスタンスにサービス（ＱｏＳ）の測定又は性能パラメータの品質を提供することが期待される。
【０１２３】
例えば、要請ホスト３１６の一つ以上のインスタンスは無意味なデータ伝送量又は高い帯域幅を含む高い要求移行率を要求する。また、例えば要請ホスト３１６の一つ以上のインスタンスの各々は相当のデータ伝送帯域幅を必要とする幾つかの要請を提示する。また、例えば要請ホスト３１６の一つ以上のインスタンスは、各正常プレゼンテーション要請レートを示し、各要請はほぼ均一な装置の成就応答時間（ｄｅｖｉｃｅ−ｆｕｌｆｉｌｌｍｅｎｔ  ｒｅｓｐｏｎｓｅ  ｔｉｍｅｓ）を要求する。また、例えば要請ホスト３１６の一つ以上のインスタンスが要請プレゼンテーションレートの予測不可能なバーストを示す。
【０１２４】
データプロバイダー１１６は要請ホスト３１６のインスタンスに関連した多様な要求及び必要を動的に管理するクレジット管理メカニズム１１８を利用する。データプロバイダー１１６は他のホスト要請干渉にもかかわらず要請ホスト３１６のインスタンスが、それらの特定の性能要求を満足させるように活性化させるか、或いは最悪の場合にも、相対的優雅かつバランスのとれた方法によるそれらのＳＬＡを失敗することをホストに許容する。
【０１２５】
データプロバイダー１１６は多機能格納装置３０４を有するＰＣＩｅのような通信メカニズム３１０を利用する。また、データプロバイダー１１６はＰＣＩｅホストインターフェースを通じてＰＣＩｅ物理ポートを露出する。ＰＣＩｅ装置は同時に装置に連結できるホストの個数を増加させながら、論理ホストの連結を提供するメカニズムの個数を増加させる。
【０１２６】
図４は本発明の実施形態によるコンピューティングシステム１００の制御フローを例示的に示す図である。図４を参照すれば、コンピューティングシステム１００はコマンドフェッチブロック４０２、クレジットチェッカブロック４０４、コマンドプロセシングブロック４０６、コマンド補完ブロック４０８、又はそれらの組合せを含む。
【０１２７】
ブロック、バッファ、ユニット、又はそれらの組合せは多様な方式により互いに連結される。例えば、ブロックは有線又は無線連結、学習段階、工程順序、又はそれらの組合せを使用して他の出力に連結された一つのブロックの入力を有することによって結合する。また、例えばブロック、バッファ、ユニット、又はそれらの組合せは中間構造無しに直接的に他のブロック、バッファ、ユニット、又はそれらの組合せの間の連結手段に直接的に連結される。または、ブロック、バッファ、ユニット、又はそれらの組合せはブロック、バッファ、ユニット、又はそれらの組合せによって他のブロック、バッファ、ユニット、又はそれらの組合せの間の連結手段によって間接的に連結される。
【０１２８】
より具体的な例として、クレジットチェッカブロック４０４の一つ以上の入力又は出力はコマンドフェッチブロック４０２、コマンド補完ブロック４０８又はそれらの組合せの一つ以上の入力又は出力に直接的に連結される。このような直接連結は直接連結のためのコンダクタ又は動作連結を利用する。また、クレジットチェッカブロック４０４の一つ以上の入力又は出力はコマンドフェッチブロック４０２、コマンド補完ブロック４０８、又はそれらの組合せの一つ以上の入力又は出力に間接的に連結されることもできる。このような間接連結は間接連結のための他のユニット、ブロック、バッファ、装置、又はそれらの組合せを利用する。また、例えばコマンドフェッチブロック４０２、コマンド補完ブロック４０８、又はそれらの組合せは類似にコマンドプロセシングブロック４０６に連結される。また、コマンドフェッチブロック４０２、コマンド補完ブロック４０８、又はそれらの組合せは図３の要請ホスト３１６の一つ以上のインスタンスに直接的に又は間接的に連結されることもできる。
【０１２９】
コマンドフェッチブロック４０２は図２の要請ホスト３１６の一つ以上のインスタンスとインターフェイスするように構成される。コマンドフェッチブロック４０２は図１のデータプロバイダー１１６のための要請ホスト３１６と通信する。
【０１３０】
コマンドフェッチブロック４０２は多様な方法により要請ホスト３１６と通信する。例えば、コマンドフェッチブロック４０２は図１のプロセシング要請１１２のための要請ホスト３１６を遮断するか、或いは要請ホスト３１６からプロセシング要請１１２をフェッチする。また、例えばコマンドフェッチブロック４０２はプロセシング要請１１２を処理するためのデータプロバイダー１１６において要請ホスト３１６からプロセシング要請１１２を受信する。
【０１３１】
コマンドフェッチブロック４０２はプロセシング要請１１２を通信するように、図２の第１通信ユニット２１６、第２通信ユニット２３６、又はそれらの組合せを使用する。コマンドフェッチブロック４０２はプロセシング要請１１２を通信するように、図２の第１格納インターフェイス２２４、第２格納インターフェイス２４８、第１制御インターフェイス２２２、第２制御インターフェイス２４４、及びその組合せをさらに使用する。コマンドフェッチブロック４０２はＰＣＩｅバス又はＡＸＩ（ａｄｖａｎｃｅｄ  ｅｘｔｅｎｓｉｂｌｅ  ｉｎｔｅｒｆａｃｅ）バスのような通信メカニズム３１０（図３）をさらに使用する。
【０１３２】
コマンドフェッチブロック４０２はプロフィールブロック４０３を含む。プロフィールブロック４０３は要請ホスト３１６の一つ以上のインスタンスを指示する図３のホストプロフィール３１８を判別する。プロフィールブロック４０３は図３の連結識別子３２０、物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せを有するホストプロフィール３１８を判別する。
【０１３３】
プロフィールブロック４０３は多様な方式によりホストプロフィール３１８を決定する。例えば、プロフィールブロック４０３はより具体的な例として、要請ホスト３１６の一つ以上のインスタンスを識別又は構成情報を通信に基づきホストプロフィール３１８を決定する。プロフィールブロック４０３は要請ホスト３１６から装置識別を受信するためにホストプロフィール３１８と通信する。プロフィールブロック４０３は要請ホスト３１６の対応するインスタンスに通信するために使用される連結識別子３２０を識別する。
【０１３４】
また、例えばプロフィールブロック４０３はデータプロバイダー１１６に連結された要請ホスト３１６の各インスタンスに連関された事前に決定された情報に基づいてホストプロフィール３１８を判別する。プロフィールブロック４０３は機能の目録、構成情報、性能又は設定パラメータ、又はそれらの組合せを含む。
【０１３５】
例を続けると、プロフィールブロック４０３はＳＬＡ又はＱｏＳに基づいて機能の目録、構成情報、性能又は設定パラメータ、又はそれらの組合せを含む。プロフィールブロック４０３は要請ホスト３１６の各インスタンスに従って機能、構成情報、パラメータ、又はそれらの組合せに基づくホストプロフィール３１８を判別する。
【０１３６】
より具体的な例として、プロフィールブロック４０３は構成情報に基づいて連結識別子３２０を判別する。また、さらに具体的な例として、プロフィールブロック４０３は機能の目録、性能又は設定パラメータ、又はそれらの組合せから物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せを判別する。
【０１３７】
また、例えばプロフィールブロック４０３はホストプロフィール３１８のインスタンス又はプロセシング要請１１２の入力インスタンスに対応するホストプロフィール３１８内の一部を選択するか、或いは識別することに基づいてホストプロフィール３１８を判別する。プロフィールブロック４０３はプロセシング要請１１２のインスタンスを伝送するか、或いは発生する要請ホスト３１６を識別することに基づいてホストプロフィール３１８を識別する。プロフィールブロック４０３はホストプロフィール３１８に対応するインスタンスを選択するように要請ホスト３１６に連関された識別情報又は連結識別子３２０を利用する。
【０１３８】
コマンドフェッチブロック４０２はホストプロフィール３１８を判別するため、第１格納ユニット２１４、第２格納ユニット２４６、専用回路又は内部コンポーネント、又はそれらの組合せを使用する。コマンドフェッチブロック４０２はホストプロフィール３１８を判別するため、第１制御ユニット２１２、第２制御ユニット２３４、又はそれらの組合せをさらに使用する。コマンドフェッチブロック４０２は第１格納ユニット２１４、第２格納ユニット２４６、又はそれらの組合せによりホストプロフィール３１８を格納する。
【０１３９】
より具体的な例として、コマンドフェッチブロック４０２は揮発性メモリ、不揮発性メモリ、内部メモリ、外部メモリ、又はそれらの組合せを使用する。例えば、不揮発性メモリはフラッシュメモリ、ディスク格納装置であり、揮発性メモリはＳＲＡＭ又はＤＲＡＭであってもよい。コマンドフェッチブロック４０２はＮＡＮＤメモリ装置、分散メモリ、又は分散型コンピューティングシステム、ディスクアレイ、制御回路、又は制御装置、又はそれらの組合せであってもよい。また、さらに具体的な例として、コマンドフェッチブロック４０２はプロセッサ、埋め込み型プロセッサ、マイクロプロセッサ、ハードウェア制御ロジック、ハードウェア有限状態機械（ＦＳＭ）、デジタル信号プロセッサ（ＤＳＰ）、受動回路素子、能動回路素子、メモリユニット／通信ユニットに含まれた制御回路又はそれらの組合せを含む。
【０１４０】
コマンドフェッチブロック４０２は公知された格納ユニット又は事前に決定されたプロファイルにアクセスする。コマンドフェッチブロック４０２は、プロファイルを一致させるために、新しいプロファイルを発生するために、新しいプロファイルを格納するために、又はそれらの組合せのために一つ以上の格納ユニット又は制御ユニットを使用する。
【０１４１】
コマンドフェッチブロック４０２はクレジットチェッカブロック４０４から情報を指定／格納情報を得る。コマンドフェッチブロック４０２は要請ホスト３１６の一つ以上のインスタンスに対応する図１の全体リソース１２０又は一部リソースの指定又は分割するためにプロンプトするか、或いは受信する。
【０１４２】
制御フローはコマンドフェッチブロック４０２からクレジットチェッカブロック４０４に進行する。制御フローは多様な方式により進行できる。例えば、制御フローは他のブロックに進行した一つのブロックのプロセシング結果を有することにより進行する。これはまるで、ホストプロフィール３１８、プロセシング要請１１２、それらの初期又は中間インスタンス、又はそれらの組合せのようなプロセシング結果をコマンドフェッチブロック４０２からクレジットチェッカブロック４０４に進行することである。
【０１４３】
また、例えば制御フローは、公知でありクレジットチェッカブロック４０４にアクセス可能な格納位置にホストプロフィール３１８又はプロセシング要請１１２を格納するように、公知でありクレジットチェッカブロック４０４にアクセス可能な格納位置にプロセシングの結果を格納することによって進行する。また、例えば制御フローはフラッグ、インタラプト、状態信号、又はそれらの組合せをクレジットチェッカブロック４０４に通知することによって進行する。
【０１４４】
クレジットチェッカブロック４０４はプロセシング要請１１２を処理するための全体リソース１２０を管理するように構成される。クレジットチェッカブロック４０４は全体リソース１２０又はそれの部分を分割又は割当することによって全体リソース１２０を管理する。クレジットチェッカブロック４０４はインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せの計算に基づいて全体リソース１２０を管理する。
【０１４５】
インスタンスバジェット４１０は要請ホスト３１６の対応するインスタンス、プロセシング要請１１２の対応するインスタンス、又はそれらの組合せをサービスするために指定された全体リソース１２０の一部であってもよい。インスタンスバジェット４１０は図１のデータリソース１２２、プロセシングリソース１２４、又はそれらの組合せを割当する。これは要請ホスト３１６の対応するインスタンス、プロセシング要請１１２の対応するインスタンス、又はそれらの組合せをサービスするために設定される。
【０１４６】
追加バジェット４１２はプロセシング要請１１２の他のインスタンス、要請ホスト３１６の他のインスタンス、又はそれらの組合せをサービスするために指定された全体リソース１２０の追加の一部であってもよい。追加バジェット４１２はインスタンスバジェット４１０から分離されて異なる。追加バジェット４１２は現在のプロセシング要請１１２、現在の要請ホスト３１６又はそれらの組合せと異なる要請ホスト３１６の追加インスタンス、プロセシング要請１１２の追加インスタンス、又はそれらの組合せを詳細化させる。
【０１４７】
クレジットチェッカブロック４０４はデータプロバイダー１１６に連結されるか、或いはサービスされた要請ホスト３１６のすべてのインスタンスに対応する一つ以上のバジェットを計算する。クレジットチェッカブロック４０４はデータプロバイダー１１６に連結されるか、或いはサービスされた要請ホスト３１６の活性化された通信インスタンスに対応する一つ以上のバジェットをさらに計算する。
【０１４８】
クレジットチェッカブロック４０４は図１のクレジット管理メカニズム１１８、図３のダイナミックバジェッティングメカニズム３１４、又はそれらの組合せを利用して、インスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。例えば、クレジットチェッカブロック４０４はクレジット管理メカニズム１１８、ダイナミックバジェッティングメカニズム３１４、又はそれらの組合せによって要請ホスト３１６の対応するインスタンスのためのホストプロフィール３１８に基づいてインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。
【０１４９】
さらに具体的な例として、クレジットチェッカブロック４０４は連結識別子３２０、物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せに基づいてインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。また、さらに具体的な例として、クレジットチェッカブロック４０４はプロセシング要請１１２、要請ホスト３１６のアイデンティティ、又はそれらの組合せに基づいてインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。
【０１５０】
さらに詳細には、ＰＣＩｅ物理ポート、物理機能、及び仮想機能の組合せはマルチ機能のＰＣＩｅ格納装置のプロセシングリソースに連結されて共有する物理ホスト及び仮想マシンの個数を大きく増加させる。マルチ機能のＰＣＩｅ格納装置はホストの間における干渉を管理するように設置されたホストのサービス又は仮想マシンのサービスを測定する。
【０１５１】
例を続けると、クレジットチェッカブロック４０４はホスト又は仮想マシンがあまりにも多くの装置リソースを使用するか、或いは他の設置ホストに“ノイジーネイバー（ｎｏｉｓｙ  ｎｅｉｇｈｂｏｒ）”として活動する時を識別するクレジット基盤管理を構成するためにインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。クレジットチェッカブロック４０４はデータ伝送帯域のようなデータリソース１２２、コマンドカウントのようなプロセシングリソース１２４、又はそれらの組合せを制限するためにインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを計算する。
【０１５２】
クレジットチェッカブロック４０４はインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する過程において、クレジット管理メカニズム１１８、ダイナミックバジェッティングメカニズム３１４、又はそれらの組合せのための過程、方法、方程式、回路、又はそれらの組合せを使用する。コマンドフェッチブロック４０２はクレジット管理メカニズム１１８、ダイナミックバジェッティングメカニズム３１４、又はそれらの組合せのための入力パラメータとしてプロセシング要請１１２、プロセシング要請１１２に連関された要請ホスト３１６のアイデンティティ、ホストプロフィール３１８、又はそれらの組合せを使用する。
【０１５３】
例えば、クレジットチェッカブロック４０４は要請ホスト３１６の各々に対応するタイプ又はカテゴリに対応する比率、優先権、加重値、又はそれらの組合せを含む。また、例えばクレジットチェッカブロック４０４はプロセシング要請１１２のタイプ又は特殊なインスタンスに対応する比率、優先権、加重値、又はそれらの組合せを含む。また、例えばクレジットチェッカブロック４０４は要請ホスト３１６の各々のためのＳＬＡに対応する比率、優先権、加重値、又はそれらの組合せを含む。
【０１５４】
クレジットチェッカブロック４０４は比率、優先権、加重値、又はそれらの組合せによって全体リソース１２０を分割することに基づいてインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。さらに詳細に、クレジットチェッカブロック４０４はプロセシングセグメント３１２の現在インスタンスにおいて、比率構成、優先権、加重値、又はそれらの組合せのための全体を計算する。
【０１５５】
クレジットチェッカブロック４０４はプロセシングセグメント３１２のための全体リソース１２０内のシングルユニットを計算するため、計算された全体によって全体リソース１２０を分割する。クレジットチェッカブロック４０４は要請ホスト３１６、特殊プロセシング要請１１２、ＳＬＡ、又はそれらの組合せに対応するインスタンスに関連された比率、優先権、加重値、又はそれらの組合せによって全体リソース１２０のシングルユニットを乗算することに基づいてインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。
【０１５６】
クレジットチェッカブロック４０４は図１の通信エンドポイント１１０の中の一つにおいてインスタンスバジェット４１０、追加バジェット４１２、及びその組合せをさらに計算する。クレジットチェッカブロック４０４は通信エンドポイント１１０のいずれか一つ、プロセシング要請１１２、又はプロセシング要請１１２のための専用又は拡張されたリソースの量を制御する。
【０１５７】
クレジットチェッカブロック４０４はデータプロバイダー１１６においてバジェットを計算する。クレジットチェッカブロック４０４はプロセシング要請１１２を実行するか、或いは具現するためのデータプロバイダー１１６によりリソースの使用をさらに制御する。クレジットチェッカブロック４０４は図３のスマート格納装置３０２、多機能格納装置３０４、感知装置３０６、プロセシングハブ３０８、又はそれらの組合せを含むデータプロバイダー１１６により計算するか、或いは制御する。
【０１５８】
クレジットチェッカブロック４０４は入出力（ＩＯ）読出し／書込み要請を有するプロセシング要請１１２の係留中のインスタンスを優先するため、インスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。クレジットチェッカブロック４０４は要請ホスト３１６及び要請ホスト３１６のための計算されたバジェットによってプロセシング要請１１２の係留中のインスタンスを優先する。
【０１５９】
クレジットチェッカブロック４０４は図３のプロセシングセグメント３１２のためのインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。クレジットチェッカブロック４０４はプロセシング要請１１２の処理のためのプロセシングセグメント３１２のインスタンスに対応する全体リソース１２０の分割を制御するためにインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。
【０１６０】
クレジットチェッカブロック４０４はプロセシングセグメント３１２の各インスタンスのためのインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算するためにダイナミックバジェッティングメカニズム３１４を使用する。クレジットチェッカブロック４０４はプロセシング要請１１２を処理するためのプロセシングセグメント３１２に対応するインスタンスの内に使用されたリソースの量を制御するか、制限するか、或いは指定するためにインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。
【０１６１】
コマンドプロセシングブロック４０６は対応するバジェットによってプロセシング要請１１２を処理する。下記において、このような処理に対して詳細に説明する。
【０１６２】
クレジットチェッカブロック４０４は次の要求の予測又は推定に基づいてインスタンスバジェット４１０、追加バジェット４１２、及びその組合せを計算する。
【０１６３】
予測ブロック４１６は要請ホスト３１６の一つ以上のインスタンスからリソースのための要求又は要請を予測するか、或いは推定するように構成される。予測ブロック４１６はプロセシングセグメント３１２の現在インスタンス又は次（ｕｐｃｏｍｉｎｇ）のインスタンスを予測するか、或いは推定する。
【０１６４】
予測ブロック４１６は消費予測４１８を計算することに基づいて予測するか、或いは推定する。消費予測４１８は要請ホスト３１６の一つ以上のインスタンスからリソースのための要求及び要請の推定であってもよい。消費予測４１８はプロセシングセグメント３１２の現在インスタンス又は次のインスタンスのための要求又は要請を予測する。
【０１６５】
消費予測４１８は要請ホスト３１６又は他のホストに対応するインスタンスからプロセシング要請１１２の現在又は次のインスタンスを推定することを根拠にする。消費予測４１８はインストラクションを残すこと又はプロセシング要請１１２の現在インスタンスの一部を処理することを根拠にする。
【０１６６】
装置アクセスクレジット４２０はプロセシングセグメント３１２の利用に対応する。コマンドプロセシングブロック４０６は、プロセシングセグメント３１２の各インスタンスのために開始と終了部分のような装置アクセスクレジット４２０をリセットする。
【０１６７】
例えば、コマンドプロセシングブロック４０６は要請ホスト３１６に対応するインスタンスからプロセシング要請１１２を処理するためにプロセシングリソース１２４を追跡しながら、実行されるコマンド又はインストラクションの個数をカウントする。また、例えばコマンドプロセシングブロック４０６は要請ホスト３１６に対応するインスタンスからプロセシング要請１１２を処理するためにデータリソース１２２を追跡しながら、データの帯域幅又は伝送比率を測定する。
【０１６８】
コマンドプロセシングブロック４０６は、要請ホスト３１６に対応するバジェットを超過することなく、残り又は使用されたクレジットに基づいてプロセシング結果１１４を発生する。コマンドプロセシングブロック４０６は装置アクセスクレジット４２０、追加アクセスクレジット４２２、又はそれらの組合せがインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せに合致する時に処理を中断する。
【０１６９】
コマンドプロセシングブロック４０６は停止点までの過程の出力としてプロセシング結果１１４を発生する。コマンドプロセシングブロック４０６はバランスがバジェットの最後に到達したか否かを示すクレジット枯渇状態４２４を設定する。
【０１７０】
コマンドプロセシングブロック４０６はクレジットチェッカブロック４０４、コマンド補完ブロック４０８、又はそれらの組合せにクレジット枯渇状態４２４、クレジット量の残り個数、又はそれらの組合せを通信するか、或いは通過する。クレジットチェッカブロック４０４は消費予測４１８を計算して、インスタンスバジェット４１０を調節し、それらの組合せのためにクレジット枯渇状態４２４、バランス、又はそれらの組合せを利用する。
【０１７１】
データプロバイダー１１６におけるバランスに合わせて構成されたバジェットは信頼性及び予測可能性を増加させることが明らかになった。データプロバイダー１１６はバランスを反映して実際に使用データを有する実時間に全体リソース１２０を制御する。データプロバイダー１１６における実際使用データは、中間ネットワークコンポーネント１０８又は第１装置１０２を含む要請ホスト３１６において予測が外れる洞察を提供する。バランス及びバジェットに基づいた制御は複数のホストの間の衝突を抑えながら、これによりコンピューティングシステム１００の信頼性及び予測可能性を向上させる。
【０１７２】
制御フローはコマンドプロセシングブロック４０６からコマンド補完ブロック４０８に進行する。制御フローは、装置アクセスクレジット４２０、追加アクセスクレジット４２２、クレジット枯渇状態４２４又はそれらの組合せのようなコマンドプロセシングブロック４０６のプロセシングの結果を利用して上述したように装置アクセスクレジット４２０とクレジットチェッカブロック４０４の間を進行する。
【０１７３】
コマンド補完ブロック４０８はプロセシング要請１１２の処理を完了するように構成される。コマンド補完ブロック４０８はプロセシング要請１１２を発生させる要請ホスト３１６に対するプロセシング結果１１４を通信することによって完了する。
【０１７４】
コマンド補完ブロック４０８は一つ以上のクレジットをさらに返す。コマンド補完ブロック４０８はクレジットチェッカブロック４０４に対してインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを返すことによって一つ以上のクレジットを返す。コマンド補完ブロック４０８はインスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せを再設定することによってクレジットをさらに返す。
【０１７５】
コマンド補完ブロック４０８は要請ホスト３１６のインスタンスに対応してクレジット枯渇状態４２４、バランス、又はそれらの組合せを通過するか、或いはそれらと通信する。要請ホスト３１６はデータプロバイダー１１６からクレジット枯渇状態４２４、バランス、又はそれらの組合せに基づいてプロセシング要請１１２の連続的なインスタンス又は他の任意処理を調節する。
【０１７６】
バジェット、バランス、クレジット枯渇状態４２４又はそれらの組合せのようなデータプロバイダー１１６から通信に基づいたプロセシング要請１１２は全体性能の向上を提供すると明らかになった。データプロバイダー１１６から直接的なフィードバックはバジェッティングを通じたホストから処理を調節しながら、フィードバックを通じた各ホストにおいて処理を調節するのに利用される。他のホストと共にデータプロバイダー１１６の能力に関する直接的なフィードバックはブラインドシステム又は中間ネットワークコンポーネント１０８によって発生されたフィードバックがあるところから洞察を提供する。このような洞察は全体の性能向上のために調節するのに利用される。さらに、時間に対する装置の効率性も増大する。
【０１７７】
クレジットチェッカブロック４０４はプロセシングリソース１２４のためのバジェットを計算し、コマンドカウントクレジットを具現する。データプロバイダー１１６は時間の任意の地点においてデータプロバイダー１１６によってサービスされるか、実行される個別コマンドの個数を制限するか、或いは制御するようにコマンドカウントクレジットを使用する。この限界に到達するか、或いはクレジットが消尽されると、データプロバイダー１１６は追加コマンドフェッチ及び処理を中止する。
【０１７８】
コマンドカウントクレジットが許容するか、或いはホストが装置フェッチサイクル以前に提出されたエンティティ（ｅｎｔｉｔｙ）のためのＰＣＩｅコマンドをデータプロバイダー１１６はエンティティリストの始まりを開始して処理する。その後に、データプロバイダー１１６はコマンドカウントクレジットを許容するエンティティのためのＰＣＩｅコマンドを処理するように次のリストエントリに対する次のエンティティに移動する。データプロバイダー１１６はデータプロバイダー１１６がリストの最後に到達するまで上述した過程を継続する。その後に、データプロバイダー１１６はこれを繰り返する。
【０１７９】
クレジットチェッカブロック４０４はデータリソース１２２のためのバジェットを計算する。クレジットチェッカブロック４０４は機能又はグループ機能、又は全体のホスト、アプリケーション、又は装置、又はそれに対応するグループのために伝送されたバイトの個数を制限するため、データプロバイダー１１６のための方法を提供するデータ伝送帯域クレジットを具現する。このような制限は伝送帯域能力のために競争する他の機能又はグループのためのコマンド伝送を処理するために開始される前に賦課される。
【０１８０】
データプロバイダー１１６は伝送コマンドのための伝送動作を待機する前に装置フェッチサイクルの以前に伝送帯域クレジットが許容するか、或いはホストが提出したエンティティのためのデータを、エンティティリストの始まりを開始して伝送する。その後に、データプロバイダー１１６はデータ帯域クレジットが許容するエンティティのためのバイトを伝送するためにエンティティリストに対する次のエンティティに移動する。データプロバイダー１１６は装置がリストの最後に到達するまで過程を継続する。その後、データプロバイダー１１６はこれらを繰り返す。
【０１８１】
インスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せは要請ホスト３１６を通じて使用されるか、或いは通信される装置の間の情報により物理的変形を引き起こす。物理界の移動は消費予測４１８又は将来要求にアップデートを引き起こす。消費予測４１８又は将来要求はコンピューティングシステム１００にフィードバックされ、インスタンスバジェット４１０、追加バジェット４１２、又はそれらの組合せの連続的なインスタンスが発生する。
【０１８２】
コンピューティングシステム１００は一例としてモジュールの機能又は命令として説明される。コンピューティングシステム１００は互いに異なったモジュールが区分されるか、或いは互いに異なったモジュールが要求される。例えば、コマンドプロセシングブロック４０６及びコマンド補完ブロック４０８は併合される。また、例えばクレジットチェッカブロック４０４はバジェットを計算することにより初期化され、その後にコマンドフェッチブロック４０２はプロセシング要請１１２をもたらす。
【０１８３】
また、例えばコマンド補完ブロック４０８はクレジットチェッカブロック４０４に、クレジット又はバジェットを返す。また、例えばコマンドフェッチブロック４０２は使用又はバランスを追跡する。
【０１８４】
図示したように、コンピューティングシステム１００は制御フローに従い反復的に進行する。制御フローは反復の間にコマンドフェッチブロック４０２及びクレジットチェッカブロック４０４の間を繰り返す。制御フローはホストを識別及びインターフェースするためにホストによって全体リソース１２０を管理するため、コマンドフェッチブロック４０２及びクレジットチェッカブロック４０４の間を反復する。
【０１８５】
例を続けると、制御フローは上述したようにクレジットチェッカブロック４０４からコマンドプロセシングブロック４０６に進行する。制御フローはホストの知られた、或いは識別されたインスタンスの処理／計算の閾値条件に合うとコマンドプロセシングブロック４０６に進行する。制御フローはクレジットチェッカブロック４０４及びコマンドプロセシングブロック４０６の間を反復する。制御フローは上述したようにコマンドプロセシングブロック４０６からコマンド補完ブロック４０８に進行する。制御フローは結果が発生するか、或いは要請に対応する内部過程を完了して、閾値条件を満足することに基づいて進行する。
【０１８６】
例示的な例を続けると、制御フローは上述したようにクレジットチェッカブロック４０４からコマンド補完ブロック４０８に進行する。コマンド補完ブロック４０８は結果を提供するか、或いは公知目的のためにホストと通信する。クレジットチェッカブロック４０４は上述したようにクレジットを処理するか、或いはアップデートし、反復を行う。
【０１８７】
図５は本発明の実施形態によるコンピューティングシステム１００の動作の方法５００を例示的に示すフローチャートである。図５を参照すれば、方法５００はプロセシング要請に対応するホスト要請を示すホストプロファイルを判別する段階５０２、及び通信エンドポイントにおいて前記プロセシング要請を制御するための通信エンドポイントの全体リソース１２０から前記通信エンドポイント１１０のインスタンスバジェットを計算する段階５０４を含む。
【０１８８】
ブロック５０２は連結識別子、物理機能識別子、仮想機能識別子、又はそれらの組合せに基づいてホストプロファイルを判別することをさらに含む。
【０１８９】
ブロック５０４は、プロセシングセグメントの次のインスタンスのための装置アクセスクレジットを予測するための消費予測を計算する段階、プロセシング要請１１２を処理するためのデータプロバイダー１１６を含む前記通信エンドポイント１１０において前記インスタンスバジェット４１０を計算する段階、連結識別子３２０、物理機能識別子３２２、仮想機能識別子３２４、又はそれらの組合せに基づいてインスタンスバジェット４１０を計算する段階、通信エンドポイント１１０においてプロセシング要請１１２を処理するためのプロセシングセグメント３１２のインスタンスに対応する装置バジェットを計算する段階、又はそれらの組合せを含む。
【０１９０】
結論的な方法、過程、器具、装置、製品、及び／又はシステムは、簡単な費用の効率的な合計、非常に多様な正確さ、敏感さ、効果的であり、既に、効率的及び経済的な製造、応用、及び活用によって具現される。本発明の実施形態のその他の重要な側面は性能を増加させながら、費用を節減してシステムを簡略にする傾向を提供できることである。
【０１９１】
このような本発明の実施形態による他の側面は次のレベルの技術状態を促進する。
【０１９２】
上述した方法段階は入力データに対して動作すること、及び出力生成することにより、機能を遂行するためのコンピュータプログラムを実行する一つ以上のプログラミング可能なプロセッサによって遂行される。また、方法段階は特殊目的論理回路、例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）により具現できる。
【０１９３】
実施形態において、コンピュータ読出し可能媒体は上述した方法の中の少なくとも一部を遂行するように装置を活性させるインストラクションを含む。実施形態において、コンピュータ読出し可能媒体は磁氣媒体、光学媒体、他の媒体、又はこれらの組合せを含む（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読出し専用メモリ、フラッシュドライブ等）。実施形態において、コンピュータ読出し可能媒体は実際に非一時的に具現された物品（ａｒｔｉｃｌｅ）であってもよい。
【０１９４】
一方、上述した本発明の内容は、発明を実施するための具体的な実施形態に過ぎない。本発明は具体的で実際に利用できる手段自体だけではなく、将来の技術に活用できる抽象的で概念的なアイディアである技術的思想を含む。
【符号の説明】
【０１９５】
１００  コンピューティングシステム
１０２  第１装置
１０４  ネットワーク
１０６  第２装置
１０８  中間ネットワークコンポーネント
１１０  通信エンドポイント
１１２  プロセシング要請
１１４  プロセシング結果
１１６  データプロバイダー
１１８  クレジット管理メカニズム
１２０  全体リソース
１２２  データリソース
１２４  プロセシングリソース
２０８  第１装置伝送
２１０  第２装置伝送
２１２  第１制御ユニット
２１４  第１格納ユニット
２１６  第１通信ユニット
２１８  第１使用者インターフェイス
２２０  位置ユニット
２２２  第１制御インターフェイス
２２４  第１格納インターフェイス
２２６  第１ソフトウェア
２２８  第１通信インターフェイス
２３０  第１ディスプレイインターフェイス
２３２  位置インターフェイス
２３４  第２制御ユニット
２３６  第２通信ユニット
２３８  第２使用者インターフェイス
２４０  第２ディスプレイインターフェイス
２４２  第２ソフトウェア
２４４  第２制御インターフェイス
２４６  第２格納ユニット
２４８  第２格納インターフェイス
２５０  第２通信インターフェイス
３０２  スマート格納装置
３０４  多機能格納装置
３０６  感知装置
３０８  プロセシングハブ
３１０  通信メカニズム
３１２  プロセシングセグメント
３１４  ダイナミックバジェッティングメカニズム
３１６  要請ホスト
３１８  ホストプロフィール
３２０  連結識別子
３２２  物理機能識別子
３２４  仮想機能識別子
４０２  コマンドフェッチブロック
４０３  プロフィールブロック
４０４  クレジットチェッカブロック
４０６  コマンドプロセシングブロック
４０８  コマンド補完ブロック
４１０  インスタンスバジェット
４１２  追加バジェット
４１６  予測ブロック
４１８  消費予測
４２０  装置アクセスクレジット
４２２  追加アクセスクレジット
４２４  クレジット枯渇状態
【図１】
2017021798.tif 000003
【図２】
2017021798.tif 000004
【図３】
2017021798.tif 000005
【図４】
2017021798.tif 000006
【図５】
2017021798.tif 000007