"バンドルされたサービスを集約解除してトップレベルサービスとサブサービスにすること、階層型依存関係ツリーを作成するように前記トップレベルサービスと前記サブサービスをマップすること、および前記トップレベルサービスと前記サブサービスの依存関係を構成することであって、前記サブサービスを統合する規則のセットに基づいて前記階層型依存関係ツリーを変更することを含むことを備える方法。前記バンドルされたサービスを前記集約解除することは、前記トップレベルサービスのそれぞれのトップレベルサービスによって使用されるサブサービスのリストを受け取ることを備える請求項1に記載の方法。前記マップすることは、前記それぞれのトップレベルサービスによって使用されるサブサービスの前記リストを表す情報を含むデータストアを作成すること、および前記情報に基づいて階層型マップを生成することを備える請求項2に記載の方法。サブサービスの前記リストを前記受け取ることは、前記それぞれのトップレベルサービスの使用量を追跡すること、および前記それぞれのトップレベルサービスによって使用される前記サブサービスを特定することを備える請求項2に記載の方法。サブサービスの前記リストを前記受け取ることは、事前に指定されたリストを受け取ることを備える請求項2に記載の方法。サブサービスの前記リストを前記受け取ることは、前記それぞれのトップレベルサービスに適合するサブサービスのリストを受け取ることをさらに備える請求項2に記載の方法。前記トップレベルサービスと前記サブサービスの前記依存関係を前記構成することは、前記トップレベルサービスによって使用される前記サブサービスの数を低減することを備える請求項1に記載の方法。規則の前記セットに基づいて前記階層型依存関係ツリーを前記変更することは、前記サブサービスのコストに応答して前記トップレベルサービスの前記依存関係を変更することを備える請求項1に記載の方法。規則の前記セットに基づいて前記階層型依存関係ツリーを前記変更することは、前記サブサービスの使用量に関する条件を満たしたことに応答して前記トップレベルサービスの前記依存関係を変更することを備える請求項1に記載の方法。バンドルされたサービスを解析し、前記バンドルされたサービスの中のサービスについての情報を抽出するように構成される集約解除構成要素と、前記バンドルされたサービスについての前記情報に応じてサービスとインフラストラクチャプロバイダの階層型ツリーを生成するように構成されるマッピング構成要素であって、サービスの前記階層型ツリーは、前記サービスプロバイダと前記インフラストラクチャプロバイダの間の関係を表す、マッピング構成要素と、規則のセットに基づいて前記サービスと前記インフラストラクチャプロバイダの間の前記関係を変更するように構成される構成エンジン構成要素とを備えるシステム。前記マッピング構成要素は、前記サービスと前記インフラストラクチャプロバイダの間の既存の関係に基づいて前記インフラストラクチャプロバイダをマップするようにさらに構成される請求項10に記載のシステム。前記構成エンジン構成要素は、前記サービスと前記インフラストラクチャプロバイダの間の潜在的な関係に基づいて前記インフラストラクチャプロバイダを統合するようにさらに構成される請求項10に記載のシステム。前記集約解除構成要素は、前記サービスと前記インフラストラクチャプロバイダの間の前記関係の事前に指定されたリストを受け取るようにさらに構成される請求項10に記載のシステム。前記構成エンジン構成要素によって使用される規則の前記セットを作成するように構成される規則生成構成要素をさらに備え、規則の前記セットは、インフラストラクチャプロバイダとの関係の作成につながる条件を備える、請求項10に記載のシステム。前記条件は、前記インフラストラクチャプロバイダのコストに基づく請求項14に記載のシステム。前記条件は、前記インフラストラクチャプロバイダの使用量に基づく請求項14に記載のシステム。複数のサービスプロバイダから項目別の請求書を受け取ること、前記サービスプロバイダとインフラストラクチャプロバイダの階層型ツリーにアクセスすること、前記複数のサービスプロバイダからの前記項目別の請求書上の項目を、前記インフラストラクチャプロバイダによって提供されたサービスとマッチングすることであって、前記階層型ツリーを解析することを含むこと、およびそれぞれのインフラストラクチャプロバイダによって提供された前記サービスの統合されたリストを前記インフラストラクチャプロバイダに送ることを備える方法。前記項目を前記マッチングすることは、前記複数のサービスプロバイダが前記インフラストラクチャプロバイダを使用したことを特定することをさらに備える請求項17に記載の方法。前記サービスの前記統合されたリストを前記送ることは、前記複数のサービスプロバイダによって料金請求された、前記インフラストラクチャプロバイダによって提供されたそれぞれのサービスの価格および使用量を送ることを備える請求項17に記載の方法。コンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行に応答して、コンピューティングシステムに動作を実行させ、前記動作は、それぞれのサービスプロバイダから項目別の請求書を受け取ること、前記項目別の請求書に基づいてインフラストラクチャプロバイダによって提供されたサービスのリストを作成することであって、サービスの前記リストは、前記サービスの価格および使用量を備えること、および共通のインフラストラクチャプロバイダに切り替えるように前記サービスプロバイダを構成することによって前記インフラストラクチャプロバイダを統合することを備える、コンピュータ可読記憶媒体。前記項目別の請求書を前記受け取ることは、前記複数のサービスプロバイダによって使用された前記インフラストラクチャプロバイダのそれぞれのインフラストラクチャプロバイダに関するストレージ、ストレージトランザクション、計算時間、およびデータ転送の項目別のコストを受け取ることをさらに備える請求項20に記載のコンピュータ可読記憶媒体。前記インフラストラクチャプロバイダを前記統合することは、前記インフラストラクチャプロバイダのセットを作成すること、前記インフラストラクチャプロバイダの前記セットのコストを特定すること、および前記セットから最低のコストを伴うインフラストラクチャプロバイダのセットを選択することをさらに備える請求項20に記載のコンピュータ可読記憶媒体。前記セットを前記作成することは、インフラストラクチャプロバイダの前記セットが、前記サービスプロバイダと前記インフラストラクチャプロバイダの階層型ツリー上で前記サービスプロバイダに結び付くことを確実にすることをさらに備える請求項22に記載のコンピュータ可読記憶媒体。サービスプロバイダから項目別の請求書を受け取るように構成される料金請求構成要素と、前記項目別の請求書、および前記サービスプロバイダとインフラストラクチャプロバイダの階層型ツリーを解析し、前記項目別の請求書からの項目を前記インフラストラクチャプロバイダとマッチングするように構成されるマッチング構成要素と、前記インフラストラクチャプロバイダにマッチングさせられた前記項目をクラスタ化し、前記インフラストラクチャプロバイダに、グループ化されたトランザクションレポートを送るように構成されるグループ化構成要素とを備えるシステム。前記サービスプロバイダと前記インフラストラクチャプロバイダの前記階層型ツリーは、前記インフラストラクチャプロバイダと前記サービスプロバイダの間の依存関係を表す請求項24に記載のシステム。前記項目別の請求書は、前記サービスプロバイダによって提供されたサービス、および前記サービスを提供した前記インフラストラクチャプロバイダと関係する情報を備える請求項24に記載のシステム。前記グループ化されたトランザクションレポートは、前記サービスプロバイダによって料金請求された前記インフラストラクチャプロバイダのそれぞれによって提供された前記サービスの各サービスの価格および使用量についての情報を備える請求項24に記載のシステム。インフラストラクチャプロバイダのセットを作成するように構成されるセット作成構成要素であって、前記インフラストラクチャプロバイダの前記セットは、サービスプロバイダによって使用されるサービスのセットを提供するように構成される、セット作成構成要素と、インフラストラクチャプロバイダの前記セットの中のインフラストラクチャプロバイダの使用量当たりの価格および使用量を解析し、前記セットから、最低のコストを伴うインフラストラクチャプロバイダのセットを選択するように構成される選択構成要素と、前記選択構成要素によって選択されたインフラストラクチャプロバイダの前記セットに切り替えるように前記サービスプロバイダの構成を変更する要求を送るように構成される統合構成要素とを備えるシステム。前記インフラストラクチャプロバイダの前記セットは、階層型ツリー上で前記サービスプロバイダに結び付けられたインフラストラクチャプロバイダを備える請求項28に記載のシステム。複数のサービスプロバイダからの項目別の請求書上の項目を、複数のインフラストラクチャプロバイダによって提供されるサービスとマッチングするための手段と、前記複数のインフラストラクチャプロバイダによって提供された前記サービスに基づいて、前記項目別の請求書からの前記項目を統合してグループにするための手段と、インフラストラクチャプロバイダによって提供された前記サービスの統合されたリストを前記複数のインフラストラクチャプロバイダに送るための手段とを備えるシステム。マッチングするための前記手段は、前記複数のサービスプロバイダが、前記複数のインフラストラクチャプロバイダによって提供された前記サービスを使用したと判定するための手段を備える請求項30に記載のシステム。概要以下の詳細な説明において、本明細書の一部分を形成する添付の図面が参照される。これらの図面において、同様の符号は、そうでないことが文脈によって規定されるのでない限り、通常、同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定することを意図していない。本明細書で提示される主題の趣旨または範囲を逸脱することなく、他の実施形態が利用されてもよく、さらに他の変更が行われてもよい。本明細書で一般的に説明され、さらに図に例示される本開示の態様は、本明細書においてすべてが明確に企図される、多種多様な異なる構成において構成されること、置換されること、組み合わされること、分離されること、および設計されることが可能であることが、容易に理解されよう。詳細な説明において、サービスプロバイダおよびインフラストラクチャプロバイダについて述べる。簡明のため、サービスプロバイダまたはトップレベルサービスとは、顧客またはエンドユーザにサービスを提供しているものと定義されることが可能である一方で、インフラストラクチャプロバイダまたはサブサービスは、これらのサービスプロバイダにサービスおよびリソースを提供する。エンドユーザは、SaaS層、PaaS層、またはIaaS層のいずれと対話することもでき、1つだけのタイプの層と対話することに限定されないことに留意されたい。したがって、これらのサービスプロバイダおよびインフラストラクチャプロバイダのそれぞれが、SaaS層、PaaS層、またはIaaS層のいずれの層であることも可能である。次に図1を参照すると、サービスプロバイダおよびインフラストラクチャプロバイダの階層型ツリーを作成するためのシステムの例示的な限定的でない実施形態のブロック図が示されている。図1に示されるとおり、バンドルされたサービス104a~104cを包含するバンドルされたサービスのセット102を細分する集約解除システム100が与えられている。集約解除構成要素106が、これらのバンドルされたサービスを受け取り、これらのバンドルされたサービスを集約解除して、サービスプロバイダ112a、112b、114a、および114b、ならびにインフラストラクチャプロバイダ110a、110b、および110cにすることが可能である。マッピング構成要素108が、ベンダの関係および依存関係を示す階層型ツリー116を生成することが可能である。簡明のため、図1は、インフラストラクチャプロバイダの1つの層と、サービスプロバイダの2つの層を示すが、階層型ツリー116は、任意の数の層および組み合わせのインフラストラクチャプロバイダおよびサービスプロバイダを包含することが可能である。一実施例において、バンドルされたサービスのセット102はすべて、またはいくらかの部分が、顧客が使用する、または契約するクラウドサービスであり得る。バンドルされたサービスのセット102は、プライベートクラウドサービスおよび公共クラウドサービスの任意の組み合わせであり得る。バンドルされたサービスのセット102は、104a、104b、および104cを含み得る。バンドルされたサービスは、プライベートクラウドネットワークまたは公共クラウドネットワークに存在し得る。集約解除構成要素106が、バンドルされたサービス104aないし104cを解析し、さらにサービスプロバイダ112a、112b、114a、および114b、ならびにインフラストラクチャプロバイダ110aないし110cについての情報を抽出するように構成されることが可能である。図1は、4つのサービスプロバイダと、3つのインフラストラクチャプロバイダとを含むバンドルされたサービスを示すが、バンドルされたサービスは、任意の数および/または組み合わせのサービスプロバイダおよびインフラストラクチャプロバイダを含むことが可能であることを認識されたい。集約解除構成要素110によって抽出される情報は、バンドルされたサービスによって使用されるサービスプロバイダ、および各サービスプロバイダによって使用されるインフラストラクチャプロバイダを識別することが可能である。この情報は、サービスプロバイダによって実際に使用されるインフラストラクチャプロバイダと関係することが可能であり、さらにサービスプロバイダによって使用され得るが、実際には使用されていないインフラストラクチャプロバイダを識別することも可能である。例として、階層型ツリー116において、サービスプロバイダ112aが、インフラストラクチャプロバイダ110aと110bの両方を使用することができるが、インフラストラクチャプロバイダ110cを使用することはできないことがあり得る。同様に、サービスプロバイダ112bが、インフラストラクチャプロバイダ110bと110cの両方を使用することができるが、インフラストラクチャプロバイダ110aを使用することはできないことがあり得る。一実施形態において、集約解除構成要素106が、バンドルされたサービスを監視すること、およびバンドルされたサービスの各モジュールまたは各パッケージが呼び出すサービスについての情報をログ記録することによって、サービスプロバイダとインフラストラクチャプロバイダの間の関係についての情報を抽出することが可能である。別の実施形態において、集約解除構成要素106が、バンドルされたサービス内のモジュールによって行われたサービス呼び出しを監視することができない場合、集約解除構成要素106は、サービスプロバイダとインフラストラクチャプロバイダの間の関係の事前に指定されたリストを受け取るように構成されることが可能である。例として、集約解除構成要素106は、使用された、または使用され得るインフラストラクチャプロバイダを特定する要求を、バンドルされたサービスの中で識別されたサービスプロバイダに送ることに応答して、この情報を受け取ってもよい。さらなる実施形態において、集約解除構成要素106が、サービスに関する構成ファイル、スクリプト、またはヘッダ、およびインフラストラクチャコードを構文解析することによって、サービスプロバイダとインフラストラクチャプロバイダの間の関係についての情報を抽出することが可能である。たとえば、SaaSサービスが、スクリプトと実行可能ファイルの混合であることが可能であり、さらに集約解除構成要素106が、スクリプトおよび構成ファイルをロードし、さらに利用可能な、または実現されたインフラストラクチャ構成要素についての情報を探して、これらのスクリプトおよび構成ファイルを構文解析することが可能である。集約解除構成要素106が、インフラストラクチャ要素に関するポインタ、ロケーション、ネットワークアドレス、または他の情報を見出すと、集約解除構成要素106は、示されたディレクトリまたはマシンへさらに変更し、さらに構成ファイル、スクリプト、ヘッダなどの探索を繰り返すことが可能である。この探索は、各サブディレクトリの中を降下し階層型探索、さらに他のマシン、ディレクトリ、またはネットワークロケーションに対するリンクをたどり、さらにそれらのロケーションにおいて階層型探索を繰り返す1つまたは複数のスレッドによって行われることが可能である。このプロセスは、インフラストラクチャ要素に関する手がかりがもはや存在せず、探るべきディレクトリまたはマシンがもはや存在しなくなるまで続けられる。さらなる実施形態において、集約されたサービスの監査がサードパーティによって実行され得、その結果は集約解除構成要素106によって解析され、情報を抽出することができる。代替として、ベンダが、トップレベルサービスとサブサービスをリストアップするテーブルを提供することが可能であり、このテーブルが、サービスプロバイダおよびインフラストラクチャプロバイダについての情報をまとめるように集約解除構成要素106によって解析され得る。これらの外部リファレンスは、テーブルもしくはリストの形態で与えられることが可能であり、または集約解除構成要素106が、トップレベルサービスおよび/またはプロバイダに関する識別情報を用いてクエリを行うことが可能な別個のウェブサービスもしくはAPIの形態をとることが可能である。マッピング構成要素108が、集約解除構成要素106によって抽出された情報を使用してデータストアを作成することが可能である。マッピング構成要素108もまた、バンドルされたサービスについての情報に応じて、階層型ツリー116を生成するように構成されることが可能である。階層型ツリー116は、サービスプロバイダ112a、112b、114a、および114b、とインフラストラクチャプロバイダ110a、110b、および110cの間の関係を表すことが可能である。階層型ツリー116は、2つのサービスプロバイダと、3つのインフラストラクチャプロバイダだけしか示さないが、マッピング構成要素108は、任意の数および/または組み合わせのサービスプロバイダおよびインフラストラクチャプロバイダを有する階層型ツリーを作成することが可能である。マッピング構成要素108は、集約解除構成要素106によって抽出された依存関係および関係の情報を解析することによって階層型ツリー116を生成することが可能である。マッピング構成要素108は、インフラストラクチャプロバイダに頼るサービスプロバイダだけでなく、潜在的なすべての関係に基づいて、階層型ツリー116を作成することが可能である。ツリーのノードは、インフラストラクチャサービス、および潜在的なインフラストラクチャサービスと関係するコスト、利用可能性条件、契約情報、またはネットワークアドレスなどの、さらなるデータを含むことが可能である。次に図2を参照すると、サービスプロバイダとインフラストラクチャプロバイダの間の関係および依存関係を変更するためのシステムの例示的な限定的でない実施形態を例示するブロック図が示されている。図2に示されるとおり、サービスプロバイダとインフラストラクチャプロバイダの間の関係および依存関係を管理する構成システム200が与えられる。構成エンジン構成要素202が、規則生成構成要素204によって供給される規則のセットを使用して、階層型ツリー116において表されるサービスプロバイダとインフラストラクチャプロバイダの間の依存関係を変更する。変更された階層型ツリー206は、変更された関係、および変更された依存関係を表す。構成エンジン構成要素202は、サービスプロバイダおよびインフラストラクチャプロバイダに適合する可能な任意の組み合わせにサービスプロバイダ112aないし114bとインフラストラクチャプロバイダ110a、110b、および110cの関係および依存関係を変更することによって、階層型ツリー116を変更するように構成されることが可能である。たとえば、階層型ツリー116に示されるとおり、サービスプロバイダ112aが、インフラストラクチャプロバイダ110a、110bのいずれを使用することも可能である一方で、サービスプロバイダ112bは、インフラストラクチャプロバイダ110bおよび110cに適合する。構成エンジン構成要素202は、関係を変更することができ、さらに変更された階層型ツリー206に示されるとおり、サービスプロバイダ112aと112bがともにインフラストラクチャプロバイダ110bを使用するようにインフラストラクチャプロバイダを統合するように構成されることが可能である。また、サービスプロバイダ114aが、サービスプロバイダ112aを使用するように、サービスプロバイダ114bが、サービスプロバイダ112bを使用するようにそれぞれ構成されることも可能である。構成エンジン構成要素202は、変更された階層型ツリー206に示されるとおりに関係を変更することに限定されず、任意の数および/または組み合わせの可能な依存関係を作成することも可能であることを認識されたい。一実施形態において、構成エンジン構成要素202は、SaaS層サービスプロバイダにアクセスを有することが可能である。この実施形態において、構成エンジン構成要素202は、特定のインフラストラクチャプロバイダを使用するようにSaaS層サービスプロバイダを構成することによって関係を手動で変更することが可能である。別の実施形態において、構成エンジン構成要素202は、サービスプロバイダの関係を直接に変更するアクセスまたは権利を欠く可能性がある。この実施例において、構成エンジン構成要素202は、規則のセットに従って関係を変更する要求をサービスプロバイダに送ることが可能である。一実施形態において、構成エンジン構成要素202を誘導するのに、規則生成構成要素204が、構成エンジン構成要素202が関係を変更する際に従うことができるまたは適用することができる規則のセットを作成するように構成されることが可能である。これらの規則は、インフラストラクチャプロバイダの価格レベルまたは使用量に基づいて動的に作成されることが可能である。また、規則生成構成要素204は、顧客がインフラストラクチャプロバイダを相手に有する契約のデータベースを保持し、顧客が有する契約に基づいて特定のインフラストラクチャプロバイダが優先的に使用されるようにサービスプロバイダの依存関係を変更する規則を作成することも可能である。また、規則生成構成要素204は、階層型ツリー116から情報を導き出すことも可能である。さらなる実施形態において、規則生成構成要素204が、インフラストラクチャプロバイダが割り引きまたは大量購入割引料金を有するかどうかを判定し、それらのインフラストラクチャプロバイダを優先的に選択する規則のセットを作成することが可能である。代替として、規則生成構成要素は、インフラストラクチャ層によって提供される複数のサービスを、可能な限り少ない数のインフラストラクチャプロバイダに統合する規則を作成するように構成されることが可能である。次に図3を参照すると、サービスプロバイダおよびインフラストラクチャプロバイダの階層型ツリーを作成するため、および変更するためのシステム300の例示的な限定的でない実施形態を例示するブロック図が示されている。システム300は、システム100とシステム200図1および図2にそれぞれ示されるようなを一緒に組み合わせた表現である。集約解除構成要素302が、バンドルされたサービスを解析し、バンドルされたサービスの中のサービスと関係する情報を抽出するように構成されることが可能である。バンドルされたサービスは、プライベートクラウドネットワーク内、または公共クラウドネットワーク内に存在することが可能であり、サービスプロバイダと、インフラストラクチャプロバイダとを含むことが可能である。集約解除構成要素302によって抽出された情報により、サービスプロバイダによって使用されているインフラストラクチャプロバイダ、およびサービスプロバイダによって潜在的に使用され得るインフラストラクチャプロバイダが識別されることが可能である。集約解除構成要素302によって抽出された情報を使用して、マッピング構成要素304が、サービスプロバイダおよびインフラストラクチャプロバイダの階層型ツリー306を生成するように構成されることが可能である。階層型ツリー306は、インフラストラクチャプロバイダとサービスプロバイダの間の関係を表すことが可能である。階層型ツリー306は、実際の関係、すなわち、サービスプロバイダによって使用されているインフラストラクチャプロバイダとともに、サービスプロバイダとインフラストラクチャプロバイダの間の潜在的な関係も示すことが可能である。構成エンジン構成要素308が、規則のセットに従ってサービスプロバイダとインフラストラクチャプロバイダの間の関係を変更するように構成されることが可能である。これらの規則は、インフラストラクチャプロバイダのコスト、または使用量に基づくことが可能である。また、構成エンジン構成要素308は、いくつかのインフラストラクチャプロバイダを統合するように関係を変更することも可能である。このことが、変更された階層型ツリー310において示され得る。図4~図5は、前述したシステムに関連するプロセスを示す。図4~図5におけるプロセスは、たとえば、図1、図2、および図3にそれぞれ例示されるシステム100、200、または300によって実施されることが可能である。図4は、トップレベルサービスとサブサービスの依存関係を構成するための方法の例示的な限定的でない実施形態の流れ図を示す。400バンドルされたサービスを集約解除して、トップレベルサービスとサブサービスにするで、構成プロセスが、バンドルされたサービスを集約解除して、トップレベルサービスとサブサービスにすることによって開始される。これらのバンドルされたサービスは、プライベートクラウドネットワーク内、または公共クラウドネットワーク内に存在することが可能であり、さらにウェブサイト、インターネット、または他のネットワークを介してアクセスされることが可能である。また、これらのバンドルされたサービスは、顧客が使用する、または契約するクラウドサービスのすべて、またはいくらかの部分であることも可能である。バンドルされたサービスを集約解除することは、ベンダが提供したテーブルからトップレベルサービスによって使用されるサブサービスのリストを受け取ること、サードパーティによる監査、またはトップレベルサービスによって呼び出される、もしくはトップレベルサービスに適合するサブサービスを特定することを含むことが可能である。410階層型依存関係ツリーを作成するようにトップレベルサービスとサブサービスをマップするで、バンドルされたサービスが集約解除され、トップレベルサービスとサブサービスについての情報が抽出されると、階層型依存関係ツリーを作成するようにトップレベルサービスとサブサービスがマップされる。階層型依存関係ツリーは、トップレベルサービスによって使用されるサブサービスだけでなく、トップレベルサービスに適合するすべてのサブサービスも表示することが可能である。420トップレベルサービスとサブサービスの依存関係を構成し、サブサービスを統合する規則のセットに基づいて階層型依存関係ツリーを変更するで、トップレベルサービスとサブサービスの依存関係が構成され、階層型依存関係ツリーが変更される。依存関係を構成することは、トップレベルサービスがより少ない数のサブサービスを使用するようにサブサービスを統合するように設計された規則のセットに基づくことが可能である。規則のセットは、特定のサブサービスを優先的に選択するように定義されることが可能である。本明細書で開示されるこのプロセス、および他のプロセス、ならびにこの方法、および他の方法に関して、これらのプロセスおよび方法において実行される機能は、異なる順序で実施されてもよいことが当業者には認識されよう。さらに、概説されるステップおよび動作は、例として与えられているに過ぎず、さらにこれらのステップおよび動作のいくつかは、開示される実施形態の本質を逸脱することなく、オプションであること、組み合わされて、より少ない数のステップおよび動作にされること、またはさらなるステップおよび動作に拡張されることが可能である。図5は、トップレベルサービスとサブサービスの階層型依存関係ツリーを生成するため、および変更するための方法の例示的な限定的でない実施形態の流れ図を示す。500トップレベルサービスの使用量を追跡し、トップレベルサービスによって使用されるサブサービスを特定するで、トップレベルサービスの使用量が追跡されることが可能であり、さらにこの追跡に基づいて、トップレベルサービスによって使用されるサブサービスが特定されることが可能である。この追跡は、サブサービスからサービスを要求する、トップレベルサービスが行うサービス呼び出しを監視することによって達成されることが可能である。510トップレベルサービスに適合するサブサービスのリストを受け取るで、トップレベルサービスに適合するサブサービスのリストが受け取られる。サブサービスのリストは、トップレベルサービスを解析することによって特定されることが可能である。代替として、トップレベルに適合するサブサービスのリストは、サードパーティ監査レポートによってまとめられることが可能であり、またはトップレベルサービスベンダから受け取られて、トップレベルサービスが適合するサブサービスをリストアップすることが可能である。520使用され、トップレベルサービスに適合するサブサービスを表す情報を含むデータストアを作成するで、サブサービスのリストが受け取られると、使用されるサブサービスを表す情報を含むデータストアが、作成されることが可能である。また、このデータストアは、トップレベルサービスに適合する他のサブサービスについての情報を含むことも可能である。このデータストアは、データセンタ内に格納されることが可能であり、またはクラウド内に格納されることが可能である。530データストアに基づいて階層型依存関係を生成するで、階層型依存関係ツリーが、データストアの中の情報に基づいて生成されることが可能である。階層型依存関係ツリーは、トップレベルサービスとサブサービスの間の関係を表す。階層型依存関係ツリーは、依存関係および関係情報を解析することによって生成されることが可能であり、さらにトップレベルサービスによって使用されるサブサービスを表すだけでなく、トップレベルサービスに適合する、またはトップレベルサービスによって潜在的に使用され得るサブサービスも表す。540サブサービスのコストに基づいて階層型依存関係ツリーを変更するで、階層型依存関係ツリーが生成されると、このツリー上の依存関係が、サブサービスのコストに基づいて変更されることが可能である。トップレベルサービスによって使用されているあるサブサービスが、トップレベルサービスに適合するあるサブサービスのコストと比べてより高価である場合、トップレベルサービスがコストの低い方のサブサービスを使用するように依存関係が変更されることが可能である。コストについての情報は、サードパーティから取得されること、サブサービスから導き出されること、または顧客によって供給されることが可能である。変更は、コストの低い方のサブサービスに切り替えるようにトップレベルサービスを構成して、直接に行われることが可能であり、またはコストの低い方のサブサービスに切り替える要求をトップレベルサービスに送ることによって達成されることが可能である。代替として、550サブサービスの使用量に関する条件を満たしたことに応答して、階層型依存関係ツリーを変更するで、階層型依存関係ツリーが、サブサービスの使用量に関する条件を満たしたこと、または満足させたことに応答して、変更されることが可能である。サブサービスは、指定された使用量が満たされた場合、割り引きまたは大量購入割引料金を提案することができるので、階層型依存関係ツリーが、サブサービスのうちの少なくとも1つに関してその使用量が満たされることを確実にするように変更されることが可能である。トップレベルサービスが、インフラストラクチャサポートのために様々なサブサービスを使用しているが、1つのサブサービス当たりより多くの使用量で、より少ない数のサブサービスが使用される組み合わせが見出され得る場合、トップレベルサービスの依存関係は、それに相応して変更されることが可能である。次に図6を参照すると、インフラストラクチャプロバイダに統合されたトランザクションレポートを送るための料金請求システムの例示的な限定的でない実施形態を示すブロック図が示されている。図6に示されるとおり、サービスプロバイダから受け取られたいくつかの項目別の請求書itemizedbillsを取り込み、さらにこれらの項目別の請求書を細分し、インフラストラクチャプロバイダに、インフラストラクチャプロバイダがいずれのサービスを与えたかをリストアップするレポートを送るシステム600が与えられる。料金請求構成要素604が、サービスプロバイダ602a、602a、および602cから項目別の請求書を受け取るように構成されることが可能である。これらの項目別の請求書は、デジタルで受け取られることが可能であり、または料金請求構成要素604によってスキャンされ、さらにデジタル形態に変換される紙の請求書であることが可能である。項目別の請求書は、ストレージ、ストレージトランザクション、計算時間、データ転送などに関する項目別のコストを含むことが可能である。請求書上の項目は、機能の点で、または時系列でグループ化されることが可能である。項目別の請求書上の項目は、サービスプロバイダおよびインフラストラクチャプロバイダによって提供されたサービスを表すことが可能である。項目別の請求書上の項目を特定のインフラストラクチャプロバイダとマッチングするマッチング構成要素606が与えられることが可能である。マッチング構成要素606は、サービスプロバイダからの項目別の請求書を解析して、項目別の請求書上の項目のうちのいずれがインフラストラクチャプロバイダとマッチするかを特定するように構成されることが可能である。階層型ツリー608は、サービスプロバイダとインフラストラクチャプロバイダの間の関係を表す情報を含むことが可能である。また、階層型ツリー608は、マッチング構成要素606が、請求書上の項目をインフラストラクチャプロバイダとマッチングするのに使用する、インフラストラクチャプロバイダによって提供されたサービスのタイプについての情報を含むことも可能である。一実施形態において、マッチング構成要素606が、項目別の請求書を解析して、特定の動作を表す請求書上の項目についてサービスプロバイダによって料金請求が行われたことを特定することが可能である。次に、マッチング構成要素606が、階層型ツリーから、その動作をサポートしたサービスプロバイダによって使用されたインフラストラクチャプロバイダを特定することが可能である。次に、マッチング構成要素606が、その動作を表すその項目をインフラストラクチャプロバイダとマッチングすることが可能である。項目が特定のインフラストラクチャプロバイダとマッチさせられると、グループ化構成要素610が、マッチしたすべての項目を一緒にインフラストラクチャプロバイダによってクラスタ化するように構成されることが可能であり、グループ化構成要素610は、それぞれのインフラストラクチャプロバイダにマッチしたすべての項目を用いて、インフラストラクチャプロバイダごとにトランザクションレポートを作成することが可能である。次に、これらのトランザクションレポートが、グループ化構成要素610によってインフラストラクチャプロバイダ612a、612b、および612cに送られることが可能である。これらのトランザクションレポートは、料金請求される各サービスの量、およびこれらのサービスのコストと関係する情報を含むことが可能である。また、トランザクションレポートは、顧客に提供されたサービスの各サービスについて、いずれのサービスプロバイダが料金請求したかをリストアップすることも可能である。また、トランザクションレポートは、特定の時刻と日付、またはトランザクションID、またはインフラストラクチャプロバイダが、使用を検証し、さらに明細を明らかにする他の方法をリストアップすることも可能である。これらのトランザクションレポートは、インフラストラクチャプロバイダが、顧客がインフラストラクチャプロバイダから最終的に使用するサービスの総量および総コスト、ならびに仲介者であるサービスプロバイダの数を特定することを可能にする。図7は、前述したシステムに関連するプロセスを示す。図7のプロセスは、たとえば、図6に示されるシステム600によって実施されることが可能である。図7は、インフラストラクチャプロバイダにサービスの統合されたリストを送るための方法の例示的な、限定的でない実施形態の流れ図を示す。700複数のサービスプロバイダから項目別の請求書を受け取るで、請求書統合プロセスが、複数のサービスプロバイダから項目別の請求書を受け取ることによって開始される。項目別の請求書は、デジタルで受け取られることが可能であり、またはスキャンされ、さらに光学文字認識プロセスにかけられて、項目別の請求書を電子的に検索可能にする紙の請求書であることが可能である。項目別の請求書は、ストレージ、ストレージトランザクション、計算時間、およびデータ転送に関する項目別のコストを含むことが可能である。請求書上の項目は、機能の点で、または時系列でグループ化されることが可能である。項目別の請求書上の項目は、サービスプロバイダおよびインフラストラクチャプロバイダによって提供されたサービスを表すことが可能である。710サービスプロバイダおよびインフラストラクチャプロバイダの階層型ツリーにアクセスするで、サービスプロバイダおよびインフラストラクチャプロバイダの階層型ツリーにアクセスが行われることが可能である。この階層型ツリーは、サービスプロバイダとインフラストラクチャプロバイダの間の関係および依存関係についての情報をもたらすことが可能である。また、この階層型ツリーは、サービスプロバイダが顧客にサービスを提供するのに使用しているインフラストラクチャプロバイダについての情報を含むことも可能である。720階層型ツリーを解析することによって、複数のサービスプロバイダからの項目別の請求書上の項目を、インフラストラクチャプロバイダによって提供されたサービスとマッチングするで、サービスプロバイダからの項目別の請求書上の項目が、インフラストラクチャプロバイダによって提供されたサービスとマッチングされることが可能である。このマッチングは、項目別の請求書を階層型ツリーに関連して解析することによって行われることが可能である。このマッチングは、項目別の請求書上の各項目が対応するサービスまたは動作のタイプを特定し、次に、階層型ツリーを調べて、各サービスを提供した可能性があるインフラストラクチャプロバイダを特定することが可能である。このようにして、項目別の請求書上のすべての項目が、特定のインフラストラクチャプロバイダとマッチさせられることが可能である。このマッチングプロセスは、複数のサービスプロバイダにまたがるインフラストラクチャプロバイダを同一の最終の顧客に関連付けることによって、受けられるべき割り戻しまたはインセンティブ価格設定の計算を含んでもよい。730インフラストラクチャプロバイダに、それぞれのインフラストラクチャプロバイダによって提供されたサービスの統合されたリストを送るで、項目別の請求書上の項目をインフラストラクチャプロバイダごとにグループ化する統合されたリストが作成されることが可能である。各インフラストラクチャプロバイダに関するトランザクションレポートが、そのインフラストラクチャプロバイダによって提供されたすべての項目およびサービスをリストアップする統合されたリストから生成されることが可能である。また、トランザクションレポートは、特定の時刻と日付、またはトランザクションID、またはインフラストラクチャプロバイダが、使用を検証し、さらに明細を明らかにする他の方法をリストアップすることも可能である。次に、各インフラストラクチャプロバイダに関するトランザクションレポートが、インフラストラクチャプロバイダのそれぞれに送られることが可能である。図8は、サービスプロバイダによって使用されるインフラストラクチャプロバイダを統合するためのコンピュータ可読命令のセットの例示的な、限定的でない実施形態の流れ図を示す。コンピュータ可読記憶媒体800が、コンピュータ実行可能命令を含むことが可能である。810で、これらの命令が、それぞれのサービスプロバイダから項目別の請求書を受け取るように動作することが可能である。各サービスプロバイダからの項目別の請求書は、インフラストラクチャプロバイダによって提供されたストレージ、ストレージトランザクション、計算時間、およびデータ転送に関する項目別のコストをリストアップすることが可能である。820で、これらの命令が、項目別の請求書に基づいて、インフラストラクチャプロバイダによって提供されたサービスのリストを作成するように動作することが可能である。また、これらの命令は、インフラストラクチャプロバイダによって提供されたサービスの価格、および使用量を含むリストを作成するように動作することも可能である。830で、これらの命令が、共通のインフラストラクチャプロバイダに切り替えるようにサービスプロバイダを構成する命令を含むことによって、インフラストラクチャプロバイダを統合するように動作することが可能である。共通のインフラストラクチャプロバイダは、すべてのサービスプロバイダに適合するインフラストラクチャプロバイダである。これらの命令は、サービスプロバイダのすべてに適合するインフラストラクチャプロバイダのセットを作成するための命令を含むことが可能である。また、インフラストラクチャプロバイダのセットのそれぞれに関するコストを算出する命令が設けられることも可能である。このコストは、各インフラストラクチャプロバイダに関する使用量の単位の価格、およびセットの中のインフラストラクチャプロバイダのそれぞれに関する総使用量に基づくことが可能である。インフラストラクチャプロバイダの各セットに関するコストが算出されると、これらの命令は、最低のコストを伴うセットを選択するように動作することが可能である。これらの命令は、インフラストラクチャプロバイダの最低のコストのセットに切り替えるようにサービスプロバイダを構成するように動作することが可能であり、または最低のコストのセットに切り替える要求をサービスプロバイダに送るように動作することが可能である。次に図9を参照すると、インフラストラクチャプロバイダを選択するためのシステムの例示的な、限定的でない実施形態を例示するブロック図が示されている。図9に示されるとおり、セット作成構成要素902が、インフラストラクチャプロバイダ906a、906b、906c、および906dを含むインフラストラクチャプロバイダのセット904aおよび904bを作成することが可能である。選択構成要素908が、インフラストラクチャプロバイダのセット904aおよび904bと関係する情報を解析することが可能であり、さらに最低のコスト、またはそれ以外で望ましいメトリックを伴うセットを選択することが可能である。統合構成要素910が、選択構成要素908によって選択されたインフラストラクチャプロバイダのセットに切り替える要求をサービスプロバイダ912aおよび912bに送ることが可能である。セット作成構成要素902が、インフラストラクチャプロバイダのセットを作成するように構成されることが可能であり、インフラストラクチャプロバイダのセット904aおよび904bのセットのそれぞれが、サービスプロバイダ912aおよび912bによって使用されるサービスのすべてを提供するように構成されることが可能である。インフラストラクチャプロバイダ906a、906b、906c、および906dは、906aと906bのセット、906cと906dのセットが、サービスのすべてを一緒に提供することができる限り、必ずしも、サービスプロバイダによって使用されるすべてのサービスを個々に提供する必要はない可能性がある。図9は、セット904aおよび904bがそれぞれ、2つのインフラストラクチャプロバイダを有することを示すが、任意の数および/または組み合わせのインフラストラクチャプロバイダが、セットを構成することが可能であることを認識されたい。同様に、セット作成構成要素902は、インフラストラクチャプロバイダの任意の数のセットを作成することができる。選択構成要素908が、これらのセットを解析して、最低のコストをもたらすインフラストラクチャプロバイダのセットを特定することが可能である。選択構成要素908は、使用量当たりの価格、およびインフラストラクチャプロバイダのそれぞれの使用量と関係する情報を解析して、各セットの総コストを算出するように構成されることが可能である。各セットの総コストが算出されると、選択構成要素908は、最低のコストを伴うセットを選択するように構成されることが可能である。ある代替の実施形態において、選択構成要素908が、セットを選択する際に潜在的な大量購入割引料金および割り引きを考慮することが可能である。割り引きについての情報は、インフラストラクチャプロバイダから直接に、または他のソースから受け取られることが可能である。次に、選択構成要素908が、インフラストラクチャプロバイダの使用量が割り引きを可能にするかどうかを判定することが可能であり、さらに選択構成要素908は、次に、セットの総コストを算出する際に割り引きされた料金を考慮することが可能である。統合構成要素910が、選択構成要素910から選択を受け取り、さらに統合構成要素910は、次に、選択されたインフラストラクチャプロバイダのセットを使用することに切り替える要求をサービスプロバイダ912aおよび912bに送るように構成されることが可能である。別の実施形態において、統合構成要素910が、選択構成要素908によって選択されたインフラストラクチャプロバイダに切り替えるよう、サービスプロバイダを直接に変更するように構成されることが可能である。例示的なコンピューティング環境図10は、本開示の実施形態のうちの少なくともいくつかのために構成された例示的なコンピューティングデバイスを示すブロック図である。非常に基本構成1002において、コンピューティングデバイス1000は、通常、1つまたは複数のプロセッサ1004と、システムメモリ1006とを含む。メモリバス1008が、プロセッサ1004とシステムメモリ1006の間で通信するために使用されることが可能である。所望される構成に依存して、プロセッサ1004は、マイクロプロセッサμP、マイクロコントローラμC、デジタルシグナルプロセッサDSP、または以上の任意の組み合わせを含むが、以上には限定されない任意のタイプであることが可能である。プロセッサ1004は、レベル1キャッシュ1010およびレベル2キャッシュ1012、プロセッサコア1014、およびレジスタ1016などの1つまたは複数のレベルのキャッシングを含むことが可能である。例示的なプロセッサコア1014は、算術論理装置ALU、浮動小数点数演算装置FPU、デジタル信号処理コアDSPコア、または以上の任意の組み合わせを含むことが可能である。例示的なメモリコントローラ1018が、プロセッサ1004と一緒に使用されることも可能であり、または一部の実施例において、メモリコントローラ1018は、プロセッサ1004の内蔵部分であることが可能である。所望される構成に依存して、システムメモリ1006は、揮発性メモリRAMなどの、不揮発性メモリROM、フラッシュメモリなどの、または以上の任意の組み合わせを含むが、以上には限定されない任意のタイプのものであることが可能である。システムメモリ1006は、オペレーティングシステム1020と、1つまたは複数のアプリケーション1022と、プログラムデータ1024とを含むことが可能である。アプリケーション1022は、本明細書で説明される機能を実行するように構成されたベンダ最適化モジュール1026を含むことが可能である。プログラムデータ1024は、ベンダ最適化プロセスと、リソース情報とを含むことが可能である。一部の実施形態において、アプリケーション1022は、プログラムデータ1024およびオペレーティングシステム1020と一緒に動作するように構成されることが可能である。コンピューティングデバイス1000は、さらなる特徴または機能、ならびに基本構成1002と要求される任意のデバイスおよびインターフェースの間の通信を円滑にするさらなるインターフェースを有してもよい。たとえば、バス/インターフェースコントローラ1030が、ストレージインターフェースバス1034を介して基本構成1002と1つまたは複数のデータ記憶装置1032の間の通信を円滑にするのに使用されることが可能である。データ記憶装置1032は、取外し式記憶装置1036であっても、非取外し式記憶装置1038であっても、取外し式記憶装置1036と非取外し式記憶装置1038の組み合わせであってもよい。取外し式記憶装置および非取外し式記憶装置の例には、いくつかを挙げると、フレキシブルディスクドライブおよびハードディスクドライブHDDなどの磁気ディスクデバイス、コンパクトディスクCDドライブまたはデジタルバーサタイルディスクDVDなどの光ディスクドライブ、ソリッドステートドライブSSD、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、取外し式の媒体および非取外し式の媒体が含まれることが可能である。システムメモリ1006、取外し式記憶装置1036、および非取外し式記憶装置1038は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタルバーサタイルディスクDVD、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望される情報を格納するのに使用され得るとともに、コンピューティングデバイス1000によってアクセスされ得る他の任意の媒体が含まれるが、以上には限定されない。任意のそのようなコンピュータ記憶媒体が、コンピューティングデバイス1000の一部であることが可能である。また、コンピューティングデバイス1000は、バス/インターフェースコントローラ1030を介した、様々なインターフェースデバイスたとえば、出力デバイス1042、周辺インターフェース1044、および通信装置1046から基本構成への通信を円滑にするためのインターフェースバス1040を含むことも可能である。例示的な出力装置1042には、1つまたは複数のA/Vポート1052を介してディスプレイまたはスピーカなどの様々な外部デバイスに通信するように構成されることが可能なグラフィックス処理ユニット1048およびオーディオ処理ユニット1050が含まれる。例示的な周辺インターフェース1044には、1つまたは複数のI/Oポート1058を介して、入力デバイスたとえば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどまたは他の周辺デバイスたとえば、プリンタ、スキャナなどなどの外部デバイスと通信するように構成されることが可能なシリアルインターフェースコントローラ1054またはパラレルインターフェースコントローラ1056が含まれる。例示的な通信装置1046には、1つまたは複数の通信ポート1064経由でネットワーク通信リンクを介した他の1つまたは複数のコンピューティングデバイス1062との通信を円滑にするように構成されることが可能なネットワークコントローラ1060が含まれる。ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波などの変調されたデータ信号内、または他のトランスポート機構内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって具現化され、さらに任意の情報配信媒体を含むことが可能である。変調されたデータ信号は、信号内に情報を符号化するように特性のうちの1つまたは複数が設定されている、または変更されている信号であることが可能である。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、無線周波数RF媒体、マイクロ波媒体、赤外線IR媒体、およびその他の無線媒体などの無線媒体が含まれることが可能である。本明細書で使用される場合,コンピュータ可読媒体という用語は、記憶媒体と通信媒体をともに含むことが可能である。コンピューティングデバイス1000は、セル電話機、携帯情報端末PDA、パーソナルメディアプレーヤデバイス、無線ウェブウォッチデバイス、パーソナルヘッドセットデバイス、アプリケーション特有のデバイス、または前述の機能のいずれかを含むハイブリッドデバイスなどのスモールフォームファクタのポータブルまたはモバイル電子デバイスの一部分として実施されてもよい。また、コンピューティングデバイス1000は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施されることも可能である。例示的なネットワーキング環境次に図11を参照すると、特許請求される主題により使用され得る例示的なネットワーキング環境を示すブロック図が示されている。システム1100は、1つまたは複数のクライアント1110を含む。1つまたは複数のクライアント1110は、ハードウェアおよび/またはソフトウェアたとえば、スレッド、プロセス、コンピューティングデバイスであることが可能である。また、システム1100は、1つまたは複数のサーバ1120も含む。サーバ1120は、ハードウェアおよび/またはソフトウェアたとえば、たとえば、スレッド、プロセス、コンピューティングデバイスであることが可能である。サーバ1120は、たとえば、本発明を使用することによって変換を実行するスレッドを収容することが可能である。クライアント1110とサーバ1120の間の可能な1つの通信は、2つ以上のコンピュータプロセスの間で伝送されるように構成されたデータパケットの形態であることが可能である。システム1100は、クライアント1110とサーバ1120の間の通信を円滑にするのに使用され得る通信フレームワーク1140を含む。クライアント1110は、クライアント1110にローカルである情報を格納するのに使用され得る1つまたは複数のクライアントデータストア1150に動作可能に、接続される。同様に、サーバ1120は、サーバ1120にローカルである情報を格納するのに使用され得る1つまたは複数のサーバデータストア1130に動作可能に、接続される。本開示は、様々な態様の例示として意図されている、本出願において説明される特定の実施形態に関して限定されるべきではない。当業者には明白となるとおり、本開示の趣旨および範囲を逸脱することなく、多くの変形および変更が行われることが可能である。本明細書で列挙される方法および装置に加えて、本開示の範囲に含まれる機能的に均等の方法および装置が、以上の説明から当業者には明白となろう。そのような変更および変形は、添付の特許請求の範囲の用語に含まれることが意図される。本開示は、添付の特許請求の範囲、ならびにそのような特許請求の範囲に認められる均等物の完全な範囲に関してのみ限定されるべきものである。本開示は、無論、様々であることが可能な、特定の方法、試薬、化合物、組成物、または生物系に限定されないことも理解されたい。また、本明細書で使用される用語は、特定の実施形態を説明することだけを目的としており、限定することは意図していないことも理解されたい。例示的な実施形態において、本明細書で説明される動作、プロセスなどのいずれも、コンピュータ可読媒体上に格納されたコンピュータ可読命令として実施されることが可能である。コンピュータ可読命令は、モバイルユニット、ネットワーク要素、および/または他の任意のコンピューティングデバイスのプロセッサによって実行されることが可能である。システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般にいつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点でコスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができる様々な達成手段がありたとえば、ハードウェア、ソフトウェア、および/またはファームウェア、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアのなんらかの組み合わせを選択することができる。前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組み合わせにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路ASIC、フィールドプログラマブルゲートアレイFPGA、デジタルシグナルプロセッサDSP、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとしてたとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとしてたとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして、ファームウェアとして、あるいは実質上それらの任意の組み合わせとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー商標登録ディスク、ハードディスクドライブ、CD、DVD、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなどの通信タイプの媒体が含まれるが、それらには限定されない。本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステムたとえば、位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータを含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例に過ぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に関連付けされる。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに関連付けされていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに動作可能に接続または動作可能に結合されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに動作可能に結合できると見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。通常、本明細書において、特に添付の特許請求の範囲たとえば、添付の特許請求の範囲の本体部において使用される用語は、全体を通じてオープンなopen用語として意図されていることが、当業者には理解されようたとえば、用語含むincludingは、含むがそれに限定されないincludingbutnotlimitedtoと解釈されるべきであり、用語有するhavingは、少なくとも有するhavingatleastと解釈されるべきであり、用語含むincludesは、含むがそれに限定されないincludesbutisnotlimitedtoと解釈されるべきである、など。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句少なくとも1つのatleastoneおよび1つまたは複数のoneormoreを使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句1つまたは複数のまたは少なくとも1つのおよびaまたはanなどの不定冠詞を含む場合であっても、不定冠詞aまたはanによる請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではないたとえば、aおよび/またはanは、少なくとも1つのまたは1つまたは複数のを意味すると解釈されるべきである。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されようたとえば、他の修飾語なしでの2つの記載tworecitationsの単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する。さらに、A、BおよびC、などの少なくとも1つに類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されているたとえば、A、B、およびCの少なくとも1つを有するシステムは、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない。A、B、またはC、などの少なくとも1つに類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されているたとえば、A、B、またはCの少なくとも1つを有するシステムは、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方oneoftheterms、当該用語のいずれかeitheroftheterms、または両方の用語bothtermsを含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句AまたはBは、AまたはBあるいはAおよびBの可能性を含むことが理解されよう。さらに、本開示の特徴または態様が、マーカッシュグループによって説明される場合、本開示は、その結果、マーカッシュグループの任意の個別の要素、またはマーカッシュグループの要素のサブグループの点でも説明されることが当業者には認識されよう。当業者には理解されるとおり、書面の説明を与えることに関してなど、すべての目的で、本明細書で開示されるすべての範囲は、それらの範囲の可能なすべての部分的範囲、および部分的範囲の組み合わせも包含する。リストアップされる範囲は、少なくとも等しい1/2の部分、1/3の部分、1/4の部分、1/5の部分、1/10の部分に細分された同一の範囲を十分に説明するとともに、可能にするものと容易に認識され得る。限定的でない例として、本明細書で説明される各範囲は、下1/3、中1/3、および上1/3などに容易に細分され得る。当業者にはやはり理解されるとおり、~まで少なくとも~などのすべての言い回しは、記載される数を含むとともに、前述したとおり、その後、部分的範囲に細分され得る範囲を指す。最後に、当業者には理解されるとおり、範囲は、個別の各要素を含む。このため、たとえば、1~3のセルを有するグループとは、1つ、2つ、または3つのセルを有するグループを指す。同様に、1~5のセルを有するグループとは、1つ、2つ、3つ、4つ、または5つのセルを有するグループを指すといった具合である。以上のことから、本開示の様々な実施形態が、例示の目的で本明細書において説明されてきたこと、および本開示の範囲および趣旨を逸脱することなく、様々な変形が行われてもよいことが認識されよう。したがって、本明細書で開示される様々な実施形態は、限定することを意図しておらず、真の範囲および趣旨は、添付の特許請求の範囲によって示されている。"