(57)【特許請求の範囲】
【請求項１】
コンピュータのユーザが人間であるかを判定する方法であって、
前記コンピュータのホストオペレーティングシステムから隔離された前記コンピュータのセキュアなパーティションに位置する前記コンピュータの管理エンジンが、ランダムな文字列を生成する段階と、
前記管理エンジンが、前記セキュアなパーティションのグラフィックスエンジンのスプライトエンジンに前記ランダムな文字列を供給する段階と、
前記スプライトエンジンが、前記セキュアなパーティションの外で前記ランダムな文字列の表示のために、前記ランダムな文字列を前記コンピュータのディスプレイ装置に直接的に書き込む段階と、
前記管理エンジンが、前記ランダムな文字列の前記表示に対するレスポンスを受け取る段階と、
前記管理エンジンが、前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記コンピュータを使用していると判定する段階と、
前記管理エンジンが、アウトオブバンド通信チャネルを介してエンタープライズサービスと通信する段階と、
を備え、
前記ホストオペレーティングシステムは前記コンピュータのプロセッサ上で動作し、
前記グラフィックスエンジンが前記プロセッサの内部に設けられ、
メモリの異なる領域が、アドレス空間の一部として前記グラフィックスエンジン及び前記ホストオペレーティングシステムに割り当てられる、
コンピュータによって実行される方法。
【請求項２】
前記ホストオペレーティングシステムが、前記セキュアなパーティションに前記レスポンスを転送する段階を更に備え、
前記判定する段階は、前記レスポンスが前記セキュアなパーティション内の前記ランダムな文字列に一致するか判定する段階を含む、
請求項１に記載の方法。
【請求項３】
前記ランダムな文字列をディスプレイ装置に直接的に書き込む段階は、前記ランダムな文字列を前記ホストオペレーティングシステムの下で動作するソフトウェアロボットが取得することができないように、前記スプライトエンジンが、前記ランダムな文字列を前記ホストオペレーティングシステムによって提供されるユーザインターフェースに重ね合わせる段階を有する請求項１又は２に記載の方法。
【請求項４】
前記ランダムな文字列をディスプレイ装置に直接的に書き込む段階は、前記スプライトエンジンが、前記ランダムな文字列を平文（ｃｌｅａｒ  ｔｅｘｔ）形式で書き込む段階を有する請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記スプライトエンジンに前記ランダムな文字列を供給する段階は、前記管理エンジンが、前記セキュアなパーティション内に含まれる相互接続（ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）を介して前記スプライトエンジンに前記ランダムな文字列を供給する段階を有する請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記コンピュータは、暗号化され、前記管理エンジンのみにより読み出されるデータ領域を含むフラッシュメモリを備える請求項１から５のいずれか１項に記載の方法。
【請求項７】
コンピュータのユーザが人間であるかを判定する装置であって、
前記コンピュータのホストオペレーティングシステムを動作させるプロセッサと、
前記コンピュータのホストオペレーティングシステムから隔離された前記コンピュータのセキュアなパーティションでランダムな文字列を生成する手段と、
前記セキュアなパーティションのグラフィックス装置のスプライトエンジンに前記ランダムな文字列を供給する手段と、
前記スプライトエンジンによって前記ランダムな文字列を前記コンピュータのディスプレイ装置に直接的に書き込み、前記ランダムな文字列を表示する手段と、
前記ランダムな文字列の表示に対するレスポンスを受け取る手段と、
前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記コンピュータを使用していると判定する手段と、
アウトオブバンド通信チャネルを介してエンタープライズサービスと通信する手段と、
を備え、
前記グラフィックス装置は、前記プロセッサの内部に設けられ、
メモリの異なる領域が、アドレス空間の一部として前記グラフィックス装置及び前記ホストオペレーティングシステムに割り当てられる、
装置。
【請求項８】
前記セキュアなパーティションに前記レスポンスを転送する手段を更に備え、
前記判定する手段は、前記レスポンスが前記セキュアなパーティション内の前記ランダムな文字列に一致するか判定する手段を含む、
請求項７に記載の装置。
【請求項９】
前記ランダムな文字列を前記ホストオペレーティングシステムの下で動作するソフトウェアロボットが取得することができないように、前記ホストオペレーティングシステムによって提供されるユーザインターフェースに重ね合わせて前記ランダムな文字列を書き込む手段をさらに備える請求項７又は８に記載の装置。
【請求項１０】
前記ランダムな文字列を平文形式で書き込む手段をさらに備える請求項７から９のいずれか１項に記載の装置。
【請求項１１】
前記セキュアなパーティション内の相互接続を介して前記スプライトエンジンに前記ランダムな文字列を供給する手段をさらに備える請求項７から１０のいずれか１項に記載の装置。
【請求項１２】
管理エンジンにより、前記生成する手段、前記供給する手段、前記受け取る手段、及び、前記判定する手段が実現され、
前記コンピュータは、暗号化され、前記管理エンジンのみにより読み出されるデータ領域を含むフラッシュメモリを備える請求項７から１１のいずれか１項に記載の装置。
【請求項１３】
コンピュータのユーザが人間であるかを判定するコンピュータであって、
ホストオペレーティングシステムを動作させるプロセッサと、
前記プロセッサに接続され、スプライトエンジンを有し、前記コンピュータの前記ホストオペレーティングシステムから隔離されたセキュアなパーティションに位置するグラフィックデバイスと、
前記グラフィックデバイス及び前記プロセッサに接続されるディスプレイ装置と、
前記グラフィックデバイス及び少なくとも１つの前記プロセッサに接続され、前記セキュアなパーティションに位置する管理エンジンであって、ランダムな文字列を生成し、前記スプライトエンジンに前記ランダムな文字列を前記ディスプレイ装置に直接的に書き込ませて前記ランダムな文字列を表示するために、前記ランダムな文字列を前記スプライトエンジンに供給し、前記ランダムな文字列の表示に対するレスポンスを受け取り、前記レスポンスが前記ランダムな文字列に一致する場合、人間のユーザが前記コンピュータを使用していると判定し、アウトオブバンド通信チャネルを介してエンタープライズサービスと通信する前記管理エンジンと、
を備え、
前記グラフィックデバイスが前記プロセッサの内部に設けられ、
メモリの異なる領域が、アドレス空間の一部として前記グラフィックデバイス及び前記ホストオペレーティングシステムに割り当てられる、
コンピュータ。
【請求項１４】
前記ランダムな文字列を前記ホストオペレーティングシステムの下で動作するソフトウェアロボットが取得することができないように、前記スプライトエンジンは、前記ホストオペレーティングシステムによって提供されるユーザインターフェースのオーバレイとして前記ランダムな文字列を書き込む、請求項１３に記載のコンピュータ。
【請求項１５】
前記スプライトエンジンは、前記ランダムな文字列を平文形式で書き込む請求項１３又は１４に記載のコンピュータ。
【請求項１６】
前記管理エンジンは、前記セキュアなパーティションに含まれる相互接続を介して前記スプライトエンジンに前記ランダムな文字列を供給する請求項１３から１５のいずれか１項に記載のコンピュータ。
【請求項１７】
前記コンピュータは、暗号化され、前記管理エンジンのみにより読み出されるデータ領域を含むフラッシュメモリを備える請求項１３から１６のいずれか１項に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般的に、コンピュータユーザインターフェース用の人間存在検出に関する。
【０００２】
[著作権情報]
本明細書には、著作権保護を受ける情報が含まれる。著作権所有者は、米国特許商標庁の特許ファイルもしくはレコードに記録された通りに本特許の開示内容が何人により複製されようと異議を申し立てないが、著作権に関するその他のあらゆる権利を保有する。
【背景技術】
【０００３】
ＣＡＰＴＣＨＡもしくはＣａｐｔｃｈａは、コンピューティングにおいて、レスポンスがコンピュータにより生成されないようにするべく使用される一種のチャレンジ−レスポンス試験である。ＣＡＰＴＣＨＡプロセスでは、通常、一つのコンピュータ（サーバ）が、当該コンピュータが生成かつ採点することができる簡単な試験を解くようユーザに要求する。その他のコンピュータではＣＡＰＴＣＨＡを解くことができないので、正答を入力したいかなるユーザも、人間であると推定される。したがって、機械により実行され人間を対象とするので、通常は人間により実行され機械を対象とする標準のチューリングテストと比較して、逆チューリングテストと記載されることもある。通常のＣＡＰＴＣＨＡでは、ユーザは、スクリーンに現れる歪曲した画像に含まれる文字または数字を入力するよう要求される。ＣＡＰＴＣＨＡの例を図１（ａ）、（ｂ）、および（ｃ）に示す。
【０００４】
「ＣＡＰＴＣＨＡ」という語（ｃａｐｔｕｒｅという語に基づく）は、Ｌｕｉｓ  ｖｏｎ  Ａｈｎ、Ｍａｎｕｅｌ  Ｂｌｕｍ、Ｎｉｃｈｏｌａｓ  Ｊ．Ｈｏｐｐｅｒ、およびＪｏｈｎ  Ｌａｎｇｆｏｒｄ（全員、カーネギーメロン大学）により２０００年に造語された。ＣＡＰＴＣＨＡは、「コンピュータと人間とを識別するための完全に自動化された公開チューリングテスト（Ｃｏｍｐｌｅｔｅｌｙ  Ａｕｔｏｍａｔｅｄ  Ｐｕｂｌｉｃ  Ｔｕｒｉｎｇ  ｔｅｓｔ  ｔｏ  ｔｅｌｌ  Ｃｏｍｐｕｔｅｒｓ  ａｎｄ  Ｈｕｍａｎｓ  Ａｐａｒｔ）を表すよう考案された頭字語である。
【０００５】
ＣＡＰＴＣＨＡは、悪用または資源の枯渇のいずれが原因であっても、自動化ソフトウェアに、あるシステムのサービス品質を低下させる動作を実行させないようにするために使用される。ＣＡＰＴＣＨＡは、Ｇメール、ホットメール、ヤフーメール等のウェブメールサービスによるｅメールスパム攻撃を受けやすいシステムを保護するために配備することができる。ＣＡＰＴＣＨＡは、商業的プロモーション、ハラスメント、もしくは荒らし行為のいずれによるものであるかに拘らず、ブログ、フォーラム、およびウィキへの自動的投稿を停止するべく使用されることもある。
【図面の簡単な説明】
【０００６】
【図１】（ａ）、（ｂ）、および（ｃ）は、ＣＡＰＴＣＨＡ画像を示す表示スクリーンの例である。
【図２】ハードウェアベースの人間存在検出の例示的実施形態の所定の観点を実装しうる適切なデータ処理環境を示すブロック図である。
【図３】本発明の一実施形態に係るハードウェアベースの人間存在検出における情報フローを示す図である。
【発明を実施するための形態】
【０００７】
図１（ａ）、（ｂ）、および（ｃ）は、ＣＡＰＴＣＨＡ画像を示す表示スクリーンの例である。図１（ａ）は、歪曲画像を自動的に解読するアルゴリズムが開発されたために使用されなくなった初期の形態のＣＡＰＴＣＨＡ画像を示す。文字列を貫く傾斜線によって文字列の各文字への分解を自動化プログラムにとってより困難にした図１（ｂ）は、人間による解読性が低下してはいるが、現在使用されているＣＡＰＴＣＨＡの一形態である。文字が重なり合って捩れている図１（ｃ）は、人間による解読がより一層困難になっているが、同じく、文字列の自動的解読が阻止されるように考案された別のＣＡＰＴＣＨＡ画像である。この例では、多義的なチャレンジも提示されており、左端の画像は、文字列「ｋｂｐｓｈ」とも「ｋｌｏｐｓｈ」とも読める。ＣＡＰＴＣＨＡ解読アルゴリズムが高度になっていくにつれ、ＣＡＰＴＣＨＡ画像は、人間にとって解読が困難になってきている。
【０００８】
本明細書には、ハードウェアベースの人間存在検出を提供する方法、システム、およびコンピュータプログラム製品を記載する。ソフトウェアに頼ってＣＡＰＴＣＨＡ画像を表示するのでなく、ハードウェアとしてグラフィックス装置のスプライトエンジンを使用して、ディスプレイ装置にランダムな文字列を直接的に書き込む。スプライトエンジンはシステムのホストオペレーティングシステムから隔離されているので、ランダムな文字列は、ホストオペレーティングシステムの下で動作するソフトウェアロボットでは取得（ｃａｐｔｕｒｅ）して処理することができない。
【０００９】
一実施形態では、方法は、システムのホストオペレーティングシステムから隔離されたシステムのグラフィックス装置のスプライトエンジンにランダムな文字列を供給する段階と、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階と、ランダムな文字列の表示に対するレスポンスを受け取る段階と、レスポンスがランダムな文字列に一致している場合、人間のユーザがシステムを使用していると判定する段階とを備える。方法は、ホストオペレーティングシステムから隔離されたセキュアなパーティションにおいてランダムな文字列を生成する段階をさらに備えてよい。一実施形態では、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階は、ホストオペレーティングシステムが提供するユーザインターフェースに重ねて文字列を書き込む段階を有してよい。一実施形態では、スプライトエンジンによりランダムな文字列をディスプレイ装置に直接的に書き込む段階は、ランダムな文字列を平文（ｃｌｅａｒ  ｔｅｘｔ）形式で書き込む段階を有してよい。一実施形態では、スプライトエンジンにランダムな文字列を供給する段階は、ホストオペレーティングシステムから隔離された相互接続（ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）を介してスプライトエンジンにランダムな文字列を供給する段階を有する。
【００１０】
図２は、ハードウェアベースの人間存在検出の例示的な実施形態の所定の観点を実装しうる適切なデータ処理環境１０を示すブロック図である。データ処理環境１０は、ここではプロセッサ１１０として示される一つ以上のプロセッサもしくは中央演算処理装置（ＣＰＵ）を有する処理システム１００を備える。プロセッサが一つだけ示されているが、単一のプロセッサまたは任意の複数の数のプロセッサによって処理システム１００にプロセッサ機能を提供しうることは当業者には理解されよう。プロセッサ１１０は、シングルコアまたはマルチコアのプロセッサであってよい。プロセッサ１１０は、一つ以上のシステムバス、またはその他の通信経路もしくは媒体を介して、メモリ１１２を含むその他の多様なコンポーネントに通信可能に接続されるように示される。
【００１１】
処理システム１００は、キーボード、マウス等の従来の入力装置からの入力、および／または、別のマシンから受信した命令、生体認証フィードバック、もしくはその他の入力ソースもしくは信号によって、少なくとも部分的に制御される。処理システム１００は、ディスプレイ装置１８２を介して出力を行ってよい。処理システム１００は、たとえば、ネットワークコントローラ１６０、モデム、またはその他の通信ポートもしくは結合等のネットワークインターフェースコントローラ（ＮＩＣ）を介して、データ処理環境１０における一つ以上の遠隔データ処理システム（不図示）への一つ以上の接続を利用してよい。処理システム１００は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イントラネット、インターネット等の物理的および／または論理的なネットワーク（不図示）により、これらの遠隔データ処理システムに相互接続されてよい。ネットワークによる通信では、無線周波数（ＲＦ）、衛星、マイクロ波、電気電子技術者協会（ＩＥＥＥ）８０２．１１、ブルートゥース（登録商標）、光、赤外線、ケーブル、レーザ等の多様な有線および／または無線の短距離または長距離のキャリアおよびプロトコルを利用してよい。
【００１２】
プロセッサ１１０は、デスクトップ管理インターフェース（ＤＭＩ）１１１を介してチップセット１２０に接続される。チップセット１２０は、プロセッサ１１０とは独立して動作してプラットフォーム１００の設定および動作を管理する組み込みマイクロプロセッサとして実装してよい管理エンジン（ＭＥ）１３０を含む。一実施形態では、プロセッサ１１０は、ホストオペレーティングシステム１１３の命令で動作し、管理エンジン（ＭＥ）１３０は、ホストオペレーティングシステム１１３がアクセスできないセキュアで隔離された環境を構成する。一実施形態では、管理エンジン（ＭＥ）１３０は、ユーザを認証し、周辺機器へのアクセスを制御し、システム１００のストレージ装置に記憶されたデータを保護する暗号化鍵を管理し、ネットワークコントローラ１６０を介してエンタプライズサービス１７０へのインターフェースを提供する。ＭＥ１３０とエンタプライズサービス１７０との間の通信は、帯域外通信チャネル１７１を介して実行される。
【００１３】
管理エンジン（ＭＥ）１３０は、図示の実施形態では、チップセット／セキュアパーティション１２０の内部に設けられるグラフィックスエンジン１８０にも接続される。ＭＥ１３０およびグラフィックスエンジン１８０は、両方とも、チップセット／セキュアパーティション１２０の内部に設けられ、ＭＥ１３０とグラフィックスエンジン１８０との通信は、ホストオペレーティングシステム１１３から隔離される。ＭＥ１３０とグラフィックスエンジン１８０との間の直接的な相互接続は、通信に使用され、チップセット内に存在するので、ホストオペレーティングシステム１１３から隔離される。
【００１４】
グラフィックスエンジン１８０は、代替的に、プロセッサ１１０内に、または、プロセッサ１１０およびチップセット１２０の両方の外部に設けてよいことは当業者には理解されよう。このような実施形態でも、ＭＥ１３０とグラフィックスエンジン１８０との通信は、ホストオペレーティングシステム１１３から隔離される。この隔離は、たとえば、システム初期化の際に、プロセッサ１１０およびグラフィックスエンジン１８０のアドレス空間の一部として、メモリの異なる部分を割り当てることにより実現してよい。したがって、グラフィックスエンジン１８０に割り当てられるメモリの部分は、プロセッサ１１０上で動作するホストオペレーティングシステム１１３には不可視である。代替的に、ホストオペレーティングシステム１１３からの隔離は、ＭＥ１３０とグラフィックスエンジン１８０との間に直接的なハードウェア相互接続を設けることにより実現してもよい。
【００１５】
システム１００は、動的ランダムアクセスメモリ（ＤＲＡＭ）１１２、チップセット１２０内の静的ランダムアクセスメモリ（ＳＲＡＭ）１２２、およびフラッシュメモリ１９０等のメモリ装置をさらに有する。これらのメモリ装置は、ランダムアクセスメモリ（ＲＡＭ）および読み出し専用メモリ（ＲＯＭ）を含んでよい。本開示の目的においては、「ＲＯＭ」という用語は、一般的に、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュＲＯＭ、フラッシュメモリ等の不揮発性メモリ装置を指すべく用いられる。ストレージ装置１５２は、統合ドライブエレクトロニクス（ＩＤＥ）規格のハードドライブ等の大容量ストレージ装置、および／または、フロッピー（登録商標）ディスク、光学式ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生体記憶等のその他の装置もしくは媒体であってよい。
【００１６】
フラッシュメモリ１９０は、フラッシュインターフェース１９１を介してチップセット１２０によりアクセス可能である。フラッシュメモリ１９０は、システム１００を初期化するのに使用されるファームウェアを含む。この初期化ファームウェアは、システムコンポーネントハードウェア（たとえば、映像表示カードおよびハードディスク）、および、管理エンジン（ＭＥ）１３０を含むその他のいくつかのハードウェア装置を識別して初期化する基本入出力システム（ＢＩＯＳ）ファームウェア１９２を含む。ＢＩＯＳファームウェア１９２は、システム１００のシステムコンポーネントハードウェアを周知の低性能状態で動作するように準備して、オペレーティングシステムを含む、多様な媒体上のその他のソフトウェアプログラムをロード、実行、およびプラットフォーム１００で制御できるようにする。
【００１７】
フラッシュメモリ１９０は、ネットワークコントローラ１６０を設定するネットワークコントローラファームウェア１９４、および、チップセット１２０を設定するチップセットファームウェア１９６も含む。フラッシュメモリ１９０は、データ領域１９８も含む。一実施形態では、データ領域１９８は、暗号化され、管理エンジン（ＭＥ）１３０によってだけ読み出すことができる。
【００１８】
プロセッサ１１０は、ビデオコントローラ、小型コンピュータシステムインターフェース（ＳＣＳＩ）コントローラ、ネットワークコントローラ、ストレージコントローラ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、キーボード、マウス等の入力装置等の付加的なコンポーネントにも通信可能に接続されてよい。システム１００は、多様なシステムコンポーネントに通信可能に接続するべく、メモリコントローラハブ、入出力（Ｉ／Ｏ）コントローラハブ、ＰＣＩルートブリッジ等の一つ以上のブリッジまたはハブを有してもよい。本明細書で使用される「バス」という用語は、ポイントツーポイント経路だけでなく、共通の通信経路を指すべく用いられうる。
【００１９】
たとえば、ネットワークコントローラ１６０等のいくつかのコンポーネントは、バスと通信するためのインターフェース（たとえば、ＰＣＩコネクタ）を持つアダプタカードとして実装されてよい。一実施形態では、プログラム可能またはプログラム不可能な論理デバイスもしくはアレイ、特定用途向け集積回路（ＡＳＩＣ）、組み込みコンピュータ、スマートカード等を用いて、一つ以上の装置を組み込みコントローラとして実装してよい。
【００２０】
本明細書で使用される「処理システム」および「データ処理システム」という用語は、単一のマシン、または、通信可能に接続された複数のマシンもしくは協働する複数の装置により構成されるシステムを広範に包含することが意図される。処理システムの例としては、限定としてではなく、分散型コンピュータシステム、スーパーコンピュータ、高性能コンピューティングシステム、コンピューティングクラスタ、メインフレームコンピュータ、ミニコンピュータ、クラインアント−サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、携帯情報端末（ＰＤＡ）、ハンドヘルド装置、オーディオおよび／またはビデオ装置等の娯楽端末、および、情報を処理もしくは送信するその他の装置がある。
【００２１】
図３は、本発明の一実施形態に係るハードウェアベースの人間存在検出における情報フローを示す図である。動作３．１では、ウェブブラウザ／ソフトウェアエージェント３０２は、人間の存在を検出する必要性を認識し、要求をソフトウェアエージェント／ブラウザプラグイン３０４に送信する。ウェブブラウザ／ソフトウェアエージェント３０２およびソフトウェアエージェント／ブラウザプラグイン３０４は、ホストオペレーティングシステム１１３により提供される環境で動作する。動作３．２では、ソフトウェアエージェント／ブラウザプラグイン３０４は、チップセット／セキュアパーティション３２０内の管理エンジン３３０と通信して、人間存在検出を実行するためのセキュア出力ウィンドウを表示するよう要求する。チップセット／セキュアパーティション３２０は、ホストオペレーティングシステム１１３により提供される環境から隔離され、管理エンジン３３０およびグラフィックスエンジン３８０の動作は、ホストオペレーティングシステム１１３の環境で動作するソフトウェアロボットから隔離される。
【００２２】
ソフトウェアエージェント／ブラウザプラグイン３０４からの要求に応答して、管理エンジン３３０は、ランダムな文字列３８４を生成し、動作３．３で、ランダムな文字列３８４をグラフィックスエンジン３８０に供給する。ランダムな文字列３８４は、管理エンジン３３０とグラフィックスエンジン３８０との間の、ホストオペレーティングシステム１１３から隔離されたセキュアな相互接続を介して供給される。
【００２３】
動作３．４では、グラフィックスエンジン３８０は、スプライトエンジン３８１を用いてランダムな文字列３８４をディスプレイ装置３８２上にセキュアに表示する。一実施形態では、スプライトエンジン３８１は、重ね合わせメカニズムを用い、ホストオペレーティングシステム１１３の下で動作するソフトウェアによりディスプレイ装置３８２上に設けられるユーザインターフェースに重なるようにランダムな文字列を表示する。この重ね合わせメカニズムは、スプライトエンジン３８１のハードウェアにより直接的に設けられるのであり、表示された情報は、ホストオペレーティングシステム１１３の下で動作するソフトウェアロボットによっては取得（ｃａｐｔｕｒｅ）することができない。システムのユーザは、ランダムな文字列３８４を解読し、キーボード３０６を用いてランダムな文字列に対応する文字列３８６を入力する。
【００２４】
動作３．５では、ソフトウェアエージェント／ブラウザプラグイン３０４は、ユーザがキーボード３０６を用いて入力した文字列３８６を取得する。動作３．６で、ソフトウェアエージェント／ブラウザプラグイン３０４は、取得した文字列３８６を管理エンジン３３０に送信し、認証させる。動作３．７で、管理エンジンは、文字列３８６をランダムな文字列３８４に比較する。文字列３８６がランダムな文字列３８４に一致する場合、管理エンジン３３０は、文字列３８６は人間のユーザによって入力されたと判定し、人間の存在を認証する。文字列３８６がランダムな文字列３８４に一致しない場合、管理エンジン３３０は、人間は不在であると判定する。動作３．８で、ソフトウェアエージェント／ブラウザプラグイン３０４は、人間存在の判定をウェブブラウザ／ソフトウェアエージェント３０２に返す。
【００２５】
本明細書に開示したメカニズムの実施形態は、ハードウェア、ソフトウェア、ファームウェア、または、これらの実装手段の組み合わせによって実装してよい。本発明の実施形態は、少なくとも一つのプロセッサ、データストレージシステム（揮発性および不揮発性のメモリおよび／またはストレージ要素を含む）、少なくとも一つの入力装置、および少なくとも一つの出力装置を備えるプログラム可能なシステム上で実行されるコンピュータプログラムとして実装してよい。
【００２６】
プログラムコードを入力データに適用して、本明細書に記載の機能を実行し、出力情報を生成してよい。本発明の実施形態は、本発明の動作を実行するための命令を含む、または、本明細書に記載の構造、回路、装置、プロセッサ、および／またはシステム特性を規定するＨＤＬ等の設計データを含む機械アクセス可能媒体も含む。このような実施形態も、プログラム製品と呼んでよい。
【００２７】
このような機械アクセス可能媒体は、限定としてではなく、ハードディスク等の記憶媒体、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、および光磁気ディスク等のその他の種類のディスク、読み出し専用メモリ（ＲＯＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）等のランダムアクセスメモリ（ＲＡＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、プログラム可能フラッシュメモリ（ＦＬＡＳＨ）、電気的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ）等の半導体装置、磁気もしくは光カード、または、電子的命令を記憶するのに適したその他の任意の種類の媒体等の、マシンまたは装置により製造または形成される粒子の有形の配列（ｔａｎｇｉｂｌｅ  ａｒｒａｎｇｅｍｅｎｔｓ  ｏｆ  ｐａｒｔｉｃｌｅｓ）を含んでよい。
【００２８】
出力情報は、周知の態様で、一つ以上の出力装置に適用されてよい。本用途の目的においては、処理システムは、たとえば、デジタルシグナルプロセッサ（ＤＳＰ）、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、もしくはマイクロプロセッサ等のプロセッサを備える任意のシステムを含む。
【００２９】
プログラムは、処理システムと通信するべく、高レベル手続き型言語またはオブジェクト指向プログラミング言語で実装してよい。プログラムは、所望であれば、アセンブリ言語または機械語で実装してもよい。事実、本明細書に記載のメカニズムは、なんらかの特定のプログラミング言語にその範囲を限定されない。いずれにせよ、言語は、コンパイルまたはインタープリットされた言語であってよい。
【００３０】
本明細書には、人間存在検出サービスを提供する方法およびシステムの実施形態を提示した。本発明の特定の実施形態を図示および記載したが、添付の特許請求の範囲から逸脱することなく、多様な変更、変形、および改変を加えることができることは当業者には明らかであろう。したがって、広範な観点において、本発明から逸脱することなく、変更および改変を加えることができることは当業者には理解されよう。添付の特許請求の範囲は、本発明の真の範囲および趣旨に含まれるこれらの変更、変形、および改変の全てをその範囲に包含するものである。
【図１】
0005968395.tif 000002
【図２】
0005968395.tif 000003
【図３】
0005968395.tif 000004