"計算装置上で動作し、前記計算装置のオペレーションシステムの状態に関わらず、リモートサーバドライバと情報をやり取りすることができるアウトオブバンドエージェントOOBエージェントを用いて、リモートサーバから、ブロック読み出し要求を受信する段階と、前記ブロック読み出し要求の受信に応じて、前記計算装置のホストドライバを用いて、データ記憶装置にストレージ命令を送信する段階と、前記ストレージ命令に応じて、前記データ記憶装置から読み出されたデータと、前記データ記憶装置により生成された認証メタデータとを受信する段階と、前記認証メタデータを用いて、前記OOBエージェントまたは前記リモートサーバドライバにより前記データを検証する段階と、を有する方法。前記OOBエージェントを用いて、前記リモートサーバから、前記ブロック読み出し要求を受信する段階は、前記計算装置のOOBプロセッサ上で動作するファームウエアモジュールを用いて、前記ブロック読み出し要求を受信する段階を含む、請求項1に記載の方法。前記OOBエージェントを用いて、前記リモートサーバドライバから、前記ブロック読み出し要求を受信する段階は、前記計算装置の前記オペレーションシステムが動作していない間に、前記ブロック読み出し要求を受信する段階を含む、請求項1に記載の方法。前記データ記憶装置に前記ストレージ命令を送信する段階は、前記計算装置の基本入出力システムBIOSドライバを用いて、前記ストレージ命令を生成する段階を含む、請求項3に記載の方法。前記データ記憶装置に前記ストレージ命令を送信する段階は、前記計算装置のアドバンスドホストコントローラインターフェースAHCIドライバを用いて、前記ストレージ命令を送信する段階を含む、請求項1に記載の方法。前記データ記憶装置によって生成された認証メタデータを受信する段階は、前記データ記憶装置から読み出された前記データに適用された鍵付きハッシュ関数の出力を受信する段階を含む、請求項1に記載の方法。前記認証メタデータを用いて、前記OOBエージェントまたは前記リモートサーバドライバにより前記データを検証する段階は、前記鍵付きハッシュ関数を前記データに再適用して、前記鍵付きハッシュ関数の出力を、前記認証メタデータと比較する段階を含む、請求項6に記載の方法。前記データ記憶装置によって生成された認証メタデータを受信する段階は、前記データ記憶装置から前記データが読み出された時間を示すカウンタ値を受信する段階をさらに含む、請求項7に記載の方法。前記認証メタデータを用いて、前記OOBエージェントまたは前記リモートサーバドライバにより前記データを検証する段階は、前記カウンタ値を、期待された時間と比較する段階をさらに含む、請求項8に記載の方法。前記データ記憶装置によって生成された認証メタデータを受信する段階は、前記データ記憶装置から読み出されたデータと、秘密鍵とに基づく電子署名を受信する段階を含む、請求項1に記載の方法。前記認証メタデータを用いて、前記OOBエージェントまたは前記リモートサーバドライバにより前記データを検証する段階は、前記秘密鍵に対応する公開鍵を用いて、前記電子署名を検証する段階を含む、請求項10に記載の方法。前記認証メタデータを用いて前記データを検証する前記リモートサーバドライバに、前記データおよび前記認証メタデータを、前記OOBエージェントを用いて送信する段階をさらに有する、請求項1に記載の方法。前記OOBエージェントを用いて、前記リモートサーバドライバに前記データを送信する段階をさらに有し、前記OOBエージェントは、前記データを送信する前に、前記認証メタデータを用いて前記データを検証する、請求項1に記載の方法。コンピュータに、請求項1から請求項13までの何れか一項に記載の方法を実行させるための、プログラム。オペレーションシステムおよび少なくとも1つのホストドライバを実行するインバンドプロセッサと、リモートサーバと情報をやり取りする通信回路と、前記オペレーションシステムの状態に関わらず、前記通信回路を用いて前記リモートサーバと情報をやり取りすることができるアウトオブバンドプロセッサOOBプロセッサと、を備え、前記OOBプロセッサは、前記リモートサーバからブロック読み出し要求を受信し、前記少なくとも1つのホストドライバに指示して、データ記憶装置にストレージ命令を送信させ、前記データ記憶装置から読み出されたデータと、前記データ記憶装置によって生成された認証メタデータとを受信し、前記データおよび前記認証メタデータを、前記リモートサーバに送信する、計算装置。前記少なくとも1つのホストドライバは、前記オペレーションシステムが起動する前に、前記インバンドプロセッサによって実行される基本入出力システムBIOSドライバである、請求項15に記載の計算装置。前記少なくとも1つのホストドライバは、前記オペレーションシステムの実行中に、前記インバンドプロセッサによって実行されるアドバンスドホストコントローラインターフェースAHCIドライバである、請求項15に記載の計算装置。前記OOBプロセッサは、さらに、前記データおよび前記認証メタデータを、前記リモートサーバに送信する前に、前記認証メタデータを用いて前記データを検証する、請求項15に記載の計算装置。オペレーションシステムおよび少なくとも1つのドライバを実行し、前記オペレーションシステムから独立したセキュアコンテナの中で前記ドライバを実行するインバンドプロセッサと、リモートサーバと情報をやり取りする通信回路と、前記オペレーションシステムの状態に関わらず、前記通信回路を用いて前記リモートサーバと情報をやり取りすることができるアウトオブバンドプロセッサと、を備え、前記アウトオブバンドプロセッサは、前記リモートサーバからブロック読み出し要求を受信し、前記セキュアコンテナの中で動作する前記少なくとも1つのドライバに指示して、データ記憶装置にストレージ命令を送信させ、前記データ記憶装置から読み出されたデータを、前記セキュアコンテナの中で動作する前記少なくとも1つのドライバを経由して受信し、前記データを、前記リモートサーバに送信する、計算装置。前記オペレーションシステムは、1以上のファームウエアフックを経由して、前記セキュアコンテナの中で動作する前記少なくとも1つのドライバに指示して、前記データ記憶装置に前記ストレージ命令を送信させることによって、前記データ記憶装置からデータを読み出す、請求項19に記載の計算装置。ここに開示される概念conceptは、様々に改変されたり、他の形態に代替されたりしてよい。一方、ここに開示される特定の例示的な実施形態は、一例として、図示されており、図面に詳細に記載されている。しかしながら、ここに開示される概念を開示された特定の形態に限定することを意図するものではなく、それどころか、添付の特許請求の範囲によって定義される発明の精神spiritおよび範囲scopeに含まれる改変、均等物および代替物の全てをカバーすることを意図している。以下の記載において、本開示の理解をより完全なものにする目的で、ロジックの実装logicimplementation、オペコードopcode、オペランド特定手段meanstospecifyoperands、リソースのパーティショニング/シェアリング/複製の実装、システム要素のタイプおよび相互関係、ならびに、ロジックの分割/統合の選択のような、多くの特定の詳細が記載される可能性がある。しかしながら、当然のことながら、当業者であれば、そのような特定の詳細の記載がなくとも、本開示の実施形態を実施することができる。開示がわかりにくくなることを防止する目的で、他の実施形態においては、制御構造、ゲートレベル回路および完全なソフトウエア実行シーケンスの詳細について示されていない可能性がある。本明細書の記載に接した当業者は、過度の実験をしなくても、適切な機能を実行することができるであろう。明細書中の一実施形態、ある実施形態、例示的な実施形態などへの言及は、記載されている実施形態が特定の特徴、構造または特性を含んでよいことを示す。しかし、必ずしも全ての実施形態において、当該特定の特徴、構造または特性が含まれる必要はない。さらに、そのような文言が、必ずしも同一の実施形態について言及している必要もない。その上、特定の特徴、構造または特性が、ある実施形態に関連して記載されるときには、そのことが明示的に記載されているかどうかに関わらず、他の実施形態に関しても、そのような特徴、構造または特性を生じさせることが、当業者の知識の範囲内であると考えられる。開示されるいくつかの実施形態は、ハードウエア、ファームウエア、ソフトウエアまたはそれらの組合せに組み入れられてよい。開示される計算装置に組み入れられる実施形態は、1以上のバスを利用したbusbased要素間相互接続、および/または、1以上の2点間のpointtopoint要素間相互接続を含んでよい。発明の実施形態は、1以上の有形の機械可読媒体に格納され、1以上のプロセッサによって読み込まれ、実行される命令instructionとして実現されてもよい。有形の機械可読媒体は、機械例えば計算装置によって読み込まれる形で、情報を記憶または伝達するための有形の機構であれば、いかなるものであってもよい。例えば、有形の機械可読媒体は、リードオンリーメモリROM、ランダムアクセスメモリRAM、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ、および、その他の有形の媒体を含んでよい。本開示は、広く、リモートサーバからデータ記憶装置の安全性検査を提供する方法および装置に関連する。これらの方法および装置は、検査されたデータが、データ記憶媒体から実際に読み出されたretrievedものであり、なんらかのマルウエア例えば、計算装置上に隠れているルートキットによって不当に提供されたものではないことを保証する。本開示によれば、アウトオブバンドOOBエージェントが用いられて、リモートサーバとデータ記憶媒体との間におけるブロックの読み込み/書き込みのためのインターフェースを実現する。OOBエージェントは、計算装置のホストドライバと連動して、信頼できる方法でデータ記憶装置からデータを読み出し、このデータをリモートサーバに提供する。OOBエージェントが耐タンパー性tamperresistantを有するので、リモートサーバは、そのデータが何らかのマルウエアによって偽造されていないことを保証されてよい。いくつかの実施形態において、OOBエージェントは、データ記憶装置の暗号化エンジンが生成した認証メタデータauthenticationmetadataを読み込んでもよい。この認証メタデータは、データがデータ記憶装置から実際に読み出されたことを検証する目的で、OOBエージェントまたはリモートサーバのいずれかによって用いられてよい。最初に、図1を参照して、システム100の様々なハードウエア要素が以下に記載される。次に、図2および図3を参照して、システム100のソフトウエア/ファームウエア環境として採用しうる一実施形態、および、関連する安全性検査方法300が、以下に記載される。最後に、図4および図5を参照して、システム100のソフトウエア/ファームウエア環境として採用しうる他の実施形態、および、関連する安全性検査方法500が、以下に記載される。図1に関連して、リモートサーバ104からデータ記憶装置120のデータの安全性検査を提供するよう構成されたシステムの一例であるシステム100は、計算装置102と、リモートサーバ104と、計算装置102をリモートサーバ104と通信可能に結合するネットワーク106を含む。図1には、単一の計算装置102と、単一のリモートサーバ104と、単一のネットワーク106とが例示されているが、システム100に含まれる、類似または非類似のアーキテクチャの計算装置102、リモートサーバ104およびネットワーク106の数はいかなるものであってもよい。例えば、計算装置102は、1以上のネットワーク106を介して、複数のリモートサーバ104と通信してもよく、それぞれのリモートサーバ104は、1以上のネットワーク106を介して、複数の計算装置102と通信してよい。計算装置102は、本明細書に記載される機能を実行することができる電子デバイスであれば、いかなるタイプの電子デバイスとして実現されてもよい。一例として、計算装置102は、パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯型のインターネットデバイスmobileinternetdevice、携帯電話、PDApersonaldataassistant、テレフォニーデバイスtelephonydevice、ネットワーク接続機器networkappliance、仮想化デバイスvirtualizationdevice、ストレージコントローラまたはその他のコンピュータを利用したデバイスとして実現されてよい。図1に示された例示的な実施形態において、計算装置102は、インバンドプロセッサ110と、チップセット112と、システムメモリ114と、通信回路116と、一以上の入出力デバイス118と、データ記憶装置120とを含む。いくつかの実施形態において、上述の要素のいくつかは、計算装置102のマザーボード上に組み込まれてよく、その他の要素は、例えばペリフェラルポート経由で、マザーボードと通信可能に結合されてよい。さらに、当然のことながら、計算装置102は、その他の要素、サブコンポーネント、ならびに、コンピュータおよび/または計算装置においてよく見られるデバイスを含んでよい。なお、説明をわかりやすくする目的で、それらは、図1には記載されていない。計算装置102のインバンドプロセッサ110は、ソフトウエア/ファームウエアを実行することができるプロセッサであれば、いかなるタイプのプロセッサであってよく、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラまたはそれらと同様のものであってよい。インバンドプロセッサ110は、例えば、単一のプロセッサコア122を有するシングルコアプロセッサとして実現されてよい。しかしながら、他の実施形態において、インバンドプロセッサ110は、複数のプロセッサコア122を有するマルチコアプロセッサとして実現されてよい。加えて、計算装置102は、1以上のプロセッサコア122を有するインバンドプロセッサ110をさらに備えてもよい。インバンドプロセッサ110は、通常、ソフトウエアスタックを実行することができる。ソフトウエアスタックは、図2および図4に図示され、以下に記載されるように、計算装置102上に存在するオペレーティングシステム200、様々なアプリケーション、プログラム、ライブラリ、ドライバ202およびドライバ204を含んでよい。計算装置102のチップセット112は、メモリコントローラハブMCHまたはノースブリッジ、入出力コントローラハブICHまたはサウスブリッジ、および、ファームウエアデバイスを有してよい。チップセット112のファームウエアデバイスは、基本入出力システムBIOSおよび/または命令および/またはその他の情報例えば、計算装置102を起動する間に使用されるBIOSドライバを記憶するメモリデバイスとして実現されてよい。その他の実施形態において、その他の構成を有するチップセットが用いられてよい。例えば、いくつかの実施形態において、チップセット112は、プラットフォームコントローラハブPCHとして実現されてよい。そのような実施形態において、メモリコントローラハブMCHが、インバンドプロセッサ110の中に組み込まれる、または、その他の方法でインバンドプロセッサ110に結合されてもよく、図1において破線で示されているようにインバンドプロセッサ110が、システムメモリ114と直接通信してもよい。これらのいずれの構成においても、チップセット112は、アウトオブバンドOOBプロセッサ124を有してもよい。アウトオブバンドプロセッサ124は、以下に、より詳細に説明される。インバンドプロセッサ110は、多くの信号経路を経由して、チップセット112と通信可能に結合される。これらの信号経路および図1において説明されるその他の信号経路は、計算装置102の要素の間の通信を促進することができる信号経路であれば、いかなるタイプの信号経路として実現されてもよい。例えば、信号経路は、いかなる数のワイヤ、ケーブル、導光路lightguide、プリント配線基板の配線、ビア、バス、介在する装置interveningdeviceおよび/またはそれらと同様のものであってよい。計算装置102のシステムメモリ114は、多くの信号経路を経由して、チップセット112と通信可能に結合されてもよい。システムメモリ114は、1以上のメモリデバイスまたはデータ記憶番地datastoragelocationとして実現されてよい。1以上のメモリデバイスまたはデータ記憶番地は、例えば、ダイナミックランダムアクセスメモリデバイスDRAM、シンクロナスダイナミックランダムアクセスメモリデバイスSDRAM、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリデバイスDDRSDRAM、フラッシュメモリデバイスおよび/または他の揮発性メモリデバイスであってよい。加えて、図1には単一のシステムメモリ114のみが記載されているけれども、他の実施形態においては、計算装置102は複数のステムメモリデバイスをさらに備えてもよい。オペレーティングシステム200、アプリケーション、プログラム、ライブラリ、ドライバ202およびドライバ204は、インバンドプロセッサ110によって実行されるソフトウエアスタックを構成し、実行中、システムメモリ114の中に駐在してもよい。さらに、システムメモリ114の中に記憶されるソフトウエアおよびデータは、メモリ管理操作の一部として、システムメモリ114およびデータ記憶装置120の間で交換されてよい。計算装置102の通信回路116は、ネットワーク106を介して計算装置102とリモートサーバ104との間の通信を可能にするデバイスおよび回路であれば、いかなる数のデバイスおよび回路として実現されてもよい。ネットワーク106は、いかなるタイプの有線および/または無線のネットワークとして実現されてもよく、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、公衆が利用できるグローバルネットワーク例えば、インターネットまたはそれらのいかなる組合せであってもよい。さらに、ネットワーク106は、計算装置102とリモートサーバ104との間の通信を促進するデバイスであれば、いかなる数のデバイスであっても有してよい。上記デバイスは、例えば、ルータ、スイッチ、介在するコンピュータおよび/またはそれらと同様のものであってよい。通信回路116は、ネットワーク106の有線および/または無線の部分を介して通信を促進するfacilitate1以上の有線および/または無線のネットワークインターフェースを有してよい。通信回路116は、多数の信号経路を介してチップセット112と通信可能に結合され、インバンドプロセッサ110とOOBプロセッサ124との両方が、ネットワーク106にそれぞれ独立にアクセスできるようにしてよい。計算装置102の入出力デバイス118は、いかなる数の周辺装置peripheralまたはインターフェースデバイスを有してよい。説明のための実例として、入出力デバイス118は、計算装置102のディスプレイ、マウス、キーボードおよび/または1以上の外部スピーカを有してよい。入出力デバイス118に含まれる特定のデバイスは、例えば、計算装置102の目的とする用途次第であってよい。入出力デバイス118は、多数の信号経路を介してチップセット112と通信可能に結合されてよく、いくつかの実施形態においては、インバンドプロセッサ110および/またはチップセット112が、入出力デバイス118からの入力を受信したり、入出力デバイス118に出力を送信したりできるようにしてよい。計算装置102は、データ記憶装置DSD120を有してもよい。データ記憶装置120の一例は、短期間または長期間、データを記憶するよう構成されたデバイスであればどのようなものであってもよく、例えば、メモリデバイスおよび回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブまたはその他のデータ記憶装置であってよい。いくつかの実施形態において、DSD120は、DSD120が電力を供給されていないときも記憶されたデータを保持することができる不揮発性メモリを有してよい。加えて、図1には単一のDSD120のみが記載されているけれども、他の実施形態において、計算装置102は、データ記憶装置をさらに備えてよい。DSD120は、多数の信号経路を経由してチップセット112と通信可能に結合してよい。いくつかの実施形態において、DSD120は、周辺構成要素相互接続エクスプレスPCIeインターフェースまたはシリアルATアタッチメントSATAインターフェースのような高速シリアルリンクを経由してチップセット112と結合してよい。当然のことながら、DSD120とチップセット112との間の他のタイプのインターフェース例えば、パラレル信号経路も考えられる。図1の例示的な実施形態において、DSD120は、暗号化回路126を備えてよい。暗号化回路126は、図2に示すようにDSD120に、ハードウエアを利用した暗号化エンジン212を提供してよい。以下においてさらに記載されるように、暗号化回路126およびそれとともに実現される暗号化エンジン212は、DSD120が、DSD120から読み出されたデータに対応する認証メタデータをローカルで生成することを可能にしてよい。チップセット112は、アウトオブバンドOOBプロセッサ124を有してよい。アウトオブバンドプロセッサ124は、インバンドプロセッサ110とは異なるプロセッサであり、通常、インバンドプロセッサ110と独立して動作する。OOBプロセッサ124は、ソフトウエア/ファームウエアを実行することができるプロセッサであれば、いかなるタイプのプロセッサであってよく、例えば、マイクロプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラまたはそれらと同様のものであってよく、1以上のプロセッサコア図示しない。を含む1以上のプロセッサを有してよい。図1において、OOBプロセッサ124は、チップセット112に統合されているように説明されているけれども、他の実施形態において、OOBプロセッサ124は、多数の信号経路を経由してチップセット112と通信可能に結合されている拡張ボード上に配された1以上の別々の集積回路として実現されてもよい。いくつかの実施形態において、OOBプロセッサ124は、多数の信号経路を経由して、計算装置102の様々な要素例えば、システムメモリ114および通信回路116と独立して通信可能に結合されてよい。その代案として、または、それに加えて、OOBプロセッサ124は、専用メモリおよび/または専用通信回路図示されていないのような、類似の機能を有する組み込み要素builtincomponentを有してよい。OOBプロセッサ124は、計算装置102のインバンドプロセッサ110またはオペレーションシステム200の動作状態に関係なく、計算装置102の特定の機能を管理するように構成されている。そのような独立した動作を促進する目的で、OOBプロセッサ124は、計算装置102の電源回路図示されていない。に独立して接続されてよい。これにより、計算装置102の他の要素が出力を下げられたまたは電源を切られた場合であっても、OOBプロセッサ124は電力を保持することができる。さらに、OOBプロセッサ124は、通信回路116を経由して、1以上の独立したネットワークインターフェースを提供されてよい。通信回路116もまた、電源回路図示されていない。に独立して接続され、ネットワーク106を介して、アウトオブバンド通信を可能にする。言い換えれば、OOBプロセッサ124は、インバンドプロセッサ110上で動作しているオペレーションシステム200の外側へ、ネットワーク106上のデバイス例えば、リモートサーバ104と直接通信することができる。実際、この通信は、ユーザに認識されることなく実行されてよい。OOBプロセッサ124は、計算装置102を、オペレーションシステム200の起動を含む全出力運転状態に戻させることもできる。要約すれば、OOBプロセッサ124は、要求/コマンドの着信に基づいて、自動制御によってintelligently動作してよい。また、インバンドプロセッサ110の電源が切られているか、待機状態で実行しているか、初期化されているか、または、通常動作中であるのかどうか、および、オペレーションシステム200が起動しているか、実行しているか、クラッシュしているか、あるいはそうでないのかを、ネットワーク106上で通信してよい。いくつかの説明のための実施形態において、OOBプロセッサ124は、インテル登録商標アクティブマネジメントテクノロジインテル登録商標AMTもしくはインテル登録商標AMTの一部を用いて、または、インテル登録商標マネジメントエンジンインテル登録商標MEを用いて実現されてよい。これらは全て、カルフォルニア州サンタクララのインテルコーポレーションから入手できるものであってもよく、および/または、インテルコーポレーションによって販売されているチップセットに含まれるものであってもよい。インテルAMT登録商標の組み込みプラットフォーム技術embeddedplatformtechnologyは、エンドポイントデバイスendpointdeviceのそれぞれのハードウエアおよび非揮発性メモリに格納されたソフトウエア情報に、アウトオブバンドでアクセスすることを可能にする。インテルAMT登録商標の組み込みプラットフォーム技術embeddedplatformtechnologyによって、機能しているオペレーションシステムおよび他の管理ツールにおいて見られるような多くのソフトウエアエージェントが不要になる。リモートサーバ104は、計算装置102とは別の計算装置であれば、いかなる計算装置として実現されてよい。一例として、リモートサーバ104は、パーソナルコンピュータ、ワークステーション、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯型のインターネットデバイスmobileinternetdevice、携帯電話、PDApersonaldataassistant、テレフォニーデバイスtelephonydevice、ネットワーク接続機器networkappliance、仮想化デバイスvirtualizationdevice、ストレージコントローラ、または、ネットワーク106を介して、計算装置102と通信するよう構成されたその他のコンピュータを利用したデバイスとして実現されてよい。図1に示される説明のための実施形態において、リモートサーバ104は、プロセッサ130と、チップセット132と、システムメモリ134と、通信回路136と、1以上の大容量記憶装置138を備えるこれらのそれぞれは、計算装置102のインバンドプロセッサ110、チップセット112、システムメモリ114、通信回路116およびデータ記憶装置120のそれぞれと、同様の構成を有してよく、同様に動作してよい。。リモートサーバ104は、その他の構成を有してよく、および/または、図1に示されていないその他の要素例えば、1以上の入出力デバイスを有してもよいと考えられる。次に、図2を参照すると、システム100の計算装置102およびリモートサーバ104の上で動作するソフトウエア/ファームウエア環境に関する説明のための一実施形態が、簡略化されたブロック図として示されている。計算装置102のソフトウエアスタックは、オペレーションシステムOS200と、アドバンスドホストコントローラインターフェースAHCIドライバ202と、ファイルシステムおよびその他のフィルタドライバ204とを含むこれらのそれぞれは、インバンドプロセッサ110によって実行され、および/または、システムメモリ114の中またはDSD120上に格納されてよい。。OS200は、ユーザスペースリング3に存在してreside、計算装置102のユーザが、通常、交信するtypicallyinteract、よりハイレベルのアプリケーションを提供するhost。OS200は、AHCIドライバ202を含めて、カーネルリング0に存在するファイルシステムおよびフィルタドライバ204に対して、計算装置102のハードウエア要素例えば、DSD120にアクセスするよう要求する。当然のことながら、いくつかの実施形態において、OS200ならびに/またはドライバ202およびドライバ204を含むこれらのソフトウエアモジュールは、いかなるものであっても、ファームウエアまたはハードウエアの中に、部分的にまたは完全に組み入れられてよい。AHCIドライバ202は、DSD120のインターフェースモジュール210と互いに交信して、様々な読み込み/書き込み操作を実行するよう構成差荒れているので、図2においては、AHCIドライバ202と、ファイルシステムおよびその他のフィルタドライバ204とが別々に示されている。特に、AHCIドライバ202は、AHCIドライバ202によってDSDインターフェースモジュール210に送られる可能性のあるストレージ命令storagecommandのライブラリ206を含む。ライブラリ206に含まれるこれらのストレージ命令は、DSD120に対して、何らかの動作を実行させるための要求および/または命令である。例えば、DSD120が、PCIeインターフェースを経由して接続されたNANDフラッシュメモリデバイスである場合には、AHCIドライバ202は、DSD120に様々な読み込み/書き込み動作を実行させるストレージ命令のうち、NAND命令ライブラリ206を含んでよい。別の例として、DSD120が、SATAインターフェースを経由して接続されたソリッドステートドライブである場合には、AHCIドライバ202は、DSD120に様々な読み込み/書き込み動作を実行させるストレージ命令のうち、ATA命令ライブラリ206を含んでよい。上述の通り、AHCIドライバ202が、例えば、OS200によってDSD120中のある特定のcertain論理ブロックアドレスLBAのデータを読み出すことを要求されると、AHCIドライバ202は、ライブラリ206から適切なストレージ命令を選択し、このストレージ命令をDSD120に送信する。図2に示された説明のための実施形態は、AHCIドライバ202を用いて、DSDインターフェースモジュール210に対するインターフェースを実現しているけれども、DSD120にアクセスすることができる計算装置102のホストドライバであればすなわち、適切なストレージ命令ライブラリ206を有していれば、いかなるホストドライバであっても、AHCIドライバ202に追加して、または、AHCIドライバ202の代わりに用いることができると考えられる。いくつかの実施形態において、例えば、カルフォルニア州サンタクララのインテルコーポレーションから入手できる、インテル登録商標急速記憶テクノロジインテル登録商標RSTドライバが用いられてよい。図2の計算装置102は、DSDインターフェースモジュール210のような、DSD120上で実行される可能性のあるいくつかのファームウエアモジュールと、OOBプロセッサ124上で実行される可能性のあるOOBエージェント214とを有してもよい。それぞれ、DSD120のファームウエアおよびチップセット112のファームウエアの中に存在するように記載されているけれども、DSDインターフェースモジュール210およびOOBエージェント214は、それぞれ、追加的または代替的に、1以上のハードウエアおよび/またはソフトウエアモジュールとして実現されてもよい。上述の通り、DSDインターフェースモジュール210は、大抵、AHCIドライバ202または、その他のホストドライバからストレージ命令を受信して、DSD120を制御して、様々な動作例えば、読み込み/書き込み動作を実行させるように構成されている。DSDインターフェースモジュール210は、ハードウエアを利用した暗号化エンジン212を有してよい。暗号化エンジン212は、DSD120の暗号化回路126によって実行されるファームウエアまたはソフトウエアを含んでよい。いくつかの実施形態において、DSDインターフェースモジュール210は、暗号化エンジン212を用いて、AHCIドライバ202からの特定のストレージ命令または、ストレージ命令の特定のクラスもしくはカテゴリに応じて、DSD120から読み出されたデータに対応する認証メタデータを生成させるように構成されてよい。その他の実施形態において、暗号化エンジン212は、DSDインターフェースモジュール210によって受信された何らかのストレージ命令に応じて、DSD120から読み出されたデータに対応する認証メタデータを生成してよい。説明のための例として、暗号化エンジン212は、信頼できるコンピューティング団体TrustedComputingGroupによって公表されたオパールセキュリティサブシステムクラス標準に準拠するファームウエアの中に統合されてよい。DSD120の暗号化エンジン212によって生成された認証メタデータは、関連データの信頼性を検証するのに用いられる形態であれば、いかなる形態であってもよい。いくつかの実施形態において、暗号化エンジン212は、メッセージ認証符号MACを生成してよい。メッセージ認証符号は、DSD120から読み出されたデータに対する共有秘密鍵を用いる鍵付きハッシュ関数が適用されることにより、認証メタデータの中に含まれることになる。他のいかなる要素、デバイス、または、共通鍵を所有するユーザもまた、次に、そのデータに鍵付きハッシュ関数を再適用して、その出力を、認証メタデータに含まれるMACと比較する。追加的にまたは代替的に、暗号化エンジン212は、認証メタデータの中に含まれることになるカウンタ値例えば、タイムスタンプ、または、データがDSD120から読み出された時間を示すその他のトークンを生成してよい。他のいかなる要素、デバイス、または、ユーザは、次に、古いデータstaledataを含む反射攻撃から保護する目的で、データがDSD120から読み出されたはずである時間と比較してよい。その他の実施形態において、暗号化エンジン212は、DSD120から読み出されたデータに対する秘密鍵を用いる署名アルゴリズムを適用することによって認証メタデータに含まれることになる電子署名を生成してよい。他のいかなる要素、デバイス、または、秘密鍵に対応する公開鍵を所有するユーザは、次に、認証メタデータを用いて、署名検証アルゴリズムを適用してよい。さらに他の実施形態において、暗号化エンジン212は、いかなる数の暗号学的ハッシュ関数を用いて、認証メタデータを生成してよい。他の実施形態において、OOBエージェント214は、ハードウエア、ファームウエア、ソフトウエアまたはそれらのいかなる組み合わせとして実現されてもよいが、ホストドライバを介して、リモートサーバ104にDSD120へのアクセスを提供するOOBエージェント214は、図2の実施形態において、OOBプロセッサ124上で実行されるファームウエアモジュールとして説明される。OOBエージェント214は、大抵、いつも、リモートサーバ104によって利用でき、上述のOOBプロセッサ124の特性のおかげで、マルウエアによる改ざんに耐性を示す。OOBエージェント214は、リモートブロックリード/ライトモジュール216と、OOB通信モジュール218と、いくつかの実施形態において検証モジュール220とを有する。OOB通信モジュール218は、OOBエージェント214が、計算装置102の通信回路116の様々な部分を制御して、ネットワーク106を介して、リモートサーバ104との間でやりとりされる様々なネットワークメッセージの送受信を可能にする。リモートブロックリード/ライトモジュール216は、リモートサーバが、DSD120上の特定のLBAのデータを要求するためのインターフェースを提供する。OOB通信モジュール218を経由して、DSD120からデータを読むための要求が受信されると、リモートブロックリード/ライトモジュール216は、その要求を、インバンドプロセッサ110上で動作するAHCIドライバ202に転送する。リモートブロックリード/ライトモジュール216とAHCIドライバ202との間のこのメッセージは、ホストエンベッデッドコントローラーインターフェースHECI、または、OOBエージェント214とOS200との間で共有されるその他の何らかの記憶通信路memorychannelを用いて送信されてよい。AHCIドライバ202は、OOBエージェント214からのそのようなメッセージを受信して、AHCI202に指示して、ライブラリ206から適切なストレージ命令を選択して送信させるように構成されるアプリケーションプログラムインターフェースAPI208を有してよい。以下において、OOBエージェント214のいくつかの実施形態において含まれる検証モジュール220がより詳細に説明される。リモートサーバ104のソフトウエアスタックは、OS図示されていない。と、1以上のISVアプリケーション222と、リモートブロックリード/ライトドライバ224と、ファイルシステムおよびその他のフィルタドライバ226とを有するこれらのそれぞれは、プロセッサ130によって実行されてよく、および/または、システムメモリ132もしくは大容量記憶装置138に記憶されよい。。図2において説明されるように、リモートサーバ104は、DSD120の1以上のディスクイメージ228大容量記憶装置138に記憶される。を有してよい。計算装置102の場合と同様に、リモートサーバ104のOSユーザスペース中に存在する。は、例えば、ISVアプリケーション222のような、よりハイレベルのアプリケーションを提供するhost。1以上のISVアプリケーション222は、DSD120の安全性検査を要求する、記憶装置storage、セキュリティおよび/または監視に関するアプリケーションとして実現されてよい。1以上のISVアプリケーション222は、OSを経由してファイルシステムおよびフィルタドライバ226カーネル中に存在する。に対して、リモートサーバ104のハードウエア要素例えば、大容量記憶装置138にアクセスするよう要求してよい。例えば、ISVアプリケーション222は、ファイルシステムおよびフィルタドライバ226を経由して、大容量記憶装置138に格納されたディスクイメージ228にアクセスする。当然のことながら、いくつかの実施形態において、OS、ISVアプリケーション222および/またはドライバ226を含むこれらのソフトウエアモジュールは、部分的または完全に、ファームウエアまたはハードウエアに組み入れられてもよい。リモートブロックリード/ライトドライバ224は、リモートサーバ104が、ネット経由でremotely計算装置102のDSD120をマウントすることを可能にする。言い換えると、リモートブロックリード/ライトドライバ224は、計算装置102上で動作するOOBエージェント214と連動して、リモートサーバ104が、DSD120をマッピングした後、あたかもDSD120がリモートサーバ104のローカルのメモリデバイスに存在するかのように、DSD120にアクセスすることを可能にする。リモートサーバ104によってDSD120がマウントされると、リモートブロックリード/ライトドライバ224は、DSD120上の特定のLBAのデータを読み出すための要求を、OOBエージェントに送信してよい上述の通り、OOBエージェントは、その後、AHCIドライバ202に転送する。。要求されたデータが返されると、OOBエージェント214は、OOB通信モジュール218を用いて、このデータを何らかの関連する認証メタデータassociatedauthenticationmetadataと一緒に、リモートサーバ104のリモートブロックリード/ライトドライバ224に転送してよい。リモートブロックリード/ライトドライバ224は、その後、要求されたデータをISVアプリケーション222に提供してもよく、このデータをディスクイメージ228の一部として記憶してもよい。リモートブロックリード/ライトドライバ224は、関連する認証メタデータを用いてDSD120から読み出されたデータの信頼性を検証する検証モジュール230を有する。上述の通り、認証メタデータがMACを含む場合、検証モジュール230が、暗号化エンジン212によって使用された共有秘密鍵を所有していると仮定すると、検証モジュール230は、読み出されたデータにハッシュ関数を再適用して、その出力と、認証メタデータに含まれるMACとを比較してよい。追加的または代替的に、検証モジュール230は、認証メタデータ中のカウンタ値と、データがDSD120から読み出されたはずである時間とを比較して、反射攻撃から保護する。認証メタデータが電子署名を含む場合、検証モジュール230が、暗号化エンジン212によって使用された秘密鍵に対応する公開鍵を所有していると仮定すると、検証モジュール230は、認証メタデータを用いて、署名検証アルゴリズムを適用してよい。検証モジュール220は、いくつかの実施形態においてOOBエージェント214に含まれてよく、データをリモートサーバ104に送信する前に、実質的に同様の方法で、DSD120から読み出されたデータの信頼性を検証してよい。検証モジュール220を用いる実施形態においてはデータの信頼性はすでに検証されているので、、リモートブロックリード/ライトドライバ224から検証モジュール230が省略されてよく、OOBエージェント214が認証メタデータをリモートサーバ104に送信することを見合わせてもよい。OOBプロセッサ上で動作するOOBエージェント214と、DSD120上で動作する暗号化エンジン212のいくつかの特徴により、システム100は、リモートサーバ104から、計算装置102のDSD120の安全性検査を提供することができる。図3において説明されるとおり、計算装置102は、ネットワーク106を介して安全性検査を提供する方法300を実行するよう構成されている。一般に、方法300には、DSD120からの認証メタデータの検索retrievalが含まれる。認証メタデータの検索は、OOBエージェント214またはリモートサーバ104のリモートブロックリード/ライトドライバ224によって、DSD120から読み出されたデータの信頼性を検証するために用いられてよい。例えば、OOBプロセッサ124、インバンドプロセッサ110およびDSD120のハードウエアは、システム100のその他の要素と交信してよく、計算装置102のその他の要素と連動しながら、方法300を実行してよい。方法300は、いかなる目的に対しても、リモートサーバ104からのDSD120の安全性検査を可能にしてよい。上記の目的は限定されるものではないが、上記の目的には、ウイルス防止検査、マルウエア除去、システム修理、システムリイメージング、および、ファイル/フォルダへの安全なアクセスが含まれる。方法300は、まず、ブロック302から始まる。ブロック302において、OOBエージェント214は、リモートサーバ104によるDSD120のリモートマウントを確立する。DSD120のリモートマウントは、計算装置102またはリモートサーバ104のいずれかによって開始されてよい。リモートサーバを用いてデータ記憶装置をネット経由でマウントするプロセスの1つであって、方法300のブロック302において採用される可能性のあるプロセスが、現在係属中の米国特許出願12/475,216に開示されている。上記の米国特許出願は、2009年の5月29日に出願され、本出願の譲受人assigneeに委譲されている。本明細書に記載されるように、リモートブロックリード/ライトドライバ224が、DSD120のマスターブートレコードMBR、1以上のブートセクタおよび/または1以上のマスタファイルテーブルMFTsを要求して、OOBエージェント214が送信してよい。このデータ大容量記憶デバイス138上のディスクイメージ228の一部に記憶されてよい。は、リモートブロックリード/ライトドライバ224がDSD120をマッピングすることを可能にしてよい。DSD120からのデータが1以上のISVアプリケーション222によって要求されるときはいつでも、その後に、リモートブロックリード/ライトドライバ224が、DSD120のMBR、ブートセクタおよび/またはMFTsを用いて、OOBエージェント214からの要求に対するLBAを決定してよい。方法300のブロック304において、OOBエージェント214が、ネットワーク106を介して、リモートブロックリード/ライトドライバ224から、ブロック読み込み要求を受信する。OOBエージェント214は、OOB通信モジュール218を用いて、この要求を受信する。当然のことながら、OOBエージェント214は、持続する電力と、OOBプロセッサ124および通信回路116によって維持されているアウトオブバンドの通信チャネルとのおかげで、計算装置102のインバンドプロセッサ110が、OS200を実行していない、電力低減状態にあるまたは電源がオフの状態にあるときであっても、リモートサーバ104からのそのような要求を受信できる状態にある。説明のための実施形態はリモートサーバ104とOOBプロセッサ124との間で通信回路116および通信回路136を経由して、直接通信される場合について説明しているけれども、リモートサーバ104が、1以上のホストを利用したチャネル例えば、インバンドプロセッサ110およびOS200をも含む。を経由して、OOBプロセッサ124と通信してよいことも考えられる。ブロック306において、OOBエージェント214は、リモートブロックリード/ライトモジュール216を用いて、計算装置102のインバンドプロセッサ110上で動作している適切なホストドライバに対して、ブロック読み出し要求を転送する。インバンドプロセッサ110がOS200を実行しているときすなわち、OS200がすでに起動しているとき、上述のように、OOBエージェント214が、AHCIドライバ202に対して、ブロック読み出し要求を転送してよい。しかしながら、インバンドプロセッサ110が電力低減状態にあるもしくは電源がオフの状態にあるとき、または、OS200がまだ起動していないときには、その代わりに、リモートブロックリード/ライトモジュール216が、ブロック読み出し要求を、計算装置102のBIOSドライバに命令してよいBIOSドライバへのアクセスを与えるのに必要であれば、OOBプロセッサ124によって、計算装置102に電力が供給されてよい。。そのような実施形態において、OOBエージェント214は、計算装置102のOS200の状態に関わらず、リモートサーバ104にDSD120へのアクセスを提供してよい。ブロック308において、AHCIドライバ202またはその他のホストドライバが、認証ストレージ命令authenticationstoragecommandをDSDインターフェースモジュール210に送信する。AHCIドライバ202は、OOBエージェント214から転送されたブロック読み出し要求を受信すると、ライブラリ206から、適切なIOTCLメッセージを選択する。図2および図3の説明のための実施形態において、AHCIドライバが、OOBAPI208経由で読み出し要求を受信したときはいつでも、AHCIドライバは、要求されたデータを読み出すだけでなく、DSD120に認証メタデータをも生成させるストレージ命令を選択して送信する。このようにして、リモートブロックリード/ライトドライバ224に起因する全ての要求が認証メタデータをもたらすことになる。認証メタデータは、DSD120から読み出されたデータの信頼性を検証するのに用いられてよい。ブロック310において、DSDインターフェースモジュール210が、AHCI202からの認証ストレージ命令を受信したことに応じて、要求されたデータを、DSD120から読み出し、暗号化エンジン212を用いて、認証メタデータを生成する。認証メタデータは、上述したタイプのものであればいかなるものであってもよく、例えば、MAC、カウンタ値、電子署名、暗号化ハッシュ値および/またはそれらと同様のものであってよい。ブロック312において、DSDインターフェースモジュール210は、DSD120から読み出されたデータと、DSD120によって生成された認証メタデータとを、AHCI202に返す。ブロック314において、AHCI202は、そのデータと認証メタデータとを、OOBエージェント214のリモートブロックリード/ライトモジュール216に転送する。検証モジュール220を採用する実施形態において、方法300は、オプションのブロック316に進む。ブロック316において、OOBエージェント214が、DSD120によって生成された認証メタデータを用いて、DSD120から読み出したデータを検証する。DSD120から読み出されたデータの信頼性の検証は、上述されたいかなる方法を用いて実行されてもよい。オプションのブロック316の後または、検証モジュール220のない実施形態においては、ブロック314の後、方法300は、ブロック318に進む。ブロック318において、OOBエージェント214は、OOB通信モジュール218を用いて、ネットワーク106を介して、データおよび認証メタデータを、リモートブロックリード/ライトドライバ224に送信する。ブロック320は、オプションのブロック316を実施する実施形態においては、スキップされてよいけれども、ブロック320において、リモートブロックリード/ライトドライバ224は、認証モジュール230を使用して、認証メタデータを用いてデータを検証してよい。DSD120から読み出されたデータの信頼性の検証は、上述されたいかなる方法を用いて実行されてもよい。データが検証されると、リモートブロックリード/ライトドライバ224は、要求されたデータをISVアプリケーション222に提供してよい、および/または、ディスクイメージ228の一部として、このデータを記憶してよい。リモートブロックリード/ライトドライバ224が、ネットワーク106を介して、OOBエージェント214に別のブロック読み出し要求を送信した場合、方法300は、ブロック304に戻ってよいそれぞれのサイクルの間、ブロック302は、繰り返されなくてもよい。。次に、図4を参照すると、システム100の計算装置102およびリモートサーバ104上で動作するソフトウエア/ファームウエア環境の説明のための実施形態の他の例が、簡略化されたブロック図として示されている。図4の実施形態は、類似する参照番号を用いて表示される、図2と同様の要素およびモジュールを有してよい。これらの要素およびモジュールの動作は、以下で説明される動作を除いて、図2を参照して説明された要素およびモジュールの動作と、実質的に同様であってよい。例えば、DSDインターフェースモジュール210、OOBエージェント214およびリモートサーバ104のソフトウエアスタックOS、1以上のISVアプリケーション222、リモートブロックリード/ライトドライバ224ならびにファイルシステムおよびその他のフィルタドライバ226を含む。の動作は、これらのモジュールが暗号化エンジン212、検証モジュール220または検証モジュール230を有しないこと以外は、図2を参照して説明された要素およびモジュールと同様であってよい。この説明のための実施形態において、DSD120から読み出されたデータの信頼性が、メタデータを用いることなく保証される。図4に示すとおり、計算装置102のソフトウエアスタックは、OS200、AHCIドライバ202、ならびに、ファイルシステムおよびその他のフィルタドライバ204を含むそれらは、それぞれ、インバンドプロセッサ110によって実行される、および/または、システムメモリ114もしくはDSD120に記憶されてよい。。加えて、ソフトウエアスタックは、インバンドプロセッサ110上で動作するセキュアコンテナ400を含んでよい。セキュアコンテナ400は、安全なsecureメモリおよび/または実行空間executionspaceとして実現されてよい。すなわち、セキュアコンテナ400は、OS200から独立に維持され、ドライバ202およびドライバ204と結び付けられ、これらのソフトウエアモジュールに直接アクセスすることはできないこれにより、セキュアコンテナ400の安全性を維持することができる。。図4の説明のための実施形態において、AHCIドライバ202ではなく、セキュアコンテナ内で動作するホストドライバが、DSD120へのアクセスに対する直接的な責任を有する。OS200は、やはり、AHCIドライバ202を介して、DSD120に間接的にアクセスする。しかし、AHCIドライバ202は、チップセットファームウエア含まれる1以上のファームウエアフック402を信頼して、セキュアコンテナ400の中で動作するドライバに要求を渡す。セキュアコンテナ400の中で動作するドライバは、ストレージ命令ライブラリ206およびOOBAPI208図2において説明された実施形態のAHCI202のOOBAPIに類似する。を有する。この実施形態において、OOBエージェント214は、リモートサーバ104に、セキュアコンテナ400の中で動作するホストドライバを経由したDSD120へのアクセスを提供する。リモートブロックリード/ライトモジュール216およびOOB通信モジュール218は、リモートブロックリード/ライトモジュール216が、AHCI202ではなく、セキュアコンテナ400の中で動作するドライバのOOBAPI208に対して、ブロック読み出し要求を転送する点を除いて、上述のものと同様に機能する。OOBAPI208は、OOBエージェント214からのメッセージを受信し、ドライバに対して、ライブラリ206から適切なストレージ命令を選択して送信するよう指示するように構成される。DSD120から読み出されたデータは、ドライバに返され、OOBエージェント214に直接転送される。このデータ転送の間、OS200および関連するドライバ202およびドライバ204が迂回されてよいので、このセキュリティ上の懸念が除去され、DSD120が認証メタデータを生成する必要がない。インバンドプロセッサ110上で動作するセキュアコンテナ400と、OOBプロセッサ124上で動作するOOBエージェント214との特徴のいくつかにより、システム100は、リモートサーバ104からの計算装置102の安全性検査を提供することができる。図5において説明されるとおり、計算装置102は、ネットワーク106を介して、安全性検査を提供する方法500を実行するように構成されてよい。一般的に、方法500は、OOBエージェント214が、セキュアコンテナ400の中で動作するホストドライバと交信して、DSD120から読み出されたデータの信頼性を保証する段階を有する。例えば、OOBプロセッサ124、インバンドプロセッサ110およびDSD120のハードウエアは、システム100のその他の要素と交信してよく、計算装置102のその他の要素と連動しながら、方法500を実行してよい。方法500は、いかなる目的に対しても、リモートサーバ104からのDSD120の安全性検査を可能にしてよい。上記の目的は限定されるものではないが、上記の目的には、ウイルス防止検査、マルウエア除去、システム修理、システムリイメージング、および、ファイル/フォルダへの安全なアクセスが含まれる。方法500は、まず、ブロック502から始まる。ブロック502において、OOBエージェント214は、リモートサーバ104によるDSD120のリモートマウントを確立する。ブロック504において、OOBエージェント214が、ネットワーク106を介して、リモートブロックリード/ライトドライバ224から、ブロック読み込み要求を受信する。DSD120のリモートマウントの確立と、ブロック読み出し要求の受信は、大体、図3のブロック302およびブロック304を参照して説明されたように実行されてよい。ブロック506において、OOBエージェント214は、リモートブロックリード/ライトモジュール216を用いて、計算装置102のインバンドプロセッサ110上のセキュアコンテナ400の中で動作するホストドライバに、受信したブロック読み出し要求を転送する。ブロック508において、セキュアコンテナ400の中で動作するドライバは、DSDインターフェースモジュール210に、ストレージ命令を送信する。セキュアコンテナ400の中で動作するドライバは、OOBエージェント214から転送されたブロック読み出し要求を受信すると、ライブラリ206から、適切なIOTCLメッセージを選択する。ブロック510において、セキュアコンテナ400の中で動作するドライバからストレージ命令を受信したことに応じて、DSDインターフェースモジュール210が、要求されたデータをDSD120から読み出だす。ブロック512において、DSDインターフェースモジュール210が、ドライバに、DSD120から読み出されたデータを返す。ブロック514において、セキュアコンテナ400の中で動作するドライバが、データと認証メタデータとを、OOBエージェント214のリモートブロックリード/ライトモジュール216に転送する。方法500は、ブロック516で終了する。ブロック516において、OOBエージェント214は、OOB通信回路218を用いて、ネットワーク106を介して、リモートブロックリード/ライトドライバ224に、データを送信する。リモートブロックリード/ライトドライバ224が、ネットワーク106を介して、OOBエージェント214に別のブロック読み出し要求を送信した場合、方法500は、ブロック504に戻ってよいそれぞれのサイクルの間、ブロック502は、繰り返されなくてもよい。。開示が図解され、図面および上述の記載により詳細に説明された。しかし、そのような図および説明は、一例と考えられるべきであり、文字通りに制限するものと考えられるべきではない。単に説明のための実施形態が示され、説明されていると理解されるべきであり、開示の精神および添付の特許請求の範囲でカバーされる全ての変更および改良が、保護されるべきと理解されるべきである。"