JP6285362B2 - 協調コンピューティングのための方法および装置、ならびにコンピュータプログラム - Google Patents

協調コンピューティングのための方法および装置、ならびにコンピュータプログラム Download PDF

Info

Publication number
JP6285362B2
JP6285362B2 JP2014540999A JP2014540999A JP6285362B2 JP 6285362 B2 JP6285362 B2 JP 6285362B2 JP 2014540999 A JP2014540999 A JP 2014540999A JP 2014540999 A JP2014540999 A JP 2014540999A JP 6285362 B2 JP6285362 B2 JP 6285362B2
Authority
JP
Japan
Prior art keywords
user
data
session
state
state space
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.)
Active
Application number
JP2014540999A
Other languages
English (en)
Other versions
JP2015504548A (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.)
Qliktech International AB
Original Assignee
Qliktech International AB
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 Qliktech International AB filed Critical Qliktech International AB
Publication of JP2015504548A publication Critical patent/JP2015504548A/ja
Application granted granted Critical
Publication of JP6285362B2 publication Critical patent/JP6285362B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/26Visual data mining; Browsing structured data
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Description

本発明は協調コンピューティングのための方法に関する。
先行技術
US7058621は、情報を抽出してユーザに提示するようにデータベースに作用する方法を開示している。データベースは、複数の変数の値を含むデータテーブルを含む。情報は、1つ以上の選択された計算変数に作用する少なくとも1つの数学関数を算定することによって抽出されることになっている。提示される情報は、1つ以上の選択された分類変数に対して区分化されることになっている。この方法は、すべての境界テーブルを識別するステップと、すべての接続テーブルを識別するステップと、前記境界テーブルおよび接続テーブルから開始テーブルを選択するステップと、境界テーブルにおける選択された各変数の値を、開始テーブルにおける1つ以上の接続変数の対応する値にリンクさせる変換構造を構築するステップと、各分類変数のすべての固有値についての数学関数の結果を含む最終データ構造を算定が生み出すように、変換構造を使用することによって、開始テーブルの各データ記録について数学関数を算定するステップとを含む。
US20100017436は、情報を抽出するための方法および機器を開示している。情報は、連鎖的な主計算を伴う、コンピュータにより実現される方法を使用して、データベースから抽出され、主計算では、第1の主計算(P1)は、データベースを表わすデータセット(R0)に第1の選択項目(S1)を作用させて第1の結果(R1)を生成し、第2の主計算(P2)は、第1の結果(R1)に第2の選択項目(S2)を作用させて第2の結果(R2)を生成する。第1および第2の結果(R1、R2)は、この方法のその後の反復で再使用するためにコンピュータメモリ(10)にキャッシュされ、それにより、情報を抽出するために第1および/または第2の主計算(P1,P2)を実行する必要性を減少させる。キャッシングは、少なくとも第1の選択項目(S1)の関数としての第1の選択識別子値(ID1)と、少なくとも第2の選択項目(S2)および第1の結果(R1)の関数としての第2の選択識別子値(ID3)とを計算すること、ならびに、第1の選択識別子値(ID1)および第1の結果(R1)と、第2の選択識別子値(ID3)および第2の結果(R2)とをそれぞれ、データ構造(12)における関連付けられたオブジェクトとして格納することを伴う。識別子値の各々は、ハッシュ関数(f)によって、統計学的に固有の電子指紋として生成される。再使用は、次の反復中に第1および第2の選択識別子値(ID1,ID3)を計算すること、ならびに、場合によっては第1および/または第2の結果(R1、R2)を検索するためにデータ構造(12)にアクセスすることを伴う。
発明の概要
一局面では、ユーザの、データベース方法およびシステムとのインタラクションのための方法およびシステムが提供される。一局面では、データを閲覧するための動的表示生成を容易にするために、ユーザインターフェイスが生成されてもよい。システムは、状態空間において提示するためのデータの1つ以上の視覚表現を動的に生成するための視覚化コンポーネントを含んでいてもよい。
一局面では、第1のユーザのために一次セッションを開始するステップと、第2のユーザの協調を要求するステップと、第2のユーザのために二次セッションを開始するステップと、第1のユーザおよび第2のユーザに協調リアルタイムデータ分析のための単一の状態空間を提供するステップとを含み、どちらかのユーザによるインタラクションが単一の状態空間において反映される、協調コンピューティングのための方法、システムおよびコンピュータ読取り可能な媒体が提供される。さらなる局面では、選択状態を反映する状態空間を作成するステップと、メモを作成するステップと、状態空間においてオブジェクトにメモを添付するステップと、選択状態を保存するステップと、保存された選択状態をメモと関連付けるステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取り可能な媒体が提供される。
別の局面では、選択状態を反映する状態空間を作成するステップと、メモを作成するステップと、状態空間においてオブジェクトにメモを添付するステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取り可能な媒体が提供される。さらなる別の局面では、添付されたメモを有する状態空間においてオブジェクトを提示するステップと、メモの選択を受取るステップと、メモを提示し、メモに関連付けられた保存された選択状態を反映するように状態空間を調節するステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取り可能な媒体が提供される。
追加の利点が、以下の説明で一部述べられる。または、実践により学習されてもよい。利点は、添付された請求項において特に指摘された要素および組合せによって実現され、得られるであろう。記載されているように、前述の概要および以下の詳細な説明は双方とも単なる例示および説明であり、限定的ではないということが理解されるべきである。
図面の簡単な説明
本明細書において援用され、本明細書の一部を構成する添付図面は、実施例を例示しており、説明とともに方法およびシステムの原理を説明する役割を果たす。
例示的なテーブル1〜5を示す図である。 データベースから情報を抽出するための例示的な方法のブロックフローチャートである。 例示的なテーブル6〜12を示す図である。 例示的なテーブル13〜16を示す図である。 例示的なテーブル17、18、および20〜23を示す図である。 例示的なテーブル24〜29を示す図である。 例示的な動作環境の図である。 データサブセットを生成するために、選択がどのように範囲に作用するかを示す図である。 例示的なユーザインターフェイスを示す図である。 別の例示的なユーザインターフェイスを示す図である。 別の例示的なユーザインターフェイスを示す図である。 例示的な方法のブロックフローチャートである。 例示的な動作環境の図である。 例示的なユーザインターフェイスを示す図である。 別の例示的なユーザインターフェイスを示す図である。 例示的な方法のブロックフローチャートである。 例示的な方法の別のブロックフローチャートである。 例示的な方法の別のブロックフローチャートである。 例示的なユーザインターフェイスを示す図である。 例示的な方法のブロックフローチャートである。 例示的なユーザインターフェイスを示す図である。 例示的なテーブルを示す図である。 例示的なテーブルを示す図である。 例示的なテーブルを示す図である。 例示的なテーブルを示す図である。 例示的なテーブルを示す図である。 例示的なテーブルを示す図である。 追加の例示的なテーブルを示す図である。 追加の例示的なテーブルを示す図である。 追加の例示的なテーブルを示す図である。 例示的な方法のブロックフローチャートである。
詳細な説明
この発明の方法およびシステムを開示し説明する前に、この方法およびシステムは特定の方法、特定の構成要素、または特定の構成に限定されないということが理解されるべきである。また、ここに使用される用語は、特定の実施例を説明することのみを目的としており、限定的であるよう意図されてはいないということも理解されるべきである。
明細書および添付された請求項において使用されているように、文脈が明らかに別に指示していない限り、単数形は複数の対象を含む。範囲はここでは、「およそ」ある特定の値からおよび/または「およそ」別の特定の値までとして表わされてもよい。そのような範囲が表わされる場合、別の実施例は、その特定の値からおよび/またはその別の特定の値までを含む。同様に、先行詞「およそ」の使用によって値が近似値として表わされる場合、その特定の値は別の実施例を形成することが理解されるであろう。さらに、各範囲の終点は、他方の終点に関連して、および他方の終点とは独立して、有意であるということが理解されるであろう。
「オプションの」または「オプションで」とは、次に説明される事象または状況が発生する場合があり、または発生しない場合があるということ、および、その説明が、前記事象または状況が発生する事例と発生しない事例とを含むことを意味する。
本明細書の説明および請求項全体を通して、「含む」という文言、ならびに「含み」および「含んで」といったこの文言の変化形は、「…を含むがそれに限定されない」ということを意味し、たとえば他の付加物、構成要素、整数またはステップを除外するよう意図されてはいない。「例示的な」とは「…の一例」を意味し、好ましいまたは理想の一実施例の表示を伝えるよう意図されてはいない。「…などの」は限定的な意味で使用されておらず、説明の目的のために使用されている。
開示された方法およびシステムを行なうために使用可能な構成要素が開示される。これらのおよび他の構成要素がここに開示される。これらの構成要素の組合せ、部分集合、相互作用、群などであって、各々を具体的に参照すると、さまざまな個々のおよび集合的な組合せ、ならびにこれらの置換が明示的に開示されていないかもしれないものが開示されている場合、各々はここに、すべての方法およびシステムについて具体的に考慮され説明されている、ということが理解される。これは、開示された方法におけるステップを含むがそれらに限定されない、本願のあらゆる局面に当てはまる。このため、実行可能なさまざまな追加のステップがある場合、これらの追加のステップの各々は、開示された方法の任意の特定の実施例または実施例の組合せで実行可能である、ということが理解される。
この方法およびシステムは、この明細書中に含まれる好ましい実施例および例についての以下の詳細な説明と、添付の図面ならびにそれらについての上述および以下の説明とを参照することによって、より容易に理解され得る。
ここで、図面の図1〜図6を参照して、この発明およびシステムを例として説明する。図1は、開示された方法に従った、関連するデータテーブルの識別後のデータベースの内容を示し、図2は、提供される方法の一実施例の一連のステップを示し、図3〜図6は例示的なデータテーブルを示している。
データベースは、図1に示すように、複数のデータテーブル(テーブル1〜5)を含む。各データテーブルは、複数のデータ変数のデータ値を含む。たとえば、テーブル1では、各データ記録は、データ変数「製品(Product)」、「価格(Price)」および「部品(Part)」のデータ値を含む。データ記録のフィールドに特定の値がない場合、このフィールドはヌル値(Null-value)を保持すると考えられる。同様に、テーブル2では、各データ記録は、変数「日付(Date)」、「クライアント(Client)」、「製品」、および「個数(Number)」の値を含む。典型的には、データ値は、ASCIIコード化されたストリングの形で格納される。
提供される方法は、コンピュータプログラムによって実現可能である。第1のステップ(ステップ101)で、プログラムは、たとえば、データベースのすべてのテーブル、たとえばこの場合テーブル1〜5を選択する選択(SELECT)命令文を使用して、データベースにおけるすべてのデータ記録を読出す。典型的には、データベースは、コンピュータの一次メモリに読込まれてもよい。
算定速度を増加させるには、前記データベースにおける各データ変数の各固有値に、異なる二進コードが割当てられること、および、データ記録は二進コード化された形式で格納されることが好まれ得る(ステップ101)。これは典型的には、プログラムが最初にデータベースからデータ記録を読出す際に行なわれてもよい。各入力テーブルについて、以下のステップが実行される。まず、テーブルの列名、たとえば変数が連続的に読出される。新しいデータ変数が現れるたびに、それのためにデータ構造がインスタンス化され得る。次に、すべてのデータ記録を二進形式で含むように、内部テーブル構造がインスタンス化され得る。すると、データ記録は連続的に読出されて二進コード化される。各データ値について、その値に以前に二進コードが割当てられていたかを確かめるために、対応するデータ変数のデータ構造がチェックされてもよい。割り当てられていた場合、その二進コードは、上述のテーブル構造の適正な場所に挿入され得る。割り当てられていなかった場合、データ値はデータ構造に追加され、新しい二進コード、好ましくは小さい順で次の二進コードが割当てられてからテーブル構造に挿入され得る。言い換えれば、各データ変数について、固有の二進コードが各固有データ値に割当てられ得る。
図3のテーブル6〜12は、図1のデータベースに含まれるいくつかのデータ変数の異なるデータ値に割当てられた二進コードを示す。
データベースにおけるすべてのデータ記録を読出した後、プログラムは、データテーブル間のすべての接続を識別する(ステップ102)ためにデータベースを分析する。2つのデータテーブル間の接続とは、これらのデータテーブルが1つの変数を共有していることを意味する。そのような分析を行なうための異なるアルゴリズムは、当該技術分野において公知である。分析後、すべてのデータテーブルは仮想接続される。図1では、そのような仮想接続は両端矢印(a)によって示されている。仮想接続されたデータテーブルは、少なくとも1つのいわゆる雪片構造、たとえば、データベースにおける任意の2つのデータテーブル間に唯一の接続経路がある分岐データ構造を形成すべきである。このため、雪片構造はループを全く含まない。仮想接続されたデータテーブル中にループが生じた場合、たとえば2つのテーブルが2つ以上の変数を共有する場合、場合によっては、そのようなループを解消するための、当該技術分野において公知の特殊アルゴリズムによって、雪片構造が依然として形成される場合がある。
この最初の分析後、ユーザはデータベースの調査を開始できる。そうする際、ユーザは数学関数を定義し、それは数式の組合せであってもよい(ステップ103)。ユーザが図1のデータベースから年およびクライアント毎の総売上を抽出したいと仮定する。ユーザは対応する数学関数「SUM(x*y)」を定義し、この関数に含まれるべき計算変数「価格」および「個数」を選択する。ユーザはまた、分類変数「クライアント」および「年(Year)」も選択する。
コンピュータプログラムは次に、すべての関連するデータテーブル、たとえば選択された計算変数および分類変数のうちのいずれか1つを含むすべてのデータテーブル(そのようなデータテーブルは境界テーブルと呼ばれる)を識別し(ステップ104)、ならびに、雪片構造におけるこれらの境界テーブル間の接続経路にあるすべての中間データテーブル(そのようなデータテーブルは接続テーブルと呼ばれる)を識別する。明確にするために、図1の第1のフレーム(A)には、関連するデータテーブルの群(テーブル1〜3)が含まれてもよい。明らかに、この特定の場合、接続テーブルはない。
この場合、選択された計算変数のすべての値、たとえば頻度データのすべての発生は、数学関数の算定のために含まれなければならない。図1では、そのような頻度データを必要とする選択された変数(「価格」、「個数」)は太い矢印(b)で示され、一方、残りの選択された変数は点線(b′)で示されている。ここで、そのような計算変数を含むすべての境界テーブル(テーブル1〜2)と、雪片構造におけるそのような境界テーブル間の接続テーブルとを含む、部分集合(B)が定義可能である。なお、ある特定の変数の頻度要件は、それが含まれる数式によって求められてもよい。平均値または中央値を求めることは、頻度情報を必要とする。一般に、これは合計を求めることについても当てはまり、一方、最大値または最小値を求めることは、計算変数の頻度データを必要とはしない。また、分類変数は一般に、頻度データを必要とはしない。
次に、好ましくは部分集合(B)内のデータテーブルから、最も好ましくはこの部分集合において最も多くのデータ記録を有するデータテーブルから、開始テーブルが選択され得る(ステップ105)。図1では、テーブル2が開始テーブルとして選択され得る。このため、開始テーブルは、選択された変数(「クライアント」、「個数」)と、接続変数(「日付」、「製品」)とを含む。これらの接続変数は、開始テーブル(テーブル2)を境界テーブル(テーブル1および3)にリンクさせる。
その後、図4のテーブル13および14に示すように、変換構造が構築され得る(ステップ106)。この変換構造は、開始テーブル(テーブル2)における各接続変数(「日付」、「製品」)の各値を、境界テーブル(テーブル3および1)における対応する選択された変数(それぞれ「年」、「価格」)の値に変換するために使用され得る。テーブル13は、テーブル3のデータ記録を連続的に読出して、接続変数(「日付」)の各固有値と選択された変数(「年」)の対応する値との間にリンクを作成することによって構築され得る。なお、値4(「日付:1999−01−12」)からのリンクはない。なぜなら、この値は境界テーブルに含まれていないためである。同様に、テーブル14は、テーブル1のデータ記録を連続的に読出して、接続変数(「製品」)の各固有値と選択された変数(「価格」)の対応する値との間にリンクを作成することによって構築され得る。この場合、値2(「製品:練り歯磨き(Toothpaste)」)は、選択された変数の2つの値(「価格:6.5」)にリンクされ得る。なぜなら、この接続は境界テーブルにおいて2回発生しているためである。こうして、頻度データが変換構造に含まれ得る。なお、値3(「製品:シャンプー(Shampoo)」)からのリンクもない。
変換構造が構築されると、仮想データ記録が作成され得る。テーブル15に示すようなそのような仮想データ記録は、データベースにおけるすべての選択された変数(「クライアント」、「年」、「価格」、「個数」)に適応する。仮想データ記録を構築する際(ステップ107〜108)、まず、開始テーブル(テーブル2)からあるデータ記録が読出され得る。次に、開始テーブルの現在のデータ記録における選択された各変数(「クライアント」、「個数」)の値が、仮想データ記録に組込まれ得る。また、変換構造(テーブル13〜14)を使用することにより、開始テーブルの現在のデータ記録における各接続変数(「日付」、「製品」)の各値は、対応する選択された変数(「年」、「価格」)の値に変換され、この値も仮想データ記録に組込まれ得る。
この段階(ステップ109)で、仮想データ記録は、中間データ構造(テーブル16)を構築するために使用され得る。中間データ構造の各データ記録は、選択された各分類変数(次元)と、数学関数によって暗示される各数式についての集約フィールドとに適応する。中間データ構造(テーブル16)は、仮想データ記録における選択された変数の値に基づいて構築され得る。このため、各数式は、仮想データ記録における1つ以上の関連する計算変数の1つ以上の値に基づいて算定され得、結果は、分類変数(「クライアント」、「年」)の現在の値の組合せに基づいて、適切な集約フィールドにおいて集約され得る。
開始テーブルのすべてのデータ記録について、上述の手順が繰返されてもよい(ステップ110)。こうして、開始テーブルのデータ記録を連続的に読出すことにより、仮想データ記録における選択された変数の現在の値を組込むことにより、および仮想データ記録の内容に基づいて各数式を算定することにより、中間データ構造が構築され得る。仮想データ記録における分類変数の値の現在の組合せが新しい場合、算定の結果を保持するために、新しいデータ記録が中間データ構造において作成されてもよい。その他の場合、適切なデータ記録が迅速に発見され、算定の結果が集約フィールドにおいて集約され得る。こうして、開始テーブルが全面的に検討され得るにつれて、データ記録が中間データ構造に追加される。好ましくは、中間データ構造は、AVLまたはハッシュ構造などの効率的な指標システムに関連付けられたデータテーブルであってもよい。大抵の場合、集約フィールドは加算レジスタとして実現されてもよく、そこで、算定された数式の結果が累算されてもよい。場合によっては、たとえば中央値を算定する場合、集約フィールドは代わりに、特定された分類変数の値の固有の組合せについてのすべての個々の結果を保持するように実現される。なお、いくつかの局面では、開始テーブルから中間データ構造を構築する手順では、たった1つの仮想データ記録が必要とされる。このため、開始テーブルの各データ記録について、仮想データ記録の内容が更新され得る。これは、コンピュータプログラムを実行する際のメモリ要件を最小化するであろう。
中間データ構造を構築する手順を、テーブル15〜16を参照してさらに説明する。テーブル15に示すような第1の仮想データ記録R1を作り出す際、選択された変数「クライアント」および「個数」の値は、開始テーブル(テーブル2)の第1のデータ記録からそのまま取られる。次に、変換構造(テーブル13)により、接続変数「日付」の値「1999−01−02」が、選択された変数「年」の値「1999」へと転送され得る。同様に、変換構造(テーブル14)により、接続変数「製品」の値「練り歯磨き」が、選択された変数「価格」の値「6.5」へと転送され、それにより仮想データ記録R1を形成し得る。次に、図16に示すように、データ記録が中間データ構造において作成され得る。この場合、中間データ構造は3つの列を有し、そのうちの2つは選択された分類変数(「クライアント」、「年」)を保持する。第3の列は集約フィールドを保持しており、そこで、選択された計算変数(「個数」、「価格」)に作用する数式(「x*y」)の算定結果が集約され得る。仮想データ記録R1を算定する際、分類変数の現在の値(二進コード:0,0)が最初に読出され、中間データ構造のこのデータ記録に組込まれる。次に、計算変数の現在の値(二進コード:2,0)が読出される。数式は、これらの値について算定され、関連付けられた集約フィールドに追加され得る。
次に、開始テーブルに基づいて、仮想データ記録が更新され得る。変換構造(テーブル14)は接続変数「製品」の値「練り歯磨き」について、選択された変数「価格」の値「6.5」の複製を示しているため、更新された仮想データ記録R2は変わらないままであり、R1と同一である。次に、仮想データ記録R2は上述のように算定され得る。この場合、中間データ構造は、分類変数の現在の値(二進コード:0,0)に対応するデータ記録を含む。このため、数式の算定結果が、関連付けられた集約フィールドで累算される。
次に、開始テーブルの第2のデータ記録に基づいて、仮想データ記録が更新され得る。この更新された仮想データ記録R3を算定する際、新しいデータ記録が中間データ構造において作成されてもよく、以下同様である。
なお、この例では、ヌル値は−2という二進コードによって表わされる。また、図示された例では、計算変数のうちのいずれか1つのヌル値(−2)を保持する仮想データ記録は、直接排除可能である。なぜなら、ヌル値は数式(「x*y」)において算定できないためである。また、分類変数のすべてのヌル値(−2)は任意の他の有効値として扱われ、中間データ構造に配置される。
開始テーブルを全面的に検討後、中間データ構造は4つのデータ記録を含み、各々、分類変数の値(0,0;1,0;2,0;3,−2)の固有の組合せと、算定された数式の対応する累算結果(41;37.5;60;75)とを含む。
好ましくは、いくつかの局面では、中間データ構造はまた、1つ以上の分類変数(または次元)を排除するために処理され得る。好ましくは、これは、上述のような中間データ構造を構築するプロセスの最中に行なわれてもよい。仮想データ記録が算定されるたびに、中間データ構造において、追加のデータ記録が作成され得るか、または、それらが既に存在している場合には発見され得る。これらの追加のデータ記録の各々は、1つ以上の分類変数のすべての値について、数式の算定結果の集約を保持するよう定められてもよい。このため、開始テーブルが全面的に検討されると、中間データ構造は、分類変数の値のすべての固有の組合せについての集約された結果と、関連する各分類変数の排除後の集約された結果との双方を含むであろう。
中間データ構造において次元を排除するこの手順を、テーブル15および16を参照してさらに説明する。仮想データ記録R1が算定され(テーブル15)、第1のデータ記録(0,0)が中間データ構造において作成されると、追加のデータ記録がこの構造において作成され得る。そのような追加のデータ記録は、1つ以上の次元が排除されると対応する結果を保持するよう定められている。テーブル16では、ある分類変数に、この変数のすべての値が算定されることを示すために、中間データ構造において−1の二進コードが割当てられ得る。この場合、3つの追加のデータ記録が作成され、各々、分類変数の値(−1,0;0,−1;−1,−1)の新しい組合せを保持する。これらの追加のデータ記録の関連付けられた集約フィールドにおいて、算定結果が集約され得る。これらの追加のデータ記録の1番目の(−1,0)は、分類変数「年」が値「1999」を有する場合の分類変数「クライアント」のすべての値についての集約結果を保持するよう定められている。2番目の追加のデータ記録(0,−1)は、分類変数「クライアント」が「Nisse」である場合の分類変数「年」のすべての値についての集約結果を保持するよう定められている。3番目の追加のデータ記録(−1,−1)は、両方の分類変数「クライアント」および「年」のすべての値についての集約結果を保持するよう定められている。
仮想データ記録R2が算定される場合、結果は、分類変数の値(二進コード:0,0)の現在の組合せに関連付けられた集約フィールドにおいて、および、関連する追加のデータ記録(二進コード:−1,0;0,−1;−1,−1)に関連付けられた集約フィールドにおいて集約され得る。仮想データ記録R3が算定される場合、結果は、分類変数の値(二進コード:1,0)の現在の組合せに関連付けられた集約フィールドにおいて集約され得る。結果はまた、中間データ構造の、新しく作成された追加のデータ記録(二進コード:1,−1)の集約フィールドにおいて、および、関連する既存のデータ記録(二進コード:−1,0;−1,−1)に関連付けられた集約フィールドにおいても集約され得る。
開始テーブルを全面的に検討後、中間データ構造は、テーブル16に示すように11種類のデータ記録を含む。好ましくは、中間データ構造が3つ以上の分類変数に適応する場合、中間データ構造は、排除される各分類変数について、残りの分類変数の値の各固有の組合せについて、この分類変数のすべての値にわたって集約された算定結果を含むであろう。
中間データ構造が構築されると、中間データ構造に含まれる数式(「x*y」)の結果に基づいて数学関数(「SUM(x*y)」)を算定することにより、図5のテーブル17において二進法でない表記で示すような、最終データ構造、たとえば多次元立方体が作成され得る(ステップ111)。そうする際、分類変数の値の各固有の組合せについての集約フィールドにおける結果が組合される。図示された事例では、最終データ構造の作成は、単純明快である。最終データ構造の内容は次に、図5のテーブル18に示すような二次元テーブルでユーザに提示されてもよい(ステップ112)。また、これに代えて、最終データ構造が多くの次元を含む場合、データは、当該技術分野において周知であるような、ユーザがインタラクティブに次元を上下に移動できるピボットテーブルで提示されてもよい。
以下に、開示された方法の第2の例を、図5〜6のテーブル20〜29を参照して説明する。この説明は単に、この例のある局面、すなわち、接続テーブルからのデータを含む変換構造の構築、およびより複雑な数学関数のための中間データ構造の構築について詳述するであろう。この例では、ユーザは、図5のテーブル20〜23に示すデータテーブルを含むデータベースから、クライアント毎の売上データを抽出したがっている。説明を容易にするために、この例では二進コード化は省略される。
ユーザは、クライアント毎に結果を区分化すべき数学関数a)「IF(Only(Environment index)='I’) THEN Sum(Number*Price)*2, ELSE Sum(Number*Price))」、およびb)「Avg(Number*Price)」をすでに特定している。
数学関数(a)は、環境指標(Environment index)′I′を有する製品群に属する製品については売上高を2倍にし、一方、他の製品については実際の売上高を使用すべきであることを特定している。数学関数(b)は参照用に含まれたものである。
この場合、選択された分類変数は「環境指数」および「クライアント」であり、選択された計算変数は「個数」および「価格」である。テーブル20、22および23は境界テーブルとして識別され、一方、テーブル21は接続テーブルとして識別される。開始テーブルとしてテーブル20が選択される。このため、開始テーブルは、選択された変数(「個数」、「クライアント」)と、接続変数(「製品」)とを含む。接続変数は、接続テーブル(テーブル21)を介して、開始テーブル(テーブル20)を境界テーブル(テーブル22〜23)にリンクさせる。
次に、変換構造の形成について、図6のテーブル24〜26を参照して説明する。変換構造の第1の部分(テーブル24)は、第1の境界テーブル(テーブル23)のデータ記録を連続的に読出して、接続変数(「製品群」)の各固有値と選択された変数(「環境指標」)の対応する値との間にリンクを作成することによって構築され得る。同様に、変換構造の第2の部分(テーブル25)は、第2の境界テーブル(テーブル22)のデータ記録を連続的に読出して、接続変数(「価格群」)の各固有値と選択された変数(「価格」)の対応する値との間にリンクを作成することによって構築され得る。次に、接続テーブル(テーブル21)のデータ記録が連続的に読出される。テーブル21における接続変数(「製品」)の対応する値の代わりに、テーブル24および25における接続変数(それぞれ「製品群」および「価格群」)の各値が代入され得る。結果は、テーブル26に示すように1つの最終変換構造において合併される。
次に、開始テーブル(テーブル20)のデータ記録を連続的に読出すことにより、選択された変数(「環境指数」、「クライアント」、「個数」、「価格」)の現在の値を仮想データ記録に組込むために変換構造(テーブル26)を使用することにより、および仮想データ記録の現在の内容に基づいて各数式を算定することにより、中間データ構造が構築され得る。
明確にするために、テーブル27は、開始テーブルの各データ記録についての仮想データ記録の対応する内容を表示している。第1の例に関連して述べたように、いくつかの局面では、たった1つの仮想データ記録が必要とされる。この仮想データ記録の内容は、開始テーブルの各データ記録について更新されてもよく、たとえば置換されてもよい。
テーブル28に示すような中間データ構造の各データ記録は、選択された各分類変数(「クライアント」、「環境指標」)の値と、数学関数によって暗示される各数式についての集約フィールドとに適応する。この場合、中間データ構造は2つの集約フィールドを含んでいる。一方の集約フィールドは、選択された計算変数(「個数」、「価格」)を処理する数式(「x*y」)の集約結果と、そのような処理の個数のカウンタとを含む。この集約フィールドのレイアウトは、平均数量を計算すべきである(「Avg(x*y)」)という事実によって与えられる。他方の集約フィールドは、分類変数の値の各組合せについて分類変数「環境指標」の最低値および最高値を保持するように設計され得る。
第1の例と同様に、仮想データ記録(テーブル27の各行)の現在の内容について数式を算定することにより、および分類変数(「クライアント」、「環境指標」)の現在の値の組合せに基づいて適切な集約フィールドにおいて結果を集約することにより、中間データ構造(テーブル28)が構築され得る。中間データ構造はまた、分類変数のうちの一方または双方に値「<ALL>」(全て)が割当てられたデータ記録も含む。対応する集約フィールドは、1つ以上の分類変数(次元)が排除された場合、集約結果を含む。
中間データ構造が構築されると、中間データ構造に含まれる数式の算定結果に基づいて数学関数を算定することにより、最終データ構造、たとえば多次元立方体が作成され得る。テーブル29に示すような最終データ構造の各データ記録は、選択された各分類変数(「クライアント」、「環境指標」)の値と、ユーザによって選択された各数学関数についての集約フィールドとに適応する。
最終データ構造は、分類変数の値の各固有の組合せについての中間データ構造の集約フィールドにおける結果に基づいて構築され得る。テーブル28のデータ記録を順次読出すことによって関数(a)が算定される場合、プログラムはまず、テーブル28の最後の列の双方の値が′I′と等しいかどうかをチェックする。等しい場合、テーブル28の第1の集約フィールドに含まれる関連する結果に2を乗算してテーブル29に格納する。等しくない場合、テーブル28の第1の集約フィールドに含まれる関連する結果をそのままテーブル29に格納する。関数(b)が算定される場合、選択された計算変数(「個数」、「価格」)を処理する数式(「x*y」)の集約結果をそのような処理の個数で除算する。それらは双方とも、テーブル28の第1の集約フィールドに格納されている。結果は、テーブル29の第2の集約フィールドに格納され得る。
明らかに、本発明の方法により、ユーザは、数学関数を自由に選択してこれらの関数に計算変数を組込むこと、および結果の提示のために分類変数を自由に選択することができる。
開始テーブルからの一連のデータ記録に基づいて中間データ構造を構築する図示された手順の代わりに、またはこれに加え、メモリ効率が下がるものの、いわゆる結合テーブルをまず構築することが考えられる。この結合テーブルは、開始テーブルのすべてのデータ記録を全面的に検討し、変換構造の使用により開始テーブルにおける各接続変数の各値を境界テーブルにおける少なくとも1つの対応する選択された変数の値に変換することによって構築され得る。このため、結合テーブルのデータ記録は、選択された変数の値の発生するすべての組合せを含むであろう。次に、結合テーブルの内容に基づいて、中間データ構造が構築され得る。結合テーブルの各記録について、各数式が算定され、選択された各分類変数の現在の値に基づいて、結果が適切な集約フィールドにおいて集約され得る。しかしながら、この代替的な手順は、要求された情報を抽出するためにより多くのコンピュータメモリを必要とする。
数学関数は、頻度データに対して異なった、および相反する要求を有する数式を含む場合があるということが認識されるべきである。この場合、そのような各数式について、ステップ104〜110(図2)が繰返され、結果が1つの共通の中間データ構造に格納される。また、これに代えて、各数式について1つの最終データ構造、たとえば多次元立方体が構築されてもよく、これらの立方体の内容は、ユーザへの提示中に融合される。
当業者には理解されるように、本方法およびシステムは、完全にハードウェアの実施例、完全にソフトウェアの実施例、またはソフトウェア局面とハードウェア局面とを組合せた実施例の形をとってもよい。また、本方法およびシステムは、コンピュータ読取可能な記憶媒体上にあり、記憶媒体で具現化されるコンピュータ読取可能なプログラム命令(たとえば、コンピュータソフトウェア)を有するコンピュータプログラム製品の形をとってもよい。より特定的には、この方法およびシステムは、ウェブにより実現されるコンピュータソフトウェアの形をとってもよい。ハードディスク、CD−ROM、光学記憶装置、または磁気記憶装置を含む、任意の好適なコンピュータ読取可能な記憶媒体が利用されてもよい。
本方法およびシステムの実施例を、方法、システム、機器、およびコンピュータプログラム製品のブロック図およびフローチャート図を参照して説明する。ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図におけるブロックの組合せはそれぞれ、コンピュータプログラム命令によって実現可能である、ということが理解されるであろう。これらのコンピュータプログラム命令は、マシンを生成するために汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理機器にロードされて、コンピュータまたは他のプログラム可能なデータ処理機器上で実行される命令が、フローチャートのブロックまたは複数のブロックにおいて特定される機能を実現するための手段を作成するようになっていてもよい。
これらのコンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能なデータ処理機器にある特定の態様で機能するように命令できるコンピュータ読取可能なメモリに格納されて、コンピュータ読取可能なメモリに格納された命令が、フローチャートのブロックまたは複数のブロックにおいて特定される機能を実現するためのコンピュータ読取可能な命令を含む製造品を生成するようになっていてもよい。コンピュータプログラム命令はまた、コンピュータまたは他のプログラム可能なデータ処理機器にロードされて、コンピュータにより実現されるプロセスを生成するために一連の動作ステップがコンピュータまたは他のプログラム可能な機器上で行なわれるようにして、コンピュータまたは他のプログラム可能な機器上で実行される命令が、フローチャートのブロックまたは複数のブロックにおいて特定される機能を実現するためのステップを提供するようになっていてもよい。
したがって、ブロック図およびフローチャート図のブロックは、特定される機能を実行するための手段の組合せ、特定される機能を実行するためのステップの組合せ、および特定される機能を実行するためのプログラム命令手段をサポートする。また、ブロック図およびフローチャート図の各ブロック、ならびにブロック図およびフローチャート図におけるブロックの組合せは、特定される機能またはステップを行なう専用ハードウェアベースのコンピュータシステム、または専用ハードウェアとコンピュータ命令との組合せによって実現可能である。
当業者であれば、機能的説明が提供されること、およびそれぞれの機能はソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組合せによって実行可能であることを理解するであろう。一局面では、本方法およびシステムは、図7に示し以下に説明するようなデータ分析ソフトウェア706を含んでいてもよい。例示的な一局面では、本方法およびシステムは、図7に示し以下に説明するようなコンピュータ701を含んでいてもよい。
図7は、開示された方法を行なうための例示的な動作環境を示すブロック図である。この例示的な動作環境は、動作環境の単なる一例であり、動作環境アーキテクチャの使用または機能性の範囲について限定を示唆するよう意図されてはいない。また、動作環境は、例示的な動作環境に図示された構成要素のうちのいずれか1つまたはそれらの組合せに関する従属性または要件を有するとして解釈されるべきではない。
この方法およびシステムは、多くの他の汎用または専用コンピューティングシステム環境もしくは構成で動作可能である。本システムおよび方法での使用に好適となり得る周知のコンピューティングシステム、環境、および/または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ラップトップ装置、およびマルチプロセッサシステムを含むが、それらに限定されない。追加の例は、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたは装置のいずれかを含む分散コンピューティング環境などを含む。
開示された方法およびシステムの処理は、ソフトウェアコンポーネントによって実行可能である。開示されたシステムおよび方法は、プログラムモジュールなどのコンピュータ実行可能な命令が、1つ以上のコンピュータまたは他の装置によって実行されるという一般的状況において説明可能である。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実現する、コンピュータコード、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。開示された方法はまた、通信ネットワークを通してリンクされたリモート処理装置によってタスクが実行される、グリットベースの分散コンピューティング環境で実践可能である。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体の双方に位置していてもよい。
また、当業者であれば、ここに開示されるシステムおよび方法が、コンピュータ701の形の汎用コンピューティング装置を介して実現可能であることを理解するであろう。コンピュータ701の構成要素は、1つ以上のプロセッサまたは処理部703と、システムメモリ712と、プロセッサ703を含むさまざまなシステムコンポーネントをシステムメモリ712に結合するシステムバス713とを含んでいてもよいが、それらに限定されない。処理部703が複数ある場合、システムは並列コンピューティングを利用してもよい。
システムバス713は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレイティッド・グラフィックス・ポート、およびさまざまなバスアーキテクチャのいずれかを使用したプロセッサまたはローカルバスを含む、いくつかの可能なタイプのバス構造の1つ以上を表わしている。一例として、そのようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネル・アーキテクチャ(Micro Channel Architecture:MCA)バス、改良(Enhanced)ISA(EISA)バス、ビデオエレクトロニクス規格業界(Video Electronics Standards Association:VESA)ローカルバス、アクセラレイティッド・グラフィックス・ポート(Accelerated Graphics Port:AGP)バス、ペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnects:PCI)、PCIエクスプレスバス、パーソナルコンピュータメモリカード工業会(Personal Computer Memory Card Industry Association:PCMCIA)、ユニバーサル・シリアル・バス(Universal Serial Bus:USB)などを含んでいてもよい。バス713、およびこの説明で特定されるすべてのバスはまた、有線または無線ネットワーク接続を通して実現されてもよく、プロセッサ703、大容量記憶装置704、オペレーティングシステム705、データ分析ソフトウェア706、データ707、ネットワークアダプタ708、システムメモリ712、入出力インターフェイス710、ディスプレイアダプタ709、表示装置711、およびマンマシンインターフェイス702を含む、サブシステムの各々は、物理的に別個の場所で1つ以上のリモートコンピューティング装置714a、714b、714c内に含まれて、この形のバスを通して接続されてもよく、事実上、完全に分散型のシステムを実現し得る。
コンピュータ701は典型的には、さまざまなコンピュータ読取可能な媒体を含む。例示的な読取可能な媒体は、コンピュータ701によってアクセス可能である利用可能なあらゆる媒体であってもよく、たとえば、限定的ではない意味で、揮発性および不揮発性媒体の双方、取外し可能および取外し不能媒体の双方を含む。システムメモリ712は、ランダムアクセスメモリ(random access memory:RAM)などの揮発性メモリ、および/または読出専用メモリ(read only memory:ROM)などの不揮発性メモリの形のコンピュータ読取可能な媒体を含む。システムメモリ712は典型的には、データ707などのデータ、および/またはオペレーティングシステム705およびデータ分析ソフトウェア706などのプログラムモジュールを含み、それらは処理部703にすぐにアクセス可能であり、および/または処理部703によって現在処理されている。
別の局面では、コンピュータ701は、他の取外し可能/取外し不能、揮発性/不揮発性コンピュータ記憶媒体も含んでいてもよい。一例として、図7は、コンピュータ701のためのコンピュータコード、コンピュータ読取可能な命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶を提供可能な大容量記憶装置704を示す。たとえば、限定的ではない意味で、大容量記憶装置704は、ハードディスク、取外し可能磁気ディスク、取外し可能光ディスク、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD-ROM、デジタル多用途ディスク(digital versatile disk:DVD)または他の光学記憶装置、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、電気的消去可能プログラム可能読出専用メモリ(electrically erasable programmable read-only memory:EEPROM)などであってもよい。
オプションで、一例としてオペレーティングシステム705およびデータ分析ソフトウェア706を含む、任意の数のプログラムモジュールが、大容量記憶装置704上に格納されてもよい。一局面では、上述の方法のうち1つ以上は、データ分析ソフトウェア706およびプロセッサ703によって実現することができる。一局面では、データ分析ソフトウェア706は、1つ以上の視覚化表現データ707を動的に生成するための視覚化コンポーネントを含み得る。オペレーティングシステム705およびデータ分析ソフトウェア706(またはそれらの何らかの組合せ)の各々は、プログラミングおよびデータ分析ソフトウェア706の要素を含んでいてもよい。データ707も、大容量記憶装置704上に格納されてもよい。データ707は、当該技術分野において公知の1つ以上のデータベースのいずれかに格納されてもよい。そのようなデータベースの例は、DB2(登録商標)、マイクロソフト(登録商標)アクセス、マイクロソフト(登録商標)SQLサーバ、オラクル(登録商標)、mySQL、PostgreSQLなどを含む。データベースは、複数のシステムにわたって集中型または分散型であってもよい。
別の局面では、ユーザは、入力装置(図示せず)を介してコマンドおよび情報をコンピュータ701に入力してもよい。そのような入力装置の例は、キーボード、ポインティングデバイス(たとえば、「マウス」)、マイク、ジョイスティック、スキャナ、グローブなどの触覚入力装置、および他の身体カバーなどを含むが、それらに限定されない。これらのおよび他の入力装置は、システムバス713に結合されたマンマシンインターフェイス702を介して処理部703に接続されてもよいが、パラレルポート、ゲームポート、IEEE1394ポート(ファイアワイヤポートとしても公知)、シリアルポート、またはユニバーサル・シリアル・バス(USB)などの他のインターフェイスおよびバス構造によって接続されてもよい。
さらに別の局面では、表示装置711も、ディスプレイアダプタ709などのインターフェイスを介してシステムバス713に接続されてもよい。コンピュータ701は2つ以上のディスプレイアダプタ709を有していてもよく、コンピュータ701は2つ以上の表示装置711を有していてもよい、ということが考えられる。たとえば、表示装置は、モニタ、LCD(Liquid Crystal Display:液晶ディスプレイ)、またはプロジェクタであってもよい。表示装置711に加え、他の出力周辺装置は、入出力インターフェイス710を介してコンピュータ701に接続可能なスピーカ(図示せず)およびプリンタ(図示せず)などの構成要素を含んでいてもよい。本方法のどのステップおよび/または結果も、任意の形で出力装置に出力されてもよい。そのような出力は、テキスト、グラフィカル、アニメーション、音声、触覚などを含むがそれらに限定されない任意の形の視覚表現であってもよい。
コンピュータ701は、ネットワーク715を介する1つ以上のリモートコンピューティング装置714a、714b、714cへの論理接続を使用して、ネットワーク化環境において動作可能である。一例として、リモートコンピューティング装置は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピア装置、または他の共通ネットワークノードなどであってもよい。コンピュータ701とリモートコンピューティング装置714a、714b、714cとの論理接続は、ローカルエリアネットワーク(local area network:LAN)および一般的なワイドエリアネットワーク(wide area network:WAN)を介して行なわれてもよい。そのようなネットワーク接続は、ネットワークアダプタ708を通っていてもよい。ネットワークアダプタ708は、有線環境および無線環境の双方で実現可能である。そのようなネットワーク環境は、事務所、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて従来からあり、一般的である。
説明のため、オペレーティングシステム705などのアプリケーションプログラムおよび他の実行可能なプログラムコンポーネントをここに個別のブロックとして図示するが、そのようなプログラムおよびコンポーネントは、コンピューティング装置701の異なる記憶コンポーネントに何度も存在し、コンピュータのデータプロセッサによって実行される、ということが認識される。データ分析ソフトウェア706の一実現化例は、何らかの形のコンピュータ読取可能な媒体上に格納され、またはそれを通って送信されてもよい。開示された方法のいずれも、コンピュータ読取可能な媒体上に具現化されたコンピュータ読取可能な命令によって行なわれてもよい。コンピュータ読取可能な媒体は、コンピュータによってアクセス可能である利用可能なあらゆる媒体であってもよい。一例として、限定的ではない意味で、コンピュータ読取可能な媒体は、「コンピュータ記憶媒体」および「通信媒体」を含んでいてもよい。「コンピュータ記憶媒体」は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のために任意の方法または技術で実現される、揮発性および不揮発性、取外し可能および取外し不能媒体を含む。例示的なコンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、もしくは所望の情報を格納するために使用可能であり、コンピュータによってアクセス可能である他のあらゆる媒体を含むが、それらに限定されない。
本方法およびシステムは、機械学習および反復学習などの人工知能技術を採用してもよい。そのような技術の例は、エキスパートシステム、事例に基づく推論、ベイジアンネットワーク、行動ベースのAI、ニューラルネットワーク、ファジーシステム、進化的計算法(たとえば、遺伝的アルゴリズム)、群れ知能(たとえば、蟻のアルゴリズム)、およびハイブリッド知的システム(たとえば、ニューラルネットワークを通して生成されたエキスパート推論規則、または統計学習からの生成規則)を含むが、それらに限定されない。
一局面では、プロセッサ703は、第1のユーザのために一次セッションを開始するステップと、第2のユーザの協調を要求するステップと、第2のユーザのために二次セッションを開始するステップと、第1のユーザおよび第2のユーザに協調リアルタイムデータ分析のための単一の状態空間を提供するステップとを実行するように構成可能であり、どちらかのユーザによるインタラクションが単一の状態空間において反映される。第1のユーザのために一次セッションを開始するステップは、第1のユーザインターフェイスを生成するステップを含み得る。第2のユーザの協調を要求するステップは、第2のユーザが二次セッションを閲覧することを可能にするように構成されたURLを第2のユーザに提供するステップを含み得る。第2のユーザのために一次セッションを開始するステップは、第2のユーザインターフェイスを生成するステップを含み得る。単一の状態空間はデータセットのビューであり得る。
一次セッションおよび二次セッションは、結果として、同期論理を介して接続される複数のXMLトランスフォーマに接続可能な協調セッションとなり得る。複数のXMLトランスフォーマのうちのいずれかによって実行されるインタラクションは、複数のXMLトランスフォーマ中の他のXMLトランスフォーマに送り返されてもよい。
さらなる局面では、プロセッサ703は、選択状態を反映する状態空間を作成するステップと、メモを作成するステップと、状態空間においてオブジェクトにメモを添付するステップとを実行するように構成されてもよい。状態空間はデータセットのビューであり得る。メモは、オブジェクトについての観察結果を含み得る。プロセッサは、選択状態を保存し、保存された選択状態をメモと関連付けるようにさらに構成されてもよい。保存された選択状態は、メモが作成されたときの選択状態を反映する。メモは、複数のメモを含むメモスレッドを含み得る。プロセッサはさらに、複数の選択状態を保存するように構成されてもよく、複数の選択状態の各々は、複数のメモのうち1つ以上に関連付けられる。プロセッサはさらに、オブジェクトを、添付されたメモを有するものとして識別するように構成されてもよい。
さらなる局面では、プロセッサ703は、添付されたメモを有する状態空間においてオブジェクトを提示するステップと、メモの選択を受取るステップと、メモを提示し、メモに関連付けられた保存された選択状態を反映するように状態空間を調節するステップとを実行するように構成されてもよい。メモは、オブジェクトについての観察結果を含み得る。状態空間はデータセットの第1のビューであり得る。保存された選択状態はデータセットの第2のビューであり得る。保存された選択状態は、メモの作成と同時に保存され得る。メモは、複数のメモを含むメモスレッドを含み得る。この場合、複数のメモのうち1つ以上は、関連付けられ保存された選択状態を有する。
上述の方法およびシステムは、リアルタイムの関連データマイニングおよび視覚化を可能にする。一局面では、本方法おびシステムは、分析データセットにおけるあらゆるデータ点がデータセットにおけるあらゆる他のデータ点に関連付けられた、データセット間の関連付けを管理してもよい。データセットは、何千ものフィールドを有する何百ものテーブルであってもよい。
一局面では、ユーザの、開示されたデータベース方法およびシステムとのインタラクションのための方法およびシステムが提供される。一局面では、データを閲覧するための動的表示生成を容易にするために、ユーザインターフェイスが生成されてもよい。一例として、ユーザのために生成されたある特定のデータセットまたはデータサブセットのある特定のビューが、状態空間またはセッションと呼ばれてもよい。システムは、状態空間において提示するためのデータの1つ以上の視覚表現を動的に生成するための視覚化コンポーネントを含んでいてもよい。
図8は、データサブセットを生成するために、選択がどのように範囲に作用するかを示す。データサブセットは状態空間を形成可能であり、それは選択によって与えられた選択状態に基づいている。一局面では、選択状態(または「ユーザ状態」)は、ユーザがアプリケーションのユーザインターフェイスにおけるリストボックスまたはグラフをクリックすることによって定義されてもよい。アプリケーションは、データサブセットに対し、1つ以上の次元(分類変数)について、1つ以上の数学関数(「式」とも呼ばれる)を算定する複数のグラフィカルオブジェクト(チャート、テーブルなど)をホストするように設計可能である。この算定の結果は、1つ以上のグラフィカルオブジェクトにおいて視覚化可能な多次元立方体であるチャート結果を作成する。
アプリケーションは、ユーザが、変数を選択するためにグラフィカルオブジェクトをクリックすることにより、異なる選択を行なうことによって、範囲を調査することを可能にし、それはチャート結果の変更をもたらす。調査中のあらゆる時点で、現在の状態空間が存在し、それは、(常に同じままである)範囲に対して作用される現在の選択状態に関連付けられ得る。
図8に示すように、ユーザが新しい選択を行なうと、推論エンジンがデータサブセットを計算する。また、選択および範囲におけるフィルタに基づいて、選択および範囲用の識別子ID1が生成可能である。次に、データサブセットの内容を定義するデータサブセット定義、典型的にはビットシーケンスに基づいて、データサブセット用の識別子ID2が生成される。最後に、ID1をルックアップ識別子として使用して、ID2をキャッシュに入れてもよい。同様に、ID2をルックアップ識別子として使用して、データサブセット定義をキャッシュに入れる。
図8では、チャート計算が同様に行なわれる。ここでは、2つの情報セット、すなわちデータサブセットおよび関連チャートプロパティがある。後者は典型的には、計算変数および分類変数(次元)をともに有する数学関数であるが、それに制限されない。これらの情報セットの双方は、チャート結果を計算するために使用され、これらの情報セットの双方はまた、チャート計算への入力用の識別子ID3を生成するためにも使用される。ID2は既に前のステップで生成されており、チャート計算手順ではID3が第1のステップとして生成される。
識別子ID3は、ID2および関連チャートプロパティから形成される。ID3は、特定のチャート結果を計算するために必要なすべての情報を含む、特定のチャート生成インスタンス用の識別子として見られる。加えて、チャート結果を定義するチャート結果定義、典型的にはビットシーケンスから、チャート結果識別子ID4が作成される。最後に、ID3をルックアップ識別子として使用して、ID4をキャッシュに入れる。同様に、ID4をルックアップ識別子として使用して、チャート結果定義をキャッシュに入れる。
グラフィカルオブジェクト(または視覚表現)は、グラフ、チャート、ツリー、多次元描写、画像(コンピュータにより生成された、またはデジタルキャプチャ)、データを説明する映像/音声表示、各区域において異なるデータ分析を有する複数の表示区域へと出力がセグメント化されるハイブリッド表現などを含む、実質的にあらゆる表示または出力タイプであってもよい。ユーザは1つ以上のデフォルト視覚表現を選択してもよいが、次の視覚表現は、データにとって最も好適な形のさらなる分析および次の動的選択に基づいて生成されてもよい。図9に示すように、インターフェイスの左側には、いくつかのリストボックスが設けられており、ユーザインターフェイスの右側には、リストボックスにおける選択(または選択しなかったこと)を反映するグラフィカルオブジェクトが表示されている。リストボックスおよびグラフィカルオブジェクトの配置は、設計選択の事項である。一局面では、ユーザはデータ点を選択してもよく、ユーザの選択に基づいて、視覚化コンポーネントが、他のフィールドおよび対応する視覚表現を瞬間的にフィルタリングし、再集約してもよい。一局面では、フィルタリングおよび再集約は、データベースに問合せることなく完了されてもよい。一局面では、視覚表現は、意味があるように施された配色を使用してユーザに提示されてもよい。たとえば、ユーザ選択は緑で強調表示され、選択に関連するデータセットは白で強調表示され、関連のないデータは灰色で強調表示されてもよい。意味があるように配色を施すことは、状態空間において直観的なナビゲーションインターフェイスを提供する。
図10aに示すように、いくつかのグラフィカルオブジェクトを含むレイアウトがユーザに提供される。このデータセットは映画データを反映している。たとえば、映画監督、映画の題名、映画俳優、映画の長さ、映画のレーティング、映画公開日などである。図10bに示すように、ユーザが一旦ある監督を選択すると、グラフィカルオブジェクトはリアルタイムで動的に調節される。この例では、ユーザは「エメリック プレスバーガー(Emeric Pressburger)」監督を選択している。この選択に応答して、グラフィカルオブジェクトのすべては、「エメリック プレスバーガー」に関連するデータを反映するように調節される。
このように、提供される方法およびシステムにより、ユーザは、生データをすぐに実施可能な分析に変換可能なセッションをインスタンス化することができる。1人のユーザが意味のある視覚表現を生成するためにインターフェイスを操作可能であるが、複数のユーザが同時にまたは実質的に同時にインターフェイスを操作可能な協調セッションを容易にする方法およびシステムも提供される。
一局面では、ユーザは自分のセッションを1人以上の他のユーザと共有してもよい。その結果、ユーザらは、リアルタイムの協調環境において新しい分析を発見し、展開することができる。各ユーザは、すべてのユーザに見える選択を行なってもよい。場合によっては、数人のユーザのみが選択を行なえるように制約が実施されてもよい。さらに別の一例では、あるユーザの一時的なリスト(たとえば、検索、ドロップダウンなど)を他のユーザらから隠してもよい。
一局面では、2人以上のユーザが共通のセッションを共有してもよい。セッションが生成された最初の時点は一次セッションと呼ばれ、一方、参加した次のユーザらは二次セッションと呼ばれる。一局面では、一次セッションだけが他の人を参加するよう招待でき、一方、別の局面では、どのユーザも他の人を参加するよう招待できる。システムは、二次セッションのすべての局面が一次セッションのすべての局面をミラーリングするように構成可能である。一次セッションがセクションアクセス減少を有する場合、これらは二次セッションにおいてミラーリングされる。セクションアクセス減少とは、データセキュリティを提供する機構であってもよい。たとえば、ユーザがリストボックスをクリックすると、そのユーザは、優位のセクションアクセス権を有する別のユーザに対して減少した量のデータを閲覧するよう制限される場合がある。たとえば、あるユーザはすべての映画監督を閲覧できるかもしれないが、一方、別のユーザは映画監督を1人しか見ることができない。一局面では、アクセス権またはデータセキュリティに対する検査が二次セッションに適用されない。
すべてのユーザは、一次でも二次でも、システムとやり取りするユーザインターフェイスとのインタラクション(たとえば、マウスのクリック)を共有できる。クリックしたどのユーザも、そのクリックが選択状態を変更する場合、その状態の変更は他のクライアントの1人以上に送信可能である。ローカルクライアントのみに影響を与え、サーバからのメッセージ/応答を伴わないクリックは、どれも共有されない。2人以上のクライアントが「同時に」クリックした場合、サーバは、1人のクライアントが1回クリックし、次に2回目にクリックして1回目のクリックをキャンセルするのと同様に、各クリックを2つ以上の非同期クリックとして扱ってもよい。
一局面では、一次ユーザは、協調ツールバーアイコンからドロップダウンするパネルを使用して、自分のセッションに参加するよう二次ユーザらを招待してもよい。電子メール招待により、一次ユーザは、電子メールアドレスと、電子メール本文中に配置可能ないくつかの追加テキストとを特定できるようになっていてもよい。「招待」ボタンが押されると、セッションに参加するよう、電子メールが、標準メッセージと、一次ユーザが含めた追加のメッセージと、URLととともに、受信者に送信されてもよい。
セッションに参加するようにという招待は、特別にフォーマット化されたURLを使用して実行可能である。このURLは、システムおよび特定のインターフェイス作業空間へリンクを張ることができる。加えて、このURLは、適切なセッションを識別してそれに参加するための1回使用キーである追加のパラメータを提供可能である。このURLが一旦クリックされると(たとえば、サーバに送信されると)、それは無効化可能であり、そのためそれは一度しか使えず、転送できない。
二次ユーザがセッションに参加すると、一次ユーザに通知されてもよい。この通知は、協調ツールバーアイコンの状態の変化(たとえば、色の変化)、および誰がセッションに参加したかを示す、そのツールバーアイコンに接続されたメッセージであってもよい。二次ユーザが一旦セッションに参加すると、1人以上の他のユーザらは、現在セッションを共有しているユーザらのリストを閲覧してもよく、ある局面ではユーザらを削除してもよい。
別の局面では、一次ユーザは、協調ツールバーアイコンからドロップダウンするパネルを使用して、自分のセッションに参加するよう二次ユーザらを招待してもよい。二次ユーザらを招待するための追加のオプションは、システムにアクセス可能であるユーザディレクトリを検索することによる。一次ユーザは、ディレクトリ検索結果を使用してユーザらを直接招待してもよい。
図11aに示す一局面では、1101で、第1のユーザのために一次セッションを開始するステップと、1102で、第2のユーザの協調を要求するステップと、1103で、第2のユーザのために二次セッションを開始するステップと、1104で、第1のユーザおよび第2のユーザに協調リアルタイムデータ分析のための単一の状態空間を提供するステップとを含み、どちらかのユーザによるインタラクションが単一の状態空間において反映される、協調コンピューティングのための方法、システムおよびコンピュータ読取可能な媒体が提供される。
第1のユーザのために一次セッションを開始するステップは、第1のユーザインターフェイスを生成するステップを含み得る。第2のユーザの協調を要求するステップは、第2のユーザが二次セッションを閲覧することを可能にするように構成されたURLを第2のユーザに提供するステップを含み得る。第2のユーザのために一次セッションを開始するステップは、第2のユーザインターフェイスを生成するステップを含み得る。第1および第2のユーザインターフェイスは、ユーザにグラフィカルオブジェクトを提供し得る。単一の状態空間はデータセットのビューであり得る。一次セッションおよび二次セッションは、結果として、同期論理を介して接続される複数のXMLトランスフォーマに接続可能な協調セッションとなり得る。複数のXMLトランスフォーマのうちのいずれかによって実行されるインタラクションは、複数のXMLトランスフォーマ中の他のXMLトランスフォーマに送り返されてもよい。
図11bに示す一局面では、協調セッションは、2つ以上のより高いレベルのXMLトランスフォーマに接続可能な単一の低レベルの共有セッションを含んでいてもよい。XMLトランスフォーマ同士は、同期論理を介して接続可能である。各XMLトランスフォーマは、ウェブセッションの終点に接続可能であり、他方の終点はウェブブラウザに接続可能である。このため、XMLトランスフォーマのいずれかによって行なわれるコマンドおよび選択は、共有される低レベルのセッションに影響を与える場合があり、状態変化は双方のXMLトランスフォーマに送り返されてもよい。コマンドを行なったXMLトランスフォーマは、状態変化をクライアントに戻してもよい。他方のXMLトランスフォーマは、クライアント非同期機構を通して変化した状態を戻してもよい。
さらに別の局面では、タイムシフト協調のための方法およびシステムが提供される。単一の状態空間内で、ユーザらは、その状態空間内に含まれるさまざまなオブジェクトについてのメモを作成し、共有できる。これらのメモは1人以上の他のユーザらと共有でき、これらの他のユーザらは、自身のメモコメントを残すことによって応答できる。各ユーザは、状態空間の「スナップショット」(ブックマーク)およびデータを、各メモを使用して保存できる。メモは、状態空間のメモおよび関連付けられたスナップショットに効率的にアクセスするために、ユーザらによって検索可能であってもよい。
図12aは、添付されたメモと、メモの選択後に閲覧可能なメモスレッドとを有するグラフィカルオブジェクトを示す。図12bは、メモに関連付けられた保存された選択状態の選択後の状態空間の変化を示す。
一例として、ユーザは、状態空間に表示されたオブジェクトを右クリックして、コンテキストメニューから「メモ」を選択することによって新しいメモを追加し、既存のメモを閲覧するためのメニューオプションをユーザに提供してもよい。オプションで、既存のメモを有する状態空間内のすべてのオブジェクトは、(たとえば、アイコン、色の変化などにより)識別されてもよい。同様に、各オブジェクトについて添付されたメモの数が表示されてもよい。このため、結果として生じるメモは、オブジェクトおよび選択状態の双方にリンクされてもよい。オブジェクトは、1つ以上のメモと、1つ以上のメモスレッド(メモに基づいた一連のコメント)を有していてもよい。ユーザは、ユーザがデータセットを分析し、それに応じて状態空間を配置した後で、メモを作成してもよい。ユーザは、現在の状態空間のスナップショットをメモに添付するよう選択してもよい。システムは次に、隠されたブックマークを作成してもよく、それをメモに添付する。一局面では、1つの状態空間の複数のスナップショットが1つのメモに関連付けられてもよく、たとえば2つの異なる分析の比較を反映する。
メモおよび関連付けられた状態空間を閲覧するために、ユーザは所望のメモを選択してもよく、メモテキストがユーザに提示されるであろう。ユーザは次に、追加情報をメモスレッドに追加してブックマークを適用することを選択してもよく、メモに関連付けられた状態空間を反映するように現在の状態空間を修正する。別の例では、状態空間は、メモ選択時にメモに関連付けられた状態空間を反映するように自動的に更新されてもよい。
メモについて、さまざまなクラスのユーザらによるメモへのアクセスを制御するよう、許可が調節されてもよい。たとえば、あるクラスのユーザらはメモを閲覧できるもののメモを作成できないかもしれず、一方、別のクラスのユーザらはメモを作成し、編集し、削除してもよい。
タイムシフト協調のための方法は、さまざまな態様で実現可能である。たとえば、メモ(単一のメモまたはメモスレッド)が特定の選択状態にリンクされて、1つの単一の「ブックマーク」に格納されてもよい。このため、1つのブックマークが、各オブジェクトについていくつかのメモを含んでいてもよい。このブックマークを適用することにより、これらのメモは見えるようになる。さらに別の例では、メモはいくつかの選択状態にリンクされていてもよく、各メモは1つの特定の選択状態に対応可能であり、メモスレッドにおける次に続くすべての返信は、同じ選択状態に属していてもよい。ある特定のメモに属する選択状態が、一時的な隠されたブックマークに格納されてもよい。さらに別の一例では、メモは生データまたは入力フィールドにおけるデータにリンクされてもよい。このため、メモはテキスト入力フィールドとして見ることができる。
図13aに示す一局面では、1301aで、選択状態を反映する状態空間を作成するステップと、1302aで、メモを作成するステップと、1303aで、状態空間においてオブジェクトにメモを添付するステップと、1304aで、選択状態を保存するステップと、1305aで、保存された選択状態をメモと関連付けるステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取可能な媒体が提供される。状態空間はデータセットのビューであり得る。メモは、オブジェクトについての観察結果を含み得る。保存された選択状態は、メモが作成されたときの選択状態を反映し得る。メモは、複数のメモを含むメモスレッドを含み得る。方法はさらに、複数の選択状態を保存するステップを含んでもよく、複数の選択状態の各々は複数のメモのうち1つ以上に関連付けられる。方法は、オブジェクトを、添付されたメモを有するものとして識別するステップをさらに含み得る。
図13bに示すさらに別の局面では、1301bで、選択状態を反映する状態空間を作成するステップと、1302bで、メモを作成するステップと、1303bで、状態空間においてオブジェクトにメモを添付するステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取可能な媒体が提供される。状態空間はデータセットのビューであり得る。メモは、オブジェクトについての観察結果を含み得る。方法は、選択状態を保存するステップと、保存された選択状態をメモに関連付けるステップとをさらに含み得る。保存された選択状態は、メモが作成されたときの選択状態を反映し得る。メモは、複数のメモを含むメモスレッドを含み得る。方法はさらに、複数の選択状態を保存するステップを含み得る。この場合、複数の選択状態の各々は、複数のメモのうち1つ以上に関連付けられる。方法はさらに、オブジェクトを、添付されたメモを有するものとして識別するステップを含み得る。
図13cに示すさらに別の局面では、1301cで、添付されたメモを有する状態空間においてオブジェクトを提示するステップと、1302cで、メモの選択を受取るステップと、1303cで、メモを提示し、メモに関連付けられた保存された選択状態を反映するように状態空間を調節するステップとを含む、タイムシフト協調分析のための方法、システムおよびコンピュータ読取可能な媒体が提供される。メモは、オブジェクトについての観察結果を含み得る。状態空間はデータセットの第1のビューであり得る。保存された選択状態は、データセットの第2のビューであり得る。保存された選択状態は、メモの作成と同時に保存され得る。メモは、複数のメモを含むメモスレッドを含み得る。この場合、複数のメモのうち1つ以上は、関連付けられ保存された選択状態を有する。
一局面では、提供された方法およびシステムにより、ユーザは、単一の空間内に複数の状態を作成し、これらの状態を空間内の特定のオブジェクトに適用することができるようになる。ユーザは、これらのオブジェクトのコピーを作成し、次にそれらのオブジェクトを異なる状態に入れることができる。所与の状態におけるオブジェクトは、他の状態におけるユーザ選択の影響を受けない。提供された方法およびシステムにより、ユーザは、1つのビューに、異なる状態空間(ひいては異なる選択状態)を表わすグラフィカルオブジェクトを生成できるようになる。
代替的な状態の使用は、空間内での複数の選択の同時使用を許可し、単一の視覚表現または別個の視覚表現におけるそれらの選択の比較を可能にする。ユーザは、比較分析のためにデータ項目を選択し、次に、リアルタイムで比較分析に影響を与えるオーバーライド選択を行なってもよい。図14は、代替的な状態の例示的な実現化例を示す。
左手のリストボックスは、状態空間Xに論理的に関連付けられ、状態空間Xコンテナに位置しており、右手のリストボックスは、状態空間Yに論理的に関連付けられ、状態空間Yコンテナに位置している。この例では、結果グラフ(チャート)は、状態空間Xおよび状態空間Y双方において数学関数(数式)を算定した結果を表示している。このため、ユーザは、左手のリストボックスでクリックすることによって状態空間Xを定義でき、対応する算定結果を結果グラフに表示させる。同様に、ユーザは、右手のリストボックスでクリックすることによって状態空間Yを定義でき、対応する算定結果を結果グラフに表示させる。
各状態には、システム処理用の状態識別子が割当てられてもよい。一局面では、デフォルト状態および継承状態という、少なくとも2つの状態が利用可能にされてもよい。デフォルト状態は、多くの使用が発生する状態であってもよい。オブジェクトは、シートおよびコンテナなどのより高いレベルのオブジェクトから状態を継承してもよい。これは、状態が、文書−シート−シートオブジェクトなどのように継承されることを意味する。シートおよびシートオブジェクトは、オーバーライドされない限り、常に継承状態にある。一例として、文書はアプリケーション文書であってもよく、シートはそのような文書におけるタブであってもよく、コンテナは1つ以上のオブジェクトを含み得るタブ上の領域であってもよい。オブジェクトは、あらゆるテキストオブジェクトまたはグラフィカルオブジェクト、たとえば、リストボックス、円グラフ、棒グラフなどであってもよい。シートおよびシートオブジェクト(たとえば、コンテナおよびグラフィカルオブジェクト)は常に継承状態にあるが、シートまたはシートオブジェクトを明確な状態空間と関連付けることによって、そのシートまたはシートオブジェクトのための継承状態をオーバーライドすることが、ユーザにとって可能である。
一局面では、より低いレベルがより高いレベルの状態空間を自動的に継承してもよい。図14に示すように、シートにデフォルト状態空間Xが割当てられている場合、このシート上のすべてのコンテナおよび個々のオブジェクトも、特段の定めのない限り、この状態空間に関連付けられるであろう。このため、ユーザは要望通り、コンテナ/オブジェクトを状態空間Yに関連付けるだけでよい。
チャートおよび他のオブジェクト式は、式を含むオブジェクトの状態を継承する。チャートおよびオブジェクト式は、代替的な状態を参照してもよい。これは、式がどこで発生しても、その式は、その式を含むオブジェクトとは異なる状態を参照してもよい、ということを意味する。
本方法およびシステムは、フィールド毎の選択値という観点から状態の定義を採用し、テーブル毎の行のサブセットという観点からセットを定めることにより、チャートおよび集約を計算するために、デフォルト状態を使用してデータのサブセットを駆動してもよい。このデフォルト挙動は、代替的な状態を可能にするために、1.現在の選択とは独立した1セットのデータを定義する;2.合併、交わり、および除外などの数学演算子の使用を通して複数のセットを組合せるという2つの個別の点で、変更されてもよい。
代替的な状態は、セットを生成可能な選択状態を定義するという第1の部分における役割を果たす。処理する目的のために、デフォルト状態は「$」によって表わされてもよく、一方、すべてのデータは、状態および選択に係わらず、「1」によって表わされてもよい。代替的な状態は、2つの追加の構文要素を導入する。
1.ある式は、ある代替状態に基づいていてもよい。
例:
sum({[Group 1]}Sales)は、状態′群1′における選択に基づいた売上を計算する。
sum({$}Sales)は、デフォルト状態における選択に基づいた売上を計算する。
これらの式は双方とも、単一のチャートに存在していてもよい。これにより、ユーザらは、単一のオブジェクト内で複数の状態を比較することができる。式における状態参照は、オブジェクトの状態をオーバーライドする。図14は、そのような一実現化例として見られてもよい。状態空間Xは($によって表わされる)デフォルト状態空間であってもよく、状態空間Yは状態空間「群1」であってもよい。このため、結果グラフにおける左手の棒は、数学関数Sum({$}Sales)によって与えられてもよく、一方、結果グラフの右手の棒は、数学関数Sum({[Group 1]}Sales)によって与えられてもよい。これは、式がどこで発生しても、その式は、その式を含むオブジェクトとは異なる状態を参照してもよいという事実の一例である。
状態空間XおよびYについての算定結果を1つの同じ結果グラフに表示する代わりに、それらを別個のグラフで表示してもよい。そのような一例では、グラフのうちの一方は式Sum({[Group 1]}Sales)に関連付けられ、他方のグラフは式Sum({$}Sales)に関連付けられるであろう。
2.1つの状態におけるフィールドでの選択は、別の状態における修正子として使用されてもよい。
例:
sum({[Group 1]<Region=$::Region>}Sales)
この構文は、デフォルト状態からの「領域(Region)」フィールドにおける選択を使用して、それらを用いて状態′群1′を修正する。この効果は、この式のためにデフォルト状態と′群1′との間で領域フィールドを「同期された」ままに保つことである。このため、(たとえば、ユーザが状態空間Xに関連付けられたリストボックスにおける値をクリックすることによる)第1の状態空間に関連付けられたオブジェクトにおける選択が、第1の状態空間に加えて(またはその代わりに)第2の状態空間(たとえば、状態空間Y)を修正するために使用可能である。図14では、これは、ユーザが、状態空間Xを修正するように左手側の特定のリストボックスにおいて選択を行なう際に、対応する修正(選択)が自動的に状態空間Yに行なわれることを確実にするために、使用され得る。
状態とともに集合演算子(+、、−、/)を使用することが可能である。以下の式は有効であり、デフォルト状態または状態1のいずれかにおける別個のインボイス番号をカウントするであろう。
例:
count({$+State 1}DISTINCT[Invoice Number])は、<default>(デフォルト)状態および状態1の合併における別個のインボイス番号をカウントする。
count({1-State 1}DISTINCT[Invoice Number])は、状態1ではない別個のインボイス番号をカウントする。
count({State 1*State 2}DISTINCT[Invoice Number])は、<default>状態および状態1の双方である別個のインボイス番号をカウントする。
このため、本方法およびシステムは、以下のブール代数から知られた論理演算子の使用により、異なる状態空間におけるデータを論理的に組合せる方法を提供する:
+=合併(A+Bは、AおよびB双方のすべての要素を含む)
=交わり(ABは、Bにも属するAのすべての要素を含む)
−=差(A−Bは、Bに属さないAのすべての要素を含む)
/=XOR(A/Bは、AおよびBのうちの一方にのみ見られるすべての要素を含む)。
集合演算子の使用により、2つ以上の状態空間からのデータを、たとえばグラフでの表示用に1つの式に組合せて算定することが可能になる。
図15に示す一局面では、1501で、第1の状態空間に関連付けられた第1のユーザインターフェイス要素と、第2の状態空間に関連付けられた第2のユーザインターフェイス要素とを提示するステップと、1502で、第1および第2のユーザインターフェイス要素において選択を受取るステップと、1503で、第1の状態空間の選択状態および第2の状態空間の選択状態を表わす結果グラフを提示するステップとを含む、データ分析のための方法が提供される。一局面では、第1の状態空間および第2の状態空間は、同じデータセットを含んでいてもよく、または異なるデータセットを含んでいてもよい。
一局面では、次元制限を利用するための方法およびシステムが提供される。次元制限は、さまざまなチャートタイプ用に設定可能である。所与のチャートにおいて表示される次元値の数を制御するために、「次元制限」というオプションがユーザに提示されてもよい。ユーザは、複数の値、たとえば「最初の…個の値」、「最大の…個の値」および「最小の…個の値」のうちの1つを選択可能である。これらの値は、システムが視覚化コンポーネントに戻す値をシステムがソートする方法を制御する。一局面では、ソーティングは第1の式についてのみ発生する(一次ソートが一次元ソートをオーバーライドし得る場合は、ピボットテーブルを除く)。図16に示す一局面では、1つ以上の次元制限を適用するために、1つ以上のユーザインターフェイス要素が提示可能である。たとえば、「…のみを表示」という次元制限をユーザが適用できるようにするために、スライディング選択ツールが提示可能である。図16における例は、次元制限の適用が上位6人の営業担当者のみを表示することを示している。
次元制限は、チャート(グラフ、テーブルなど)において表示すべきデータを生成するために適用されてもよい。これらの次元制限は、以下の1つ以上を含んでいてもよい。
「…のみを表示」
このオプションは、ユーザが最初の、最大の、または最小のx個の値を表示したい場合に選択可能である。このオプションが5に設定されている場合、5つの値が表示されるであろう。次元が「その他を表示」をイネーブルにした場合、「その他」というセグメントが、5つの表示スロットのうちの1つを占めるであろう。
「最初の…個の値」というオプションは、プロパティダイアログの「ソート」タブ上で選択されたオプションに基づいて、行を戻すであろう。チャートがストレートテーブルである場合、行は、その時点の一次ソートに基づいて戻されるであろう。言い換えれば、ユーザは、いずれかの列ヘッダでダブルクリックし、その列を一次ソートとすることによって、値の表示を変更可能である。
「最大の…個の値」というオプションは、チャートにおける第1の式に基づいて、行を大きい順に戻す。ストレートテーブルにおいて使用される場合、図示された次元値は、式をインタラクティブにソートする間、一定のままとなるであろう。式の順序が変更されると、次元値は変わるであろう(変わる場合がある)。
「最小の…個の値」というオプションは、チャートにおける第1の式に基づいて、行を小さい順に戻す。ストレートテーブルにおいて使用される場合、図示された次元値は、式をインタラクティブにソートする間、一定のままとなるであろう。式の順序が変更されると、次元値は変わるであろう(変わる場合がある)。
「…である値のみを表示」
このオプションは、ユーザが、このオプションについての特定された条件を満たすすべての次元値を表示したい場合に選択可能である。全体のパーセンテージ、または正確な数量に基づいて、値を表示することを選択する。「全体に対する相対値」というオプションは、プロパティダイアログの「式」タブ上の「相対値」というオプションと同様の相対値モードを可能にする。値は、計算された式として入力されてもよい。
「累算すると…になる値のみを表示」
このオプションが選択された場合、現在の行までのすべての行が累算され、結果が、このオプションにおいて設定された値と比較される。「全体に対する相対値」というオプションは、プロパティダイアログの「式」タブ上の「相対値」というオプションと同様の相対値モードを可能にし、(最初の値、最大の値または最小の値に基づく)累算値を総計と比較する。値は、計算された式として入力されてもよい。
以下の1つ以上を含む異なる表示オプションも提供される。
「その他を表示」
このオプションをイネーブルにすると、チャートにおいて「その他」というセグメントが生成されるであろう。表示制約についての比較基準を満たさないすべての次元値は、「その他」というセグメントへとグループ化されるであろう。選択された次元の後に次元がある場合、「内部次元を折畳む」が、次の/内部次元についての個々の値がチャート上に表示されるかどうかを制御するであろう。
「グローバルグループ化モード」
このオプションは、内部次元にのみ当てはまる。このオプションがイネーブルにされると、選択された次元のみに対して制約が計算されるであろう。すべての以前の次元は無視されるであろう。これがディスエーブルにされると、制約は、すべての先行する次元に基づいて計算される。
選択されたオプション「その他を表示」とともに次元制限を使用することを、顧客A〜Fおよび製品XおよびYについて与えられた、「顧客」、「製品」および「売上」という変数を含む図17aに示すデータセットに基づいた簡略化された例に関連して、ここで説明する。
例1
ユーザが、各「顧客」について売上を視覚化したいと仮定する。これは、次元変数「顧客」について数学関数Sum(Sales)を算定することに対応する。これは、(図17bに示すようなグラフまたはテーブルとして視覚化され得る)以下の多次元立方体をもたらす。
例2
ここでは、ユーザが、立方体の生成のために「最初の3個の値のみを表示」という次元制限を「顧客」という次元に適用しつつ、「その他を表示」のボックスにもチェックマークを付けたと仮定する。これは、図17cに示す立方体をもたらす。図示されているように、売上は顧客AおよびBについて表示されているものの、残りの顧客(C〜F)の売上は「その他」の値へと集約されている。
例3
代わりに、ユーザが、立方体の生成のために「最大の3個の値のみを表示」という次元制限を「顧客」という次元に適用しつつ、「その他を表示」のボックスにもチェックマークを付けたと仮定する。これは、図17dに示す立方体をもたらす。図示されているように、売上は顧客AおよびCについて表示されているものの、残りの顧客(BおよびD〜F)の売上は「その他」の値へと集約されている。
例4
代わりに、ユーザが、立方体の生成のために「50以上の値のみを表示」という次元制限を「顧客」という次元に適用しつつ、「その他を表示」のボックスにもチェックマークを付けたと仮定する。これは、図17eに示す立方体をもたらす。図示されているように、売上は顧客A、BおよびCについて表示されているものの、残りの顧客(D〜F)の売上は「その他」の値へと集約されている。
例5
代わりに、ユーザが、立方体の生成のために「累算すると総計の80%になる最大の値のみを表示」という次元制限を「顧客」という次元に適用しつつ、「その他を表示」のボックスにもチェックマークを付けたと仮定する。これは、図17fに示す立方体をもたらす。図示されているように、売上は顧客A、B、CおよびFについて表示されているものの、残りの顧客(DおよびE)の売上は「その他」の値へと集約されている。
これらの例はすべて、ここに前述された計算を利用している。上述の例は次元制限の理解を容易にするために簡略化されているということが理解されるべきである。しかしながら、実際の場合では、多くの異なるテーブルにわたって接続された大量のデータについて、1つ以上の複雑な数学関数が算定される場合がある。
1つ以上の次元(分類変数)について数学関数を順次算定するために、データは、変換構造を使用することにより、および開始テーブルに基づいて、二進コード化フォーマットで処理されてもよい。これを、図4のテーブル15および16を参照して例示する。
ここで、テーブル15は、開始テーブルにおける各記録について順次更新される仮想データ記録の使用を示し、テーブル16は、仮想データ記録の順次更新された内容に基づいて、どのように中間データ構造が投入されるかを示している。中間データ構造は、分類変数の値の既存の各固有の組合せについての数式の算定結果を集約するために使用される集約フィールドを含む。テーブル16では、中間データ構造は、(0,0)、(1,0)、(2,0)、(3,−2)という「クライアント」と「年」との組合せについての算定結果を集約している。−2という値はヌル値を示す。
テーブル16はまた、中間データ構造において次元がどのように「排除され」または「折畳まれる」かについて示しており、それは、1つ以上の分類変数のすべての値について数式が集約されることを意味する。このプロセスでは、折畳まれた次元についての算定結果の集約を保持するために、追加のデータ記録が中間データ構造に追加される。テーブル16では、中間データ構造は、「クライアント」が折畳まれた場合のデータ記録(−1,0)、(−1,−2)と、「年」が折畳まれた場合のデータ記録(0,−1)、(1,−1)、(2,−1)、(3,−1)と、「クライアント」および「年」の双方が折畳まれた場合の1つのデータ記録(−1,−1)とを含む。ある変数についての−1という値はこのため、変数のすべての値の算定結果が集約されたことを示す。
中間データ構造におけるデータは次に、図5のテーブル17に示すような多次元立方体を構築するために使用される。中間データ構造および結果として生じる多次元立方体の若干より進んだ例をそれぞれ、図6のテーブル28および29に示す。ここでは、より複雑な数学関数が多次元立方体(テーブル29)において算定され、中間データ構造(テーブル28)は、テーブル28および29に示す多次元立方体における数学関数の正しい算定のために必要とされるある数式の算定結果を集約する集約フィールドを含む。
上述の例1〜5に戻ると、全体的な多次元立方体(上述の例1の全テーブルを参照)を生成し、この立方体において、たとえば最初の2人の顧客および彼らの売上データ(例2)、または売上が最大の2人の顧客および彼らの売上データ(例3)などのデータを単純に選択することにより、ある次元制限が適用可能であることが認識されるべきである。
「その他」の値を算定すべき場合、困難が生じる。なぜなら、この値は、多次元立方体が生成される場合、定義できないためである(なぜなら、その内容は、多次元立方体が一旦生成されて初めて知られるためである)。「その他」の値は、1つ以上の分類変数(上述の例ではある「顧客」)の特定の値についての算定結果の集約に対応している。上述の例では、数学関数は単純な加算であり、「その他」の値についての数学関数の算定結果は、「その他」の値に含まれるべき「顧客」についての(立方体内の)合計を単純に加算することによって得られてもよい。しかしながら、数学関数がより複雑である場合、たとえば、それが平均数量を含む場合(上述のテーブル28〜29を参照)、「その他」の値は、立方体内のデータを組合せることによって得ることはできない。
1つの解決策は、「その他」の値を定義する分類変数の特定の値についての集約フィールドを含む、新しい多次元立方体の計算を開始することである。例2の状況では、この新しい立方体は、顧客C〜Fについての集約された結果を含む「その他」として指定された新しい「顧客」を含むように計算されるであろう。
データ処理を最小限に抑えるため、本方法およびシステムは、多次元立方体に「その他」の値を投入するために、中間データ構造(たとえば、既存のまたは以前にデータ投入された中間データ構造)を利用できる。前述のように、中間データ構造の集約フィールドは、次元が折畳まれる(排除される)ことを可能にするように定義されている。いくつかの点で、「その他」の値の算定は、中間データ構造における次元の部分的排除として見なされてもよい。
このため、例2〜4では、次元制限は、立方体に含まれるべき変数「顧客」の値を、対応する売上とともに識別する。立方体の「その他」の値は、中間データ構造を全面的に検討することにより変数「顧客」の残りの値についての売上を集約することによって、投入される。
例5では、次元制限は、総売上が知られることを必要とする。(次元「顧客」の排除に対応して)中間データ構造が一旦生成されて初めて、総売上データが知られる。「その他」の値を投入するために、中間データ構造は、総売上の少なくとも80%に達するまで異なる「顧客」についての集約フィールドにおける最大値(売上)を識別し、残りの「顧客」の売上を集約することにより「その他」の値の内容を算定するために、もう一度全面的に検討される。
中間データ構造に基づいて「その他」の値を正しく算定できないかもしれない状況がある。たとえば、(US7058621で述べられた)算定が頻度データへの特別の注意を必要とする場合などである。一実施例では、本方法およびシステムは、頻度データへの特別の注意についての潜在的必要性を検出する構成要素を含む。そのような潜在的必要性が検出された場合、本方法およびシステムは、「その他」の値を投入することを拒否してもよい。一変形例では、本方法およびシステムは代わりに、(たとえば、中間データ構造に基づいて「その他」の値を算定することにより通常回避される処理集約型の代替例を使用して)「その他」の値を含む新しい多次元立方体の計算を開始してもよい。一例では、多次元立方体の生成中に、1つの仮想データ記録の内容に基づいて中間データ構造における2つ以上のデータ記録が更新されたことを、ソフトウェアが検出した場合にはいつでも、頻度データへの特別の注意についての潜在的必要性はフラグを立てられてもよい。
グローバルグループ化モードの例
図18aに示す多次元立方体を仮定する。ここで、この立方体は、2つの次元(分類変数)である「製品」および「顧客」についての売上を算定するために生成される。ここで、ユーザが、「最大の3個の値のみを表示」という次元制限を「顧客」という変数に適用しつつ、「その他を表示」のボックスにもチェックマークを付けたと仮定する。これは、図18bに示す多次元立方体をもたらすであろう。
図示されているように、プロセスは、製品Xの最大の売上を有する2人の顧客と、製品Yの最大の売上を有する2人の顧客とを識別し、製品Xについての「その他」の値と製品Yについての「その他」の値とを生成する。製品Xについての「その他」の値は、顧客C〜Fについての売上を累算し、製品Yについての「その他」の値は、顧客BおよびD〜Fについての売上を累算している。「その他」の値は、(たとえば、中間データ構造を全面的に検討することにより)上述と同様に生成される。
代わりに、ユーザが同じ次元制限を「顧客」という変数について適用し、(「その他を表示」のボックスにチェックマークを付けつつ)「グローバルグループ化モード」のボックスにもチェックマークを付けたと仮定する。これは、図18cに示す多次元立方体をもたらすであろう。
グローバルグループ化モードにより、プロセスは、すべての製品(たとえば、組合された製品Xおよび製品Y)の最大の売上を有する2人の顧客を識別するようになる。立方体は、これら2人の顧客についての製品Xについての売上データ、および製品Xについての残りの「顧客」(たとえば、顧客BおよびD〜F)についての売上を累算した「その他」の値、ならびに、これら2人の顧客についての製品Yについての売上データ、および製品Yについての残りの「顧客」(たとえば、顧客BおよびD〜F)についての売上を累算した「その他」の値を含むように生成される。
このように、グローバルグループ化モードにより、次元制限は、選択された次元(顧客)にのみ適用されるようになる。
図19に示す一局面では、1901で、データ処理事象をデータセットに対して実行して第1の多次元立方体データ構造をもたらすステップと、1902で、1つ以上の次元制限をその多次元立方体データ構造に適用して第2の多次元立方体データ構造をもたらすステップとを含む、データ分析のための方法が提供される。第1のデータ処理事象は、データセットにおける1つ以上の次元変数について数学関数を算定することを含んでいてもよい。1つ以上の次元制限は、「…のみを表示」、「…である値のみを表示」、「累算すると…になる値のみを表示」などを含んでいてもよい。一局面では、第2の多次元立方体データ構造は、「その他を表示」、「グローバルグループ化」などのうちの1つ以上に従って表示されてもよい。
所与のチャートにおいて表示される次元値の数を制御するために、「次元制限」というオプションがユーザに提示されてもよい。ユーザは、複数の値、たとえば「最初の…個の値」、「最大の…個の値」および「最小の…個の値」のうちの1つを選択可能である。これらの値は、システムが視覚化コンポーネントに戻す値をシステムがソートする方法を制御する。一局面では、ソーティングは第1の式についてのみ発生する(一次ソートが一次元ソートをオーバーライドし得る場合は、ピボットテーブルを除く)。
方法およびシステムを、好ましい実施例および特定の例に関連して説明してきた。ここの実施例はすべての点で限定的ではなく例示的であるよう意図されているため、範囲は、述べられた特定の実施例に限定されるよう意図されてはいない。
特に明記しない限り、ここに述べられたどの方法も、そのステップが特定の順序で行なわれることを要するとして解釈されるべきであるとは全く意図されていない。したがって、ある方法クレームがそのステップによって追従されるべき順序を実際に記載していない場合、もしくは、ステップが特定の順序に限定されるべきであるということが請求項または説明において具体的に記載されていない場合、いかなる点でも、順序が推論されるべきであるとは全く意図されていない。これは、ステップまたは動作フローの構成に関する論理の事項、文法構成または句読法から由来する明白な意味、明細書に記載された実施例の数またはタイプを含む、解釈のためのあらゆる可能な非発現基盤について当てはまる。
さまざまな修正および変更が範囲または精神から逸脱することなくなされ得ることは、当業者には明らかであろう。ここに開示された明細書および実践を検討することから、他の実施例が当業者には明らかであろう。明細書および例は単なる例示として考えられ、真の範囲および精神は請求項によって示されるということが意図されている。

