(57)【特許請求の範囲】
【請求項１】
インタラクティブ・フィルタのための方法であって、コンピュータが、
データ記憶装置からデータを取得するステップと、
前記データの初期表現を表示装置上に表示するステップであって、前記データの前記初期表現は，複数の可視的に独立した選択エリアを含む、前記表示するステップと、
前記初期表現の一部分に、前記初期表現の前記部分の局所的選択に基づいてフィルタ・パラメータを動的に適用するステップであって、前記局所的選択は、前記初期表現の前記部分に対応する可視的に独立した選択エリアの１又は複数の更なるユーザ選択無しに、前記初期表現の前記部分に対応する可視的に独立した選択エリアの１又は複数にナビゲーション・アイコンを位置合わせして乗せることによって決定される、適用するステップと、
前記初期表現の前記部分のフィルタリングされた表現を表示するために、拡大鏡表示エリアを実装するステップであって、前記フィルタリングされた表現は、前記フィルタ・パラメータが前記データの前記初期表現に適用されることから生じ、前記拡大鏡表示エリアは、前記初期表現の前記部分から独立するとともに該部分に対して移動可能な独立ウィンドウ内に表示される、前記実装するステップと
を実行することを含む、前記方法。
【請求項２】
前記コンピュータが、
前記初期表現の前記部分に前記フィルタ・パラメータをリアルタイムで動的に適用するステップと、
前記データの前記初期表現の対応する複数の部分に関連付けられる複数の選択エリアに対して前記ナビゲーション・アイコンが移動すると、前記フィルタリングされた表現をリアルタイムで更新し表示するステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項３】
前記フィルタリングされた表現が前記初期表現の前記部分を覆うように、前記拡大鏡表示エリアが前記初期表現の前記部分を覆う、請求項１に記載の方法。
【請求項４】
前記拡大鏡表示エリアの幾何学的特性が、前記初期表現の前記部分の前記１又は複数の可視的に独立した選択エリアの境界に基づいて動的に構成可能である、請求項１に記載の方法。
【請求項５】
前記コンピュータが、
前記表示装置上に表示される前記初期表現に対する前記拡大鏡表示エリアの境界のビジュアル・インディケーターを生成するステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項６】
前記コンピュータが、
選択と前記初期表現の前記部分への動的な適用とに利用可能な複数のフィルタ・パラメータを表示するステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項７】
前記コンピュータが、
前記初期表現の前記部分に対応する前記選択エリアに前記ナビゲーション・アイコンが位置合わせされている間、前記初期表現の前記部分に前記フィルタ・パラメータを一時的に適用するステップと、
前記ナビゲーション・アイコンが前記初期表現の前記部分に対応する前記選択エリアへの位置合わせを終えたとの判定に応答して、前記データの前記初期表現から前記フィルタ・パラメータの前記適用を取り除くステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項８】
前記コンピュータが、
さらなる選択操作に応答して、前記データの前記初期表現の前記部分の変更された表現を、前記データの前記初期表現に前記適用されたフィルタ・パラメータに隣接するように生成するステップであって、前記変更された表現は、前記ナビゲーション・アイコンが前記初期表現の前記部分に対応する前記選択エリアへの位置合わせを終えた後も持続する、前記生成するステップと
をさらに実行することを含む、請求項１に記載の方法。
【請求項９】
インタラクティブ・フィルタを適用するためのシステムであって、
データを記憶するデータ記憶装置と、
前記データ記憶装置に接続される表示装置であって、前記表示装置は前記データの初期表現を表示するように構成される、前記表示装置と、
前記表示装置上に表示される前記初期表現の一部分の局所的選択を容易にするユーザ・インターフェース入力装置であって、前記局所的選択は、前記初期表現の前記部分に対応する可視的に独立した選択エリアの１又は複数の更なるユーザ選択無しに、前記初期表現の前記部分に対応する可視的に独立した選択エリアの１又は複数にナビゲーション・アイコンを位置合わせして乗せることによって決定される、前記ユーザ・インターフェース入力装置と、
前記ユーザ・インターフェース入力装置に接続されるプロセッサであって、前記プロセッサは、前記ユーザ・インターフェース入力装置からの前記局所的選択に基づいて前記初期表現の前記部分にフィルタ・パラメータを動的に適用するように構成される、前記プロセッサと
を備えており、
前記表示装置が、前記初期表現の前記部分の前記フィルタリングされた表現を表示する拡大鏡表示エリアを表示するようにさらに構成され、前記拡大鏡表示エリアは、前記初期表現の前記部分から独立するとともに該部分に対して移動可能な独立ウィンドウ内に表示される、
前記システム。
【請求項１０】
前記フィルタリングされた表現は前記フィルタ・パラメータが前記データの前記初期表現に適用されることから生じる、請求項９に記載のシステム。
【請求項１１】
前記プロセッサが、前記ナビゲーション・アイコンの移動に応答して前記初期表現の前記部分に前記フィルタ・パラメータをリアルタイムで動的に適用するようにさらに構成され、
前記表示装置が、前記データの前記初期表現の対応する複数の部分に関連付けられる複数の選択エリアに対して前記ナビゲーション・アイコンが移動すると、前記フィルタリングされた表現をリアルタイムで更新し表示するようにさらに構成される、
請求項９に記載のシステム。
【請求項１２】
前記プロセッサが、前記初期表現の前記部分の内容に基づいて前記拡大鏡表示エリアの幾何学的特性を動的に構成するようにさらに構成される、請求項９に記載のシステム。
【請求項１３】
コンピュータに、請求項１〜８のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインタラクティブ・フィルタのためのシステム、方法およびコンピュータ利用可能記憶媒体に関する。
【背景技術】
【０００２】
ユーザに対してデータを表示し、ユーザがそのデータを見て分析できるようにするために、データ表示インターフェースが用いられる。データ表示インターフェースの一例が、金融パラメータ等の内容を表フォーマットで表示する、スプレッドシート・ツールである。他の形式のデータ表示インターフェースは、種々の形式のデータを、構造的にまたは視覚的に様々なフォーマットで表示する。
【０００３】
従来のデータ表示インターフェースは、表示されるデータの特定のセットが何かを決定するための、パラメータのセットを変化させる方法を種々用意している。多くの場合、これらのパラメータを変化させると、表示されているデータ・セット全体が置換される。特定の形式のデータ分析において、データ・セット全体を置換すると、置換しない場合に必要となるであろうリソースよりも多くのリソースを費やす可能性がある。しかも、データ・セットの連続する状態間の関係が把握しにくくなる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータ表示インターフェースはこうした種類の問題に、連続したデータ・セット群を記憶し、ユーザがデータ・セットの各々を連続的に見ることができるようにすることによって対処する。例えば、連続したデータ・セット群の間を切り替えるために、ユーザがブラウザ風の‘戻る’および‘進む’形式の移動を用いてもよかろう。しかし、連続したデータ・セット内のこの形式の従来のナビゲーションは面倒であるし多量のリソースを要する。同様に、連続したデータ・セット内のこの形式の従来のナビゲーションでは、データ・セットの特定の部分の切り替えの効果を見ることが難しくなる可能性がある。
【課題を解決するための手段】
【０００５】
システムの実施形態が記載される。１つの実施形態では、システムは、インタラクティブ・フィルタを適用するシステムである。システムの一実施形態はデータ記憶装置、表示装置、ユーザ・インターフェース入力装置およびプロセッサを含む。データ記憶装置はデータを記憶する。表示装置はデータの初期表現を表示する。ユーザ・インターフェース入力装置は、表示装置上に表示される初期表現の一部分の局所的選択を容易にする。局所的選択は、ナビゲーション・アイコンを初期表現の上記の部分に対応する選択エリアに位置合わせして乗せることによって決定される。プロセッサは、ユーザ・インターフェース入力装置からの局所的選択に基づいて初期表現の上記の部分にフィルタ・パラメータを動的に適用する。システムの他の実施形態も記載される。対応するコンピュータ利用可能記憶媒体および方法の実施形態も記載される。
【図面の簡単な説明】
【０００６】
【図１】インタラクティブ・フィルタを実装するシステムの１つの実施形態の概略ブロック図である。
【図２】データ・セット内のデータの初期表現の１つの実施形態の概略図である。
【図３】データ・セット内のデータの初期表現に対して指定される領域の１つの実施形態の概略図である。
【図４】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の１つの実施形態の概略図である。特に、データの列をフィルタリングするインタラクティブ・フィルタリング操作を示す図である。
【図５】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、データの行をフィルタリングするインタラクティブ・フィルタリング操作を示す図である。
【図６】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、データの単一の要素をフィルタリングするインタラクティブ・フィルタリング操作を示す図である。
【図７】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、ナビゲーション・アイコンがデータ・セット内のデータの要素に対して様々な選択位置を通過して移動する効果を示す図である。
【図８】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、フィルタ・パラメータの組み合わせに基づいたインタラクティブな組み合わせフィルタリング操作を示す図である。
【図９】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、図８の組み合わせフィルタ・パラメータの持続的な適用を示す図である。
【図１０】データ・セット内のデータの少なくとも一部分のフィルタリングされた表現を生成するために実装されればよいインタラクティブ・フィルタリング環境の別の実施形態の概略図である。特に、インタラクティブ・フィルタリング操作の結果を表示するために独立ウィンドウを利用することを示す図である。
【図１１】インタラクティブ・フィルタを実装する方法の１つの実施形態の概略図である。
【発明を実施するための形態】
【０００７】
本発明の原理の例として示される添付の図面と併せて、次の詳細な記載より本発明の実施形態の他の態様および利点が明らかとなろう。
【０００８】
記載を通じて、同様の要素を特定するために同様の参照番号が用いられている場合がある。
【０００９】
本願明細書において全体的に記載され添付の図面において示されるような実施形態のコンポーネント群は、多様な構成で配設され設計されることができようことは容易に理解されよう。従って、図面において示されるような様々な実施形態についての以下のより詳細な記載は、本開示の範囲を限定するように意図されるものではなく、様々な実施形態の単なる代表にすぎない。図面では実施形態の様々な態様が提示されているが、特に断らない限り、図面は必ずしも原寸に比例して描かれてはいない。
【００１０】
本発明は、その精神または基本的特徴から逸脱することなく他の特定の形態で具体化されてよい。記載されている実施形態はあらゆる点で例示としてのみ見なされるべきものであり、限定として見なされてはならない。それ故、本発明の範囲は、この詳細な記載ではなく、添付の請求項によって示される。請求項の意味および均等の範囲に該当するあらゆる変更は、それらの範囲に包含される。
【００１１】
本願明細書全体を通じて、特徴、利点への言及または同様の文言は、本発明を用いて実現されればよい特徴および利点の全てが本発明のいずれの単一の実施形態にも含まれるべきである、または含まれるということを示唆するわけではない。むしろ、特徴および利点に言及する文言は、実施形態に関連して記載される特定の特徴、利点または特性は本発明の少なくとも１つの実施形態に含まれるということを意味するものと理解される。従って、本願明細書全体を通じて、特徴および利点の説明ならびに同様の文言は同じ実施形態に言及する場合もあるが、必ずそうであるわけではない。
【００１２】
さらに、記載されている、本発明の特徴、利点および特性は１つ以上の実施形態において任意の適当な方法で組み合わせられてよい。本願明細書の記載を踏まえれば、当業者は、特定の実施形態の特定の特徴または利点のうち１つ以上を用いなくとも本発明は実施できることを理解できよう。他の例では、本発明の全ての実施形態に備わっていなくてもよい追加の特徴および利点が、或る実施形態において認められる場合がある。
【００１３】
本願明細書全体を通じて、「１つの実施形態」、「一実施形態」または同様の文言に言及する場合、それは、示されている実施形態に関連して記載される特定の特徴、構造または特性が本発明の少なくとも１つの実施形態に含まれることを意味する。従って、本願明細書全体を通じて、「１つの実施形態」、「一実施形態」および同様の文言の語句は全て、同じ実施形態に言及する場合もあるが、必ずそうであるわけではない。
【００１４】
本願明細書には多くの実施形態が記載されているが、記載されている実施形態のうちの少なくともいくつかは、データ・セットの初期表現の一部分の選択に対して、インタラクティブ・フィルタリングを適用するというものである。実施形態によっては、追加のフィルタまたは代替のパラメータ値を表す視覚的なトークンをデータ表示にわたって移動させることにより、データ・セット上の変化の局所的効果をユーザが把握できるようにすることができる。この種の機能性は、現在状態の表示の上に代替状態の情報を部分的に重ね合わせる手法を採り入れる。局所情報のインタラクティブ・フィルタリングのためのこのアプローチの実施形態は、データ・セット内のデータの全てまたは実質的に全てを置換することなく、様々な状態または状態の組み合わせをその場で局所的に並置することを容易にするというものである。
【００１５】
本願明細書において記載されている実施形態のいくつかは、異なる問い合わせ結果を表示してもレイアウトが同じままである情報表示に適用可能というものである。このような表示の例としては、地理的な地図、オンライン分析処理（ｏｎｌｉｎｅ  ａｎａｌｙｔｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ、ＯＬＡＰ）キューブ・ブラウザ、スプレッドシート、データ・フォーム等が挙げられる。しかし、他の実施形態には、代替状態の情報とともにレイアウトが変わる場合があるいくつかの形式の表示を含む他の形式の情報表示とともに用いられてよいものもある。
【００１６】
図１は、インタラクティブ・フィルタを実装するためのシステム１００の１つの実施形態の概略ブロック図を示す。図示のシステム１００は中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、ＣＰＵ）１０２、ディスク記憶装置１０４およびランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）装置１０６を含む。図示のシステム１００は入力／出力（ｉｎｐｕｔ／ｏｕｔｐｕｔ、Ｉ／Ｏ）装置１０８および表示装置１１０も含む。システム１００は特定のコンポーネント群および機能性を備えるように示され記載されているが、システム１００の他の実施形態では、含まれるコンポーネントはこれより少なくても多くてもよいし、それによって実装する機能性もこれより少なくても多くてもよい。
【００１７】
概して、システム１００は、表示装置１１０上にデータ１１４を表示することを容易にするコード１１２を実行するように構成される。表示されるデータはデータ表現１２０と呼ばれる。実施形態によっては、データ１１４は、コード１１２によって実行される特定のアプリケーションによって選択されるかまたは実装される、視覚的表現およびフォーマット設定の形式に応じて様々な表現によって表示されることができる。
【００１８】
ＣＰＵ１０２は、バス等の１つ以上の電気通信チャネルを介してディスク記憶装置１０４およびＲＡＭ１０６に接続される。ＣＰＵ１０２とディスク記憶装置１０４またはＲＡＭ１０６あるいはその両方との間の通信チャネル（単数または複数）の正確な形式としては、ディスクおよびメモリ・コントローラならびに他の同様の装置等の中間装置（不図示）が挙げられよう。
【００１９】
１つの実施形態では、ＣＰＵ１０２がコード１１２からの命令を実行してシステム１００の一般的な機能性を実装する。それに加え、ＣＰＵ１０２は、本願明細書において記載されているように、コード１１２からの命令を実行してインタラクティブ・フィルタの実装に関連する特定の機能性を実装すればよい。代替的に、ＣＰＵ１０２は、ＣＰＵ１０２によって実行されるコード命令のうちの少なくともいくつかを記憶するために専用の常駐メモリ（不図示）を有してもよい。
【００２０】
ディスク記憶装置１０４は、表示装置１１０上にデータ表現１２０として部分的にまたは完全に表示されるデータ１１４を記憶する。追加的に、ディスク記憶装置１０４は、データ表現１２０の生成に用いられるデータ１１４に関連するまたは関連しない他のデータを記憶してもよい。実施形態によっては、ディスク記憶装置１０４はディスクとして参照されるが、ディスク記憶装置１０４は、ディスクおよび他の非ディスク形式の記憶装置を含む様々なデータ記憶装置を代表するものである。さらに、実施形態によっては、データ１１４は、システム１００から遠隔にある別のデータ記憶装置１０４から得られてもよい。例えば、インターネット等のネットワークを通じてデータ・ストリームからデータが得られてもよい。
【００２１】
ＲＡＭ１０６は、表示装置１１０上にデータ表現１２０を生成するためにＣＰＵ１０２によって実行されるコード１１２を記憶する。ＲＡＭ１０６がシステム１００内に示されているが、システム１００の他の実施形態は、適用可能なコード１１２の一部または全てを記憶する他の形式のデータ・メモリ装置を実装してもよい。例えば、実施形態によっては、コード１１２の少なくとも一部分が、ＣＰＵ１０２から独立したまたはそれと一体化されたキャッシュ（不図示）内に記憶されてよい。
【００２２】
Ｉ／Ｏ装置１０８は１つ以上のＩ／Ｏ通信チャネルまたはコントローラ（不図示）あるいはその両方を介してＣＰＵ１０２に接続される。特定の実施形態では、Ｉ／Ｏ装置１０８はユーザ入力インターフェース装置を含む。ユーザ入力インターフェース装置のいくつかの例としては、キーボード、タッチパッド、光学的または他の方式のマウス装置等が挙げられる。ただし、それらに限定されるものではない。
【００２３】
表示装置１１０は液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ、ＬＣＤ）または陰極線管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ、ＣＲＴ）ディスプレイあるいはその両方等の表示モニタを１つ以上含む。表示装置１１０は、ＣＰＵ１０２、およびシステム１００の他のコンポーネントから独立しているが電子的には接続しているように、モジュール式とされてよい。代替的に、表示装置１１０は、例えば、パーソナル・デジタル・アシスタント（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ、ＰＤＡ）または携帯電話等のハンドヘルド計算装置の形で、システム１００内に一体化されてもよい。
【００２４】
１つの実施形態では、表示装置１１０上に表示されるデータ表現１２０にインタラクティブ・フィルタリングが適用される。表示装置１１０上にデータ表現１２０を表示するために、ＣＰＵ１０２はディスク記憶装置１０４からデータ１１４を取得し、それをＲＡＭ１０６内のコード１１２に従って処理する。１つの実施形態では、表示装置１１０上のデータの初期表現はコード１１２によって規定される。インタラクティブ・フィルタリングを実装するために、ユーザ・インターフェース入力装置１０８は、表示装置１１０上に表示されるデータの初期表現の一部分を局所的に選択するのを容易にする。１つの実施形態では、局所的選択は、ナビゲーション・アイコン（例えばマウス・カーソル）を初期表現の特定の部分に対応する選択エリアに位置合わせして乗せることによって決定される。図３に選択エリアの一例が示されており、後により詳しく記載される。図４にナビゲーション・アイコンの一例が示されており、後により詳しく記載される。
【００２５】
「乗せる」の用語は、ナビゲーション・アイコンを、データ表現１２０の一部分に位置合わせして置くことを指す。実施形態によっては、ナビゲーション・アイコンを乗せることはナビゲーション選択と関係がなく、ユーザはナビゲーション・アイコンを用いて、例えば、データ表現１２０内の内容をクリックすることによって、特定の選択アクションを実装する。実施形態によっては、マウスを乗せるアクションは従来のマウス・オーバー・アクションと実質的に同様である。
【００２６】
インタラクティブ・フィルタリングが開始された後、ＣＰＵ１０２は、位置合わせを検出するためにナビゲーション・アイコンおよび様々な選択エリアの相対的位置を監視する。位置合わせが検出されると、ＣＰＵ１０２は、ユーザ・インターフェース入力装置１０８からの局所的選択に基づいて、初期表現の上記の部分にフィルタ・パラメータを動的に適用する。本願明細書においては、フィルタ・パラメータが適用された表現を、フィルタリングされた表現と呼ぶ。従って、フィルタリングされた表現は、データの初期表現にフィルタ・パラメータが適用されることで生じるものである。
【００２７】
実施形態によっては、ＣＰＵ１０２は、ナビゲーション・アイコンの移動に応答して初期表現の一部分にフィルタ・パラメータをリアルタイムで動的に適用する。データの初期表現の異なる部分に関連付けられる様々な選択エリアに対してナビゲーション・アイコンが移動すると、それに応じて表示装置１１０は、フィルタリングされた表現をリアルタイムで更新し表示する。
【００２８】
実施形態によっては、ＣＰＵ１０２は表示装置１１０に、拡大鏡表示エリア（図３参照）を生成して、フィルタリングされた表現を表示するように命令する。ＣＰＵ１０２は初期表現の関連内容に基づいて拡大鏡表示エリアの幾何学的特性を動的に構成すればよい。例えば、実施形態によっては、ＣＰＵ１０２は、表示されたデータの異なる所定のエリアを収容できるように拡大鏡表示エリアのサイズまたは形状あるいはその両方を変化させる。
【００２９】
図２はデータ・セット内のデータの初期表現１２２の１つの実施形態の概略図を示す。初期表現１２２は、データ１１４が表示装置１１０上に表示される、考えられうる方法の一例を代表するものである。図示の実施形態では、初期表現１２２は、データ要素１２８の行１２４および列１２６を有する表としてフォーマット設定されている。参照のために、行１２４は行１〜行６と指定されているが、他の実施形態は異なる数の行を含んでもよい。同様に、列１２６は列１〜列３と指定されているが、他の実施形態は異なる数の列を含んでもよい。同様に、データ要素１２８は‘ａ’ないし‘ｒ’と指定されているが、他の実施形態は異なる数のデータ要素を含んでもよい。
【００３０】
他の実施形態は、表示されるデータ１１４の形式に応じて、異なる形式のデータ表現を実装してよい。例えば、データ１１４は、数値の形ではなく、グラフィカルな形で表されてもよい。実施形態によっては、データ１１４は地理的なまたは他の形式の地図として表されてよい。データ１１４の表示に用いられてよい表現の形式に制限はなく、同じまたは類似のデータが様々な別個の方法で表されてよい。
【００３１】
図３は、データ・セット内のデータの初期表現１２２に対して指定される領域の１つの実施形態の概略図を示す。特に、図示の実施形態は選択エリア１３０および拡大鏡表示エリア１３２を示す。選択エリア１３０は、ナビゲーション・アイコンを用いた、乗せる（例えばマウス・オーバー）インタラクションがないかどうかＣＰＵ１０２によって監視されるエリアに対応する。拡大鏡表示エリア１３２は、ユーザの、選択エリア１３０とのインタラクションに応答してフィルタが適用されればよいエリアに対応する。図３では別個のエリアとして示されているが、実施形態によっては、選択エリア１３０および拡大鏡表示エリア１３２は基本的に同じ幾何学的特性（すなわち、位置、サイズ、形状等）を有する。他の実施形態では、選択エリア１３０および拡大鏡表示エリア１３２は部分的に重なり合う。他の実施形態では、選択エリア１３０および拡大鏡表示エリア１３２は重なり合わない。
【００３２】
図４は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の１つの実施形態の概略図を示す。特に、図４は、データの列１２６をフィルタリングするインタラクティブ・フィルタリング操作を示す。
【００３３】
図示のインタラクティブ・フィルタリング環境１４０は、フィルタリングされた表現１４２および１つ以上のフィルタ・パラメータ１４４を含む。参照のために、フィルタ・パラメータ１４４はフィルタ１〜フィルタ４として指定されているが、他の実施形態は異なる数のフィルタ・パラメータを有してもよい。インタラクティブ・フィルタリング環境１４０は、マウス・カーソルの矢印として示されるナビゲーション・アイコン１４６も含む。
【００３４】
フィルタリングされた表現１４２を生成する前に、インタラクティブ・フィルタリング環境１４０は初期表現１２２を表示する。ユーザによってフィルタ・パラメータ１４４が選択されると、ＣＰＵ１０２は、ナビゲーション・アイコン１４６が１つ以上の選択エリア１３０（図３参照）に位置合わされていないかどうか監視を開始する。図示の実施形態では、表セルの各々を独立した選択エリア１３０とすればよい。
【００３５】
乗せる（例えばマウス・オーバー）アクションにおいてナビゲーション・アイコン１４６が位置合わせされる選択エリア１３０に応じて、ＣＰＵ１０２は対応するフィルタリング操作を動的に実行する。例えば、左上隅内の空セルにおける選択エリア１３０にナビゲーション・アイコン１４６が位置合わせされることは、データ・セットの実質的に全体の拡大鏡表示エリア１３２に対応するものとすればよい。列ヘッダにおける選択エリア１３０のいずれかにナビゲーション・アイコン１４６が位置合わせされることは、対応する列１２６の拡大鏡表示エリア１３２に対応するものとすればよい。同様に、行ヘッダにおける選択エリア１３０のいずれかにナビゲーション・アイコン１４６が位置合わせされることは、対応する行１２４の拡大鏡表示エリア１３２に対応するものとすればよい。残りのデータ要素１２８における選択エリア１３０のいずれかにナビゲーション・アイコン１４６が位置合わせされることは、対応する個々のデータ要素１２８の拡大鏡表示エリア１３２に対応するものとすればよい。
【００３６】
図示の実施形態では、（点線のナビゲーション・アイコンによって示されるように）‘フィルタ４’が選択される。続いて、ナビゲーション・アイコン１４６は（点線で示されるように）移動されて２番目の列のための列ヘッダ‘列２’に位置合わせされる。ナビゲーション・アイコン１４６が‘列２’に位置合わせされたことを検出すると、ＣＰＵ１０２は、フィルタリングされたデータをその列１２６内の初期データの上に重ね合わせる。参照のために、図４に示されるフィルタリングされたデータは‘Ｂ’、‘Ｅ’、‘Ｈ’、‘Ｋ’、‘Ｎ’、および‘Ｑ’として指定されている。
【００３７】
図４におけるフィルタリングされたデータは初期データの上を覆って示されているが、実施形態によっては、フィルタリングされたデータは別の位置に示されてもよい。同様に、フィルタリングされたデータは元のデータを隠蔽するように示されてもよいし、または、代替的に、初期データを増補するように部分的に透明に示されてもよい。部分的に透明に示される場合、フィルタリングされたデータは、初期データの一部または実質的に全てを半透明に覆ってもよいし、あるいは、代替的に、初期データの他の部分は見えるように維持しつつ初期データの選択部分は隠蔽するように覆ってもよい。
【００３８】
実施形態によっては、拡大鏡表示エリア１３２の境界は視覚的に識別できる。図示の実施形態では、拡大鏡表示エリア１３２の境界は、データの網掛けされた（フィルタリングされた）部分と網掛けされていない（フィルタリングされていない）部分との間の変わり目によって特定される。他の実施形態では、初期表現１２２のフィルタリングされない部分に対する拡大鏡表示エリア１３２の境界を特定するために、他の形式のビジュアル・インディケーターが用いられてよい。例えば、境界を指定するために点線が用いられてよく（図３と同様）、網掛けは省かれてよい。他の実施形態では、他の形式の視覚的強調表示または描写あるいはその両方が用いられてよい。
【００３９】
図５は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図５は、データの行１２４をフィルタリングするインタラクティブ・フィルタリング操作を示す。
【００４０】
図示の実施形態では、（点線のナビゲーション・アイコンによって示されるように）‘フィルタ４’が選択される。続いて、ナビゲーション・アイコン１４６は（点線で示されるように）移動されて２番目の行のための行ヘッダ‘行２’に位置合わせされる。ナビゲーション・アイコン１４６が‘行２’に位置合わせされたことを検出すると、ＣＰＵ１０２は、フィルタリングされたデータをその行１２４内の初期データの上に重ね合わせる。参照のために、図５に示されるフィルタリングされたデータは‘Ｄ’、‘Ｅ’、および‘Ｆ’として指定されている。
【００４１】
図６は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図６は、データの単一の要素１２８をフィルタリングするインタラクティブ・フィルタリング操作を示す。
【００４２】
図示の実施形態では、（点線のナビゲーション・アイコンによって示されるように）‘フィルタ４’が選択される。続いて、ナビゲーション・アイコン１４６は（点線で示されるように）移動されてデータ要素‘ｌ’に位置合わせされる。ナビゲーション・アイコン１４６が‘ｌ’に位置合わせされたことを検出すると、ＣＰＵ１０２は、フィルタリングされたデータをその行１２４内の初期データの上に重ね合わせる。参照のために、図６に示されるフィルタリングされたデータは‘Ｌ’として指定されている。
【００４３】
図４〜図６に示される例は、拡大鏡表示エリア１３２の幾何学的特性が、初期表現１２２の対応する部分の内容に基づいてどのように動的に構成されることができるかを示している。これらの例の各々における選択エリア１３０は図示の表内の単一のセルにほぼ対応しているが、拡大鏡表示エリア１３２のサイズおよび形状は、どの選択エリア１３０がアクティブにされているかまたはナビゲーション・アイコン１４６と位置合わせ状態になっているかに応じて変わる。
【００４４】
図７は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図７は、ナビゲーション・アイコン１４６がデータ・セット内のデータの要素１２８に対して様々な選択エリア１３０を通過して移動する効果を示す。
【００４５】
図示の実施形態では、（点線のナビゲーション・アイコンによって示されるように）‘フィルタ４’が選択される。続いて、ナビゲーション・アイコン１４６は（点線で示されるように）移動されて一連のデータ要素１２８に位置合わせされる。対応する拡大鏡表示エリア１３２を持つ各データ要素１２８において、ＣＰＵ１０２は、対応する拡大鏡表示エリア１３２の内容に適用されるフィルタ・パラメータを示す。次の表は、ナビゲーション・アイコン１４６が様々なデータ要素１２８に位置合わせされる順序の一例を概説するものである。表は、各検出段階に関連付けられる１つ以上のインタラクティブ・フィルタリング・アクションも示している。
【００４６】
【表１】
0005618904.tif 000002
【００４７】
参照のために、上記の表では、個々のデータ要素１２８のための選択エリア１３０は、対応する行１２４および列１２６の交差部によって指定されている。対照的に、列１２６全体のための選択エリア１３０は列ヘッダ（例えば‘列１’）によって指定されている。同様に参照のために、拡大鏡表示エリア１３２は個々のデータ要素１２８のための行１２４および列１２６の交差部によって指定されている。対照的に、拡大鏡表示エリア１３２が列１２６内のセルの全てに対応する場合は、拡大鏡表示エリア１３２は簡単に列ヘッダ（例えば‘列１’）によって指定されている。従って、実施形態によっては、選択エリア１３０の指定に列ヘッダを用いることは列ヘッダの単一のセルに対応するものとすればよく、一方、拡大鏡表示エリア１３２の指定に列ヘッダを用いることは列全体に対応するものとすればよい。
【００４８】
同様に、実施形態によっては、対応する選択エリア１３０にナビゲーション・アイコン１４６が位置合わせされている、ほぼその期間中のみフィルタリング効果の拡大鏡表示エリア１３２が見えるようになっている。ナビゲーション・アイコン１４６がもはや選択エリア１３０に位置合わせされた状態でなくなれば、対応する拡大鏡表示エリア１３２は消えるか、または初期データを示すことに戻る。上記の表では、フィルタリング効果のこの一時的な性質は、初期データを、対応する選択エリア１３０に位置合わせされた状態からナビゲーション・アイコン１４６が外された直後の検出段階で示すことによって説明される。例えば、ナビゲーション・アイコン１４６が移動して、フィルタリングされたデータ‘Ｏ’を示すセルに位置合わせした状態から外へ出ると、フィルタリングされたデータ‘Ｏ’は取り除かれて初期データ‘ｏ’が再び見えるようになる。明解にするために、初期データへのこの復帰は図７に示される実施形態には描かれていない。
【００４９】
代替実施形態では、フィルタリング効果はより長い期間、持続するものとすることができよう。例えば、フィルタリング効果は、位置合わせがもはやなくなった後も、既定の期間、持続するものとすることができよう。別の例では、フィルタリング効果は、ユーザがフィルタリング効果を取り除くための選択をするかまたはそのための特定の入力命令を与えるまで持続するものとすることができよう。他の実施形態は、他の方法を用いて、より短いまたはより長い期間、フィルタリング効果が持続できるようにしてよい。
【００５０】
図８は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図８は、フィルタ・パラメータ１４４の組み合わせに基づいたインタラクティブな組み合わせフィルタリング操作を示す。図示の実施形態では、選択エリア‘列１’に対応する拡大鏡表示エリア１３２にフィルタ・パラメータ‘フィルタ１’、‘フィルタ２’および‘フィルタ４’の組み合わせが適用される。このように、システム１００は、初期表現１２２の対応する部分への動的適用の選択に利用可能な複数のフィルタ・パラメータ１４４を、個々に表示するかまたは組み合わせて表示するかのいずれかの様式で、表示することができる。
【００５１】
図９は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図９は、図８の組み合わせフィルタ・パラメータの持続的な適用を示している。具体的には、選択エリア‘列１’に対応する拡大鏡表示エリア１３２上のフィルタリング効果は、ナビゲーション・アイコン１４６が選択エリア‘列１’から移動されて去った後も残る。１つの実施形態では、１つ以上のフィルタ・パラメータ１４４の持続的な適用は、選択エリア１３０内でのユーザ選択（例えばマウス・クリック）によって決まる。このように、システム１００は、ユーザによるさらなる選択操作に応答して、データの初期表現１２２の上記部分の変更された表現を、データの初期表現１２２に適用されたフィルタ・パラメータ（単数または複数）１４４に隣接して生成することができる。実施形態によっては、初期表現１２２の上記部分に対応する選択エリア１３０にナビゲーション・アイコン１４６が位置合わせを終えた後も、変更された表現が持続する。
【００５２】
図１０は、データ・セット内のデータの少なくとも一部分のフィルタリングされた表現１４２を生成するために実装されればよいインタラクティブ・フィルタリング環境１４０の別の実施形態の概略図を示す。特に、図１０は、インタラクティブ・フィルタリング操作の結果を表示するために独立ウィンドウ１４８を利用することを示している。実施形態によっては、拡大鏡表示エリア１３２は、初期表現１２２の上記部分から独立するとともにそれに対して移動可能な独立ウィンドウ１４８内に表示される。これにより、フィルタリング効果が初期データとともに同時に見られることができるようになればよい。
【００５３】
図１１は、インタラクティブ・フィルタを実装する方法２００の１つの実施形態の概略図を示す。方法２００は図１のシステム１００と関連して記載されているが、実施形態の方法２００は、同様のインタラクティブ・フィルタリング操作を遂行することができる他の形式のシステムを用いて実装されてもよい。
【００５４】
図示の方法２００では、ＣＰＵ１０２がデータ記憶装置１０４からデータ１１４を取得する２０２。次に、ＣＰＵ１０２は、何らかの形でデータ１１４を表示装置１１０に送信して、データの初期表現１２２を表示する２０４。次に、ＣＰＵ１０２は１つ以上のフィルタ・パラメータ１４４のユーザ選択がないかどうか監視する２０６。フィルタ・パラメータ１４４のユーザ選択を検出する２０８とそれに応答して、ＣＰＵ１０２は初期表現１２２の少なくとも一部分の局所的選択がないかどうか監視する２１０。先に説明されたように、実施形態によっては、局所的選択は、ナビゲーション・アイコンを既定の選択エリア１３０に位置合わせすることで生じる。局所的選択を検出する２１２とそれに応答して、ＣＰＵ１０２は、選択されたフィルタ・パラメータ（単数または複数）１４４を初期表現１２２の対応する拡大鏡表示エリア１３２に動的に適用する２１４。これにより、初期表現１２２の少なくとも一部分のフィルタリングされた表現１４２が表示される２１６。フィルタリングされた表現１４２は、選択されたフィルタ・パラメータ（単数または複数）がデータ１１４の初期表現１２２に適用されることから生じる。これで図示の方法２００は終了する。方法２００の他の実施形態は、本願明細書において記載されている機能性に関連するさらなる操作を含んでよい。
【００５５】
本願明細書において記載されている実施形態は、データのフィルタリングを創造的に且つ情報を得ながら行えるように様々な形で用いられることができる。実施形態によっては、本願明細書において記載されているインタラクティブ・フィルタリング技法は、データの単一のセットに異なる階層パラメータを動的に適用してデータの一部または全てに対する各パラメータの効果を見ることができる階層モデルに適用されることができる。実施形態によっては、初期データにフィルタ・パラメータ（単数または複数）を適用するのにドラッグ・アンド・ドロップ・ジェスチャが用いられることができる。実施形態によっては、インタラクティブ・フィルタリングがアクティブになっていること、またはデータの特定の部分に適用されていること、あるいはその両方の視覚的な手がかりとして、トークンが用いられることができる。従って、本願明細書において記載されている実施形態が一種のインタラクティブな属性ベースのフィルタ効果を生み出す。
【００５６】
他の実施形態では、本願明細書において記載されているインタラクティブ・フィルタリング技法の一部または全てが多次元データ・セットに適用されることができる。
【００５７】
上述の記載においては、様々な実施形態の特定の詳細が提供されている。しかし、実施形態によっては、その実施にこれらの特定の詳細を全て用いなくてもよい。他の例では、簡潔且つ明瞭にするために、いくらかの方法、手順、コンポーネント、構造、機能のいずれか、あるいはそれらの全ての記載を、本発明の様々な実施形態を可能にする程度にとどめている。
【００５８】
インタラクティブ・フィルタリング・システムの一実施形態は、データ、アドレス、制御バスのいずれか、あるいはそれらの全て等のシステム・バスを通じてメモリ要素に直接または間接的に接続されるプロセッサを少なくとも１つ含むというものである。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶、および実行中にコードが大容量記憶から取得されなければならない回数を減らすために少なくとも何らかのプログラム・コードの一時記憶を提供するキャッシュ・メモリを含むことができる。
【００５９】
方法のための操作のうちの少なくともいくつかは、コンピュータによる実行のためにコンピュータ利用可能記憶媒体上に記憶されるソフトウェア命令を用いて実装されればよいことにも留意されたい。一例として、コンピュータ利用可能記憶媒体の一実施形態は、コンピュータ上で実行されるとコンピュータにインタラクティブ・フィルタリングのための操作を遂行させるコンピュータ可読プログラムを記憶するためのコンピュータ利用可能記憶媒体を含む。可能性のある操作のうちのいくつかの例がシステム１００および方法２００に関して先に説明されている。
【００６０】
本発明の実施形態は、完全にハードウェアによる実施形態、完全にソフトウェアによる実施形態、またはハードウェアおよびソフトウェア要素の両方を包含する実施形態の形を取ることができる。１つの実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含む、ただしそれらに限定されるものではない、ソフトウェア内に実装される。
【００６１】
さらに、本発明の実施形態は、コンピュータまたは任意の命令実行システムによって用いられるまたは該システムと連係して用いられる、プログラム・コードを提供するコンピュータ利用可能またはコンピュータ可読記憶媒体の形を取ることができる。説明の都合上、コンピュータ利用可能またはコンピュータ可読記憶媒体は、命令実行システム、機器または装置が用いるまたはそれらと連係して用いられるプログラムを記憶することができる任意の機器であって構わない。
【００６２】
コンピュータ利用可能またはコンピュータ可読記憶媒体は、電子的、磁気的、光学的、電磁的、赤外線または半導体システム（あるいは機器または装置）、あるいは伝播媒体とすることができる。コンピュータ可読記憶媒体の例としては、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、リード・オンリー・メモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、リジッド磁気ディスクならびに光ディスクが挙げられる。光ディスクの現在の例としては、コンパクト・ディスク−リード・オンリー・メモリ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｗｉｔｈ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）、コンパクト・ディスク−リード／ライト（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｗｉｔｈ  ｒｅａｄ／ｗｒｉｔｅ、ＣＤ−Ｒ／Ｗ）、およびデジタル・ビデオ・ディスク（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｋ、ＤＶＤ）が挙げられる。
【００６３】
プログラム・コードの記憶または実行あるいはその両方に適したデータ処理システムの一実施形態は、データ、アドレス、制御バスのいずれか、あるいはそれらの全て等のシステム・バスを通じてメモリ要素に直接または間接的に接続される少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶、および実行中にコードが大容量記憶から取得されなければならない回数を減らすために少なくとも何らかのプログラム・コードの一時記憶を提供するキャッシュ・メモリを含むことができる。
【００６４】
入力／出力すなわちＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置等を含むがそれらに限定されるものではない）は、システムに、直接か、または介在Ｉ／Ｏコントローラを通じるかのいずれかの様式で接続されることができる。追加的に、システムにネットワーク・アダプタも接続して、データ処理システムを、私設または公衆の介在ネットワークを通じて他のデータ処理システムあるいは遠隔プリンタまたは記憶装置に接続できるようにしてよい。モデム、ケーブル・モデムおよびイーサネット（Ｒ）・カードが、現在利用できる形式のネットワーク・アダプタのほんの数例である。
【００６５】
本願明細書における方法（単数または複数）の操作は特定の順序で示され記載されているが、或る操作は逆の順序で遂行されてもよいように、または或る操作は少なくとも一部、他の操作と並行して遂行されてもよいように、各方法の操作の順序は変更されてもよい。別の実施形態では、別個の操作の命令またはサブ操作が断続的にまたは交互にあるいはその両方の様式で実装されてもよい。
【００６６】
本発明の特定の実施形態が記載され説明されているが、本発明は、そこで記載され説明されているような要素の特定の形態または構成に限定されるものではない。本発明の範囲は本願明細書に添付の請求項およびそれらの均等物によって定義される。
【符号の説明】
【００６７】
１００  システム
１０２  ＣＰＵ
１０４  ディスク
１０６  ＲＡＭ
１０８  Ｉ／Ｏ
１１０  表示
１１２  コード
１１４  データ
１２０  データ表現
【図１】
0005618904.tif 000003
【図２】
0005618904.tif 000004
【図３】
0005618904.tif 000005
【図４】
0005618904.tif 000006
【図５】
0005618904.tif 000007
【図６】
0005618904.tif 000008
【図７】
0005618904.tif 000009
【図８】
0005618904.tif 000010
【図９】
0005618904.tif 000011
【図１０】
0005618904.tif 000012
【図１１】
0005618904.tif 000013