(57)【要約】【課題】一実施形態において、オペレータが人間であることを検証するコンピュータ方法は、自動的にパターンを選択すること、およびパターンを複数のテクスチャに分割することを含む。【解決手段】方法は、３Ｄエクスペリエンス内の異なるそれぞれの表示された要素上に、各テクスチャを投影することをさらに含む。加えて方法は、３Ｄエクスペリエンス内の異なるそれぞれの表示要素のうちの少なくとも１つの表示された要素の位置および／または向きをランダム化することを含む。方法は、パターンを解決し、パターンを出現／再出現させるために、ランダム化された要素のオペレータ操作を受け取ることも含む。方法は、パターンが出現／再出現させられた場合、オペレータにアクセスを許可することをさらに含む。オペレータがパターンを出現／再出現させたと判定した場合、アクセスは許可され、オペレータがパターンを出現／再出現させることに失敗した場合、アクセスは拒否される。【選択図】図１
2014130599.tif 000002
【特許請求の範囲】
【請求項１】
オペレータが人間であることを検証するコンピュータ実装方法であって、
パターンを選択するステップと、
前記パターンを複数のテクスチャに分割するステップと、
異なるそれぞれの３Ｄ要素上に各テクスチャを投影するステップと、
前記異なるそれぞれの３Ｄ要素のうちの少なくとも１つの３Ｄ要素の位置および向きのうちの少なくとも１つをランダム化するステップと、
ディスプレイデバイスで、前記少なくとも１つのランダム化された３Ｄ要素を含む前記３Ｄ要素の少なくとも一部を表示するステップと、
前記パターンを再作成するために、前記ランダム化された３Ｄ要素のオペレータ操作を受け取るステップと、
前記パターンが再作成された場合、前記オペレータが人間であるかどうかを判定するステップと
を含むことを特徴とするコンピュータ実装方法。
【請求項２】
パターンを選択するステップは、マルチメディア表現を選択するステップを含み、前記マルチメディア表現は、ピクチャ、形状、線、オーディオ、ビデオ、アニメーション、文字、および記号のうちの少なくとも１つであることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
それぞれの３Ｄ要素上に各テクスチャを投影するステップは、前記対応するそれぞれの３Ｄ要素上に各テクスチャを投影するステップを含み、前記それぞれの３Ｄ要素は３Ｄ形状を含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項４】
前記３Ｄ形状は、立方体、球体、ピラミッド、ボックス、および他の３Ｄ形状のうちの１つであることを特徴とする請求項３に記載のコンピュータ実装方法。
【請求項５】
オペレータ操作を受け取るステップは、特定の配置構成で配置されるように前記３Ｄ要素の操作を受け取るステップを含み、前記パターンを前記特定の配置構成の集合的な共通面分上に表示するために、前記特定の配置構成で前記３Ｄ要素の操作を受け取るステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項６】
前記それぞれの３Ｄ要素上に各テクスチャを投影するステップは、前記３Ｄ要素の現行の状態をリモートレンダリングするステップをさらに含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項７】
前記リモートレンダリングされた３Ｄ要素の前記現行の状態のピクセルを、リモートマシンに転送するステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記ランダム化された３Ｄ要素の操作を前記オペレータから受け取るステップは、キーボード、マウス、または他の入力デバイスのうちの少なくとも１つから入力を受け取るステップを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項９】
前記ランダム化された３Ｄ要素の操作を前記オペレータから受け取るステップは、少なくとも１つの特定の軸に沿って特定の角度だけ前記３Ｄ要素を回転させる回転コマンドを前記オペレータから受け取るステップ、および少なくとも１つの特定の方向に前記３Ｄ要素を並進させる並進コマンドを前記オペレータから受け取るステップを含むことを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記特定の軸、前記特定の角度、前記特定の方向、および前記特定の距離は事前設定されることを特徴とする請求項９に記載のコンピュータ実装方法。
【請求項１１】
オペレータが人間であることを検証するためのコンピュータ実装システムであって、
パターンを選択するように構成されたパターン選択モジュールと、
前記パターンを複数のテクスチャに分割するように構成されたパターン分割モジュールと、
異なるそれぞれの３Ｄ要素上に各テクスチャを投影するように構成された投影モジュールと、
前記３Ｄ要素のうちの少なくとも１つの３Ｄ要素の位置および向きのうちの少なくとも１つをランダム化するように構成されたランダム化モジュールと、
少なくとも１つのランダム化された３Ｄ要素を含む前記３Ｄ要素の少なくとも一部を表示するように構成されたディスプレイデバイスと、
前記パターンを再作成するために、前記ランダム化された３Ｄ要素の操作を前記オペレータから受け取るように構成された操作モジュールと、
前記パターンが再作成された場合、前記オペレータが人間であるかどうかを判定するように構成されたアクセスモジュールと
を備えることを特徴とするコンピュータ実装システム。
【請求項１２】
前記パターン選択モジュールは、マルチメディア表現を選択するようにさらに構成され、前記マルチメディア表現は、ピクチャ、形状、線、オーディオ、ビデオ、アニメーション、文字、および記号のうちの少なくとも１つであることを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項１３】
前記投影モジュールは、それぞれの３Ｄ要素上に各テクスチャを投影するようにさらに構成され、前記それぞれの３Ｄ要素は３Ｄ形状を含むことを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項１４】
前記３Ｄ形状は、立方体、球体、ピラミッド、ボックス、および他の３Ｄ形状のうちの１つであることを特徴とする請求項１３に記載のコンピュータ実装システム。
【請求項１５】
前記操作モジュールは、特定の配置構成で配置されるように前記３Ｄ要素の操作を受け取るようにさらに構成され、前記パターンを前記特定の配置構成の集合的な共通面分上に表示するために、前記特定の配置構成で前記３Ｄ要素の操作を受け取るようにさらに構成されていることを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項１６】
前記投影モジュールは、前記３Ｄ要素の現行の状態をリモートレンダリングするようにさらに構成されていることを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項１７】
前記投影モジュールは、前記リモートレンダリングされた３Ｄ要素の前記現行の状態のピクセルを、リモートマシンに転送するようにさらに構成されていることを特徴とする請求項１６に記載のコンピュータ実装システム。
【請求項１８】
前記操作モジュールは、キーボード、マウス、または他の入力デバイスのうちの少なくとも１つから入力を受け取るようにさらに構成されていることを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項１９】
前記操作モジュールは、少なくとも１つの特定の軸に沿って特定の角度だけ前記３Ｄ要素を回転させるための操作を前記オペレータから受け取るように、および少なくとも１つの特定の方向に特定の距離だけ前記３Ｄ要素を並進させるための操作を前記オペレータから受け取るようにさらに構成されていることを特徴とする請求項１１に記載のコンピュータ実装システム。
【請求項２０】
前記特定の軸、前記特定の角度、前記特定の方向、および前記特定の距離は事前設定されることを特徴とする請求項１９に記載のコンピュータ実装システム。
【請求項２１】
オペレータが人間であることを検証するための命令を記憶するように構成された非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによってロードおよび実行された場合、
パターンを選択することと、
前記パターンを複数のテクスチャに分割することと、
異なるそれぞれの３Ｄ要素上に各テクスチャを投影することと、
前記異なるそれぞれの３Ｄ要素のうちの少なくとも１つの３Ｄ要素の位置および向きをランダム化することと、
ディスプレイデバイスで、前記少なくとも１つのランダム化された３Ｄ要素を含む前記３Ｄ要素の少なくとも一部を表示することと、
前記パターンを再作成するために、前記ランダム化された３Ｄ要素を前記オペレータが操作できるようにすることと、
前記パターンが再作成された場合、オペレータが人間であるかどうかを判定することと
を前記プロセッサに実行させることを特徴とする非一時的コンピュータ可読媒体。
【請求項２２】
オペレータが人間であることを検証するコンピュータ実装方法であって、
パターンを選択するステップと、
前記パターンを複数のテクスチャに分割するステップと、
前記要素によって形成される１または複数の３Ｄオブジェクトを表示するユーザ対話セッション中に、異なるそれぞれの要素上に各テクスチャを投影するステップと、
前記ユーザインターフェースセッションの前記表示された１または複数の３Ｄオブジェクト内の、前記異なるそれぞれの要素のうちの少なくとも１つの要素の位置および向きのうちの少なくとも１つをランダム化するステップと、
ディスプレイデバイスで、前記少なくとも１つのランダム化された３Ｄオブジェクトを含む前記３Ｄオブジェクトの少なくとも一部を表示するステップと、
前記表示された１または複数の３Ｄオブジェクトとして前記パターンを再作成するために、前記ランダム化された要素の操作を前記オペレータから受け取るステップと、
前記受け取ったオペレータ操作が、前記ユーザインターフェースセッションにおいて前記表示された３Ｄオブジェクトを再作成した場合、前記オペレータが人間であるかどうかを判定するステップと
を含むことを特徴とするコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレータが人間であることを検証するコンピュータ実装方法、及び、コンピュータ実装システムに関する。
【背景技術】
【０００２】
システム（ウェブサイトなど）は、ロボット排除プロトコル（ＲＥＰ）を介してアクセスを許可または拒否することができる。ＲＥＰを採用しているシステムは、インターネットを介して接続している他のシステムにアクセス可能な、テキストファイルにアクセスしているロボットにウェブサイトにアクセスしないよう命じる、テキストファイルを使用する。ロボットがＲＥＰに準拠しているものと想定すると、ロボットはファイルを読んだ後、システム／ウェブサイトにアクセスしない。
【０００３】
しかしながら、すべてのロボットがＲＥＰに準拠しているわけではない。非準拠ロボットの場合、ウェブサイトによる検出は、通常、Ｃｏｍｐｌｅｔｅｌｙ  Ａｕｔｏｍａｔｅｄ  Ｐｕｂｌｉｃ  Ｔｕｒｉｎｇ  ｔｅｓｔ  ｔｏ  Ｔｅｌｌ  Ｃｏｍｐｕｔｅｒｓ  ａｎｄ  Ｈｕｍａｎｓ  Ａｐａｒｔ（ＣＡＰＴＣＨＡ）に依拠する。ＣＡＰＴＣＨＡは、バラバラなかつ／または歪められた英数字シーケンスを含むイメージを使用する。システムはユーザに対して、英数字シーケンスを認識し、ユーザのキーボードを使用してこれを入力するように命じる。
【０００４】
長年の間、ロボットは、英数字認識／光学式文字認識（ＯＣＲ）技術を採用して、ＣＡＰＴＣＨＡにおける英数字シーケンスを首尾よく認識することはできなかった。現在、ロボットは、ＯＣＲ技術を採用して、ＣＡＰＴＣＨＡによって提供されたイメージ内の英数字シーケンスを認識することができる。たとえばＷｉｎｄｏｗｓ  Ｌｉｖｅ（商標）のＣＡＰＴＣＨＡは、１分足らずで解明され得る。ＯＣＲ技術が進むにつれ、人間のユーザとロボットとを見分けるためのＣＡＰＴＣＨＡ手法は有効でなくなっている。
【０００５】
銀行ウェブサイトなどの機密性の高いウェブサイトは、ロボットから１時間に１０，０００〜１００，０００の攻撃を受ける可能性がある。アクセス試行が人間のユーザからのものかロボットからのものかを初期に判定することは、人間のユーザをウェブサイトにアクセスできるようにし、ロボットをブロックするために必要である。このように見分けることで、人間以外の潜在的に有害な要求をなくすことができる。
【０００６】
別の問題は、人間のユーザが限られた量の時間内に正常かつ一貫して合格できるテストを使用して、人間のユーザとロボットとを区別することである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＣＡＰＴＣＨＡの代替は、非言語的な視覚テスト、聴覚テスト、および意味論的または論理的パズルを含む。これらの代替は、より大規模な概括的解決策を提供するには、文化に依存しているかまたはテストの多様性が限られていることから、世界規模の範囲で使用されていない。
【０００８】
ＣＡＰＴＣＨＡは、総当たり（ｂｒｕｔｅ  ｆｏｒｃｅ）分析および／またはＯＣＲなどの高度なソフトウェア手段によって克服され得る。
【０００９】
提案されるシステムは、コンピュータモニタを介して３次元（３Ｄ）オブジェクトをユーザに表示し、表示された３Ｄオブジェクトは、特定の必要な結果を達成するために、マウス、キーボード、または他の入力デバイスによって操作される必要がある。入力／出力（Ｉ／Ｏ）操作を通じてユーザが特定の必要な結果に到達すると、システムはユーザにアクセスを許可する。この方法は、ロボットがウェブサイトにアクセスすること、およびウェブサイトを巡回すること、ならびにその後何らかの不正行為を行うことを防ぐ。さらにこのシステムおよび方法は、人間のユーザが限られた量の時間内に首尾よく合格できるテストを使用して、人間のユーザとロボットとを区別する。
【課題を解決するための手段】
【００１０】
一実施形態において、オペレータが人間であることを検証するコンピュータ実装方法は、自動的に（コンピュータプロセスを介して）パターンを選択すること、およびパターンを複数のテクスチャに分割することを含む。方法は、コンピュータモニタ／ディスプレイデバイス上に表示可能な異なるそれぞれの３Ｄ要素上に、各テクスチャを投影することをさらに含む。加えて方法は、異なるそれぞれの３Ｄ要素のうちの少なくとも１つの要素の位置および／または向きをランダム化することを含む。加えて方法は、ディスプレイデバイスの現行のオペレータユーザに対して、少なくとも１つのランダム化された３Ｄ要素を含む３Ｄ要素の少なくとも一部を表示することを含む。方法は、（ランダム化を解決するかあるいは取り消すことによって）パターンを再作成または再構成するために、ランダム化された３Ｄ要素のオペレータユーザ操作を受け取ることも含む。方法は、パターンが再作成／再構成された場合、オペレータユーザが人間であるものと判定することをさらに含む。
【００１１】
他の実施形態において、方法は、パターンが再作成された（たとえばオペレータユーザが人間であるものとの判定が肯定的である）場合、オペレータユーザにアクセスを許可することをさらに含む。パターンが再作成されたと判定されるとアクセスが許可され、パターンが再作成されなかったと判定されるとアクセスは拒否される。
【００１２】
一実施形態において、パターンを選択することはマルチメディア表現を選択することを含み、マルチメディア表現とは、ピクチャ、形状、線、オーディオ、ビデオ、アニメーション、文字、および／または記号である。
【００１３】
３Ｄエクスペリエンスにおいてそれぞれの表示要素上に各テクスチャを投影することは、それぞれの要素上に各テクスチャを投影することを含むことができる。各それぞれの要素は３Ｄ形状を含むことができる。３Ｄ形状は、立方体、球体、ピラミッド、ボックス、および／または他の３Ｄ形状とすることができる。
【００１４】
一実施形態において、オペレータ操作を受け取ることは、３Ｄオブジェクトが３Ｄエクスペリエンスにおいて特定の配置構成で配置されるように、表示された３Ｄオブジェクトの操作を含むことができる。オペレータ操作を受け取ることは、パターンが特定の配置構成の集合的な共通面分上に表示されることになる（再構成され出現される）ように、特定の配置構成でのコンピュータ表示３Ｄオブジェクトの操作をさらに含むことができる。
【００１５】
一実施形態において、３Ｄエクスペリエンスにおいてそれぞれの表示要素上に各テクスチャを投影することは、３Ｄエクスペリエンスをリモートレンダリングすることをさらに含むことができる。方法は、リモートレンダリングされた３Ｄエクスペリエンスのピクセルを、たとえばユーザのマシンなどのリモートマシンに転送することも含むことができる。
【００１６】
他の実施形態において、ランダム化された要素の操作をオペレータから受け取ることは、キーボード、マウス、および／または他の入力デバイスから入力を受け取ることを含むことができる。
【００１７】
さらに他の実施形態において、オペレータからランダム化された要素の操作を受け取ることは、少なくとも１つの特定の軸に沿って特定の角度だけ要素を回転させる回転コマンドをオペレータから受け取ることを含むことができる。オペレータからランダム化された要素の操作を受け取ることは、少なくとも１つの特定の方向に要素を並進させる並進コマンドをオペレータから受け取ることを含むことができる。
【００１８】
一実施形態において、オペレータが人間であることを検証するためのコンピュータ実装システムは、自動的にパターンを選択するように構成されたパターン選択モジュールと、パターンを複数のテクスチャに分割するように構成されたパターン分割モジュールとを含む。システムは、コンピュータディスプレイデバイス上に表示可能な異なるそれぞれの３Ｄ要素上に、各テクスチャを投影するように構成された投影モジュールも含む。システムは、３Ｄ要素のうちの少なくとも１つの３Ｄ要素の位置および向きをランダム化するように構成されたランダム化モジュールをさらに含む。システムは、少なくとも１つのランダム化された３Ｄ要素を含む３Ｄ要素の少なくとも一部を表示するように構成されたディスプレイデバイスも含む。システムは、（ランダム化を効果的に取り消すことによって）パターンを再作成／再構成するために、ランダム化された３Ｄ要素をオペレータが操作できるように構成された操作モジュールも含む。システムは、パターンが再作成／再構成された場合、オペレータにアクセスを許可するように構成されたアクセスモジュールも含む。アクセスモジュールは、パターンが再作成／再構成された（オペレータが人間であることを知らせる／信号送信する）ことを判定するとアクセスを許可し、パターンが再作成されなかった（オペレータが人間でないことを知らせる／信号送信する）場合、アクセスを拒否する。
【００１９】
他の実施形態において、非一時的コンピュータ可読媒体は、オペレータが人間であることを検証するための命令を記憶するように構成可能である。命令は、プロセッサによってロードおよび実行された場合、自動的にパターンを選択すること、およびパターンを複数のテクスチャに分割することを、プロセッサに実行させることができる。命令は、コンピュータディスプレイデバイス上に表示可能な異なるそれぞれの３Ｄ要素上に各テクスチャを投影することを、プロセッサにさらに実行させることができる。加えて命令は、異なるそれぞれの３Ｄ要素のうちの少なくとも１つの３Ｄ要素の位置および向きをランダム化することを、プロセッサに実行させることができる。加えて方法は、少なくとも１つのランダム化された３Ｄ要素を含む３Ｄ要素の少なくとも一部をディスプレイデバイスで表示することを含む。命令は、パターンを再構成するために、またはパターンに到達するために、ランダム化された３Ｄ要素をオペレータが操作できるようにすることを、プロセッサに実行させることもできる。命令は、パターンが再構成された（オペレータが人間であるものと判定されたことを知らせる）場合、オペレータにアクセスを許可することを、プロセッサにさらに実行させることができる。
【００２０】
さらに他の実施形態において、オペレータが人間であることを検証するコンピュータ実装方法は、自動的に（コンピュータプロセッサを介して）パターンを選択することを含むことができる。方法は、パターンを複数のテクスチャに分割することをさらに含むことができる。加えて方法は、要素によって形成される１または複数の３Ｄオブジェクトを表示するユーザ対話セッション中に、異なるそれぞれの要素上に各テクスチャを投影することを含むことができる。方法は、ユーザインターフェースセッションの表示された１または複数の３Ｄオブジェクト内の、異なるそれぞれの要素のうちの少なくとも１つの要素の位置、シリアル順序（ｓｅｒｉａｌ  ｏｒｄｅｒ）の配置、および向きのうちの少なくとも１つをランダム化することも含むことができる。方法は、ディスプレイデバイスで、少なくとも１つのランダム化された３Ｄオブジェクトを含む３Ｄオブジェクトの少なくとも一部を表示することも含むことができる。方法は、表示された１または複数の３Ｄオブジェクトとして再構成することによってパターンを再作成する（パターンに到達する）ために、ランダム化された要素の操作をオペレータから受け取ることも含むことができる。方法は、受け取ったオペレータ操作が、ユーザインターフェースセッションにおいて表示された３Ｄオブジェクトによってパターンを出現させると、オペレータにアクセスを許可することをさらに含むことができる。
【００２１】
表示された３Ｄオブジェクトは、３Ｄ形状を含むことが可能であり、要素は３Ｄ形状のそれぞれの面分とすることができる。ユーザインターフェースセッションの表示された３Ｄオブジェクト内のそれぞれの要素上に各テクスチャを投影することは、表示された３Ｄオブジェクトの３Ｄ形状について対応するそれぞれの面分上に各テクスチャを投影することを含むことができる。
【００２２】
３Ｄ形状は、立方体、球体、ピラミッド、ボックス、および／または他の３Ｄ形状とすることができる。
【００２３】
一実施形態において、オペレータから操作を受け取ることは、表示された３Ｄオブジェクトからの要素が特定の配置構成で配置されるようにするための、オペレータからの操作を含むことができる。パターンを出現させるために再構成することは、特定の配置構成の集合的な共通面分上にパターンを表示させるために、特定の配置構成における３Ｄオブジェクトを操作することをさらに含むことができる。
【００２４】
一実施形態において、ユーザインターフェースセッションを介して表示された３Ｄオブジェクト内のそれぞれの要素上に各テクスチャを投影することは、表示された３Ｄオブジェクトの現行状態をリモートレンダリングすることをさらに含むことができる。方法は、
リモートレンダリングされた３Ｄオブジェクトの現行状態のピクセルを、リモートマシン（たとえばユーザのマシン）に転送することも含むことができる。
【００２５】
一実施形態において、３Ｄエクスペリエンスは、３Ｄモデルまたはユーザへの３Ｄモデルの表現、オーディオ、ビデオ、ペイントボックスおよび／またはアニメーションのプレゼンテーションを含む、ユーザインターフェースセッションである。さらに、３Ｄエクスペリエンスは、３Ｄモデル、３Ｄモデルの表現、オーディオ、ビデオ、ペイントボックス、および／またはアニメーションのうちのいずれかの、プレゼンテーションを組み合わせることができる。たとえば３Ｄエクスペリエンスは、ビデオ、ペイントボックス、またはアニメーションを、３Ｄモデル内の形状の動的面分として提示することができる。３Ｄエクスペリエンスは、ビデオ、アニメーション、ペイントボックス、または３Ｄモデルに、オーディオを追加することもできる。３Ｄエクスペリエンスは、３Ｄモデルを操作するための制御をユーザに提供することができる。こうした操作は、変換、相対場所、回転、およびオブジェクト／要素編集を含むことができる。３Ｄモデルは、ユーザが操作する複数のオブジェクトおよび／または要素を含むことができる。３Ｄエクスペリエンスは、ユーザが自分の感覚を通して仮想（たとえばデジタル）環境を体験し、人の活動の目的を達成するためにこの仮想環境と対話するための機能を、ユーザに提供する。仮想環境は、実際の環境または想像上の環境に類似している場合がある。
【００２６】
３Ｄエクスペリエンスが３Ｄモデルの表現である場合、コンピュータシステムは、３Ｄモデル自体をロードせず、サーバ上に記憶された３Ｄモデルの表現をロードおよび表示する。たとえば、レンダリングされたイメージまたは低品質のイメージが、サーバから３Ｄエクスペリエンスを提示するシステムに転送される。これにより、自動化されたプロセスが、３Ｄモデル自体をダウンロードすること、ならびにたとえばローカルメモリ内の３Ｄモデル表現からグラフィックカードへ呼び出しをトラップすること、および許可されたアプリケーション外部での３Ｄモデルの再構成を実行可能にすることによって、スクリプトまたはプログラムを用いてこれを操作することを、防ぐ。
【００２７】
一実施形態において、３Ｄ要素は３Ｄオブジェクトとすることができる。この実施形態において、３Ｄ要素は面分または曲面を含むことが可能であり、それぞれの面分または曲面は、パターン、テクスチャ、英数字などを示す。別の実施形態において、３Ｄオブジェクトは、立方体または他の形状などの３Ｄオブジェクトとすることが可能であり、３Ｄ要素は３Ｄオブジェクト上の面分または曲面を指す。これら両方の実施形態は同じ機能を実行するが、それらそれぞれの記述において異なる名称を使用することができる。
【００２８】
３Ｄエクスペリエンスが３Ｄモデルの現状の表現である場合、コンピュータシステムは、３Ｄモデル自体をロードせず、サーバ上に記憶された３Ｄモデルの現状の表現をロードおよび表示する。たとえば、レンダリングされたイメージまたは低品質のイメージが、サーバから３Ｄエクスペリエンスを提示するシステムに転送される。これにより、自動化されたプロセスが、３Ｄモデル自体をダウンロードすること、およびスクリプトまたはプログラムを用いてこれを操作することを防ぐ。
【００２９】
一実施形態において、３Ｄ要素は３Ｄオブジェクトとすることができる。この実施形態では、３Ｄ要素は面分または曲面を含むことが可能であり、各面分または曲面はパターン、テクスチャ、英数字などを示す。他の実施形態において、３Ｄオブジェクトは、立方体または他の形状などの実世界３Ｄオブジェクトのコンピュータ表示表現とすることが可能であり、３Ｄ要素とは、表示された実世界３Ｄオブジェクト上の面分または曲面を指す。これら両方の実施形態は同じ機能を実行することができるが、それらそれぞれの記述において異なる命名法を使用することができる。
【００３０】
他の実施形態において、方法は、少なくとも１つのランダム化された３Ｄ要素を含む３Ｄ要素のうちの少なくとも一部を表示するよう、ディスプレイデバイスまたはディスプレイモジュールに命令することができる。他の実施形態において、方法は、コンピュータ入力デバイスまたはユーザ入力デバイスからオペレータ操作を受け取ることができる。他の実施形態において、方法はサーバによって実行され、サーバは、少なくとも１つのランダム化された３Ｄ要素を含む３Ｄ要素のうちの少なくとも一部を表示するよう、ネットワークを介してリモートデバイスのディスプレイに命令し、その後、ネットワークを介してパターンを再作成するためのランダム化された３Ｄ要素のオペレータ操作を受け取る。
【００３１】
上記の内容は、異なる図面全体を通じて同様の参照番号が同じ部分を指す添付の図面に示されるように、本発明の例示の実施形態の以下のより特定の説明から明らかとなろう。図面は、必ずしも本発明の例示の実施形態の一定の縮尺ではなく、これを強調するものである。
【図面の簡単な説明】
【００３２】
【図１】３Ｄボット検出の例示の実施形態を示すブロック図である。
【図２】本システムによって採用される方法の例示の実施形態を示す流れ図である。
【図３】本システムによって採用されるパターンの例示の実施形態を示す図である。
【図４】複数のテクスチャに分割されたパターンの例示の実施形態を示すブロック図である。
【図５Ａ】集合的にパターンを表すそれらの面分上にテクスチャが投影された、複数の要素の例示の実施形態を示す図である。
【図５Ｂ】システムによってランダム化された後の複数の要素の例示の実施形態を示す図である。
【図６】それらそれぞれの面分上に追加のおとり（ｄｅｃｏｙ）テクスチャを示す複数の要素の例示の実施形態を示すブロック図である。
【図７】第１の要素、第２の要素、第３の要素、第４の要素、第５の要素、および第６の要素から再構成されたパターンの例示の実施形態を示すブロック図である。
【図８】関係データベース内にセキュリティを提供する際に使用するため、ならびに本明細書に記載されたプロセスおよび／または本明細書に記載されたプロセスに関連し得る追加のプロセスを実行する際に使用するための、例示のコンピュータシステムを示す概略ブロック図である。
【図９】（図８に示す）データベースサーバで使用するための、例示のコンピュータアーキテクチャを示す概略ブロック図である。
【発明を実施するための形態】
【００３３】
本発明の例示の実施形態を以下で説明する。
【００３４】
一実施形態において、提案されたシステムは、目的（たとえば特定の必要な結果）を達成するためにマウス、キーボード、または他の入力デバイスによって操作される必要のある、コンピュータ生成３Ｄ環境内に表示される３次元（３Ｄ）オブジェクトを使用する。
【００３５】
一実施形態において、ユーザは目的を完了するように命令される。目的は、特定の順序でコンピュータ表示の単純な立方体を操作することとすることができる。
【００３６】
他の実施形態において、目的は、コンピュータディスプレイを介して、いくつかの立方体を操作すること、およびこの立方体を組み立てて、組み立てられた立方体の共通面分上に直線などのイメージの３Ｄ構造を作成することである。
【００３７】
たとえば３つの立方体は、１３，８２４の可能な向きの組合せを個々に提供し、直線的なアセンブリ（直列または複合）の３倍以上である。同様に、４つの立方体は、３３１，７７６の可能な向きの組合せを個々に提供し、直線的なアセンブリの１２倍以上であって、非線形アセンブリを含む場合はさらにおよそ４，０００，０００の組合せを作成する。
【００３８】
難度のレベルは、目的を完了するために必要な知能（たとえばＩＱによって測定される）が１人の子供程度であるように調整可能である。４才または５才の子供は、イメージを形成するために、１分以内に６つの立方体のセットを３個ずつの２列に配置構成することが可能であり、これは、その子供が色およびイメージスタイルによる支援を受けた場合、およそ１０億通りの組合せを分類するタスクである。
【００３９】
色は、人間のユーザが即時に回答を出すことを容易にする。色は意味論的に（たとえばストロベリーまたはラズベリー）記述することができる。意味論的手法を使用した物体または動物の定型化された表現も、ロボットには困難な認識を人間のユーザが容易にできるようにすることが可能である。同様に、位置および向きを伴う幾何学的表現（たとえば円、線）の使用には、現行のロボットには困難な論理レベルが必要である。
【００４０】
問題を解決するためにユーザおよびロボットに与えられる時間は、同様のデバイスにとって受け入れ可能な時間と同様とすることができる。たとえば、多くのセキュリティシステムによって使用されるセキュアＩＤは、６０秒ごとにその値を変更する。３Ｄ操作は、受け入れ可能である６０秒未満内に人間によって解決され得るべきであり、ロボットが総当たりで操作を解決するのを防ぐために、限られた反復試行回数のみを与えるべきである。
【００４１】
これは、サーバ上でレンダリングが実行され、ピクセルベースおよび／またはフレームベースのイメージをクライアントに提供する、リモートレンダリングサーバシステムを含む、多くの異なるシステムに適用可能である。
【００４２】
３Ｄオブジェクトは、英数字、他の文字、または色／記号に関連付けられ得る。
【００４３】
提案される３Ｄオブジェクトの開始位置および向きはランダム化可能であるため、スパイデバイスによって集められたキーボード、マウス、または他の入力デバイスの入力を、目的を解決するために再度使用することはできない。
【００４４】
図１は、３Ｄボット検出の例示実施形態を示すブロック図１００である。例として、システムは、ネットワーク１０４（たとえばクラウドまたはインターネット）を介してサーバ１０６に結合されたクライアントデバイス１０２を含む。サーバ１０６は、クラウドベースサービスをクライアントデバイス１０２に提供するように構成されている。サーバ１０６によって提供されるクラウドベースサービスは、リソース集約的な可能性がある。たとえばクラウドベースアプリケーションは、多くの帯域幅または処理能力を利用する可能性がある。そのため、多くのサーバ１０６は、ロボットとは対照的に、クライアントデバイス１０２の実際の人間のオペレータには、クラウドベースアプリケーションへのアクセスを制限するよう試みる。サーバ１０６は、サーバへの接続を試行するロボットまたは自動化されたスクリプトのために、リソースを無駄遣いするべきではない。そのため、サーバ１０６はボット検出を採用することができる。出願人のボット検出の方法は、ボットおよび／または自動化されたスクリプトがよりいっそうサーバ１０６に接続しないようにするための３Ｄエクスペリエンスを採用する一方で、人間のユーザは依然として自分たちがボットではないことを検証し、サーバに接続できるようにする。
【００４５】
クライアントデバイス１０２は、サーバ１０６にアクセスするための要求１０８を発行する。サーバ１０６は、要求１０８を受け取ると、３Ｄエクスペリエンスのフォーマットでパターン１１０を発行する。クライアントデバイス１０２はパターン１１０を受け取り、これをクライアントユーザに表示する。パターン１１０はイメージなどのパターンであり、分離されて３Ｄエクスペリエンスの複数の要素上に投影される。その後要素は、位置（たとえば連続した場所）および向き（たとえば回転）をランダム化することによってランダム化され、このようなランダム化様式でクライアントユーザに示される。その後クライアントユーザは、サーバ１０６に送信される操作されたパターン１１２を作成するために、コンピュータＩ／Ｏを介して内部の３Ｄエクスペリエンスおよび要素を操作する。操作されたパターン１１２を受け取ると、サーバ１０６は人間のユーザかまたは人間でないユーザかを判定し、この判定に基づいてサーバアクセスを許可または拒否する。サーバ１０６は、サーバへのアクセスまたは拒否１１４を発行する。
【００４６】
図２は、本発明のシステムによって採用される方法の例示の実施形態を示す流れ図２００である。システムは第１に、サーバにアクセスするための要求を受け取る（２０２）。この要求に応答して、システムは自動的にパターンを選択し（２０４）、パターンをテクスチャに分割する（２０６）。その後システムは、コンピュータ生成３Ｄエクスペリエンス内の要素上に各テクスチャを投影する（２０８）。たとえばパターンから導出された各テクスチャは、立方体の面分上、または３Ｄエクスペリエンス内に表示可能な他のオブジェクト上に、投影され得る。要素上へのテクスチャの投影後、システムは、３Ｄエクスペリエンス内に表示されたように、要素の位置、シリアル順序の配置、および向きをランダム化する（２１０）。たとえば立方体は、パターンがロボットによって容易に導出されないように、およびロボットによって再構成されないが、人によっては導出および再構成され得るように、場所および回転によってランダム化され得る。ランダム化は、アクセスできるようになるために取り込んだイベントを記録および再生できる、悪意あるキーストロークおよび入力マルウェア（ｍａｌｗａｒｅ）アプリケーションも防止する。
【００４７】
オプションで、システムはパターンの内容に従ったキューまたはヒントを提供することができる（２１２）。たとえばパターンが風景である場合、立方体は風景であり得る。立方体は最終パターンのピクチャでもあり得る。立方体は、たとえピクチャであっても、サーバが単なる最終結果ではなくアクセスするか拒否するかを判定するためにユーザ入力操作を分析するため、サーバへのアクセスをトリガするには十分ではない。そこでシステムは、オペレータがパターンを再作成／再構成するためにランダム化された要素を操作できるようにする（２１４）。
【００４８】
その後システムは、操作された要素がパターンを表すかどうかを判定する（２１６）。表す場合、システムはサーバへのアクセスを許可する（２１８）。表さない場合、システムはサーバへのアクセスを拒否する（２２０）。
【００４９】
図３は、本システムによって採用されるパターン３０２の例示の実施形態を示す図３００である。この場合、パターン３０２はイメージである。しかしながら、パターン３０２は任意のマルチメディアプレゼンテーションとすることができる。たとえばパターン３０２は、ビデオ、アニメーション、３Ｄテクスチャ、または他のタイプのパターンとすることができる。
【００５０】
図４は、複数のテクスチャ４０２、４０４、４０６、４０８、４１０、および４１２に分割されたパターン３０２を示すブロック図４００である。第１のテクスチャ４０２、第２のテクスチャ４０４、第３のテクスチャ４０６、第４のテクスチャ４０８、第５のテクスチャ４１０、および第６のテクスチャ４１２は、パターン３０２の非重複領域である。複数のテクスチャ４０２、４０４、４０６、４０８、４１０、および４１２を、本システムのコンピュータ３Ｄエクスペリエンス内で表示可能な異なる要素上に分離および投影され得る。
【００５１】
図５Ａは、パターン３０２を表すそれらの面分上にテクスチャが投影された、複数の要素を示す図５００である。パターン３０２が、第１のテクスチャ４０２、第２のテクスチャ４０４、第３のテクスチャ４０６、第４のテクスチャ４０８、第５のテクスチャ５１０、および第６のテクスチャ４１２に分割された後、各それぞれのテクスチャは、第１の要素５０２、第２の要素５０４、第３の要素５０６、第４の要素５０８、第５の要素５１０、および第６の要素５１２上に投影される。各それぞれのテクスチャは各それぞれの要素の面分上にある。要素５０２、５０４、５０６、５０８、５１０、および５１２の配置構成は、それぞれのテクスチャ４０２、４０４、４０６、４０８、４１０、および４１２の表示を通じてパターンが見られるようになっている。
【００５２】
図５Ｂは、システムによってランダム化された後の複数の要素を示す図５５０である。図５Ｂに示されるように、各要素は、各要素の面分が面一で互いにぴったりとくっついている図５Ａに示された元の構成から分離され、向きもランダム化されている。第１の要素５０２は依然として第１のテクスチャ４０２を表示している。同様に、第２の要素５０４は第２のテクスチャ４０４を表示し、第３の要素５０６は第３のテクスチャ４０６を表示し、第４の要素５０８は第４のテクスチャ４０８を表示し、第５の要素５１０は第５のテクスチャ４１０を表示し、第６の要素５１２は第６のテクスチャ４１２を表示している。すべてのテクスチャはそれらそれぞれの要素上に投影されているが、各要素およびテクスチャは、そのそれぞれの元の場所および向きとは異なる場所および向きにある。一実施形態において、システムは、パターンのテクスチャがユーザに見えるように、各要素をランダムに位置決めおよび回転するように構成されている。このように、各要素のテクスチャは、スクリーンから離して移動または回転されることによってユーザから隠されることはない。しかしながら他の実施形態では、テストをより困難にするために、ユーザが初期には見ることができないが、特定の要素を並進または回転させた場合のみ見えるように、テクスチャを回転または移動させることができる。
【００５３】
図６は、それらそれぞれの面分上に追加のおとりテクスチャを示す、複数の要素の例示の実施形態を示すブロック図６００である。各要素は、最初にレンダリングされた要素と同じパターンのテクスチャを表示する。しかしながら要素は、ロボットがテストを解決するのをさらに困難にするために、その未使用の面分上におとりテクスチャを含むことができる。たとえば第１の要素５０２は、その面分のうちの１つ上に投影された第１のテクスチャ４０２を有するが、第１の要素５０２のそれぞれの未使用の面分上に投影された、サッカーボールのおとりテクスチャ６１０および吊り橋のおとりテクスチャ６１２も有する。同様に、第２の要素５０４は、その面分のうちの１つ上に投影された第２のテクスチャ４０４を有するが、それぞれの未使用の面分上に投影された、野球ボールを示すおとりテクスチャ６０４および花を示すおとりテクスチャ６０２も有する。第３の要素５０６は、その面分のうちの１つ上に投影された第３のテクスチャ４０６を有するが、それぞれの未使用の面分上に投影された、惑星を示すおとりテクスチャ６２２および音符を示すおとりテクスチャ６２４も有する。第４の要素５０８は、その面分のうちの１つ上に投影された第４のテクスチャ４０８を有するが、それぞれの未使用の可視面分上に投影された、ペーパークリップを示すおとりテクスチャ６１４およびモバイル電子デバイスを示すおとりテクスチャ６１６も有する。第５の要素５１０は、その面分のうちの１つ上に投影された第５のテクスチャ４１０を有するが、それぞれの未使用の面分上に投影された、バスケットボールを示すおとりテクスチャ６０６およびアメリカンフットボールを示すおとりテクスチャ６０８も有する。第６の要素５１２は、その面分のうちの１つ上に投影された第６のテクスチャ４１２を有するが、それぞれの未使用の面分上に投影された、車を示すおとりテクスチャ６１８および月と星を示すおとりテクスチャ６２０も有する。
【００５４】
ある実施形態において、要素の面分がテクスチャを有するのではなく空白であると判定することは、自動化されたシステムにとってより容易であり得る。要素の未使用の面分上におとりテクスチャを投影することで、人間のユーザがパズルを解きサーバにアクセスできるようにするための努力を妨げることなく、ボット抑止の有効性を挙げることができる。他のおとり要素を、図６の要素上に示されていない立方体の３つの面分上に置くことができる。要素は、その幾何学に基づいて、任意数のユーザに見える面分およびユーザから隠された面分を有する、立方体以外の形状とすることができる。
【００５５】
図７は、第１の要素５０２、第２の要素５０４、第３の要素５０６、第４の要素５０８、第５の要素５１０、および第６の要素５１２から再構成されたパターン３０２を示すブロック図７００である。第１の要素５０２は、その前面分上に第１のテクスチャ４０２、おとりテクスチャ６１２、および元はユーザから隠された第１の要素５０２の面分上におとりテクスチャ７０４を示す。同様に、第２の要素５０４は、その前面分上に第２のテクスチャ４０４、および元はユーザから隠された第２の要素５０４の面分上におとりテクスチャ７０２を示す。第３の要素５０６は、その前面分上に第３のテクスチャ４０６およびおとりテクスチャ６２４も示す。第４の要素５０８は、その前面分上に第４のテクスチャ４０８およびおとりテクスチャ６１４を示す。第５の要素５１０は、その前面分上に第５のテクスチャ４１０を示す。第６のテクスチャはその前面分上に第６の要素５１２を示す。このように、６つのそれぞれの要素は、最初に要素上に投影されたのと同じ順序および向きで６つのそれぞれのテクスチャを示す。ユーザがこの状態に達するように要素を操作すると、サーバはユーザにアクセスを許可することができる。
【００５６】
本発明またはその実施形態の態様の要素を紹介する場合、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」は、１または複数の要素が存在することを意味するものと意図される。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および「有する（ｈａｖｉｎｇ）」という用語は、包含的であり、列挙された要素以外の追加の要素が存在し得ることを意味するものと意図される。
【００５７】
本明細書は、最良の形態を含む本発明を開示するため、ならびに任意のデバイスまたはシステムを作成および使用すること、および任意の組み込まれた方法を実行することを含む、本発明を、当業者に実施させることができるようにするために、例示を使用する。本発明の特許性のある範囲は特許請求の範囲によって定義され、当業者が想到する他の例を含むことができる。こうした他の例は、それらが特許請求の範囲の文字通りの言い回しと異ならない構造的要素を有する場合、またはそれらが特許請求の範囲の文字通りの言い回しとほとんど異ならない等価の構造的要素を含む場合、特許請求の範囲内にあるものと意図される。
【００５８】
本発明は、オンラインデータへのセキュアなアクセスを必要とする任意のフィールドで使用可能である。これは、ロボットのアクセスを断ち切り、通常のユーザトラフィックを容易にするために、デジタルロボットと人間のユーザとを区別する。
【００５９】
図８は、関係データベース内にセキュリティを提供する際に使用するため、ならびに前述のプロセスおよび／または前述のプロセスに関係し得る追加のプロセスを実行する際に使用するための、例示のコンピュータシステム８００を示す概略ブロック図である。例示の実施形態において、メモリ域８０２は、メタデータ、データベースオブジェクト、データベースオブジェクト間の関係、所有ベクトルオブジェクト、セキュリティインデックス、または任意の好適な情報もしくはデータなどの、データを記憶する際に使用するための１または複数のストレージデバイス８０４を含む。いくつかの実施形態において、メモリ域８０２は、データベースサーバ８０６などの第１のアプリケーションサーバに結合され、次にこれが、ネットワーク８１２を介して、フルテキスト検索サーバであり得るリモートサーバ８０８などの１または複数の第２のアプリケーションサーバと、管理者システムおよび／またはユーザシステムなどの１または複数のクライアントシステムまたはデバイス８１０とに、結合される。ストレージデバイス８０４は、１または複数のデータベースとして具体化され得るか、単一または複数の地理的サイトに配置され得るか、またはデータベースサーバ８０６と統合され得る。さらに、サーバ８０６および８０８は、単一または複数の地理的サイトに配置され得る。単一サイト実施形態において、サーバ８０６がデータベースアプリケーションであり、サーバ８０８がフルテキスト検索アプリケーションであるように、サーバ８０６および８０８は複数のアプリケーションサーバまたは論理を使用して単一のデバイスに統合され得る。
【００６０】
理解され得るように、ネットワーク８１２は、インターネットなどの公衆ネットワーク、またはＬＡＮもしくはＷＡＮネットワークなどの私設ネットワーク、またはそれらの任意の組合せとすることが可能であり、ＰＳＴＮもしくはＩＳＤＮサブネットワークを含むことも可能である。さらにネットワーク８１２は、イーサネット（登録商標）ネットワークなどのように有線であり得るか、またはＥＤＧＥ、３Ｇ、および４Ｇ無線セルラシステムを含むセルラネットワークなどのように無線であり得る。無線ネットワークは、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または既知の任意の他の無線形式の通信でもあり得る。したがって、ネットワーク８１２は単なる例示であり、いかなる場合も本向上の範囲を限定しない。
【００６１】
当業者であれば理解されるように、データベースサーバ８０６、リモートサーバ８０８、およびクライアントシステム８１０は、図９を参照しながら以下で説明されるような任意の好適なコンピュータシステム、または既知の任意の他のコンピューティングシステムとすることができる。さらに、データベースサーバ８０６は、前述のプロセスおよび／または前述のプロセスに関係し得る任意の追加のプロセスを実行するように構成されていることを理解されたい。
【００６２】
データベースサーバ８０６は、前述のプロセスを実行するための非一時的コンピュータ可読命令を記憶し、ネットワーク８１２を介してこれらの命令をリモートサーバ８０８および／またはクライアントシステム８１０に提供する。さらにデータベースサーバ８０６は、必要に応じて、メモリ域８０２からのデータを、リモートサーバ８０８および／またはクライアントシステム８１０にも提供することができる。したがって図８は、クラウドコンピューティング、分散コンピューティングなどを介した、コンピュータシステム８００の実装を含む。
【００６３】
動作時に、コンピュータシステム８００は、図１および図２に示されたステップを実行し、そのいずれも上記で説明されている。たとえば図１を参照すると、データベースサーバ８０６は、メモリ域８０２の関係データベース内のセキュリティ属性の各固有の組合せに対して、所有ベクトルを作成する。次にデータベースサーバ８０６は、第１の所有ベクトルなどの所有ベクトルを、オブジェクトのセキュリティ属性またはプロパティのうちの１または複数に基づいて、各オブジェクトに割り当てる。次にデータベースサーバ８０６は、所有ベクトルまたは所有ベクトルの少なくとも一部であり、少なくとも第１の所有ベクトルを含む、所有ベクトルを、記憶および参照のためにリモートサーバ８０８に公開または伝送する。さらに、使用時に、データベースサーバ８０６は、オブジェクト、所有ベクトル、および／またはオブジェクトとその所有ベクトルとの間の関連付けに影響を与えるシステムセキュリティモデル全体に対する、変更を検出する。データベースサーバ８０６がこうした変更を検出した場合、オブジェクトとその所有ベクトル（すなわち第１の所有ベクトル）との間の関連付けは破壊されるか、または無効とマーク付けされる。いくつかの実施形態において、データベースサーバ８０６は、新規オブジェクトに関するか、または所有ベクトルとの関連付けが破壊されたオブジェクトに関するなどの、任意のオブジェクトが所有ベクトルに関連付けられていないかどうかを判定するスクリプトを、定期的など反復的に実行する。新規オブジェクトが存在するかまたは関連付けられた所有ベクトルのないオブジェクトが存在する場合、データベースサーバ８０６は、第２の所有ベクトルなどの所有ベクトルを、オブジェクトのセキュリティ属性またはプロパティのうちの１または複数に基づいて、オブジェクトに割り当てる。次にデータベースサーバ８０６は、所有ベクトルまたは所有ベクトルの少なくとも一部であり、少なくとも第２の所有ベクトルを含む、所有ベクトルを、リモートサーバ８０８またはクライアントシステム８１０に再公開または伝送する。特に、第１および第２の所有ベクトルは、オブジェクトのセキュリティ属性または他のプロパティに基づいて、同一とすることができる。たとえば、第１および第２の所有ベクトルは、システム管理者によって設計されたように重複するセキュリティ属性と整合され得る。しかしながら、第１および第２の所有ベクトルは、オブジェクトのセキュリティ属性または他のプロパティに基づいて、異なるものとすることもできる。
【００６４】
さらにデータベースサーバ８０６は、リモートサーバ８０８からクエリを受信することが可能であり、クエリは所有ベクトル基準を含む。たとえばクライアントシステム８１０は、ユーザ入力に基づいてクエリを生成し、実行のために、データベースサーバ８０６を介してリモートサーバ８０８にクエリを伝送することができる。リモートサーバ８０８は、クエリがデータベースサーバ８０６に送信される前に、所有ベクトルデータをクエリ内に接合する。データベースサーバ８０６は、接合されたクエリを使用して関係データベースの検索を実行し、クライアントシステム８１０での表示のため、またはリモートサーバ８０８もしくはクライアントシステム８１０によるさらなる処理のために、リモートサーバ８０８および／またはクライアントシステム８１０に結果を戻すかまたは伝送する。別の実施形態では、リモートサーバ８０８自体が、接合されたクエリを使用して検索を実行する。こうした実施形態では、リモートサーバ８０８がフルテキストサーバである場合など、リモートサーバ８０８が、所有ベクトルおよび所有ベクトルへのオブジェクト参照（すなわち、各所有ベクトルに関連付けられたオブジェクトへの参照）のコピーを格納している。したがってこうした実施形態では、リモートサーバ８０８はデータベースサーバ８０６なしでクエリを実行する。
【００６５】
図９は、データベースサーバ８０６（図８に図示）で使用するための、例示のコンピュータアーキテクチャ９００を示す概略ブロック図である。いくつかの実施形態において、および前述のように、サーバ８０６および８０８（図８にも図示）は単一のデバイスに統合され得る。こうした実施形態では、統合されたデバイスは、図９に示されたものとほぼ同様のコンピュータアーキテクチャ９００を用いて設計され得る。
【００６６】
例示の実施形態において、コンピュータアーキテクチャ９００は、前述のプロセスおよび／または前述のプロセスに関係し得る任意の追加のプロセスを実行する、１または複数のプロセッサ９０２（ＣＰＵ）を含む。「プロセッサ」という用語は、概して、システムおよびマイクロコントローラ、縮小命令セット回路（ＲＩＳＣ）、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路、および／または本明細書で説明された機能を実行することが可能な任意の他の回路またはプロセッサを含む、任意のプログラム可能システムを指すことを理解されたい。上記の例は単なる例示であり、したがって、いかなる場合も、「プロセッサ」という用語の定義および／または意味を限定することは意図されていない。
【００６７】
前述のプロセスおよび／または前述のプロセスに関係し得る任意の追加のプロセスのステップは、たとえば、システムバス９０６によって実行可能および／または通信可能にプロセッサ９０２に結合されたメモリ域９０４内に、コンピュータ実行可能命令として記憶され得る。本明細書で使用される「メモリ域」は、概して、現行のデータベースオブジェクトの値および／またはパスを維持することを支援するために、１または複数のプロセッサによって実行可能なプログラムコードおよび命令を記憶する任意の手段を指す。メモリ域９０４は、１つまたは複数の形式のメモリを含むことができる。たとえば、メモリ域９０４は、不揮発性ＲＡＭ、磁気ＲＡＭ、強誘電性ＲＡＭ、および／または他の形のＲＡＭを含むことが可能な、ランダムアクセスメモリ（ＲＡＭ）９０８を含むことができる。メモリ域９０４は、読取り専用メモリ（ＲＯＭ）９１０および／またはフラッシュメモリおよび／または電気的プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）も含むことができる。任意の他の好適な磁気、光、および／または半導体のメモリ、たとえばハードディスクドライブ（ＨＤＤ）９１２などが、単独または他の形のメモリとの組合せで、メモリ域９０４内に含まれ得る。ＨＤＤ９１２も、プロセッサ９０２との間でのメッセージの送信および受信に使用するために、ディスクコントローラ９１４に結合され得る。さらにメモリ域９０４は、好適なカートリッジディスク、ＣＤ−ＲＯＭ、ＤＶＤ、もしくはＵＳＢメモリなどの、着脱可能もしくは取外し可能メモリ９１６とするか、またはこれらを含むことも可能である。上記の例は単なる例示であるため、いかなる場合でも、「メモリ域」という用語の定義および／または意味を限定することは意図されていない。
【００６８】
さらに、いくつかの実施形態において、メモリ域９０４は関係データベースを含む。本明細書で使用される場合、「データベース」という用語は、概して、階層データベース、関係データベース、フラットファイルデータベース、オブジェクト関係データベース、オブジェクト指向データベース、およびコンピュータシステム内に記憶される記録またはデータの任意の他の構造化された集合体を含む、任意のデータの集合体を指す。上記の例は単なる例示であるため、いかなる場合でも、データベースという用語の定義および／または意味を限定することは意図されていない。データベースの例は、Ｏｒａｃｌｅ（登録商標）Ｄａｔａｂａｓｅ、ＭｙＳＱＬ、ＩＢＭ（登録商標）ＤＢ２、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＳＱＬ  Ｓｅｒｖｅｒ、Ｓｙｂａｓｅ（登録商標）、およびＰｏｓｔｇｒｅＳＱＬを含むが、単に含むだけであって、これらに限定されるものではない。しかしながら、本明細書で説明されたシステムおよび方法を実行可能にする任意のデータベースが使用され得る。（Ｏｒａｃｌｅはカリフォルニア州レッドウッドショアのＯｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標であり、ＩＢＭはニューヨーク州アーモンクのＩｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標であり、Ｍｉｃｒｏｓｏｆｔはワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標であり、Ｓｙｂａｓｅはカリフォルニア州ダブリンのＳｙｂａｓｅの登録商標である。）
【００６９】
コンピュータアーキテクチャ９００は、ディスプレイコントローラ９２０に動作可能に結合されるなどのように結合された、ディスプレイデバイス９１８も含む。ディスプレイコントローラ９２０は、ディスプレイデバイス９１８による表示のために、システムバス９０６を介してデータを受信する。ディスプレイデバイス９１８は、モニタ、テレビディスプレイ、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ベースディスプレイ、有機ＬＥＤ（ＯＬＥＤ）ベースディスプレイ、ポリマーＬＥＤベースディスプレイ、表面伝導型電子エミッタベースディスプレイ、投影および／または反射イメージを含むディスプレイ、または任意の他の好適な電子デバイスもしくはディスプレイ機構とすることができるが、この限りではない。さらにディスプレイデバイス９１８は、関連付けられたタッチスクリーンコントローラを備えるタッチスクリーンを含むことができる。上記の例は単なる例示であり、いかなる場合でも、「ディスプレイデバイス」という用語の定義および／または意味を限定することは意図されていない。
【００７０】
加えてコンピュータアーキテクチャ９００は、ネットワーク（図９には図示せず）との通信に使用するためのネットワークインターフェース９２２を含む。さらにコンピュータアーキテクチャ９００は、キーボード９２４、および／もしくはローラーボール、マウス、タッチパッドなどのポインティングデバイス９２６などの、１または複数の入力デバイスを含む。入力デバイスは、入力／出力（Ｉ／Ｏ）インターフェース９２８に結合され、これによって制御され、Ｉ／Ｏインターフェース９２８はさらにシステムバス９０６に結合される。
【００７１】
ディスプレイデバイス９１８、キーボード９２４、ポインティングデバイス９２６、ならびにディスプレイコントローラ９２０、ディスクコントローラ９１４、ネットワークインターフェース９２２、およびＩ／Ｏインターフェース９２８の、概括的な特徴および機能の説明は、これらの特徴が既知であるため、本明細書では簡潔にするために省略されている。
【００７２】
動作時に、コンピュータシステム８００は前述の図１および図２に示されたステップを実行し、そのいずれも上記で説明されている。たとえば図１を参照すると、プロセッサ９０２は、関係データベース内のセキュリティ属性の各固有の組合せについて、所有ベクトルを作成する。次にプロセッサ９０２は、第１の所有ベクトルなどの所有ベクトルを、オブジェクトのセキュリティ属性またはプロパティのうちの１または複数に基づいて各オブジェクトに割り当てる。プロセッサ９０２は、所有ベクトルまたは所有ベクトルの少なくとも一部であり、少なくとも第１の所有ベクトルを含む、所有ベクトルを、記憶および参照のためにリモートサーバに公開または伝送する。さらに、使用時に、プロセッサ９０２は、オブジェクト、所有ベクトル、および／またはオブジェクトとその所有ベクトルとの間の関連付けに影響を与えるシステムセキュリティモデル全体に対する、試行されたアクセスおよび／または変更を検出する。プロセッサ９０２がそのような変更を検出した場合、オブジェクトとその所有ベクトル（すなわち第１の所有ベクトル）との間の関連付けは破壊されるか、または無効とマーク付けされる。いくつかの実施形態において、プロセッサ９０２は、新規オブジェクトに関するか、または所有ベクトルとの関連付けが破壊されたオブジェクトに関するなどの、任意のオブジェクトが所有ベクトルに関連付けられていないかどうかを判定するスクリプトを、定期的など反復的に実行する。新規オブジェクトが存在するかまたは関連付けられた所有ベクトルのないオブジェクトが存在する場合、プロセッサ９０２は、第２の所有ベクトルなどの所有ベクトルを、オブジェクトのセキュリティ属性またはプロパティのうちの１または複数に基づいて、オブジェクトに割り当てる。次にプロセッサ９０２は、所有ベクトルまたは所有ベクトルの少なくとも一部であり、少なくとも第２の所有ベクトルを含む、所有ベクトルを、リモートサーバに再公開または伝送する。特に、第１および第２の所有ベクトルは、オブジェクトのセキュリティ属性または他のプロパティに基づいて、同一とすることができる。たとえば、第１および第２の所有ベクトルは、システム管理者によって設計されたように重複するセキュリティ属性と整合され得る。しかしながら、第１および第２の所有ベクトルは、オブジェクトのセキュリティ属性または他のプロパティに基づいて、異なるものとすることもできる。
【００７３】
さらにプロセッサ９０２は、リモートサーバからクエリを受信することが可能であり、クエリは所有ベクトル基準を含む。リモートサーバは、クエリがプロセッサ９０２に送信される前に、所有ベクトルデータをクエリ内に接合する。プロセッサ９０２は、接合されたクエリを使用して関係データベースの検索を実行し、クライアントシステムでの表示のため、またはリモートサーバもしくはクライアントシステムによるさらなる処理のために、リモートサーバに結果を戻すかまたは伝送する。
【００７４】
関係データベース内にセキュリティを提供する際に使用するための、コンピュータシステム、コンピュータデバイス、およびコンピュータ実装方法またはプロセスの例示の実施形態について、上記で詳細に説明した。このシステム、方法、およびデバイスは、本明細書で説明された特定の実施形態に限定されず、むしろ、方法の動作、ならびに／またはシステムおよび／もしくは装置の構成要素は、本明細書で説明された他の動作および／または構成要素とは無関係かつ別々に利用され得る。さらに、説明された動作および／または構成要素は、他のシステム、方法、および／または装置内で定義され得るか、またはそれらと組み合わせて使用され得、本明細書で説明されたシステム、方法、および記憶媒体のみを用いた実践に限定されない。
【００７５】
本明細書で説明されたデータベースサーバまたはリモートサーバなどのコンピュータは、少なくとも１つのプロセッサまたは処理ユニットおよびシステムメモリを含む。コンピュータは、通常、少なくともいくつかの形のコンピュータ可読媒体を有する。例を挙げると、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法またはテクノロジで実装された、非一時的、揮発性および不揮発性、取外し可能および取外し不能の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調データ信号内に具体化し、任意の情報送達媒体を含む。当業者であれば、信号内の情報を符号化するためにこうした方法で設定または変更された１または複数の特徴を有する、変調データ信号を熟知している。上記のいずれかの組合せは、コンピュータ可読媒体の範囲にも含まれる。
【００７６】
本発明は、例示のデータベースシステム環境に関連して説明されているが、本発明の実施形態は多数の他の汎用または特定用途向けデータベースシステム環境または構成で動作可能である。データベースシステム環境は、本発明の任意の態様の使用または機能の範囲に関して、いかなる制限も示唆することを意図されていない。さらにデータベースシステム環境は、例示の動作環境で示されたいずれの１構成または構成の組合せに関するいずれの依存性または要件をも、有するものと解釈されるべきではない。
【００７７】
本発明の実施形態は、１または複数のコンピュータまたは他のデバイスによって実行される、非一時的プログラム構成要素またはモジュールなどの、コンピュータ実行可能命令との大まかな関連において説明され得る。本発明の態様は、任意の数および編成の構成要素またはモジュールで実装され得る。たとえば本発明の態様は、図面に示され本明細書で説明された、特定のコンピュータ実行可能命令または特定のコンピュータもしくはモジュールに限定されない。本発明の代替の実施形態は、本明細書で図示および説明されたよりも多いかまたは少ない機能を有する、異なるコンピュータ実行可能命令または構成要素を含むことができる。
【００７８】
本明細書で図示および説明された本発明の実施形態における動作の実行または実施の順序は、特に指定のない限り必須ではない。すなわち動作は、特に指定のない限り任意の順序で実行され得、本発明の実施形態は、本明細書で開示された動作よりも多いかまたは少ない動作を含むことができる。たとえば、特定動作を他の動作の前、同時、または後に実行または実施することは、本発明の態様の範囲内であることが企図される。
【００７９】
本発明について、その例示の実施形態を参照しながら具体的に図示および説明してきたが、当業者であれば、添付の特許請求の範囲によって包含される本発明の範囲から逸脱することなく、形態および細部における様々な変更が可能であることを理解されよう。
【図１】
2014130599.tif 000003
【図２】
2014130599.tif 000004
【図３】
2014130599.tif 000005
【図４】
2014130599.tif 000006
【図５Ａ】
2014130599.tif 000007
【図５Ｂ】
2014130599.tif 000008
【図６】
2014130599.tif 000009
【図７】
2014130599.tif 000010
【図８】
2014130599.tif 000011
【図９】
2014130599.tif 000012
【外国語明細書】
2014130599000001.pdf