Claims (6)

  1. サーバコンピュータによって実行される、協調コンピューティングのための方法であって、
    サーバコンピュータが、第1のユーザのために第1のブラウザと一次セッションを開始するステップと、
    前記サーバコンピュータが、第2のユーザが二次セッションを閲覧することを可能にするように構成されたURLを第2のブラウザに提供することにより第2のユーザの協調を要求するステップと、
    前記サーバコンピュータが、前記URLを前記第2のブラウザから送信されると、第2のユーザのために第2のブラウザと二次セッションを開始するステップとを含み、前記一次セッションと前記二次セッションは協調セッションであり、セッションは、状態空間においてデータを提示するための視覚表現であり、
    前記方法は、前記サーバコンピュータが、第1のユーザおよび第2のユーザに協調リアルタイムデータ分析のための単一の状態空間を提供するステップをさらに含み、前記単一の状態空間は、選択状態を表わすデータセットのビューであり、どちらかのユーザによるインタラクションが単一の状態空間において反映され、協調リアルタイムデータ分析のための前記単一の状態空間を提供するステップは、前記選択状態に基づいて多次元立方体を表わすグラフィカルオブジェクトを生成することを含み、
    前記選択状態は前記第1のユーザまたは前記第2のユーザの少なくとも一方から受信され、
    前記方法は、前記サーバコンピュータが、前記選択状態に基づいてデータの1つ以上の視覚表現を動的に生成するステップをさらに含み、
    前記データの1つ以上の視覚表現を動的に生成するステップは、複数の前記選択状態を表わすために生成された多次元立方体を表わすグラフィカルオブジェクトを一つのビューに生成することを含む、方法。
  2. 第1のユーザのために一次セッションを開始するステップは、第1のユーザインターフェイスを生成するステップを含む、請求項1に記載の方法。
  3. 第2のユーザのために二次セッションを開始するステップは、第2のユーザインターフェイスを生成するステップを含む、請求項1または請求項2に記載の方法。
  4. 前記一次セッションは、第1のXMLトランスフォーマを介して、前記第1のブラウザと共有セッションとを接続し、
    前記二次セッションは、第2のXMLトランスフォーマを介して、前記第2のブラウザと前記共有セッションとを接続し、
    前記第1のXMLトランストーマは前記第2のトランスフォーマと同期論理を介して接続される、請求項1〜のいずれか一項に記載の方法。
  5. 協調コンピューティングのための装置であって、コンピュータ実行可能な命令を有するメモリと、前記メモリに機能的に結合されたプロセッサとを含み、前記プロセッサは、前記コンピュータ実行可能な命令により、
    第1のユーザのために第1のブラウザと一次セッションを開始し、
    第2のユーザが二次セッションを閲覧することを可能にするように構成されたURLを第2のブラウザに提供することにより第2のユーザの協調を要求し、
    前記URLを前記第2のブラウザから送信されると、第2のユーザのために第2のブラウザと二次セッションを開始し、前記一次セッションと前記二次セッションは協調セッションであり、セッションは、状態空間においてデータを提示するための視覚表現であり、
    第1のユーザおよび第2のユーザに協調リアルタイムデータ分析のための単一の状態空間を提供するように構成されており、前記単一の状態空間は、選択状態を表わすデータセットのビューであり、どちらかのユーザによるインタラクションが単一の状態空間において反映され、協調リアルタイムデータ分析のための前記単一の状態空間を提供することは、前記選択状態に基づいて多次元立方体を表わすグラフィカルオブジェクトを生成することを含み、前記選択状態は前記第1のユーザまたは前記第2のユーザの少なくとも一方から受信され、
    前記プロセッサは、前記選択状態に基づいてデータの1つ以上の視覚表現を動的に生成するように構成されており、
    前記データの1つ以上の視覚表現を動的に生成することは、複数の前記選択状態を表わすために生成された多次元立方体を表わすグラフィカルオブジェクトを一つのビューに生成することを含む、装置。
  6. コンピュータに、請求項1〜請求項のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
