(57)【要約】      （修正有）【課題】モバイルデバイス上のアプリケーションにより取得された望ましくないコンテンツへのアクセスを制御するシステムおよび方法を提供する。【解決手段】ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、ユーザアプリケーションのグラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受し３０４、傍受されたデータに基づいて前記コンテンツに関連する第1のテンプレートを生成する３０６。さらに、第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定し３１０、決定されたカテゴリに基づいてグラフィカルユーザインタフェースのコンテンツへのアクセスを制御する３１２。【選択図】図３
2018163633.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデバイス上の分離環境で実行されるユーザアプリケーションからのコンテンツへのアクセスを制御する方法であって、工程Ａ〜Ｄを含み、
前記工程Ａは、前記ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、前記ユーザアプリケーションのグラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受し、
前記工程Ｂは、前記傍受されたデータに基づいて前記コンテンツに関連する第1のテンプレートを生成して、前記第１のテンプレートは前記グラフィカルユーザインタフェースの要素のパターンを指定し、
前記工程Ｃは、前記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定し、
前記工程Ｄは、前記決定されたカテゴリに基づいて前記グラフィカルユーザインタフェースのコンテンツへのアクセスを制御する、
方法。
【請求項２】
前記第1のテンプレートは、前記ユーザアプリケーションのグラフィカルユーザインタフェースの1つ以上の要素の関係、類型、及び1つ以上のプロパティの少なくとも1つを指定する、請求項１に記載の方法。
【請求項３】
前記工程Ｃは更に、
前記第1のテンプレートが、過去に生成されたテンプレートであって過去に望ましくないカテゴリと識別されたもののうちの少なくとも１つに類似であることを示す比較結果に基いて、前記コンテンツのカテゴリを望ましくないものであると決定することを含む、請求項１に記載の方法。
【請求項４】
前記過去に生成されたテンプレートのうちの少なくとも1つが、重み付け係数に関連付けられている、請求項1に記載の方法。
【請求項５】
前記過去に生成された複数のテンプレートは、前記ユーザアプリケーションの特定のバージョンに関連付けられ、前記第1のテンプレートと前記過去に生成された複数のテンプレートとの比較は、前記ユーザアプリケーションのバージョンに基づいて行われる、請求項1に記載の方法。
【請求項６】
前記コンテンツの決定されたカテゴリは、前記コンテンツが表示されている前記ユーザアプリケーションの類型及び前記コンテンツの類型を指定する、請求項1に記載の方法。
【請求項７】
請求項１に記載の方法は更に、
前記オペレーティングシステムに、前記セキュリティアプリケーションをアクセシビリティサービスとして登録することを含み、前記セキュリティアプリケーションは前記アクセシビリティAPIをサポートするように構成される、請求項１に記載の方法。
【請求項８】
分離環境で実行されるユーザアプリケーションからのコンテンツへのアクセスを制御するためのシステムであって、
ユーザアプリケーションのグラフィカルユーザインタフェースをレンダリングするように構成された表示装置とプロセッサとを含み、
前記プロセッサは、
前記ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、前記グラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受し、
前記傍受されたデータに基づいて前記コンテンツに関連する第１のテンプレートを生成して、前記第１のテンプレートは前記グラフィカルユーザインタフェースの要素のパターンを指定し、
前記第１のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定し、
前記決定されたカテゴリに基づいて前記グラフィカルユーザインタフェースのコンテンツへのアクセスを制御するよう構成される、
システム。
【請求項９】
前記第１のテンプレートは、前記ユーザアプリケーションのグラフィカルユーザインタフェースの1つ以上の要素の関係、類型、及び1つ以上のプロパティの少なくとも1つを指定する、請求項８に記載のシステム。
【請求項１０】
前記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定するよう構成される前記プロセッサは、
前記第1のテンプレートが、過去に生成されたテンプレートであって過去に望ましくないカテゴリと識別されたもののうちの少なくとも１つに類似であることを示す比較結果に基いて、前記コンテンツのカテゴリを望ましくないものであると決定する、請求項８に記載のシステム。
【請求項１１】
前記過去に生成された複数のテンプレートのうちの少なくとも1つが、重み付け係数に関連付けられている、請求項８に記載のシステム。
【請求項１２】
前記過去に生成された複数のテンプレートは、前記ユーザアプリケーションの特定のバージョンに関連付けられ、前記第1のテンプレートと前記過去に生成された複数のテンプレートとの比較は、前記ユーザアプリケーションのバージョンに基づいて行われる、請求項８に記載のシステム。
【請求項１３】
前記コンテンツの決定されたカテゴリは、前記コンテンツが表示されている前記ユーザアプリケーションの類型及び前記コンテンツの類型を指定する、請求項８に記載のシステム。
【請求項１４】
前記プロセッサは更に、
アクセシビリティサービスとして前記セキュリティアプリケーションを前記オペレーティングシステムに登録し、前記セキュリティアプリケーションは前記アクセシビリティAPIをサポートするように構成される、請求項８に記載のシステム。
【請求項１５】
ユーザデバイス上の分離環境で実行されるユーザアプリケーションからのコンテンツへのアクセスを制御するためのコンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体であって、命令Ａ〜Ｄを含み、
前記命令Ａは、前記ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、前記ユーザアプリケーションのグラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受し、
前記命令Ｂは、前記傍受されたデータに基づいて前記コンテンツに関連する第1のテンプレートを生成して、前記第１のテンプレートは前記グラフィカルユーザインタフェースの要素のパターンを指定し、
前記命令Ｃは、前記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定し、
前記命令Ｄは、前記決定されたカテゴリに基づいて前記グラフィカルユーザインタフェースのコンテンツへのアクセスを制御する、
非一時的なコンピュータ可読媒体。
【請求項１６】
前記第１のテンプレートは、前記ユーザアプリケーションのグラフィカルユーザインタフェースの1つ以上の要素の関係、類型、及び1つ以上のプロパティの少なくとも1つを指定する、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて前記コンテンツのカテゴリを決定するための前記命令は更に、
前記第1のテンプレートが、過去に生成されたテンプレートであって過去に望ましくないカテゴリと識別されたもののうちの少なくとも１つに類似していることを示す比較結果に基いて、前記コンテンツのカテゴリを望ましくないものであると決定するための命令を含む、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記過去に生成された複数のテンプレートのうちの少なくとも1つが、重み付け係数に関連付けられている、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記過去に生成された複数のテンプレートは、前記ユーザアプリケーションの特定のバージョンに関連付けられ、前記第1のテンプレートと前記過去に生成された複数のテンプレートとの比較は、前記ユーザアプリケーションのバージョンに基づいて行われる、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記非一時的なコンピュータ可読媒体は更に、
アクセシビリティサービスとして前記セキュリティアプリケーションを前記オペレーティングシステムに登録し、前記セキュリティアプリケーションは前記アクセシビリティAPIをサポートするための命令を含む、請求項１５に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してコンピュータセキュリティの分野に関し、より具体的には、アクセシビリティアプリケーションプログラミングインタフェース（API）を使用して生成されたテンプレートに基づいてコンテンツへのアクセスを制御するシステムおよび方法に関する。
【背景技術】
【０００２】
一部のオペレーティングシステム（OS）、特にAndroidなどのモバイルOSでは、ユーザアプリケーションを実行する際のセキュリティを確保するために、「サンドボックス」として知られる分離された実行環境コード（以下、分離環境）をオペレーティングシステムは構築する。分離環境は、通常、ディスクまたはメモリ上のスペースや使用可能なプロセッサコアの数等、その実行のためにアプリケーションがアクセスできる複数の制御可能なソフトウェアおよびハードウェアリソースを構成する。さらに、分離環境は、通常、ネットワーク（ローカルエリアまたはインターネット）へのアクセス、OS機能、データ入力機器からの情報の読み取りといったシステム機能の実行を部分的にエミュレートするか、それらの実行の可能性を大きく制限する。このような分離環境で動作するアプリケーションは、他のアプリケーションにアクセス可能であったり割り当てられていたりするコンピューティングデバイス（例えば、モバイルデバイス）のRAM領域を読み込むことはおろか、そこへ書き込みすることもできない。
【０００３】
システム機能を呼び出すためには、サードパーティユーザアプリケーションが追加の認証を要求し、権限を受ける必要がある。通常、そのような認証は、アプリケーションをインストールする（例えば、旧バージョンのAndroid OSにおいて）か、またはアプリケーションの起動中もしくは実行中（例えば、Android OSの後のバージョンおよび他のOSにおいて）において認証される。そのような認証の例には、テキストメッセージ（SMS／MMSメッセージ等）を扱う権限、ユーザの連絡先へのアクセス権、ネットワークサービスへのアクセス権などがある。アプリケーションが認証により分離環境外で実行できるアクションの量も同様に制限される。認証自体は、通常、様々な種類のものがあり、全てのアプリケーションに付与することができるものと、限られたグループのアプリケーション、例えば、コンピューティングデバイスのファームウェアを構成するアプリケーションのみに付与するものや、OSによってファーストパーティであると判断されたアプリケーションのみに付与するものがある。
【０００４】
セキュリティアプリケーションは、この意味でサードパーティアプリケーションと見なすこともできるため、分離環境内におけるその権利と、ユーザによって付与された追加の権限とに制限される。従って、セキュリティアプリケーションが他の外部アプリケーションから得られたデータ（例えばインターネットからのもの）を分析しようとすると、セキュリティアプリケーションがこのデータを取得し分析することができないという問題が生じる。オペレーティングシステムがサードパーティアプリケーションに付与した権限のリストにある他のアプリケーションのデータを読み込むという権限は無い。なぜならそのような権限は分離環境を使用するアプローチに反するからである。
【０００５】
悪意のあるアプリケーションに対するモバイルデバイスの（分離環境を用いて達成される上述の閉鎖性に起因する）相対的な保護にもかかわらず、モバイルデバイス上のアプリケーションにより取得された望ましくないデータコンテンツを除去するという問題はむしろ深刻である。例えば、望ましくないリンク、猥褻な言葉、その他好ましくない情報から子供を守ることを親は望み、ユーザはフィッシングや押し付けがましい広告等を防ぐことを望み、企業はその従業員がビジネス目的でのみモバイルデバイスを使用することを望む、といったことが考えられる。
【０００６】
既知のセキュリティシステムでは、分離環境で動作するアプリケーションが取得したデータおよびコンテンツを受信して処理する能力を持たないため効果的ではない。従って、モバイルアプリケーション上の分離環境で実行されるユーザアプリケーションによるコンテンツへのアクセスをセキュリティアプリケーションが制御するためのメカニズムを改善する必要がある。
【発明の概要】
【０００７】
近年のモバイルデバイスのオペレーティングシステムは、しばしば、障害を抱える人々がそれら機器を操作するのを支援するサブシステムを有する。多くの場合、そのようなサブシステムには、情報を知覚するための代替的な方法（スクリーンテキストの音声読み取り、点字アルファベットをサポートする外部装置へのデータ出力等）を外部開発者が開発するためのアクセシビリティアプリケーションプログラミングインタフェース（API）を有する。
【０００８】
本発明のシステムおよび方法は、このアクセシビリティAPIを使用して、別のユーザアプリケーションによって表示されているコンテンツに関するデータを傍受するセキュリティアプリケーションを提供する。これは分離環境を用いていては当該データを取得することは困難であるか、または不可能なことである。セキュリティアプリケーションは、傍受したデータに基づいてテンプレートを生成し、このテンプレートを使用して、ユーザアプリケーション上のコンテンツを1つ以上のコンテンツカテゴリとして分類する。セキュリティアプリケーションはその後、例えば、コンテンツのカテゴリに基づいてユーザアプリケーションによるコンテンツのアクセスを制限し、または表示を禁止することで、アクセスを制御することができる。
【０００９】
このように、提案する方法は、障害を抱えるユーザのためのアプリケーションプログラミングインタフェースを使用してモバイルデバイス上のアプリケーションが受信したデータのカテゴリを識別することを可能にする。本発明の技術は、従来技術がコンテンツをはっきりと識別するための情報を生成することができない場合において有利に成功し得る。例えば、ソーシャルネットワーク（Instagramなど）の画像への直接リンクを含むメッセージをメッセンジャーアプリケーション（WhatsAppなど）でユーザが受信し、そのリンクを開いた場合、ユーザに表示されアクセスできるそのインターフェースの機能は、アプリケーションの名前、ユーザプロファイルの名前、またはマテリアルの名前が含まれないようにしてもよい。
【００１０】
１つの例示的な態様では、ユーザデバイス上の分離環境で実行されるユーザアプリケーションからのコンテンツへのアクセスを制御する方法が提供される。当該方法は、上記ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、上記ユーザアプリケーションのグラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受する工程Ａと、上記傍受されたデータに基づいて上記コンテンツに関連する第1のテンプレートを生成する工程B が含まれる。上記第１のテンプレートは上記グラフィカルユーザインタフェースの要素のパターンを指定する。当該方法は更に、上記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて上記コンテンツのカテゴリを決定する工程Cと、上記決定されたカテゴリに基づいて上記グラフィカルユーザインタフェースのコンテンツへのアクセスを制御する工程Dとを含む。
【００１１】
別の例示的な態様によれば、上記第1のテンプレートは、上記ユーザアプリケーションのグラフィカルユーザインタフェースの1つ以上の要素の関係、類型、及び1つ以上のプロパティの少なくとも1つを指定する、
【００１２】
別の例示的な態様によれば、上記第1のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて上記コンテンツのカテゴリを決定するステップは更に、上記第1のテンプレートが、過去に生成されたテンプレートであって過去に望ましくないカテゴリと識別されたもののうちの少なくとも１つに類似していることを示す比較結果に基いて、上記コンテンツのカテゴリを望ましくないものであると決定することを含む。
【００１３】
別の例示的な態様によれば、上記過去に生成されたテンプレートのうちの少なくとも1つが、重み付け係数に関連付けられている。
【００１４】
別の例示的な態様によれば、上記過去に生成された複数のテンプレートは、上記ユーザアプリケーションの特定のバージョンに関連付けられ、上記第1のテンプレートと上記過去に生成された複数のテンプレートとの比較は、上記ユーザアプリケーションのバージョンに基づいて行われる。
【００１５】
別の例示的な態様によれば、上記コンテンツの決定されたカテゴリは、上記コンテンツが表示されている上記ユーザアプリケーションの類型及び上記コンテンツの類型を指定する。
【００１６】
別の例示的な態様によれば、上記方法は更に、上記オペレーティングシステムに、上記セキュリティアプリケーションをアクセシビリティサービスとして登録することを含み、上記セキュリティアプリケーションは上記アクセシビリティAPIをサポートするように構成される。
【００１７】
もう１つのさらなる例示的な態様では、分離環境で実行されるユーザアプリケーションからのコンテンツへのアクセスを制御するためのシステムが提供される。この態様では、上記システムはユーザアプリケーションのグラフィカルユーザインタフェースをレンダリングするように構成された表示装置とプロセッサとが含まれる。上記プロセッサは、上記ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティアプリケーションプログラミングインタフェース（API）を使用して、上記グラフィカルユーザインタフェース内のコンテンツに関するデータをセキュリティアプリケーションが傍受し、上記傍受されたデータに基づいて上記コンテンツに関連する第１のテンプレートを生成するよう構成される。上記第１のテンプレートは上記グラフィカルユーザインタフェースの要素のパターンを指定する。上記プロセッサは更に、上記第１のテンプレートと過去に生成された複数のテンプレートとの比較に基づいて上記コンテンツのカテゴリを決定し、上記決定されたカテゴリに基づいて上記グラフィカルユーザインタフェースのコンテンツへのアクセスを制御するよう構成される。
【００１８】
別の例示的な態様によれば、本明細書で開示される方法のいずれかを実行するためのコンピュータ実行可能命令を含むコンピュータ可読媒体が提供される。
【００１９】
本発明の例示的な側面に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された側面の広範な概要ではなく、全ての側面の重要な又は決定的な要素を特定することも本発明の任意の又は全ての側面の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ以上の側面を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ以上の側面が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００２０】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本開示の1つ以上の例示的な態様を示し、詳細な説明と共に、それらの原理および実施形態を説明する役割を果たす。
【００２１】
【図１】図１は、例示的な一態様による、アクセシビリティAPIを使用して分離環境で動作するユーザアプリケーションがコンテンツへのアクセスを制御するシステムのブロック図を示す。
【図２】図２は、例示的な一態様による、セキュリティアプリケーションによって傍受されるグラフィックユーザインターフェースの要素に関連するデータを示すブロック図である。
【図３】図３は、例示的な一態様による、アクセシビリティAPIを使用して分離環境で動作するユーザアプリケーションによるコンテンツへのアクセスを制御する方法のフローチャートを示す。
【図４】図４は、開示されたシステムおよび方法が例示的な態様に従って実施され得る汎用コンピュータシステムの一例のブロック図を示す。
【詳細な説明】
【００２２】
本明細書では、アクセシビリティAPIを使用してモバイルデバイス上のコンテンツへのアクセスを制御するためのシステム、方法、およびコンピュータプログラム製品に関連して、例示的な態様を説明する。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の態様は、本開示から恩恵を享受する当業者に容易に示唆されるであろう。以下、添付の図面に示されている例示的な実装形態を詳細に参照する。同一の符号は、図面全体にわたって可能な範囲で使用され、以下の説明は、同じ又は同様の項目を参照するために使用される。
【００２３】
図1は、例示的な態様による、アクセシビリティアプリケーションプログラミングインタフェース（API）を使用して分離環境で動作するユーザアプリケーションによるコンテンツへのアクセスを制御するシステムのブロック図を示す。このシステムは、デスクトップコンピュータまたはモバイルデバイス（例えば、ラップトップコンピュータ、タブレット、スマートフォンまたは他のポータブルコンピューティングデバイス）などのユーザデバイス100上に展開することができる。「ユーザデバイス」および「モバイルデバイス」という用語は、本明細書では区別せずに使用される。ユーザデバイス100の例示的な態様の概略図は、図４を参照して後述される。 
【００２４】
ユーザデバイス100は、1つ以上のユーザアプリケーション150（例えば、インターネットブラウザ、テキスト処理アプリケーション等）を実行することができる。各ユーザアプリケーション150は、ユーザデバイス100上にグラフィカルユーザインタフェースを生成、読み込み、および表示し、ユーザアプリケーション150と連動するように構成されてもよい。グラフィカルユーザインタフェースは、ユーザの消費および/またはやり取りのためのコンテンツ152を含むことができる。ユーザアプリケーションのコンテンツ152は、テキストデータ、オーディオデータ、ビデオデータ、および他の類型のマルチメディアの任意の組み合わせを含むことができ、ウェブページ、ウェブアプリケーション、モバイルアプリケーション、画像ファイル（例えば、静止画やアニメーションGIF）、ビデオファイル、サウンドファイル、ストリーミングビデオおよびサウンドファイル等、様々なフォーマットで提供され得る。
【００２５】
想定される悪意のあるアプリケーションからユーザを保護するために、ユーザデバイス100のオペレーティングシステム102は、例えば、ユーザアプリケーション150の起動時において、各ユーザアプリケーション150を実行するためのサンドボックスのような分離環境106を作成するように構成され得る。分離環境106におけるそれらの実行の間に、ユーザアプリケーション150は、ファイル、ユーザ入力またはインターネットから様々なデータにアクセスしようと試み、様々なOSサービスおよびシステムリソース、更には他のユーザアプリケーション150にまでアクセスしようと試みる。分離環境106は、ユーザアプリケーション150のデータアクセス権を制限するとともに、様々なOSサービスおよびシステムリソースへのアクセスに制限を設けるように構成することができる。
【００２６】
障害を抱えるユーザのためのアプリケーションを開発するために設計されたアクセシビリティAPIを使用してモバイルデバイス上のデータのカテゴリを識別するシステムは、セキュリティアプリケーション140（アンチウィルスアプリケーション等）の一部であり、傍受モジュール110とカテゴリ化モジュール120を含む。本明細書では、アクセシビリティAPIはオペレーティングシステムによって公開され、障害を抱えるユーザに適したアプリケーション作成のために設計された複数の機能を意味する。アクセシビリティAPIをサポートするアプリケーションは、アクセシビリティアプリケーションによる（アクセシビリティAPIを介した）プログラム的アクセスを可能にするために、アプリケーションの制御要素とデータの両方を含んだアプリケーションのユーザインターフェイスに関する情報を公開するように構成される。アクセシビリティアプリケーションは、障害を抱えるユーザを支援するためにユーザインターフェイスを強化するアプリケーションであり、例えばスクリーンリーダーアプリケーションが挙げられる。
【００２７】
セキュリティアプリケーション140は、オペレーティングシステム102によって公開されるアクセシビリティAPI104をサポートするアクセシビリティサービスとして構成されている。例えば、セキュリティアプリケーション140は、オペレーティングシステム102に対して自身をアクセシビリティサービスとして宣言する構成を含む。セキュリティアプリケーション140は、以下でより詳細に説明するように、オペレーティングシステム102によって生成された1つ以上の類型のアクセシビリティイベントを処理するように構成される。例示的な一態様では、ユーザは、障害を抱えるユーザのために、オペレーティングシステム102のシステムサービスとしてセキュリティアプリケーション140をモバイルデバイスにインストールするように求められる（すなわち、アクセシビリティサービス）。このために、例えばAndroid OSバージョン7.х以前であれば、ユーザはアクセシビリティシステム設定タブを開き、このサービスのプロバイダの1つとしてセキュリティアプリケーション140を選択することができる。
【００２８】
傍受モジュール110は、ユーザが操作しているアプリケーション150に関するコンテンツ152であってモバイルデバイスにロードされディスプレイ上に表示されているもの、を傍受するように構成されている。一般的な場合、コンテンツはグラフィックユーザインターフェース（GUI）の要素を含むデータを表す。コンテンツデータは、ウェブページなどの所定のフォーマットのファイルを表す。1つの例示的な態様では、コンテンツはモバイルデバイスの内部メモリからアプリケーションによってロードされる。別の例示的な態様では、コンテンツはインターネットからアプリケーションによってロードされる。ユーザは、例えば、アプリケーション150を操作してコンテンツ152を閲覧し、ナビゲーションボタンおよび/またはモバイルデバイスのタッチスクリーンからデータを入力することに留意されたい。アプリケーション150は、アプリケーション150のインタフェースの外観を決定するグラフィックインタフェース要素を利用する。多くの場合、アプリケーション150はグラフィックアプリケーション要素のスタイルおよびフォーマットを含む、いわゆる「テーマ」を利用する。さらに、アプリケーション150はコンテンツの出力をモバイルデバイスのディスプレイに適合させるためのメカニズムを含むことが多く、例えば、モバイルデバイスのディスプレイの解像度、モバイルデバイスのディスプレイの向き（肖像または風景）、モバイルデバイスが動作しているオペレーティングシステム102のバージョン等に応じて適合される。
【００２９】
傍受モジュール110は、モバイルデバイスのディスプレイにロードされ表示されているアプリケーション150に関するコンテンツ152であってユーザが操作しているものを傍受した後、傍受モジュール110がこのコンテンツのテンプレートを生成するように構成される。1つの例示的な態様では、テンプレートはグラフィカルユーザインタフェース要素について、関係180、類型185、および1つ以上のプロパティ190を含む。いくつかの例示的な態様では、GUI内の要素に関連付けられた関係180は、GUI内の別の要素との位置関係を、他の要素との図形的な距離に基づいて指定することができる。例えば、関係180は、GUI内の要素の絶対位置を提供する1つ以上の図形座標、または他の要素に対する要素の相対位置を提供する１つ以上の図形座標を指定することができる。いくつかの例示的な態様では、GUI内の要素に関連する関係180は、GUI内の要素間のノード階層、例えば、Webページ内のHTML要素の文書オブジェクトモデルから派生した子と親の関係に基づいて、GUI内の別の要素との階層関係を指定することができる。1つの例示的な態様では、GUIの要素の類型185は、その要素によって表示されるテキスト、画像、ビデオなどの1つの特定の類型のコンテンツを指定することができる。例示的なテンプレートは、図２において詳細に記載されている。
【００３０】
図２は、例示的な一態様による、セキュリティアプリケーションによって傍受されるグラフィックユーザインターフェースの要素に関連するデータを示すブロック図である。1つの例示的な態様では、傍受モジュール110は、アクセシビリティＡＰＩ104を使用して傍受されたデータに基づいてグラフィカルユーザインターフェース内の要素のパターンを指定するテンプレートを生成する。例示的な一態様では、傍受されたデータは、ノードを含むツリーデータ構造およびグラフィカルユーザインタフェース内の要素に関連するウィンドウ情報を含むことができるが、他のフォーマットおよび実装が用いられてもよいことが理解される。説明のために、図2は、ソフトウェア開発用のインスペクタアプリケーションによってレンダリングされたGUIのツリーデータ構造の一例を示し、テンプレートの一部で注釈付けされている。
【００３１】
デジタルメディアストアアプリケーション（例えば、Google Play）の例を使用すると、モバイルデバイスのディスプレイ上にロードされ表示される各コンテンツ（以下、ページ）は、それ自身の要素の構造を有する。メニューを含むページがあり、要素（書籍、アプリケーション、映画）を含むページがある。その後のナビゲーションにおいて、ユーザは、デジタルメディアストアアプリケーションに表示されている個々の要素の説明に切り替えてから、その評価を示すユーザコメントのセクションに進むことができる。この例では、傍受モジュール110は、ユーザがアプリケーション150を通してナビゲーションの過程で到達する各ページの要素の構造（モバイルデバイスのディスプレイ上にロードされ表示されているコンテンツ）を識別する。この構造は、ボタン、テキストフィールド、スクロールバー、表示画面、フレームといった複数の要素を表す。1つの例示的な態様では、構造は、複数の要素または要素のグループ（表、リスト）の存在を含む。次に、傍受モジュール110は、テキストフィールドからのテキスト文字列、色、フォントサイズ、フレーム、ボタン、チェックボックス等の要素の値およびプロパティを識別する（すなわち、読み取る）。
【００３２】
上記を考慮すると、傍受モジュール110は、コンテンツ152と、関係180を含むテンプレートと、類型185と、グラフィックユーザインターフェースの要素のプロパティ190とに基づいて、テンプレートを生成する。例えば、テンプレートは、1つの特定の要素がテキストを表示するための類型185（例えば、TextView）を有することを指定することができる。テンプレートはさらに、1つ以上の要素を含んだ親子関係185を有するテキスト要素、例えば「バッジスバー」として識別されるレイアウトコンテナの要素といったもの、を指定することができる。テンプレートは、テキストに関連付けられた1つ以上の追加のノードプロパティ190 （例えば、「シミュレーション」）、リソース識別子、クラスおよびパッケージ情報を指定することができ、要素の状態情報（チェックされていない、チェック可能でない等）を制御することができる。別の例では、類型185「com.android.checkbox」の要素は、値「false」となっている「チェック済み」プロパティ190と、50ピクセル上および30ピクセル右に配置された類型「com.android.button」の要素に関連する関係185とを有する。
【００３３】
図１に戻ると、傍受モジュール110は、生成されたテンプレートをカテゴリ化モジュール120に提供するように構成される。1つの例示的な態様では、カテゴリ化モジュール120がセキュリティアプリケーション140のモジュール（一部）であることに注目されたい。別の例示的な態様では、カテゴリ化モジュール120は、リモートサーバ上またはクラウドサービスとして実装される。
【００３４】
1つの例示的な態様では、カテゴリ化モジュール120は、カテゴリが識別されたコンテンツに基づいて過去に生成された複数のテンプレートを維持するように構成される。
【００３５】
本開示の文脈においてコンテンツのカテゴリとは、コンテンツがロードされ表示されているナビゲーション中における、少なくともアプリケーション150の類型を含む複数のプロパティおよびコンテンツの類型そのものをいう。前述したように、アプリケーション150の類型は、ウェブブラウザ、メッセンジャー、ソーシャルネットワークアプリケーション、メディアコンテンツ（Google Play、Samsung Apps）の配信のためのアプリケーション、インターネットからビデオストリームを見るためのアプリケーション、メディアプレーヤーなどが挙げられる。いくつかの例示的な態様では、コンテンツの類型は、アプリケーションの画面全体、コメントセクション、メッセージ交換セクション、特定のアプリケーションに特有のコンテンツセクション（YouTubeの動画素材の説明、Google Playのアプリケーションの説明、オンライン映画館の映画の説明など）を含むことができる。
【００３６】
1つの例示的な態様では、カテゴリが過去に識別されたコンテンツの複数のテンプレートは、データベース160または他の記憶モジュールまたはデバイスに格納される。1つの例示的な態様では、複数のテンプレートは、既知のアプリケーション、既知の類型のアプリケーション、および既知の類型のコンテンツに対してアクセシビリティAPIを用いて生成される。
【００３７】
テンプレートは、コンテンツがダウンロードされ表示されたアプリケーションのバージョンに依存してもよい（またはそうでなくてもよい）ことに注意すべきであり（新しいアプリケーションバージョンのリリースに伴い、グラフィックインターフェイスおよびテンプレート全体の要素の構造が変化する可能性がある）、従って、1つの例示的な態様では、データベース160は、アプリケーションのバージョンおよびそれらの対応するテンプレートに関する記録を記憶する。そのため、例えば、データベース160が特定のウェブブラウザアプリケーション（例えば、Google Chrome）バージョン9.12のテンプレートを含む場合、カテゴリ化モジュール120は、このテンプレートから対応するバージョンのウェブブラウザアプリケーションを明確に決定することができる。しかし、バージョン9.13のリリースでは、場合によっては（例えば、コントロール要素が追加された場合、ウィンドウやフォントスタイルの外観が変更された場合等）、カテゴリ化モジュール120によるテンプレートからWebブラウザアプリケーションを明確に決定することができなくなる。もっとも、カテゴリ化モジュール120は、ウェブブラウザアプリケーションバージョン9.13をブラウザ類型に割り当てることになる。
【００３８】
1つの例示的な態様では、テンプレートは、カテゴリ化モジュール120によるカテゴリの決定を高速化するために、少なくとも1つの重み付け係数（例えば、既知のアプリケーションの人気またはYouTubeのビデオの人気といったアプリケーション内のコンテンツの人気）を有することができる。この場合、カテゴリ化モジュール120は、重み付け係数に従ってデータベース160からテンプレートを選択する。従って、例えば、デジタルメディアストアまたはマーケットプレイス型プラットフォームからのユーザアプリケーション150は、最もダウンロードされ、最も高評価された等の人気評価を有することができる。上記の評価に従って、テンプレート用データベース160は人気についての重み付け係数を格納することができる。カテゴリ化モジュール120は、最も人気のあるアプリケーションについてN個（例えば1000個）のテンプレートを選択し、それらを傍受モジュール110から得た生成されたテンプレートと比較する。別の例では、最も人気のある類型のアプリケーションの最も人気のあるテンプレートを、それぞれM個（例えば10個）選択することが可能である。例えば、カテゴリ化モジュール120は、メッセージ交換プログラムの最も人気のあるテンプレートのうちの10個（例えば、ブラウザの上位10個のテンプレート、またはゲームの上位100個のテンプレート）を、傍受モジュール110から得た生成されたテンプレートと比較することができる。
【００３９】
さらに、カテゴリ化モジュール120は、傍受モジュール110から受信したテンプレートをカテゴリが識別されたテンプレートと比較する複数の比較ルールを使用する。いくつかの例示的な態様では、ルールは信頼できるかまたは決定論的であり、すなわちコンテンツをはっきりと識別することができる。別の例示的な態様では、ルールは確率論的であり、すなわち確率でコンテンツを識別し、従来技術において知られているテンプレートの類似度を識別する方法を利用することができる。ルールは、個々のテンプレートまたはテンプレートのグループに対して順に決定されてもよい。
【００４０】
1つの例示的な態様では、ルールの使用により、カテゴリ化モジュール120は、アプリケーションの類型だけでなく、アプリケーション自体（その名前およびバージョンなど）も識別する。一般的な場合、比較ルールはデータベース160に保持される。
【００４１】
さらに、1つの例示的な態様では、カテゴリ化モジュール120は、様々なユーザグループにとって望ましくない可能性のあるコンテンツ内の情報の存在を反映する複数の安全でない又は望ましくないカテゴリを選択する。そのような情報には、年齢制限を伴った性的描写、アルコール、タバコ、麻薬、暴力、卑猥な言葉、武器、その他の不快なコンテンツが含まれる。
【００４２】
一例として、上述したデジタルメディアストアアプリケーション（例えば、Google Play）を検討する。このアプリケーションの内容は、先行技術の既知の方法によって過去に分析されている可能性がある。例えば、インストール用に提示されたアプリケーション（または書籍）のページが分析されている。デジタルメディアストアアプリケーションの各類型の人気のあるアプリケーションのページでは、テンプレートが作成され、カテゴリが決定されている。カテゴリ化モジュール120は、傍受モジュール110から得たテンプレートと前述の最も人気のあるテンプレートとを比較する。比較の結果、ユーザは、デジタルメディアストアアプリケーションから、性的コンテンツを配信または広告しているアプリケーションをダウンロードすることを望んでいることがわかる。結果として、アプリケーションがユーザのモバイルデバイスに入り込むことを防止するステップが取られ得る。例えば、セキュリティアプリケーション140は、アプリケーションのダウンロードおよびインストールをブロックすることができる。
【００４３】
カテゴリ決定の別の例では、メッセンジャーアプリケーション（例えば、「WhatsApp」）を介して未知の連絡先と通信するときに生じる状況である。カテゴリ化モジュール120は、傍受モジュール110から受信したテンプレートから、ユーザがメッセンジャーアプリケーションを介して未知の番号と通信していることを判定することができる。メッセンジャーアプリケーション自体は、チャットウィンドウのスタイル（形式）から高い確率で識別することができる。ただし、電話番号（連絡先名の代わりに上部に表示される）がテンプレートに表示される。この要素は、その番号がユーザの連絡先に含まれていないことを明確に示しており、従って未知の相手との通信が生じていることとなる。そのような通信は安全でないか又は望ましくないものに分類されるので、例えば、モバイルデバイスを使用する子供のためのペアレンタルコントロールの状況において、後でそのような通信をブロックすることができる。
【００４４】
図3は、例示的な態様による、アクセシビリティAPIを使用してデータのカテゴリを識別する方法300のフローチャートを示す。
【００４５】
ステップ302から始まる方法300は、少なくとも傍受モジュール110を含むセキュリティアプリケーション140が、障害を抱えるユーザのためのシステムサービスとして、モバイルデバイス上のオペレーティングシステムに登録される。1つの例示的な態様では、セキュリティアプリケーション140はカテゴリ化モジュール120も含む。別の例示的な態様では、カテゴリ化モジュール120は、リモートサーバ上またはクラウドサービスとして実装される。
【００４６】
ステップ304において、傍受モジュール110は、ユーザデバイスのオペレーティングシステムによって公開されるアクセシビリティAPIを使用して、ユーザアプリケーションのグラフィカルユーザインターフェース内のコンテンツに関するデータを傍受する。例えば、障害を抱えるユーザのためのアプリケーションを作成するために設計されたアプリケーションプログラミングインタフェースを使用する傍受モジュール110は、モバイルデバイスのディスプレイ上にダウンロードされ表示されるユーザが操作しているアプリケーションに関連するコンテンツを傍受するために使用される。コンテンツは、グラフィックユーザインターフェースの要素を含むデータを表すことができる。1つの例示的な態様では、コンテンツは、モバイルデバイスの内部メモリからアプリケーションによってダウンロードされる。別の変形実施形態では、コンテンツはインターネットからアプリケーションによってダウンロードされる。
【００４７】
1つの例示的な態様では、傍受モジュール110は、アクセシビリティＡＰＩ104に登録されたセキュリティアプリケーション140の1つ以上のイベントハンドラを使用して、ユーザアプリケーション150の実行中に生成される様々な類型のイベントを傍受する。例えば、ユーザアプリケーション150のグラフィックユーザインタフェース（GUI）の要素の押下／長押し、ユーザアプリケーション150のGUIの別の要素へのフォーカスの移動、オブジェクトのリストを含むGUIの要素内のオブジェクトの選択（ListBoxまたはRadioButtonGroup内の選択された要素の変更など）、ユーザアプリケーション150のGUIの要素におけるテキストの変更、ユーザデバイス100の画面上のユーザアプリケーション150のウィンドウ（メインまたはダイアログウィンドウ）の表示、といったものを傍受する。
【００４８】
ステップ306において、傍受モジュール110は、傍受されたデータに基づいて、前述したコンテンツのテンプレートを生成する。テンプレートは、グラフィカルユーザインタフェースの要素のパターンを指定する。テンプレートは、グラフィックユーザインターフェースの要素の関係180、類型185、およびプロパティ190を含む。例えば、傍受されたデータがツリーデータ構造としてフォーマットされている場合、傍受モジュール110は、ツリーデータ構造内のノードを反復して動き回り、各ノードを読み込み、ノードで見られたプロパティに基づいてテンプレートを生成する。
【００４９】
例えば、傍受モジュール110は、ユーザデバイス上で実行される写真共有アプリケーション（例えば、Instagram）からコンテンツの1つ以上のテンプレートを生成することができる。傍受モジュール110は、他のユーザの直近の写真およびビデオの連続的なリストを含む写真共有アプリケーションの「ニュースフィード」ビューからのコンテンツに対応する第1のテンプレートを生成することができる。ユーザがニュースフィードビューから画像をクリックまたはタップすると、写真共有アプリケーションはその画像の詳細ビューをレンダリングして表示する。アクセシビリティAPIが検出してイベントを引き起こすGUIにおけるこの変更に応答して、傍受モジュール110は、写真共有アプリケーションの第2の詳細なビュー内のコンテンツ用の第2のテンプレートを生成することができる。仮に、ユーザが画像の詳細なビューをスクロールダウンし、ビューのコメントセクションに移動したとする。すると、傍受モジュール110は、GUIのこのセクションに対する第3のテンプレートを生成することができる。写真共有アプリケーション用のこれらのテンプレートのいずれかまたは全てが過去に生成されていた場合、その後にユーザが写真共有アプリケーション内の任意のページまたはビューを開くと、傍受モジュール110は、既存のテンプレートのいずれを適用すべきか決定することができる。
【００５０】
ステップ308において、傍受モジュール110は、生成されたテンプレートをカテゴリ化モジュール120に提供する。カテゴリ化モジュール120がリモートサーバ上またはクラウドサービスとして実装される場合、セキュリティアプリケーション140は、生成されたテンプレートネットワークを介してカテゴリ化モジュール120に送信する。
【００５１】
ステップ310において、カテゴリ化モジュール120は、生成されたテンプレートと過去に生成された複数のテンプレートとの比較に基づいて、コンテンツのカテゴリを決定する。1つの例示的な態様では、カテゴリ化モジュール120は、生成されたテンプレートを、上述したアプリケーションプログラミングインターフェイスを用いて過去に生成された複数のテンプレートであってカテゴリが識別されたもの（例えば、安全でないもの）と比較し、比較結果に基いて、言及されたコンテンツの少なくとも1つのカテゴリが識別される（例えば、安全でないものとして）。本開示の文脈においてコンテンツのカテゴリとは、コンテンツがロードされて表示されているナビゲーション中における少なくともアプリケーション150の類型を含む複数のプロパティおよびコンテンツの類型そのものをいう。
【００５２】
一般的なケースでは、カテゴリが過去に識別されたコンテンツの複数のテンプレートがデータベース160に保持される。本開示の文脈における複数のテンプレートとは、障害を抱えるユーザ用アプリケーションを作成するために設計されたプログラミングインターフェイスを使用して形成された、既知のアプリケーション、既知の類型のアプリケーション、および既知の類型のコンテンツをいう。
【００５３】
1つの例示的な態様では、テンプレートは、カテゴリ化モジュール120によるカテゴリの決定を高速化するための重み付け係数を有することができる。この場合、カテゴリ化モジュール120は、重み付け係数に従ってデータベースからテンプレートを選択する。さらに、カテゴリ化モジュール120は、傍受モジュール110から受信したテンプレートを、カテゴリが識別されたテンプレートと比較する複数の比較ルールを使用する。1つの態様では、ルールは信頼（コンテンツを明確に識別）することができる。別の態様では、ルールは確率論的でありうる（従来技術で知られているテンプレートの類似度を特定する方法を用いて、確率でコンテンツを識別）。ルールは、個々のテンプレートまたはテンプレートのグループに対して順に決定されてもよい。一般的な場合、比較ルールはデータベース160に記憶される。
【００５４】
ステップ312において、セキュリティアプリケーション140は、決定されたカテゴリに基づいてグラフィカルユーザインタフェースのコンテンツへのアクセスを制御する。例えば、グラフィカルユーザインタフェース内のコンテンツが子供にとって不適切であると判定されたことに対応して、セキュリティアプリケーション140は、ユーザアプリケーションが望ましくないリンクにアクセスしたり、猥褻な言語を表示するのをブロックしてもよい。別の例では、GUI内のコンテンツが安全でないと判定されたことに対応して、セキュリティアプリケーション140は、フィッシングまたは侵入型広告としてユーザアプリケーション150にフラグを立てることができる。別の例では、GUI内のコンテンツが非ビジネス関連として分類されていると判定すると、セキュリティアプリケーション140は、モバイルデバイスが非ビジネス関連ユーザアプリケーションをインストールすること、またはビジネス以外のウェブサイトにアクセスすることをブロックすることができる。分離環境で実行されるユーザアプリケーション内のコンテンツへのアクセスをブロックするための他の技術は、共有の米国特許第9,536,101号に詳細に記載されており、参照することにより本明細書に援用される。
【００５５】
図4は、アクセシビリティAPIを使用してユーザアプリケーション内のコンテンツへのアクセスを制御するためのシステムおよび方法の態様に従って実装され得る例示的なコンピュータシステムを示す図である。図示のように、コンピュータシステム20（パーソナルコンピュータまたはサーバでもよい）は、中央処理装置21、システムメモリ22および中央処理装置21に関連するメモリを含む様々なシステム構成要素に接続されるシステムバス23を含む。当業者には理解されるように、システムバス23は、バスメモリまたはバスメモリコントローラ、周辺機器用バス、及び他のバスアーキテクチャと相互作用することができるローカルバスを含むことができる。システムメモリは、パーマネントメモリ（ROM）24およびランダムアクセスメモリ（RAM）25を含むことができる。基本入出力システム（BIOS）26は、ROM24を利用してオペレーティングシステムをロードするときのような、コンピュータシステム20の要素間で情報を転送するための基本的な手順を格納することができる。
【００５６】
コンピュータシステム20はまた、データを読み書きするためのハードディスク27と、リムーバブル磁気ディスク29に読み書きするための磁気ディスクドライブ28と、CD-ROM、DVD-ROM、及び他の光メディアといったリムーバブル光ディスク31を読み書きするための光学ドライブ30とを含むことができる。ハードディスク27、磁気ディスクドライブ28、及び光学ドライブ30はそれぞれ、ハードディスクインターフェース32、磁気ディスクインターフェース33及び光学ドライブインターフェース34を介してシステムバス23に接続されている。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造、プログラムモジュール、及びコンピュータシステム20の他のデータを格納するための電源独立モジュールである。
【００５７】
例示的な態様では、コントローラ55を介してシステムバス23に接続されたハードディスク27、リムーバブル磁気ディスク29及びリムーバブル光ディスク31を利用するシステムを含む。コンピュータによって読み取り可能な形式で保存することができる如何なるタイプのメディア56（ソリッド・ステート・ドライブ、フラッシュ・メモリ・カード、デジタル・ディスク、ランダムアクセスメモリ（RAM）、その他）も利用できることが当業者によって理解される。
【００５８】
コンピュータシステム20は、オペレーティングシステム35が格納されるファイルシステム36と、追加のプログラムアプリケーション37と、他のプログラムモジュール38と、プログラムデータ39とを有する。コンピュータシステム20のユーザは、キーボード40、マウス42、または当業者に知られている任意の他の入力デバイス、例えばマイクロホン、ジョイスティック、ゲームコントローラ、スキャナだがこれらに限らない、を利用してコマンド及び情報を入力することができる。そのような入力デバイスは、典型的には、シリアルポート46を介してコンピュータシステム20に接続され、シリアルポート46は、システムバスに接続されるが、入力デバイスを他の方法、例えば、 パラレルポート、ゲームポート、またはユニバーサルシリアルバス（USB）だがこれらに限定されない、を介して接続することもできることが当業者であれば理解できる。モニタ47または他のタイプのディスプレイ装置も、ビデオアダプタ48などのインタフェースを介してシステムバス23に接続することができる。モニタ47に加えて、パーソナルコンピュータは、ラウドスピーカ、プリンタ等その他の周辺出力装置（図示せず）を備えることもできる。
【００５９】
コンピュータシステム20は、1つ以上のリモートコンピュータ49へのネットワーク接続を利用して、ネットワーク環境で動作することができる。上記１つのリモートコンピュータ（または複数のリモートコンピュータ）49は、コンピュータシステム20の性質を説明する上で前述した要素のほとんどまたはすべてを含むローカルコンピュータワークステーションまたはサーバであってもよい。ルータ、ネットワークステーション、ピアデバイス、または他のネットワークノードなどの他のデバイスも、コンピュータネットワークに存在することができるが、これに限定されるものではない。
【００６０】
ネットワーク接続は、ローカルエリアコンピュータネットワーク（LAN）50及びワイドエリアコンピュータネットワーク（WAN）を形成することができる。このようなネットワークは、企業のコンピュータネットワーク及び社内ネットワークで利用され、一般的にインターネットへアクセスできる。LANまたはWANネットワークでは、パーソナルコンピュータ20は、ネットワークアダプタまたはネットワークインタフェース51を介してローカルエリアネットワーク50に接続される。ネットワークが利用される場合、コンピュータシステム20は、モデム54、またはインターネットなどのワイドエリアコンピュータネットワークとの通信を可能にする当業者に周知の他のモジュールを利用することができる。 モデム54は、内部または外部の装置であってもよく、シリアルポート46によってシステムバス23に接続されてもよい。上記ネットワーク接続は、通信モジュールを利用して1つのコンピュータによって別のコンピュータへの接続を確立する多くの周知の方法の非限定的な例であることは、当業者には理解されるであろう。
【００６１】
様々な態様において、本明細書に記載のシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施されてもよい。ソフトウェアで実施される場合、これらの方法は、非一過性のコンピュータ可読媒体上に1つ以上の命令またはコードとして格納されてもよい。 コンピュータ可読媒体は、データストレージを含む。限定ではない例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、または光学記憶媒体、又は命令若しくはデータ構造の形態で所望のプログラムコードを実行または格納するために利用することができ、汎用コンピュータのプロセッサによってアクセスすることができる他の媒体を含む。
【００６２】
様々な態様において、本開示で説明されたシステム及び方法は、モジュールに関して扱うことができる。本明細書で使用される「モジュール」という用語は、実世界のデバイス、コンポーネント、又は、例えば、特定用途向け集積回路（ASIC）またはフィールドプログラマブルゲートアレイ（FPGA）等の、ハードウェアを利用して実装されたコンポーネントの配置、若しくは、（実行されている間に）マイクロプロセッサシステムを特殊用途の装置に変換するモジュールの機能を実装するためのマイクロプロセッサシステム及び命令の集合によるものといった、ハードウェアとソフトウェアの組み合わせ、のことを示す。モジュールは、これら2つの組み合わせとして実装されてもよく、特定の機能はハードウェア単体によって促進され、他の機能はハードウェアとソフトウェアの組み合わせによって促進されてもよい。特定の実施例では、モジュールの少なくとも一部、場合によっては全てが、汎用コンピュータのプロセッサ上で実行されてもよい（例えば、上記図６に詳細に記載されたものなど）。従って、各モジュールは、様々な適切な構成で実現されてもよく、ここに例示される特定の実装に限定されるべきではない。
【００６３】
明確化のために述べるが、本態様の複数の特徴の全てが本明細書に開示されるわけではない。本開示のいかなる実装の開発においても、開発者の特定の目標を達成するために多数の実装に係る特有の決定がなされなければならず、これらの具体的な目標は異なる実装及び異なる開発者によって変わるであろう。そのような開発努力は複雑で時間がかかるが、それにもかかわらず、この開示の恩恵を受ける当業者にとって通常の工学的な取り組みであることが理解される。
【００６４】
更に、本明細書で使用される表現または用語は、限定ではなく説明のためのものであり、 本明細書に開示される教示及び指針に照らして、関連技術における当業者の知識と組み合わせて、これら表現または用語が当業者によって解釈されると理解されたい。更に、本明細書または特許請求の範囲における任意の用語が、明示的に記載されていない限り、一般的でないまたは特別な意味で解釈されることを意図するものではない。本明細書で開示される様々な態様は、説明のために本明細書で言及される既知のモジュールに対する現在及び将来の既知の等価物を包含する。更に、態様及び用途が示され、記載されているが、本開示の利益を有する当業者には、本明細書に開示された発明概念から逸脱することなく上述したより多くの改変が可能であることが明らかであろう。
【図１】
2018163633.tif 000003
【図２】
2018163633.tif 000004
【図３】
2018163633.tif 000005
【図４】
2018163633.tif 000006
【外国語明細書】
2018163633000001.pdf