(57)【要約】  真正なＵＩオブジェクト、バンドル、ウィンドウを視覚的に識別することを容易にする独自のシステムと方法を提供する。検出コンポーネントは、画面上でレンダリングされた１つまたは複数の信頼できるＵＩオブジェクトに関して、ユーザベースの入力がいつ検証モードを起動したかを検出することができる。検証コンポーネントは、それに関するインテグリティを保証するために１つまたは複数のＵＩオブジェクトに関連するソース及びアイデンティティの少なくとも１つを検証することができる。検証レンダリングエンジンは、１つまたは複数の信頼できるＵＩオブジェクトが検証されたか否かに少なくとも基づく方法で、１つまたは複数の信頼できるＵＩオブジェクトを再レンダリングすることができ、従って、検証されていないＵＩオブジェクトよりも検証され信頼できるＵＩオブジェクトの視覚的な認識を向上させる。
2010507173.tif 000002
【特許請求の範囲】
【請求項１】
画面上にレンダリングされた場合に、真正なＵＩオブジェクトの識別を容易にする検証システムであって、
画面上にレンダリングされた１つまたは複数の信頼できるＵＩオブジェクトに関して、ユーザベースの入力がいつ検証モードを起動したかを検出する検出コンポーネントと、
前記１つまたは複数の信頼できるＵＩオブジェクトのソース及びアイデンティティの少なくとも１つを検証する検証コンポーネントと、
前記１つまたは複数の信頼できるＵＩオブジェクトが検証されたかどうかに少なくとも基づく方法で、前記１つまたは複数の信頼できるＵＩオブジェクトを再レンダリングする検証レンダリングエンジンであって、従って検証されてない信頼できるＵＩオブジェクトよりも検証され信頼できるＵＩオブジェクトの視覚的な認識を向上させる検証レンダリングエンジンと
を備えたことを特徴とする検証システム。
【請求項２】
前記１つまたは複数の信頼できるＵＩオブジェクトを、それらを検証する前に画面上に最初にレンダリングするレンダリングコンポーネントを備えたことを特徴とする請求項１に記載のシステム。
【請求項３】
画面上にレンダリングされた前記１つまたは複数の信頼できるＵＩオブジェクトは集合的にｖＷｉｎｄｏｗを構成することを特徴とする請求項１に記載のシステム。
【請求項４】
前記１つまたは複数の信頼できるＵＩオブジェクトは、ボタン、テキスト、画像、アイコン、データフィールド、及び広告のいずれかを備えたことを特徴とする請求項１に記載のシステム。
【請求項５】
少なくともローカルかリモートの１つで管理される１つまたは複数の信頼できるＵＩオブジェクトストアをさらに備えること、及び様々なｖＷｉｎｄｏｗをレンダリングするために用いられる複数のＵＩオブジェクトを備え、前記ＵＩオブジェクトはデジタル署名、暗号化、透かしの少なくとも１つを施され、ステガノグラフィ変換を含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記信頼できるＵＩオブジェクトに対するハッシュを前記１つまたは複数の信頼できるＵＩオブジェクトストア内に記憶されたハッシュ値と比較することにより、前記検証コンポーネントは前記１つまたは複数の信頼できるＵＩオブジェクトの前記アイデンティティをある程度検証することを特徴とする請求項５に記載のシステム。
【請求項７】
前記検証されたＵＩオブジェクトに少なくとも１つの視覚的変換を適用して、前記検証されていないＵＩオブジェクトとは視覚的に異なって見えるようにすること、及び前記真正でないＵＩオブジェクトに視覚的変換を適用して前記検証されたＵＩオブジェクトとは視覚的に異なって見えるようにすることのうち１つにより、前記検証レンダリングエンジンは前記検証されたＵＩオブジェクトを少なくともある程度レンダリングすることを特徴とする請求項１に記載のシステム。
【請求項８】
前記少なくとも１つの視覚的変換は、色を追加すること、境界を追加すること、強調すること、表面テクスチャを追加すること、オーバーレイを追加すること、ディスプレイ画面の特定の位置に前記検証されたＵＩオブジェクトを表示すること、ならびに別個のデスクトップ及び別個のコンピューティング装置のいずれか１つの上に前記検証されたＵＩオブジェクトを表示することのうち少なくとも１つを備えたことを特徴とする請求項７に記載のシステム。
【請求項９】
前記少なくとも１つの視覚的変換は、ユーザベースの相互作用があるまで持続する永久的のもの、または予め設定した期間に従って持続する暫定的なもののうち少なくとも１つであることを特徴とする請求項７に記載のシステム。
【請求項１０】
前記検証レンダリングエンジンは、前記検証に失敗したＵＩオブジェクトに、フェードアウトすること、画面上にある前記検証されたＵＩオブジェクトのいずれに比べても半透明性を増加させること、ビューから除去すること、別個の画面上にそれらをレンダリングすること、及び前記検証されたＵＩオブジェクトのいずれとも別に、別個のデスクトップ上にそれらをレンダリングすることのうち少なくとも１つを実施することを特徴とする請求項１に記載のシステム。
【請求項１１】
前記検証コンポーネントは、画面上にレンダリングされた前記１つまたは複数のＵＩオブジェクトの少なくとも１つのサブセットを選択的に検証することを特徴とする請求項１に記載のシステム。
【請求項１２】
画面上にレンダリングされた場合、真正なＵＩオブジェクトをたやすく識別することを容易にするコンピュータ実装方法であって、
少なくとも１つのｖＷｉｎｄｏｗをレンダリングするステップであって、前記ｖＷｉｎｄｏｗは少なくとも１つの信頼できるＵＩオブジェクトを備えるステップと、
前記少なくとも１つのｖＷｉｎｄｏｗのハッシュと１つまたは複数の信頼できるＵＩオブジェクトストア内に記憶されたハッシュ値を一致させることにより、前記少なくとも１つのｖＷｉｎｄｏｗの真正性を少なくともある程度検証するステップと、
少なくとも１つの視覚的変換を使用して前記真正なｖＷｉｎｄｏｗをレンダリングして、検証されたｖＷｉｎｄｏｗと検証されていないｖＷｉｎｄｏｗとを視覚的に区別することを容易にするステップと
を備えたことを特徴とするコンピュータ実装方法。
【請求項１３】
レンダリングされている前記信頼できるｖＷｉｎｄｏｗを追跡するステップと、前記検証されたｖＷｉｎｄｏｗを追跡して、前記検証されたｖＷｉｎｄｏｗのどれが現在異なるようにレンダリングされているかを識別するステップとをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１４】
検証のために選択された前記少なくとも１つのｖＷｉｎｄｏｗと最初にレンダリングされ追跡された前記信頼できるｖＷｉｎｄｏｗとの間の一致を見つけることにより、前記少なくとも１つのｖＷｉｎｄｏｗの真正性を検証するステップをさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項１５】
別個のデスクトップ上に表示すること、及び外付けＵＩ上に表示することの少なくとも１つで前記真正なｖＷｉｎｄｏｗをレンダリングして、それらと前記検証されていないｖＷｉｎｄｏｗとを視覚的に区別することを容易にするステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１６】
変更しないこと、フェードアウトすること、及び前記検証されたｖＷｉｎｄｏｗに比べてもっと半透明にすることのうち少なくとも１つの方法で前記検証に失敗したｖＷｉｎｄｏｗをレンダリングするステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１７】
前記少なくとも１つの信頼できるｖＷｉｎｄｏｗの検証を開始する発見可能なユーザベースのアクションを検出するステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１８】
前記ｖＷｉｎｄｏｗとのユーザベースの相互作用が検出されること、及びある期間が経過することの少なくとも１つが起こる場合、前記少なくとも１つの視覚的変換を除去するステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１９】
画面上にレンダリングされた場合に、真正なＵＩオブジェクトを識別することを容易にするコンピュータ実装の検証システムであって、
画面上にレンダリングされた１つまたは複数の信頼できるＵＩオブジェクトに関して、ユーザベースの入力がいういつ検証モードを起動したかを検出する手段と、
前記１つまたは複数の信頼できるＵＩオブジェクトのソース及びアイデンティティの少なくとも１つを検証する手段と、
前記１つまたは複数の信頼できるＵＩオブジェクトが検証されたかどうかに少なくとも基づく方法で、前記１つまたは複数の信頼できるＵＩオブジェクトを再レンダリングする手段であって、従って承認され信頼できるＵＩオブジェクトの画面上の視覚化を向上させる手段と
を備えたことを特徴とするコンピュータ実装の検証システム。
【請求項２０】
再レンダリングする前記方法は、少なくとも１つの視覚的変換を前記検証されたＵＩオブジェクトに適用することにより前記検証されたＵＩオブジェクトを少なくともある程度レンダリングし、それらを検証されていないＵＩオブジェクトと視覚的に異なるように見せることを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティング装置は、日々の生活、ならびに消費者及びビジネスの業務に不可欠なものになっている。それらは大部分のユーザに対して効率及び利便性の向上に著しく貢献しているが、様々な攻撃及び不正使用の被害も受けやすい。例えば、極秘の機密情報を保護するために、企業は従業員に対してコンピュータまたは特定のアプリケーションにログインすることを要求する可能性がある。ビジネスをオンラインで行う場合、ユーザは自分のクレジットカード情報及び他の個人情報を保護することを望む可能性がある。どちらのシナリオでも、グラフィカルオペレーティングシステムにおいて、偽りのＵＩ（ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）要素と正規のＵＩ要素をユーザが見分けるのは困難であるといえる。これは主として、グラフィカルオブジェクトは正規に見えるように簡単に偽造することができるからである。従って、ユーザが自分のアカウント番号、ユーザ名、パスワード、及び／または支払情報を要求するダイアログボックスで入力を促される場合、そのダイアログの実際のソースが、悪質なサイト、ソフトウェア、スパム、または他の不正なエンティティである可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００２】
本明細書で議論するシステム及び／または方法のいくつかの態様の基本的な理解を与えるために、以下に簡略化した概要を提示する。本発明の概要は、本明細書で議論するシステム及び／または方法の広範囲にわたる概観ではない。主要な／重要な要素を識別すること、またはそのようなシステム及び／または方法の範囲を定めることを意図していない。後で提示する発明を実施するための形態の序文として、簡略化した形式でいくつかの概念を提示すことが唯一の目的である。
【０００３】
本発明は、正規のユーザインタフェースオブジェクトとそれに対応する不正のものとを、安全な方法でたやすく区別することを容易にするシステム及び／または方法に関する。特に、本システム及び方法は、ディスプレイ上にレンダリングされた１つまたは複数のＵＩオブジェクトのアイデンティティを検証し、次いで真正なＵＩオブジェクトの外観を修正することを含む。その結果、ユーザは真正なＵＩオブジェクトと承認されていないオブジェクトとを容易に認識及び区別することができる。
【０００４】
これは、信頼できるＧＵＩ（ｇｒａｐｈｉｃａｌ  ＵＩ）オブジェクトを暗号化署名して、ローカル及び／またはリモートにそれらを記憶することにより、ある程度遂行できる。ユーザが、ＵＩオブジェクトの１つまたは集合を（例えば、ウィンドウ、またはダイアログボックスを生成するために）レンダリングするよう要求するアクションを実施すると、必要なＵＩオブジェクトを適切な信頼できるＧＵＩオブジェクトストアから検索し、次いでそれに応じてレンダリングすることができる。
【０００５】
レンダリングされたＵＩオブジェクトと相互作用することにより、機密情報を入力または伝達する前に、ユーザはある種の発見可能なアクションを実施することができる。そのようなアクションが検出されると、レンダリングされたＵＩオブジェクトの検証を、それらの起源またはソースを確認するためにトリガすることができる。検証は少なくとも２つの異なる技術を用いることにより起こりうる。第一には、レンダリングされたＵＩオブジェクトの暗号ハッシュを、このハッシュが信頼できるＧＵＩストアの少なくとも１つに元々記憶されたということを検証するために、計算または伝達することができる。第二には、ウィンドウまたはダイアログボックスの一部であるＵＩオブジェクトを、個々のＵＩオブジェクトとしてよりもむしろ集合として検証することができる。
【０００６】
検証が成功する場合、１つまたは複数の視覚的変換を適用することにより、またはそうでなければ個々のＵＩオブジェクトまたはウィンドウ全体に視覚的変換を適用することにより、検証されたＵＩオブジェクトの外観を変更することができる。言い換えれば、視覚的変換を実装して、真正でないダイアログまたは真正なダイアログを識別することができる。例えば、ウィンドウをその周辺を囲む色付けした境界で再レンダリングすることができる。オブジェクトの外見を変更するために異なるテクスチャまたは画像を使用して、検証されたＵＩオブジェクトをレンダリングすることもできる。同様に、検証が成功しない場合、影響を受けたＵＩオブジェクトを再レンダリングして、フェードアウトするように、透明に、またはそうでなければ、共存している場合もある検証されたＵＩオブジェクトに比べてあまり強調しないように見えるようにすることができる。別の方法では、検証されていないＵＩオブジェクトはいずれもビューから消えうるが、検証されたＵＩオブジェクトは変更なしでレンダリングすることができる。検証されたＵＩオブジェクトに対するレンダリング位置を指定することもできる。例えば、検証されたウィンドウはいずれも画面の一番上の左隅、または異なった画面上にレンダリングすることができる。
【０００７】
前述及び関連する目的を遂行するために、本発明のある例示的態様を、以下の記述及び添付図面に関連して本明細書に記述する。しかしながら、これらの態様は、本発明の原理を用いることのできる様々な方法のうちほんの僅かを示すものであり、本発明はそのような態様及び同等物全てを含むことを意図している。図面と併せて考慮すれば、本発明の他の利点や新規の特徴は、本発明の以下に続く発明を実施するための形態から明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】画面上にレンダリングされた場合に、真正なＵＩオブジェクトの識別を容易にする検証システムのブロック図である。
【図２】真正なＵＩオブジェクトをレンダリングすること、そのようなオブジェクトのアイデンティティを検証すること、それらのアイデンティティが検証された場合そのような真正のＵＩの外観を修正することを容易にする検証システムのブロック図を示す図である。
【図３】真正なＵＩオブジェクトと、他の未知のアプリケーションによりレンダリングされたＵＩオブジェクトを容易に識別するために、ＵＩオブジェクトを検証して、それらをユーザに異なるようにレンダリングすることを容易にする検証システムのブロック図を示す図である。
【図４】１つまたは複数のＵＩオブジェクトを含み、そのアイデンティティはその真正性またはソースを判定するために検証可能である例示的ユーザインタフェースまたはウィンドウを示す図である。
【図５】検証された及び／または検証されていないＵＩオブジェクトを容易に識別するために、ＵＩオブジェクトの以下の検証をレンダリングして視覚的に修正した例示的ユーザインタフェースまたはウィンドウを示す図である。
【図６】レンダリングはされているがまだ検証されていない複数のＵＩオブジェトを含むウェブページの例示的ユーザインタフェースを示す図である。
【図７】図６に続いて示される、複数のＵＩオブジェクトがその真正性について選択的に検証されているウェブページを示す図である。
【図８】検証され承認されたＵＩオブジェクトに対する視覚的変換の例示的適用（例えば、（同一）画面上の特定の位置に提示された真正なＵＩオブジェクト）を示す図である。
【図９】承認されたＵＩオブジェクトに対する視覚的変換の例示的適用（例えば、別個の画面上に提示された真正なＵＩオブジェクト）を示す図である。
【図１０】画面上にレンダリングされた場合に、真正なＵＩオブジェクトの識別を容易にする例示的方法を示すフロー図である。
【図１１】真正なＵＩオブジェクトをレンダリングすること、そのようなオブジェクトのアイデンティティを検証すること、アイデンティティが検証された場合、そのような真正なＵＩオブジェクトの外観を修正することを容易にする例示的方法を示すフロー図である。
【図１２】検証が失敗する場合の一連のアクションを提供する例示的方法を示すフロー図である。
【図１３】検証が成功する場合の一連のアクションを提供する例示的方法を示すフロー図である。
【図１４】本発明の様々な態様を実装する例示的環境を示す図である。
【発明を実施するための形態】
【０００９】
本主題のシステム及び／または方法について図面を参照して記述し、同様の参照数字を同様の要素を参照するのに一貫して使用する。以下の記述では説明の目的で、システム及び／または方法の十分な理解を与えるために、多数の特定の詳細が述べられている。しかしながら、本主題のシステム及び／または方法は、これらの特定の詳細がなくても実践できることは明らかであろう。他の例では、それらの記述を容易にするために、公知の構造及び装置をブロック図の形式で示す。
【００１０】
本明細書で使用する用語「コンポーネント」及び「システム」は、コンピュータに関するエンティティ、もしくはハードウェア、ハードウェア及びソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかを指すことを意図する。例えば、コンポーネントは、限定するものではないが、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、及びコンピュータであることが可能である。実例として、サーバ上で実行中のアプリケーション及びサーバの両方がコンポーネントであることができる。１つまたは複数コンポーネントは、プロセス及び／または実行のスレッド内に存在し、１つのコンポーネントは１つのコンピュータ上に局在する、及び／または二つ以上のコンピュータ間に分散することが可能である。
【００１１】
本明細書で使用する用語ｖＷｉｎｄｏｗは、そのレンダリングオブジェクト（例えば、制御、フレーム、等）がデジタル方式で署名または暗号化されており、独自に検証可能なＧＵＩ要素（ＵＩオブジェクト）を指すことを意図する。ｖＷｉｎｄｏｗはそれ以外では、ユーザに対してレンダリングされた他のいかなるウィンドウとも視覚上類似している。従って「信頼できるウィンドウ」及び「ｖＷｉｎｄｏｗ」という用語は、以下の記述にわたって交換可能であり、そのように使用する。しかしながら、検証されたｖＷｉｎｄｏｗは、ｖＷｉｎｄｏｗが検証プロセスをうまく通過したことを示し、検証されていないｖＷｉｎｄｏｗは検証に失敗したか、または検証されていないことを示す。ｖＷｉｎｄｏｗは、選択的に検証できるＵＩオブジェクトのサブセットまたはＵＩバンドルを含むことができる。さらに、いかなるＧＵＩ要素も、本明細書に記述されているように検証することができ、単にウィンドウまたはダイアログに限定されることはない。ＧＵＩ（例えば、ガジェット）のためのボタン、ツールバー、またはプラグインもまた、同様の方法で検証することができる。さらに当然のことながら、ウィンドウは「信頼できるウィンドウ」を指すことができ、ウィンドウはＧＵＩオブジェクトの集合であることができる。
【００１２】
ここで図１を参照して、画面上にレンダリングされた場合に、真正なＵＩオブジェクトの識別を容易にする検証システム１００の一般的なブロック図を示す。システム１００は、装置の状態を監視して装置の状態の変化を検出することができる検出コンポーネント１１０を含む。この装置は、ラップトップ、ＰＤＡ、タブレット型ＰＣ、デスクトップＰＣ等、いかなるコンピューティング装置であってもよい。実際、ユーザがアプリケーションまたはウェブページと相互作用した結果、信用情報、重要なプロンプト、または他の決定の確認を含むウィンドウまたはダイアログボックスが現れる場合を考えてみよう。例えば、ウィンドウを、信頼できるＵＩオブジェクトストア１３０から検索され装置の画面上にレンダリングされた１つまたは複数の信頼できるＵＩオブジェクト１２０から構成することができる。いかなる情報をも入力する前、またはウィンドウ内に提示されているＵＩオブジェクト（例えば、ボタン）のいずれもクリックする前に、ユーザはウィンドウ、またはそこに含まれるレンダリングされたＵＩオブジェクトが、実際正規のものであり信頼できるＵＩオブジェクトストア１３０からのものであることを検証することができる。
【００１３】
検証モードは、ユーザがトリガすることが可能であり、それによりユーザの装置上で状態変化が起こる。検出コンポーネント１１０はその変化、及び特に検証モードが起動されたことを検出することができる。検証中は、検証コンポーネント１４０はレンダリングされたＵＩオブジェクトの少なくとも１つのサブセットのソース、または真正性を確認することができ、従って機密情報の不正なアプリケーションまたはウェブサイトへの送信を軽減する。検証は、少なくとも２つの異なる方法で実施することができる。第一には、レンダリングされたＵＩオブジェクトまたはＵＩバンドル各々に対して、暗号ハッシュを計算または渡すことができる。検証コンポーネント１４０は、このハッシュが、信頼できるＵＩオブジェクトストア１３０内に元々記憶されたものであるということを検証することができる。当然のことながら、限定はしないが、デジタル署名、直接文字列比較、ＨＭＡＣＳ等のような適切なハッシュ検証技術ならいずれも実装することができる。第二には、ウィンドウをレンダリングするために利用するＵＩオブジェクトを、個々によりもむしろ集合として検証することができる。ここで再び、検証コンポーネント１４０は、集合上の暗号ハッシュを判定して、次いで信頼できるＵＩオブジェクトストア１３０内で見つけたものとそのハッシュを比較することができる。
【００１４】
検証が成功する場合、検証レンダリングエンジン１５０が検証されたウィンドウまたはＵＩオブジェクトの外観を視覚的に修正することができる。そのような視覚的修正には、限定はしないが、検証されたＵＩオブジェクトを異なった色で、及び／または異なった外見テクスチャもしくは画像（例えば、透かし）でレンダリングすることを含むことができる。検証されたウィンドウまたは検証されたＵＩオブジェクトのセットはまた、同じディスプレイ上でもそのディスプレイ上の特定の位置、またはその装置に動作可能に接続された別個の画面（例えば、二次画面／モニター）上でレンダリングすることもできる。装置の表示画面は、異なる表示領域（例えば、インセットビュー、またはピクチャ・イン・ピクチャ）に分割することもでき、各々の表示領域は別個のオペレーティングシステムまたはプロセッサにより制御される。この場合、検証されたウィンドウまたはＵＩオブジェクトは、インセットビューの中でレンダリングされる。上述の何れかの方法で、検証されたＵＩオブジェクトをレンダリングすることにより、信頼できるソースまたはアプリケーションに関連した正規のＵＩオブジェクトと、未知のまたは承認されていないアプリケーションによりレンダリングされ、対応する正規のＵＩオブジェクトと同様に見せようとする偽のＵＩオブジェクトとを、ユーザはすぐに区別することができる。当然のことながら、検証レンダリングエンジンは、検証されていないウィンドウまたはＵＩオブジェクトの外観に視覚的な修正を与えることができる。言い換えれば、システム１００は視覚的な修正を介した識別を提供して、検証されたウィンドウ、ＵＩオブジェクトを識別、または真正でないウィンドウ、ＵＩオブジェクトを識別することが可能である。さらに、当然のことながら、視覚化技術（例えば、変換技術等）は、ユーザ／機械に対して真正な、及び／または真正でないウィンドウ及び／またはＵＩオブジェクトを識別することができる任意の適切な技術であることができる。例えば、画像を直接修正する等、この変換をテクスチャ表面に直接適用することが可能である。
【００１５】
ここで図２を参照して、信頼できるＵＩオブジェクトをレンダリングし、そのようなオブジェクトのアイデンティティを検証し、それらのアイデンティティが検証された場合そのような真正なＵＩの外観を修正することを容易にする検証システム２００のブロック図を示す。システム２００は、レンダリング要求を最初に受信して処理するレンダリングコンポーネント２１０を含む。例えば、ユーザがアプリケーションと相互作用し、そのような相互作用が複数のＧＵＩまたはＵＩオブジェクトを含むウィンドウのレンダリングを要求する。レンダリング要求が生成され、ＧＵＩ検証マネジャ２３０とインタフェースをとるトラッキングコンポーネント２２０に伝達することができる。ＧＵＩ検証マネジャ２３０は、１つまたは複数の信頼できるＵＩオブジェクトストアからウィンドウを適切にレンダリングするために必要なＵＩオブジェクトを検索する。
【００１６】
信頼できるＵＩオブジェクトストアを、ローカルシステム（２４０）上及び／またはリモートシステム２５０（例えば、ウェブサーバ）上に配置することができる。当然のことながら、このＵＩオブジェクトストアは、独立して承認されて検証されている、デジタル署名もしくは暗号化されたＵＩオブジェクトまたはオブジェクトバンドルを備える。オブジェクトのデジタル署名は、オペレーティングシステム及びそのコンポーネントをコンパイルまたは分散する際に行うことが可能である。例えば、信頼できるＧＵＩバンドルは、特定の信頼できるウィンドウをレンダリングするのに必要なすべてのオブジェクトのうちの、暗号化されたオブジェクトまたはデジタル署名されたハッシュのプログラムの集合でありうる。殆どどのようなウィンドウを生成またはレンダリングするのにも必要なＵＩオブジェクトの組合せは、ユーザ間では変わりそうにはないので、そのようなＵＩオブジェクトをローカルに及び／またはリモートに確保し記憶することができる（例えば、ディスク、他のハードウェア、サーバ）。さらに本請求の主題は、限定はしないが、デジタル署名、暗号化、透かし、ステガノグラフィ変換等といった独立した検証及び／または認証のための、任意の適切な技術及び／または方法を含むことができる。
【００１７】
適切なＵＩオブジェクトが各々のＵＩオブジェクトストアから検索されると、ＧＵＩ検証コンポーネント２３０は、各オブジェクトまたはバンドルがまだ手を加えられていないということを検証することができる。従って、暗号化されたバンドルをレンダリングコンポーネント２１０に戻すことができる。トラッキングコンポーネント２２０は、レンダリング要求があったすべて、もしくは実質的にすべてのレンダリングされた（信頼できる）ＵＩオブジェクトまたはバンドルの内部トラッキングテーブルを維持する。しかしながら、レンダリングコンポーネント２１０がＵＩオブジェクトの特定のバンドルをレンダリングすることができない場合は、次いでそのバンドルまたはウィンドウに対する入力をテーブルから除くことができる。
【００１８】
ＵＩオブジェクトの信頼できるバンドルをレンダリングコンポーネント２１０に伝達し戻すと、レンダリングコンポーネント２１０はユーザに対して適切な画面上に信頼できるバンドルまたはウィンドウをレンダリングすることができる。個人的な情報を送信する前に、またはボタンをクリックもしくは他のどのような情報でも送信する前に、そのウィンドウが実際正規のものであることをユーザが検証したいという場合を、ここで考えてみよう。そうするためには、検証プロセスをトリガするために、ユーザはシステム２００により発見可能なある種のユーザベースの入力を提供する。このユーザベースの入力は、限定しないが、キーストロークまたは安全注意のシーケンス（ｓｅｃｕｒｅ  ａｔｔｅｎｔｉｏｎ  ｓｅｑｕｅｎｃｅ）、装置の画面上の指定された位置でのマウスクリック、一体型カメラもしくは他のセンサにより検出される手または指によるジェスチャ、口頭命令、目の動き、及び／または、発見可能で、翻訳可能で、ユーザのデスクトップの現在の動作モードを状態変化させるのに使用される、ユーザにより行われる任意の他の種類の体の動きを含むことができる。
【００１９】
たとえば、ｃｏｎｔｒｏｌ−ａｌｔ−ｄｅｌｅｔｅキーストロークシーケンスのような安全注意のシーケンスをユーザが実施する場合を考えてみよう。これにより、現在のデスクトップの状態が検証プロセスを開始する検証モードに入るようトリガすることができる。ＧＵＩ検証レンダリングエンジン２６０は、この状態変化を検出して検証要求を処理することができる。ＧＵＩ検証レンダリングエンジン２６０は、ＯＳのユーザモードのコンポーネントであると考えられる。検証プロセスが開始されると、ＧＵＩ検証レンダリングエンジン２６０は、現在レンダリング中のウィンドウ全てを数え上げて、信頼できるウィンドウとしてタグ付けされているか否かに従って、分類することができる。信頼できるウィンドウ（例えば、ｖＷｉｎｄｏｗ）各々に対して、ＧＵＩ検証レンダリングエンジン２６０は、信頼できるウィンドウ各々が本当に信頼できるウィンドウであり偽りがないことを検証するように、ＧＵＩ検証マネジャ２３０に要求する。これを、現在レンダリングされている全てのオブジェクトの暗号ハッシュを計算、または渡すことにより、ある程度遂行することができる。ＧＵＩ検証マネジャ２３０は、このハッシュは、信頼できるＧＵＩオブジェクトストア（２４０、２５０）の少なくとも１つの中に元々記憶されたものであるということを検証することができる。
【００２０】
信頼できるウィンドウが正規のものであると検証されると、ＧＵＩ検証レンダリングエンジン２６０は、検証された（信頼できる）ウィンドウまたはＵＩオブジェクト上で１つまたは複数の視覚的な変換を実施することができる。例えば、検証されたウィンドウの色を、特定の色に変更することができる。検証されたウィンドウを検証されていないウィンドウとは異なるようにレンダリングするために、１つまたは複数の変換用パラメータが適切なレンダリングコンポーネントまたはサブコンポーネントに伝達される。場合によっては、または望むならば、検証されたウィンドウだけを表示することが可能で、従って検証されていないウィンドウはいずれも画面から除去することができる。
【００２１】
検証されたウィンドウまたはＵＩオブジェクトに適用される視覚的な変換は、ユーザが何らかの指定されたアクションを実施するか、またはそうでなければデスクトップと相互作用するまで永久的な状態で存続させることができる。あるいは、変換は一時的なものであり、ある期間が経過した後で消失する（例えば、事前に設定したタイマに従って）ようにすることも可能である。
【００２２】
検証されたウィンドウの一般的な外観、または表面のテクスチャに影響することに加えて、視覚的な変換は別の外付けディスプレイ上に検証されたウィンドウをレンダリングすることも含むことができる。例えば、ユーザは外付けディスプレイを指定して検証されたウィンドウだけを表示することができる。
【００２３】
検証モードのデスクトップとして動作する孤立したデスクトップのような、既存の信頼できるＵＩを通じて検証が生じる可能性がある。同様に、検証された信頼できるウィンドウ（または検証されたｖＷｉｎｄｏｗ）をレンダリングするだけの異なるデスクトップでユーザに提示することができる。この場合、これらのＵＩオブジェクトと相互作用するために、別個の入力方法が要求される可能性がある。そこで、ユーザによるＧＵＩ相互作用は、オペレーティングシステム及びＧＵＩと相互作用する別のコンポーネントを通じて元のデスクトップにプロキシを戻すことができる。そうでなければ、ユーザのコンピュータに取り付けられているＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）上のように、外部ＵＩを通じて検証を行うことができる。
【００２４】
図３は、承認されたＵＩオブジェクトと、他の未知のアプリケーションによりレンダリングされたＵＩオブジェクトとを容易に区別するために、ＵＩオブジェクトを検証して、それらをユーザに異なるようにレンダリングすることを容易にする検証システム３００の包括的なブロック図である。システム３００は少なくとも２つの主要な動作を実施することができる。即ち、信頼できるウィンドウをレンダリングすること、及びそれらの信頼できるウィンドウのアイデンティティを検証することである。例えば実際に、信用情報を有するダイアログのようなｖＷｉｎｄｏｗまたは何らかの他の識別可能なＵＩオブジェクトをレンダリングするよう要求するアクションをユーザが実施する。このｖＷｉｎｄｏｗをレンダリングする要求を生成し、次いでユーザＧＵＩサブシステム３１０を通じてＯＳカーネル３２０（ＯＳマネジャ）にフィルタリングすることができる。ＯＳカーネル３２０は、要求がｖＷｉｎｄｏｗに対するものであることを認識して、次いでＧＵＩ検証マネジャ３３０からの特定のバンドルを要求することができる。ＧＵＩ検証マネジャ３３０は、１つまたは複数の信頼できるＧＵＩバンドルストア３４０からそのｖＷｉｎｄｏｗに対して対応する信頼できるＧＵＩバンドルを検索する。ＯＳカーネル３２０は、ユーザＧＵＩサブシステムに暗号化されたバンドルを返して、そのｖＷｉｎｄｏｗを、レンダリングされている現在の全ｖＷｉｎｄｏｗの自身の内部トラッキングテーブル３５０に追加する。ＧＵＩサブシステム３１０は、この暗号化されたバンドルを適切なユーザＧＵＩインスタンス（例えば、コーリングインスタンス）に渡して、仮定したｖＷｉｎｄｏｗをユーザに対してレンダリングする（３６０）。しかしながら、ユーザＧＵＩサブシステム３１０がｖＷｉｎｄｏｗをレンダリングすることに失敗する場合、次いでそのエントリはトラッキングテーブル３５０から除去される。
【００２５】
ユーザに対してレンダリングされると、仮定したｖＷｉｎｄｏｗ３６０は一般的に画面上に現れる他のどのウィンドウからも識別不能に見え、ウィンドウのソースが見た目の通りか否か見分けることを困難にしている。この判定をユーザがより容易にできるようにするため、ユーザは他のウィンドウとは目に見えて異なる方法で真のｖＷｉｎｄｏｗがレンダリングされている検証モードをアクティブにすることができる。上記図１及び図２で議論したように、ＧＵＩ検証マネジャ３３０はレンダリングされたｖＷｉｎｄｏｗの暗号ハッシュを信頼できるＵＩバンドルストア３４０に元々記憶されたものと比較することができる。一致が見つかるかまたは確認される場合、検証が成功したとみなされ、ｖＷｉｎｄｏｗを視覚的に修正し、そのアイデンティティが検証済みであり正規なものであることを示すことができる（３７０）。
【００２６】
図４と図５中のウィンドウは、検証されたウィンドウと検証されていないウィンドウとを容易に区別するために適用可能な様々な視覚的な変換を示している。さらに詳細には、図４は１つまたは複数のＵＩオブジェクトを含み、そのアイデンティティはその真正性またはソースを判定するために検証可能である例示的なウィンドウ４００を示す。ここで、ユーザはアカウント情報にアクセスするために、機密情報を入力するよう促される。そのような情報を入力する前に、ユーザはこのウィンドウ４００のソースを検証することができる。
【００２７】
図５は、ＵＩオブジェクトの以下の検証をレンダリングした結果生じるウィンドウを示す。特に、図４からのウィンドウ４００は、ウィンドウの端部周辺に緑色に色付けした境界を追加することにより、視覚的に修正されている。当然のことながら、ユーザが容易にはっきり見える範囲で任意の色付けした境界を選択することができる。あるいは、またはさらに、ウィンドウの表面にテクスチャまたはオーバーレイを適用することができる。ここでは、ドットまたはバンプの表面がウィンドウ表面上に適用されている。ユーザが一旦何らかの方法で検証されたウィンドウと相互作用すると、視覚的な変換は消失しうる。さらに当然のことながら、視覚化技術（例えば、変換技術等）は、ユーザ／マシンにとって、真正な、及び／または真正でないウィンドウ及び／またはＵＩオブジェクトを識別することができる任意の適切な技術であることができる。例えば、変換はテクスチャ表面に直接適用可能であり、画像を直接修正することができる。
【００２８】
場合によっては、ユーザが、ウィンドウ全体及びそこに含まれたＵＩオブジェクト全てを検証したくはない、または検証する必要がない可能性もある。そのような場合は、ユーザはどのＵＩオブジェクトまたはサブウィンドウが検証を必要としているかを選択することができる。別の例では、ユーザインタフェースは検証プロセスの一部であることができる。（例えば、ＵＩコンポーネントの選択は、信頼できるリモートのワークステーション内で存続できるが、ユーザのローカルワークステーション内では存続できない）図６は、レンダリングされたウェブページのウィンドウ６００のための例示的なユーザインタフェースを示す。破線領域６１０で示すように、ＵＩオブジェクトを選択的な方法で検証することができる。ユーザは、どのＵＩオブジェクトを検証すべきかを選択するか、またはウィンドウ内にレンダリングされたＵＩオブジェクトを評価して、プライバシーまたはセキュリティの懸念に関してどれがユーザに一番大きく影響を与えそうかを判定するＵＩオブジェクトアナライザ（図示せず）により誘導されることができる。その後で、アナライザはどのＵＩオブジェクトを検証すべきかを提案するか、または自動的に選択することができる。
【００２９】
図６に続いて、図７は選択されたＵＩオブジェクト７１０が検証された後のウェブページ７００の結果のビューを示す。示すように、影響を受けたＵＩオブジェクトは色を使用することにより（例えば、選択されたＵＩオブジェクトの周囲の色付き境界）視覚的に修正されているので、ユーザは選択されたＵＩオブジェクト７１０は実際検証されていて、信用できると考えられるということを容易に認識することができる。ウェブページの他の部分は変更されず、検証プロセスにより影響されることはない。当然のことながら、スパマーまたは他の不正な会社により操作されているリンクをクリックすることを軽減するために、広告を検証することもできる。
【００３０】
レンダリングされたＵＩオブジェクトのレンダリング及び検証は単一のオペレーティングシステム上で実施することが可能であり、検証されたＵＩオブジェクトは、任意の検証されていないＵＩオブジェクトと一緒に、またはなしで単一のディスプイ上に現わすことができる（例えば、以下の図８）。あるいは、二重のオペレーティングシステムを用いてレンダリング及び検証を実施することもできる。二重のディスプレイを利用して、各オペレーティングシステムに対応することができる。例えば、第一のオペレーティングシステム及びディスプレイを、ＵＩオブジェクトを最初にレンダリングしてそのアイデンティティを検証するために使用することができ、一方、第一のオペレーティングシステムと通信している第二のオペレーティングシステムを利用して、検証されたＵＩオブジェクトだけをレンダリングして相互作用することができる。（例えば、以下の図９）
【００３１】
しかしながら、二重のオペレーティングシステムを使用する場合には、二重のディスプレイは必要ではない。特に、単一のディスプレイは二重のオペレーティングシステムを共有可能であり、その場合には、１つのオペレーティングシステムがディスプレイのある部分を制御して、他のオペレーティングシステムがディスプレイのその他の部分を制御する（例えば、ピクチャ・イン・ピクチャのディスプレイ）。検証されたＵＩオブジェクトをディスプレイの指定された半分を使用して見る及び／または相互作用することができ、他の検証されていないＵＩオブジェクト全てをディスプレイの他の半分で見る及び／または操作することができる場合を考えてみよう。当然のことながらディスプレイの例としては、限定はしないが、コンピューティング装置の画面、周辺機器のモニタ／画面、テレビのモニタ等を含むことができる。例えば、ユーザのコンピューティング装置に取り付けたスマートフォンの画面上のような外付けＵＩディスプレイ上で、検証されたウィンドウだけを視覚化することができる。
【００３２】
ここで図８を参照すると、検証され承認されたＵＩオブジェクトに対する視覚的変換の例示的適用が示されている。特に、ディスプレイ８１０はユーザに対してアカウント本人証明チェックウィンドウ８２０を最初に提示する。要求される情報のいずれかを入力する前に、ユーザは検証モード８３０を起動して、アカウント本人証明ウィンドウ８２０の真正性を検証することができる。検証モードの中でも、検証されたアカウント本人証明チェックウィンドウ８４０を、そのウィンドウが検証されていることをはっきりと示す１つまたは複数の視覚的変換を使用して、ユーザに提示することができる。図８に示すように、このウィンドウ８４０が検証されていることを、ユーザは簡単に視覚化することができる。第一に、アカウント本人証明チェックウィンドウ８４０は周囲に色付き境界を有する。第二に、検証されたＵＩオブジェクトまたはウィンドウをレンダリングするために指定されているディスプレイＡ上の特定の位置に、ウィンドウ８４０を提示する。もし画面上にアカウント本人証明チェックウィンドウ８４０と共に他の検証されていないＵＩオブジェクトがある場合には、それらはもともとレンダリングされているかのように見えるであろう。あるいは、それらを完全にディスプレイから除去するか、またはフェードアウトさせるかもしくは検証されたウィンドウに比べて半透明に見えるようにすることができる。
【００３３】
図９に示すように、検証されたＵＩオブジェクトまたはウィンドウを、別個のディスプレイ上に提示することもできる。検証プロセスの完了後に、検証されたウィンドウまたは検証されたＵＩオブジェクトを別個の画面、即ちディスプレイＢ上にレンダリングすることができる。検証されていないウィンドウまたはＵＩオブジェクトはいずれも、それらが元々レンダリングされたディスプレイ、即ちディスプレイＡ上で目に見える状態のままであることができる。さらに、元々ディスプレイＡ上にレンダリングされたコンテンツ全てについても同様のままである。この状況の組み合わせのもとで、選択したウィンドウは検証され、ユーザがディスプレイＡのコンテンツとの相互作用を進めることができるということをユーザに知らせる目的のためだけに、別個の画面を用いることができる。あるいは、別個のオペレーティングシステム及び／または入力機構が、ディスプレイＢ上に示された検証されたコンテンツを制御することができる。図９に特に示していないが、当然のことながら、他の視覚的変換もまた検証されたウィンドウに適用できる。
【００３４】
ここで一連の動作を介して様々な方法論を記述する。当然のことながら、本主題の出願に従って、本明細書に示され記述されたものとは異なる順番で起こる、及び／または他の動作と同時に起こる動作もあるので、本主題のシステム及び／または方法論は動作の順番に限定されない。例えば、状態図中のように、方法論は一連の相互に関連する状態または事象として代替的に表すことができるということを当業者は理解し認識するであろう。さらに、図示した動作全てについて、本主題の出願に従って方法論を実装することが必要なわけでもない。
【００３５】
ここで図１０を参照して、画面上にレンダリングされた場合に真正なＵＩオブジェクトの識別を容易にする例示的方法１０００のフロー図を示す。方法１０００は、１０１０でｖＷｉｎｄｏｗ（または１つまたは複数の信頼できるＵＩオブジェクト）をレンダリングすることを含む。方法１０００内では示してないが、１０１０でレンダリングされたｖＷｉｎｄｏｗは、あとで参照するためにトラッキングテーブル内に記録することができる。
【００３６】
ｖＷｉｎｄｏｗの計算されたハッシュと信頼できるＵＩオブジェクトデータストアに記憶されたハッシュ値を一致させることにより、ｖＷｉｎｄｏｗの真正性を少なくともある程度検証することができる。承認されたｖＷｉｎｄｏｗを、１０３０で少なくとも１つの視覚的変換を使用してレンダリングすることができる。場合によっては、ハッシュ技術を使用して検証に失敗することもありうる。そうした場合には、方法１０００はトラッキングテーブルを参照して、ｖＷｉｎｄｏｗがリストにあるか否かを判定することができる。一致が見られる場合、次いでｖＷｉｎｄｏｗは承認されそれに応じて視覚的に変更がなされる。図１０に示してはいないが、他のｖＷｉｎｄｏｗを含む他のウィンドウとは異なるようにレンダリングされている承認されたｖＷｉｎｄｏｗの記録を、方法１０００が追跡して保持することもできる。
【００３７】
当然のことながら、方法１０００と同様に本明細書で上記されているように、ｖウィンドウの管理はユーザのコンピューティング装置のオペレーティングシステム内、または何らかの他の中央の権威（例えば、署名の権威）内で行うことができる。中央の権威は、ｖウィンドウを管理して、それをオペレーティングシステムユーザに分配して必要に応じて検証することができる。
【００３８】
図１１を参照して、真正なＵＩオブジェクトをレンダリングし、それらのアイデンティティが正規のものであることを確認し、それらのアイデンティティが一旦検証されると、そのような真正なＵＩオブジェクトの外観を修正することを容易にする例示的方法１１００のフロー図を示す。方法１１００は、１１１０で１つまたは複数の信頼できるＵＩオブジェクトをレンダリングする要求を受信することを含む。１１２０で、１つまたは複数のＵＩオブジェクトを、少なくとも１つの信頼できるＵＩオブジェクトデータストアからローカル及び／またはリモートに検索することができる。次いで１１３０で、１つまたは複数の信頼できるＵＩオブジェクトを、ユーザに対してレンダリングすることができる。ある特定のユーザに対してどの信頼できるＵＩオブジェクトがレンダリングされたかを追跡するために、１１３０でレンダリングされた１つまたは複数の信頼できるＵＩオブジェクトを、１１４０でテーブルにログインすることもできる。
【００３９】
１１５０で、その方法は、１１３０でレンダリングされた１つまたは複数のＵＩの信頼できるオブジェクトの検証を開始する、発見可能なユーザベースのアクションを検出することができる。ユーザは、レンダリングされたＵＩオブジェクトの全てまたはサブセットの検証を要求することができる。１１６０で、選択されたＵＩオブジェクトのアイデンティティまたはソースを検証することができる。肯定的に検証された、または検証されなかったオブジェクトを、１１７０で１つまたは複数の視覚的変換を使用して再レンダリングすることができる。視覚的変換の例は、限定はしないが、ＵＩオブジェクト（またはウィンドウ）の周りに境界または色付けした境界を適用すること、オーバーレイを使用してウィンドウまたはＵＩオブジェクトの表面のテクスチャを修正すること、検証されていないオブジェクトの半透明性を増すかまたはそれらを画面から完全に除去すること、検証されたウィンドウまたはＵＩオブジェクトを強調表示すること、オブジェクトまたはウィンドウの大きさを修正すること等を含む。さらに、検証されたオブジェクトまたはウィンドウを、指定されたディスプレイの特定の位置にレンダリングすることができる。ディスプレイは、信頼できるオブジェクトまたはウィンドウを最初にレンダリングするために使用したものと同じディスプレイであってもよいし、別個の外付けディスプレイであってもよい。
【００４０】
検証が失敗する場合、またはｖＷｉｎｄｏｗが検証プロセスを通じて検証できない場合には、図１２で提示するように例示的方法１２００が一連のアクションを提供する。方法１２００は（１２１０で）、例えば１１１０で方法１１００によりレンダリングされた信頼できるｖＷｉｎｄｏｗのトラッキングテーブルを調べる、または参照することを含む。一致するものがある場合、検証は成功であり、それに応じて１２２０で１つまたは複数の視覚的変換を適用することができる。しかしながら、検証が不成功のままであれば、検証されていないｖＷｉｎｄｏｗは１２３０で視覚的に変更される（例えば、フェードアウト、またはさもなければあまり強調しないように）ので、ユーザはｖＷｉｎｄｏｗが検証できなかったことに視覚的に気がつく。
【００４１】
しかしながら、検証が成功する場合、図１３に示すように以下の少なくとも１つを、検証されたｖＷｉｎｄｏｗ上で実施できる。１３１０で、例えば色、表面のテクスチャもしくはオーバーレイ、または何らかの他の明白な変更をｖＷｉｎｄｏｗに加えることにより、検証されたｖＷｉｎｄｏｗを視覚的に修正し、他の検証されていないｖＷｉｎｄｏｗと容易に区別することができる。さらに、またはその代りに、検証されたｖＷｉｎｄｏｗ（またはＵＩオブジェクト）を、別個のディスプレイもしくはデスクトップ上に、または同じディスプレイもしくはデスクトップの指定した部分にレンダリングすることができる。１３２０で、検証されたｖＷｉｎｄｏｗをテーブルまたはリストにログインすることができるので、どのウィンドウが異なるようにレンダリングされているかをオペレーティングシステムまたは中央の権威が追跡し続けることができる。
【００４２】
ユーザが検証されたｖＷｉｎｄｏｗまたはＵＩオブジェクトと、ある方法でまたはある設定期間に限り暫定的に相互作用をするまで、視覚的変換または修正は永久的に有効である。例えば、検証されると色付き境界がウィンドウに追加される場合を考えてみよう。ユーザがウィンドウをクリックするか（永久的）または１０秒が経過する（暫定的）までは、この色付き境界が存在し続けられる。
【００４３】
本主題の発明の様々な態様に対する追加のコンテキストを提供するために、図１４及び以下の議論は、本主題の発明の様々な態様を実装することが可能な適切な動作環境１４１０の、簡潔で一般的な記述を提供することを意図するものである。本発明を、１つまたは複数のコンピュータまたは他の装置により実行される、プログラムモジュールのようなコンピュータが実行可能な命令の一般的なコンテキストとして記述するが、他のプログラムモジュールとの組み合わせにおいて、及び／またはハードウェア及びソフトウェアの組み合わせとして、本発明を実装することもできることを当業者は認識するであろう。
【００４４】
しかしながら、一般的にはプログラムモジュールは、特定のタスクを実施するかまたは特定のデータ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。動作環境１４１０は、適切な動作環境の単なる一例であり、本発明の使用範囲または機能性についていかなる制限をも示唆することを意図しない。本発明を使用するのに適切な公知の他のコンピュータシステム、環境、及び／または構成は、限定はしないが、パーソナルコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境等を含む。
【００４５】
図１４を参照すると、本発明の様々な態様を実装する例示的環境１４１０はコンピュータ１４１２を含む。コンピュータ１４１２は、処理ユニット１４１４、システムメモリ１４１６、及びシステムバス１４１８を含む。システムバス１４１８は、限定はしないが、システムメモリ１４１６を含むシステムコンポーネントを、処理ユニット１４１４に結合する。処理ユニット１４１４は、様々な利用可能なプロセッサのいずれでもよい。デュアルマイクロプロセッサ及び他のマルチプロセッサアーキテクチャもまた、処理ユニット１４１４として用いることができる。
【００４６】
システムバス１４１８は、メモリバスまたはメモリコントローラ、周辺バスまたは外部バス、及び／または様々な利用可能なバスアーキテクチャのいずれかを使用したローカルバスを含む、数種類のバスアーキテクチャのいずれかであることができる。様々な利用可能なバスアーキテクチャには、限定はしないが、１１ビットバス、ＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＭＣＡ（Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＬＢ（ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ  ｂｕｓ）、及びＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）が含まれる。
【００４７】
システムメモリ１４１６は、揮発性メモリ１４２０及び不揮発性メモリ１４２２を含む。コンピュータ１４１２内の要素間で情報を転送するための基本的なルーチンを含むＢＩＯＳが、起動中等に、不揮発性メモリ１４２２中に記憶される。説明のためであり、限定はしないが、不揮発性メモリ１４２２はＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリを含むことができる。揮発性メモリ１４２０は、ＲＡＭを含み、それは外付けのキャッシュメモリとして動作する。説明のためであり、限定はしないが、例えばＳＲＡＭ、ＤＲＡＭ、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＥＳＤＲＡＭ、ＳＬＤＲＡＭ、ＤＲＲＡＭ等、多くの形式でＲＡＭを入手することができる。
【００４８】
コンピュータ１４１２は、取り外し可能／取り外し不能、揮発性／不揮発性コンピュータストレージ媒体を含む。図１４は、例えばディスクストレージ１４２４を示す。ディスクストレージ１４２４は、限定はしないが、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックのような装置を含む。さらに、ディスクストレージ１４２４は、別個にまたは他のストレージ媒体と組み合わせて、ストレージ媒体を含むことができる。ストレージ媒体は、限定はしないが、ＣＤ−ＲＯＭ、ＣＤ−Ｒ  Ｄｒｉｖｅ、ＣＤ−ＲＷ  ＤｒｉｖｅまたはＤＶＤ−ＲＯＭ等の光ディスクドライブを含む。ディスクストレージ１４２４のシステムバス１４１８への接続を容易にするために、インタフェース１４２６等の取り外し可能または取り外し不能インタフェースが一般に使用される。
【００４９】
当然のことながら、図１４は、ユーザと適切なオペレーティング環境１４１０で記述される基本的なコンピュータリソースとの間の中間物として動作するソフトウェアを記述する。そのようなソフトウェアは、オペレーティングシステム１４２８を含む。オペレーティングシステム１４２８は、ディスクストレージ１４２４上に記憶することができるが、コンピュータシステム１４１２のリソースを制御及び割り当てるように動作する。システムアプリケーション１４３０は、プログラムモジュール１４３２、及びシステムメモリ１４１６内またはディスクストレージ１４２４上のどちらかに記憶されたプログラムデータ１４３４を通じてオペレーティングシステム１４２８によるリソースの管理を利用する。当然のことながら、本主題の発明は様々なオペレーティングシステムまたはオペレーティングシステムの組み合わせで実装できる。
【００５０】
ユーザは、入力装置１４３６を通じて命令または情報をコンピュータ１４１２に入力する。入力装置１４３６は、限定はしないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディシュ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ等のポインティングデバイスを含む。インタフェースポート１４３８を介してシステムバス１４１８を通じて、これら及び他の入力装置を処理ユニット１４１４に接続する。インタフェースポート１４３８は、例えば、シリアルポート、パラレルポート、ゲームポート、及びＵＳＢを含む。出力装置１４４０は、入力装置１４３６と同じ種類のポートを幾つか使用する。従って、例えばＵＳＢポートは、コンピュータ１４１２に入力を提供して、コンピュータ１４１２からの情報を出力装置１４４０に出力するのに使用することが可能である。出力アダプタ１４４２は、他の出力装置１４４０の中に、モニタ、スピーカ、及びプリンタのような特殊なアダプタを必要とするいくつかの出力装置１４４０があるということを示すために提供されている。出力アダプタ１４４２は、説明のためであり限定するものではないが、出力装置１４４０とシステムバス１４１８との間の接続手段を提供するビデオ及びサウンドカードを含む。他の装置及び／または装置のシステムは、リモートコンピュータ１４４４等の入力及び出力の両方の能力を提供するということに留意しなければならない。
【００５１】
コンピュータ１４１２は、リモートコンピュータ１４４４等の１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ１４４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの電化製品、ピアデバイス、または他の共通ネットワークノード等であることができ、一般にコンピュータ１４１２に関して記述された要素の多くのまたは全てを含む。簡潔にするために、リモートコンピュータ１４４４について、メモリストレージデバイス１４４６だけを示す。リモートコンピュータ１４４４は、ネットワークインタフェース１４４８を通じてコンピュータ１４１２に論理的に接続され、次いで通信接続１４５０を介して物理的に接続される。ネットワークインタフェース１４４８は、ＬＡＮ及びＷＡＮ等の通信ネットワークを包含する。ＬＡＮ技術は、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、ＣＤＤＩ（Ｃｏｐｐｅｒ  ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）、イーサネット（登録商標）／ＩＥＥＥ１１０２．３、トークンリング／ＩＥＥＥ１１０２．５等を含む。ＷＡＮ技術は、限定はしないが、ポイントツーポイント接続、ＩＳＤＮのような回路交換ネットワーク及びその変形、パケット交換ネットワーク、ならびにＤＳＬを含む。
【００５２】
通信接続１４５０は、ネットワークインタフェース１４４８をバス１４１８に接続するために用いられるハードウェア／ソフトウェアのことをいう。通信接続１４５０は、説明を明確にするためコンピュータ１４１２の内部に示されているが、コンピュータ１４１２に外付けすることもできる。ネットワークインタフェース１４４８に接続するのに必要なハードウェア／ソフトウェアは、例をあげる目的だけだが、普通の電話用のモデム、ケーブルモデム、及びＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、ならびにイーサネット（登録商標）カード等の内蔵技術及び外付け技術を含む。
【００５３】
上述の内容は、本主題のシステム及び／または方法の例を含む。本主題のシステム及び／または方法を記述するために、コンポーネントまたは方法の考えられる組み合わせ全てを記述することは勿論不可能であるが、本主題のシステム及び／または方法の多くのさらなる組み合わせ及び置換が可能であることを、当業者は認識することができる。従って、本主題のシステム及び／または方法は、添付した特許請求の範囲の精神と範囲内にあるそのような変更、修正、変化全てを包含するよう意図するものである。さらに、用語「含む」が、発明を実施するための形態または特許請求の範囲のどちらかの中で使用される限りでは、用語「備える」が請求項の中で遷移語として使用される場合に解釈されているように、用語「備える」と同様に包含的であることを意図している。
【図１】
2010507173.tif 000003
【図２】
2010507173.tif 000004
【図３】
2010507173.tif 000005
【図４】
2010507173.tif 000006
【図５】
2010507173.tif 000007
【図６】
2010507173.tif 000008
【図７】
2010507173.tif 000009
【図８】
2010507173.tif 000010
【図９】
2010507173.tif 000011
【図１０】
2010507173.tif 000012
【図１１】
2010507173.tif 000013
【図１２】
2010507173.tif 000014
【図１３】
2010507173.tif 000015
【図１４】
2010507173.tif 000016
【国際調査報告】
2010507173.tif 000017
2010507173.tif 000018