JP2014540999A 2011-11-11 2012-07-27 協調コンピューティングのための方法および装置、ならびにコンピュータプログラム Active JP6285362B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161558799P 2011-11-11 2011-11-11
US61/558,799 2011-11-11
PCT/SE2012/050852 WO2013070139A2 (en) 2011-11-11 2012-07-27 A method and a device for collaborative computing

Publications (2)

Publication Number Publication Date
JP2015504548A JP2015504548A (ja) 2015-02-12
JP6285362B2 true JP6285362B2 (ja) 2018-02-28

Family

ID=47018441

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2014541001A Active JP6139546B2 (ja) 2011-11-11 2012-07-27 多次元立方体データ構造におけるデータ分析のための方法および装置
JP2014540999A Active JP6285362B2 (ja) 2011-11-11 2012-07-27 協調コンピューティングのための方法および装置、ならびにコンピュータプログラム
JP2014541000A Active JP5947910B2 (ja) 2011-11-11 2012-07-27 データ分析のための方法および装置、ならびにコンピュータプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014541001A Active JP6139546B2 (ja) 2011-11-11 2012-07-27 多次元立方体データ構造におけるデータ分析のための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014541000A Active JP5947910B2 (ja) 2011-11-11 2012-07-27 データ分析のための方法および装置、ならびにコンピュータプログラム

