JP2013520738A - データベース・アプリケーションのためのセキュアなキャッシング方法、システム、および、プログラム - Google Patents

データベース・アプリケーションのためのセキュアなキャッシング方法、システム、および、プログラム Download PDF

Info

Publication number
JP2013520738A
JP2013520738A JP2012554323A JP2012554323A JP2013520738A JP 2013520738 A JP2013520738 A JP 2013520738A JP 2012554323 A JP2012554323 A JP 2012554323A JP 2012554323 A JP2012554323 A JP 2012554323A JP 2013520738 A JP2013520738 A JP 2013520738A
Authority
JP
Japan
Prior art keywords
data
list
cache
security
security context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012554323A
Other languages
English (en)
Other versions
JP5695676B2 (ja
Inventor
ランシェール、グレゴワール、ドーナット
グリッグス、ジョン、クリストファー
イオリオ、ピエール
グロセット、ロビン、ニール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013520738A publication Critical patent/JP2013520738A/ja
Application granted granted Critical
Publication of JP5695676B2 publication Critical patent/JP5695676B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】
最適化されたセキュアなキャッシング・システム及びキャッシング方法を提供すること。
【解決手段】
セキュアなキャッシング・システム及びキャッシング方法は、データについてのユーザ要求を受け取ることであって、要求は、セキュリティ・コンテキストを含み、セキュリティ・コンテキストは、データベース・アプリケーションの、ユーザのセキュリティ・プロファイルを識別する、要求を受け取ることと、ユーザ要求及び受けたセキュリティ・コンテキストに基づいて、要求されたデータについてキャッシュを検索することとを含む。要求されたデータがキャッシュ内に発見された場合、キャッシュされたデータをユーザ要求に応じて返す。要求されたデータがキャッシュ内に発見されない場合、要求されたデータをデータ源から入手し、入手したデータをキャッシュに格納し、入手したデータをセキュリティ・コンテキストに関連付け、要求されたデータをユーザ要求に応じて返す。要求されたデータの検索は、セキュリティ・コンテキストをキーとして有するセキュリティ・リストを検索することを含み、セキュリティ・リストは、要求されたデータのキャッシュ内アドレスを含む。
【選択図】 図2

Description

本発明は、データベースの分野に関する。特に、本発明は、ユーザ・ベースのセキュリティを適用する場合にデータ・キャッシュを最適化することに関する。
ビジネス・インテリジェンス(BI)は、企業の意思決定および統治を促進するソフトウェアのカテゴリである。BIは、情報を分析し、予測し、提示する、レポート/分析ツールを提供する。また、BIは、オンライン分析処理(「OLAP」)データベースのような、データベース内のデータを構成し、格納し、取得し、管理する、データベース管理システムも提供する。
OLAPデータ源およびツールは、BIツールのサブセットである。OLAPツールは、レポート生成ツールであり、データベース・ソフトウェアのカテゴリである。OLAPは、ユーザが事前定義した機能に従って生のデータを限定し、データの種々のディメンジョン(次元)における結果を対話的に調査するための、ユーザ用のインタフェースを提供する。OLAPシステムは、階層の完全なサポートおよび多重階層を含む、データの多次元概念ビューを提供する。OLAPツールは、典型的にはマルチユーザのクライアント/サーバ・モードで実装され、データベースの大きさおよび複雑さに関わらずクエリに対する一貫した迅速な応答を提供する。OLAPは、ユーザが、多次元のデータ源をサポートしてその上で動作するよう具体的に設計されたOLAPサーバを用いて情報を合成することを可能にする。OLAPサーバの設計およびデータの構造は、あらゆる好みでの高速なアドホックの情報取得について最適化される。
構造および数量の点で見ると、典型的なOLAPシステムは、次のように構成され、上位の構造要素が下位の要素のコンテナとして働く。
・キューブ − アプリケーションごとに数十個
・ディメンジョン − キューブごとに数十個、アプリケーションごとに数百個
・階層 − ディメンジョンごとに数個、アプリケーションごとに数百個
・レベル − 階層ごとに数個、アプリケーションごとに数百個乃至数千個
・メンバ − レベルごとに数百個乃至数千個、アプリケーションごとに数万個乃至数百万個
BIレポーティング・システムにおいて、各々のユーザ・ジェスチャのクエリ性能は、可能な限り高速でなければならない。キャッシュ・メモリ、即ちキャッシュが、プロセスの速度を向上させるために一般的に用いられる。特に、データ・キャッシュは、共通に用いられるデータ(メタデータを含む)項目を格納して、データ源からのデータの取り出しを最小限にするために、用いることができる。図1は、より典型的にはデータ・キャッシュを含む、従来のBIシステムを示す。この図については後でより詳細に説明する。
データ・キャッシュは、「データについてのデータ」として理解されるメタデータを含む、様々な異なる型式のデータを格納することができる。例えば、「地理」ディメンジョンまたは「カナダ」メンバといった上述のOLAP構造要素の任意のインスタンスを、データ・キャッシュに格納することができる。実際、OLAPデータ源が、外周上にディメンジョンテーブルを備えるスター・スキーマとして構成された関係データベースであって、そのためにあらゆるディメンジョンメンバがディメンジョンテーブル内の列として格納されるならば、メンバは、メタデータというより、データであると考えられることが多い。従って、異なる型式のデータのために異なる型式のキャッシュを区別する必要はない。
BIレポーティング・システムの別々のユーザは、特定のデータ(メタデータを含む)へのアクセスを制限することができるように、異なるセキュリティ権限を有することができる。これらのセキュリティ権限は、BIレポーティング・システムとインタフェースする各OLAPデータ源のセキュリティ・サブシステム内で定められる。OLAPデータ源のセキュリティ・サブシステムは、典型的には、セキュリティ・プロファイルのセットとして構成される。ユーザは、特定のセキュリティ・グループに割り当てられ、それは入れ子になっている場合があり、ユーザがBIレポーティング・システムに認証(ログイン)した後でも固定されたままの場合がある。ユーザには、許可されたセキュリティ・ロールも割り当てられることもあり、BIレポーティング・システムに認証(ログイン)するときに、これらのロールのうちの1つまたは複数を選択する機会を有する。各セキュリティ・プロファイルは、1つの名前付きセキュリティ・グループまたはロールをアクセス権の特定のセットに関連付ける。OLAPシステムは、異なる型式のデータに対して指定される異なる規則を用いて、様々な異なるセキュリティ・プロファイルについて、データへのアクセスを制限することができる。
ユーザがBIレポーティング・システムに認証(ログイン)し、特定のOLAPキューブからデータを照会するとき、その認証されたユーザの有効なセキュリティ・プロファイルとOLAPデータ源との組み合わせが、このユーザのセキュリティ・コンテキストを定める。例えば、時間と地理とを掛け合わせた売上レポート(クロス集計)を作成するユーザが、全ての潜在的に利用可能な年およびあらゆる地理的位置(例えば、国)の結果を見る資格が与えられていないことがあり、従って、ある一定の年メンバおよび国メンバは、このユーザのセキュリティ・コンテキスト(時間ディメンジョンおよび地理ディメンジョンへのアクセスを定める有効なセキュリティ・プロファイル)に基づいてフィルタ除外される。
BIシステムは、データをキャッシュするとき、どのデータがユーザ間に共通であって、従って安全に共有できる(異なるユーザから見られる)か、そして、どのデータが共通でなく、即ちセキュアである(特定の種類のユーザからは見えない)かを、知る必要がある。この要件に対処するため、大抵のBIシステムは、現在、2つの典型的な手法のうちの1つを実装している。第1の手法は、システム管理者が、根底にあるOLAPデータ源のセキュリティ規則(アクセス権)を、BIシステム内で直接複製して再定義するようにさせ、BIシステムが単一のスーパユーザとしてデータ源にログインするようにさせることである。このことは、各ユーザに見る資格が与えられたデータのみを返すために、キャッシュへの何らかのアクセスの前および/または後に、各ユーザのセキュリティ・コンテキストに基づくフィルタ処理が実行される必要があることを意味する。第2の手法は、個々のBIシステム・ユーザが各自の資格証明を用いて根底にあるOLAPデータ源に接続するようにさせ、キャッシュされたいかなるデータ情報もユーザ間で共有しないようにさせることである。一般的に、第1の手法は、性能に関しては好ましく(典型的には大量であるメンバのために用いられるキャッシュ・メモリがより少ない)、一方、第2の手法は、保守の容易さに関して好ましい。
セキュリティ規則がBIシステム内で再定義される第1の手法では、あらゆるセキュリティ・プロファイルを、BIシステムおよびOLAPデータ源の2箇所で保守する必要がある。こうしたセキュリティ保守のオーバヘッドは、煩雑であるのに加えて、誤りを生じやすい。他方、複数の(1ユーザにつき1つの)データ・キャッシュがBIシステムによって作られる第2の手法では、これが、非常に非効率的なメモリの使用を助長し、典型的にはメンバは大量であることを考えれば、性能の面で非常に費用がかかることが判明し得る。
本発明の課題は、最適化されたセキュアなキャッシング・システムおよびキャッシング方法を提供することにある。
第1の態様から見ると、本発明は、セキュアなキャッシング方法を提供する。このキャッシング方法は、データについてのユーザ要求およびセキュリティ・コンテキストを受け取ることと、ユーザ要求および受けたセキュリティ・コンテキストに基づいて、要求されたデータについてキャッシュを検索することとを含む。要求されたデータがキャッシュ内に発見された場合、キャッシュされたデータをユーザ要求に応答して返す。要求されたデータがキャッシュ内に発見されない場合、要求されたデータをデータ源から入手し、入手したデータをキャッシュに格納し、入手したデータをセキュリティ・コンテキストに関連付け、要求されたデータをユーザ要求に応答して返す。
この解決法は、以下の点に関して、当該技術分野の現状における欠陥に対処する。セキュリティ規則は、本質的に、個々のBIシステムのユーザがクエリ(レポート)を提出するときに「発見され」、「セキュリティ・リストとして表現され」るので(このセキュリティ・リストは、データ・キャッシュ内に置くことができる)、このデータ源不可知の手法は、あらゆるセキュリティ規則をBIシステム内で再定義しなければならないという要件を有さない。
更に、セキュリティ・リストは、キャッシュされたデータを参照する軽量のリストであるので、キャッシュされたデータ自体は、セキュリティ・プロファイルから独立しており、従って、異なるセキュリティ・プロファイルのアクセス権を遵守するという要件に関連した冗長性をわずかしか含まないか、全く含まない。この解決法によれば、キャッシュ・メモリは、サイズが最適化され、同じまたは異なるセキュリティ・コンテキストを有するますます多くのユーザがBIシステムにログインしてレポート/クエリを提出しても、著しく増大することにはならない。
第1の態様から見ると、本発明は、セキュアなキャッシング方法であって、データについてのユーザ要求およびセキュリティ・コンテキストを受け取ることと、ユーザ要求および受け取ったセキュリティ・コンテキストに基づいて、要求されたデータについてキャッシュを検索することと、要求されたデータがキャッシュ内に発見された場合、キャッシュされたデータをユーザ要求に応答して返すことと、要求されたデータがキャッシュ内に発見されない場合、要求されたデータをデータ源から入手し、入手したデータをキャッシュに格納し、入手したデータをセキュリティ・コンテキストに関連付け、要求されたデータをユーザ要求に応答して返すこととを含む方法を提供する。
好ましくは、本発明は、キャッシュされたデータが、キャッシュされたデータをセキュリティ・コンテキストに関連付ける対応するリストと共に格納される方法であって、要求されたデータがキャッシュ内に発見されない場合、キャッシュに格納された入手したデータをセキュリティ・コンテキストに関連付けるための新たなリストを、キャッシュに格納された入手したデータへの参照を格納することにより生成する、方法を提供する。
好ましくは、本発明は、新たなリストがリスト・ストレージ・ユニットに格納され、その中で、格納されたリストの数が受け取ったユーザ・クエリに基づいてインクリメンタルに増加する、方法を提供する。
好ましくは、本発明は、キャッシュされたデータにおける変化がリストの一貫性を損なう場合に、リストをリスト・ストレージ・ユニットからパージすることをさらに含む方法を提供する。
好ましくは、本発明は、キャッシュを使用する前にリスト・ストレージ・ユニットを初期化することをさらに含む方法であって、初期化することが、共通に用いられるセキュリティ・コンテキストについて共通に用いられるデータについてのクエリをデータ源に提出することと、クエリの結果をキャッシュにロードすることと、キャッシュされたデータを参照するセキュリティ・リストを作成することとを含む、方法を提供する。
好ましくは、本発明は、格納されたリストを冗長性について検査することをさらに含む方法であって、2つの同一のリストが発見された場合には2つの同一のリストが単一のリストに纏められる、方法を提供する。
好ましくは、本発明は、データがメタデータである方法を提供する。
好ましくは、本発明は、セキュリティ・コンテキストがユーザセキュリティ・プロファイルである方法を提供する。
別の態様から見ると、本発明は、ユーザとデータ源とに接続されたシステムにおけるセキュアなキャッシング方法であって、データ源が、ユーザのセキュリティ・コンテキストに基づいて定められたアクセス権を有する方法を提供する。本方法は、セキュリティ・コンテキストおよびデータ識別子を含むユーザ要求を受け取ることと、セキュリティ・コンテキストおよびデータ識別子により識別されるリストの存在についてリスト・ストレージ内を検査することとを含む。リストが存在しない場合、セキュリティ・コンテキストおよびデータ識別子により識別されるリストをリスト・ストレージ内に作成し、データ源からデータを取得し、取得したデータをデータ・ストレージに格納し、データ・ストレージに格納された取得したデータのストレージのアドレスを作成されたリストに取り込む。リストが存在する場合、リスト内のストレージ・アドレスを用いて、データ・ストレージからデータを取得する。
好ましくは、本発明は、データ識別子がキューブ・ディメンジョン識別子である方法を提供する。
好ましくは、本発明は、データ・ストレージが複数の異種の遠隔データ源から提供されたデータを含むキャッシュである方法を提供する。
好ましくは、本発明は、データ・ストレージおよびリスト・ストレージに事前ロードすることをさらに含む方法であって、リスト・ストレージには、共通に用いられるセキュリティ・コンテキストおよびデータ識別子に対応するリストが事前ロードされ、データ・ストレージには、事前ロードされたリストにより参照される共通に用いられるデータが事前ロードされる、方法を提供する。
好ましくは、本発明は、データ・ストレージに格納されるデータがOLAPメタデータである方法を提供する。
別の態様から見ると、本発明は、ソフトウェア・モジュールを実行するプロセッサと、ソフトウェア・モジュールを格納するメモリとを備えた、キャッシング・システムを提供し、ソフトウェア・モジュールは、データについてのユーザ要求およびセキュリティ・コンテキストを受け取るレシーバ・モジュールと、ユーザ要求および受け取ったセキュリティ・コンテキストに基づいて、要求されたデータについてキャッシュを検索する検索モジュールと、要求されたデータがキャッシュ内に発見された場合に、キャッシュされたデータをユーザ要求に応答して入手する管理モジュールとを備え、要求されたデータがキャッシュ内に発見されない場合には、管理モジュールは、要求されたデータをデータ源から入手し、入手したデータをキャッシュに格納し、入手したデータをセキュリティ・コンテキストに関連付け、要求されたデータをユーザ要求に応答して返す。
好ましくは、本発明は、検索モジュールが要求されたデータをキャッシュ内に発見されない場合、管理モジュールが、キャッシュに格納された入手したデータをセキュリティ・コンテキストに関連付けるための新たなリストを、キャッシュに格納された入手したデータへの参照を格納することにより生成する、システムを提供する。
好ましくは、本発明は、管理モジュールが、新たなリストをリスト・ストレージ・ユニットに格納し、その中で、格納されたリストの数が、一意の受け取ったユーザ・クエリに基づいてインクリメンタルに増加する、システムを提供する。
好ましくは、本発明は、キャッシュされたデータにおける変化がリストの一貫性を損なう場合に、リストをリスト・ストレージ・ユニットからパージする、パージ・モジュールをさらに備えたシステムを提供する。
好ましくは、本発明は、キャッシュを使用する前にリスト・ストレージ・ユニットを初期化する事前ロード・モジュールをさらに備えたシステムを提供し、事前ロード・モジュールは、共通に用いられるセキュリティ・コンテキストについて共通に用いられるデータについてのクエリをデータ源に提出し、クエリの結果をキャッシュに事前ロードし、キャッシュされたデータを参照する新たなセキュリティ・リストを作成する。
好ましくは、本発明は、格納されたリストを冗長性について検査し、2つの同一のリストが発見された場合には2つの同一のリストを単一のリストに纏める、検査モジュールをさらに備えたシステムを提供する。
別の態様から見ると、本発明は、セキュアなキャッシングのための命令を格納するコンピュータ可読媒体を提供し、命令は、データについてのユーザ要求およびセキュリティ・コンテキストを受け取ることと、ユーザ要求および受け取ったセキュリティ・コンテキストに基づいて、要求されたデータについてキャッシュを検索することと、要求されたデータがキャッシュ内に発見された場合、キャッシュされたデータをユーザ要求に応答して返すことと、要求されたデータがキャッシュ内に発見されない場合、要求されたデータをデータ源から入手し、入手したデータをキャッシュに格納し、入手したデータをセキュリティ・コンテキストに関連付けることとを含む。
好ましくは、本発明は、命令が、要求されたデータがキャッシュ内に発見されない場合に、キャッシュに格納された入手したデータをセキュリティ・コンテキストに関連付けるための新たなリストを、キャッシュに格納された入手したデータへの参照を格納することにより生成することをさらに含む、コンピュータ可読媒体を提供する。
好ましくは、本発明は、命令が、新たなリストがリスト・ストレージ・ユニットに格納されることをさらに含み、その中で、格納されたリストの数が一意の受け取られたユーザ・クエリに基づいてインクリメントに増加する、コンピュータ可読媒体を提供する。
好ましくは、本発明は、命令が、キャッシュされたデータにおける変化がリストの一貫性を損なう場合に、リストをリスト・ストレージ・ユニットからパージすることをさらに含む、コンピュータ可読媒体を提供する。
好ましくは、本発明は、命令が、キャッシュを使用する前にリスト・ストレージ・ユニットを初期化することをさらに含み、初期化することが、共通に用いられるセキュリティ・コンテキストについて共通に用いられるデータについてのクエリをデータ源に提出することと、クエリの結果をキャッシュにロードすることと、キャッシュされたデータを参照するセキュリティ・リストを作成することとを含む、コンピュータ可読媒体を提供する。
好ましくは、本発明は、命令が、格納されたリストを冗長性について検査することをさらに含み、2つの同一のリストが発見された場合に2つの同一のリストが単一のリストに纏められる、コンピュータ可読媒体を提供する。
ここで、本発明の好ましい実施形態を、例示のみの目的で、添付の図を参照して説明する。
当該分野において公知のBIシステムを示すブロック図である。 本発明の好ましい実施形態により実装されるデータ・キャッシングを伴うBIシステムのブロック図である。 本発明の好ましい実施形態による、例示的なセキュリティ・リストの構造を示す図である。 本発明の好ましい実施形態による、地理ディメンジョンについてのセキュリティ権限を示す図である。 本発明の好ましい実施形態による、地理ディメンジョンについてのセキュリティ権限を示す図である。 本発明の好ましい実施形態による、地理ディメンジョンについてのセキュリティ権限を示す図である。 本発明の好ましい実施形態による、地理ディメンジョンについてのセキュリティ権限および対応するセキュリティ・リストを示す図である。 本発明の好ましい実施形態による、地理ディメンジョンについてのセキュリティ権限および対応するセキュリティ・リストを示す図である。 本発明の好ましい実施形態による、セキュアなメンバ・キャッシング・プロセスを示すフローチャートである。 本発明の好ましい実施形態による、セキュリティ・リストの生成を示すフローチャートである。 本発明の好ましい実施形態による、セキュリティ・リストの削除を示すフローチャートである。 本発明の好ましい実施形態による、セキュリティ・リストの削除を示すフローチャートである。 本発明の好ましい実施形態による、本発明の例示的な実施形態がその中で動作可能なコンピュータ・システム環境を示す図である。
本発明の特定の実施形態と従来のデータ・キャッシュ・システムとの対比を助けるために、ここで、従来のデータ・キャッシュ・システムを、図1を参照して説明する。上記のように、図1は、関連分野の技術による従来のデータ・キャッシュを備えたBIシステムを示すブロック図である。図1において、クライアント102が、クエリ・サービス112を用いてデータを要求する。クエリ・サービス112で生成されたクエリは、要求111Aとしてキャッシュ・ユニット110に提供される。キャッシュ・ユニット110は、クエリ・サービスおよびキャッシュ・ユニット110のモジュールとインタフェースするデータ・キャッシュ・モジュール111と、キャッシング挙動に影響を与える設定モジュール114と、データを格納するデータ・ストレージ117と、1つまたは複数の第三者データ源101から情報を取得するデータ源インタフェース115とを含む。データ・キャッシュ・モジュール111は、ストレージ117から取得したデータ、またはストレージ117において入手できない場合には第三者データ源101から取得したデータを、クエリ・サービス112への応答111Bにおいて提供し、次いでクエリ・サービス112が、それをクライアント102に提供する。この従来のシステムにおいて、第三者データ源101が、異なるユーザに対するデータの可視性/アクセス可能性に影響するセキュリティ規則を採用している場合、上述の背景技術の節で説明した2つの典型的な手法のうちの1つが、通常は適用される。
図2は、本発明の例示的な実施形態により実装されるキャッシュを備えたBIシステムを示す。
この例示的な実施形態におけるメンバの取得の場合、ユーザ・クエリをクライアント202から受け取ると、クエリ・サービス212は、元のクエリを満足させるためにキャッシュ・ユニットに対する必要なメンバ要求211Aを作成し、ディメンジョン識別子(例えば「地理」)およびユーザのセキュリティ・コンテキストをそうした各要求と共に渡す。データ・キャッシュ・モジュール211は、要求211Aを受け取って、キャッシュ設定モジュール214および「セキュリティ認識」レイヤ216とインタフェースする、インタフェースとして働く。
「セキュリティ認識」レイヤ216は、セキュリティ・リスト・ストレージ218に格納されたセキュリティ・リストを管理する。これは、セキュリティ・リスト・ストレージ218に格納されたセキュリティ・リストを、作成し、更新し、削除する。セキュリティ・リスト・ストレージ218に保持されたリストは、データ・ストレージ217に保持された、キャッシュされたデータを参照する。「セキュリティ認識」レイヤ216は、異なるセキュリティ・コンテキストについて異なることがある、種々のメンバ間の関係を含む、全てのセキュリティ・コンテキスト情報を管理する。「セキュリティ認識」レイヤ216は、キャッシュ・ユニット210のためにデータ・ストレージ217を保守する。
この例示的な実施形態におけるメンバの取得の場合、「セキュリティ認識」レイヤ216は、ユーザ・セキュリティ・コンテキストおよびディメンジョン識別子の両方により識別されるセキュリティ・リストの存在について、セキュリティ・リスト・ストレージ218内を検査する。セキュリティ・リストが存在する場合は、セキュリティ・リスト・ストレージ218は、発見されたセキュリティ・リスト内に存在する、データ・ストレージ217に格納されたメンバについての1つまたは複数のストレージ・アドレスへのリンクを返す。それで、メンバ・データは、「セキュリティ認識」レイヤによってデータ・ストレージ217から直接取得することができ、クエリ・サービス212への応答211Bにおいて返すことができる。セキュリティ・リストが存在しない場合には、「セキュリティ認識」レイヤ216は、ユーザのセキュリティ・コンテキストに関連付けられたデータ源201からディメンジョンメンバを取得するよう、データ源インタフェース215に命令する。結果として得られたメンバ(およびそれらの属性)は、データ・ストレージ217内にまだ存在しない場合にはデータ・ストレージ217に格納され、「セキュリティ認識」レイヤ216は、対応するストレージ・アドレスを用いて、セキュリティ・リスト・ストレージ218内に新しいセキュリティ・リストを作成する。特定のメンバが既にデータ・ストレージ217に格納されている場合には、それらは複製されないが、既存のストレージ・アドレスが新しいセキュリティ・リスト内で用いられる。次いで、要求されたメンバは、キャッシュ・ユニット210により、応答211Bを通じて、クエリ・サービス212に返される。
図3は、本発明の実施形態による、キャッシュされたメンバへの参照を含むセキュリティ・リストの例示的な構造を示す図である。図3において、セキュリティ・リスト320は、セキュリティ・コンテキスト・フィールド321およびディメンジョンフィールド322を含む、ヘッダを有する。このヘッダが、セキュリティ・リストを識別する。セキュリティ・リスト320の本体330は、このセキュリティ・リストに関連付けられたメンバのキャッシュ内格納位置へのアドレス(例えば、インデックス)のリストを含む。例えば、セキュリティ・コンテキスト・フィールド321の値は「欧州のセールス・マネージャ」323であり、ディメンジョンフィールド322の値は「地理」324である。セキュリティ・リストの本体330は、キャッシュに、例えば図2のデータ・ストレージ217に格納されているメンバに対応する、1つまたは複数のアドレスを含む。例えば、セキュリティ・リストの本体330は、キャッシュされたメンバ「スペイン」のアドレス、キャッシュされたメンバ「オランダ」のアドレス、およびキャッシュされたメンバ「イタリア」のアドレスを含む。
図4は、本発明の例示的な実施形態による、レベルおよびメンバの単一階層を有する、地理ディメンジョンを示す図である。地理ディメンジョンは、4つのレベルに分割することができる。即ち、ネバダおよびオンタリオのメンバを有する州(state/province)レベル、米国、カナダ、フランスおよびイタリアのメンバを有する国レベル、北アメリカおよび欧州のメンバを有する大陸レベル、並びに、主レベルまたはルート・レベル、即ち、全地理レベルである。
図5に示すように、異なるユーザは、地理ディメンジョンの各レベル内の異なるレベルおよびメンバへのアクセスを有する。例えば、ユーザAは、大陸レベルのメンバである北アメリカについてのデータにのみアクセスできる。従って、ユーザAは、北アメリカ・メンバ、並びに、米国およびカナダのようないずれかのより下位レベル・メンバへのアクセスが許される。つまり、ユーザAにとっての根ノード・メンバは北アメリカであり、北アメリカの全ての子ノードはユーザAからアクセス可能である。他方、欧州およびその子ノードのような国レベルにある、他の地理ディメンジョンのメンバは、ユーザAからアクセス可能ではない。
図6は、例示的な実施形態による、種々のユーザについての同じディメンジョンの例示的な見え方を示す。例えば、ユーザAは、北アメリカ・メンバおよびその全ての子ノードにアクセス可能であり、ユーザBは、欧州メンバおよびその全ての子ノードにアクセス可能であり、ユーザCは、地理ディメンジョンの全てのメンバにアクセス可能である。
図7は、キャッシュ内のディメンジョンおよびメンバへのアクセスを提供するための、1つまたは複数のユーザ用のセキュリティ・コンテキストに関連付けられたセキュリティ・リストの使用を示す。ユーザAおよびユーザEは共に、プロファイル1というセキュリティ・コンテキストを有する。ユーザAまたはユーザEのどちらかがデータを要求すると、プロファイル1用のセキュリティ・リストが発見される。このプロファイル1セキュリティ・リストは、そのセキュリティ・コンテキストを有するユーザ、例えばユーザAおよびユーザEを、北アメリカ・メンバおよびその全ての子にリンクさせる。図8は、他のセキュリティ・コンテキストであるプロファイル2およびプロファイル3用の追加のセキュリティ・リストを示す。ここでは、ユーザBは、プロファイル2を自身のセキュリティ・コンテキストとして有する。このセキュリティ・コンテキストは、プロファイル2セキュリティ・リストに関連付けられ、プロファイル2セキュリティ・リストは、ユーザBを欧州メンバおよびその全ての子にリンクさせる。ユーザCおよびユーザDは、プロファイル3を自身のセキュリティ・コンテキストとして有する。このセキュリティ・コンテキストは、プロファイル3セキュリティ・リストに関連付けられ、プロファイル3セキュリティ・リストは、ユーザCおよびユーザDを、地理ディメンジョン内の全てのメンバにリンクさせる。
図9は、本発明の例示的な実施形態による、セキュアなメンバ・キャッシング・プロセスを示すフローチャートである。動作501において、ユーザ・クエリを受け取る。BIシステムのクエリ・エンジンに提出されるユーザ・クエリは、潜在的には複数のディメンジョンを参照するが、そのようなクエリは、クエリ・サービスによりサブ・クエリに分解されるので、そのため、このセキュアなメンバ・キャッシング・プロセスが受け取るユーザ・クエリは、単一ディメンジョンについてのメンバ要求であると仮定することができる。このユーザ・クエリは、ユーザのセキュリティ・コンテキストも含む。
上述のように、特定のOLAPデータ源に照合してデータをクエリ/レポートする、BIシステムの所与のユーザのセキュリティ・コンテキストは、その認証されたユーザおよびそのOLAPデータ源についての「有効な」セキュリティ・プロファイル(このユーザが属するセキュリティ・グループおよびログイン時に選択されたいずれかのロールに基づく)により定められる。とは言え、ユーザのセキュリティ・コンテキストは、ユーザがBIシステムと対話する際に変更される可能性がある。例えば、特定のOLAPキューブに照合したレポートをする準備をするとき、ユーザは、組織内での自分のロールをさらに説明するよう促されることがある。ひとたび認証されると、このロールは、BIシステムにおけるその後の行為について、このユーザのセキュリティ・コンテキストの一部となり、セキュアなメンバ・キャッシング・プロセスは、この変更されたセキュリティ・コンテキストを、異なるセキュリティ・コンテキストとみなすことになる。
動作502において、動作501において受け取ったユーザ・クエリ内で識別されたディメンジョンおよびセキュリティ・コンテキストに基づいて、セキュリティ・リスト内における検索が行われる。合致するものが発見された場合(動作503−はい)、動作505において、キャッシュ内の対応するメンバ・データについてのアドレス情報が入手される。次いで、動作506において、要求されたメンバ・データは、入手されたアドレス情報を用いて、キャッシュから直接取得される。他方、現在のセキュリティ・コンテキストおよびディメンジョンについてのセキュリティ・リストが発見されない場合(動作503−いいえ)、動作504において、要求されたメンバは、データ源から取得され、キャッシュに格納される。動作507において、キャッシュに格納されたメンバへのアドレスを含む新たなセキュリティ・リストがキャッシュ内に作成される。
例示的な実施形態において、各ディメンジョンメンバは、一度だけ、データ・キャッシュに格納される。そのディメンジョンについて既に遭遇したユーザ・セキュリティ・コンテキストについて、ディメンジョンメンバ取得要求がデータ・キャッシュに対して為されたときは、根底にあるデータ源にクエリする必要はなく、現在のディメンジョンおよびユーザ・セキュリティ・コンテキストについてのセキュリティ・リストにより指し示されるキャッシュされたメンバが、単に返される。
同じセキュリティ・コンテキストを共有するあらゆるユーザ(例えば、カナダ国内の全てのセールス・マネージャ)は、そのセキュリティ・コンテキストに関連付けられたセキュリティ・リストを用いて、キャッシュに格納されたデータにアクセスすることが可能となる。
図10は、例示的な実施形態による、セキュアなメンバ・キャッシング・プロセスにおけるセキュリティ・リストの生成を示すフローチャートである。動作601において、ユーザ・クエリを受け取る。動作602において、プロセスは、受け取ったユーザ・クエリ内で入手したセキュリティ・コンテキストおよびディメンジョンに基づいて、セキュリティ・リストについて検索する。特に、入手されたディメンジョンおよびセキュリティ・コンテキストは、所定の規則に従って結合され、キーまたは識別子になる。この生成されたキーを用いて、既存のリストが検索される。
生成されたキーにより識別されるセキュリティ・リストが存在する場合(動作603−はい)、動作610において、プロセスは終了する。他方、こうしたリストが発見されない場合(動作603−いいえ)、動作604において、新たなセキュリティ・リストが生成される。例えば、新たなセキュリティ・リストは、キー・フィールドおよびアドレス・フィールドを含むように初期化されることになる。キー・フィールドには、生成されたキーに対応する値が割り当てられる。
次に、動作605において、現在のユーザのセキュリティ・コンテキストにおいて、現在のディメンジョンについて、データ源からメンバ・データが取得される。次に、動作606において、返された各メンバがキャッシュ内に存在するかどうか検査される。メンバが既にキャッシュ内に存在する場合(動作606−はい)、動作607において、キャッシュ内のこのメンバのアドレス等の、このメンバへの参照が、新たなセキュリティ・リストに挿入される。
メンバがキャッシュに格納されていない場合(動作606−いいえ)、動作608において、このメンバのデータがキャッシュに取り込まれ、動作609において、キャッシュ内のこのメンバ・データのアドレス等の、このメンバへの参照が、新たなセキュリティ・リストに加えられる。次いで、プロセスは、次に返されたメンバについて同様の動作を続行する。他のディメンジョンメンバが返されない場合、プロセスは動作610に戻って終了する。
図11および図12は、本発明の例示的な実施形態による、セキュリティ・リストの削除を示すフローチャートである。
BIシステムは、セキュリティ・リストの削除を含むように、キャッシュの従来の立退き(eviction)戦略を改訂する。特に、キャッシュの立退き戦略は、キャッシュ・サイズ制限または時間制限よってトリガされ、「ディメンジョンごと」に実行することが可能であろう。図11において、データ、この例ではメタデータをキャッシュから削除する要求を動作701において受け取り、そのメタデータは、削除用にマークされる。
例えば、キャッシュのサイズ制限に既に達し、メタデータがキャッシュからディメンジョンごとにパージされていると、その後のメタデータのためにメモリが解放される。あるいは、メタデータは、時間に基づいてパージすることができる。例えば、ディメンジョン内のいずれかのメタデータが所定の時間にわたって用いられていなければ、そのディメンジョンについてのメタデータはキャッシュからパージされる。これら2つの方法の組み合わせを用いて、キャッシュから削除すべきメタデータを決定することができる。また、セキュリティ規則の変更、または、根底にあるデータ源における他のメタデータ変更(例えば、徐々に変化するディメンジョンでは時として起こるような、メンバ・データの更新または削除)の理由で、キャッシュは、メタデータをパージする必要があることがある。
キャッシュが十分に最新であることを保証するため、例示的な実施形態において、ユーザが設定可能な有効期限が提供される。有効期限に到達すると、キャッシュ・データは、パージされ、再読み込みされる。例示的な実施形態において、この方式は、全てのソース・システム型式で機能し得、根底にあるセキュリティ・システムについての具体的な知識を必要としない。ディメンジョンの更新またはセキュリティの更新を決定するための、更新のトリガまたはポーリングのような機構が利用可能である場合、それらの機構は、キャッシュを更新すべき時を知るために用いられる。
動作702において、所定の方式に従って、削除用にマークされたメタデータが見いだされる。動作703において、削除用にマークされたメタデータのアドレスが入手される。メタデータのアドレスは、対応するセキュリティ・リストを決定することができるように一時的に格納される。動作704において、マークされたメタデータは削除される。動作705において、格納されたメタデータのアドレスを用いて、このメタデータについてのセキュリティ・リストが見いだされる。セキュリティ・リストは、キャッシュ内のメタデータの位置へのポインタを格納する。従って、セキュリティ・リスト内に保持されたいずれかのポインタが、削除されたメタデータ項目のキャッシュ位置を指し示しているならば、そのポインタは、セキュリティ・リストから削除される必要があり、それは動作706にて行われる。
図12に示される代替的な立退き戦略は、ディメンジョンの一意識別子に基づくことができる。例えば、ディメンジョンは地理とすることができる。動作711において、キャッシュからこのディメンジョンを削除する要求を受け取る。動作712において、システムは、地理ディメンジョンにより部分的に識別される格納されたセキュリティ・リストについて検索する。動作713において、システムは、現在のセキュリティ・リストが地理ディメンジョンによるキーを付されているかどうかを判断する。そうでない場合(動作713−いいえ)、動作714において、最後のリストが検査されたかどうかを判断する検査が行われる。他のセキュリティ・リストが存在する場合、システムは、動作712に戻り、要求されたディメンジョンによるキーを付されたリストがもっとあるかどうかを検査する。
例えば、1つのセキュリティ・リストが「従業者」セキュリティ・コンテキストおよび地理ディメンジョンについてのものであり、別のリストが「セールス・マネージャ」セキュリティ・コンテキストおよび時間ディメンジョンについてのものであり、別のリストが「出納係」セキュリティ・コンテキストおよび地理ディメンジョンについてのものであるとすることができる。このとき、キャッシュから削除されるディメンジョンが地理であるならば、このディメンジョンにより識別される全てのセキュリティ・リストが削除される必要があり、セキュリティ・リスト「従業者」/地理および「出納係」/地理が削除されるべきであることを意味する。
現在のセキュリティ・リストが、要求されたディメンジョンにより部分的に識別される場合(動作713−はい)、動作715において、このセキュリティ・リストは削除される。次いで、システムは、動作714において、そのディメンジョンについて検査を要する他のリストが存在するかどうかを検査する。他のリストが存在する場合(動作714−いいえ)、システムは動作712に戻り、要求されたディメンジョンについてのキーを付されたリストがもっとあるかどうかを検査する。
他方、全てのリストが検査された場合(動作714において−はい)、動作716において、ディメンジョンがキャッシュ内で検索される。システムは、同じ一意のキーまたは識別子に基づいて、キャッシュ内でディメンジョンについて検索することができ、このキーまたは識別子は、例えば文字列「地理」とすることができる。このディメンジョンがメタデータ・キャッシュ内で発見されない場合(動作717−いいえ)、プロセスは終了する。ディメンジョンが発見された場合(動作717−はい)、動作718において、システムは、ディメンジョンをキャッシュから削除する。
例示的な実施形態において、且つ、BIシステムに対する付加的な最適化として、共通に用いられるデータをキャッシュに事前ロードすることができる。システムにアクセスする主なセキュリティ・プロファイルに属するサンプルユーザを代表して、より共通に用いられるディメンジョンについてのメンバ・クエリを提出することにより、予め(システムの起動時に)メンバ・データをデータ・キャッシュに事前ロードすることができる。
また、BIシステムに対する付加的な最適化として、BIシステム環境内にモデリング・ツールを提供することができ、その目的は、ディメンジョン、階層、およびレベルといったOLAPキューブのメタデータを表現すること、並びに、このメタデータを、BIシステム・クエリ・エンジンに自動的に提供される新たな属性で強化することである。このとき、例えば「セキュア済み」と呼ばれるこのモデリング・ツールにおける新たなディメンジョン属性をサポートすることにより、モデラは、どのキューブにおけるどのディメンジョンが実際にセキュリティ処理を要するかを特定することができる。結果として、この属性についての値をキャッシュ取得ロジックによって検証することができ、呼び出し元のクエリ・エンジンに返されるメンバがセキュアされる必要のないディメンジョン(即ち、セキュリティが適用されることがなく、従って、可視性の制限を考慮せずにそのキャッシュされたメンバを直接返すことが適するもの)についてのものであるときには常に、セキュリティ・リストを作成(および処理)するオーバヘッドが解消される。
セキュリティ認識メンバ・キャッシングのための別のメモリ最適化技術として、例示的な実施形態は、同一のセキュリティ・リストを認識してそれらを単一のリストに纏める(collapse)、並列にまたはスケジュールに従って実行する個別の作業を含むことができる。このように纏められた任意の2つのリストは、2つの異なるセキュリティ・コンテキストにおける、同じディメンジョンに属するメンバのクエリに由来したものであろう。ひとたび2つのリストが単一のリストになると、この単一のリストを識別するキー付け機構は、元のリストの作成に寄与した2つのセキュリティ・コンテキストがいずれも、得られた単一のリストにいまや関連付けられたことを保証する。
さらに、利用可能なシステム・リソースに応じて、異なる型式のストレージ機構を用いて、キャッシュのサイズを、異なる量のデータを保持するように調節することが可能である。例えば、キャッシング・レイヤは、どれだけの量のディメンジョンがRAMに格納され、どれだけの量がディスク上に格納されるかのバランスを取ることができる。大きいディメンジョンは、1,000,000個を超えるメタデータ・メンバを含むことがある。従って、1,000,000個のメンバが実際にキャッシュ内に存在しても、これらをRAM内に保持することも可能であり、またはディスクにパージすることも可能である。
上記の例示的な実施形態は、OLAPメンバに関するキャッシングを説明する。メタデータのような様々な異なる種類のデータのキャッシングを、上述の例示的な構造および方法を用いて実装することができる。即ち、上述の例示的な実施形態は、どちらかと言えば、セキュアなOLAPデータ源に接続されたシステムにおけるセキュアなメンバ・キャッシングに有益であるが、これを他の型式のデータを伴う実施形態において用いることも可能である。例えば、OLAPディメンジョンデータ、階層データ、およびレベル・データを含むキャッシュを、これらの型式のデータへのアクセスをデータ源の規則に従ってセキュアにすることを要するときに最適化するために、これを用いることが可能である。タプル値へのアクセスをセキュアにすることを要するときに、OLAPセル・データを含むキャッシュを最適化するために、これを用いることも可能である。更に、特定のキャッシュされたデータへのアクセスをデータ源の規則に従ってセキュアにすることを要するときにはいつでも、セキュアな非OLAPデータ源に接続されたシステムにおける非OLAPデータを含むキャッシュを最適化するために、これを用いることが可能である。
図13は、例示的な実施形態による、コンピュータ/サーバ・システム800を示すブロック図である。システム800は、コンピュータ/サーバ・プラットフォーム801、周辺デバイス802およびネットワーク・リソース803を含む。
コンピュータ・プラットフォーム801は、コンピュータ・プラットフォーム801の種々の部分に渡ってそれらの間で情報を通信するためのデータ・バス804または他の通信機構と、バス804に結合された、情報を処理し他の計算および制御のタスクを実行するためのプロセッサ805とを含むことができる。コンピュータ・プラットフォーム801は、種々の情報並びにプロセッサ805により実行される命令を格納するための、バス804に結合された、ランダム・アクセス・メモリ(RAM)または他の動的ストレージ・デバイス等の揮発性ストレージ806も含む。揮発性ストレージ806は、プロセッサ805による命令の実行の間、一時的な変数または他の中間的な情報を格納するために用いることもできる。
コンピュータ・プラットフォーム801は、基本入出力システム(BIOS)等、プロセッサ805用の静的な情報および命令、並びに種々の設定パラメタを格納するための、バス804に結合された読み出し専用メモリ(ROMまたはEPROM)807または他の静的なストレージ・デバイスをさらに含むことができる。情報および命令を格納するために、磁気ディスク、光ディスク、またはソリッド・ステート・フラッシュ・メモリ・デバイス等の永続性ストレージ・デバイス808が設けられ、バス804に結合される。例えば、永続性ストレージ・デバイス808は、1つまたは複数のセキュリティ・リストを格納することができ、メタデータ・メンバを格納するキャッシュを含むこともできる。
コンピュータ・プラットフォーム801は、コンピュータ・プラットフォーム801のユーザに対して情報を表示するための、ブラウン管(CRT)、プラズマ・ディスプレイ、または液晶ディスプレイ(LCD)等の表示デバイス809に、バス804を介して結合することができる。プロセッサ805への情報伝達およびコマンド選択のために、英数字および他のキーを含む入力デバイス820が、バス804に結合される。別の種類のユーザ入力デバイスは、方向情報およびOLAPクエリ等のコマンド選択をプロセッサ805に伝達するため、並びに、表示装置809上のカーソル動作を制御するための、マウス、トラックボール、カーソル方向キー等のカーソル制御デバイス811である。この入力デバイスは、典型的には、第1の軸(例えば、x)および第2の軸(例えば、y)の2軸において自由度2を有し、これにより、デバイスが面内の位置を指定することが可能になる。
コンピュータ・プラットフォーム801により用いられるメタデータを格納する外部ストレージ・デバイス(データ源)812を、バス804を介してコンピュータ・プラットフォーム801に接続することができる。簡単にするために、1つのデータ源812だけが描かれているが、多数のデータ源812、並びに他の種類のデータ源が存在することがある。
本明細書で用いられる「コンピュータ可読媒体」という用語は、プロセッサ805に実行のための命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線若しくは半導体のシステム、装置若しくはデバイス、または上記のものの任意の適切な組み合わせとすることができるが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例(非網羅的なリスト)は、以下のもの、即ち、2つ以上の電線を有する電気的接続、フロッピー・ディスク若しくはフレキシブル・ディスク等のポータブル・コンピュータ・ディスケット、磁気テープ若しくは任意の他の磁気媒体、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、メモリ・カード、任意の他のメモリ・チップ若しくはカートリッジ、光ファイバ、ポータブル・コンパクト・ディスク型読み出し専用メモリ(CD−ROM)、任意の他の光媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、若しくはコンピュータが読み取ることが可能な任意の他の媒体、またはこれらの適切な組み合わせを含む。
本文書の文脈においては、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって、またはこれらと関連して用いるためのプログラムを、収容または格納することができる任意の有形の媒体とすることができる。
コンピュータ可読信号媒体は、例えば、ベースバンド内または搬送波の一部としてその中に具体化されたコンピュータ可読プログラム・コードを有する、伝搬されるデータ信号を含むことができる。このような伝搬信号は、電磁的、光学的またはそれらの任意の適切な組み合わせを含むがこれらに限定されない種々の形態のいずれかをとることができる。コンピュータ可読信号媒体は、データ・バス804を構成する電線を含めて、同軸ケーブル、銅線および光ファイバを含むことができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、且つ、命令実行システム、装置若しくはデバイスによって、またはこれらと関連して用いるためのプログラムを伝達、伝搬または伝送することができる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等、または上記のものの任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体を用いて伝送することができる。
例示的な実施形態の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++ .NET等のようなオブジェクト指向プログラミング言語、および従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述することができる。プログラム・コードは、全体がユーザのコンピュータ上で実行される場合もあり、独立したソフトウェア・パッケージとして、一部がユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、または全体が遠隔コンピュータ若しくはサーバ上で実行される場合もある。遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、または外部コンピュータへの(例えば、インターネット・サービス・プロバイダを用いるインターネットを通じた)接続がなされる場合もある。
コンピュータ可読媒体は、本明細書において説明される方法および/または技術のいずれかを実装するための命令を運ぶことができる機械可読媒体の単なる一例に過ぎない。このような媒体は、不揮発性媒体および揮発性媒体を含むがこれらに限定されない多くの形態をとることができる。不揮発性媒体は、例えば、ストレージ・デバイス808のような光学ディスクまたは磁気ディスクを含む。揮発性媒体は、揮発性ストレージ806のような動的メモリを含む。
種々の形態のコンピュータ可読媒体が、プロセッサ805に実行のための1つまたは複数の命令の1つまたは複数のシーケンスを運ぶことに関与することができる。例えば、命令を、最初に、遠隔コンピュータから磁気ディスク上に運ぶことができる。あるいは、遠隔コンピュータは、命令を自己の動的メモリにロードし、その命令を、モデムを用いて電話線を通じて送信することができる。コンピュータ・システム800のローカルのモデムが、電話線上のデータを受信し、赤外線送信機を用いてデータを赤外線信号に変換する。赤外線検出器は、赤外線で運ばれたデータを受信することができ、適切な回路が、データをデータ・バス804に乗せることができる。バス804は、データを揮発性ストレージ806に運び、そこからプロセッサ805が命令を取得し実行する。揮発性メモリ806から取得された命令は、プロセッサ805によって実行される前か後のどちらかに、随意に、永続性ストレージ・デバイス808に格納することができる。命令は、当該技術分野において周知の種々のネットワーク・データ通信プロトコルを用いて、インターネットを介してコンピュータ・プラットフォーム801にダウンロードすることもできる。
コンピュータ・プラットフォーム801は、データ・バス804に結合されたネットワーク・インタフェース・カード813等の通信インタフェースも含むことができる。通信インタフェース813は、ローカル・ネットワーク815に接続されたネットワーク・リンク814に、双方向データ通信結合を提供する。例えば、通信インタフェース813は、対応する型式の電話線にデータ通信接続を提供する、サービス総合ディジタル網(ISDN)カードまたはモデムとすることができる。別の例として、通信インタフェース813は、適合するLANにデータ通信接続を提供するローカル・エリア・ネットワーク・インタフェース・カード(LAN NIC)とすることができる。周知の802.11a、802.11b、802.11gおよびブルートゥース等の無線リンクも、ネットワークの実装に用いることができる。これらのどのような実装においても、通信インタフェース813は、種々の型式の情報を表現するデジタル・データ・ストリームを搬送する、電気信号、電磁信号または光信号を送受信する。
ネットワーク・リンク813は、典型的には、1つまたは複数のネットワークを通じた、他のネットワーク・リソースとのデータ通信を提供する。例えば、ネットワーク・リンク814は、ローカル・ネットワーク815を通じて、ホスト・コンピュータ816またはネットワーク・ストレージ/サーバ822への接続を提供する。追加的にまたは代替的に、ネットワーク・リンク813は、ゲートウェイ/ファイアウォール817を通じて、インターネットのような広域ネットワークまたはグローバル・ネットワーク818に接続することができる。従って、コンピュータ・プラットフォーム801は、データ源の別の例である遠隔ネットワーク・ストレージ/サーバ819等、インターネット818上のどこに位置するネットワーク・リソースにもアクセスすることが可能である。他方、コンピュータ・プラットフォーム801もまた、ローカル・エリア・ネットワーク815および/またはインターネット818上のどこに位置するクライアントからでもアクセスすることができる。ネットワーク・クライアント820および821は、システム801に遠隔的にアクセスすることができる。
ローカル・ネットワーク815およびインターネット818は共に、デジタル・データ・ストリームを搬送する電気信号、電磁信号または光信号を用いる。コンピュータ・プラットフォーム801へとデジタル・データを搬送し、コンピュータ・プラットフォーム801からデジタル・データを搬送する、種々のネットワークを通る信号、並びにネットワーク・リンク814上の信号および通信インタフェース813を通る信号は、情報を運ぶ搬送波の例示的な形態である。
コンピュータ・プラットフォーム801は、インターネット818およびLAN815を含む種々のネットワーク、ネットワーク・リンク814並びに通信インタフェース813を通じて、プログラム・コードを含めて、メッセージを送信し、データを受信することが可能である。インターネットの例において、システム801がネットワーク・サーバとして動作するとき、それは、クライアント820および/またはクライアント821上で実行中のアプリケーション・プログラムに対して、インターネット818、ゲートウェイ/ファイアウォール817、ローカル・エリア・ネットワーク815および通信インタフェース813を通じて、要求されたコードまたはデータを送出することができる。同様に、それは、他のネットワーク・リソースからコードを受信することができる。
受信されたコードは、受信されたときにプロセッサ805により実行することもでき、および/または、後で実行するために永続性ストレージ・デバイス808若しくは揮発性ストレージ・デバイス806または他の不揮発性ストレージに格納することもできる。この方式で、コンピュータ・システム801は、搬送波の形態のアプリケーション・コードを入手することができる。
図面内のフローチャートおよびブロック図は、種々の例示的な実施形態による、システム、方法およびコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能および動作を示す。この点に関して、フローチャートおよびブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を含む、モジュール、セグメント、またはコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図面に記された順序とは異なる順序で行なわれることもあることにも留意すべきである。例えば、連続して図示された2つのブロックが、実際には実質的に同時に実行されることもあり、またはこれらのブロックは、関与する機能に応じて、ときには逆順で実行されることもある。ブロック図および/またはフローチャート図の各ブロック、並びにブロック図および/またはフローチャート図内のブロックの組み合わせは、指定された機能または行為を実行する専用ハードウェア・ベースのシステム、または専用ハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
本明細書において用いられる用語は、特定の実施形態を説明する目的のためのものにすぎず、本発明を限定することを意図するものではない。本明細書で用いられるとき、単数形「1つの(a)」、「1つの(an)」および「その(the)」は、文脈が明らかにそうでないことを示していない限り、複数形も含むことが意図されている。本明細書で用いられるとき、「含む」および/または「含んでいる」という用語は、提示された特徴、整数、ステップ、動作、要素、および/またはコンポーネントが存在することを特定するものであるが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されるであろう。
以下の特許請求の範囲における全ての「手段またはステップと機能との組み合わせ(ミーンズまたはステップ・プラス・ファンクション)」要素の対応する構造、材料、行為および均等物は、その機能を、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料または行為をも含むことが意図される。例示的な実施形態の説明は、例示および説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、本発明を開示された形態に限定することを意図するものでもない。本発明の範囲および精神から逸脱することのない多くの変更および変形が、当業者には明らかであろう。実施形態は、本発明の原理および実際の用途を最も良く説明するため、および、当業者が本発明を種々の変更を有する種々の実施形態について企図される特定の使用に適したものとして理解することを可能にするために、選択および記載された。
800:コンピュータ/サーバ・システム
802:周辺デバイス
814:ネットワーク・リンク

Claims (19)

  1. データベース・アプリケーションのためのセキュアなキャッシング方法であって、
    データについてのユーザ要求およびユーザの前記データベース・アプリケーションのセキュリティ・プロファイルを特定するセキュリティ・コンテキストを受けるステップと、
    前記ユーザ要求および前記受けたセキュリティ・コンテキストに基づいて、前記要求されたデータについてキャッシュを検索するステップと、
    前記要求されたデータが前記キャッシュ内に発見された場合に、前記キャッシュされたデータを前記ユーザ要求に応答して返すステップと、
    前記要求されたデータが前記キャッシュ内に発見されない場合に、前記要求されたデータをデータ源から入手し、前記入手したデータを前記キャッシュに格納し、前記入手したデータを前記セキュリティ・コンテキストに関連付け、前記要求されたデータを前記ユーザ要求に応答して返すステップと、
    を含む方法。
  2. 前記キャッシュされたデータは、前記キャッシュされたデータを前記セキュリティ・コンテキストに関連付ける、対応するリストと共に格納され、前記要求されたデータが前記キャッシュ内に発見されない場合、前記キャッシュに格納された前記入手したデータを前記セキュリティ・コンテキストに関連付けるための新たなリストを、前記キャッシュに格納された前記入手したデータへの参照を格納することにより生成する、請求項1に記載の方法。
  3. 前記新たなリストは、リスト・ストレージ・ユニットに格納され、その中で、格納されたリストの数が、受け取ったユーザ・クエリに基づいてインクリメンタルに増加する、請求項2に記載の方法。
  4. キャッシュされたデータにおける変化がリストの一貫性を損なう場合に、前記リストをリスト・ストレージ・ユニットからパージすることをさらに含む、請求項2に記載の方法。
  5. 前記キャッシュを使用する前にリスト・ストレージ・ユニットを初期化することをさらに含み、前記初期化することは、共通に用いられるセキュリティ・コンテキストについて共通に用いられるデータについてのクエリをデータ源に提出することと、クエリの結果を前記キャッシュにロードすることと、前記キャッシュされたデータを参照するセキュリティ・リストを作成することとを含む、請求項2に記載の方法。
  6. 格納されたリストを冗長性について検査することをさらに含み、2つの同一のリストが発見された場合には、前記2つの同一のリストが単一のリストに纏められる、請求項2に記載の方法。
  7. 前記データは、メタデータである、請求項1に記載の方法。
  8. 前記セキュリティ・コンテキストおよびデータ識別子により識別されるリストの存在についてリスト・ストレージ内を検査するステップと、
    前記リストが存在しない場合、前記セキュリティ・コンテキストおよび前記データ識別子により識別されるリストを前記リスト・ストレージ内に作成し、前記データ源からデータを取得し、前記取得したデータをデータ・ストレージ内に格納し、前記データ・ストレージに格納された前記取得したデータのストレージのアドレスを前記作成されたリストに取り込むステップと、
    前記リストが存在する場合、前記リスト内の前記ストレージ・アドレスを用いて、前記データ・ストレージからデータを取得するステップと
    をさらに含む、請求項1に記載の方法。
  9. 前記データ識別子は、キューブ・ディメンジョン識別子である、請求項8に記載の方法。
  10. 前記データ・ストレージは、複数の異種の遠隔データ源から提供されたデータを含むキャッシュである、請求項8に記載の方法。
  11. 前記データ・ストレージおよび前記リスト・ストレージに事前ロードすることをさらに含み、前記リスト・ストレージには、共通に用いられるセキュリティ・コンテキストおよびデータ識別子に対応するリストが事前ロードされ、前記データ・ストレージには、前記事前ロードされたリストにより参照される共通に用いられるデータが事前ロードされる、請求項8に記載の方法。
  12. データ・ストレージに格納される前記データは、OLAPメタデータである、請求項8に記載の方法。
  13. キャッシング・システムであって、
    ソフトウェア・モジュールを実行するプロセッサと、
    前記ソフトウェア・モジュールを格納するメモリと
    を備え、前記ソフトウェア・モジュールは、
    データについてのユーザ要求および前記ユーザのセキュリティ・プロファイルを識別する前記データベース・アプリケーションのセキュリティ・コンテキストを受けるレシーバ・モジュールと、
    前記ユーザ要求および前記受け取ったセキュリティ・コンテキストに基づいて、前記要求されたデータについてキャッシュを検索する検索モジュールと、
    前記要求されたデータが前記キャッシュ内に発見された場合に、前記キャッシュされたデータを前記ユーザ要求に応答して入手する管理モジュールを備え、
    前記要求されたデータが前記キャッシュ内に発見されない場合、前記管理モジュールは、前記要求されたデータをデータ源から入手し、前記入手したデータを前記キャッシュに格納し、前記入手したデータを前記セキュリティ・コンテキストに関連付け、前記要求されたデータを前記ユーザ要求に応答して返す、システム。
  14. 前記検索モジュールが要求されたデータを前記キャッシュ内に発見されない場合、前記管理モジュールは、前記キャッシュに格納された前記入手したデータを前記セキュリティ・コンテキストに関連付けるための新たなリストを、前記キャッシュに格納された前記入手したデータへの参照を格納することにより生成する、請求項13に記載のシステム。
  15. 前記管理モジュールは、前記新たなリストをリスト・ストレージ・ユニットに格納し、その中で、格納されたリストの数は、一意の受け取ったユーザ・クエリに基づいてインクリメンタルに増加する、請求項14に記載のシステム。
  16. キャッシュされたデータにおける変化がリストの一貫性を損なう場合に前記リストをリスト・ストレージ・ユニットからパージする、パージ・モジュールをさらに備える、請求項14に記載のシステム。
  17. 前記キャッシュを使用する前にリスト・ストレージ・ユニットを初期化する事前ロード・モジュールをさらに備え、前記事前ロード・モジュールは、共通に用いられるセキュリティ・コンテキストについて共通に用いられるデータについてのクエリを前記データ源に提出し、前記クエリの結果を前記キャッシュに事前ロードし、前記キャッシュされたデータを参照する新たなセキュリティ・リストを作成する、請求項16に記載のシステム。
  18. 格納されたリストを冗長性について検査し、2つの同一のリストが発見された場合には前記2つの同一のリストを単一のリストに纏める、検査モジュールをさらに備える、請求項14に記載のシステム。
  19. コンピュータ・システムに読み込まれて実行されたときに、請求項1から請求項12までのいずれか1項に記載の方法の全てのステップを実行するコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
JP2012554323A 2010-02-26 2011-02-22 データベース・アプリケーションのためのセキュアなキャッシング方法、システム、および、プログラム Active JP5695676B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/714,225 2010-02-26
US12/714,225 US8375056B2 (en) 2010-02-26 2010-02-26 Optimizing data cache when applying user-based security
PCT/EP2011/052612 WO2011104237A2 (en) 2010-02-26 2011-02-22 Optimizing a data cache when applying user-based security

Publications (2)

Publication Number Publication Date
JP2013520738A true JP2013520738A (ja) 2013-06-06
JP5695676B2 JP5695676B2 (ja) 2015-04-08

Family

ID=44505842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012554323A Active JP5695676B2 (ja) 2010-02-26 2011-02-22 データベース・アプリケーションのためのセキュアなキャッシング方法、システム、および、プログラム

Country Status (6)

Country Link
US (2) US8375056B2 (ja)
EP (1) EP2539830A2 (ja)
JP (1) JP5695676B2 (ja)
CN (1) CN102770849B (ja)
TW (1) TWI519975B (ja)
WO (1) WO2011104237A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525072A (ja) * 2014-06-20 2017-08-31 アマゾン テクノロジーズ インコーポレイテッド 組み込み可能なクラウド分析
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
JP2019185129A (ja) * 2018-04-02 2019-10-24 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム
US10769175B1 (en) 2014-06-20 2020-09-08 Amazon Technologies, Inc. Real-time hosted system analytics
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949103B2 (en) * 2006-06-20 2011-05-24 Vontoo, Llc System and method for providing voice messaging with dynamic content
US8938416B1 (en) * 2012-01-13 2015-01-20 Amazon Technologies, Inc. Distributed storage of aggregated data
US9411874B2 (en) * 2012-06-14 2016-08-09 Melaleuca, Inc. Simplified interaction with complex database
US20140282035A1 (en) * 2013-03-16 2014-09-18 Vinay Mudinoor Murthy On-demand simultaneous synthetic aperture radar (sar) and ground moving target indication (gmti) using mobile devices
US10326734B2 (en) * 2013-07-15 2019-06-18 University Of Florida Research Foundation, Incorporated Adaptive identity rights management system for regulatory compliance and privacy protection
US9817638B2 (en) * 2013-12-27 2017-11-14 Symantec Corporation Systems and methods for injecting code into an application
US20150227630A1 (en) * 2014-02-13 2015-08-13 Microsoft Corporation Caching queries for dynamic webpages
US9621575B1 (en) * 2014-12-29 2017-04-11 A10 Networks, Inc. Context aware threat protection
US20160246721A1 (en) * 2015-02-19 2016-08-25 Qualcomm Incorporated Role based cache coherence bus traffic control
CN105930630A (zh) * 2015-09-15 2016-09-07 ***股份有限公司 一种数据分析方法及装置
CN108228649B (zh) * 2016-12-21 2021-08-24 伊姆西Ip控股有限责任公司 用于数据访问的方法和设备
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US10725787B1 (en) * 2017-11-28 2020-07-28 Ascension Labs, Inc. Datapath graphs with operations performed using dimensions
US11477217B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Intruder detection for a network
US11470084B2 (en) * 2018-09-18 2022-10-11 Cyral Inc. Query analysis using a protective layer at the data source
US11663143B2 (en) 2019-11-26 2023-05-30 Oracle International Corporation Multi-state midtier dynamic cache replacement
US11625325B2 (en) * 2020-06-01 2023-04-11 Oracle International Corporation Partitioned mid-tier cache based on user type

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236781A1 (en) * 1998-10-05 2003-12-25 Oracle International Corporation Caching the results of security policy functions
JP2004264956A (ja) * 2003-02-28 2004-09-24 Kanazawa Inst Of Technology キャッシュ管理方法、およびその方法を利用可能なキャッシュサーバ
JP2005071085A (ja) * 2003-08-25 2005-03-17 Nec Corp 情報処理システム、情報処理装置および情報処理方法
JP2005196382A (ja) * 2004-01-06 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> 情報管理システムによるデータ登録方法、データ参照方法、ならびに、情報管理システムにおけるマスタデータベースサーバ
JP2005267647A (ja) * 2004-03-18 2005-09-29 Microsoft Corp 自然言語コマンドを使用してテーブルをレンダリングすること
JP2006196008A (ja) * 2006-01-25 2006-07-27 Toshiba Corp 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法
JP2007501984A (ja) * 2003-05-29 2007-02-01 オラクル・インターナショナル・コーポレイション セキュリティ対応のコンテンツのキャッシュを容易にする方法および装置
JP2007219619A (ja) * 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 情報管理プログラムおよび装置並びに方法
JP2010027058A (ja) * 2008-07-18 2010-02-04 Qliktech Internatl Ab コンピュータによって実現される方法、コンピュータ読取可能媒体およびデータベースから情報を抽出するための装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US722130A (en) * 1902-10-16 1903-03-03 Donald Mcpherson Vaginal syringe.
US6279033B1 (en) * 1999-05-28 2001-08-21 Microstrategy, Inc. System and method for asynchronous control of report generation using a network interface
US7133865B1 (en) * 1999-07-21 2006-11-07 Torben Bach Pedersen Method and systems for making OLAP hierarchies summarisable
US7007020B1 (en) * 2000-03-10 2006-02-28 Hewlett-Packard Development Company, L.P. Distributed OLAP-based association rule generation method and system
US7222130B1 (en) 2000-04-03 2007-05-22 Business Objects, S.A. Report then query capability for a multidimensional database model
EP2562662B1 (en) * 2001-06-28 2019-08-21 Oracle International Corporation Partitioning ownership of a database among different database servers to control access to the database
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US7499910B2 (en) * 2002-06-27 2009-03-03 Siebel Systems, Inc. Detecting and processing cache hits for queries with aggregates
US7051038B1 (en) * 2002-06-28 2006-05-23 Microsoft Corporation Method and system for a reporting information services architecture
CN1221898C (zh) * 2002-08-13 2005-10-05 国际商业机器公司 刷新网络代理高速缓存服务器对象的***和方法
US6959362B2 (en) * 2003-05-07 2005-10-25 Microsoft Corporation Caching based on access rights in connection with a content management server system or the like
US20050262087A1 (en) * 2003-05-19 2005-11-24 Ju Wu Apparatus and method for maintaining row set security through a metadata interface
ZA200505028B (en) * 2004-03-29 2007-03-28 Microsoft Corp Systems and methods for fine grained access control of data stored in relational databases
US8060528B2 (en) * 2005-07-29 2011-11-15 Sap Ag Business intelligence OLAP consumer model and API
US8606814B2 (en) * 2005-07-29 2013-12-10 Sap Ag Business intelligence OLAP provider model and architecture
US9081981B2 (en) * 2005-12-29 2015-07-14 Nextlabs, Inc. Techniques and system to manage access of information using policies
US7506102B2 (en) * 2006-03-28 2009-03-17 Cisco Technology, Inc. Method and apparatus for local access authorization of cached resources
US7698285B2 (en) * 2006-11-09 2010-04-13 International Business Machines Corporation Compression of multidimensional datasets
US7693911B2 (en) * 2007-04-09 2010-04-06 Microsoft Corporation Uniform metadata retrieval
US8065484B2 (en) * 2007-07-19 2011-11-22 Oracle International Corporation Enhanced access to data available in a cache
US8032485B2 (en) * 2008-02-01 2011-10-04 American Express Travel Related Services Company, Inc. Rapid caching and data delivery system and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236781A1 (en) * 1998-10-05 2003-12-25 Oracle International Corporation Caching the results of security policy functions
JP2004264956A (ja) * 2003-02-28 2004-09-24 Kanazawa Inst Of Technology キャッシュ管理方法、およびその方法を利用可能なキャッシュサーバ
JP2007501984A (ja) * 2003-05-29 2007-02-01 オラクル・インターナショナル・コーポレイション セキュリティ対応のコンテンツのキャッシュを容易にする方法および装置
JP2005071085A (ja) * 2003-08-25 2005-03-17 Nec Corp 情報処理システム、情報処理装置および情報処理方法
JP2005196382A (ja) * 2004-01-06 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> 情報管理システムによるデータ登録方法、データ参照方法、ならびに、情報管理システムにおけるマスタデータベースサーバ
JP2005267647A (ja) * 2004-03-18 2005-09-29 Microsoft Corp 自然言語コマンドを使用してテーブルをレンダリングすること
JP2006196008A (ja) * 2006-01-25 2006-07-27 Toshiba Corp 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法
JP2007219619A (ja) * 2006-02-14 2007-08-30 Fuji Xerox Co Ltd 情報管理プログラムおよび装置並びに方法
JP2010027058A (ja) * 2008-07-18 2010-02-04 Qliktech Internatl Ab コンピュータによって実現される方法、コンピュータ読取可能媒体およびデータベースから情報を抽出するための装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017525072A (ja) * 2014-06-20 2017-08-31 アマゾン テクノロジーズ インコーポレイテッド 組み込み可能なクラウド分析
US10162876B1 (en) 2014-06-20 2018-12-25 Amazon Technologies, Inc. Embeddable cloud analytics
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
US10769175B1 (en) 2014-06-20 2020-09-08 Amazon Technologies, Inc. Real-time hosted system analytics
US10776397B2 (en) 2014-06-20 2020-09-15 Amazon Technologies, Inc. Data interest estimation for n-dimensional cube computations
US10812551B1 (en) 2014-06-20 2020-10-20 Amazon Technologies, Inc. Dynamic detection of data correlations based on realtime data
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics
JP2019185129A (ja) * 2018-04-02 2019-10-24 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム
JP7225554B2 (ja) 2018-04-02 2023-02-21 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム

Also Published As

Publication number Publication date
US8886673B2 (en) 2014-11-11
US8375056B2 (en) 2013-02-12
CN102770849A (zh) 2012-11-07
TWI519975B (zh) 2016-02-01
JP5695676B2 (ja) 2015-04-08
US20130132677A1 (en) 2013-05-23
WO2011104237A2 (en) 2011-09-01
CN102770849B (zh) 2015-05-27
TW201205320A (en) 2012-02-01
WO2011104237A3 (en) 2012-05-03
US20110213751A1 (en) 2011-09-01
EP2539830A2 (en) 2013-01-02

Similar Documents

Publication Publication Date Title
JP5695676B2 (ja) データベース・アプリケーションのためのセキュアなキャッシング方法、システム、および、プログラム
US10628415B1 (en) Data sharing and materialized views in multiple tenant database systems
US9805080B2 (en) Data driven relational algorithm formation for execution against big data
JP5710851B2 (ja) 影響分析のためのシステムおよび方法
US6804671B1 (en) Pluggable tablespaces for database systems
US7577681B1 (en) Methods and apparatus for managing contents of a database
US8005818B2 (en) Apparatus and method for maintaining metadata version awareness during set evaluation for OLAP hierarchies
US20070156687A1 (en) Efficient implementation of multiple work areas in a file system like repository that supports file versioning
US20120066263A1 (en) Incremental data transfer in a database management system
JP2004530216A (ja) 異なるブロックサイズのテーブルスペースの統合
US20200379994A1 (en) Sharing Materialized Views In Multiple Tenant Database Systems
US20170277747A1 (en) Modifying a database query
US6549901B1 (en) Using transportable tablespaces for hosting data of multiple users
US11074267B2 (en) Staged approach to automatic data discovery and performance
US9400830B2 (en) Key figure data filters in OLAP with hierarchies
Borkar et al. Have your data and query it too: From key-value caching to big data management
US10642841B2 (en) Document store utilizing partial object compression
US8868597B2 (en) Directory server processing requests based on hierarchical models while using backend servers operating based on relational models
US8965879B2 (en) Unique join data caching method
US11734309B2 (en) Nested group hierarchies for analytics applications
US7689584B2 (en) Hybrid groups
NO20110456A1 (no) Dataabonnement
US11947490B2 (en) Index generation and use with indeterminate ingestion patterns
Kathiravelu et al. On-demand big data integration: A hybrid ETL approach for reproducible scientific research
US11803568B1 (en) Replicating changes from a database to a destination and modifying replication capacity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150206

R150 Certificate of patent or registration of utility model

Ref document number: 5695676

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150