(57)【特許請求の範囲】
【請求項１】
コンピュータにより実装される方法であって、
人間の存在モジュールが、人間のオペレータの存在を検証せよとの要求を受信する段階と、
前記人間の存在モジュールが、前記人間のオペレータに電子デバイスを物理的に操作させる１以上の決められた命令を有する存在アクションシーケンスを生成する段階と、
前記電子デバイスに前記人間のオペレータが存在するか否かを、前記電子デバイスの１以上の物理的センサから受信され、前記電子デバイスが前記存在アクションシーケンスに従い操作されたときに前記電子デバイスの１以上の物理的特性の変化を表すセンサデータに基づいて、前記人間の存在モジュールが判断する段階と、
前記人間のオペレータが前記電子デバイスに存在するか否かを示す人間の存在に関する応答を、前記センサデータに基づいて、前記人間の存在モジュールが生成する段階と、
前記人間の存在モジュールが、前記電子デバイスに前記人間のオペレータが存在する場合に、前記センサデータを、プロセッサの隔離されたメモリ領域から共有メモリ領域に移動させ、
前記物理的センサが、前記人間の存在モジュール全体をバイパスして、前記隔離されたメモリ領域に直接前記センサデータを格納する方法。
【請求項２】
前記人間の存在モジュールが、隔離されたメモリ領域から前記センサデータを読み出す段階を備える請求項１に記載のコンピュータにより実装される方法。
【請求項３】
前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が前記存在アクションシーケンスに合致する場合、前記人間の存在モジュールが、前記人間の存在に関する応答を第１の値に設定して、前記人間のオペレータが前記電子デバイスに存在することを示す段階を備える請求項１または２に記載のコンピュータにより実装される方法。
【請求項４】
前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が前記存在アクションシーケンスに合致しない場合、前記人間の存在モジュールが、前記人間の存在に関する応答を第２の値として設定して、前記人間のオペレータが前記電子デバイスに存在しないことを示す請求項１から３のいずれか一項に記載のコンピュータにより実装される方法。
【請求項５】
前記人間の存在モジュールが、前記要求をローカルアプリケーションから受信する段階を備える請求項１から４のいずれか一項に記載のコンピュータにより実装される方法。
【請求項６】
前記人間の存在モジュールが、前記要求を、リモートアプリケーションから有線または無線通信媒体を介して受信する段階を備える請求項１から５のいずれか一項に記載のコンピュータにより実装される方法。
【請求項７】
前記人間の存在モジュールが、前記人間の存在に関する応答を、暗号アルゴリズムを用いて、有線または無線通信媒体を介して、リモートアプリケーションに送信する段階を備える請求項１から５のいずれか一項に記載のコンピュータにより実装される方法。
【請求項８】
前記人間の存在モジュールが、タイマを利用して、前記人間のオペレータの存在を検証せよとの要求、前記センサデータ、または、前記人間の存在に関する応答のいずれかのタイムスタンプを発行する請求項１から７のいずれか一項に記載の方法。
【請求項９】
装置であって、
電子デバイスの１以上の物理的特性を監視する１以上の物理的センサと、
前記１以上の物理的センサに通信可能に連結され、前記電子デバイスのセキュリティを制御するセキュリティコントローラとを備え、
前記セキュリティコントローラは、人間の存在モジュールを有し、
前記人間の存在モジュールは、人間のオペレータの存在を検証せよとの要求を受信し、前記人間のオペレータに電子デバイスを物理的に操作させる１以上の決められた命令を有する存在アクションシーケンスを生成させ、前記電子デバイスに前記人間のオペレータが存在するか否かを、前記電子デバイスの前記１以上の物理的センサから受信され、前記電子デバイスが前記存在アクションシーケンスに従い操作されたときに前記電子デバイスの１以上の物理的特性の変化を表すセンサデータに基づいて判断し、前記人間のオペレータが前記電子デバイスに存在するか否かを示す人間の存在に関する応答を、前記センサデータに基づいて生成し、前記電子デバイスに前記人間のオペレータが存在する場合に、前記センサデータを、プロセッサの隔離されたメモリ領域から共有メモリ領域に移動させ、
前記物理的センサが、前記セキュリティコントローラ全体をバイパスして、前記隔離されたメモリ領域に直接前記センサデータを格納する装置。
【請求項１０】
隔離されたメモリ領域および共有メモリ領域を有する１以上のメモリユニットを備え、
前記隔離されたメモリ領域は、前記セキュリティコントローラおよび前記１以上のセンサによってのみアクセス可能である請求項９に記載の装置。
【請求項１１】
前記１以上の物理的センサは、加速度計、減速計、磁力計、ジャイロスコープ、近接センサ、環境光センサ、熱センサ、触覚センサ、またはタッチスクリーンを含む請求項９
または１０に記載の装置。
【請求項１２】
前記電子デバイスの前記１以上の物理的センサから前記センサデータを受信し、隔離されたメモリ領域に前記センサデータを格納するセンサモジュールを備え、
前記センサデータは、前記電子デバイスが存在アクションシーケンスに従い操作されたときの前記電子デバイスの１以上の物理的特性の変化を表す請求項９から１１のいずれか一項に記載の装置。
【請求項１３】
前記人間の存在モジュールは、隔離されたメモリ領域から前記センサデータを読み出し、前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が存在アクションシーケンスに合致する場合、前記人間の存在に関する応答を第１の値に設定して、前記人間のオペレータが前記電子デバイスに存在することを示し、前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が存在アクションシーケンスに合致しない場合、前記人間の存在に関する応答を第２の値に設定して、前記人間のオペレータが前記電子デバイスに存在しないことを示す請求項９から１２のいずれか一項に記載の装置。
【請求項１４】
前記セキュリティコントローラに通信可能に連結された通信モジュールを備え、
前記人間の存在モジュールは、前記通信モジュールを利用して前記要求をリモートアプリケーションから受信し、前記通信モジュールを利用して前記人間の存在に関する応答を前記リモートアプリケーションに送信する請求項９から１３のいずれか一項に記載の装置。
【請求項１５】
マルチプロセッサコアを有するプロセッサおよび液晶ディスプレイを備える請求項９から１４のいずれか一項に記載の装置。
【請求項１６】
前記人間の存在モジュールが、タイマを利用して、前記人間のオペレータの存在を検証せよとの要求、前記センサデータ、または、前記人間の存在に関する応答のいずれかのタイムスタンプを発行する請求項９から１５のいずれか一項に記載の装置。
【請求項１７】
コンピュータに、
人間のオペレータの存在を検証せよとの要求を、人間の存在モジュールに受信させ、
前記人間のオペレータに電子デバイスを物理的に操作させる１以上の決められた命令を有する存在アクションシーケンスを生成させ、
電子デバイスに前記人間のオペレータが存在するか否かを、前記電子デバイスの１以上の物理的センサから受信され、前記電子デバイスが前記存在アクションシーケンスに従い操作されたときに前記電子デバイスの１以上の物理的特性の変化を表すセンサデータに基づいて判断させ、
前記人間のオペレータが前記電子デバイスに存在するか否かを示す人間の存在に関する応答を、前記センサデータに基づいて生成させ、
前記人間の存在に関する応答をプロセッサまたはアプリケーションに送信させ、前記電子デバイスに前記人間のオペレータが存在する場合に、前記センサデータを、プロセッサの隔離されたメモリ領域から共有メモリ領域に移動させ、
前記物理的センサが、前記人間の存在モジュール全体をバイパスして、前記隔離されたメモリ領域に直接前記センサデータを格納させるためのプログラム。
【請求項１８】
前記コンピュータに、前記隔離されたメモリ領域から前記センサデータを読み出させ、前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が前記存在アクションシーケンスに合致する場合、前記人間の存在に関する応答を第１の値に設定させて、前記人間のオペレータが前記電子デバイスに存在することを示し、または、前記センサデータが表す前記電子デバイスの１以上の物理的特性の変化が前記存在アクションシーケンスに合致しない場合、前記人間の存在に関する応答を第２の値に設定させて、前記人間のオペレータが前記電子デバイスに存在しないことを示す請求項１７に記載のプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
セキュリティ技術によりアプリケーション、サービス、またはデバイスへのアクセス制御が行われている。これはオンラインサービスで特に重要である、というのも、「ボットネット」等の自動化コンピュータプログラムによって、人間による介入を通さずにオンラインサービスに悪意あるアクセスが試みられたり、あるいは、正当なユーザであるかのように詐称しようとしたりすることがあるからである。「ボットネット」は、大量のスパム電子メール、ＶｏＩＰ（voice-over-internet-protocol）メッセージ、認証情報、およびその他の多くの種類のインターネット通信を送信することのできる自動化スクリプトおよびプログラムを実行するように安全性を犯された、複数の互いにインターネット接続されたコンピュータ群のことである。
【０００２】
セキュリティ技術のなかには、実際に人間がアプリケーション、サービス、またはデバイスへのアクセスを試みているのか否かについて検証することにより、このような自動化され、悪意のある脅威を低減させようとするものもある。例えば、幅広く利用されている方法の１つでは、ＣＡＰＴＣＨＡが利用される。ＣＡＰＴＣＨＡは、応答がコンピュータで生成されていないことを確認するための演算で利用されるチャレンジレスポンステストの一種である。このプロセスでは通常コンピュータは、ユーザに対して、該コンピュータが生成できる単純なテスト（例えば、歪んだ画像内の文字または数字を入力させる等）を行わせて、これを採点する。正解であれば人間からのものであると仮定される。ＣＡＰＴＣＨＡシステムは高度であるが、自動化ソフトウェアが打破してしまうＣＡＰＴＣＨＡシステムもある。さらに、ＣＡＰＴＣＨＡシステムは、ユーザの立場からすると煩雑であり不便である。これらおよびその他の点に鑑みて、本願によるもののような改善が望まれている。
【図面の簡単な説明】
【０００３】
【図１】第１の装置の一実施形態を示す。
【図２】動作に関する一実施形態を示す。
【図３】論理フローの一実施形態を示す。
【図４】第２の装置の一実施形態を示す。
【図５】システムの一実施形態を示す。
【発明を実施するための形態】
【０００４】
様々な実施形態は概して電子デバイスを利用する人間の存在を検出する技術に係る。幾らかの実施形態は、特に、電子デバイスの１以上の物理的特性に関するセンサデータを監視して捉えるよう設計された１以上の物理的センサを利用する人間の存在の検出技術に関する。人間のオペレータの存在を検証する目的から、物理的方法で該電子デバイスを操作して、物理的センサが検出可能な電子デバイスの１以上の物理的特性を変化させる。一例としては、電子デバイスを、所定のパターンまたはシーケンスで物理的に動かす（例えば、揺らす、上下に動かす、回転させる、等）。さらに、人間のオペレータにより、所定のパターンまたはシーケンスで、例えば、電子デバイスの筐体または外部コンポーネントの様々なパーツ（タッチスクリーン、ヒューマンインターフェースデバイス等）を物理的に、一定の力、圧力、および方向で所定の期間、触らせてもよい。このようにして収集されたセンサデータは、後に、電子デバイスの人間のオペレータの存在を確かめる、または検証する目的に利用することができる。このようにして、セキュリティ技術は、デバイス、システム、またはネットワークにおける人間の存在の検出技術の１以上を実装して、アプリケーション、デバイス、システム、またはネットワークにアクセスを試みているのが実際の人間であることを検証して、これにより自動化コンピュータプログラムからの脅威を低減させることができる。
【０００５】
例えば、一実施形態では、電子デバイス等の装置は、電子デバイスの１以上の物理的特性を監視する機能を有する１以上の物理的センサを含んでよい（図１を参照して後述する）。これに加えて、またはこの代わりに、装置は、マルチモード入力を受信する機能を有する１以上のヒューマンインターフェース（キーボード、マウス、タッチスクリーン等）を含んでもよい（図４を参照して後述する）。
【０００６】
セキュリティコントローラは、１以上の物理的センサおよび／またはヒューマンインターフェースデバイスに通信可能に連結されてよい。セキュリティコントローラは、一般的には、電子デバイスのセキュリティ制御を行い、任意の数の公知のセキュリティおよび暗号化技術を実装してよい。加えて、セキュリティコントローラは、人間の存在モジュールを含むこともできる。人間の存在モジュールは、人間のオペレータの存在を検証する旨の要求を受信するよう構成されてよい。この要求は、ローカルアプリケーションから（例えばセキュアなドキュメントから）、あるいは、リモートアプリケーションから（例えば、ウェブブラウザによりアクセスされたウェブサーバから）受信されてもよい。人間の存在モジュールは、電子デバイスの１以上の物理的センサから受信されたセンサデータ、または、１以上のヒューマンインターフェースデバイスからのマルチモード入力を評価および分析することにより、人間のオペレータが該電子デバイスに存在しているのか否かを判断することができる。センサデータは、電子デバイスの１以上の物理的特性を表していてよい。人間の存在モジュールは、電子デバイスにおいて人間のオペレータが存在する旨、または存在しない旨を示す人間の存在に関する応答を、センサデータおよび／またはマルチモード入力に基づいて生成してよい。他の実施形態も記載され請求される。
【０００７】
実施形態は、１以上のエレメントを含んでよい。１つのエレメントは、ある動作を行うよう構成された任意の構造を含むことができる。各エレメントは、任意の設計パラメータまたは性能制約の一式について所望のハードウェア、ソフトウェア、またはこれらの任意の組み合わせにより実装可能である。実施形態は特定の構成の特定のエレメントに関して例示されるが、実施形態には、他の構成の他のエレメントの組み合わせが含まれてもよい。
【０００８】
「一実施形態」「実施形態」等の言い回しは、その実施形態との関連で記載された特定の特徴、構造、または特性が、少なくとも１つの実施形態に含まれることを意味していることに留意されたい。「一実施形態では」「実施形態では」といった言い回しは本明細書で随所に利用されるが、これらは必ずしも同じ実施形態のことを言及している場合ばかりではない。
【０００９】
図１は、人間の存在の検出に利用されてよい例示的な装置１００を示す。人間の存在の検出を利用して、アプリケーション、サービス、デバイス、システム、またはネットワークへのアクセスを許可または拒否することができる。
【００１０】
図１の装置１００は、様々なエレメントを含んでよい。例えば、図１の装置１００は、プロセッサ１０２を含んでよい。装置１００はさらに、様々な物理的センサ１１６−１−ｎに通信可能に連結されるセキュリティコントローラ１１０を含んでよい。さらに、装置１００は、様々なメモリ領域１２２−１−ｒに分割された１以上のメモリユニット１２０−１−ｐを含んでよい。さらに、装置１００は、アプリケーション１０４を含んでよい。
【００１１】
ある実施形態では、装置１００のエレメントは、任意の電子デバイス内に実装されてもよい。適切な電子デバイスの例には、限定を意図せず、移動局、独立型電源（例えばバッテリ）を含むポータブルコンピュータデバイス、ラップトップコンピュータ、ウルトララップトップコンピュータ、携帯情報端末（ＰＤＡ）、セルラー式電話機、セルラー式電話機／ＰＤＡの組み合わせ、携帯電話装置、加入者局、ユーザ端末、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、ウェアラブルコンピュータ、メディアプレーヤ、ページャ、メッセージデバイス、データ通信デバイス、コンピュータ、パソコン、サーバ、ワークステーション、ネットワーク機器、電子ゲームシステム、ナビゲーションシステム、マップシステム、位置発見システム、等が含まれてよい。幾らかの実施形態では、電子デバイスは複数のコンポーネントを含むことができる。この場合には、装置１００は、複数のコンポーネントのいずれか一つの一部として実装されてよい（例えば、ゲームコンソール用の遠隔制御）。一実施形態では、例えば、装置１００は、コンピュータデバイスのコンピュータプラットフォームの一部として実装可能であり、この例については図５を参照して後述する。しかしさらなる実施形態では、外部ソフトウェアおよび／または外部ハードウェアの実装が含まれてよい。実施形態はこのコンテキストに限定はされない。
【００１２】
装置１００は、プロセッサ１０２を含んでよい。プロセッサ１０２は、１以上のプロセッサコアを有してよい。プロセッサは、アプリケーション１０４に代表される様々な種類のアプリケーションを実行してよい。プロセッサ１０２の例は図５を参照して後述する。
【００１３】
装置１００は、アプリケーション１０４を含んでよい。アプリケーション１０４は、プロセッサ１０２により格納および実行可能な任意のアプリケーションプログラムを含んでよい。さらに、アプリケーション１０４は、アプリケーション１０４が提供するドキュメント、フィーチャ、またはサービスにアクセスする、埋め込み型のセキュリティフィーチャを有してよい。こうして、アプリケーション１０４は、セキュリティコントローラ１１０が提供するセキュリティサービスのクライアントとして機能することができる。アプリケーション１０４は、コンピュータデバイスに常駐するローカルアプリケーション、または、遠隔デバイス（ウェブサーバ等）に常駐するリモートアプリケーションを含むことができる。例えば一実施形態では、アプリケーション１０４は、ウェブサーバ等の、遠隔デバイスにアクセスするウェブブラウザとして実装することができる。
【００１４】
装置１００は、コンピュータデバイスの１以上の物理的特性を監視するよう構成された１以上の物理的センサ１１６−１−ｎを含んでよい。この監視は、連続して、定期的に、非定期的に、またはオンデマンドにより行われてよい。物理的特性の例には、限定を意図せず、運動、配向、回転速度、トルク、速度、応力、圧力、温度、光感受性、重量、振動、化学組成、変形、運動量、高度、位置、熱、エネルギー、電力、導電性、抵抗等が含まれてよい。物理的センサ１１６−１−ｎの例には、限定を意図せず、加速度計、減速計、磁力計（例えばコンパス）、ジャイロスコープ、近接センサ、環境光センサ、熱センサ、触覚センサ、化学センサ、温度センサ、タッチスクリーン、気圧計、音声センサ等が含まれる。物理的センサ１１６−１−ｎは、ハードウェアセンサ、ソフトウェアセンサ、またはこれらの組み合わせを含んでよい。ソフトウェアセンサの例には、アプリケーションのイベント、タイマ、割り込み等が含まれてよい。いずれの公知の物理的センサを物理的センサ１１６−１−ｎとして実装することができるが、実施形態はこのコンテキストに限定されない。
【００１５】
物理的センサ１１６−１−ｎは、センサデータ１１８をセキュリティコントローラ１１０に出力することができる。より具体的には、物理的センサ１１６−１−ｎは、セキュリティコントローラ１１０のセンサモジュール１１４へ、センサデータ１１８を出力してよい。センサデータ１１８は、電子デバイスの物理的特性の計測値を含んでよい。センサデータ１１８は、独立した値または差分値（例えば、現在の計測値と前の計測値との差異）を表してもよい。実施形態はこのコンテキストに限定されない。
【００１６】
装置１００は、セキュリティコントローラ１１０を含んでよい。セキュリティコントローラ１１０は、１以上の物理的センサ１１６−１−ｎに通信可能に連結されてよい。セキュリティコントローラ１１０は、一般的には、コンピュータデバイスのセキュリティ制御を行い、任意の数の公知のセキュリティおよび暗号化技術を実装してよい。例えば一実施形態では、セキュリティコントローラ１１０は、セキュアでロバストなコンピュータプラットフォームを実装するのに必要となる様々なソフトウェアおよびハードウェアフィーチャを提供することができる。例えばセキュリティコントローラ１１０は、様々なセキュリティアルゴリズムおよび暗号化スキーム（例えば、高度暗号化規格、データ暗号化規格（ＤＥＳ）、トリプルＤＥＳ）、ＲＳＡおよび楕円暗号化（ＥＣＣ）をサポートする公開鍵インフラストラクチャ（ＰＫＩ）セキュアなハッシュ関数（ＳＨＡ）アルゴリズム（例えばＳＨＡ−１、ＳＨＡ−２等）用のハッシュエンジン、ＲＮＧ(Random Number Generation)に準拠したＦＩＰＳ（連邦情報処理標準）、デジタル著作権管理（ＤＲＭ）、ＪＴＡＧ（Joint Test Action Group）によるセキュアなデバッグ、ＩＭＲ（隔離されたメモリ領域）によるメモリアクセス制御、ＤＲＭ再生用のインライン暗号化および復号化エンジン、さらなるセキュリティタイマーおよびカウンタ等用の、セキュアなブート、セキュアな実行環境、セキュアな記憶装置、ハードウェア暗号化促進等の様々なセキュリティコンポーネントおよび機能を提供することができる。幾らかの実施形態では、セキュリティコントローラ１１０は、カリフォルニア州サンタ・クララのインテル・コーポレーション製のインテル（登録商標）アクティブ・マネジメント・テクノロジー（ＡＭＴ）デバイス等のハードウェアセキュリティコントローラを含んでよい。他の実施形態では、セキュリティコントローラ１１０は、ブロードコム（登録商標）ＤＡＳＨ（Desktop and Mobile Architecture of System Hardware）ウェブサービスに基づく管理技術に関するハードウェアセキュリティコントローラであってもよい。また別の実施形態では、セキュリティコントローラ１１０は、他の種類のセキュリティ管理技術により実装されてもよい。実施形態はこのコンテキストに限定されない。
【００１７】
装置１００は、さらに、複数のメモリ領域１２２−１−ｒを有する１以上のメモリユニット１２０−１−ｐを含んでよい。図１に示されている実施形態は、２つのメモリ領域１２２−１、１２２−２を有する単一のメモリユニット１２０を示している。第１のメモリ領域１２２−１は、隔離されたメモリ領域を含んでよい。第２のメモリ領域１２２−２は、１つの共有メモリ領域を含んでよい。一般的に、隔離されたメモリ領域１２２−１は、セキュリティコントローラ１１０および１以上のセンサ１１６−１−ｎによってのみアクセス可能である。共有メモリ領域１２２−２は、セキュリティコントローラ１１０および外部のコンポーネント（例えば、プロセッサ１０２および／またはアプリケーション１０４）によってアクセス可能である。複数のメモリ領域１２２−１、１２２−２を有する単一のメモリユニット１２０が図１には示されているが、装置１００には複数のメモリユニット１２０−１、１２０−２が実装可能であり、各メモリユニット１２０−１、１２０−２は、各々メモリ領域１２２−１、１２２−２を有してよい。実施形態はこのコンテキストに限定されない。
【００１８】
様々な実施形態では、セキュリティコントローラ１１０は、人間の存在モジュール１１２を含んでよい。人間の存在モジュール１１２は、一般的に、装置１００を利用するコンピュータデバイスにおいて人間のオペレータが存在するか否かを検出し検証するよう構成されていてよい。人間の存在モジュール１１２は、セキュリティコントローラ１１０のセキュリティサブシステムであってよい。様々な実施形態で、人間の存在モジュール１１２は、（１以上の埋め込みセキュリティプロセッサ、割り込みコントローラ、命令キャッシュ、データキャッシュ、メモリ、暗号促進エンジン、ハードウェアベースのＲＮＧ、セキュアなＪＴＡＧ、およびその他のエレメント等の）セキュリティサブシステムに適した様々なハードウェアおよびソフトウェア構造により実装されてよい。
【００１９】
様々な実施形態では、セキュリティコントローラ１１０は、センサモジュール１１４を含んでよい。センサモジュール１１４は、一般的に、センサ１１６−１−ｎのうちの１以上のセンサを管理するよう構成されてよい。例えば、センサモジュール１１４は、動作値（検出閾値およびトリガ等）によりセンサ１１６−１−ｎを構成またはプログラミングしてよい。センサモジュール１１４は、さらに、１以上の物理的センサ１１６−１−ｎからセンサデータ１１８を受信してよい。センサデータ１１８は、コンピュータデバイスが下記の存在アクションシーケンスにより操作される場合、装置１００を利用するコンピュータデバイスの１以上の物理的特性を表してよい。センサモジュール１１４は、センサデータ１１８を、人間の存在モジュール１１２へ直接渡して、分析に備えさせることもできる。これに加えて、またはこの代わりに、センサモジュール１１４は、センサデータ１１８を隔離されたメモリ領域１２２−１に格納することもできる。
【００２０】
図１にはセンサモジュール１１４がセキュリティコントローラ１１０の一部として示されているが、センサモジュール１１４は、セキュリティコントローラ１１０の外部のコンピュータシステムの別のコンポーネント内に実装されてもよい。例えば、センサモジュール１１４は、セキュリティコントローラ１１０の外部のコンポーネント用の入出力（Ｉ／Ｏ）コントローラ、外部デバイス、センサ１１６−１−ｎ内のセンサシステム用の専用コントローラ等とともに集積されてもよい。この場合、物理的センサ１１６−１−ｎは、セキュリティコントローラ１１０全体をバイパスして、点線矢印１１９が示すように隔離されたメモリ領域１２２−１に、直接センサデータ１１８を格納するよう構成されてよい。このような実装例では、物理的センサ１１６−１−ｎと、隔離されたメモリ領域１２２−１との間のセキュアな接続が確保されるべきである。実施形態はこのコンテキストに限定されない。
【００２１】
一般的な処理においては、セキュリティコントローラ１１０の人間の存在モジュール１１２は、セキュリティ手順またはプロトコルの一貫としてコンピュータデバイスにおける人間の存在を確認、検証、または認証してよい。一実施形態では、人間の存在モジュール１１２は、装置１００を実装するコンピュータデバイスの人間のオペレータの存在を検証せよとの要求を受信することができる。人間の存在モジュール１１２は、コンピュータデバイスの１以上の物理的センサ１１６−１−ｎから受信したセンサデータ１１８を評価および分析することにより、コンピュータデバイスに人間のオペレータが存在するか否かを判断することができる。センサデータ１１８は、以下で詳述するようにコンピュータデバイスの１以上の物理的特性を表してよい。人間の存在モジュール１１２は、コンピュータデバイスにおいて人間のオペレータが存在する旨、または存在しない旨を示す人間の存在に関する応答を、センサデータ１１８に基づいて生成してよい。
【００２２】
人間の存在モジュール１１２は、存在アクションシーケンスを利用してセンサデータ１１８に基づき人間の存在に関する応答を生成してよい。人間の存在モジュール１１２が人間の存在の検証要求を受信するたびに、人間の存在モジュール１１２は、人間の存在を検証するために利用される存在アクションシーケンスを生成または取得することができる。例えば、様々な存在アクションシーケンスおよび関連値は、メモリユニット１２０の、隔離されたメモリ領域１２２−１に生成および格納されてよい。
【００２３】
存在アクションシーケンスは、コンピュータデバイスを物理的に操作する人間のオペレータ用に定義された１以上の命令を含むことができ、または、コンピュータデバイスにマルチモード入力を供給することができる。例えば、定義された命令は、コンピュータデバイスが人間のオペレータにより利用されていないときには通常見つからないような特定の形状または運動のパターン（例えば、左右、上下、前後、前後に揺らす、１以上の方向への回転等）を含んでよい。この場合、物理的センサ１１６−１−ｎの１つが、加速度計、ジャイロスコープ、および／または、気圧計として実装され、コンピュータデバイスの様々な運動パターンを検出してよい。別の例では、物理的センサ１１６−１−ｎのいずれかが光センサとして実装されてもよい。この場合、定義された命令には、人間の手を光センサ上にかざすことで、光センサを周辺光から遮蔽したり、遮蔽を取り除いたりすることにより、特定の光のパターンを形成させる命令が含まれてよい。また別の例では、物理的センサ１１６−１−ｎのいずれかが熱センサとして実装されてもよい。この場合、定義された命令には、コンピュータデバイスの熱センサに、またはその周辺に接触して、通常の人間の身体の温度を検出させるという命令が含まれてよい。また別の例では、物理的センサ１１６−１−ｎのいずれかが接触に対する感度を有する触知センサとして実装あれてもよい。この場合、定義された命令には、コンピュータデバイスのある箇所を、一定の圧力で、好ましくは一定のシーケンスで触らせる命令が含まれてよい。これらは、任意の物理的センサ１１６−１−ｎ群に適した存在アクションシーケンスの限られた数の例に過ぎず、必要に応じて任意の数の定義された命令およびそれに対応する物理的センサ１１６−１−ｎを任意の実装例に利用することができることを理解されたい。さらに、任意の存在アクションシーケンスに対して利用する物理的センサ１１６−１−ｎを様々に組み合わせることにより、人間のオペレータの存在または不在に関する確信レベルが上がる。実施形態はこのコンテキストに限定されない。
【００２４】
適切な存在アクションシーケンスが生成または取得されると、様々なマルチメディアおよびマルチモードの出力を利用して人間のオペレータへと存在アクションシーケンスを伝達することができる。例えば、液晶ディスプレイ（ＬＣＤ）等の電子ディスプレイを利用して、存在アクションシーケンスに適切な命令を有するユーザインターフェースメッセージ、コンピュータデバイスの向きを表す一式の画像、動きの矢印シーケンスを示すアイコン（上向きの矢印、下向きの矢印、左向きの矢印、右向きの矢印）、コンピュータデバイスを動かしているユーザのアニメーション、コンピュータデバイスを動かしているユーザのビデオ、または他のマルチメディア表示出力を表示することができる。１以上の発光ダイオード（ＬＥＤ）上でのフラッシュシーケンス、１以上のスピーカにより再生された音声情報（例えば音楽、音色、合成音声等）、振動部材その他の触知または触覚デバイスを用いた振動パターン等の他の出力デバイスを利用して、存在アクションシーケンスを伝達することもできる。実施形態はこのコンテキストに限定されない。
【００２５】
人間のオペレータが存在アクションシーケンスに応じてコンピュータデバイスを物理的に操作すると、センサモジュール１１４は、コンピュータデバイスの１以上の物理的センサ１１６−１−ｎからセンサデータ１１８を受信してよい。センサデータ１１８は、コンピュータデバイスが存在アクションシーケンスに応じて操作されたときのコンピュータデバイスの１以上の物理的特性の変化または計測値を表す。センサモジュール１１４は、隔離されたメモリ領域１２２−１にセンサデータ１１８を格納して、人間の存在モジュール１１２へ、センサデータ１１８の分析準備が整った旨の信号を送る。
【００２６】
人間の存在モジュール１１２は、センサモジュール１１４から信号を受信して、隔離されたメモリ領域１２２−１からセンサデータ１１８の読み出しを開始する。人間の存在モジュール１１２は、物理的センサ１１６−１−ｎによる物理的特性の計測値を示すセンサデータ１１８を、任意の存在アクションシーケンスに関して格納されている値または前の計測値と比較する。人間の存在モジュール１１２は、センサデータ１１８が表すコンピュータデバイスの１以上の物理的特性の変化が存在アクションシーケンスに合致する場合には、人間の存在に関する応答を第１の値（例えば論理値１）に設定することで、人間のオペレータがコンピュータデバイスに存在することを示す。人間の存在モジュール１１２は、センサデータ１１８が表すコンピュータデバイスの１以上の物理的特性の変化が存在アクションシーケンスに合致しない場合には、第２の値（例えば論理値０）とすることで、人間のオペレータがコンピュータデバイスに存在しないことを示す。
【００２７】
コンピュータデバイスにおいて人間が存在する、ということは、人間のオペレータがコンピュータデバイスの近接位置に、またはその付近にいることであってよい。近接距離とは、コンピュータデバイスを触ることのできる距離から、例えば１０ヤードといったコンピュータデバイスの任意の半径内といった、と様々な範囲を含む。この半径は実装例に応じて変化させてよいが、一般的には、人間のオペレータが、直接にしろ、ヒューマンインターフェースデバイスを介してにしろ（遠隔制御等）、コンピュータデバイスを操作するのに十分な距離という意味である。これにより、人間の存在の検証が必要となるサービスが、該サービスを要求しているコンピュータデバイスが、自動化コンピュータプログラムではなくて人間のオペレータにより制御されるということを高い確信レベルで保証することができるようになる。例えば、コンピュータデバイスの遠隔制御手段（ゲームシステムまたはマルチメディア会議システム等におけるもの）を有する人間は、コンピュータデバイスに人間の存在があるとみなしてよい。場合によっては、遠隔制御自体が、装置１００を実装することもあり、この場合には、これが電子デバイスまたはコンピュータデバイスとなる。実施形態はこのコンテキストに限定されない。
【００２８】
人間の存在モジュール１１２が、人間の存在に関する応答を正常な状態で生成するまたは、正常な状態に設定すると、人間の存在モジュール１１２は、人間の存在に関する応答を、適切な通信技術（例えば無線、ネットワークインターフェース等）および通信媒体（有線または無線を含む）を利用して、プロセッサ１０２またはアプリケーション１０４へと送信して、セキュリティ処理（認証、承認、フィルタリング、トラッキング等）を完了させることができる。セキュリティコントローラ１１０は、人間の存在に関する応答にセキュリティ証明書を添付して、検証を強固なものとすることができる。これに加えて、またはこの代わりに、人間の存在モジュール１１２は、人間の存在に関する応答およびセキュリティ証明書をメモリ領域１２２−１および１２２−２のいずれか、または両方に格納することができる。
【００２９】
人間の存在に関する応答の生成に加えて、人間の存在モジュール１１２は、センサデータ１１８を、隔離されたメモリ領域１２２−１から共有メモリ領域１２２−２にトランスポートするブリッジの役目を果たしてよい。例えば、人間の存在モジュール１１２が人間の存在を検出すると、人間の存在モジュール１１２は、センサモジュール１１４に命令を出して、センサデータ１１８を、隔離されたメモリ領域１２２−１から共有メモリ領域１２２−２へ移動させてよい。このようにして、センサデータ１１８はプロセッサ１０２および／またはアプリケーション１０４によるアクセスを受けて、さらなる分析、検証、履歴データの収集等の処理を行わせることができる。
【００３０】
人間の存在モジュール１１２はさらに、センサデータ１１８を利用して、存在アクションシーケンスを改良することもできる。例えば、存在アクションシーケンスは、コンピュータデバイス上で人間のオペレータにより実行され、物理的センサ１１６−１−ｎによる計測をうけ、存在アクションシーケンスに関して合致する格納データとして検証されると、実際の計測値と格納されている値との間の差分が残る。これらの差分は、特定のコンピュータデバイス、人間のオペレータ、または両方において物理的特性が固有であることにより生じうる。従って、肯定的な検証結果をフィードバックとして利用して、格納されている値を改良したり置換えたりすることで、将来の比較処理においてより高い確信レベルを達成することができる。このようにして、コンピュータデバイスおよび／または人間のオペレータは、人間の存在モジュール１１２を、コンピュータデバイスおよび／または人間のオペレータの固有の特性に合致させるようトレーニングすることができ、これにより、人間の存在の検出が経時的に向上した性能および精度を有するようになる。
【００３１】
図２は、装置１００の動作環境２００を示す。図２に示すように、コンピュータデバイス２１０は、装置１００および通信モジュール２１２を含みうる。コンピュータデバイス２３０は、通信モジュール２３２およびウェブサービス２３４を提供するリモートアプリケーションを含んでよい。通信デバイス２１０、２３０は、ネットワーク２２０を介して通信モジュール２１２、２３２それぞれにより通信する。通信モジュール２１２、２３２は、無線、トランスミッタ、レシーバ、トランシーバ、インターフェース、ネットワークインターフェース、パケットネットワークインターフェース等の有線または無線の通信を含んでよい。ネットワーク２２０は、有線または無線ネットワークを含んでよく、任意の種類のネットワークに適した様々な有線または無線のプロトコルを実装してよい。
【００３２】
通常の動作においては、装置１００は、セキュリティコントローラ１１０、アプリケーション１０４、コンピュータデバイス２１０、ネットワーク２２０、またはコンピュータデバイス２３０等の遠隔デバイスが提供するセキュリティフレームワークまたはアーキテクチャ内に様々な人間の存在の検出技術を実装することができる。一例として装置１００がコンピュータデバイス２１０の一部である例を考える。コンピュータデバイス２１０は、例えば、ラップトップまたはハンドヘルドコンピュータ等のモバイルプラットフォームを含んでよい。さらに本例で、コンピュータデバイス２１０が、コンピュータデバイス２３０がウェブブラウザによりアプリケーション１０４およびネットワーク２２０を介して提供したウェブサービス２３４にアクセスを試みていると仮定する。この場合コンピュータデバイス２１０は、アプリケーション１０４からのアクセス要求２４０−１を、ネットワーク２２０および通信モジュール２１２、２３２を介してウェブサービス２３４に送信してよい。ウェブサービス２３４は、アクセス要求２４０−１の背景に、自動化ソフトウェアプログラムではなくて人間が存在することの確認を要求する。従って、人間の存在モジュール１１２は、ウェブサービス２３４からコンピュータデバイス２１０に対して送られた、コンピュータデバイス２１０の人間のオペレータ２０２の存在の確認を要求する認証要求２４０−２を受信してよい。本例では、認証要求２４０−２は、アクセス要求２４０−１を始めたコンピュータデバイス２１０に人間のオペレータ２０２が存在していることの確認のみを要求しており、人間のオペレータ２０２の特定までは必ずしも想定していないことに留意されたい。人間のオペレータ２０２の特定情報は、従来の技術（例えば、パスワード、個人識別番号、セキュリティ証書、デジタル署名、暗号鍵等）を用いて人間のオペレータ２０２に対して要求することもできる。
【００３３】
人間の存在モジュール１１２は、コンピュータデバイスの１以上の物理的センサ１１６−１−ｎから受信したセンサデータ１１８を評価および分析することにより、コンピュータデバイス２１０に人間のオペレータ２０２が存在するか否かを判断することができる。センサデータ１１８は、図１を参照して前述したように、存在アクションシーケンスに応じて生成されたコンピュータデバイス２１０の１以上の物理的特性の様々な変化を表していてよい。例えば、存在アクションシーケンスが、コンピュータデバイス２１０を現在の位置から略１８０度回転させるものであると仮定する。人間の存在モジュール１１２は、「デバイスを１８０度回転させよ」といったユーザインターフェースメッセージを生成して、このユーザインターフェースメッセージを表示コントローラへ送り、ＬＣＤ２１４に表示させることができる。これを受けると、人間のオペレータ２０２は、コンピュータデバイス２１０を元の位置から略１８０度回転させて、これはジャイロスコープとして実装された１つの物理的センサ１１６−１により計測される。人間のオペレータ２０２がコンピュータデバイス２１０を回転させると、物理的センサ１１６−１は、計測値をセンサデータ１１８という形でセンサモジュール１１４へ送信してよい。回転動作が完了すると、物理的センサ１１６−１は、同じ値を有するセンサデータ１１８を決められた期間の間繰り返し送信して、これによりセンサモジュール１１４は暗に存在アクションシーケンスの完了を察知する。これに加えて、またはこの代わりに、人間のオペレータ２０２は、存在アクションシーケンスが人間用の入力デバイス（例えばキーボード、マウス、タッチスクリーン、マイクロフォン等）により遂行された、ということを明示的に確認する情報を送ることもできる。センサモジュール１１４は、隔離されたメモリ領域１２２−１にこのセンサデータ１１８を格納して、人間の存在モジュール１１２に準備信号を送り、分析を開始させることができる。
【００３４】
人間の存在モジュール１１２は、隔離されたメモリ領域１２２−１に格納されているセンサデータ１１８を読み出し、センサデータ１１８を分析して、存在アクションシーケンスが適切に実行されたか否かを判断し、コンピュータ２１０に人間のオペレータ２０２が存在するか否かを、センサデータ１１８に基づいて生成して、人間の存在に関する応答を、認証応答２４０−３の一部として、アプリケーション１０４のウェブブラウザおよびネットワーク２２０を介してコンピュータデバイス２３０のウェブサービス２３４に対して送信することができる。オプションとして、実装例によっては必要に応じて、セキュリティコントローラ１１０のセキュリティ証書および／または人間のオペレータ２０２の識別情報を、認証応答２４０−３とともに送信することもできる。ウェブサービス２３４は、認証応答２４０−３および人間の存在に関する応答、そこに埋め込まれているセキュリティ証書および／または識別情報に基づいて、ウェブサービス２３４へのアクセスを許可するか否かを判断することができる。
【００３５】
ネットワーク２２０を介して人間の存在に関する応答を送信するときに、人間の存在モジュール１１２および／またはセキュリティコントローラ１１０は、任意の数の公知である暗号アルゴリズムまたは技術を用いてネットワーク２２０を介して人間の存在に関する応答を送信することができる。これにより、不正アクセスを防止し、人間の存在に関する応答を、信頼できるものとして「マーク」することができる。
【００３６】
上述の実施形態の動作を、１以上の論理フローを参照しながらさらに説明する。代表的な論理フローは、そうと明記されている場合を除いて、必ずしも提示されている順序で、またはある特定の順序で実行する必要があるわけではないことに留意されたい。さらに、論理フローに関して説明する様々な動作は、シリアルまたはパラレルに実行することもできる。論理フローは、記載された実施形態の１以上のハードウェアエレメントおよび／またはソフトウェアエレメント、または設計または性能に関する制約に応じて望ましい代わりのエレメントを用いた実装が可能である。例えば、論理フローは、論理デバイス（汎用コンピュータまたは専用コンピュータ等）による実行用の論理（例えばコンピュータプログラム命令）としての実装が可能である。
【００３７】
図３は、論理フロー３００の一実施形態を示す。論理フロー３００は、ここに記載される１以上の実施形態が実行する動作の幾らかまたは全てを代表して示している。
【００３８】
図３に示されている実施形態では、論理フロー３００は、ブロック３０２で、人間のオペレータの存在を検証せよとの要求を受信してよい。例えば、コンピュータデバイス２１０のセキュリティコントローラ１１０の人間の存在モジュール１１２が、人間のオペレータ２０２の存在を検証せよとの要求を受信してよい。場合によっては、人間のオペレータ２０２の存在は、ある決められた期間内に完了する必要がある場合もある。例えば、アクセス要求２４０−１が送信され、認証要求２４０−２が受信された場合、認証応答２４０−３は、人間の存在に関する応答とともに、ある決められた期間内に受信される必要があり、この期間が短いほど、一般的には、人間のオペレータ２０２が、アクセス要求２４０−１を始めた人間のオペレータと同一人物であると認証応答２４０−３で検証される確信レベルが高いということになる。従って、タイマ（不図示）を利用して、人間の存在モジュール１１２が生成する要求２４０−１、２４０−２、または２４０−３、センサデータ１１８、および／または、人間の存在に関する応答のいずれかのタイムスタンプを発行する。
【００３９】
論理フロー３００は、コンピュータデバイスの１以上の物理的センサから受信された、該コンピュータデバイスの１以上の物理的特性の変化を表しているセンサデータに基づいて人間のオペレータが該コンピュータデバイスに存在するか否かを判断することができる（ブロック３０４）。例えば、人間の存在モジュール１１２は、コンピュータデバイス２１０の１以上の物理的センサ１１６−１−ｎから受信されたセンサデータ１１８に基づいて人間のオペレータ２０２がコンピュータデバイス２１０に存在するか否かを判断することができる。センサデータ１１８は、コンピュータデバイス２１０の１以上の物理的特性の変化を表していてよい。
【００４０】
論理フロー３００は、センサデータに基づいてコンピュータデバイスに人間のオペレータが存在するか否かを示す人間の存在に関する応答を生成することができる（ブロック３０６）。例えば、人間の存在モジュール１１２は、センサデータ１１８に基づいてコンピュータデバイス２１０に人間のオペレータ２０２が存在するか否かを示す人間の存在に関する応答を生成することができる。例えば、人間の存在モジュール１１２は、存在アクションシーケンスに則り人間のオペレータが生成したコンピュータデバイス２１０の１以上の物理的特性の変化を表す物理的センサ１１６−１−ｎからの計測値を、存在アクションシーケンスに関して格納されている値と比較することができる。これらが合致するという肯定的な結果は、人間のオペレータ２０２が存在することを示し、これらが合致しないという否定的な結果は、人間のオペレータ２０２が不在であることを示す。後者の場合には、コンピュータデバイス２３０は、自動化コンピュータプログラムがウェブサービス２３４へのアクセスを試みていると想定して、コンピュータデバイス２１０によるウェブサービス２３４へのアクセスを否定してよい。
【００４１】
図４は、装置４００の一実施形態を示す。装置４００は、装置１００の構造および動作に類似している。しかし、装置４００では、物理的センサ１１６−１−ｎが１以上のヒューマンインターフェースデバイス４１６−１−ｓで置き換わっており、対応するセンサモジュール１１４がＨＩＤインターフェースモジュール４１４で置き換わっている。ヒューマンインターフェースデバイスは、コンピュータデバイスに適した任意の入力デバイスを含むことができる。ヒューマンインターフェースデバイス４１６−１−ｓの例には、限定を意図せず、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント、音声認識システム、マイクロフォン、カメラ、ビデオカメラ、および／またはその他が含まれてよい。実施形態はこのコンテキストに限定されない。
【００４２】
動作においては、装置４００は、存在アクションシーケンスを用い、図１−３を参照して説明したものに類似した検証処理を用いて人間のオペレータ２０２の存在または不在を検証する。コンピュータデバイス２１０を物理的に操作するのでなくて、存在アクションシーケンスが、人間のオペレータ２０２に対して、様々なマルチモード入力を特定のシーケンスで入力するように命令してよい。例えば、存在アクションシーケンスが、キーパッドの幾らかのキーを押下して、タッチスクリーン表示に表示されるソフトキーを選択して、コンピュータデバイス２１０のマイクロフォンに音声により名称を吹き込むことを含むと仮定してよい。別の例では、存在アクションシーケンスは、コンピュータデバイス２１０のカメラの前で手信号（手話）を行うことを含んでよい。ＨＩＤインターフェースモジュール４１４は、マルチモード入力４１８を取り出し、それらを隔離されたメモリ領域１２２−１に格納することができ、ここで、人間の存在モジュール１１２は、マルチモード入力４１８に基づいて適切な人間の存在に関する応答を分析および生成することができる。
【００４３】
これに加えて、またはこの代わりに、装置１００および／または装置４００は、物理的センサ１１６−１−ｎおよびヒューマンインターフェースデバイス４１６−１−ｓの組み合わせを含むよう変形されてもよい。この場合には、存在アクションシーケンスは、物理的アクションおよびマルチモード入力の一連の組み合わせを含むことで、コンピュータデバイス２１０に人間のオペレータ２０２が存在する確信はさらに上がる。例えば、存在アクションシーケンスは、人間のオペレータ２０２に対して、コンピュータデバイス２１０を振動させる、および、タッチスクリーンディスプレイ（例えばタッチスクリーンＬＣＤ２１４）に息を吹きかけさせる、等してもよい。モジュール１１４、４１４は、データ１１８、４１８を隔離されたメモリ領域１２２−１に格納して、人間の存在モジュール１１２により分析させてよい。
【００４４】
装置１００および／または装置４００は、多くの用途に利用可能であるが、特に、オンラインサービスのアクセスに利用可能である。インターネットサービスプロバイダは、サービス処理中に人間が存在することを確かめる必要がある（または確かめることを希望する）。例えば、ウェブサービス２３４がオンラインチケット購入サービスであると仮定する。この場合、ウェブサービス２３４は、ダフ屋である「ボット」が、後にブラックマーケットで売却するだけの目的から全てのチケットを購入するようなことがないように、人間がチケットを購入していることを確かめることを希望するであろう。別の例として、ウェブサービス２３４がオンライン証券会社であると仮定する。この場合、ウェブサービス２３４は、自動化された「株価操作」ウィルスの侵入を防ぐために、取引を要求しているのが人間であることを確かめることを希望するであろう。また別の例として、ウェブサービス２３４が「案内広告」サービスまたはウェブログ（「ブログ」）であると仮定する。この場合も、ウェブサービス２３４は、人間が広告またはブログへの入会を希望していることを確かめることを希望するであろう。また別の例として、ウェブサービス２３４が電子メールサービスであると仮定する。この場合も、ウェブサービス２３４は、人間が新たなアカウント取得を要求しているのであって、そのサービスが「ＳＰＡＭ」の手段として利用されるものではないことを希望するであろう。これらはあくまで幾らかの用途例であり、ここで記載する人間の存在を検出する改良された技術を活用することのできる多くの他の用途が存在する。
【００４５】
図５は、コンピュータデバイス５００のコンピュータプラットフォームを示す。コンピュータデバイス５００は、例えばコンピュータデバイス２１０、２３０を代表するものであってよい。従って、コンピュータデバイス５００は、装置１００および／または動作環境２００の様々なエレメントを含んでよい。例えば、図５では、コンピュータデバイス５００が、プロセッサ５０２、チップセット５０４、入出力（Ｉ／Ｏ）デバイス５０６、ＲＡＭ（例えばＤＲＡＭ）５０８、およびＲＯＭ５１０、セキュリティコントローラ１１０、およびセンサ１２２−１−ｍを含んでよい。コンピュータデバイス５００は、さらに、コンピュータまたは通信デバイスに通常含まれている様々なプラットフォームコンポーネントを含んでもよい。これらエレメントは、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせによる実装が可能である。しかし実装はこれらエレメントに制限されない。
【００４６】
図５では、入出力デバイス５０６、ＲＡＭ５０８、およびＲＯＭ５１０が、チップセット５０４によってプロセッサ５０２に連結されている。チップセット５０４は、バス５１２によりプロセッサ５０２に連結されてもよい。故に、バス５１２は複数のラインを含んでよい。
【００４７】
プロセッサ５０２は、１以上のプロセッサコアを含む中央処理装置であってよい。プロセッサ５０２は、例えば中央処理装置（ＣＰＵ）、マルチプロセッサユニット、ＲＩＳＣ（限定命令セット計算機）、パイプラインを有するプロセッサ、ＣＩＳＣ（複雑命令セットコンピュータ）、ＤＳＰ（デジタル信号プロセッサ）等を含んでよい。
【００４８】
図示していないが、コンピュータデバイス５００は、イーサネット（登録商標）インターフェースおよび／またはユニバーサルシリアルバス（ＵＳＢ）インターフェースおよび／またはその他の様々なインターフェース回路を含むことができる。幾らかの例示的な実施形態では、入出力デバイス５０６は、インターフェース回路に接続されて、コンピュータデバイス５００へデータおよびコマンドを入力する１以上の入力デバイスを含んでよい。例えば、入力デバイスは、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント、音声認識システム、および／またはその他が含まれてよい。同様に、入出力デバイス５０６は、インターフェース回路に接続され、情報をオペレータに出力する１以上の出力デバイスを含んでよい。例えば、出力デバイスは、所望の場合、１以上のディスプレイ、プリンタ、スピーカ、ＬＥＤ、バイブレータ、および／または、他の出力デバイスを含んでよい。例えば、出力デバイスのうちいずれかが、ディスプレイであってよい。ディスプレイは、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、または任意の他の種類の電子ディスプレイであってよい。
【００４９】
コンピュータデバイス５００は、さらに、他のデバイスと、ネットワーク接続によりデータを交換する有線または無線のネットワークインターフェースを有してよい。ネットワーク接続は、イーサネット（登録商標）接続、デジタル加入者ライン（ＤＳＬ）、電話線、同軸ケーブル等の任意の種類のネットワーク接続であってよい。ネットワーク（２２０）は、インターネット、電話ネットワーク、ケーブルネットワーク、無線ネットワーク、パケット交換ネットワーク、回路交換ネットワークおよび／またはその他等の任意の種類のネットワークであってよい。
【００５０】
本実施形態の理解を促すべく幾つもの特定の詳細をのべてきた。しかし当業者であれば、これら特定の詳細なしに実施形態を実施することができることを理解するであろう。また、公知の動作、コンポーネント、および回路については、詳細に示さないことで、本実施形態を曖昧にしないよう努めている箇所もある。ここに開示する特定の構造上の、または、機能上の詳細は、代表例であることがあり、必ずしも実施形態の範囲を制限していない。
【００５１】
様々な実施形態は、ハードウェアエレメント、ソフトウェアエレメント、またはこれら両方の組み合わせを用いて実装可能である。ハードウェアエレメントの例としては、プロセッサ、マイクロプロセッサ、回路、回路素子（たとえばトランジスタ、抵抗、コンデンサ、インダクタ等）、集積回路、特定用途向けＩＣ（ＡＳＩＣ）、プログラム可能論理回路（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が含まれる。ソフトウェアの例としては、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはこれらの任意の組み合わせが含まれてよい。ある実施形態がハードウェアエレメントおよび／またはソフトウェアエレメントのいずれにより実装可能であるかの判断は、所望の計算レート、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、およびその他の設計または性能上の制約に応じて変化してよい。
【００５２】
幾らかの実施形態は、「連結されている（coupled）」および「接続されている（connected）」という用語が、それぞれの派生語とともに利用される場合がある。これら用語は同義語を意図していないので留意されたい。例えば、幾らかの実施形態では「接続されている」および／または「連結されている」という言い回しを利用することで、２以上のエレメントが互いに直接物理的または電気的接触関係にあることを示している。これに対して「連結されている」という言い回しは、２以上のエレメントが互いに直接接触関係になくてもよく、互いに協働または相互作用する場合も含まれる。
【００５３】
幾らかの実施形態は、例えば、実行されると機械に、実施形態による方法および／または動作を行わせうる１つの命令または一式の命令を格納しうる記憶媒体、コンピュータ可読媒体、または、製品を用いて実装可能である。例えばこのような機械には、適切な処理プラットフォーム、コンピュータプラットフォーム、コンピュータデバイス、処理デバイス、コンピュータシステム、処理システム、コンピュータ、プロセッサ等が含まれてよく、ハードウェアおよび／またはソフトウェアの適切な組み合わせにより実装可能であってよい。コンピュータ可読媒体または物品は、例えば、任意の適切な種類のメモリユニット、メモリデバイス、メモリ製品、メモリ媒体、記憶デバイス、記憶製品、記憶媒体、および／または記憶ユニット（例えば、メモリ、着脱可能または着脱不可能媒体、消去可能または消去不可能媒体、書き込み可能または書き換え可能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、光学ディスク、磁気媒体、光磁気媒体、着脱可能メモリカードまたはディスク、様々な種類のＤＶＤ、テープ、カセット、等）が含まれてよい。命令には、任意の適切な高レベル、低レベル、オブジェクト指向、視覚、コンパイルおよび／または解釈プログラミング言語により実行される任意の適切な種類のコード（例えば、ソースコード、コンパイルコード、解釈コード、実行可能コード、静的コード、動的ダイナミックコード、暗号化コード等）が含まれてよい。
【００５４】
実施形態は、様々な用途に利用可能である。実施形態はこの点に限られないが、幾らかの実施形態は、多くのコンピュータデバイス（例えばパソコン、デスクトップコンピュータ、モバイルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレット型コンピュータ、サーバコンピュータ、ネットワーク、携帯情報端末（ＰＤＡ）デバイス、無線通信局、無線通信デバイス、セルラー型電話機、モバイル電話機、無線電話機、ＰＣＳ（パーソナル通信システム）デバイス、無線通信デバイスを含むＰＤＡデバイス、スマートフォン等）との関連で利用可能である。実施形態は、様々な他の装置、デバイス、システム、および／またはネットワークで利用可能である。
【００５５】
主題を、構造的特徴および／または方法論的動作に特化して説明してきたが、添付請求項で定義される主題は、必ずしも上述の特定の特徴または動作に限定されるべきではない。上述の特定の特徴または動作は、請求項を実装する例示的な形態として開示されている。
【図１】
0005445861.tif 000002
【図２】
0005445861.tif 000003
【図３】
0005445861.tif 000004
【図４】
0005445861.tif 000005
【図５】
0005445861.tif 000006