(57)【要約】  動的ファームウェア更新プロセスが、動的データオブジェクトの更新バージョンをファームウェアメモリにおいて見つけることを含む。コンシューマによって使用中の動的データオブジェクトの使用中バージョン用のコールバックハンドルが特定される。動的データオブジェクトの更新バージョンのコンシューマは、コールバックハンドルを用いて通知を受ける。【選択図】図１
2016503214.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施される動的ファームウェア更新プロセスであって、
ファームウェアメモリにおいて動的データオブジェクトの更新バージョンを見つけるステップと、
コンシューマによって使用中の前記動的データオブジェクトの使用中バージョン用のコールバックハンドルを特定するステップと、
前記コールバックハンドルを用いて、前記動的データオブジェクトの前記更新バージョンを前記コンシューマに通知するステップと
を含んでなる、コンピュータにより実施される動的ファームウェア更新プロセス。
【請求項２】
前記見つけるステップよりも前に、前記動的データオブジェクトのどの以前のバージョンも上書きすることなく、前記動的データオブジェクトの前記更新バージョンを前記ファームウェアメモリに書き込むステップを更に含む、請求項１に記載のプロセス。
【請求項３】
前記通知するステップは、介在するリブートなしに前記書き込むステップに後続する、請求項２に記載のプロセス。
【請求項４】
前記見つけるステップは、前記ファームウェアに表されるデータマネージャによって実行され、前記更新バージョンを前記書き込むステップは、更新ユーティリティによって実行される、請求項２に記載のプロセス。
【請求項５】
前記通知するステップの後に、前記動的データオブジェクトを得るための要求を前記コンシューマから受信するステップと、
前記要求に応答して、前記コンシューマ用のコールバックハンドルを前記動的データオブジェクトの前記更新バージョンに関連付けて書き込むステップと、
前記要求に応答して、前記更新されたデータオブジェクトを前記コンシューマに提供するステップと
を更に含む、請求項１に記載のプロセス。
【請求項６】
前記ファームウェアメモリにおける第２のデータオブジェクトを得るための要求を前記コンシューマから受信するステップと、
前記第２のデータオブジェクトの属性によって、前記第２のデータオブジェクトが静的であることを示すか又は動的であることを示すかを判断するステップと、
前記第２のデータオブジェクトが動的であることを前記属性が示す場合に限って、前記第２のデータオブジェクトの他のバージョンを前記ファームウェアメモリにおいて検索するステップと
を更に含む、請求項５に記載のプロセス。
【請求項７】
データマネージャ及びファームウェアを規定するコードを用いてコード化された非一時的記憶媒体を備えるシステムであって、前記ファームウェアは、それぞれのデータオブジェクトバージョンを、関連付けられたデータオブジェクト識別子（ＩＤ）及びデータオブジェクトバージョンＩＤとともに含むデータボリュームを含み、前記データマネージャは、
コンシューマからの動的データオブジェクトを得るための要求に応答して、前記データオブジェクトのデータオブジェクトＩＤ及び前記動的データオブジェクトの種々のバージョンのデータオブジェクトバージョンＩＤを用いて前記動的データオブジェクトの最新バージョンを特定し、
前記コンシューマ用のコールバックハンドルを前記動的データオブジェクトの前記最新バージョンに関連付けて記憶し、
前記動的データオブジェクトが使用中に動的データオブジェクトになるように、前記動的データオブジェクトの前記最新バージョンを前記コンシューマに提供する、
ようにプロセッサによって実行可能である、データマネージャ及びファームウェアを規定するコードを用いてコード化された非一時的な記憶媒体を備えるシステム。
【請求項８】
前記プロセッサを更に備える、請求項７に記載のシステム。
【請求項９】
前記データマネージャは、
前記提供した後に、前記使用中動的データオブジェクトの更新バージョンを見つけ、
前記使用中動的データオブジェクトに関連したコールバックハンドルを特定し、
前記コールバックハンドルを用いて、前記更新バージョンが存在することを前記コンシューマに通知する、
ように更に実行可能である、請求項７に記載のシステム。
【請求項１０】
前記データオブジェクトのうちの幾つかは、静的データオブジェクトであり、該静的データオブジェクトは、それらの更新が、該更新された静的データオブジェクトを前記ファームウェアのデータボリュームに書き込んだ後に続くリブート後にしか使用することができないものであり、前記ボリュームは、前記データオブジェクトが静的であるか又は動的であるかを示す前記それぞれのデータオブジェクトバージョンの属性を含む、請求項７に記載のシステム。
【請求項１１】
前記コードは、データオブジェクトの更新バージョンを含む新たなデータオブジェクトボリュームを前記ファームウェア内に準備して、該データオブジェクトの更新バージョンがそのデータオブジェクトの最新バージョンとなるようにするファームウェア更新ユーティリティを更に規定しており、前記ボリュームは、データオブジェクトＩＤと、データオブジェクトバージョンＩＤと、静的対動的属性についての前記データオブジェクトとを指定し、前記新たなデータオブジェクトボリュームは、コンシューマ用のコールバックハンドルを入力するためのフィールドを含む、請求項７に記載のシステム。
【請求項１２】
前記コードは、更新ハンドラを更に規定し、前記ファームウェア更新ユーティリティは、更新が前記ファームウェアに書き込まれたことを示すフラグを更に設定し、前記更新ハンドラをトリガし、前記更新ハンドラは、前記トリガに応答して、前記更新を前記データマネージャに通知する、請求項１１に記載のシステム。
【請求項１３】
コンピュータにより実施されるプロセスであって、
データオブジェクトの更新バージョンを見つけるステップと、
前記データオブジェクトの使用中バージョン用のコールバックハンドルを特定するステップと、
前記コールバックハンドルを用いて、前記データオブジェクトの前記更新バージョンが存在することを前記データオブジェクトのコンシューマに通知するステップと
を含んでなる、コンピュータにより実施されるプロセス。
【請求項１４】
コンピュータにより実施されるプロセスであって、
データオブジェクトを得るための要求をコンシューマから受信するステップと、
前記データオブジェクトの複数のバージョンのうちの最新のものをファームウェアメモリにおいて特定するステップと、
前記コンシューマ用のコールバックハンドルを前記データオブジェクトの識別情報に関連付けて記憶するステップと、
前記最新バージョンを前記コンシューマに提供するステップと
を含んでなる、コンピュータにより実施されるプロセス。
【請求項１５】
前記データオブジェクトの前記最新バージョンを前記ファームウェアメモリに書き込むステップと、
前記書き込むステップに応答して、前記更新を前記コンシューマに通知するステップと
を更に含む、請求項１４に記載のプロセス。
【発明の詳細な説明】
【背景技術】
【０００１】
現代のコンピュータ及びコンピュータベースのシステムは、通常、不揮発性「ファームウェア」メモリに記憶されてコンピュータベースのシステムの初期化及び低レベル機能用に用いられるプラットフォームファームウェア、すなわち、コード（命令及び非命令タイプのデータを表す）を備える。通常、ファームウェアコードは、使用に備えて比較的高速の揮発性メモリ内にロードされる。
【０００２】
ファームウェアを更新すること、例えば、ファームウェアバグを修正すること、特徴を追加すること、又はシステムパラメータを微調整することが時に望ましいことがある。旧式のコンピュータシステムでは、ファームウェアの更新は、そのファームウェアを用いてコード化された１つのファームウェア読み出し専用メモリ（ＲＯＭ）を取り出して、更新されたファームウェアを用いてコード化された別のものに交換して取り替えることが必要となることがある。より最近では、ファームウェア更新を所定の位置で更新することができるように、ファームウェアは、書き換え可能不揮発性メモリに記憶される。そのような更新は、システムが再初期化される、すなわち、リブートされると効力を生じることができる。
【０００３】
以下の図は、例を表すものであって、本発明そのものではない。
【図面の簡単な説明】
【０００４】
【図１】一例によるシステムの概略図である。
【図２】図１のシステム上で実施可能な、一例によるデータオブジェクト要求ハンドリングプロセスのフローチャートである。
【図３】図１のシステム上で実施可能な、一例によるファームウェア更新プロセスのフローチャートである。
【図４】一例による別のシステムの概略図である。
【図５】図４のシステム上で実施可能な、一例によるファームウェア更新プロセスのフローチャートである。
【発明を実施するための形態】
【０００５】
コンピュータが「高可用」であることが期待されるミッションクリティカルな状況、例えば、ネットワーク支援型医療アラート及び他の緊急サービス、金融取引、並びにオンライン小売では、システムをリブートしてファームウェアのインストールを完了することは、多くのコストを要する可能性がある。本明細書における例は、幾つかのファームウェア更新を、リブートすることなく実施することを可能にする。これは、リブートに関連したコストを節減するだけでなく、ファームウェア更新のより幅広い使用も促進し、例えば、ファームウェアパラメータを動的に微調整することによって性能を高める。本明細書では、ファームウェア更新は、リブートすることなく実施することができる（すなわち、単に書き込まれるだけとは異なり、使用することができる）場合に「動的」である。
【０００６】
図１に示す一例のシステム１００は、コード１０４を用いてコード化された記憶媒体１０２を備える。コード１０４は、ファームウェア１１２及びデータマネージャ１１４（変形形態に応じて、ファームウェアである場合もあるし、ファームウェアでない場合もある）を含む。ファームウェア１１２のデータは、動的データボリューム、例えば、ボリューム１１６及び１１８に配置される。各データボリュームは、データオブジェクト識別子（ＩＤ）１２０と、データオブジェクトバージョンＩＤ１２２と、データオブジェクト１２６とを指定するデータオブジェクトメタデータを含む。データマネージャ１１４は、ファームウェアデータオブジェクトを得るためのコンシューマ（例えば、ソフトウェアエンティティ）からの要求１２８を管理する。データマネージャは、どのコンシューマがどのデータオブジェクトを用いているのかを、データオブジェクトＩＤ１３４をコンシューマコールバックハンドル１３２に関連付けて記憶するデータ構造体１３０内に記録する。
【０００７】
データマネージャ１１４は、図２にフローチャート化されたデータオブジェクト要求ハンドリングプロセス２００を実施するものである。２０１において、データオブジェクトを得るための要求がコンシューマから受信される。２０２において、要求されたデータオブジェクトの最新（most-recent）バージョンが特定される。２０３において、そのコンシューマ用のコールバックハンドルが、要求されたデータオブジェクトの識別情報に関連付けて記憶される。２０４において、要求されたデータオブジェクトの最新バージョンが、そのデータオブジェクトの「使用中」バージョンになるようにコンシューマに提供される。以下で更に説明するように、プロセス２００は、他のエンティティが実施することができ、データマネージャ１１４は、他のプロセスを実施することができる。
【０００８】
データマネージャ１１４は、図３にフローチャート化されたデータオブジェクト更新プロセス３００を実施することができる。３０１において、データオブジェクトのバージョンの更新バージョンが見つけられる。３０２において、そのデータオブジェクトのコンシューマのコールバックハンドルが特定される。３０３において、このコールバックハンドルを用いて、データオブジェクトのコンシューマに更新が通知される。
【０００９】
コンシューマに更新が通知されると、コンシューマは、更新されたオブジェクトを直ちに又は後の時点で要求することができる。例えば、更新されたデータオブジェクトを要求すること及び用いることが、衝突又は他の問題を進行中の手順に引き起こす場合、コンシューマは、データオブジェクトのそのコピーを更新するのにより適切な時機を待つことができる。いずれにしても、動的データファームウェア更新は、リブート（高可用性コンピュータシステムのサービスレベルの目的と干渉する場合がある）を必要とすることなく、いずれのコヒーレンス問題も回避する方法で管理することができる。
【００１０】
次の例に示すように、データボリュームは、システム１００について示されたもの以外のデータオブジェクトメタデータを記憶することができる。例えば、データボリュームは、更新が認可されたソースからのものであり、エラー又は悪意の結果でないことを保証するのに用いることができるセキュリティキーを含みうる。
【００１１】
コンピュータシステム４００は、プロセッサ４０２と、通信デバイス４０４と、非一時的な記憶媒体４０６とを含む。媒体４０６は、コード４０８を用いてコード化されている。コード４０８は、ファームウェア４１０と、コンシューマ４１２と、ファームウェア更新ユーティリティ４１４と、更新フラグ４１６とを含む。別の例では、フラグ４１６は、ハードウェアにより実施される。ファームウェア４１０は、データマネージャ４２０と、更新ハンドラ４２２と、データボリューム４３２、４３４、及び４３６を含むデータボリューム４３０とを含む。
【００１２】
各データボリューム４３０は、データボリュームデータ構造体とそのコンテンツとを組み合わせたものである。これらのコンテンツは、データオブジェクトＩＤと、データオブジェクト属性と、データオブジェクトバージョンＩＤと、セキュリティキーと、他のメタデータと、データオブジェクトとを含む。データオブジェクトＩＤは、グローバル一意識別子（ＧＵＩＤ）とすることができる。データオブジェクト属性は、所与のデータオブジェクトが動的データオブジェクトであるのか又は静的データオブジェクトであるのかを指定する。リブートすることなく変更を実施することができるのが動的データオブジェクトである一方、変更された静的データオブジェクトを実施するにはリブートすることが必要とされる。「他のメタデータ」は、データボリューム又はデータオブジェクト値の境界が位置する場所を決定するのに用いることができるロケーション又はオブジェクトサイズ情報を含みうる。加えて、「他のメタデータ」は、データマネージャ４２０又はコンシューマ４１２に有用なデータオブジェクトを特徴付ける他の情報を含みうる。
【００１３】
データボリューム４３２は、データオブジェクトＩＤ４４０と、属性４４２と、バージョンＩＤ４４４と、有効フラグ４４５と、セキュリティキー４４６と、他のメタデータ４４７と、データオブジェクト４４８とを含む。属性４４２は、「静的」に設定され、そのため、データオブジェクトＩＤ４４０を有するデータオブジェクトに対する（別のデータボリュームによって表される）変更は、システム４００のリブートの後にしか行われない。バージョンＩＤ４４４は、最新バージョンであり、この場合、データボリューム４３０の中で表されるデータオブジェクトの最新バージョンである。データオブジェクト４４８は、要求に応答してコンシューマ４１２に提供されるデータオブジェクトである。
【００１４】
データボリューム４３４は、データオブジェクトＩＤ４５０と、属性４５２と、バージョンＩＤ４５４と、有効フラグ４５５と、セキュリティキー４５６と、他のメタデータ４５７と、データオブジェクト４５８とを含む。この場合、属性４５２は、データオブジェクト（値）の変更をリブートすることなく実施することができることを示す「動的」に設定されている。「４．２」等の数値とすることができるバージョンＩＤは、ＩＤ４５０を有するデータオブジェクトがコンシューマ４１２によって現在使用中であるという点において、このデータオブジェクトの使用中バージョンに偶然対応している。
【００１５】
しかしながら、使用中データオブジェクト４５８は、コンシューマ４１２によって要求された時点では最新バージョンであったが、図４に表された時点では最新バージョンではない。この理由は、コンシューマ４１２がデータオブジェクト４５８を要求してから、より新しいバージョンがファームウェア４１０に書き込まれたからである。このより新しい更新バージョンは、データボリューム４３６に表される。
【００１６】
データボリューム４３６は、データオブジェクトＩＤ４６０と、属性４６２と、バージョンＩＤ４６４と、有効フラグ４６５と、セキュリティキー４６６と、他のメタデータ４６７と、データオブジェクト４６８とを含む。データオブジェクト４６８は、データオブジェクト４５８の更新バージョンである。したがって、データオブジェクトＩＤ４６０は、データオブジェクトＩＤ４５０に等しく、バージョンＩＤ４６４（例えば、バージョン４．３）は、バージョンＩＤ４５４（例えば、バージョン４．２）よりも後のバージョンに対応する。オブジェクトの異なるバージョンの属性は一般に同じであり、そのため、属性４５２及び４６２は同じであり、ともに「動的」に設定されている。ただし、幾つかの場合には、更新がデータオブジェクトの属性を変更する。
【００１７】
データマネージャ４２０は、どのコンシューマがどのデータオブジェクトを用いているのかを記録する。このために、データマネージャ４２０は、コンシューマコールバックハンドル４７２を、コンシューマによって現在使用中の各データオブジェクトのデータオブジェクト識別情報４７４と、使用中のデータオブジェクトのデータオブジェクトバージョンＩＤとに関連付けるデータ構造体、例えばコールバックテーブル４７０を含む。例えば、図４に表された時に、データオブジェクト４５８のオブジェクト識別情報は、コールバックテーブル４７０においてコンシューマコールバックハンドルに関連付けられる。
【００１８】
システム４００は、図５にフローチャート化されたファームウェア更新プロセス５００の実施態様を提供する。プロセス５００は、要求セクション５１０と、更新セクション５２０とを含む。要求セクション５１０は、データマネージャが、データオブジェクトを得るための要求をコンシューマから受信する動作５１１を含む。この要求は、そのオブジェクトのＧＵＩＤ又は他の識別子を指定することができる。
【００１９】
５１２において、データマネージャは、要求を満たすために、要求されたデータオブジェクトの適切なバージョンを得るためにデータボリュームを検索する。５１３において、データマネージャは、データオブジェクトの適切なバージョンを見つける。図示したプロセス５００では、適切なバージョンは、最新の有効なバージョンである。無効なバージョンは、それらのそれぞれの有効フラグによって示されるので、検索されない。近時のものであることは、要求されたデータオブジェクトの見つけられた有効なバージョンのバージョン番号を比較することによって判断することができる。
【００２０】
データオブジェクトの更新の直後において、更新バージョンは、コンシューマによる使用中のどのバージョンとも異なる可能性がある。別のコンシューマが、最新バージョンが使用中バージョンと異なるデータオブジェクトを要求した場合、最新バージョンではなく使用中バージョンを用いてこの要求を満たすことが、一貫性を得るために望ましい場合がある。そのような例及びシナリオでは、使用中バージョンが、要求を満たすのに用いられる「適切」なバージョンである。プロセス５００の図示した変形形態では、データオブジェクトの更新バージョンは、データマネージャがその更新バージョンの通知を受けるまで「有効」とマーキングされない。したがって、データマネージャは、更新（すなわち、最新）バージョンを用いて、データオブジェクトを得るためのいずれかの追加の要求を満たす前に、要求されたデータオブジェクトの使用中バージョンを廃棄することができる。
【００２１】
５１４において、データマネージャは、データオブジェクトの適切なバージョンの「静的」対「動的」の属性を調べる。５１５において、属性が「動的」である場合に限って、データマネージャは、例えば、コールバックテーブル４７０において、データオブジェクト識別情報及びデータオブジェクトバージョン識別情報にコールバックハンドルを関連付ける。属性が「静的」である場合には、コールバックテーブルにおいてエントリは行われない。５１６において、データマネージャは、そのデータオブジェクトを要求したコンシューマに、データオブジェクトの適切なバージョンを提供することによって要求を満たす。
【００２２】
プロセス５００の更新セクション５２０は、５２１において、更新ツールが、ファームウェアの未使用エリアにおける新たなボリュームに、更新されたデータオブジェクトを書き込むことを含む。データオブジェクトが更新されるとき、更新バージョンは、ファームウェアの空のエリアに書き込まれ、以前のバージョンは削除されない。しかしながら、それよりも古いバージョンに戻ることがないこと又はそれらの古いバージョンを別の方法で用いることがないことが確実であると、更新ユーティリティは、それらの古いバージョンの「クリーンアップ」を提供することができる。プロセス５００の図示した変形形態では、更新バージョンの有効フラグは、「無効」に初期設定される。
【００２３】
５２２において、データマネージャは更新の通知を受ける。ある変形形態では、データマネージャは、データボリュームを（例えば、定期的に）ポーリングすることによって更新を知る。別の変形形態では、更新ツールが、更新フラグ（例えば、フラグ４１６）を設定し、更新ハンドラ（例えば、更新ハンドラ４２２）をトリガする。このハンドラは、プラットフォーム管理割り込み又はシステム管理割り込み（ＳＭＩ）を用いてトリガすることができる。そして、更新ハンドラは、データマネージャに更新を通知する。
【００２４】
５２３において、データマネージャは、更新用のデータボリューム及びその直前の更新用のデータボリュームを検索して見つける。データマネージャは、これらのデータボリュームをそれらのバージョンＩＤによって特定することができる。５２４において、直前の更新のバージョンの属性が「動的」である場合に限って、データマネージャは、例えば、データマネージャの秘密鍵４７２を用いて更新バージョン用のセキュリティキーを調べることによって、データオブジェクトの更新バージョンの有効性の確認を試みる。データオブジェクトの全てのバージョンが同じ属性値を有することが要件とされている場合、５２４において、更新バージョンの属性を、その直前の更新の属性の代わりに用いることができることに留意されたい。５２４において、以前のバージョンが「静的」である場合、次のブートまでこの更新に関して更なる動作は行われず、次のブート時に、有効性確認が実行される。
【００２５】
５２５において、更新バージョンが有効であると判断された場合、５２５おいて、データマネージャは、その有効フラグを「有効」に設定する。プロセス５００の別の変形形態では、更新ハンドラが有効性チェックを実行し、更新が有効である場合に限って、データマネージャに更新を通知し、有効フラグを「有効」に設定する。データオブジェクトの更新バージョンが無効であると判断された場合、例えば、更新バージョンは、引き続き「無効」とマーキングされるか又は削除される。
【００２６】
５２６において、データマネージャは、更新された動的データオブジェクトと一致するエントリを得るためにそのコールバックテーブルを調べる。一致するものがある場合、各関連付けられたコールバックハンドルは、それぞれのコンシューマに更新を通知するのに用いられる。５２７において、動的データオブジェクトが使用中である場合に限って、データマネージャは、（データオブジェクトの以前のバージョンを用いている）単数又は複数のコンシューマに更新を通知する。データマネージャは、以前のデータオブジェクトのコンシューマがこの以前のデータオブジェクトをもはや用いなくなるまで、同じデータオブジェクトについての他のコンシューマによる要求を保留することができる。そして、プロセス５００は、介在するリブートなしに５１１に戻ることができる。コンシューマは、データオブジェクトの以前のバージョンの使用を所与として適宜、通知の直後又は或る後の時点において動的データオブジェクトを要求することができる。
【００２７】
ある代替例は、有効性を示すデータオブジェクトボリューム内の有効フラグを用いない。その代わり、データマネージャは、静的データオブジェクトの更新を内部で追跡し、それらの更新が、リブートよりも前にコンシューマ要求を満たすのに用いられないようにする。リブートされると、更新を追跡するのに用いられたデータは失われ、そのため、リブート後、データマネージャは、更新された静的データオブジェクトを用いて要求を満たす。
【００２８】
本明細書において、「システム」は、インタラクトする非一時的な有形の要素の集合であり、これらの要素は、限定ではなく例として、機械的構成要素、電気的要素、原子的要素（atoms）、命令を物理的にコード化したもの、及びプロセス動作とすることができる。本明細書において、「プロセス」は、物理的な変換をもたらすか又は伴う動作のシーケンスを指す。
【００２９】
本明細書において、文脈から別段明らかでない限り、「データ」は、非命令タイプのデータだけでなく、実行可能命令も包含する包括的な意味で用いられる。本明細書において、「データオブジェクト」は、単一のビット、ストリング、並びにビット及び／又はストリングの配列を包含する。本明細書において、「記憶媒体」は、その内部又はその上に、（命令及び非命令タイプのデータを含む）データ及びデータオブジェクトを用いて、情報がコード化されるか又は情報をコード化することができる非一時的な有形の材料を備えるシステムを指す。本明細書において、文脈から別段明らかでない限り、「ファームウェア」は、永続的な固体メモリ（すなわち、不揮発性メモリ）及び永続的な固体メモリからのブートコードから得られるコードを指す。「ファームウェアメモリ」は、ファームウェアコードを記憶するのに用いられる非揮発性メモリを指す。
【００３０】
本明細書において、「バージョン」は、同じ物／ものの他のバージョンと何らかの点で異なる物／もの、例えばデータオブジェクトの特定の形態である。本明細書において、データオブジェクトは、リブートなしで更新して用いることができる場合に「動的」であると言われる。本明細書において、データオブジェクトは、その更新をリブートなしでは用いることができない場合に「静的」であると言われる。本明細書において、「コンシューマ」は、データオブジェクトを要求して用いる実行プロセスである。本明細書において、「コールバックハンドル」は、例えばデータオブジェクトを得るための要求を事前に送信したプロセスに情報を送信するのに用いられるデータアイテムである。
【００３１】
本明細書において、「コンピュータ」は、物理的にコード化された命令に従って、物理的にコード化されたデータを操作するためのハードウェアマシンを指す。本明細書において、文脈から別段明らかでない限り、コンピュータの機能的に規定された構成要素は、ハードウェアと、そのハードウェア上で実行されて規定された機能を提供するソフトウェアとを組み合わせたものである。
【００３２】
本明細書において、「プロセッサ」は、命令を実行するためのハードウェアを指す。プロセッサは、モノリシックデバイス、例えば集積回路、デバイスの一部分、例えばマルチコア集積回路のコア、又はデバイスの分散された若しくは同じ位置に配置されたセットとすることができる。本明細書において、「通信デバイス」は、通信に用いられるデバイスを指し、ネットワークデバイスと、入力及び出力に用いられるデバイス、例えばヒューマンインタフェースデバイスとの双方を含む。
【００３３】
この明細書では、関連技術が説明の目的で論述されている。「従来技術」というラベルが付けられた関連技術がもしあれば、それは自ら認めた従来技術である。「従来技術」というラベルが付けられていない関連技術は、自ら認めた従来技術ではない。特許請求の範囲において、「前記」の語が用いられている場合、それは、明示的な全く同じ語の先行詞が存在する要素を導入するものである。また、「前記」の語は、先行詞が「暗黙的」である場合がある要素も導入するものである。図示した実施形態及び他の説明した実施形態と、それらに対する変更形態及び変形形態とは、添付の特許請求の範囲の範囲内にある。
【図１】
2016503214.tif 000003
【図２】
2016503214.tif 000004
【図３】
2016503214.tif 000005
【図４】
2016503214.tif 000006
【図５】
2016503214.tif 000007
【国際調査報告】
2016503214.tif 000008
2016503214.tif 000009