Country Status (5)

Country Link
US (8) US10366066B2 (ja)
EP (3) EP2776950A2 (ja)
JP (3) JP6139546B2 (ja)
CA (3) CA2851350C (ja)
WO (3) WO2013070141A2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366066B2 (en) 2011-11-11 2019-07-30 Qliktech International Ab Collaborative data mining and analysis
US9721321B1 (en) * 2012-04-12 2017-08-01 Farshad Nayeri Automated interactive dynamic audio/visual performance with integrated data assembly system and methods
US8965895B2 (en) 2012-07-30 2015-02-24 International Business Machines Corporation Relationship discovery in business analytics
US10324917B2 (en) * 2012-10-15 2019-06-18 Qliktech International Ab Methods and systems for data management
US9633076B1 (en) * 2012-10-15 2017-04-25 Tableau Software Inc. Blending and visualizing data from multiple data sources
US20140282187A1 (en) * 2013-03-15 2014-09-18 Jock Douglas MacKinlay Dynamic Partition and Visualization of a Dataset
USD797129S1 (en) * 2013-06-04 2017-09-12 Abbyy Infopoisk Llc Display screen with graphical user interface
USD802609S1 (en) * 2013-06-04 2017-11-14 Abbyy Production Llc Display screen with graphical user interface
USD805535S1 (en) * 2013-06-04 2017-12-19 Abbyy Production Llc Display screen or portion thereof with a transitional graphical user interface
USD781312S1 (en) * 2013-06-04 2017-03-14 Abbyy Infopoisk Llc Display screen or portion thereof with a graphical user interface
US10776965B2 (en) * 2013-07-26 2020-09-15 Drisk, Inc. Systems and methods for visualizing and manipulating graph databases
US20150113460A1 (en) * 2013-10-23 2015-04-23 Wal-Mart Stores, Inc. Data Analytics Animation System and Method
US20150261411A1 (en) * 2014-03-17 2015-09-17 Microsoft Corporation Displaying collaboration icons for collaboration states
IN2015CH03914A (ja) * 2015-07-30 2015-08-14 Wipro Ltd
CN106940697B (zh) * 2016-01-04 2020-08-04 阿里巴巴集团控股有限公司 一种时序数据可视化方法及设备
US11681704B2 (en) 2016-02-01 2023-06-20 Qliktech International Ab Methods and systems for distributed data analysis
EP3232342B1 (en) * 2016-04-14 2019-11-27 QlikTech International AB Methods and systems for bidirectional indexing summary
EP3239862B1 (en) 2016-04-29 2020-06-03 QlikTech International AB Selection query language methods and systems
EP3239863A1 (en) * 2016-04-29 2017-11-01 QlikTech International AB System and method for interactive discovery of inter-data set relationships
US10517021B2 (en) 2016-06-30 2019-12-24 Evolve Cellular Inc. Long term evolution-primary WiFi (LTE-PW)
US11216294B2 (en) * 2016-08-12 2022-01-04 The Government Of The United States, As Represented By The Secretary Of The Army User interface by way of unknown data structure
US10452679B2 (en) * 2016-09-30 2019-10-22 Google Llc Systems and methods for context-sensitive data annotation and annotation visualization
EP3364314B1 (en) 2017-02-15 2022-10-19 QlikTech International AB Methods and systems for indexing using indexlets
EP4148593A1 (en) * 2017-02-27 2023-03-15 QlikTech International AB Methods and systems for extracting and visualizing patterns in large-scale data sets
US11010401B2 (en) * 2017-04-25 2021-05-18 Microsoft Technology Licensing, Llc Efficient snapshot generation of data tables
EP3842904A1 (en) 2017-05-12 2021-06-30 QlikTech International AB Interactive data exploration
EP4002149A1 (en) 2017-05-12 2022-05-25 QlikTech International AB Index machine
EP3483739A1 (en) 2017-05-12 2019-05-15 QlikTech International AB Cognitive rule engine
EP3979092A1 (en) 2017-05-12 2022-04-06 QlikTech International AB Method for querying indexed, partitioned dimension tables
US20190146637A1 (en) * 2017-11-15 2019-05-16 Rockwell Automation Technologies, Inc. Mobile data snapshots
CN108304530B (zh) * 2018-01-26 2022-03-18 腾讯科技(深圳)有限公司 知识库词条分类方法和装置、模型训练方法和装置
US10997213B2 (en) * 2018-08-09 2021-05-04 Sap Se Database queries using dynamically calculated dimensions
US20200073876A1 (en) 2018-08-30 2020-03-05 Qliktech International Ab Scalable indexing architecture
US11966406B2 (en) 2018-10-22 2024-04-23 Tableau Software, Inc. Utilizing appropriate measure aggregation for generating data visualizations of multi-fact datasets
US11537276B2 (en) 2018-10-22 2022-12-27 Tableau Software, Inc. Generating data visualizations according to an object model of selected data sources
US11580164B1 (en) * 2018-11-09 2023-02-14 Palantir Technologies Inc. Ontology-based time series visualization and analysis
EP3678033A1 (en) 2019-01-07 2020-07-08 QlikTech International AB A computer implemented method for indexlet based aggregation
EP3678032A1 (en) * 2019-01-07 2020-07-08 QlikTech International AB Computer implemented methods and systems for improved data retrieval
USD925596S1 (en) 2019-01-16 2021-07-20 Beijing Xiaomi Mobile Software Co., Ltd. Display screen or portion thereof with animated graphical user interface
CN110008255A (zh) * 2019-04-03 2019-07-12 平安信托有限责任公司 业务数据分析方法、装置、计算机设备和存储介质
US11423045B2 (en) * 2019-05-02 2022-08-23 Software Ag Augmented analytics techniques for generating data visualizations and actionable insights
FR3096799B1 (fr) * 2019-05-29 2021-11-05 Amadeus Agrégation et mise à jour d’objets de donnée hétérogènes
US11227018B2 (en) * 2019-06-27 2022-01-18 International Business Machines Corporation Auto generating reasoning query on a knowledge graph
US11366826B2 (en) 2019-09-05 2022-06-21 International Business Machines Corporation Customizing data visualizations according to user activity
US11630848B2 (en) * 2019-09-20 2023-04-18 International Business Machines Corporation Managing hypercube data structures
US11030256B2 (en) 2019-11-05 2021-06-08 Tableau Software, Inc. Methods and user interfaces for visually analyzing data visualizations with multi-row calculations
US11366858B2 (en) 2019-11-10 2022-06-21 Tableau Software, Inc. Data preparation using semantic roles
US10997217B1 (en) 2019-11-10 2021-05-04 Tableau Software, Inc. Systems and methods for visualizing object models of database tables
CN110990458B (zh) * 2019-12-03 2023-04-18 电子科技大学 分布式数据库系统、接口通信中间件
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
CN111240978A (zh) * 2020-01-09 2020-06-05 上海丰蕾信息科技有限公司 数据报告生成与分析方法
US11281668B1 (en) 2020-06-18 2022-03-22 Tableau Software, LLC Optimizing complex database queries using query fusion
CN112131220B (zh) * 2020-09-15 2024-03-15 北京奇艺世纪科技有限公司 数据报表处理方法及装置
US11825872B2 (en) 2021-04-02 2023-11-28 R.J. Reynolds Tobacco Company Aerosol delivery device with protective sleeve
US11886462B2 (en) * 2021-12-09 2024-01-30 Microsoft Technology Licensing, Llc Intelligent transformation of multidimensional data for automatic generation of pivot tables
US20240004509A1 (en) 2022-07-03 2024-01-04 Qliktech International Ab Closed-loop generation of insights from source data

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07111675B2 (ja) * 1992-02-28 1995-11-29 インターナショナル・ビジネス・マシーンズ・コーポレイション ウィンドウ表示装置および方法
CA2205836C (en) 1994-11-21 2005-05-24 Oracle Corporation Method and apparatus for multidimensional database using binary hyperspatial code
JPH1195962A (ja) * 1997-09-16 1999-04-09 Fujitsu Ltd グラフ表示方法及びグラフ表示させるプログラムを記憶した機械読み取り可能な記録媒体
US5918232A (en) 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
SE516562C2 (sv) 1999-03-12 2002-01-29 Qliktech Internat Ab Förfarande för extrahering av information från en databas
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
EP1189159A1 (en) * 2000-09-19 2002-03-20 Niels Mache System for processing like-kind exchange transactions
US7392484B1 (en) 2000-10-13 2008-06-24 Hewlett-Packard Development Company, L.P. Method and system for capturing, storing, sharing, and managing notes taken during a computer based meeting
US8255791B2 (en) 2000-11-29 2012-08-28 Dov Koren Collaborative, flexible, interactive real-time displays
US7756907B2 (en) * 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US7233951B1 (en) * 2004-02-18 2007-06-19 Microsoft Corporation Spreadsheet grid-like control for a web-based collaboration system
JP2005327039A (ja) * 2004-05-13 2005-11-24 Keio Gijuku データ解析支援プログラム、プログラム格納媒体
JP4380426B2 (ja) * 2004-06-09 2009-12-09 富士電機システムズ株式会社 生産情報の統合管理システム、そのプログラム
US7213199B2 (en) * 2004-07-16 2007-05-01 Cognos Incorporated Spreadsheet user-interface for an enterprise planning system having multi-dimensional data store
US7747939B2 (en) * 2005-05-31 2010-06-29 Microsoft Corporation Generating free form reports within a data array
JP4957127B2 (ja) 2006-09-01 2012-06-20 富士通株式会社 属性間の部分関係抽出する装置、方法、及びプログラム
US7522176B2 (en) 2006-11-14 2009-04-21 Microsoft Corporation Dynamically generating mini-graphs to represent style and template icons
US8301993B2 (en) * 2007-02-08 2012-10-30 International Business Machines Corporation Mapping raw spreadsheet data into graphs on arbitrary subsets of the data
JP4073946B1 (ja) * 2007-03-30 2008-04-09 三菱電機株式会社 情報処理装置
US7610294B2 (en) 2007-05-31 2009-10-27 International Business Machines Corporation Multidimensional data cube validation
US9268837B2 (en) * 2007-12-04 2016-02-23 International Business Machines Corporation Data entry commentary and sheet reconstruction for multidimensional enterprise system
EP2146292B8 (en) 2008-07-18 2019-03-20 QlikTech International AB Method and apparatus for extracting information from a database
US8799865B2 (en) * 2009-08-03 2014-08-05 National Instruments Corporation Integrated data viewer
US20110271197A1 (en) 2010-04-30 2011-11-03 American Teleconferncing Services Ltd. Distributing Information Between Participants in a Conference via a Conference User Interface
US9183269B1 (en) * 2011-10-08 2015-11-10 Bay Dynamics, Inc. Federated multidimensional data storage cubes
US10366066B2 (en) 2011-11-11 2019-07-30 Qliktech International Ab Collaborative data mining and analysis

