(57)【要約】一実施形態では、オンライン広告情報を解析する方法は、クライアントコンピュータ(130)から消費者データを受信し、該消費者データに基づいてデータベース(174)を生成し、フロントエンド(220)からユーザにより選択された値を受容し、該ユーザにより選択された値に基づいて前記データベース(174)からデータを抽出する、という各ステップを含む。前記フロントエンド(220)は、最初に選択された値に応じて変化するユーザにより選択された値を有する選択領域を有することが可能である。一実施形態では、前記データベース(174)は、オンライン解析処理（ＯＬＡＰ）データベースから構成される。【選択図】図５
2007512621.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータから消費者情報を受信し、
該消費者情報に基づきデータベースを生成し、
フロントエンドからユーザにより選択された値を受信し、該フロントエンドが、ユーザによる選択が可能な値を有する選択領域を有しており、該値が、最初に選択された値に応じて変化するものであり、
前記ユーザにより選択された値に基づき前記データベースからデータを抽出する、
という各ステップを含む、オンライン広告情報の解析方法。
【請求項２】
複数の階層テーブルの各々がディメンション及びファクトを含み、該ファクトが部分的に前記消費者データからのものである、請求項１に記載の方法。
【請求項３】
前記消費者データが広告の複数のインプレッションを含む、請求項１に記載の方法。
【請求項４】
前記消費者データが広告上の複数のクリックを含む、請求項１に記載の方法。
【請求項５】
前記データベースがオンライン解析処理（ＯＬＡＰ）データベースを含む、請求項１に記載の方法。
【請求項６】
データベースのためのフロントエンドであって、
第１組の値から第１の値を選択するための第１の選択領域と、
第２組の値から第２の値を選択するための第２の選択領域とを含み、
該第２組の値が、該フロントエンドにより前記第１の値に基づいて前記第２の選択領域内に自動的に提供され、前記第１及び第２の値が、データベースに格納されている値である、データベースのためのフロントエンド。
【請求項７】
前記データベースが、オンライン解析処理（ＯＬＡＰ）データベースを含む、請求項６に記載のフロントエンド。
【請求項８】
前記第１組の値が、オンライン解析処理（ＯＬＡＰ）データベースの階層テーブルから取得される、請求項６に記載のフロントエンド。
【請求項９】
前記第１組の値及び前記第２組の値が、オンライン解析処理（ＯＬＡＰ）データベースのディメンションを含む、請求項６に記載のフロントエンド。
【請求項１０】
前記データベースが、クライアントコンピュータ内のクライアントプログラムにより収集された消費者データを含む、請求項６に記載のフロントエンド。
【請求項１１】
前記消費者データが、広告の複数のインプレッションを含む、請求項１０に記載のフロントエンド。
【請求項１２】
前記消費者データが、広告上の複数のマウスクリックを含む、請求項１０に記載のフロントエンド。
【請求項１３】
レポートの生成方法であって、
データベースの複数の選択されたディメンションをフロントエンドから受信し、該フロントエンドが該データベースのテーブルにより駆動される選択領域を有しており、
前記データベースの複数の階層テーブルのうち、前記選択されたディメンションの全てを含む階層テーブルを判定し、
該階層テーブルからデータを抽出して抽出済みデータを生成し、
前記フロントエンドから受信したフィルタパラメータを使用して前記抽出済みデータをフィルタリングしてフィルタリング済みデータを生成し、
前記フロントエンドを実行しているクライアントコンピュータへ前記フィルタリング済みデータを提供する、
という各ステップを含む、レポートの生成方法。
【請求項１４】
前記抽出済みデータをフィルタリングする前記ステップが、該抽出済みデータに条件演算を実行するステップを含む、請求項１３に記載の方法。
【請求項１５】
前記階層テーブルが、消費者のオンライン活動を監視するクライアントプログラムから取得されたデータを含む、請求項１３に記載に記載の方法。
【請求項１６】
前記消費者のオンライン活動が、広告上のクリックを含む、請求項１５に記載の方法。
【請求項１７】
前記複数の階層テーブルの各々が、オンライン広告に関連する少なくとも１つのディメンションを含む、請求項１３に記載の方法。
【請求項１８】
前記階層テーブルが、広告の複数のインプレッションに関連するファクトを含む、請求項１３に記載の方法。
【請求項１９】
前記階層テーブルが、広告上の複数のクリックを含む、請求項１３に記載の方法。
【請求項２０】
前記フィルタリング済みデータを使用して前記クライアントコンピュータにおいてレポートを生成するステップを更に含む、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータベースに関し、特にデータベース構造及びフロントエンドに関する（但しこれには限定されない）ものである。
【背景技術】
【０００２】
インターネット等の大規模パブリックコンピュータネットワークは、広告主が２４時間３６５日世界中の視聴者に到達することを可能にする。このため、大規模パブリックネットワークは、製品（例えば商品及びサービス）のマーケティング及び販売を行うためのコスト効率の良い媒体になっている。インターネット上において、例えば、広告による収入は、法人が無料のソフトウェアを配布すること、又はウェブサイトへの無料のアクセスを提供することを可能にする。言うまでもなく、広告は、インターネット経済の活性化を助けるものである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
関連する広告を消費者へ提供するために、オンライン広告に携わっている企業は、広告関連データのデータベースを維持する。かかるデータベースは、販売及びマーケティング要員がアクセスすることを必要とするものである。これは、該要員が広告活動を一般に計画し実行する者であるからである。残念なことに、販売及びマーケティング要員によっては技術職でないがために該データベースを扱って仕事をするのが困難となる。技術職でないユーザがデータベースにアクセスするのを支援するために、データベースとの仲立ちをするためのアプリケーションプログラムであるフロントエンドを提供することが可能である。しかし、従来のフロントエンドは、データベースに関する選択肢の数が増えるにつれて次第に使い難くなっていく。
【０００４】
オンライン広告関連データを格納するためのデータベースは、インターネット上の消費者の数が多数であるため、極めて急速に大きくなり得るものである。データベースが適切に構築されていなかった場合には、該データベースに格納されるデータが増えるにつれて、該データベースへのアクセスに一層長い時間を要するようになり得る。その結果として、該データベースから生成されたレポートもまた一層長時間を要するものとなり得る。これは、販売及びマーケティング要員がレポートを生成する気を削ぎ、またレポートを適時に生成するのを妨げるものとなる。
【０００５】
上述より、改善されたデータベース構造及びフロントエンドが一般に必要とされている。
【課題を解決するための手段】
【０００６】
一実施形態では、オンライン広告情報を解析する方法は、クライアントコンピュータから消費者データを受信し、該消費者データに基づいてデータベースを生成し、フロントエンドからユーザにより選択された値を受容し、該ユーザにより選択された値に基づいて前記データベースからデータを抽出する、という各ステップを含む。前記フロントエンドは、最初に選択された値に応じて変化するユーザにより選択された値を有する選択領域を有することが可能である。一実施形態では、前記データベースは、オンライン解析処理（ＯＬＡＰ）データベースから構成される。
【０００７】
本発明の上述その他の特徴は、添付図面及び特許請求の範囲を含む本開示全体を参照することにより当業者には容易に明らかとなろう。
【発明を実施するための最良の形態】
【０００８】
異なる図面における同一符号は、同一又は同様の構成要素を示している。
【０００９】
本開示では、本発明の実施形態の完全な理解を提供するために、装置、構成要素、及び方法の実例といった、多数の特定の細部が提供される。しかし、本発明は、かかる特定の細部のうちの１つ又は２つ以上なしで実施することが可能である、ということが当業者には理解されよう。他の例では、本発明の特徴が曖昧になるのを回避すべく、周知の細部は図示せず説明しない。
【００１０】
コンピュータに関連する者であれば、本書で開示する構成要素が、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせ（例えばファームウェア）で実施することが可能である、ということが理解されよう。ソフトウェアによる構成要素は、コンピュータにより読み出すことが可能な記憶媒体（メモリ、大容量記憶装置、又はリムーバブル記憶装置等）に格納された、コンピュータにより読み取ることが可能なプログラムコードという形をとることが可能である。例えば、コンピュータにより読み出すことが可能な記憶媒体は、特定の構成要素の機能を実行するための、コンピュータにより読み取ることが可能なプログラムコードを含むことが可能である。同様に、１つ又は２つ以上の構成要素を含むようコンピュータメモリを構成し、次いでそれをプロセッサにより実行することが可能である。複数の構成要素は、複数のモジュールで別個に実施することが可能であり、又はその全てを単一のモジュールで実施することが可能である。
【００１１】
本書では、インターネットを介した広告の配信に関して本発明の実施形態を説明する。しかし、本発明の実施形態は、データベース及びデータベース用フロントエンドを構築するために一般に用いることが可能なものである、ということが理解されよう。
【００１２】
本発明の実施形態では、メッセージサーバと通信するメッセージ配信プログラムを使用する。メッセージ配信プログラム及びメッセージサーバについては、本出願人の2002年5月21日出願の米国出願第10/152,204号及び2002年11月5日出願の米国出願第10/289,123号にも開示されている。
【００１３】
ここで図１を参照すると、本発明の実施形態で使用することが可能なコンピュータの一例の概略図が示されている。図１の例に示すコンピュータは、その構成に応じて、クライアントコンピュータ又はサーバコンピュータとして使用することが可能なものである。図１のコンピュータは、特定用途の要件を満たすように一層多く又は一層少ない構成要素を有することが可能である。図１に示すように、該コンピュータは、例えば、Intel Corporation 又は Advanced Micro Devices から販売されているような、プロセッサ101を含むことが可能である。該コンピュータは、その様々な構成要素を結合する１つ又は２つ以上のバス103を有することが可能である。該コンピュータは、１つ又は２つ以上の入力装置102（例えば、キーボード、マウス）、コンピュータにより読み出すことが可能な記憶媒体（ＣＲＳＭ）105（例えば、フロッピィディスク、CD-ROM）、ＣＲＳＭリーダ104（例えば、フロッピィドライブ、CD-ROMドライブ）、表示モニタ109（例えば、ＣＲＴ、フラットパネルディスプレイ）、ネットワークに接続するための通信インタフェイス106（例えば、ネットワークアダプタ、モデム）、１つ又は２つ以上のデータ記憶装置107（例えば、ハードディスクドライブ、光学ドライブ、FLASHメモリ）、及びメインメモリ108（例えばＲＡＭ）を含むことが可能である。ソフトウェアによる実施形態は、データ記憶装置107又はメインメモリ108に読み込むために、コンピュータにより読み出すことが可能な記憶媒体105に格納することが可能である。図１の例では、メインメモリ108は、以下で更に説明するフロントエンドプログラム220を含むよう構成することが可能である。フロントエンドプログラム220はプロセッサ101により実行することが可能なものである。
【００１４】
図２は、本発明の一実施形態によるコンピューティング環境の概略図を示している。図２の例では、ウェブサイト112（すなわち、112-1,112-2,…）は、インターネットを介してアクセスすることが可能なウェブサーバからなる。ウェブサイト112は、ニュース、サーチエンジン、フォーラム、オーディオ及びビデオストリーミング、E-mailサービス等を提供することが可能である。ウェブサイト112は、ウェブページを介して情報を提供することが可能である。
【００１５】
クライアントコンピュータ130は、インターネット上をナビゲートしている消費者により操作されるコンピュータからなることが可能である。クライアントコンピュータ130は、例えば Microsoft Windows (R) オペレーティングシステムを実行しているパーソナルコンピュータとすることが可能である。用途によっては、クライアントコンピュータ130は、ポータブル又はハンドヘルド装置（例えば、ラップトップコンピュータ、ＰＤＡ、ディジタル携帯電話）とすることが可能である。クライアントコンピュータ130は、消費者がインターネット上のウェブサイトにあるウェブページを見ることを可能にするウェブブラウザ132を含むことが可能である。ウェブブラウザ132は、Microsoft Internet Explorer (R) ウェブブラウザといった市販のウェブブラウザとすることが可能である。ウェブブラウザ132は、クライアントコンピュータ130が、利用可能なウェブサイト112から、１つ又は２つ以上のウェブページを受信することを可能にする。
【００１６】
クライアントコンピュータ130はメッセージ配信プログラム160を含むことが可能である。メッセージ配信プログラム160は、プレゼンテーション手段162の表示を開始させて広告166を表示させることが可能である。プレゼンテーション手段162は、ブラウザのウィンドウ又は専用のウィンドウとすることが可能である。例えば、プレゼンテーション手段162は、ポップアップ又はポップアンダーウィンドウとすることが可能である。一実施形態では、メッセージ配信プログラム160は、メッセージサーバコンピュータ163からダウンロードすることが可能である。
【００１７】
メッセージ配信プログラム120は、他のコンピュータプログラムをダウンロードするのと同時にダウンロードすることが可能である。例えば、メッセージ配信プログラム160は、無料又は割引価格で消費者に提供されるユーティリティプログラム167と共にクライアントコンピュータ130にダウンロードすることが可能である。該ユーティリティプログラム167は、例えば、電子財布又はアポイントメントカレンダーとすることが可能である。ユーティリティプログラム167は、メッセージ配信プログラム160を介して消費者に広告を配信する権利の代償として該消費者に提供することが可能である。基本的に、消費者に提供された広告による収益は、該ユーティリティプログラム167の作成及び維持のための費用の負担を助けるものとなる。
【００１８】
一実施形態では、メッセージ配信プログラム160は、複数のウェブサイトにわたる消費者のオンライン活動を監視してその観察結果をメッセージサーバ163へ報告する、クライアントサイドプログラムである。消費者が何処へナビゲートしたか、消費者がウェブページ上で何をタイプしたか、消費者がマウス又はキーボードを何時アクティブにしたか、消費者が広告を何時クリックしたかといった、消費者のオンライン活動を監視する機構は、一般に当業界で知られたものであり、本書ではこれ以上説明しない、ということに留意されたい。例えば、メッセージ配信プログラム160は、その監視機能の一つとして、ウェブブラウザ132からのイベント通知をリッスンすることが可能である。メッセージ配信プログラム160は、（例えば、消費者を指すマシンＩＤを使用することにより）消費者の匿名性を維持すること及び機密情報（例えばクレジットカード番号）を暗号化することにより、消費者のプライバシーを保護することが可能である。
【００１９】
一実施形態では、メッセージ配信プログラム160は、消費者が訪れたウェブサイトのＵＲＬ（Uniform Resource Locator）に関してウェブブラウザ132を監視する。メッセージ配信プログラム160はまた、クライアントコンピュータ130における広告166のインプレッション（すなわち表示）の回数並びに消費者が広告166上をクリックした回数を追跡する。メッセージ配信プログラム160は、その観察内容を含むデータパケット168をメッセージサーバ163へ定期的に提供することが可能である。メッセージ配信プログラム160によりメッセージサーバ163へ提供されるデータは「消費者データ」とも呼ばれる。このため、消費者データは、消費者が訪れたウェブサイトに関する情報、消費者が見たウェブページのＵＲＬ、消費者のクライアントコンピュータにおける広告のインプレッションの回数、及び消費者が広告上をクリックした回数を含む。
【００２０】
メッセージ配信プログラム160等のクライアントサイドプログラムは、消費者のオンライン活動をウェブ全体にわたって監視することを可能にする。１つのウェブサイトまたはそれに関連するウェブサイトについての消費者の挙動しか監視することができない、該ウェブサイトとは異なり、メッセージ配信プログラム160は、有利なことに、多数の無関係のウェブサイトにわたる消費者データを収集することができる。このため、多数のメッセージ配信プログラム160からメッセージサーバ163によって収集された消費者データは、諸費者のニーズ並びに広告活動の有効性を良く示すものとなる。
【００２１】
メッセージサーバ163は、メッセージ配信プログラム160と通信するサーバコンピュータから構成することが可能である。メッセージサーバ163は典型的には、それぞれがメッセージ配信プログラム160を有する複数のクライアントコンピュータ130と連携して稼働し、例示の明瞭化のため、そのうちの１つのみが図２に示されている、ということに留意されたい。メッセージサーバ163は、クライアントコンピュータ130から受信した消費者データを格納するためのデータウェアハウス171を含むことが可能である。データウェアハウス171は、Oracle Corporation (Redwood Shores, California) から市販されているような、市販のデータベースとすることが可能である。一実施形態では、メッセージサーバ163は、オンライン解析処理（ＯＬＡＰ）データベース174を含み、これもまた、Oracle Corporation から市販されている類のものとすることが可能である。ＯＬＡＰデータベース174は、データウェアハウス171からの消費者データのサブセット並びに広告データ（例えば、広告主名、広告主との契約、広告活動）を含む。以下で一層明らかになるように、ＯＬＡＰデータベース174は、広告データを一層良好に構成すると共にデータアクセスを容易にする階層テーブルを使用することが可能となるように構築することが可能である。
【００２２】
更に図２を参照すると、メッセージサーバ163は手続175を含むことが可能である。一実施形態では、手続175は、コンピュータにより読み取ることが可能なプログラムコードからなり、該プログラムコードは、フロントエンドプログラム220からディメンション及びファクトを受信し、該受信したディメンション及びファクトに基づいてＯＬＡＰデータベース174に対してクエリを行い、そのクエリ結果を前記受信したディメンションに基づいてフィルタリングし、そのフィルタリング結果を前記フロントエンドプログラム220へ提供するためのものである。本書でＯＬＡＰデータベースキューブに関して使用する用語「ディメンション」及び「ファクト」については以下で更に説明することとする。
【００２３】
クライアントコンピュータ210は、メッセージサーバ163と通信することが可能である。一実施形態では、クライアントコンピュータ210は、例えば Microsoft Windows (R) オペレーティングシステムを実行しているパーソナルコンピュータとすることが可能である。クライアントコンピュータ210はフロントエンドプログラム220を含むことが可能である。フロントエンドプログラム220は、コンピュータにより読み取ることが可能なプログラムコードから構成することが可能であり、該プログラムコードは、ユーザからディメンション及びファクトを受容し、該ディメンション及びファクトを手続175へ提供し、該手続175からフィルタリング結果を受信し、対応するレポートをユーザへ提示するものである。フロントエンドプログラム220はクライアント／サーバプロトコルを使用して手続175と通信することが可能である。クライアントコンピュータ210はまた、Microsoft Excel (R) スプレッドシート、Microsoft Power Point (R) プレゼンテーションプログラム、Microsoft Word (R) ワードプロセシングプログラムといった、生産性プログラム222を含むことが可能である。フロントエンドプログラム220は、生産性プログラム222と連携して使用して、手続175によりＯＬＡＰデータベース174から抽出されたデータに基づくレポートの表示及び解析を行うことが可能である。
【００２４】
ここで図３を参照すると、本発明の一実施形態によるＯＬＡＰデータベース174及びフロントエンドプログラム220の概略図が示されている。図３に示すように、ＯＬＡＰデータベース174は、階層テーブル340（すなわち、340-1,340-2,…）、ディメンション制御テーブル342、及び階層制御テーブル344を含むことが可能である。階層テーブル340は、ディメンション及びファクトを有するよう構成されたデータベーステーブルからなることが可能であり、この場合、各ファクトは、単一のディメンション又は複数のディメンションの組み合わせに関連するものとなる。階層テーブル340は、階層的なトポロジで配列され、最低レベルの階層テーブル340は、最も多くのディメンションを有しており、その次に高いレベルの階層テーブル340は、前記最低レベルの階層テーブル340よりも少ないディメンションを有しており、次の次に高いレベルの階層テーブル340は、前記の次に高いレベルの階層テーブル340よりも少ないディメンションを有している（以下同様）。すなわち、階層テーブル340は次のように構成される。
（１）第１レベル（最低レベル）階層テーブル：
ディメンション1,ディメンション2,…,ディメンションn
；ファクト1,ファクト2,…,ファクトk
（２）第２レベル階層テーブル：
ディメンション1,ディメンション2,…,ディメンションn-1
；ファクト1,ファクト2,…,ファクトk
（３）第３レベル階層テーブル：
ディメンション1,ディメンション2,…,ディメンションn-2
；ファクト1,ファクト2,…,ファクトk
（以下同様）
第２レベル階層テーブルは、第１レベル階層テーブルよりも１つ少ないディメンションを有しており、第３レベル階層テーブルは、第２レベル階層テーブルよりも１つ少ないディメンションを有している。更に、各階層テーブル内のファクトの個数は必ずしも異なっていなければならない訳ではない、ということに留意されたい。
【００２５】
該階層レベルは、レベル「n-1」と比較してレベル「n」で一層速いデータアクセスを可能とするものである。すなわち、レベルが高いほど、一層速くデータにアクセスすることができる。この思想は、ディメンションを連続的に削除していくことにより行数を最小限にすることにある。このディメンションの削除の結果として一層小さなテーブルが得られ、これによりデータアクセスが一層速くなる。
【００２６】
一実施形態では、階層テーブル340内のディメンション及びファクトは、オンライン広告に関連するものとなる。該ディメンションは、広告、キャンペーン、契約、及びその他の広告データを含むことが可能である。更なる例として、各広告は１つ又は２つ以上の広告活動に属し、各広告活動が１つ又は２つ以上の契約に関係する、といったことが可能である。ファクトは、インプレッション（すなわち広告の表示）及びインプレッション上のクリックを含むことが可能である。このため、広告、キャンペーン、契約、又はそれらの組み合わせの各特定の値毎に、対応するインプレッション値及びクリック値が存在することが可能である。例えば、特定の広告活動に関する特定の広告が2000個のインプレッションを有することが可能である。別の例として、関連する契約による特定の広告活動の結果として4000個のインプレッションと該インプレッション上の1000個のクリックとが生じることがある。勿論、ディメンション及びファクトの個数及びタイプ、並びにそれらに対応する値は、特定用途の要件を満たすよう変更し得るものである。
【００２７】
各階層テーブル340は、複数のディメンションの特定の組み合わせについて複数のファクトを有するよう構築することが可能である。特定の例として、広告、広告活動、及び契約からなるディメンションの網羅的なリストを想定した場合、第１レベル（最低）階層テーブル340は、ディメンションである広告、広告活動、契約、又はそれらの組み合わせについてのファクト（例えば、インプレッション、クリック、又はその両方）を含み、第２レベル階層テーブル340は、ディメンションである広告、広告活動、又はそれらの組み合わせについてのファクトを含むことになる（以下同様）。すなわち、特定の個数のディメンションについて、それに対応するファクトを有する階層テーブル340が存在することになる。一実施形態では、階層テーブル340は、データウェアハウス171からのデータを使用して手動でその内容が埋められる。階層テーブル340はまた、例えばスクリプトを使用してその内容を埋めることが可能である。ということが理解されよう。階層テーブルからのデータ抽出は、データベース全体からのデータ抽出するよりも一般に高速である。このため、階層テーブル340は、比較的高速のデータアクセスを有利に可能とするデータベース構造を提供する。
【００２８】
フロントエンドは、全てのディメンション及びファクトの網羅的なリスト、各ディメンション間の関係（すなわち階層）、各集約レベルのテーブル名及び各集約テーブルで利用可能なディメンション、各ディメンションのタイプ（すなわち、制御テーブルを使用することによる自由形式、ツリー、又はリストボックス）についての「思考」である、ということを知らせておく必要がある。
【００２９】
一実施形態では、ＯＬＡＰデータベース174内のディメンションは、３種類のディメンション（すなわち、「プルダウン」、「ツリー」、又は「自由形式」）のうちの１つとすることが可能である。プルダウンディメンションは、プルダウンメニューから選択することが可能な値を有することが可能である。例えば、「広告」がプルダウンディメンションであると仮定すると、第１の広告についての値「Ad1」又は第２の広告についての値「Ad2」を「広告」のプルダウンメニュー内で選択することが可能である。ツリーディメンションは、階層的なツリー構造から選択することが可能な値を有することが可能である。例えば、「カテゴリ」がツリーディメンションである場合に、自動車に関するウェブページについての値「自動車」と旅行関連のウェブページについての値「旅行」を「カテゴリ」のツリー構造内で選択することが可能となる。ツリー構造において、値「旅行」からの分岐として値「ホテル」を含めることが可能である。自由形式ディメンションは、利用可能な選択肢から選択することなく入力することが可能な値を有することが可能である。例えば、「収入」が自由形式ディメンションである場合には、ユーザは「収入」について任意の収入金額を入力することが可能である。
【００３０】
図３に示すように、ＯＬＡＰデータベース174はディメンション制御テーブル342を含むことが可能である。ディメンション制御テーブル342は、全ての階層テーブル340内の全てのディメンション及びファクトの網羅的なリスト、各ディメンション毎にクエリを構成するためのテンプレート、及びディメンションルックアップテーブルから構成することが可能である。ディメンションルックアップテーブルは、階層テーブル340がディメンションの実際の名称以外の識別子を使用してディメンションを指し示す（例えば、階層テーブル340中の「d2345」はディメンション「広告」を指し示している）場合の実施形態で採用されるものである。該ディメンションルックアップテーブルは、識別子から実際の名称への変換（及びその逆）を可能とする。ディメンション制御テーブル342はまた、各ディメンションの種類（例えば、ディメンションがプルダウン、ツリー、又は自由形式であるか）に関する情報、及び特定のディメンションについて使用することが可能な条件演算子を有することが可能である。
【００３１】
ＯＬＡＰデータベース174はまた、階層制御テーブル344を含むことが可能である。階層制御テーブル344は、ＯＬＡＰデータベース174のデータ構造を示す情報を含むことが可能である。一実施形態では、階層制御テーブル344は、各階層テーブル340、該階層テーブル340の階層順位、及び各階層テーブル340に含まれるディメンションを識別する。このため、階層制御テーブル344を調べて、特定の一組のディメンション及びフィルタを含む最高レベルの階層テーブル340を識別することが可能である。ディメンション及びフィルタの特定の組を含む最高レベルの階層テーブルは、有利なことに、やはりディメンション及びフィルタの組を含む複数の階層テーブルのうちで最少数の行を有するものとなる、ということに留意されたい。
【００３２】
フロントエンドの一般的な役割は、ユーザが見たがっている全てのデータ含むＯＬＡＰキューブのスライスを最適に取得し、該ＯＬＡＰキューブのスライスを、厳密にユーザが見ることを望んでいる形式で表示することにある。フィルタページは、ユーザがディメンションに関する基準を使用してＯＬＡＰキューブをスライスすることを可能にする。レイアウトページは、ユーザがレポートの形式を指定することを可能にする。
【００３３】
図３を更に参照すると、フロントエンドプログラム220は、ユーザインタフェイス360、スケジューラ374、及びアラート376を含むことが可能である。一実施形態では、フロントエンドプログラム220は、Microsoft Visual Basic For Applications (R) プログラミング言語を使用して実施される。ユーザインタフェイス360は、ユーザが選択基準を入力すること及び該選択基準に従ってレポートを生成することを可能にする、コンピュータにより読み取ることが可能なプログラムコードから構成することが可能である。該選択基準は、ディメンション及びファクトに関する値とすることが可能である。ユーザインタフェイス360は、レイアウト画面362、フィルタ画面363、及びレポート画面364を含むことが可能である。
【００３４】
レイアウト画面362は、ユーザが対象となるディメンション及びファクトを選択することを可能にする。選択されたディメンション及びファクトは、続いて実行されるレポートの基礎となる。概して言えば、レイアウト画面362は、ユーザがレポートの形式を指定することを可能にする。図４は、本発明の一実施形態によるレイアウト画面362の一例のスクリーンショットを示している。図４の実施形態では、階層テーブル340内の全ての利用可能なディメンション及びファクトの網羅的なリストがウィンドウ410内に表示される。ユーザは、該ウィンドウ410から１つ又は２つ以上の利用可能なディメンション及びファクトを選択領域402,404,406,408に入れるために選択することが可能である。図４の実施形態では、選択領域402,406,408のみが１つ又は２つ以上のディメンションを受け入れ、選択領域404のみがファクトを受け入れる。ユーザインタフェイス360は、ウィンドウ410内のどのアイテムをどの選択領域内に配置することができるか（すなわち、ディメンションは選択領域402,406,408にのみ配置でき、ファクトは選択領域404にのみ配置できる）についてのルールを実施する。標準的なＯＬＡＰ用語によれば、選択領域402中のディメンションは「列エッジディメンション」とも呼ばれ、選択領域406中のディメンションは「列エッジディメンション」とも呼ばれ、選択領域408中のディメンションは「ページエッジディメンション」とも呼ばれる。図４の実施例では、ユーザは、列エッジディメンションとして「ByDay」を選択し、行エッジディメンションとして「キャンペーン」を選択し、ページエッジディメンションとして「広告主」を選択し、ファクトとして「インプレッション」、「クリック」、及び「ＣＴＲ」を選択している。「ＣＴＲ」は、クリックスルーレートを表し、インプレッション数をクリック数で除算することにより得られる計算されたファクトである。クリックスルーレートは、広告の有効性の測度である。ユーザインタフェイス360はまた、視覚的な合図を使用して、ユーザがウィンドウ410内のアイテムを用いて作業するのを支援することが可能である。
【００３５】
フィルタ画面363は、レイアウト画面362で選択されたディメンション及びファクトに対するフィルタとして使用されることになるディメンションを受け取る。フロントエンドプログラム220の一般的な役割は、ユーザが見たがっている全てのデータ含むＯＬＡＰキューブのスライスを最適に取得し、該ＯＬＡＰキューブのスライスを、厳密にユーザが見ることを望んでいる形式で表示することにある。このため、フィルタ画面363は、ユーザがディメンションについてフィルタを使用してＯＬＡＰキューブをスライスすることを可能にする。図５は、本発明の一実施形態によるフィルタ画面363の一例のスクリーンショットを示している。図５の例では、選択領域502,504,506,508,510,512は、それら選択領域が、ＯＬＡＰデータベース174内の制御テーブルからの情報に基づいて選択することが可能なディメンションを受け取るという点で、テーブル駆動型である。例えば、ユーザが選択領域508のためのディメンションを選択すると、フロントエンドプログラム220は、ディメンション制御テーブル342を調べて、前記選択されたディメンションの種類と、該選択されたディメンションに使用することが可能な条件演算子とを判定する。フロントエンドプログラム220は、階層制御テーブル344を調べて、どの階層テーブル340を使用すべきか判定し、及び識別子とディメンションの実際の名称との間の変換を実行する。次いで、選択されたディメンションについての考え得る値として働くディメンションがユーザインタフェイス360により選択領域512内に表示される。図５の例では、ユーザは、レイアウト画面362で指定されたが「自動車」や「企業」その他から選択されたカテゴリと「等しい」「カテゴリ」に限定されたディメンションについてのレポートを要求している。ユーザは更に、該レポートを「10/01/2003」と「10/31/2003」との間の「今月」に限定している。ユーザが「日付範囲」を選択すると、「開始日」及び「終了日」についての選択可能な値は、ＯＬＡＰデータベース174から利用可能なデータに基づいて設定されることになる、ということに留意されたい。同様に、ユーザが選択領域508内で「カテゴリ」を選択すると、選択領域510内から選択するためのカテゴリと選択領域512内から選択するためのカテゴリとが、ＯＬＡＰデータベース174内のデータに基づいて設定される。これにより、有利にも、ユーザインタフェイス360内の選択ウィンドウの数を増やすことを必要とすることなく、ＯＬＡＰデータベース174内の一層多くのディメンションを追加することが可能になる、ということが理解されよう。
【００３６】
一実施形態では、フロントエンドプログラム220は、最小限の処理負荷で、変化するＯＬＡＰデータベース174に適応することを可能にし、及び他のデータベースに一層移動し易いものとなることを可能にする。したがって、一実施形態では、フロントエンドプログラム220は、クライアントサーバ関係でＯＬＡＰデータベース174と協働し、該ＯＬＡＰデータベース174内のテーブルによって駆動される。これにより、有利にも、利用可能なディメンションをフロントエンドプログラム220内にハードコードする必要がなくなり、処理負荷が（比較的高速のサーバコンピュータで実行され得る）ＯＬＡＰデータベース174へ渡される。例えば、フロントエンドプログラム220は、ディメンション制御テーブル342を受信して、該ディメンション制御テーブル342内のディメンション及びファクトの網羅的なリストをウィンドウ410内に表示させることが可能である。
【００３７】
更なる例として、選択領域510,512から選択可能となる値を、選択領域508内でユーザにより選択された値に基づくものとすることが可能である（図５参照）。選択領域510,512内に表示すべき有効な値は、ディメンション制御テーブル342及び階層制御テーブル344から決定することが可能である。
【００３８】
処理の大半をサーバコンピュータへ渡すフロントエンドプログラムは、オンライン広告では特に重要なものとなる。メールオーダーまたはカタログ広告用途とは異なり、インターネットを介した広告の配信は、広告主が実質的に追加費用を被ることなく追加の広告を送ることができるという点で、本質的に無料である。その結果として、比較的大量のインプレッションデータが生じることになる。フロントエンドプログラム220は、有利にも、バンクエンドサーバを使用して「重労働」を行うことにより、クライアントコンピュータが大量のデータにアクセスすることを可能にする。これは、クライアントコンピュータのリソース（これは様々な意味でプログラマの制御の範囲外にあるものである）に依存するのとは全く異なり、本質的にバックエンドを拡張／縮小させることにより、スケーラビリティという望ましい効果を奏するものとなる。これはまた、ローバストなプログラミングを可能とし、及び比較的旧式又は低能力のクライアントコンピュータを用いた場合であってもデータを取り出すことを可能にするものである。
【００３９】
レポート画面364は、レイアウト画面362でユーザにより選択されたディメンション及びファクトであって、フィルタ画面363でユーザが選択したディメンションによってフィルタリングされた、ディメンション及びファクトに基づいてレポートを提供する。フロントエンドプログラム220は、選択されたディメンション及びファクトをメッセージサーバ163内の手続175へ提供することが可能である（図２参照）。次いで該手続175は、ＯＬＡＰデータベース174に対してクエリを行い、該クエリの結果をフィルタ画面363で選択されたディメンションを使用してフィルタリングし、その結果をフロントエンドプログラム220へ提供することが可能である。その結果は、レポート画面364で見ることが可能である。図６は、本発明の一実施形態によるレポート画面364内に表示される例示的なレポート600のスクリーンショットを示している。図６の例では、レポート画面364は、広告主「Accucard」についてのインプレッション、クリック、及びＣＴＲを示している。ユーザは、ナビゲーションウィンドウ604内で別のビューを選択することにより、レポートの異なるビューを選択することが可能である。以下で更に説明するように、ビューのセーブを再実行して、ＯＬＡＰデータベース174内の新しいデータを利用することが可能である。新たなディメンションを指定することにより、レポートのためのディメンションを更に構成することが可能である。セーブされたビューが、該新たなディメンションについてのデータを含んでいない場合、又はユーザがビューの再実行を選択した場合には、ＯＬＡＰデータベース174に対して再びクエリを行わなければならない可能性がある。
【００４０】
図６の例では、ディメンション「ByDay」についての新たな値を、プルダウンメニュー602から選択することが可能である。レポートはまた、異なるビューを示すようピボットさせることが可能である。例えば、レポートは、１つのディメンションを別のディメンションに置換することにより、ピボットさせることが可能である。
【００４１】
スケジューラ374は、レポート生成をスケジューリングするための、コンピュータにより読み取ることが可能なプログラムコードから構成することが可能である。スケジューラ374は、レイアウト画面362及びフィルタ画面363においてユーザにより選択されたディメンション及びファクトからなる以前にセーブされたビューに基づいてレポートを実行することが可能である。スケジューラ374は、特定の頻度で、また特定の周期で、レポートを生成するよう構成することが可能である。スケジューラ374はまた、生成されたレポートを、生産性プログラム222によりサポートされる形式（例えばExcel形式）でセーブし、生成されたレポートをユーザへE-mailするよう構成することが可能である。データ形式を変換しE-mailする機構は、一般に当業界で知られたものであり、本書ではこれ以上説明しないこととする。図７は、スケジューラ374のための例示的な画面710のスクリーンショットを示している。
【００４２】
アラート376は、ＯＬＡＰデータベース174内に格納されているデータの変化についてユーザに警告するための、コンピュータにより読み取ることが可能なプログラムコードから構成することが可能である。アラート376は、レイアウト画面362でユーザにより選択されたディメンション及びファクトであって、フィルタ画面363でユーザが選択したディメンションによってフィルタリングされた、ディメンション及びファクトに基づいて、レポートを実行することが可能である。その後、アラート376は、生成されたレポートを、ユーザにより指定されたアラート条件と比較することが可能である。その比較結果が該アラート条件を満たす場合には、アラート376は、そのことをユーザへ通知することが可能である。図８は、アラート376のための例示的な画面のスクリーンショットを示している。図８の例では、ユーザは、指定した一組のディメンション（図示せず）についてのインプレッションの数が７日間毎の平均で10％だけ減少した場合に該ユーザに警告するよう要求している。アラート376はトレンドを自動的に観察するために用いることが可能である、ということが理解されよう。
【００４３】
図９を参照すると、本発明の一実施形態によるレポートの生成方法のフローチャートが示されている。ステップ902で、ＯＬＡＰデータベースの手続が、ユーザにより選択されたディメンションを受信する。該ディメンションは、オンライン広告に関するものとすることが可能である。該ディメンションは、ＯＬＡＰデータベースに関するフロントエンドプログラムで選択を行うこと又は値を入力することにより、選択することが可能である。
【００４４】
ステップ904で、前記手続は、選択されたディメンションの全てを含む最高レベルの階層テーブル（「関連する階層テーブル」と称す）について階層制御テーブルをチェックする。ステップ906で、前記手続は、ディメンション制御テーブルを調べて、関連する階層テーブルの名称を取得する。ステップ908で、該手続は、該階層テーブルからディメンション及びファクトを抽出するためのクエリを作成する。ＳＱＬクエリを構成するための一般的なアルゴリズムを表１に示す。
[表１]
----------------------------------------------------------------------
1) フィルタセットを使用して where クローズを構成する。
【００４５】
a. ルックアップテーブルを使用してフィルタ要素の各々をIds（identifications）へと変換する。集約テーブルでは、フィルタ値はIdsとして格納される。これは長い記述的な名称のコンパクトな格納を可能にする。このため、ＯＬＡＰテーブル自体についてのクエリストリングは、ユーザがフィルタで設定した記述的な要素ではなくIdsを使用して構成される必要がある。
【００４６】
b. 変換されたＩＤ値を使用して where クローズを構成する。
【００４７】
i. ＯＲ条件を使用して各ライン内のＩＤ値について選択する。
【００４８】
ii. ＡＮＤ条件を使用して異なるディメンションにわたり選択を行う。
【００４９】
例えば、    （ディメンション１＝値１又はディメンション１＝値２）
ＡＮＤ（ディメンション２＝値３又はディメンション３＝値４）
2) レイアウト内のディメンション及びファクトを使用して select ステートメントを構成する。
3) レイアウト内のディメンションを使用して group by ステートメントを構成する。
4) レイアウト内の各ディメンション毎にデフォルトソート順を使用して order by ステートメントを構成する。該デフォルトソート順はディメンションルックアップテーブルに格納されている。
5) フィルタ及びレイアウト内で要求されたディメンション及びファクトの全てを含む最高レベルの集約を含むテーブル名を使用して from ステートメントを構成する。
----------------------------------------------------------------------
ステップ910で、前記手続は、クエリの結果にフィルタルールを実施する。該フィルタルールは、フロントエンドプログラムのフィルタ画面でユーザにより選択されたディメンションに基づくものとすることが可能である。一実施形態では、クエリの結果は「where条件」及び「selectステートメント」を適用することによりフィルタリングされる。該「where条件」は、関連する階層テーブルから抽出されるべきデータを指定することが可能である。例えば、疑似コード：
は、値「５」を有するディメンション「広告主」（「５」はVendor, Incといった特定の広告主を指し示し得るもの）、及び値「７」を有するディメンション「メッセージタイプ」（「７」はポップアップといった特定のメッセージタイプを指し示し得るもの）について、関連する階層テーブルからファクトを抽出する。
【００５０】
前記手続は次いで、ＯＬＡＰデータベースに対するクエリのフィルタリングされた結果をフロントエンドプログラムへ転送することが可能であり、次いで該フロントエンドプログラムが、ユーザに提示するための結果を、レポートとしてフォーマットする。
【００５１】
本発明の特定の実施形態を提供したが、これら実施形態は例示を目的としたものであって制限的なものではないことが理解されよう。本開示を参照することにより、多くの更なる実施形態が当業者には明らかとなろう。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態で使用することが可能なコンピュータの一例の概略図を示している。
【図２】本発明の一実施形態によるコンピューティング環境の概略図を示している。
【図３】本発明の一実施形態によるＯＬＡＰデータベース及びフロントエンドプログラムの概略図を示している。
【図４】本発明の一実施形態によるレイアウト画面の一例のスクリーンショットを示している。
【図５】本発明の一実施形態によるフィルタ画面の一例のスクリーンショットを示している。
【図６】本発明の一実施形態によるレポート画面内に表示されるレポートの一例のスクリーンショットを示している。
【図７】スケジューラ用の画面の一例のスクリーンショットを示している。
【図８】アラート用の画面の一例のスクリーンショットを示している。
【図９】本発明の一実施形態によるレポート生成方法のフローチャートを示している。
【図１】
2007512621.tif 000003
【図２】
2007512621.tif 000004
【図３】
2007512621.tif 000005
【図４】
2007512621.tif 000006
【図５】
2007512621.tif 000007
【図６】
2007512621.tif 000008
【図７】
2007512621.tif 000009
【図８】
2007512621.tif 000010
【図９】
2007512621.tif 000011
【国際調査報告】
2007512621.tif 000012
2007512621.tif 000013