(57)【要約】  データストアアプリケーションなどのアプリケーションは、データストアの表示へのアクセスを管理するためにフィルタークエリーを提供する。アプリケーションは、表示へのアクセスを制限又は形成するためにフィルタークエリーを使用する。ユーザーは、アプリケーションのクエリーコンストラクターコンポーネントを使用してフィルタークエリーを作成する。アプリケーションは構築されたフィルタークエリーを表示に加える。アプリケーションは、クエリーの構造を抽出し、元の表示の結果の代わりにフィルタリングされた表示結果を生成するために、クエリーの構造を元の表示と組み合わせることができる。
2015535622.tif 000002
【特許請求の範囲】
【請求項１】
表示に対するアクセスを管理するためにフィルタークエリーを提供するためのコンピューティングデバイス上で実行される方法であって、
ユーザーから前記フィルタークエリーを受け取るステップと、
前記フィルタークエリーを前記表示に加えることによって、前記フィルタークエリーを前記表示と関連付けるステップと、
前記表示の要求を検出するステップと、
前記表示の代わりに前記フィルタークエリーの結果を提供するステップと
を含む方法。
【請求項２】
前記フィルタークエリーを引き起こすための所定の基準を満たすための要求を評価するステップと、
前記フィルタークエリーを実行するステップと
をさらに含む請求項１に記載の方法。
【請求項３】
前記要求を送る別のユーザーを認証して、前記表示にアクセスする他のユーザーの権限を前記所定の基準として決定するステップと、
前記他のユーザーを前記表示にアクセスする前記権限を有するものとして決定するステップと
をさらに含む請求項２に記載の方法。
【請求項４】
前記要求を送る別のユーザーを認証して、前記表示にアクセスする他のユーザーの権限を前記所定の基準として決定するステップと、
前記他のユーザーを前記表示にアクセスする権限を欠くものとして決定するステップと
をさらに含む請求項２に記載の方法。
【請求項５】
前記表示の他の表示との関係を決定するステップと、
前記関係に従って、前記フィルタークエリーを前記表示に関連付けるステップと
をさらに含む請求項１に記載の方法。
【請求項６】
前記表示の他の表示との共通の要素を決定するステップと、
前記共通の要素に従って、前記フィルタークエリーを前記表示に関連付けるステップと
をさらに含む請求項１に記載の方法。
【請求項７】
表示に対するアクセスを管理するためにセキュリティフィルタークエリーを提供するためのコンピューティングデバイスであって、
命令を格納するように構成されたメモリーと、
前記メモリーに結合され、前記メモリーに格納された前記命令とともにアプリケーションを実行するプロセッサーと
を備え、前記アプリケーションは、
セキュリティ管理者からセキュリティフィルタークエリーを受け取り、
前記セキュリティフィルタークエリーを前記表示に加えることによって、前記セキュリティフィルタークエリーを前記表示に関連付け、
前記表示の要求を検出し、
前記セキュリティフィルタークエリーを実行し、
前記表示の代わりに前記セキュリティフィルタークエリーの結果を提供する
ように構成されるコンピューティングデバイス。
【請求項８】
前記アプリケーションは、
前記表示をホストするデータストアから前記セキュリティフィルタークエリーのメタデータを取得するようにさらに構成される請求項７に記載のコンピューティングデバイス。
【請求項９】
前記アプリケーションは、
前記表示についての前記データストアからの結合及びフィルターを含む表構造の定義を抽出するようにさらに構成される請求項８に記載のコンピューティングデバイス。
【請求項１０】
表示に対するアクセスを管理するためにフィルタークエリーを提供するための命令が格納されたコンピューター読み取り可能な記憶デバイスであって、前記命令は、
ユーザーからフィルタークエリーを受け取るステップと、
前記表示の他の表示との共通の要素を決定するステップと、
前記フィルタークエリーを前記表示に加えることによって、前記共通の要素に従って前記フィルタークエリーを前記表示に関連付けるステップと、
前記表示の要求を検出するステップと、
前記フィルタークエリーを実行するステップと、
前記表示の代わりに前記実行されるフィルタークエリーの結果を提供するステップと
を含むコンピューター読み取り可能な記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定義されたクエリーによる表示のフィルタリングに関する。
【背景技術】
【０００２】
[0001]データサービス技術は、複数のコンピューティングリソースが協調的で確かな解決策を提供することを可能にしてきた。データサービスの例として、データウェアハウスは、複数のシステムを結び付けて、ユーザーのニーズに対するストレージソリューションを提供する。データウェアハウスは、無数のコンピューティングリソースにまたがることができる。データウェアハウス用途で利用されるコンピューティングリソースは、ネットワークや場所にわたって分散される。分散されたコンピューティングリソースは、リモートで制御され、管理される。通常、手動の又はスクリプト化されたソリューションは、データウェアハウスアセットに対してインストール及び設定のサポートを提供する。広く分散したコンピューティングリソースについての人間的要素による手動インストールソリューションは、費用対効果が高くない。スクリプト化されたソリューションは、動的な要件を満たすためにはフレキシブルではない。
【０００３】
[0002]データウェアハウス及び同様のデータサービスに格納されたデータセットへの効果的なアクセスは、最新のデータサービスソリューションのうち改善のために競われている領域である。ほとんどのデータ消費者は、データサービスからデータを効果的に抽出する技術的なスキルがない。多くの人は、データ抽出要求に対するソリューションを提供するためにクエリーを書くスキルに欠けている。他の人々は、十分な技術的スキルを有するものの、サービスからデータを抽出するのに十分な権限がない場合がある。さらに他の人々は、データセットを効果的に照会し、需要を満たすデータを抽出するためのリソースと時間がないだけの場合がある。あるいは、アプリケーションベースのソリューションは、データサービスからデータを抽出するための技術的なスキルの必要性をなくす。しかし、ほとんどのアプリケーションベースのソリューションは、データへのアクセスを制限する標準化されたソリューションを提供する。標準化されたソリューションは、ユーザーの需要を満たすのに十分な抽出ソリューションをユーザーがさらに改良することを可能にするための微調整機能を欠いていることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、このような課題を解決するものである。
【課題を解決するための手段】
【０００５】
[0003]この概要は、詳細な説明で以下にさらに説明される概念の選択を簡略化された形態で紹介するために提供される。この概要は、特許請求される主題の重要な特徴又は本質的な特徴を排他的に特定することを意図するものではなく、特許請求された主題の範囲を決定する助けとしても意図されない。
【０００６】
[0004]実施例は、表示（ビュー、views）へのアクセスを管理するためにフィルタークエリーを提供することに向けられる。いくつかの実施例によれば、アプリケーションは、ユーザーからフィルタークエリーを受け取ってもよい。アプリケーションは、データ及びデータへのアクセスを管理するデータストアアプリケーションであってもよい。アプリケーションは、表示にクエリーを加えることにより、クエリーを表示に関連付けてもよい。次に、アプリケーションは、表示のための要求を検出してもよい。アプリケーションは、クエリーの構造を抽出し、それを元の表示と組み合わせて、元の表示の結果に代えて、フィルタリングされた表示の結果を生成することができる。
【０００７】
[0005]これらの及び他の特徴及び利点は、以下の詳細な説明を読み、関連する図面を検討することによって明らかになるであろう。前述の一般的説明及び以下の詳細な説明はいずれも説明のためのものであり、特許請求される態様を限定しないことが理解されるべきである。
【図面の簡単な説明】
【０００８】
【図１】[0006]いくつかの実施例による、アプリケーションが表示へのアクセスを管理するためにフィルタークエリーを提供することができる例示的なネットワークの図を示す。
【図２】[0007]ユーザーに属するアカウントの基本的なクエリー定義の例を示す。
【図３】[0008]一方が制限された権利を有し、他方がフルアクセス権を有し、図２に使用される表のセキュリティ設定を有する２人のユーザーの例を示す。
【図４Ａ】[0009]実施例による、図２及び３のユーザーがアクセスを有する記録のセット及びフィルターが適用される記録をデータソースが探す方法を示す。
【図４Ｂ】実施例による、図２及び３のユーザーがアクセスを有する記録のセット及びフィルターが適用される記録をデータソースが探す方法を示す。
【図４Ｃ】実施例による、図２及び３のユーザーがアクセスを有する記録のセット及びフィルターが適用される記録をデータソースが探す方法を示す。
【図４Ｄ】実施例による、図２及び３のユーザーがアクセスを有する記録のセット及びフィルターが適用される記録をデータソースが探す方法を示す。
【図５】[0010]実施例によるシステムを実施することができるネットワーク化された環境である。
【図６】[0011]実施例を実施することができる例示的なコンピューティング動作環境のブロック図である。
【図７】[0012]実施例による、表示へのアクセスを管理するためにフィルタークエリーを提供するプロセスの論理フロー図を示す。
【発明を実施するための形態】
【０００９】
[0013]簡単に上述したように、アプリケーションは、表示へのアクセスを管理するために、フィルタークエリーを提供することができる。アプリケーションは、フィルタークエリーを受け取り、クエリーを表示に加える（取り付ける、添付する）ことによってクエリーを表示に関連付け、クエリーの構造を抽出し、それを元の表示と組み合わせて、元の表示の結果の代わりにフィルタリングされた表示の結果を生成することができる。以下の詳細な説明において、本明細書の一部を形成する添付の図面に対して参照がなされ、例として特定の実施例又は例が示される。これらの態様は組み合わせてもよく、他の態様を利用してもよく、本開示の趣旨又は範囲から逸脱することなく構造的変更を行うことができる。以下の詳細な説明は、したがって、限定的な意味で解釈されるべきではなく、本開示の範囲は、添付の特許請求の範囲及びその均等物によって規定される。
【００１０】
[0014]実施例は、コンピューティングデバイスのオペレーティングシステム上で動作するアプリケーションプログラムと連動して実行されるプログラムモジュールの一般的な文脈で説明されるが、当業者であれば、実施態様はまた、他のプログラムモジュールと組み合わせて実現されてもよいことを認識するであろう。
【００１１】
[0015]一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、及び特定のタスクを実行するか又は特定の抽象データ型を実装する他のタイプの構造を含む。さらに、当業者であれば、実施例が、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューター、及び同等のコンピューティングデバイスを含む、他のコンピューターシステム構成で実施できることを理解するであろう。実施例はまた、タスクが通信ネットワークを介してリンクされるリモート処理デバイスによって実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリーストレージデバイスに配置することができる。
【００１２】
[0016]実施例は、コンピューターにより実施されるプロセス（方法）として、コンピューティングシステムとして、又は、コンピュータープログラム製品やコンピューター読み取り可能な媒体などの製品として実施することができる。コンピュータープログラム製品は、コンピューターシステムによって読み取り可能であり、例示的なプロセスをコンピューター又はコンピューティングシステムに実行させるための命令を含むコンピュータープログラムを符号化する、コンピューター記憶媒体であってもよい。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能なメモリーデバイスである。コンピューター読み取り可能な記憶媒体は、例えば、揮発性コンピューターメモリー、不揮発性メモリー、ハードドライブ、フラッシュドライブ、フロッピー（登録商標）ディスク、又はコンパクトディスク、及び同等の媒体のうちの１つ又は複数を介して実施することができる。
【００１３】
[0017]いくつかの実施例によれば、表示はデータ表の表現であってもよい。表示は、データ表のうちのデータ要素のすべて又は一部のデータ要素を包含することができる。表示は、ユーザーの要求に従って、フォーマットされ、ソートされ、及び／又は構成されてもよい。クエリーは、データストアからデータを提供するためにデータストアアプリケーションによって解釈して実行することができる、短い実行可能なスクリプトであってもよい。スクリプトは、例えば、データストア動作で一般的に使用されるＳＱＬ（Structured Query Language）で記述されてもよい。クエリーは複数の表示からデータを抽出することができる。クエリーは、複数の表示にわたって共通の要素と一致してもよく、共通の要素に従って、関連付けられる表示からデータを取り出してもよい。クエリーは関連付けられる表示に加えることができる。データストアアプリケーションなどのアプリケーションは、表示の実行の結果をフィルタリングしてユーザーの要求に従って当該フィルタリングされた表示の実行を管理するためにクエリーが使用されるように、表示及びクエリーの組み合わせを管理してもよい。
【００１４】
[0018]本明細書を通して、「プラットフォーム」という用語は、表示へのアクセスを管理するためにフィルタークエリーを提供するためのソフトウェアコンポーネント及びハードウェアコンポーネントの組み合わせであってもよい。プラットフォームの例は、複数のサーバー上で実行されるホスティングサービス、単一のコンピューティングデバイス上で実行されるアプリケーション、及び同等のシステムを含むが、これらに限定されない。「サーバー」という用語は、一般に、典型的にはネットワーク環境で１つ又は複数のソフトウェアプログラムを実行するコンピューティングデバイスを指す。しかし、サーバーはまた、ネットワーク上のサーバーとして見られる１つ又は複数のコンピューティングデバイス上で実行される仮想サーバー（ソフトウェアプログラム）として実現されてもよい。これらの技術及び例示的な動作の詳細が以下に提供される。
【００１５】
[0019]図１を参照すると、１００は、いくつかの実施例による、アプリケーションが表示へのアクセスを管理するためにフィルタークエリーを提供することができる、例示的なネットワークの図を示す。１００に示すコンポーネント及び環境は、例示の目的のためのものである。実施例は、様々なコンピューティングデバイス及びシステム、ハードウェア及びソフトウェアを使用する、様々な、ローカルの、ネットワーク化された、クラウドベースの又は同様のコンピューティング環境で実施することができる。
【００１６】
[0020]１００に示す例示的な環境において、１つ又は複数のサーバー１０２は、データストアへのアクセスを管理して提供するアプリケーションをホストすることができる。クライアントデバイス１０６は、データストア上のデータへのアクセスを提供するクライアントアプリケーションを実行してもよい。データストアアプリケーションなどのアプリケーションは、データへのアクセスを制御して監視することができる。サーバー１０２は、ネットワーク１０４を介してクライアントデバイス１０６と通信することができる。ネットワーク１０４は、有線又は無線技術を介してサーバー１０２へのアクセスを提供する任意のネットワークアーキテクチャーであってもよい。
【００１７】
[0021]クライアントデバイス１０６は、デスクトップコンピューター１１０、ラップトップコンピューター１１２、スレートなどのタブレットデバイス１１４、及びスマートフォン１１６などの様々なハードウェアを含むことができる。クライアントデバイス１０６は、表示をクエリーでフィルタリングするアプリケーションのクライアントコンポーネントを実行することができる。クライアントデバイス１０６は、ユーザーがサーバー１０２のデータストアによってホストされる表示のためにクエリーを構築することを可能にすることができる。データストアを管理するアプリケーションは、クエリーを受け取り、表示を要求するユーザーのための表示によってクエリー結果を置き換えるために、関連付けられる表示に加えることができる。
【００１８】
[0022]上記の例示的なシナリオは、シッククライアントサーバーアーキテクチャーにおいて相互作用するコンポーネントを有するアプリケーションを説明する。代替的に、アプリケーションは、シンクライアント及びサーバー指向のアーキテクチャーで動作してもよい。クライアントデバイス１１０−１１６は、サーバー１０２が提供するサービスにアクセスするアプリケーションを実行してもよい。サーバー１０２によって提供されるサービスは、クエリーの構成、表示へのクエリーの追加（取り付け、添付）、及び表示によってクエリー結果を置き換えるためのクエリーの実行を含んでもよい。一例は、ウェブブラウザーを介した表示のクエリーベースのフィルタリングを管理するウェブブラウザー及びディスプレイサーバーアプリケーションを介して、サービスにアクセスすることを含むことができる。
【００１９】
[0023]図２は、いくつかの実施例による、ユーザーに属するアカウントの基本的なクエリー定義の例を示す。２００は、データストアの表示をフィルタリングするためのクエリーの例示的なコンポーネントを示す。
【００２０】
[0024]いくつかの実施例によれば、ビジネスアプリケーションやデータベース検索アプリケーションは、フィルタークエリーを構成するためのユーザーインターフェイスを提供することができる。基礎となるデータ構造についての深い知識を有する経験のあるユーザーや専門家のユーザーは、表示間で共通の要素を使用してクエリーを構成することを可能にされてもよい。いくつかの例示的な実施例では、本明細書に記載される機構を介したクエリーの定義及びクエリーの使用の分離を提供する。２００における構成ユーザーインターフェイスは、所与のユーザーに属しているアカウントの基本的なクエリー定義の例を提供し、ユーザーが定義を設定又は変更することを可能にすることができる。ユーザーインターフェイスは、互いに関連するデータソース２０２の構造及びそれらの間のリンク２０４を提供する。ユーザーインターフェイスは、表示を識別するために、データストアによって使用される名前２０６を提供することができる。
【００２１】
[0025]例示的なシナリオでは、データストアアプリケーションは、アプリケーションのユーザーインターフェイスコンポーネントを介して１つ又は複数のフィルタリングクエリーを構築するための表示の選択をユーザーに提供してもよい。最初に、アプリケーションがユーザーを認証してもよい。認証されたユーザーの権限は、表示のどの選択をユーザーインターフェイスにロードするかを決定することができる。ユーザーが表示のうちのいずれかへのアクセスを読み取った場合、表示をユーザーインターフェイスにロードすることができる。アプリケーションはさらに、もともとロードされていた表示と他の表示との間の関係に従って、ロードする表示を決定することができる。これは、顧客（ＣＵＳＴＯＭＥＲ）表示と販売注文（ＳＡＬＥＳ  ＯＲＤＥＲ）表示との間の関係であってもよく、ここで、販売注文表示は、販売注文の所有者である顧客との関係を有する。アプリケーションは、表示間の共通の要素を決定し、クエリーを構築するための選択として表示を提供することができる。例示的なユーザーは、ユーザーインターフェイスを介して１つ又は複数の表示を選択することができる。
【００２２】
[0026]アプリケーションは、表示間の共通の要素を使用してクエリーを構築することができる。アプリケーションはまた、ユーザーが表示を選択すると、テキストボックスにフィルタークエリー文字列を表示してもよい。アプリケーションはまた、テキストボックス中のクエリー文字列をユーザーが編集することを可能にすることができる。アプリケーションは、クエリーを無効にし、当該表示とは関係のない表示又は他の構造を含むユーザーを検出した場合に、機能していない部分のフィルタークエリーを編集するユーザーに警告することができる。
【００２３】
[0027]図３は、一方が制限された権利を有し他方がフルアクセス権を有する２人のユーザー、及び図２に使用される表についての彼らのセキュリティ設定の例を示す。３００において、制限された権利を有する人物Ａ及びフルアクセス権を有する人物Ｂ、並びに２００において使用される表についての彼らのセキュリティ設定が示される。
【００２４】
[0028]いくつかの実施例によれば、２人のユーザーの両方が２００からのクエリーの構造の一部であるとき、同じクエリーが、複数のデータソース（顧客及びアカウント）を制限するために使用することができる。３００における表は、顧客、顧客配送（customer posting）グループ、アカウント及びアイテムなどのデータソースについてのデータソース３０８列；データソースに対する個々のアクセス権をリストするアクセス制御リスト３１０列；及び、関連付けられるクエリー３２０をリストするセキュリティクエリー３１２列を含む。例示的な構成によれば、人物Ａ３１４は、セキュリティクエリー「ＭｙＣｕｓｔｏｍｅｒＡｃｃｏｕｎｔｓ」によって制限される顧客記録に対する読み取り及び書き込みアクセス、顧客配送グループに対する読み取りアクセス、セキュリティクエリー「ＭｙＣｕｓｔｏｍｅｒＡｃｃｏｕｎｔｓ」によって制限されるアカウント記録に対する読み取り及び書き込みアクセス、並びにアイテム記録に対する読み取りアクセスを有する。人物Ｂ３１８は、顧客、顧客配送グループ及びアカウント記録に対する読み取りおよび書き込みアクセスを有するが、アイテム記録に対しては読み取りアクセスを有する。
【００２５】
[0029]図４Ａないし図４Ｄは、実施例による、図２及び３のユーザーがアクセスを有する記録の集合、並びに、フィルターが適用される記録をデータソースがどのように見つけるかを示す。
【００２６】
[0030]図４Ａ中の４００は、データソース内の記録についての完全なリストと、同時に、図３の人物Ｂがアクセスを有する記録を含む。記録は、顧客４２２、アカウント４２４、及び顧客配送グループ４２６などのデータソースによってグループ化される。記録は、顧客の識別子を、販売員の識別子及び配送グループの識別子にリンクする。記録はまた、顧客配送グループの識別子を、利用可能なアカウントの識別子のリストに加えて、アカウント識別子及び記述子（例えば、格付け）にリンクする。
【００２７】
[0031]４００Ｂは、人物Ａがアクセス権を有する記録のセット（図４００Ａ内の記録のサブセット）を含む。３００における実施例の構成に基づいて、人物Ａは、データソース「顧客」及びデータソース「アカウント」について図２において定義されたクエリー「ＭｙＣｕｓｔｏｍｅｒＡｃｃｏｕｎｔｓ」によって制限される。「顧客配送グループ」データソースに対しては、３００において定義されたセキュリティフィルターがないため、制限がない。
【００２８】
[0032]４００Ｃは、顧客配送グループ１による記録を示すように制限する顧客データソースにフィルターが適用される場合に、顧客データソースがそれぞれ人物Ａ４４２及び人物Ｂ４４４をどのように探すことができるかを示す。（例示的なシナリオでは、「ゴールド」顧客のみを示すために）ユーザーがフィルターを適用する場合、既に設定されたセキュリティフィルターと組み合わせることができる。これはまた、ユーザーが自分自身で適用することを選択することができる所定の（予め定義された）クエリーであってもよい。
【００２９】
[0033]４００Ｄは、フルアクセス権を有するユーザー（例えば、人物Ｂ）が図２において定義されるセキュリティフィルターを適用することを選択する例４５２を示す。例示的なシナリオによれば、人物Ｂは、販売員ＩＤ＝「Ｃ」を有することにより識別される人物Ｃとして行動することを選択してもよい。
【００３０】
[0034]いくつかの実施例では、アプリケーションは、構築されたフィルタークエリーを表示に加えることができる。アプリケーションが所定の基準を検出すると、アプリケーションは、クエリーの構造を抽出し、元の表示の結果の代わりに、フィルタリングされた表示結果を生成するために、元の表示とそれを組み合わせることができる。アプリケーションは、クエリーの構造の抽出を引き起こすのに十分な基準を決定し、それを、表示に対するユーザーのアクセス権及び表示を要求するユーザーを評価することによって元の表示の結果の代わりにフィルタリングされた表示結果を生成するために元の表示と組み合わせる要求を評価してもよい。アクセス権の例は、表示もしくはその要素についての読み取り、書き込み、及び／又は作成の権限を含んでもよい。所定の基準が表示にアクセスするユーザーの権限を含む場合、アプリケーションは、クエリーの構造を抽出し、元の表示の結果の代わりにフィルタリングされた表示の結果を生成するために元の表示とそれを組み合わせ、並びに、ユーザーに対して関連するデータを表示するだけの要求に対して応答を調整するために、所定の基準として、ユーザーの権限を使用することができる。
【００３１】
[0035]いくつかの例示的な実施例では、表示はＳＱＬを使用して定義することができ、定義は次のようなものであってもよい：
ＳＥＬＥＣＴ  ＩＤ，ＮＡＭＥ
ＦＲＯＭ  ＡＣＣＯＵＮＴ
さらに、フィルタークエリーもまたＳＱＬを使用して定義することができ、定義は次のようなものであってもよい：
ＳＥＬＥＣＴ  ＡＣＣＯＵＮＴ．ＩＤ
ＦＲＯＭ  ＣＵＳＴＯＭＥＲ
ＩＮＮＥＲ  ＪＯＩＮ  ＣＵＳＴＯＭＥＲＰＯＳＴＩＮＧＧＲＯＵＰ  ＯＮ  ＩＤ＝
ＣＵＳＴＯＭＥＲ．ＰＯＳＴＩＮＧＧＲＯＵＰ
ＩＮＮＥＲ  ＪＯＩＮ  ＡＣＣＯＵＮＴ  ＯＮ  ＩＤ＝ＣＵＳＴＯＭＥＲＰＯＳＴＩＮＧＧＲＯＵＰ．ＡＣＣＯＵＮＴＩＤ
アプリケーションがＡＣＣＯＵＮＴ表示の要求を検出すると、結果を生成するために元の表示と組み合わせられるフィルタークエリーの構造を使用する。ＳＱＬは次のようになってもよい：
ＳＥＬＥＣＴ  ＩＤ，ＮＡＭＥ
ＦＲＯＭ  ＡＣＣＯＵＮＴ
ＷＨＥＲＥ  ＩＤ  ＩＮ
｛
ＳＥＬＥＣＴ  ＡＣＣＯＵＮＴ．ＩＤ
ＦＲＯＭ  ＣＵＳＴＯＭＥＲ
ＩＮＮＥＲ  ＪＯＩＮ  ＣＵＳＴＯＭＥＲＰＯＳＴＩＮＧＧＲＯＵＰ  ＯＮ  ＩＤ＝ＣＵＳＴＯＭＥＲ．ＰＯＳＴＩＮＧＧＲＯＵＰ
ＩＮＮＥＲ  ＪＯＩＮ  ＡＣＣＯＵＮＴ  ＯＮ  ＩＤ＝ＣＵＳＴＯＭＥＲＰＯＳＴＩＮＧＧＲＯＵＰ．ＡＣＣＯＵＮＴＩＤ
｝
上記の実施例は説明のためのものであり、実施例に対する限定を構成するものではない。例えば、いくつかの実施例では、ＳＱＬが最適化されてもよく、組み合わされたＳＱＬは上記の例のように見えなくてもよく、簡略化されて最適化された形であってもよい。
【００３２】
[0036]フィルタークエリーは、表示からデータを取得して構築することができる。あるいは、ユーザーは、「ユーザー」表示などの表示について複数のクエリーを構築し、添付することを可能にすることができる。対応するクエリーが選択されてもよく、クエリーの構造が抽出されて、表示を要求するユーザーの要求基準に従って、元の表示の代わりにフィルタリングされた表示を提供するために、元の表示と組み合わされてもよい。
【００３３】
[0037]ユーザーが利用可能な表示うちのいずれかにアクセスするためのアクセスイベントを開始するとき、クエリーの構造が抽出され、元の表示の結果の代わりにフィルタリングされた表示結果を生成するために、元の表示と組み合わされてもよい。さらに、フィルタリングされた表示結果は、クエリーによって包含されるデータ要素にアクセスしようと試みるそれらのアクセスイベントに制限されてもよい。アクセスイベントは、表示のうちの１つからデータを取得するための別のクエリーであってもよい。提供された例では、ユーザーは、表示によって全体にわたって提供されるアカウントに関連するすべてのデータを受け取ってもよい。
【００３４】
[0038]アプリケーションは、クエリーの構造を抽出し、元の表示の結果の代わりにフィルタリングされた表示結果を生成して、対応する表示に対するアクセスを求める他のユーザーに当該フィルタリングされた表示結果を提供するために、クエリーの構造を元の表示と組み合わせてもよい。例示的なシナリオでは、アプリケーションは、クエリーのコンストラクターに関連する他のユーザーなどの、フィルタークエリーのコンストラクターからの継承された許可を有するユーザーに、フィルタリングされた表示を提供してもよい。例示的な関連する他のユーザーは、ピア、マネージャー、ダイレクトレポート、同僚などを含んでもよい。
【００３５】
[0039]セキュリティで保護された表示は、セキュリティフィルターを手配して追加する権限を有するセキュリティ管理者を必要とし得る。セキュリティフィルタークエリーの作成は、アプリケーションのデータモデルについて詳細な知識を有する人によって行われてもよい。その後、それは、セキュリティフィルターとして又はユーザー表示として割り当てるために誰でも使用することができる。作成者は、通常、ユーザーと同じでなくてもよい。例えば、セキュリティ管理者は、セキュリティフィルタークエリーを作成して、表示に加えてもよい。複数のセキュリティクエリーを表示に加えてもよい。セキュリティ管理者は、表示のデータ要素のサブセットを公開することのみによって表示へのアクセスを制限するために、セキュリティフィルタークエリーを使用してもよい。セキュリティ管理者はまた、セキュリティフィルタークエリーにおいて評価トリガー（evaluation triggers）を含んでもよい。アプリケーションは、表示にアクセスするためのユーザー権限や、クエリーの構造を抽出し、元の表示の結果の代わりにフィルタリングされた表示結果を生成するために当該クエリーの構造を元の表示と組み合わせるための他の設定などの基準を評価してもよい。セキュリティフィルタークエリーは、対応する表示に対するユーザーの資格情報及びアクセス権を決定するために、ユーザー識別（ＩＤ）を使用してもよい。十分な権限を持たないユーザーに対して、フィルタリングされた表示へのアクセスが制限されてもよい。あるいは、ユーザーの権限が、データ要素を読み出すためのアクセス権などの基準に十分に一致するとき、フィルタリングされた表示結果が提供されてもよい。
【００３６】
[0040]他の実施例によれば、アプリケーションは、セキュリティ管理者からセキュリティフィルタークエリーを受け取ることに応答して、表示に対してセキュリティフィルタークエリーを適用してもよい。アプリケーションは、表示をホストするデータストアからセキュリティフィルタークエリーについてメタデータを取得してもよい。メタデータは、表、列、及び行のセットなどの、クエリー中で定義されたコンポーネントに対するデータ要素を含んでもよい。アプリケーションは、表示をフィルタリングするために、データストアから表構造の定義を抽出してもよい。表構造の定義は、結合（joins）及びフィルター（filters）を含んでもよい。次に、アプリケーションは、ＳＱＬステートメントなどのセキュリティフィルタークエリーのために生成されたスクリプトに、表構造の定義を追加してもよい。また、アプリケーションは、複数のセキュリティフィルタークエリーを表示に加えてもよい。アプリケーションは、クエリーの構造を抽出し、元の表示の結果の代わりにフィルタリングされた表示結果を生成して、要求基準に従って要求をするユーザーにフィルタリングされた表示を提供するために、クエリーの構造を元の表示と組み合わせてもよい。
【００３７】
[0041]図２及び３の例示的なシナリオ及び概要は、特定のコンポーネント、データタイプ、及び構成によって示される。実施例は、これらの例示的な構成に従ったシステムに限定されるものではない。表示を管理するためにフィルタークエリーを提供することは、アプリケーションやユーザーインターフェイスにおいてより少ない又は追加のコンポーネントを使用する構成で実施されてもよい。例示的なシナリオでは、フィルタークエリー又はセキュリティフィルタークエリーは、データテーブル又はデータストアの他のデータエンティティへのアクセスを管理するために使用することができる。さらに、図２及び３に示される例示的な概要及びコンポーネント並びにそれらのサブコンポーネントは、本明細書に記載の原理を使用して、他の値と同様の方法で実施することができる。
【００３８】
[0042]図５は、実施例に係るシステムを実施することができるネットワーク環境である。ローカル及びリモートのリソースは、ホストされたサービスなどの１つもしくは複数のサーバー５１４又は単一のサーバー（例えばウェブサーバー）５１６によって提供されてもよい。データストアアプリケーションなどのアプリケーションは、ネットワーク５１０を介して、スマートフォン５１３、タブレットデバイス５１２、又はラップトップコンピューター５１１（「クライアントデバイス」）などの個々のコンピューティングデバイス上のクライアントインターフェイスと通信してもよい。
【００３９】
[0043]上述のように、アプリケーションは、表示へのアクセスを管理するためにフィルタークエリーを提供してもよい。アプリケーションは、フィルタークエリーを表示に加えることによって、フィルタークエリーを表示に自動的に関連付けてもよい。あるいは、アプリケーションは、表示へのアクセスを制御するためにセキュリティフィルタークエリーを実施してもよい。クライアントデバイス５１１−５１３は、前述のように、リモートサーバー（例えば、サーバー５１４のうちの１つ）上で実行されるアプリケーションへのアクセスを可能にしてもよい。サーバーは、直接的に又はデータベースサーバー５１８を介して、データストア５１９から関連するデータを取得し、データストア５１９へ関連するデータを格納することができる。
【００４０】
[0044]ネットワーク５１０は、サーバー、クライアント、インターネットサービスプロバイダー、及び通信媒体のうちの任意のトポロジーを含んでもよい。実施例に係るシステムは、静的又は動的トポロジーを有してもよい。ネットワーク５１０は、企業ネットワークなどの安全なネットワーク、無線オープンネットワークなどの安全でないネットワーク、又はインターネットを含んでもよい。ネットワーク５１０はまた、公衆交換電話網（ＰＳＴＮ）又は携帯電話ネットワークなどの他のネットワークを介して通信を調整することができる。さらに、ネットワーク５１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）又は同様のものなどの短距離無線ネットワークを含むことができる。ネットワーク５１０は、本明細書に記載のノード間の通信を提供する。限定ではなく例として、ネットワーク５１０は、音響、ＲＦ、赤外線及び他の無線媒体などの無線媒体を含むことができる。
【００４１】
[0045]コンピューティングデバイス、アプリケーション、データソース、データ配信システムの多くの他の構成は、表示へのアクセスを管理するためにフィルタークエリーを提供するために使用することができる。さらに、図５で説明されるネットワーク環境は、説明の目的のみのためのものである。実施例は、例示的なアプリケーション、モジュール、又はプロセスに限定されない。
【００４２】
[0046]図６及び関連する説明は、実施例を実施できる適切なコンピューティング環境の簡潔で一般的な説明を提供することを意図している。図６を参照すると、コンピューティングデバイス６００などの、実施例によるアプリケーションのための例示的なコンピューター動作環境のブロック図が示される。基本的な構成において、コンピューティングデバイス６００は、少なくとも１つの処理ユニット６０２及びシステムメモリー６０４を含んでもよい。コンピューティングデバイス６００はまた、プログラムを実行する際に協力する複数の処理ユニットを含んでもよい。コンピューティングデバイスの正確な構成及び種類に応じて、システムメモリー６０４は、（ＲＡＭなどの）揮発性のもの、（ＲＯＭ、フラッシュメモリーなどの）不揮発性のもの、又はこれら２つの何らかの組み合わせであってもよい。システムメモリー６０４は、典型的には、ワシントン州レドモンドのＭＩＣＲＯＳＯＦＴ社のＷＩＮＤＯＷＳ（登録商標）及びＷＩＮＤＯＷＳ  ＰＨＯＮＥ（登録商標）オペレーティングシステムなどの、プラットフォームの動作を制御するのに適したオペレーティングシステム６０５を含む。システムメモリー６０４はまた、プログラムモジュール６０６、アプリケーション６２２、及びフィルタークエリーモジュール６２４などの、１つ又は複数のソフトウェアアプリケーションを含むことができる。
【００４３】
[0047]アプリケーション６２２は、実施例によるユーザーインターフェイスコンポーネントからフィルタークエリーを受け取ってもよい。フィルタークエリーモジュール６２４は、表示においてフィルタークエリーを実施してもよい。例としては、表示にアクセスするためのユーザーの権限を決定すること、フィルタークエリーを実行することに応答して表示から取得するデータ要素を決定することを含んでもよい。この基本的な構成は、破線６０８内のこれらのコンポーネントによって図６に示される。
【００４４】
[0048]コンピューティングデバイス６００は、追加の特徴又は機能を有することができる。例えば、コンピューティングデバイス６００は、例えば、磁気ディスク、光ディスク、又はテープなどの追加のデータ記憶デバイス（取り外し可能及び／又は取り外し不能）を含むことができる。このような追加のストレージは、取り外し可能なストレージ６０９及び取り外し不能なストレージ６１０によって図６に示される。コンピューター読み取り可能な記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール及び他のデータなどの情報を記憶するための任意の方法又は技術で実装される、揮発性及び不揮発性の、取り外し可能及び取り外し不能な媒体を含んでもよい。コンピューター読み取り可能な記憶媒体はコンピューター読み取り可能なメモリーデバイスである。システムメモリー６０４、取り外し可能なストレージ６０９及び取り外し不能なストレージ６１０は、すべて、コンピューター読み取り可能な記憶媒体の例である。コンピューター読み取り可能な記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリー又は他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）又は他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができ、コンピューティングデバイス６００によってアクセスすることができる任意の他の媒体を含むが、これらに限定されない。任意のそのようなコンピューター読み取り可能な記憶媒体は、コンピューティングデバイス６００の一部であってもよい。コンピューティングデバイス６００はまた、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、及び同等の入力デバイス入力デバイスなどの入力デバイス６１２を有することができる。ディスプレイ、スピーカー、プリンター、及び他のタイプの出力デバイスなどの出力デバイス６１４も含まれていてもよい。これらのデバイスは、当技術分野で周知であり、ここで詳細に論じる必要はない。
【００４５】
[0049]コンピューティングデバイス６００はまた、分散コンピューティング環境における無線ネットワーク、衛星リンク、セルラーリンク、及び同等のメカニズムを介するなどして、デバイスが他のデバイス６１８と通信することを可能にする、通信接続６１６を含んでもよい。他のデバイス６１８は、通信アプリケーションを実行するコンピューターデバイス、ストレージサーバー、及び同等のデバイスを含んでもよい。通信接続６１６は、通信媒体の一例である。通信媒体は、その中に、搬送波又は他の移送機構などの変調データ信号で、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを含むことができ、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号内に情報を符号化するように設定又は変更された１つ又は複数の特性を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続などの有線媒体、並びに音響、ＲＦ、赤外線及び他の無線媒体などの無線媒体を含む。
【００４６】
[0050]例示的な実施例はまた、方法を含む。これらの方法は、本明細書に記載された構造を含む、任意の数の方法で実施することができる。１つのそのような方法は、本明細書に記載される種類のデバイスについての機械操作によるものである。
【００４７】
[0051]別の任意の方法は、いくつかを実行する１人以上の人間のオペレーターと連動して実行される方法の個々の動作の１つ又は複数のためのものである。これらの人間のオペレーターは、互いに同じ場所に配置される必要はなく、各々がプログラムの一部を実行する機械とともにありさえすればよい。
【００４８】
[0052]図７は、実施例による、表示へのアクセスを管理するためにフィルタークエリーを提供するプロセスの論理フロー図を示す。いくつかの例では、プロセス７００は、データストアアプリケーションなどのアプリケーションによって実施されてもよい。
【００４９】
[0053]プロセス７００は、フィルタークエリーがユーザーによって定義され得る動作７１０で開始することができる。動作７２０において、表示は、ユーザーが定義することができる。動作７１０及び７２０は、いくつかの実施例によれば、任意の順序で又は一緒に実行することができる。動作７１０及び７２０に続く次の動作７３０において、フィルタークエリーは、表示にフィルタークエリーを加えることによって表示と組み合わせることができる。次に、動作７４０において、表示の要求が検出されてもよい。これは動作７５０に続き、フィルタークエリーは、フィルタークエリーの構造及び元の表示の定義を使用して、表示と組み合わせられてもよい。
【００５０】
[0054]動作７５０に続いて、組み合わせられたフィルタークエリー及び元の表示の定義は、動作７６０において実行されてもよい。また、動作７６０において、その実行の結果がユーザーに提供されてもよい。
【００５１】
[0055]いくつかの実施例は、プロセッサーがメモリーに格納された命令に関連して上述のような方法又は同等のものを実行する、通信モジュール、メモリー、及びプロセッサーを備えるコンピューティングデバイスにおいて実施することができる。他の実施例は、上述の方法又は同様のものを実行するために格納された命令を有するコンピューター読み取り可能な記憶媒体として実施することができる。
【００５２】
[0056]プロセス７００に含まれる動作は例示の目的のためのものである。実施例による表示へのアクセスを管理するためにフィルタークエリーを提供することは、より少ない又は追加のステップを有する同様のプロセスによって、並びに本明細書に記載の原理を用いる動作の異なる順序で、実施されてもよい。
【００５３】
[0057]上記の明細書、例、及びデータは、実施例の構成の製造及び使用の完全な説明を提供する。主題は構造的特徴及び／又は方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲で既定される主題は、必ずしも上述の特定の特徴又は行為に限定されないことを理解すべきである。むしろ、上述の特定の特徴及び行為は、特許請求の範囲及び実施例を実施する例示的形態として開示される。
【図１】
2015535622.tif 000003
【図２】
2015535622.tif 000004
【図３】
2015535622.tif 000005
【図４Ａ】
2015535622.tif 000006
【図４Ｂ】
2015535622.tif 000007
【図４Ｃ】
2015535622.tif 000008
【図４Ｄ】
2015535622.tif 000009
【図５】
2015535622.tif 000010
【図６】
2015535622.tif 000011
【図７】
2015535622.tif 000012
【国際調査報告】
2015535622.tif 000013
2015535622.tif 000014