Also Published As

Publication number Publication date
CA2851351C (en) 2021-06-22
US10262017B2 (en) 2019-04-16
US20200349140A1 (en) 2020-11-05
WO2013070141A2 (en) 2013-05-16
CA2851352A1 (en) 2013-05-16
WO2013070140A1 (en) 2013-05-16
US20130159901A1 (en) 2013-06-20
EP2776948A2 (en) 2014-09-17
US8745099B2 (en) 2014-06-03
US11151107B2 (en) 2021-10-19
US20200019540A1 (en) 2020-01-16
US9727597B2 (en) 2017-08-08
WO2013070141A3 (en) 2013-07-04
JP2015501967A (ja) 2015-01-19
EP2776949A1 (en) 2014-09-17
US10685005B2 (en) 2020-06-16
CA2851352C (en) 2021-09-14
US20220114154A1 (en) 2022-04-14
CA2851350A1 (en) 2013-05-16
US20130159307A1 (en) 2013-06-20
WO2013070139A3 (en) 2014-01-30
JP6139546B2 (ja) 2017-05-31
WO2013070139A2 (en) 2013-05-16
US10366066B2 (en) 2019-07-30
US11580085B2 (en) 2023-02-14
CA2851350C (en) 2021-03-16
US20130159882A1 (en) 2013-06-20
EP2776950A2 (en) 2014-09-17
JP2015504548A (ja) 2015-02-12
US20160026664A1 (en) 2016-01-28
JP2014533402A (ja) 2014-12-11
CA2851351A1 (en) 2013-05-16
US11106647B2 (en) 2021-08-31
US20180150493A1 (en) 2018-05-31
JP5947910B2 (ja) 2016-07-06

Similar Documents

Publication Publication Date Title
JP6285362B2 (ja) 協調コンピューティングのための方法および装置、ならびにコンピュータプログラム
EP3561686A1 (en) Adaptive analytics user interfaces
US20200192883A1 (en) Methods and systems for biodirectional indexing
US20230350896A1 (en) Methods and systems for distributed data analysis
Yi et al. A family of IOWA operators with reliability measurement under interval-valued group decision-making environment
Schmid et al. A taxonomy of attribute scoring functions
Orlando et al. TGV: A Visualization Tool for Temporal Property Graph Databases
US11314818B2 (en) Data set inventory and trust score determination
Menin et al. LDViz: a tool to assist the multidimensional exploration of SPARQL endpoints
Lee A Notation for Rapid Specification of Information Visualization

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160722

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160818

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20161028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180201

R150 Certificate of patent or registration of utility model

Ref document number: 6285362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250