ポータブルコンピューティングデバイスのプロセッサの間のリソースに対する要求を管理するための方法であって、前記ポータブルコンピューティングデバイスの一部である記憶装置における前記ポータブルコンピューティングデバイスのプロセッサにサービスするための複数のリソースを識別するステップと、前記記憶装置における前記複数のリソースに望ましい状態を識別するステップと、前記複数のリソースおよび前記望ましい状態が識別された旨のアラートを生成するステップと、前記アラートを受信し、1つまたは複数の以前の要求が完了まで処理されているかどうかを決定するステップと、前記1つまたは複数の以前の要求が完了まで処理されている場合、前記複数のリソースを識別し、前記リソースの前記望ましい状態を識別するために、前記記憶装置の内容をレビューするステップと、前記複数のリソースに前記望ましい状態を渡すステップとを含む方法。前記複数のリソースに前記望ましい状態がスリープセットの一部であるか、アクティブセットの一部であるかを決定するステップをさらに含む、請求項1に記載の方法。望ましい状態がリソースについてのステータス変更をもたらす場合、前記記憶装置に前記望ましい状態を記録するステップをさらに含む、請求項1に記載の方法。リソースが、1つまたは複数のプロセッサによって実行されるソフトウェアアプリケーションのタスク、コマンド、または特徴をサポートするクロックおよびプロセッサの少なくとも1つを含む、請求項1に記載の方法。少なくとも1つのリソースが、少なくとも2つのプロセッサの間で共有されるリソースである、請求項1に記載の方法。望ましい状態がリソースの制限を上回るかどうかを決定するステップをさらに含む、請求項1に記載の方法。望ましい状態がリソースの制限を上回る場合、値が前記リソースの前記制限内に含まれるように前記望ましい状態の前記値を調整するステップをさらに含む、請求項6に記載の方法。望ましい状態から導出された前記値が前記リソースの前記制限内に含まれるように前記望ましい状態が調整された旨のアラートを生成するステップをさらに含む、請求項7に記載の方法。複数のリソースと、前記リソースに対するステータス変更についてコントローラによってプロセッサに通知すべきかどうかを示すフィールドとを記載するテーブルを含むメタリソースを確立するステップをさらに含む、請求項1に記載の方法。前記ポータブルコンピューティングデバイスの各マスタープロセッサに割り当てられる前記メタリソースにおける値に基づいて、1つまたは複数のプロセッサにリソースについてのステータス変更のアラートを送るステップをさらに含む、請求項9に記載の方法。ポータブルコンピューティングデバイスのプロセッサの間のリソースに対する要求を管理するためのコンピュータシステムであって、前記ポータブルコンピューティングデバイスの一部である記憶装置における前記ポータブルコンピューティングデバイスのプロセッサにサービスするための複数のリソースを識別し、前記記憶装置における前記複数のリソースに望ましい状態を識別し、前記複数のリソースおよび前記望ましい状態が識別された旨のアラートを生成し、前記アラートを受信し、1つまたは複数の以前の要求が完了まで処理されているかどうかを決定し、前記1つまたは複数の以前の要求が完了まで処理されている場合、前記複数のリソースを識別し、前記リソースの前記望ましい状態を識別するために、前記記憶装置の内容をレビューし、前記複数のリソースに前記望ましい状態を渡すように動作可能なプロセッサを含むコンピュータシステム。前記プロセッサがさらに、前記複数のリソースに前記望ましい状態がスリープセットの一部であるか、アクティブセットの一部であるかを決定するように動作可能である、請求項11に記載のシステム。前記プロセッサがさらに、望ましい状態がリソースについてのステータス変更をもたらす場合、前記記憶装置に前記望ましい状態を記録するように動作可能である、請求項11に記載のシステム。リソースが、1つまたは複数のプロセッサによって実行されるソフトウェアアプリケーションのタスク、コマンド、または特徴をサポートするクロックおよびプロセッサの少なくとも1つを含む、請求項11に記載のシステム。少なくとも1つのリソースが、少なくとも2つのプロセッサの間で共有されるリソースである、請求項11に記載のシステム。前記プロセッサが、望ましい状態がリソースの制限を上回るかどうかを決定するように動作可能である、請求項11に記載のシステム。望ましい状態がリソースの制限を上回る場合、前記プロセッサがさらに、値が前記リソースの前記制限内に含まれるように前記望ましい状態の前記値を調整するように動作可能である、請求項16に記載のシステム。前記プロセッサがさらに、望ましい状態から導出された前記値が前記リソースの前記制限内に含まれるように前記望ましい状態が調整された旨のアラートを生成するように動作可能である、請求項11に記載のシステム。前記プロセッサがさらに、複数のリソースと、前記リソースに対するステータス変更についてコントローラによってプロセッサに通知すべきかどうかを示すフィールドとを記載するテーブル含むメタリソースを確立するように動作可能である、請求項11に記載のシステム。前記プロセッサがさらに、前記ポータブルコンピューティングデバイスの各マスタープロセッサに割り当てられる前記メタリソースにおける値に基づいて、1つまたは複数のプロセッサにリソースについてのステータス変更のアラートを送るように動作可能である、請求項19に記載のシステム。ワイヤレスハンドヘルドコンピューティングデバイスの1つまたは複数のメモリリソースを管理するためのコンピュータシステムであって、前記ポータブルコンピューティングデバイスの一部である記憶装置における前記ポータブルコンピューティングデバイスのプロセッサにサービスするための複数のリソースを識別するための手段と、前記記憶装置における前記複数のリソースに望ましい状態を識別するための手段と、前記複数のリソースおよび前記望ましい状態が識別された旨のアラートを生成するための手段と、前記アラートを受信し、1つまたは複数の以前の要求が完了まで処理されているかどうかを決定するための手段と、前記1つまたは複数の以前の要求が完了まで処理されている場合、前記複数のリソースを識別し、前記リソースの前記望ましい状態を識別するために、前記記憶装置の内容をレビューするための手段と、前記複数のリソースに前記望ましい状態を渡すための手段とを含むコンピュータシステム。前記複数のリソースについての前記望ましい状態がスリープセットの一部であるか、アクティブセットの一部であるかを決定するための手段をさらに含む、請求項21に記載のシステム。望ましい状態がリソースについてのステータス変更をもたらす場合、前記記憶装置に前記望ましい状態を記録するための手段をさらに含む、請求項21に記載のシステム。リソースが、1つまたは複数のプロセッサによって実行されるソフトウェアアプリケーションのタスク、コマンド、または特徴をサポートするクロックおよびプロセッサの少なくとも1つを含む、請求項21に記載のシステム。少なくとも1つのリソースが、少なくとも2つのプロセッサの間で共有されるリソースである、請求項21に記載のシステム。望ましい状態がリソースの制限を上回るかどうかを決定するための手段をさらに含む、請求項21に記載のシステム。望ましい状態がリソースの制限を上回る場合、前記値が前記リソースの前記制限の範囲内に含まれるように前記望ましい状態の値を調整するための手段をさらに含む、請求項26に記載のシステム。望ましい状態から導出された前記値が前記リソースの前記制限内に含まれるように前記望ましい状態が調整された旨のアラートを生成するための手段をさらに含む、請求項21に記載のシステム。複数のリソースと、前記リソースに対するステータス変更についてコントローラによってプロセッサに通知すべきかどうかを示すフィールドとを記載するテーブル含むメタリソースを確立するための手段をさらに含む、請求項21に記載のシステム。前記ポータブルコンピューティングデバイスの各マスタープロセッサに割り当てられる前記メタリソースにおける値に基づいて、1つまたは複数のプロセッサにリソースについてのステータス変更のアラートを送るための手段をさらに含む、請求項29に記載のシステム。ポータブルコンピューティングデバイスのプロセッサの間のリソースに対する要求を管理するための方法を実施するために実行されるように適合されたコンピュータ可読プログラムコード含むコンピュータプログラムであって、前記方法が、前記ポータブルコンピューティングデバイスの一部である記憶装置における前記ポータブルコンピューティングデバイスのプロセッサにサービスするための複数のリソースを識別するステップと、前記記憶装置における前記複数のリソースに望ましい状態を識別するステップと、前記複数のリソースおよび前記望ましい状態が識別された旨のアラートを生成するステップと、前記アラートを受信し、1つまたは複数の以前の要求が完了まで処理されているかどうかを決定するステップと、前記1つまたは複数の以前の要求が完了まで処理されている場合、前記複数のリソースを識別し、前記リソースの前記望ましい状態を識別するために、前記記憶装置の内容をレビューするステップと、前記複数のリソースに前記望ましい状態を渡すステップとを含む、コンピュータプログラム。前記方法を実施する前記プログラムコードが、前記複数のリソースについての前記望ましい状態がスリープセットの一部であるか、アクティブセットの一部であるかを決定するステップをさらに含む、請求項31に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、望ましい状態がリソースについてのステータス変更をもたらす場合、前記記憶装置に前記望ましい状態を記録するステップをさらに含む、請求項31に記載のコンピュータプログラム。リソースが、1つまたは複数のプロセッサによって実行されるソフトウェアアプリケーションのタスク、コマンド、または特徴をサポートするクロックおよびプロセッサの少なくとも1つを含む、請求項31に記載のコンピュータプログラム。少なくとも1つのリソースが、少なくとも2つのプロセッサの間で共有されるリソースである、請求項31に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、望ましい状態がリソースの制限を上回るかどうかを決定するステップをさらに含む、請求項31に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、望ましい状態がリソースの制限を上回る場合、前記値が前記リソースの前記制限の範囲内に含まれるように前記望ましい状態の値を調整するステップをさらに含む、請求項36に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、望ましい状態から導出された前記値が前記リソースの前記制限内に含まれるように前記望ましい状態が調整された旨のアラートを生成するステップをさらに含む、請求項31に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、複数のリソースと、前記リソースに対するステータス変更についてコントローラによってプロセッサに通知すべきかどうかを示すフィールドとを記載するテーブル含むメタリソースを確立するステップをさらに含む、請求項31に記載のコンピュータプログラム。前記方法を実施する前記プログラムコードが、前記ポータブルコンピューティングデバイスの各マスタープロセッサに割り当てられる前記メタリソースにおける値に基づいて、1つまたは複数のプロセッサにリソースについてのステータス変更のアラートを送るステップをさらに含む、請求項39に記載のコンピュータプログラム。したがって、当技術分野では、さらなるエネルギー保存を達成しながら、PCD内の複数の処理ユニットの間のリソース要求をより効率的に管理するための方法およびシステムが必要である。また、当技術分野では、処理ユニットの間の要求が処理され得る速度を上げるプロセッサ間通信プロトコルも必要である。ポータブルコンピューティングデバイスのプロセッサの間のリソースに対する要求を管理するための方法およびシステムは、各マスタープロセッサが、メッセージRAMなどの記憶装置におけるPCDの複数のリソースを識別することを含む。このメッセージRAMは、PCDの一部である。マスタープロセッサは、メッセージRAMにおける複数のリソースに望ましい状態を識別することができる。次いで、マスタープロセッサは、複数のリソース、およびリソースに望ましい状態が設定されている旨のアラートを生成することができる。アラートを受信した後、コントローラは、1つまたは複数の以前の要求が完了まで処理されているかどうかを決定することができる。そうである場合、コントローラは、複数のリソースを識別し、リソースの望ましい状態を識別するために、メッセージRAMの内容をレビューすることができる。適切なとき、コントローラは、複数のリソースに、望ましい状態を渡すことができる。コントローラは、望ましい状態がリソースの制限を上回るかどうかを決定することもでき、望ましい状態が制限を上回る場合、コントローラは、値がリソースの制限内に含まれるように、望ましい状態の値を調整することができる。システムは、テーブルを含むメタリソースを確立するステップも含む。このテーブルは、複数のリソースと、リソースに対するステータス変更についてコントローラによってプロセッサに通知すべきかどうかを示すフィールドとを記載することができる。PCDの各マスタープロセッサに割り当てられるメタリソース内の値に基づいて、コントローラは、リソースについてのステータス変更のアラートを1つまたは複数のプロセッサに送ることができる。図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。102Aまたは102Bのような文字指定を伴う参照番号について、文字指定は、同じ図に存在する2つの同様の部分または要素を区別し得る。参照番号の文字指定は、参照番号が、すべての図において同じ参照番号を有するすべての部分を包含することが意図される場合には、省略されることがある。例示的なという語は、例、実例、または具体例としての役割を果たすことを意味するように本明細書において用いられている。例示的なものとして本明細書で説明する何らかの態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるわけではない。本明細書では、アプリケーションという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルを含むこともある。加えて、本明細書で言及するアプリケーションは、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。コンテンツという用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなど、実行可能なコンテンツを有するファイルを含むこともある。加えて、本明細書で言及するコンテンツは、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなど、本質的に実行可能ではないファイルを含むこともある。本明細書で使用される場合、構成要素、データベース、モジュール、システムなどの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよびまたはコンピュータであってよいが、これらであることに限定されない。例を挙げると、コンピューティングデバイス上で作動しているアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよびまたは実行スレッド内に存在してよく、1つの構成要素を1つのコンピュータに局在化すること、およびまたは2つ以上のコンピュータ間に分散することが可能である。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケットを有する信号に従うなどしてローカルプロセスおよびまたはリモートプロセスにより通信することができる。本明細書では、通信デバイス、ワイヤレスデバイス、ワイヤレス電話、ワイヤレス通信デバイス、およびワイヤレスハンドセットという用語は交換可能に用いられる。第3世代および第4世代のワイヤレス技術が出現したことによって、利用可能な帯域が拡大されたので、より多くのワイヤレス機能を備えたより携帯が容易なコンピューティングデバイスが利用可能になっている。本明細書では、ポータブルコンピューティングデバイスという用語は、バッテリーなど限られた容量の電源で動作する任意のデバイスを説明するために使用される。何十年もの間バッテリー式PCDが使用されてきたが、第3世代および第4世代ワイヤレス技術の出現とともにもたらされた充電式バッテリーの技術的進歩は、複数の機能を有する多数のPCDを可能にした。したがって、PCDは、中でも、セルラー電話、衛星電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、スマートブックまたはリーダー、メディアプレーヤ、上述したデバイスの組合せ、およびワイヤレス接続を有するラップトップコンピュータであってよい。図1PCD100のプロセッサ間通信要素図1を参照すると、この図は、PCD100のプロセッサ110、126の間のリソースを管理するための方法およびシステムを実現するためのワイヤレス電話の形態によるPCD100の例示的で非限定的な態様の機能ブロック図である。図示のように、PCD100は、マルチコアである第1の中央処理装置110A、シングルコアタイプである第2のCPU110B、およびアナログ信号プロセッサ126を含むオンチップシステム102を含む。これらのプロセッサ110A、110B、および126は連結され得る。第1のCPU110Aは、当業者によって理解されるように第0のコア222、第1のコア224、および第Nのコア230を含むことができる。代替実施形態では、2つのCPU110を使用する代わりに、当業者によって理解されるように2つのデジタル信号プロセッサを用いることもできる。図1は、1つまたは複数のコントローラモジュール101を含む。この説明の残り部分では、コントローラモジュール101を複数形ではなく単数形でコントローラ101と呼ぶ。当業者は、本発明から逸脱することなく、コントローラ101を様々な部分に分割し、異なるプロセッサ110、126によって実行することができることを認識されよう。代替的に、コントローラ101を、単一の要素として編成し、単一のプロセッサ110または126によって実行することができる。コントローラ101は、CPU110によって実行されるソフトウェアを含むことができる。ただし、コントローラ101は、当業者によって理解されるように、ハードウェアおよびまたはファームウェアから形成されてもよい。一般に、コントローラ101は、CPU110およびプロセッサ126から発するリソースについての要求を管理するなど、プロセッサ間通信をサポートする役目を果たし得る。例示的な一実施形態では、コントローラ101は、1つまたは複数のマスタープロセッサ110、126の間のリソース要求を管理するプロセッサ間通信プロトコルをサポートする。リソース要求は、リソースによるアクションまたは機能を要求するために、マスタープロセッサ110によって出され得る。リソースは、1つまたは複数のマスタープロセッサ110、126によって実行されるソフトウェアアプリケーションのタスク、コマンド、および特徴をサポートするクロックおよび他の低レベルプロセッサを含むことができる。コントローラ101は、複数のマスタープロセッサ110、126の間のリソース要求競合を防ぐように設計され得る。図1は、PCD100がメモリまたはメッセージRAM112を含み得ることを示している。以下でさらに詳細に説明するように、CPU110上で動作するコントローラ101は、メッセージRAM112にアクセスして、リソース105を管理することができる。特定の態様において、本明細書で説明する方法ステップのうちの1つまたは複数は、コントローラ101を形成するメモリ112に記憶された実行可能命令およびパラメータによって実施され得る。コントローラ101を形成するこれらの命令は、CPU110、アナログ信号プロセッサ126、または別のプロセッサによって実行され得る。さらに、プロセッサ110、126、メモリ112、メモリ112に記憶された命令、またはそれらの組合せは、本明細書で説明する方法ステップのうちの1つまたは複数を実行するための手段として動作し得る。図1PCD100の他の要素図1に示すように、CPU110は、1つまたは複数の内蔵オンチップまたは外部オフチップ熱センサ157に結合することもできる。オンチップ熱センサ157は、垂直PNP構造に基づく、通常、相補型金属酸化膜半導体超大規模集積回路専用である1つまたは複数の絶対温度比例温度センサを備え得る。オフチップ熱センサ157は、1つまたは複数のサーミスタを備え得る。熱センサ157は、アナログデジタル変換器コントローラでデジタル信号に変換される電圧降下を引き起こし得る。しかしながら、当業者によって理解されるように、他のタイプの熱センサ157を使用することができる。ディスプレイコントローラ128およびタッチスクリーンコントローラ130が、デジタル信号プロセッサ110に結合される。オンチップシステム102の外部にあるタッチスクリーンディスプレイ132が、ディスプレイコントローラ128およびタッチスクリーンコントローラ130に結合される。図1は、ビデオコーダデコーダ134、たとえば、位相反転線エンコーダ、順次式カラーメモリエンコーダ、全国テレビジョン方式委員会エンコーダ、または任意の他のタイプのビデオエンコーダ134を含むポータブルコンピューティングデバイスの一実施形態を示す概略図である。ビデオコーデック134は、マルチコア中央処理装置110に結合される。ビデオ増幅器136が、ビデオエンコーダ134およびタッチスクリーンディスプレイ132に結合される。ビデオポート138がビデオ増幅器136に結合される。図1に示すように、ユニバーサルシリアルバスコントローラ140がCPU110に結合される。また、USBポート142がUSBコントローラ140に結合される。加入者識別モジュールカード146も、CPU110に結合され得る。さらに、図1に示すように、デジタルカメラ148がCPU110に結合され得る。例示的な態様では、デジタルカメラ148は、電荷結合デバイスカメラまたは相補型金属酸化膜半導体カメラである。図1にさらに示すように、ステレオオーディオコーデック150がアナログ信号プロセッサ126に結合され得る。さらに、オーディオ増幅器152がステレオオーディオコーデック150に結合され得る。例示的な態様では、第1のステレオスピーカー154および第2のステレオスピーカー156がオーディオ増幅器152に結合される。図1は、マイクロフォン増幅器158もステレオオーディオコーデック150に結合され得ることを示している。加えて、マイクロフォン160がマイクロフォン増幅器158に結合され得る。特定の態様では、周波数変調ラジオチューナー162がステレオオーディオコーデック150に結合され得る。また、FMアンテナ164がFMラジオチューナー162に結合される。さらに、ステレオヘッドフォン166がステレオオーディオコーデック150に結合され得る。図1は、無線周波トランシーバ168がアナログ信号プロセッサ126に結合され得ることをさらに示している。RFスイッチ170がRFトランシーバ168およびRFアンテナ172に結合され得る。図1に示されるように、キーパッド174がアナログ信号プロセッサ126に結合され得る。また、マイクロフォンを備えたモノヘッドセット176がアナログ信号プロセッサ126に結合され得る。さらに、バイブレータデバイス178がアナログ信号プロセッサ126に結合され得る。図1は、たとえばバッテリーなどの電源180がオンチップシステム102に結合されることも示している。特定の態様では、電源180は、充電式DCバッテリー、または交流電源に接続されたACDC変換器から導かれるDC電源を含む。図1に示されるように、タッチスクリーンディスプレイ132、ビデオポート138、USBポート142、カメラ148、第1のステレオスピーカー154、第2のステレオスピーカー156、マイクロフォン160、FMアンテナ164、ステレオヘッドフォン166、RFスイッチ170、RFアンテナ172、キーパッド174、モノヘッドセット176、バイブレータ178、熱センサ157B、および電源180は、オンチップシステム322の外部にある。図2は、コントローラ101、マスタープロセッサ110、126、低レベルドライバ103、共有リソース105A~C、およびローカルリソース105D~Hの間の関係を示す機能ブロック図である。この図は、タッチスクリーン132がどのようにタッチスクリーンドライバコントローラ130に結合され得るかについて示す。タッチスクリーンドライバコントローラ130は、第1のマスタープロセッサ110Aのクロックコード113Aに結合され得る。第1のマスタープロセッサ110Aは、メッセージRAM112およびコントローラ101に結合され得る。コントローラ101は、第1のマスタープロセッサ110Aのクロックコード113Aに結合することができ、コントローラ101は、1つまたは複数の低レベルドライバ103を備え得る。1つまたは複数の低レベルドライバ103は、1つまたは複数の共有リソース105A~Cと通信する役目を果たすことができる。共有リソース105A~Cは、マスタープロセッサ110のタスクまたは機能をサポートする任意のタイプのデバイスを含むことができる。共有リソース105A~Cは、グラフィカルプロセッサ、デコーダなどの単一の機能要素および他のプロセッサのクロックのようなデバイスを含むことができる。共有リソース105A~Cは、1つまたは複数のローカルリソース105D~Hに結合され得る。1つまたは複数のローカルリソース105D~Hは、マスタープロセッサ110のタスクまたは機能をサポートする任意のタイプのデバイスを含み得るという点で、共有リソース105A~Cに類似していてよい。ローカルリソース105D~Hは、グラフィカルプロセッサ、デコーダなどの単一の機能要素および他のプロセッサのクロックのようなデバイスを含むことができる。ローカルリソース105D~Hは、リーフノードを含むことができる。リーフノードは、他のリソース105を参照せず、または依存しないローカルリソース105D~Hとして当業者によって理解される。コントローラ101は、1つまたは複数のマスタープロセッサ110、126から出される要求を管理する役目を果たすことができる。たとえば、コントローラ101は、第1のマスタープロセッサ110Aから生じる要求を管理することができる。第1のマスタープロセッサ110Aは、オペレータがタッチスクリーン132を操作したことに応答して、この要求を出すことができる。タッチスクリーン132は、タッチスクリーンドライバコントローラ130に信号を出すことができる。そして、タッチスクリーンドライバコントローラ130は、第1のマスタープロセッサ110Aのクロックコード113Aに信号を出すことができる。図2に示した例示的な実施形態では、最初にマスタープロセッサ110Aがコントローラ101に要求を発行する前に、第1のマスタープロセッサ110Aは、以下でさらに詳細に説明するように、メッセージRAM112に情報を送る。第1のマスタープロセッサ110Aは、メッセージRAM112に情報を送った後、次いで、メッセージRAM112に記憶される情報をレビューする旨の要求をコントローラ101に発行する。メッセージRAM112内に含まれている情報に基づいて、コントローラ101は、第1のマスタープロセッサ110Aから発せられた要求を1つまたは複数の低レベルドライバ103に対して発行することができる。次に、低レベルドライバ103は、1つまたは複数の共有リソース105A~Cに対してコマンドを発行する。図3は、プロセッサ間通信システム300を形成するコントローラ101およびメッセージRAM112に関する詳細を示す機能ブロック図である。コントローラ101は、図2に示した例示的な実施形態と同様に、第1のマスタープロセッサ110Aおよび第2のマスタープロセッサ110Bに結合することができる。コントローラ101は、要求割込みライン109A、Bおよび肯定応答割込みライン107A、Bによってこれらのプロセッサ110A、110Bに結合することができる。コントローラ101は、メッセージランダムアクセスメモリ112に結合することもできる。第1のマスタープロセッサ110Aおよび第2のマスタープロセッサ110BもメッセージRAM112に結合することができる。例示的な実施形態はRAMタイプを使用するが、当業者は諒解されるように、他のメモリデバイスまたはメモリデバイスの組合せを使用することができる。他のメモリデバイスは、限定はしないが、ダイナミックランダムアクセスメモリオフチップ102、スタティックランダムアクセスメモリオンチップ122、キャッシュメモリ、電気的消去可能プログラマブルなどを含む。コントローラ101は、1つまたは複数の構成セット311、313を備える1つまたは複数のテーブル307をその内部メモリにおいて維持することができる。コントローラの内部メモリは、たとえばRAMなどのメモリデバイスを備えることができる。1つまたは複数の構成セット311、313は、特定のマスタープロセッサ110によって関連付けられ、必要とされるリソース105の様々な状態を記載する。たとえば、テーブル307は、リスト309に列挙される複数のリソース105についての状態を記載する第1の構成セット311Aおよび第2の構成セット313Aを含む。この第1の構成セット311Aおよび第2の構成セット313Aを、図2の第1のマスタープロセッサ110Aに割り当てることができる。一方、第3の構成セット311Bおよび第4の構成セット313Bを、図2の第2のマスタープロセッサ110Bに割り当てることができる。各構成セット311、313は、特定のリソース105についてのマスタープロセッサ110によって望まれる状態を記載する。図3に示した例示的な構成セット311、313は、特定のリソース105が特定の状態についての1つまたは複数の設定値を有することができることを示す。たとえば、図3に示したように、第1の構成セット311Aについての第1のローカルリソースは、少なくとも4つの設定値を備える。これらの設定値は、リソース105の特定の状態に対応する数値を備え得る。一方、第1の共有リソースは、構成セット311、313ごとに、単一の設定値を備えることができるだけである。図3に示した例示的な実施形態では、0はオフ状態を示すことができ、数字1はオン状態を示すことができる。数値は、バイナリ状態のみに限られるのではなく、英数字、および何百または数千の数値など、他の値を含むことができる。たとえば、数値は、当業者によって理解されるように、MHzまたはGHzでクロック速度を示すために、100または200のような設定値を含むことができる。各第1の構成セット311は、プロセッサ110が通常のやり方で動作している間の特定のマスタープロセッサ110についてのデフォルトのセットであるアクティブセットを備える。マスタープロセッサ110に対応する各第2の構成セット313は、特定のプロセッサ110についての低レベルの消費電力またはスリープ状態用に指定されたセットであるスリープセットを備えることができる。図3に示したように、コントローラ101は、メッセージRAM112に結合される。メッセージRAM112は、リソースステータスセクション315を含む第1の部分301を含み得る。リソースステータスセクション315は、コントローラ101によって管理されるすべてのリソース105の現在のアグリゲート状態を記載する。図3に示した例示的な実施形態のリソースステータスセクション315は、単一のカラムを有するテーブルを備えることができる。この単一のカラムのテーブルは、コントローラ101によって管理され得る各リソース105のステータスに対応する値を記載する。図3に示した例示的な実施形態において、ステータスセクション315は、第1の共有リソース105Aが1のステータス値を有し、第2の共有リソース105Bが1のステータス値を有することを反映する。N番目の共有リソース105Cは、0のステータス値を有し、第1のローカルリソース105Dは、それぞれ1、0、1、および1の4つのステータス値を有する。図3の例示的な実施形態のリソースステータスセクション315にはリソース105が4つのみ示されているが、通常、コントローラ101によって管理されるすべてのリソース105がリソースステータスセクション315に提示されることを当業者であれば理解する。リソースステータスセクション315は、コントローラ101によってアクセスすることができる。コントローラ101は、リソースステータスセクション315に対する書込みおよび読取りを行うことができる。一方、各マスタープロセッサ110は、特定のプロセッサ110、126に関係のあるリソース105のステータスを取得するために、リソースステータスセクション315から情報を読み取ることができるだけである。メッセージRAM112は、マスター当たりの領域とも呼ばれる追加の部分303をさらに備え得る。マスター当たりの領域303は、各マスタープロセッサ110、126、および単一のマスタープロセッサ110、126から発行される要求に対応する。たとえば、メッセージRAM112の第1のマスター当たりの領域303Aは、第1のマスタープロセッサ110Aから発せられる要求および動作と直接対応するサブセクション318A、333Aおよび336Aを備え得る。同様に、メッセージRAM112の第2のマスター当たりの領域303Bは、第2の制御セクション318B、ならびに、メッセージRAM112の第2のマスター当たりの領域303Aに設けられている3つと類似した他のものなどのサブセクションを備えることもできる。メッセージRAM112の各マスター当たりの領域303は、単一のマスタープロセッサ110、126からの要求の状態を追跡する。メッセージRAM112内の各マスター当たりの領域303の3つのサブセクションは、制御セクション318、要求セクション333、および肯定応答セクション336を含む。各制御セクション318は、変更要求フィールド321、リソース指示要求フィールド324、リソース指示肯定応答フィールド327、および変更肯定応答フィールド330の少なくとも4つのステータスフィールドを備え得る。コントローラ101および割り当てられた、単一のマスタープロセッサ110または126は、この制御セクション内に含まれているフィールドに対する読取りおよび書込みを行うことができる。したがって、第1のマスタープロセッサ110Aに割り当てられた第1の制御セクション318Aについて、第1のマスタープロセッサ110Aおよびコントローラ101、ならびに第1のマスタープロセッサ110Aのみおよびコントローラ101は両方、制御セクション318Aの4つのフィールド321、324、327、および330に対する読取りおよび書込みを行うことができる。メッセージRAM112の第1のマスター当たりの領域303Aの第2のサブセクション333Aは、要求セクション333Aを備え得る。第1のマスター当たりの領域303Aの制御セクション318Aと同様に、コントローラ101および第1のマスタープロセッサ110Aのみは、要求セクション333Aと対話することができる。しかし、割り当てられたマスタープロセッサ110Aのみは、要求セクション333Aに書き込むことができる。コントローラ101は、要求セクション333A内に含まれる値を読み取ることができるだけである。図3に示される例示的な実施形態では、第1の共有リソース105Aは、0の要求セクションステータス値を有する。第2の共有リソース105Bも、0のステータス値を有する。N番目の共有リソースは、1のステータス値を有し、第1のローカルリソースは、4つの0のステータス値を有する。第3のサブセクション336Bは、肯定応答セクション336Bである。第1のマスター当たりの領域303Aの肯定応答セクション336Bは、特定のリソース105になされる以前の要求に対応する値を記載する。通常、この肯定応答セクション336Bの値は、要求セクション333Aに提供される値をミラーリングする。図4Aおよび図4Bは、1つまたは複数のマスタープロセッサ110、126の間の要求を管理するための方法400を示す論理フローチャート400A、400Bである。決定ブロック405は、方法400の最初のステップである。決定ブロック405では、要求側のマスタープロセッサ110または126は、メッセージRAM112における制御セクション318の変更要求フィールド321およびリソース指示要求フィールド324が0の値に等しいかどうかを決定する。このステップでは、マスタープロセッサ110または126は、完了していない、別のプロセッサ110、126から発せられた以前の要求が、現在の要求によってメッセージRAM112において上書きされないことを確実にしている。決定ブロック405への照会が否定であれば、ループでブロック405の開始に戻って、いいえ分岐に進む。決定ブロック405への照会が肯定であれば、前の要求が処理されていることを意味し、ブロック410へのはい分岐に進む。ブロック410で、要求されたリソース105のすべてについての要求されたリソース状態は、図3に示したように、要求側のマスタープロセッサ110または126によって、メッセージRAM112のマスター領域303の要求セクション333に書き込まれる。次に、ブロック415で、どのリソース105がマスター110または126によって要求されているかを示すために、マスタープロセッサ110または126によって、値がリソース指示要求フィールド324に書き込まれる。ブロック420で、どの構成セット311または313が要求されたリソース105のために選択されたかを識別するために、値がメッセージRAM112における制御セクション318の変更要求フィールド321に書き込まれる。次に、ブロック425で、要求側マスタープロセッサ110または126は、コントローラ101に要求割込みライン109のうちの1つに沿って、要求割込みを送信する。ブロック430では、コントローラ101は、要求割込みライン109から要求割込みを受信し、どのマスター110または126が要求したかを決定する。次に、決定ブロック435で、コントローラ101は、変更肯定応答フィールド330およびリソース指示肯定応答フィールド327が0の値を有するかどうかを決定する。この段階では、コントローラ101は、コントローラ101か要求を管理または処理し始める前に、前の要求がまだ処理中であるかどうかを決定している。決定ブロック435に対する照会が否定であれば、コントローラ101が、前の要求がシステムによってまだ処理中である旨のメッセージを、要求側マスタープロセッサ110または126に送り返すブロック440へのいいえ分岐に進む。ブロック440の後、方法400は、ブロック435の開始に戻る。決定ブロック435に対する照会が肯定であれば、変更肯定応答フィールド330およびリソース指示肯定応答フィールド327が0の値を有することを意味し、方法400はブロック445に進む。ブロック445で、コントローラ101は、どのリソース105が要求されているかを識別するために、メッセージRAM212における制御セクション318の変更要求フィールド321およびリソース指示要求フィールド324を読み取る。次に、ブロック450で、コントローラ101は、メッセージRAM212の要求セクション333からすべての関連のある要求状態を読み取り、コントローラ101内にローカルにこれらの値をキャッシュする。次に、ブロック455で、コントローラ101は、メッセージRAM212における制御セクション318の変更要求フィールド321およびリソース指示フィールド324に0の値を書き込む。方法400は、ブロック455からブロック460に進み、ここで方法400は、図4Bのプロセスまたはルーチンブロック465で再開する。図4Bのプロセスまたはルーチンブロック465は、図5に関連して以下でさらに詳細に説明する複数のステップを備えることができる。プロセスブロック465で、コントローラ101は、マスタープロセッサ110または126から発せられる要求から、リソース105ごとに望ましい状態を識別する。次いで、コントローラ101は、もし適切な場合、1つまたは複数のリソース105に要求された状態を渡す。ブロック470におけるプロセスまたはルーチンブロック465の後、コントローラ101は、メッセージRAM112の変更肯定応答フィールド330およびリソース指示肯定応答フィールド327に要求によって変更されたリソース105のステータスを書き込むことができる。次に、ブロック475で、コントローラ101は、要求を発したマスター110または126に、図3の肯定応答割込みライン107のうちの1つに沿って、肯定応答割込みを送信することができる。ブロック480で、肯定応答割込みを受信するマスタープロセッサ110または126によって、メッセージRAM112の制御セクション318の変更肯定応答フィールド330およびリソース指示肯定応答フィールド327を読み取ることができる。これらのフィールド330および327は、マスタープロセッサ110または126によって要求されたリソース105に関連付けられた状態の現在の値を備え得る。マスタープロセッサ110または126は、コントローラ101にメッセージを送ることによって、これら2つのフィールドの状態を随意に肯定応答することができる。ブロック485で、肯定応答割込みを受信したマスタープロセッサ110または126は、次いで、他のマスタープロセッサ110または126がリソース105に他の要求を発行することができるようにするために、メッセージRAM112における制御セクション318の変更肯定応答フィールド330およびリソース指示肯定応答フィールド327に0を書き込むことができる。方法400は、決定ブロック405に戻り、上記で説明したように、開始することができる。図5は、要求からリソース105の状態を識別し、適切なとき、リソース105に状態を渡すためのサブメソッドまたはルーチン465を示す論理フローチャートである。ブロック505が、サブメソッド465の最初のステップである。ブロック505で、メッセージRAM112における制御セクション318のリソース指示要求フィールド324に記載されているリソース105ごとに、要求された状態が、メッセージRAM112のマスター部分303の要求セクション333から、コントローラ101によって読み取られる。図3に示した例示的な実施形態では、第1の共有リソース105Aは、0の要求された状態値を有し、一方、第2の共有リソース105Bも、0の要求された状態値を有する。N番目の共有リソース105Cは、1の要求された状態値を有し、一方、第1のローカルリソース105Dは、0の4つの要求された状態値を有する。次に、決定ブロック510で、コントローラ101は、特定のリソース105についての要求された状態がスリープ構成セット311の一部であるか、アクティブ構成セット313の一部であるかを決定する。決定ブロック510への照会がアクティブセットを戻せば、ブロック515へのアクティブセット分岐に進む。決定ブロック510への照会がスリープセットを戻せば、ブロック525へのスリープセット分岐に進む。ブロック515で、コントローラ101は、1つまたは複数の低レベルドライバ103に要求された状態を渡し、低レベルドライバ103は次に、たとえば、図2に示したように、共有リソース105A~105Cまたはローカルリソース105D~105Gなど、特定のリソースに要求された状態を送信する。次に、ブロック520で、リソース105についての要求された状態が特定のリソース105に対するステータス変更をもたらす場合、リソースの新しいステータスが、コントローラ101によってメッセージRAM112のリソースステータスセクション315に書き込まれる。ブロック525で、要求された状態が、コントローラ101によって、メッセージRAM112のリソースステータスセクション315に保存される。ブロック530で、要求された状態が、メッセージRAM112の肯定応答セクション336にコピーされる。そして、ルーチン465は、図4Bのブロック470に戻る。図6は、リソース105についての制限外の要求を処理するためのサブメソッドまたはルーチン600を示す。サブメソッド600は、図4A、図4B、および図5に示したように、方法400およびサブメソッド465の番号付けされたブロックと一致するように番号付けされているブロックを含む。したがって、サブメソッド600の番号付けされブロックが方法400またはサブメソッド465の対応する番号付けされたブロックよりも大きい値を有する場合、サブメソッド600の番号付けされたブロックは、方法400またはサブメソッド465の対応する番号付けされたブロックの後に行われることになる。たとえば、決定ブロック513は、サブメソッド600の最初のステップである。決定ブロック513は、サブメソッド465のブロック510よりも大きい値、およびブロック515未満である値を有する。したがって、当業者によって理解されるように、決定ブロック513は、決定ブロック510の後、しかしサブメソッド465のブロック515の前に行われることになる。決定ブロック513で、コントローラ101は、要求された状態がリソース105の制限を上回るかどうかを決定することができる。たとえば、特定のリソース105が800MHzの最大クロック速度を有し、要求された状態が900MHzである場合、この要求された状態はこのリソース105の制限を上回る。決定ブロック513への照会が否定であれば、いいえ分岐に進み、サブメソッド600は、図5におけるサブメソッド465のブロック515に戻る。決定ブロック513への照会が肯定であれば、要求された状態が特定のリソース105の制限を上回ることを意味し、ブロック518へのはい分岐に進む。ブロック518で、コントローラ101は、リソース105の最大または最小の制限を決定し、リソース105を、要求された状態に最も近い適切な制限に設定することができる。そのため、上記の例では、リソースの最大クロック速度が800MHzであり、要求された状態が900MHzである場合、コントローラ101は、クロック速度を、要求された状態よりも100MHz小さい800MHzの最大値に設定する。ブロック519で、コントローラ101は、要求された状態のためにコントローラ101によって選択された制限を示すために、変更フラグを設定することができる。ブロック482は、ここで、ブロック480の後、図4Bの方法400に追加されるので、ブロック519に続く。ここで図4Bのブロック480に続くブロック482で、マスターが図3のメッセージRAM112の制御セクション318を読み取るとき、アクティブ要求を発するマスター110または126は、ブロック519で設定された変更フラグを読み取ることができる。そして、合計600は、図5のブロック515に戻る。本発明が説明通りに機能するように、本明細書で説明したプロセスまたはプロセスの流れの特定のステップが他のステップよりも前に行われるのは当然である。しかしながら、ステップの順序または手順によって本発明の機能が変わることがない場合、本発明は説明したステップの順序に限定されない。つまり、開示されたシステムおよび方法から逸脱することなく、あるステップを他のステップの前に実行しても、後に実行してもよく、あるいは各ステップを並行して実行してもよいことを認識されたい。場合によっては、当業者によって理解されるように方法から逸脱することなく、特定のステップを省略してよく、実行しなくてもよい。さらに、その後、次いで、次になどの語は、ステップの順序を限定することを意図していない。これらの語は、単に例示的な方法の説明を通じて読者を導くために使用されている。たとえば、コントローラ101がメッセージRAM112の肯定応答セクション336に要求された状態をコピーすることを要求するブロック530は、各リソース105のステータスが変わらなかった場合、完全にスキップすることができる。ブロック530のこの除去は、コントローラ101によって消費される処理時間を減らすことができる。別の例として、マルチスレッド環境をサポートするために、いくつかのステップを変更することができる。特に、変更肯定応答フィールド330およびリソース指示肯定応答フィールド327がコントローラ101によってレビューされる決定ブロック435は、図5のブロック530の直前に移動またはシフトされ得る。同様に、当業者によって理解されるように、ステップ間またはステップの近くに追加の技法を用いてもよい。たとえば、指数バックオフ技法をブロック440とブロック435との間に使用することができ、コントローラは、決定ブロック435でリソース105の状態をチェックすることができる。これは、ブロック440とブロック435との間の第1のパスが100ミリ秒の固定の持続時間を有し得ることを意味する。ブロック440とブロック435との間の第2のパスは、200ミリ秒の固定の持続時間を有し得る。当業者によって理解されるように、ブロック440とブロック435との間の第3のパスは、1秒の固定の持続時間を有し得る。図7A~7Bは、プロセッサ110についての通知メタリソース105Jの一部であるテーブル700を示す。通知メタリソース105Jおよび特にテーブル700は、メッセージRAM112の要求セクション333において記憶され、アクセスされ得る。例示的な実施形態では、各プロセッサ110または126は、メッセージRAM112の各マスター当たりの領域303の中に存在する制御セクション318、要求セクション333、および肯定応答セクション336と同様に、それ自体の個々の通知メタリソース105Jに割り当てられる。各通知メタリソース105Jによって、マスタープロセッサ110または126は、マスタープロセッサ110に関係のあり得る特定のリソース105についてのステータス報告の受信の契約をすることができる。マスタープロセッサ110または126は、コントローラ101にステータス報告を生成して欲しいリソース105をメタリソース105Jに書き込み、記録することができる。コントローラ101は、特定のマスタープロセッサ110または126に、リソース105に関する報告を送ることをコントローラ101が必要とするかどうかを決定するために、各マスター110または126に対応する各メタリソース105Jをレビューする。図7Aに示したように、通知メタリソース105Jは、特定のマスター110または126が利用可能であり得る各リソース105に対応する構成フィールド値の第1の行を含み得る。通知メタリソース105Jの第2の行は、特定のマスター110または126が利用可能であり得る各リソース105に対応する登録フィールド値を含み得る。構成フィールドは、通知を定義し、登録フィールドは、主要なセットからの状態がどのように継承され得るかについて定義する。図7に示した例示的な実施形態では、構成フィールドおよび登録フィールドは、1または0のバイナリ状態を含み得る。構成フィールドにおける0の状態は、特定のマスタープロセッサ110または126がリソース変更通知についてのその設定値を継承することを望む旨を示す。この場合、登録ビットの状態は使用されず、通知は、配信されるか、主要なセットからの設定値に基づかない。構成フィールドにおける1の状態は、特定のマスタープロセッサ110または126が特定のリソース105についての通知設定値を継承することを望まず、代わりに、登録ビットを使用して通知を明示的に構成することを示す。この場合、登録フィールドにおける1の状態は、特定のマスタープロセッサ110または126が特定のリソース105における変更についての通知を受信することを望むことを示す。同様に、登録フィールドにおける0の状態は、主要なセットにおける設定値に関係なく、現在のセットである間、通知を受信しないことを望むことを示す。主要なセットについて、以下でさらに詳細に説明する。構成フィールドおよび登録フィールドについての概要を、以下の表1に示す。各マスタープロセッサ110または126は、特定のマスタープロセッサ110または126の特定の状態に割り当てられる複数の通知メタリソースを有することができる。たとえば、図7Bに示した例示的な実施形態では、3つセットの通知メタリソース105J1、105J2、および105J3を特定のマスタープロセッサ110または126に割り当てることができる。第1の通知メタリソース105J1は、通知のための特定のマスタープロセッサの主要なセットを備え得る。主要なセットは、マスタープロセッサ110または126が関係のある特定のリソース105について通知されることを特定のマスター110または126が望む方法についてのデフォルトの設定でもよい。主要なセット105J1の第1の列の両方の行は、この通知メタリソース105Jに割り当てられるマスタープロセッサ110または126が、第1の共有リソース105Aについての通知を受信することを望むことを示す、1の値を有する。主要なセット105J1の第4の列の両方の行は、この通知メタリソース105Jに割り当てられるマスタープロセッサ110または126が、第1のローカルリソース105Dについての通知を受信することを望むことを示すために、1の値を有する。通知メタリソースの第2および第3のセット105J2および105J3は、当業者によって理解されるように、スリープセットを備え得る。たとえば、第3のセット105J3の第2および第3の列の第1の行の構成フィールドは、このメタリソース105J2に割り当てられるマスタープロセッサ110または126が、第2105Bおよび第3の共有リソース105Cに関して任意の通知を継承することを望むことを示すために、0の値を有し得る。この例では、SR2105BおよびSR3105Cについての主要なセットの構成も、通知が配信されないことを示す。一方、第1および第4の列の第1の行における構成フィールドは、このメタリソース105G2に割り当てられたマスタープロセッサ110または126が、主要なセットから継承することを望まないことを示すための1である。この場合、第4の列の第2の行における登録されたビットは1であるので、LR1105Cについての通知がある。第1の列の第2の行における登録されたビットは0であるので、SR1105Aについて配信される通知はない。特定の通知メタリソース105Jにおける2つの行の存在は、設定を有していない値と明示的に設定されている値との間の区別を可能にすることである。一般に、マスタープロセッサ110または126は、主要なセット105J1におけるその通知を構成し、それらの通知が常に順守されることを期待する。しかしながら、マスタープロセッサ110または126は、いくつかのリソース105についてのみを除いて、スリープの間、異なる構成を望み得ることが考えられる。したがって、継承する、スリープ時に追加の通知を受信するために、明示的に登録する、または主要なセットを介して通知が配信される場合であっても、スリープ時に通知を受信しないように明示的に登録解除するという3つの可能な状態を解釈するには、単一の情報は不十分である。図8は、通知メタリソース105Jを管理するためのサブメソッドまたはサブルーチン800を示す論理フローチャートである。サブメソッド800のステップは、全般的に、図4A~4Bに示した方法400のいくつかのステップを参照する。ブロック436が、サブメソッド800の最初のステップである。決定ブロック435からはい分岐に進んだ後、ブロック436が行われる。ブロック436で、コントローラ101は、メッセージRAM212の制御セクション318の変更肯定応答フィールド330にリソース105のステータスを書き込む。コントローラ101によるこのアクションは、通知フラグを設定する。サブルーチン800が方法400と統合されるものとして説明されているが、コントローラ101に対する要求は、リソースの変更の通知が行われるために必要でないことを、当業者であれば認識する。ステップ435の後、マスタープロセッサ110または126が新しい状態を要求した、または、コントローラ100の内部の何らかの状態が変わった場合、1つまたは複数のリソースのステータスが変わる新しい状態が起こり得る。マスタープロセッサ110または126になされる要求に対して、通知が非同期的に生じ得ることを、当業者であれば理解されたい。次に、図4Aのブロック445の後に行われるブロック446で、コントローラ101は、どのリソース105が変わったかを、メッセージRAM212における制御セクション318のリソース指示肯定応答フィールド327に記録する。次に、図4A~4Bのステップ450および475の後行われるブロック452476で、マスタープロセッサ110または126ごとに割り当てられる通知メタリソース105Jにおける値に基づいて、コントローラ101は、肯定応答割込みを、各関係するマスタープロセッサ110または126に送る。これは、ブロック446が図4Aのブロック450の後、図4Bのブロック475において行われることを意味する。次に、ブロック481で、図4Bのステップ480の後、コントローラ101は、メッセージRAM212の制御セクション318のリソース指示肯定応答フィールド327をレビューし、各マスター110または126についての通知メタリソース105Jにおける値に基づいて、コントローラは、関係のあるマスターにステータス変更を通知する。次に、ブロック482で、各マスター110または126は、リソース105の現在の状態を学ぶために、メッセージRAM212のリソースステータスセクション315を読み取る。上記の開示に鑑みて、プログラミングの当業者は、たとえば本明細書のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよびもしくは回路を特定し、開示された発明を容易に実施することができる。したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示が、本発明をどのように製作し使用すべきかについて適切に理解するうえで必要であるとはみなされない。特許請求されるコンピュータで実施されるプロセスの発明性のある機能は、上の説明において、かつ、様々なプロセスの流れを示し得る図面とともに、より詳細に説明される。1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装することができる。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CDROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続をコンピュータ可読媒体と呼ぶのが妥当である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用する場合、ディスクおよびディスクは、コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、フレキシブルディスク、およびブルーレイディスクを含み、ディスクは、通常、磁気的にデータを再生し、ディスクは、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。選択された態様について詳細に図示し説明したが、以下の特許請求の範囲によって定義されるような本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変を実施できることが理解されよう。