システムのホストオペレーティングシステムから隔離された前記システムのグラフィックス装置のスプライトエンジンにランダムな文字列を供給する段階と、前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む段階と、前記ランダムな文字列の表示に対するレスポンスを受け取る段階と、前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記システムを使用していると判定する段階とを備えるコンピュータによって実行される方法。前記ホストオペレーティングシステムから隔離されたセキュアなパーティションで前記ランダムな文字列を生成する段階をさらに備える請求項1に記載の方法。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む段階は、前記ホストオペレーティングシステムによって提供されるユーザインターフェースに重ね合わせて前記ランダムな文字列を書き込む段階を有する請求項1または2に記載の方法。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む段階は、前記ランダムな文字列を平文cleartext形式で書き込む段階を有する請求項1から3のいずれか1項に記載の方法。前記スプライトエンジンに前記ランダムな文字列を供給する段階は、前記ホストオペレーティングシステムから隔離された相互接続interconnectionを介して前記スプライトエンジンに前記ランダムな文字列を供給する段階を有する請求項1から4のいずれか1項に記載の方法。少なくとも一つのプロセッサと、命令を含むメモリとを備えるシステムであって、前記命令は、システムのホストオペレーティングシステムから隔離された前記システムのグラフィックス装置のスプライトエンジンにランダムな文字列を供給する手順と、前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順と、前記ランダムな文字列の表示に対するレスポンスを受け取る手順と、前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記システムを使用していると判定する手順とを実行する命令であるシステム。前記命令は、前記ホストオペレーティングシステムから隔離されたセキュアなパーティションで前記ランダムな文字列を生成する手順をさらに実行する命令である請求項6に記載のシステム。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順は、前記ホストオペレーティングシステムによって提供されるユーザインターフェースに重ね合わせて前記ランダムな文字列を書き込む手順を有する請求項6または7に記載のシステム。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順は、前記ランダムな文字列を平文形式で書き込む手順を有する請求項6から8のいずれか1項に記載のシステム。前記スプライトエンジンに前記ランダムな文字列を供給する手順は、前記ホストオペレーティングシステムから隔離された相互接続を介して前記スプライトエンジンに前記ランダムな文字列を供給する手順を有する請求項6から9のいずれか1項に記載のシステム。コンピュータ可読記憶媒体と、前記コンピュータ可読記憶媒体に含まれる命令とを備えるコンピュータプログラム製品であって、前記命令は、処理システムで実行されると、前記処理システムに、システムのホストオペレーティングシステムから隔離された前記システムのグラフィックス装置のスプライトエンジンにランダムな文字列を供給する手順と、前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順と、前記ランダムな文字列の表示に対するレスポンスを受け取る手順と、前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記システムを使用していると判定する手順とを実行させるコンピュータプログラム製品。前記命令は、前記処理システムに、前記ホストオペレーティングシステムから隔離されたセキュアなパーティションで前記ランダムな文字列を生成する手順をさらに実行させる請求項11に記載のコンピュータプログラム製品。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順は、前記ホストオペレーティングシステムによって提供されるユーザインターフェースに重ね合わせて前記ランダムな文字列を書き込む手順を有する請求項11または12に記載のコンピュータプログラム製品。前記スプライトエンジンによって前記ランダムな文字列をディスプレイ装置に直接的に書き込む手順は、前記ランダムな文字列を平文形式で書き込む手順を有する請求項11から13のいずれか1項に記載のコンピュータプログラム製品。前記スプライトエンジンに前記ランダムな文字列を供給する手順は、前記ホストオペレーティングシステムから隔離された相互接続を介して前記スプライトエンジンに前記ランダムな文字列を供給する手順を有する請求項11から14のいずれか1項に記載のコンピュータプログラム製品。図1a、b、およびcは、CAPTCHA画像を示す表示スクリーンの例である。図1aは、歪曲画像を自動的に解読するアルゴリズムが開発されたために使用されなくなった初期の形態のCAPTCHA画像を示す。文字列を貫く傾斜線によって文字列の各文字への分解を自動化プログラムにとってより困難にした図1bは、人間による解読性が低下してはいるが、現在使用されているCAPTCHAの一形態である。文字が重なり合って捩れている図1cは、人間による解読がより一層困難になっているが、同じく、文字列の自動的解読が阻止されるように考案された別のCAPTCHA画像である。この例では、多義的なチャレンジも提示されており、左端の画像は、文字列kbpshともklopshとも読める。CAPTCHA解読アルゴリズムが高度になっていくにつれ、CAPTCHA画像は、人間にとって解読が困難になってきている。本明細書には、ハードウェアベースの人間存在検出を提供する方法、システム、およびコンピュータプログラム製品を記載する。ソフトウェアに頼ってCAPTCHA画像を表示するのでなく、ハードウェアとしてグラフィックス装置のスプライトエンジンを使用して、ディスプレイ装置にランダムな文字列を直接的に書き込む。スプライトエンジンはシステムのホストオペレーティングシステムから隔離されているので、ランダムな文字列は、ホストオペレーティングシステムの下で動作するソフトウェアロボットでは取得captureして処理することができない。一実施形態では、方法は、システムのホストオペレーティングシステムから隔離されたシステムのグラフィックス装置のスプライトエンジンにランダムな文字列を供給する段階と、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階と、ランダムな文字列の表示に対するレスポンスを受け取る段階と、レスポンスがランダムな文字列に一致している場合、人間のユーザがシステムを使用していると判定する段階とを備える。方法は、ホストオペレーティングシステムから隔離されたセキュアなパーティションにおいてランダムな文字列を生成する段階をさらに備えてよい。一実施形態では、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階は、ホストオペレーティングシステムが提供するユーザインターフェースに重ねて文字列を書き込む段階を有してよい。一実施形態では、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階は、ランダムな文字列を平文cleartext形式で書き込む段階を有してよい。一実施形態では、スプライトエンジンにランダムな文字列を供給する段階は、ホストオペレーティングシステムから隔離された相互接続interconnectionを介してスプライトエンジンにランダムな文字列を供給する段階を有する。図2は、ハードウェアベースの人間存在検出の例示的な実施形態の所定の観点を実装しうる適切なデータ処理環境10を示すブロック図である。データ処理環境10は、ここではプロセッサ110として示される一つ以上のプロセッサもしくは中央演算処理装置CPUを有する処理システム100を備える。プロセッサが一つだけ示されているが、単一のプロセッサまたは任意の複数の数のプロセッサによって処理システム100にプロセッサ機能を提供しうることは当業者には理解されよう。プロセッサ110は、シングルコアまたはマルチコアのプロセッサであってよい。プロセッサ110は、一つ以上のシステムバス、またはその他の通信経路もしくは媒体を介して、メモリ112を含むその他の多様なコンポーネントに通信可能に接続されるように示される。処理システム100は、キーボード、マウス等の従来の入力装置からの入力、および/または、別のマシンから受信した命令、生体認証フィードバック、もしくはその他の入力ソースもしくは信号によって、少なくとも部分的に制御される。処理システム100は、ディスプレイ装置182を介して出力を行ってよい。処理システム100は、たとえば、ネットワークコントローラ160、モデム、またはその他の通信ポートもしくは結合等のネットワークインターフェースコントローラNICを介して、データ処理環境10における一つ以上の遠隔データ処理システム不図示への一つ以上の接続を利用してよい。処理システム100は、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、イントラネット、インターネット等の物理的および/または論理的なネットワーク不図示により、これらの遠隔データ処理システムに相互接続されてよい。ネットワークによる通信では、無線周波数RF、衛星、マイクロ波、電気電子技術者協会IEEE802.11、ブルートゥース登録商標、光、赤外線、ケーブル、レーザ等の多様な有線および/または無線の短距離または長距離のキャリアおよびプロトコルを利用してよい。プロセッサ110は、デスクトップ管理インターフェースDMI111を介してチップセット120に接続される。チップセット120は、プロセッサ110とは独立して動作してプラットフォーム100の設定および動作を管理する組み込みマイクロプロセッサとして実装してよい管理エンジンME130を含む。一実施形態では、プロセッサ110は、ホストオペレーティングシステム113の命令で動作し、管理エンジンME130は、ホストオペレーティングシステム113がアクセスできないセキュアで隔離された環境を構成する。一実施形態では、管理エンジンME130は、ユーザを認証し、周辺機器へのアクセスを制御し、システム100のストレージ装置に記憶されたデータを保護する暗号化鍵を管理し、ネットワークコントローラ160を介してエンタプライズサービス170へのインターフェースを提供する。ME130とエンタプライズサービス170との間の通信は、帯域外通信チャネル171を介して実行される。管理エンジンME130は、図示の実施形態では、チップセット/セキュアパーティション120の内部に設けられるグラフィックスエンジン180にも接続される。ME130およびグラフィックスエンジン180は、両方とも、チップセット/セキュアパーティション120の内部に設けられ、ME130とグラフィックスエンジン180との通信は、ホストオペレーティングシステム113から隔離される。ME130とグラフィックスエンジン180との間の直接的な相互接続は、通信に使用され、チップセット内に存在するので、ホストオペレーティングシステム113から隔離される。グラフィックスエンジン180は、代替的に、プロセッサ110内に、または、プロセッサ110およびチップセット120の両方の外部に設けてよいことは当業者には理解されよう。このような実施形態でも、ME130とグラフィックスエンジン180との通信は、ホストオペレーティングシステム113から隔離される。この隔離は、たとえば、システム初期化の際に、プロセッサ110およびグラフィックスエンジン180のアドレス空間の一部として、メモリの異なる部分を割り当てることにより実現してよい。したがって、グラフィックスエンジン180に割り当てられるメモリの部分は、プロセッサ110上で動作するホストオペレーティングシステム113には不可視である。代替的に、ホストオペレーティングシステム113からの隔離は、ME130とグラフィックスエンジン180との間に直接的なハードウェア相互接続を設けることにより実現してもよい。システム100は、動的ランダムアクセスメモリDRAM112、チップセット120内の静的ランダムアクセスメモリSRAM122、およびフラッシュメモリ190等のメモリ装置をさらに有する。これらのメモリ装置は、ランダムアクセスメモリRAMおよび読み出し専用メモリROMを含んでよい。本開示の目的においては、ROMという用語は、一般的に、消去可能プログラム可能ROMEPROM、電気的消去可能プログラム可能ROMEEPROM、フラッシュROM、フラッシュメモリ等の不揮発性メモリ装置を指すべく用いられる。ストレージ装置152は、統合ドライブエレクトロニクスIDE規格のハードドライブ等の大容量ストレージ装置、および/または、フロッピー登録商標ディスク、光学式ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生体記憶等のその他の装置もしくは媒体であってよい。フラッシュメモリ190は、フラッシュインターフェース191を介してチップセット120によりアクセス可能である。フラッシュメモリ190は、システム100を初期化するのに使用されるファームウェアを含む。この初期化ファームウェアは、システムコンポーネントハードウェアたとえば、映像表示カードおよびハードディスク、および、管理エンジンME130を含むその他のいくつかのハードウェア装置を識別して初期化する基本入出力システムBIOSファームウェア192を含む。BIOSファームウェア192は、システム100のシステムコンポーネントハードウェアを周知の低性能状態で動作するように準備して、オペレーティングシステムを含む、多様な媒体上のその他のソフトウェアプログラムをロード、実行、およびプラットフォーム100で制御できるようにする。フラッシュメモリ190は、ネットワークコントローラ160を設定するネットワークコントローラファームウェア194、および、チップセット120を設定するチップセットファームウェア196も含む。フラッシュメモリ190は、データ領域198も含む。一実施形態では、データ領域198は、暗号化され、管理エンジンME130によってだけ読み出すことができる。プロセッサ110は、ビデオコントローラ、小型コンピュータシステムインターフェースSCSIコントローラ、ネットワークコントローラ、ストレージコントローラ、ユニバーサルシリアルバスUSBコントローラ、キーボード、マウス等の入力装置等の付加的なコンポーネントにも通信可能に接続されてよい。システム100は、多様なシステムコンポーネントに通信可能に接続するべく、メモリコントローラハブ、入出力I/Oコントローラハブ、PCIルートブリッジ等の一つ以上のブリッジまたはハブを有してもよい。本明細書で使用されるバスという用語は、ポイントツーポイント経路だけでなく、共通の通信経路を指すべく用いられうる。たとえば、ネットワークコントローラ160等のいくつかのコンポーネントは、バスと通信するためのインターフェースたとえば、PCIコネクタを持つアダプタカードとして実装されてよい。一実施形態では、プログラム可能またはプログラム不可能な論理デバイスもしくはアレイ、特定用途向け集積回路ASIC、組み込みコンピュータ、スマートカード等を用いて、一つ以上の装置を組み込みコントローラとして実装してよい。本明細書で使用される処理システムおよびデータ処理システムという用語は、単一のマシン、または、通信可能に接続された複数のマシンもしくは協働する複数の装置により構成されるシステムを広範に包含することが意図される。処理システムの例としては、限定としてではなく、分散型コンピュータシステム、スーパーコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クラインアント-サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、携帯情報端末PDA、ハンドヘルド装置、オーディオおよび/またはビデオ装置等の娯楽端末、および、情報を処理もしくは送信するその他の装置がある。図3は、本発明の一実施形態に係るハードウェアベースの人間存在検出における情報フローを示す図である。動作3.1では、ウェブブラウザ/ソフトウェアエージェント302は、人間の存在を検出する必要性を認識し、要求をソフトウェアエージェント/ブラウザプラグイン304に送信する。ウェブブラウザ/ソフトウェアエージェント302およびソフトウェアエージェント/ブラウザプラグイン304は、ホストオペレーティングシステム113により提供される環境で動作する。動作3.2では、ソフトウェアエージェント/ブラウザプラグイン304は、チップセット/セキュアパーティション320内の管理エンジン330と通信して、人間存在検出を実行するためのセキュア出力ウィンドウを表示するよう要求する。チップセット/セキュアパーティション320は、ホストオペレーティングシステム113により提供される環境から隔離され、管理エンジン330およびグラフィックスエンジン380の動作は、ホストオペレーティングシステム113の環境で動作するソフトウェアロボットから隔離される。ソフトウェアエージェント/ブラウザプラグイン304からの要求に応答して、管理エンジン330は、ランダムな文字列384を生成し、動作3.3で、ランダムな文字列384をグラフィックスエンジン380に供給する。ランダムな文字列384は、管理エンジン330とグラフィックスエンジン380との間の、ホストオペレーティングシステム113から隔離されたセキュアな相互接続を介して供給される。動作3.4では、グラフィックスエンジン380は、スプライトエンジン381を用いてランダムな文字列384をディスプレイ装置382上にセキュアに表示する。一実施形態では、スプライトエンジン381は、重ね合わせメカニズムを用い、ホストオペレーティングシステム113の下で動作するソフトウェアによりディスプレイ装置382上に設けられるユーザインターフェースに重なるようにランダムな文字列を表示する。この重ね合わせメカニズムは、スプライトエンジン381のハードウェアにより直接的に設けられるのであり、表示された情報は、ホストオペレーティングシステム113の下で動作するソフトウェアロボットによっては取得captureすることができない。システムのユーザは、ランダムな文字列384を解読し、キーボード306を用いてランダムな文字列に対応する文字列386を入力する。動作3.5では、ソフトウェアエージェント/ブラウザプラグイン304は、ユーザがキーボード306を用いて入力した文字列386を取得する。動作3.6で、ソフトウェアエージェント/ブラウザプラグイン304は、取得した文字列386を管理エンジン330に送信し、認証させる。動作3.7で、管理エンジンは、文字列386をランダムな文字列384に比較する。文字列386がランダムな文字列384に一致する場合、管理エンジン330は、文字列386は人間のユーザによって入力されたと判定し、人間の存在を認証する。文字列386がランダムな文字列384に一致しない場合、管理エンジン330は、人間は不在であると判定する。動作3.8で、ソフトウェアエージェント/ブラウザプラグイン304は、人間存在の判定をウェブブラウザ/ソフトウェアエージェント302に返す。本明細書に開示したメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェア、または、これらの実装手段の組み合わせによって実装してよい。本発明の実施形態は、少なくとも一つのプロセッサ、データストレージシステム揮発性および不揮発性のメモリおよび/またはストレージ要素を含む、少なくとも一つの入力装置、および少なくとも一つの出力装置を備えるプログラム可能なシステム上で実行されるコンピュータプログラムとして実装してよい。プログラムコードを入力データに適用して、本明細書に記載の機能を実行し、出力情報を生成してよい。本発明の実施形態は、本発明の動作を実行するための命令を含む、または、本明細書に記載の構造、回路、装置、プロセッサ、および/またはシステム特性を規定するHDL等の設計データを含む機械アクセス可能媒体も含む。このような実施形態も、プログラム製品と呼んでよい。このような機械アクセス可能媒体は、限定としてではなく、ハードディスク等の記憶媒体、フロッピー登録商標ディスク、光ディスク、コンパクトディスク読み出し専用メモリCD-ROM、書き換え可能コンパクトディスクCD-RW、および光磁気ディスク等のその他の種類のディスク、読み出し専用メモリROM、動的ランダムアクセスメモリDRAM、静的ランダムアクセスメモリSRAM等のランダムアクセスメモリRAM、消去可能プログラム可能読み出し専用メモリEPROM、プログラム可能フラッシュメモリFLASH、電気的消去可能プログラム可能読み出し専用メモリEEPROM等の半導体装置、磁気もしくは光カード、または、電子的命令を記憶するのに適したその他の任意の種類の媒体等の、マシンまたは装置により製造または形成される粒子の有形の配列tangiblearrangementsofparticlesを含んでよい。出力情報は、周知の態様で、一つ以上の出力装置に適用されてよい。本用途の目的においては、処理システムは、たとえば、デジタルシグナルプロセッサDSP、マイクロコントローラ、特定用途向け集積回路ASIC、もしくはマイクロプロセッサ等のプロセッサを備える任意のシステムを含む。プログラムは、処理システムと通信するべく、高レベル手続き型言語またはオブジェクト指向プログラミング言語で実装してよい。プログラムは、所望であれば、アセンブリ言語または機械語で実装してもよい。事実、本明細書に記載のメカニズムは、なんらかの特定のプログラミング言語にその範囲を限定されない。いずれにせよ、言語は、コンパイルまたはインタープリットされた言語であってよい。本明細書には、人間存在検出サービスを提供する方法およびシステムの実施形態を提示した。本発明の特定の実施形態を図示および記載したが、添付の特許請求の範囲から逸脱することなく、多様な変更、変形、および改変を加えることができることは当業者には明らかであろう。したがって、広範な観点において、本発明から逸脱することなく、変更および改変を加えることができることは当業者には理解されよう。添付の特許請求の範囲は、本発明の真の範囲および趣旨に含まれるこれらの変更、変形、および改変の全てをその範囲に包含するものである。