(57)【要約】  ジョブは、視覚的な作業領域と関連して作成され得る。作業領域のデータソースの表現を選択すると、データソースのプレビューがその視覚的な作業領域のコンテキストで生成され得る。さらに、１つまたは複数のデータ変換操作の表現にプレビューが提供され得る。変換操作を選択すると、その操作の適用ならびにその操作を実施するためのバックエンドコードの生成を反映するプレビューが更新されることになる。さらに、１つまたは複数の変換操作を含むジョブが自動的に作業領域に追加され得る。
2017535856.tif 000002
【特許請求の範囲】
【請求項１】
ジョブ作成を容易にする方法であって、
メモリーに記憶されたコンピューター実行可能命令を実行するように構成された少なくとも１つのプロセッサーを使用して、
視覚的な作業領域の図中のデータソースの表現の選択を検出する工程と、
前記選択に応答して、データの少なくともサブセットのための前記データソースに対する問合せを生成する工程と、
問合せの実行結果に基づいて、前記作業領域のコンテキストで前記データソースのプレビューを提供する工程と
を実施するステップを含む方法。
【請求項２】
前記プレビューのコンテキストで１つまたは複数のデータ変換操作の視覚的な表現を提供する工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のデータ変換操作からの変換操作の選択に応答して、更新された問合せを生成する工程であって、前記更新された問合せは前記選択された変換操作を取り込む、工程と、
更新された問合せの実行結果に基づいて前記プレビューを更新する工程と
をさらに含む、請求項２に記載の方法。
【請求項４】
前記選択された変換操作を含むジョブの表現を自動的に前記作業領域に追加する工程をさらに含む、請求項３に記載の方法。
【請求項５】
前記選択された変換操作を実施するように構成されたコードを生成する工程をさらに含む、請求項３に記載の方法。
【請求項６】
前記作業領域のコンテキストで前記コードを視覚的に提供する工程をさらに含む、請求項５に記載の方法。
【請求項７】
選択された視覚化を使用して前記プレビューを提供する工程をさらに含む、請求項１に記載の方法。
【請求項８】
ジョブ作成を容易にするシステムであって、
メモリーに結合されたプロセッサーを備え、前記プロセッサーは、前記メモリーに記憶されたコンピューター実行可能コンポーネントを実行するように構成されており、前記コンピューター実行可能コンポーネントは、
図によってジョブを作成するための視覚的な作業領域を提供するように構成された第１のコンポーネント、および
データソースを選択すると、前記作業領域と同時に前記作業領域上に表される前記データソースのプレビューであって、生成された、データを指定する問合せの実行の結果に基づいて、前記データソースから獲得されるデータの少なくともサブセットから生成されるプレビューを提供するように構成された第２のコンポーネント
である、システム。
【請求項９】
前記プレビューと関連して１つまたは複数の変換操作の視覚的な表現を提供するように構成された第３のコンポーネントをさらに備える、請求項８に記載のシステム。
【請求項１０】
前記プレビューを更新して、１つまたは複数の選択された変換操作の適用を反映するように構成された第４のコンポーネントをさらに備える、請求項９に記載のシステム。
【請求項１１】
１つまたは複数の選択された変換操作と結合したコードを生成するように構成された第３のコンポーネントをさらに備える、請求項９に記載のシステム。
【請求項１２】
１つまたは複数の選択された変換操作を含むジョブを前記作業領域に追加するように構成された第３のコンポーネントをさらに備える、請求項９に記載のシステム。
【請求項１３】
前記プレビューは、前記データソースからのデータのランダムサンプリングまたは疑似ランダムサンプリングを含む、請求項９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]価値のある洞察を収集するための膨大な量のデータ、いわゆるビッグデータを処理するためには、第１の変換データが必要である。データは、１つまたは複数のジョブを生成し、日程を計画し、実行することにより、ダッシュボードなどのビジネスインテリジェンスエンドポイントによる公開または消費のために使用可能な形態に変換される。このコンテキストにおいては、ジョブは、データに対する１つまたは複数の変換操作を含む作業の単位である。典型的には、ジョブは、データディベロッパ、データアーキテクト、ビジネスインテリジェンスアーキテクトなどによって手動で符号化される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]以下は、開示される主題のいくつかの態様についての基本的な理解を提供するために、簡単に概要を示したものである。この概要は、広範囲にわたる概説ではない。特許請求される主題の主要な／決定的な要素を識別すること、または特許請求される主題の範囲を正確に概説することは意図されていない。この概要の唯一の目的は、後で示されるより詳細な説明に対する前置きとして、いくつかの概念を単純な形態で提供することである。
【０００３】
[0003]簡単に説明すると、主題開示は、データプレビューを使用したジョブ作成に関する。データ変換に関するジョブなどの１つまたは複数のジョブを含むワークフローを図式化するための対話式の視覚的な作業領域が提供される。作業領域内のデータソースを選択すると、そのデータソースのプレビューが視覚的な作業領域のコンテキストで表示され得る。さらに、１つまたは複数の変換操作の視覚的な表現は、変換操作のグラフ指定を可能にするために、プレビューと関連して提供され得る。変換操作が選択されると、操作を反映し、また、操作を実現する、生成されたバックエンドコードを反映するためにプレビューが更新され得る。また、操作を追加し、または修正するためのオプションを可能にするバックエンドコードのビューが同じく提供され得る。操作指定が完了すると変換操作が完遂され得る。引き続いて、１つまたは複数の変換操作を含むジョブの表現が自動的に作業領域に追加され得る。
【課題を解決するための手段】
【０００４】
[0004]上記および関連する目的を達成するために、本明細書においては、特許請求される主題の特定の例証態様について、以下の説明および添付の図面に関連して説明される。これらの態様は、主題が実践され得る様々な方法を示しており、それらは、すべて、特許請求される主題の範囲内であることが意図されている。他の利点および新規な特徴は、図面と関連して考察することにより、以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【０００５】
【図１】[0005]視覚的な作成システムのブロック図である。
【図２】[0006]代表的なジョブ作成コンポーネントのブロック図である。
【図３】[0007]代表的なプレビューコンポーネントのブロック図である。
【図４】[0008]例示としての視覚的な作成インタフェースのスクリーンショットである。
【図５】[0009]プレビューパネルを含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図６】[0010]データのグラフ表現を有するプレビューを含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図７】[0011]データの列毎にグラフが挿入されたプレビューを含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図８】[0012]データの表現がプレビューの中に示された操作パラメーター化を含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図９】[0013]更新されたプレビューパネルを含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図１０】[0014]新たに生成されたジョブの作業領域への追加を示す例示としての視覚的な作成インタフェースのスクリーンショットである。
【図１１】[0015]コードビューを含む例示としての視覚的な作成インタフェースのスクリーンショットである。
【図１２】[0016]ジョブを作成するユーザーを補助する方法のフローチャート図である。
【図１３】[0017]データプレビューを生成する方法のフローチャート図である。
【図１４】[0018]ジョブを作成するための視覚化方法のフローチャート図である。
【図１５】[0019]視覚化をプレビューの中に注入する方法のフローチャート図である。
【図１６】[0020]主題開示の態様のための適切な動作環境を示す略ブロック図である。
【発明を実施するための形態】
【０００６】
[0021]以下の詳細は、一般に、データプレビューを使用したジョブ作成に関している。データ変換に関連するジョブなどの１つまたは複数のジョブを含むワークフローの図式作成のための対話式の視覚的な作業領域を含むインタフェースが提供される。作業領域は、例えばソースペイン(source pane)からドラッグおよびドロップされるデータソースの視覚的な表現を含むことができる。データソースを選択すると、作業領域のコンテキストでプレビューが生成され、ユーザーに提供され得る。プレビューは、データソースからのデータの少なくともサブセットを含むことができ、また、任意選択でデータと結合した１つまたは複数のグラフを含むことができる。このその場プレビュー（in-situ preview）は、少なくともコンテキストの分断(break in context)を必要とすることなくデータが検査され得るため、作成プロセスをはかどらせることができる。さらに、１つまたは複数の変換操作の視覚的な表現は、変換のグラフ指定を可能にするために、プレビューに関連して提供され得る。変換操作を選択すると、その操作の適用を反映するためにプレビューが更新されることになる。この方法によれば、ユーザーは、所望の結果を達成するための変換操作の選択が継続的に補助される。また、変換操作の選択は、操作を実現するバックエンドコードの生成を同じくトリガーすることができる。さらに、コードの目視ならびに修正を可能にするコードビューが提供され得る。ユーザーがグラフおよび／または手動による変換の指定を終了すると、操作が完遂され得る。引き続いて、１つまたは複数の変換操作を含むジョブの表現が自動的に視覚的な作業領域に追加され得る。
【０００７】
[0022]以下、同様の数表示は、概ね、全体を通して同様または対応する要素を表す添付の図面を参照して、主題開示の様々な態様がより詳細に説明される。しかしながら図面および図面に関連する詳細な説明には、特許請求される主題を開示される特定の形態に限定することは意図されていないことを理解されたい。そうではなく、特許請求される主題の精神および範囲の範疇であるあらゆる修正、等価物および代替を包含することが意図されている。
【０００８】
[0023]最初に図１を参照すると、視覚的な作成システム１００が示されている。視覚的な作成システム１００は、作業領域コンポーネント１１０、ソースコンポーネント１２０、ターゲットコンポーネント１３０およびジョブ作成コンポーネント１４０を含む。作業領域コンポーネント１１０は、対話式の視覚的な作業領域すなわちキャンバスを提供することにより、ジョブの図式作成（例えばデータを修正する一連の１つまたは複数のアクティビティすなわちステップ）およびジョブパイプライン（例えばデータセット、ジョブの入力およびデータセットの出力）を可能にするように構成される。例えばデータソース、言い換えるとデータセットは、シリンダーとして表されることが可能であり、また、修正されたデータソースをもたらすジョブへの矢印によって接続され得る。本質的には、ユーザーは、データソースとジョブの間の関係の図を描くことができる。これにより、関係の理解および最終的にはジョブの指定の点で時間を節約する極めて直感的な経験が得られる。
【０００９】
[0024]ソースコンポーネント１２０は、ジョブを作成するために利用することができるデータソースの視覚的な表現を生成するように構成される。実質的に任意のフォーマット（例えば表、ファイル、ストリーム．．．）または構造（例えば構造化、非構造化、半構造化）のオンプレミス・データソースおよびクラウドをベースとするデータソースを含む任意のデータソースがソースコンポーネント１２０によって獲得され、利用され得る。言い換えると、ソースコンポーネント１２０は、異質データソースを露出するように構成される。データソースは、ソースコンポーネント１２０によって提供される機能を探索し、インポートすることによって利用し得る。さらに、ソースコンポーネント１２０は、ユーザーまたは実体の口座などを監視し、アクセス可能なデータソースを自動的に利用するように構成され得る。ソースコンポーネント１２０によって描写されるデータソースは対話式であり、１つまたは複数のジョブのための入力として使用され得る。ソース領域からのデータソースは、例えばドラッグ・アンド・ドロップなどのジェスチャーを使用して作業領域に追加され得る。
【００１０】
[0025]ターゲットコンポーネント１３０は、すべての変換が適用された後の最終データソースまたはデータセットを表示するための視覚位置を提供するように構成される。これらのデータソースは、引き続いて、分析論アプリケーションなどのアプリケーションによって公開または消費され得る。ジョブの結果または一連のジョブは、作業領域からドラッグされ、ターゲット視覚化領域にドロップされ得る。
【００１１】
[0026]ジョブ作成コンポーネント１４０は、１つまたは複数の変換操作を含むジョブの視覚的な作成を可能にするように構成される。詳細には、作成コンポーネント１４０は、少なくともソースコンポーネント１２０および作業領域コンポーネント１１０と対話し、利用可能なデータソースからの作業領域内の図と関連してジョブ構成を容易にすることができる。
【００１２】
[0027]図２は、代表的なジョブ作成コンポーネント１４０をさらに詳細に示したものである。示されているように、ジョブ作成コンポーネント１４０はプレビューコンポーネント２１０を含む。プレビューコンポーネント２１０は、とりわけデータプレビューを提供するウィンドウパネルまたはパンなどのインタフェースのプレビュー部分を生成するように構成される。詳細には、何らかのジェスチャーまたは他の指示（例えば接触、クリック、ポイント、フーバー、音声コマンド．．．）によって作業領域のデータソースを選択すると、作業領域と関連してデータプレビューインタフェース部分が提供され得る。言い換えると、データプレビュー部分は、例えば異なるウィンドウすなわちインタフェース内の作業領域のコンテキスト外とは対照的に、作業領域のコンテキストすなわちその場で提供される。それには限定されないが、一実施形態によれば、プレビュー部分は、ワンクリックなどの単一のジェスチャーまたは複数のジェスチャーによって表示され得る。データソースデータの少なくともサブセットに基づく視覚化の提供に加えて、プレビューコンポーネント２１０は、データソースに対する１つまたは複数の変換操作の選択を可能にする機能および視覚化をさらに提供する。これは、複数の変換ジョブを含むフルパイプラインの構築を必要とすることなく環境を試験することにより、速やかなサンドボックスおよび実験を可能にする。
【００１３】
[0028]図３を簡単に参照すると、代表的プレビューコンポーネント２１０がさらに詳細に示されている。詳細には、プレビューコンポーネント２１０は問合せコンポーネント３１０を含む。問合せコンポーネント３１０は、問合せを生成し、問合せの実行を開始し、結果を受け取るように構成される。生成された問合せは、選択されたデータソースに対して指定され、データソースからのデータの少なくともサブセットを返す。例えば表形式ソースからのデータの最初の１００行を返す問合せが生成され得る。当然、問合せは表形式ソースに限定されず、それどころか実質的に任意のデータソースに適用することができる。さらに、行の数は変更可能であり、または同様に多数の列を返し、データのランダムサンプルまたは疑似ランダムサンプルを返し、あるいは第１のセグメント、中間セグメントおよび末端セグメントなどのデータの多数のセグメントまたはクラスターを返す異なる手法が取られ得る。
【００１４】
[0029]ビュー生成コンポーネント３２０は、問合せコンポーネント３１０によって獲得されるデータのビューを生成する。一態様によれば、ビュー生成コンポーネント３２０は、行および列を含む表形式の形態(tabular form)など何らかの形態のデータを単純に提供することができる。追加または別法として、ビュー生成コンポーネント３２０は、データの異なるビューすなわち視覚化を生成することも可能である。一例として、ビュー生成コンポーネント３２０は、データに基づいて、円グラフ、棒グラフ、線グラフまたはヒストグラムなどのグラフを生成するように構成され得る。さらに、ビュー生成コンポーネント３２０は、データに基づいてビューを生成することも可能である。例えばデータが緯度および経度を含んでいる場合、ビュー生成コンポーネント３２０は、地図を生成することができる。別の例として、データが時間を含んでいる場合、タイムライン表現が生成され得る。選択されるビューはデータに基づかれ得るが、とりわけユーザー選択ならびに設定／好みにも同じく基づかれ得る。
【００１５】
[0030]コンテキストアナライザーコンポーネント３３０は、利用可能なコンテキスト情報を解析し、有用な問合せおよび結果として得られるプレビューの生成を可能にするための提案を問合せコンポーネント３１０に提供するように構成される。一実施形態によれば、問合せコンポーネント３１０は、例えば限られた数の行のデータを生成するようにデフォルトすることができる。しかしながらこれは最適ではあり得ない。例えばアルファベット順に分類された一組のデータを考察されたい。デフォルト数の結果の生成は、ただ単に文字「Ａ」で始まるデータに対応し、全体としてのデータを代表し得ない。この問題が例えばとりわけデータソースメタデータに基づいて、またはデータとのその前の対話に基づいて決定または推論され得る場合、コンテキストアナライザーコンポーネント３３０は、もっと多くのデータを獲得する問合せ、データのランダムサンプリングまたは疑似ランダムサンプリング、あるいはセグメント（例えば一番上、真中、一番下）へのデータの分割を生成するように問合せコンポーネント３１０を導き、あるいは問合せコンポーネント３１０に提案することができる。同様に、コンテキストアナライザーコンポーネント３３０が、データ、設定または好み、あるいは履歴的対話に基づいて、データがグラフによって提供されることになるか、またはその可能性があることを決定または推論することができる場合、ランダムサンプリングまたは疑似ランダムサンプリングの生成が提案され得る。
【００１６】
[0031]統計量コンポーネント３４０は、データセット全体またはデータセットの一部に関する一組の記述的統計量を決定するように構成される。例えば統計量コンポーネント３４０は、とりわけカウント（例えばすべての行のカウント、固有値カウント、紛失値カウント）、範囲（例えば最小、最大、範囲）、および統計的要約（例えば平均、中央値、モード、分散、標準偏差．．．）などの測度を計算するように構成される。これらの測度は、これらの測度および様々な方法を視覚することができるビュー生成コンポーネント３２０に提供され得る。これは、データの速やかなオーバービューをユーザーに提供し、ユーザーは、このオーバービューを使用して作業する。例えばデータプレビュー内のデータの列毎に、関連する統計量が提供され得る。例えば、列内のデータの分布に関する洞察をユーザーに与えるために、製品列内の全く異なる製品のグラフが提供され得る。他の例として、測度を利用して、時間に対する販売および異なるタイプの製品を取り込むグラフが生成され得る。さらに、統計量コンポーネント３４０は、外部コンポーネントを含むか、または外部コンポーネントを使用してデータに関する機械学習技法を適用し、それによりユーザーに提供するための最も関連するデータ、およびユーザーに提供するための形態（例えば棒グラフ、円グラフ、テキスト．．．）を決定する。
【００１７】
[0032]変換コンポーネント３５０は、それらに限定されないが、ソート、グループ、スプリットおよびピボットなどの１つまたは複数の変換演算子の選択可能な視覚的な表現を提供するように構成される。変換操作は、必要に応じて、例えばポップアップボックスにパラメーターを手動で入力するか、またはプレビュー内のデータに関するパラメーターを間接的に指定することによって直接パラメーター化され得る。例えば「ＧＲＯＵＰ  ＢＹ」操作には、列名称などのパラメーターの指定が必要である。その列名称は、プレビューデータ内で直接指定され、または選択され得る。さらに、１つまたは複数の変換操作の表現は、プレビューデータまたはプレビューデータに基づく視覚化に関連して、あるいはそのコンテキストで提供され、例えばメニューまたはリボンで提供され得る。対応する視覚的な表現（例えば接触、クリック．．．）を選択することによって変換操作が識別されると、変換コンポーネント３５０は、選択された操作の適用を反映する問合せコンポーネント３１０によって新しい問合せの生成を開始することができる。したがって、選択された操作の適用によってデータがどのように影響を受けたかを示す更新されたデータプレビューが提供されることになる。更新されたプレビューをもたらす複数の操作が選択され得る。この方法によれば、ユーザーは、所望の結果を達成するための変換操作の選択が継続的に補助される。
【００１８】
[0033]適用操作コンポーネント３６０は、選択された変換操作を追跡し、表示するように構成される。選択される個々の操作が記録される。引き続いて一連の変換操作が視覚的に提供され得る。したがって選択された操作がユーザーに知らされる。一態様によれば、変換操作は選択が可能であり、ユーザーは、とりわけ操作を除去し、あるいは操作を並べ替えることができる。
【００１９】
[0034]メタデータコンポーネント３７０は、データソースに関するメタデータを獲得し、そのメタデータを表示するように構成される。例えばメタデータは、表形式ビューに関する列の数および列名称を含むことができる。さらに、メタデータコンポーネント３７０は、データプレビューの中に提供され、あるいはデータプレビューの中で使用されるデータと、データソース全体との間の相違を示すように構成され得る。例えばメタデータコンポーネントは、データソースの列または行の総数に対する、表示された列または行の数を表示することができる。さらに、メタデータコンポーネント３７０は、変換された出力と結合したユーザーからメタデータを受け取るために、テキストボックスなどを提供することができる。このメタデータは、引き続いて、少なくともデータ探索に関して役に立ち得る。
【００２０】
[0035]図２に戻ると、ジョブ作成コンポーネント１４０は、コード生成コンポーネント２２０を同じく含む。コード生成コンポーネントは、選択された変換操作を実現するバックエンドコードを例えばスクリプティングプログラミング言語（例えばＭ−Ｓｃｒｉｐｔ）で生成することができる。一実施形態によれば、コード生成コンポーネント２２０は、変換操作を選択すると、バックエンドコードが最新のバックエンドコードになるよう、継続的にコードを修正することができる。当然、コード生成は、ユーザーが変換の指定を終えるまで延期され得る。
【００２１】
[0036]コードビューコンポーネント２４０は、変換操作を実現するコードのビューを提供するように構成される。コードビューコンポーネント２４０は、変換を実現するコードのユーザーによる直接的な追加、削除または修正を同じく可能にする。したがってコードビューは、コードエディターとして具体化され得る。一実施形態によれば、コードに対して直接なされる変更も、プレビューに関して同じく反映され得る。例えば変換を手動で作成すると、プレビューコンポーネント２１０は、その変換を含むプレビューを提供することができる。同様に、変換操作のグラフ指定に基づいて生成されたコードも、コードビュー内で利用可能であり得る。したがってユーザーは、コードビューによって変換コードを直接作成することができ、あるいはグラフィカルインタフェースによって間接的に作成することができる。さらに、ユーザーは、２つの作成環境の間で切り換えることも可能である。
【００２２】
[0037]作業領域更新コンポーネント２５０は、データソースと結合した変換操作に基づいて作業領域を更新するように構成される。その作成が完了し、一組の変換操作が保管または完遂されるべきことを示すと、作業領域が更新され得る。より詳細には、１つまたは複数の指定された変換操作を含むジョブの表現が自動的に作業領域に追加され得る。さらに、変換操作が実行されるデータソースがそのジョブ表現に視覚的にリンクされる。さらに、変換された出力の表現がジョブの表現にリンクされ得る。したがってデータソースから入力を受け取り、ジョブによって提供された１つまたは複数の変換操作の適用を反映する新しいデータソースを出力するジョブの図が表示される。
【００２３】
[0038]図４〜１１は、視覚作成システム１００と結合した様々な視覚化態様を示す例示としてのスクリーンショットである。これらのスクリーンショットには、本開示の態様に関する明解性および理解を補助することが意図されており、特許請求される主題をそれらに限定することは意図されていない。提供されているスクリーンショットは、単に１つの実施態様を示したものにすぎないことを認識されたい。グラフ要素およびテキストの様々な他の組合せおよび配置が企図されており、また、添付の特許請求の範囲の範疇であることが意図されている。
【００２４】
[0039]図４は、視覚作成システム１００によって生成され得る視覚作成インタフェース４００のスクリーンショットである。示されているように、インタフェースは、ソースパネル４１０、作業領域パネル４２０および公開パネル４３０の３つのパネルを含む。ソースパネル４１０は、複数の利用可能なデータソース４１２を提供し、また、ソースパネル４１０へのソースの追加またはソースパネル４１０からのソースの削除を可能にする。ソースパネル４１０の中に示されているデータソース４１２は、任意のデータソースであり得ることを認識されたい。例えばいくつかのデータソース４１２は、オンプレミスデータと結合され、一方、他のデータソースは、ネットワークまたはクラウドデータ記憶装置と結合され得る。さらに、データソース４１２は、実質的に任意の構造またはフォーマットのデータソースであってもよい。作業領域パネル４２０は、データソースおよびジョブの対話式図ビューを提供する。示されているように、複製を除去するジョブなどのジョブは、第１のキューブ４２２として表されている。第１のキューブ４２２は、第１のシリンダー４２４として表されているソースに接続されている。一実施態様によれば、ソース表現は、ソースパネル４１０からドラッグおよびドロップされたものであってもよい。矢印を有する線は、第１のシリンダー４２４をキューブに接続し、データが左から右へ、ソースからジョブへ流れることを示している。さらに、ジョブの出力は、第２のシリンダー４２６として表されており、線および矢印で第１のキューブ４２２から第２のシリンダー４２６へ接続されており、第２のシリンダーがジョブの出力を表していることを示している。公開パン４３０は、すべての所望の変換が実施された後の公開された、すなわち消費可能なデータソースの視覚的な表現を提供する。作業領域パネル４２０の第２のシリンダー４２６を選択すると、図５のスクリーンショットが得られる。
【００２５】
[0040]図５は、視覚作成システム１００によって生成され得る視覚作成インタフェース５００のスクリーンショットである。視覚作成インタフェース５００は、既に説明したソースパネル４１０および作業領域パネル４２０を含んでいる点で視覚作成インタフェース４００と類似している。ここでは、例えばポインターを第２のシリンダー４２６の上に位置決めし、クリックすることによる選択を示すために、第２のシリンダー４２６によって表されているソースが強調されている。データソースを選択すると、作業領域パネル４２０の横にプレビューパネル５１０が提示される。プレビューパネル５１０の第１の部分５２０には、データの少なくともサブセットがここでは表形式の形態で提供されている。これは、選択されたデータソースに含まれているデータの包括的着想ならびに変更の効果をユーザーに提供する。プレビューパネル５１０の第２の部分５３０は、一組の変換操作のグラフ表現を含むツールバーまたはリボンである。選択すると、変換操作のためのコードが自動的に生成され、また、操作の適用を反映するために第１の部分５２０が更新され得る。プレビューパネル５１０の第３の部分５３０は、ソースに関するメタデータを表示する。例えばデータソースの名称、ならびにそのデータソースを構成する行および列の数が提供され得る。さらに、第１の部分５２０に提供されているデータと、データソース全体との間の相違が表示され得る。例えばデータプレビューが合計１万２千行のうちの１００行を示していること、または１００列のうちの７列を示していることを示す指示が提供され得る。さらに、ユーザーは、テキストボックス内の説明などの追加メタデータを入力することができる。プレビューパネル５１０の第４の部分５４０は、適用され得る変換操作の視覚的な表現を提供する。このような変換操作は、とりわけ誤りの除去、交互行(alternate row)の除去、集約、分類、ピボット選択、値の置換えを含むことができる。
【００２６】
[0041]図６は、視覚作成システム１００によって生成され得る視覚作成インタフェース６００のスクリーンショットである。図５のインタフェース５００と同様、インタフェース６００は、ソースパネル４１０、選択を示すためにデータソースの表現が強調された作業領域パネル４２０、および選択されたデータソースからのデータの少なくともサブセットを表示する第１の部分５２０、および一組の変換操作の表現を提供する第２の部分５３０を含むプレビューパネル５１０を含む。ここでは、データソースに関するグラフによる視覚化が第３の部分６１０に提供される。一態様によれば、このインタフェースは、プレビューパネル５１０の中に提供される特定のタブを選択すると表示され得る。視覚化を生成するために使用されるデータは、とりわけ、データソースと結合したメタデータを含むデータソース自体、ならびに決定された統計的測度から獲得され得る。ここではヒストグラム６１２が、販売されたビデオゲームなどの製品のコピー数、およびそのタイプまたはジャンルの表現を提供している。リンググラフ６１４は、ビデオゲームのタイプまたはジャンルによって分解された多くのビデオゲームセッションを識別している。これらの視覚化は、第１の部分５２０に表示されるデータソースから実際のデータを補足するために、速やかな洞察をデータの性質および分布に提供する。
【００２７】
[0042]図７は、視覚作成システム１００によって生成され得る視覚作成インタフェース７００のスクリーンショットである。インタフェース７００は、図５のインタフェース５００と同様、ソースパネル４１０、データソースの選択された表現を含む作業領域パネル４２０、プレビューパネル５１０、および選択されたデータソースのデータの少なくともサブセットを表す第１の部分５２０を含む。さらに、インタフェース７００は、データの個々の列と結合した棒グラフ視覚化７１０を含む。一実例では、統計的測度を利用してこれらのグラフが作成され得る。ここでは、列名称で始まる列毎に行が生成され、関連する統計量が列に対して計算され、グラフによって視覚化される。これらの視覚化により、ユーザーは、個々の列のデータに関する洞察を速やかに獲得することができる。
【００２８】
[0043]図８は、視覚作成システム１００によって生成され得る視覚作成インタフェース８００を示すスクリーンショットである。ここでは、インタフェース８００は、実質的に図５のインタフェース５００と同じである。詳細には、インタフェースは、ソースパネル４１０、作業領域パネル４２０、および作業領域パネル４２０内の選択されたデータソースと結合しているプレビューパネル５１０を示している。一態様によれば、変換操作は、第２の部分５３０のツールバーから操作の表現を選択することによって視覚的に指定され得る。さらに、演算子パラメーターも、プレビューパネル５１０の第１の部分５２０に提供されているデータを選択することによって視覚的に指定され得る。参照数表示８１０は、操作をパラメーター化するためのデータの列の選択を示している。例えば「ＧＲＯＵＰ  ＢＹ」操作を考察されたい。「ＧＲＯＵＰ  ＢＹ」操作には、典型的には列名称パラメーターが必要である。第２の部分５３０から「ＧＲＯＵＰ  ＢＹ」操作の表現を選択すると、ユーザーは、第３の列を選択して操作をパラメーター化することができる。当然、他の対話も実質的に同じ結果をもたらすことができる。例えば「ＧＲＯＵＰ  ＢＹ」操作は、コードの中で直接指定されることが可能であり、また、パラメーター値を受け取るためにポップアップボックスが提供され得る。
【００２９】
[0044]図９は、変換操作の選択およびパラメーター化によって得られる視覚作成インタフェース９００を示したものである。詳細には、インタフェース９００は、図８に関連して既に説明した「ＧＲＯＵＰ  ＢＹ」操作のグラフ指定およびパラメーター化の結果を示したものである。示されているように、プレビューパネル５１０の第１の部分５２０が更新され、グループ操作のパラメーター、ここではジャンルに従ってグループ化されたデータが含まれている。プレビューパネルの第４の部分５５０も同じく更新されており、操作によるグループの選択を反映している。同じく第３のコンポーネント５４０を変更して、変換されたデータソースを反映するメタデータを表示することも可能である。ユーザーは、データソースを所望の形態に変換するために必要な数のデータ変換操作を選択することができる。実施されると、例えばその機能を結合した視覚的な表現９１０を選択することにより、その変更が適用され、保管され、あるいは完遂され得る。
【００３０】
[0045]図１０は、変更が完遂されると表示され得る視覚作成インタフェース１０００のスクリーンショットである。視覚作成インタフェース１０００は、既に説明したソースパネル４１０、作業領域パネル４２０および公開パネル４３０を含む。作業領域パネル４２０が更新され、新しいジョブが含まれている。ここでは、１つまたは複数のデータ変換操作を含む新しいジョブは、第２のキューブ１０１０を使用して表されており、矢印で、第２のシリンダー４２６によって表されているソースデータ構造からこの第２のキューブ１０１０へ接続されている。さらに、ジョブを表すこの第２のキューブ１０１０は、矢印で、そのジョブによって生成される新しいデータソースを表す第３のシリンダー１０２０に接続されている。
【００３１】
[0046]図１１は、図１０の視覚作成インタフェース１０００に関して、第２のキューブ１０１０によって表されたジョブを選択することによって得られる視覚作成インタフェース１１００のスクリーンショットである。視覚作成インタフェース１０００と同様、視覚的な作成インタフェース１１００は、データソースの１つまたは複数の表現を含むソースパネル、および図によって提供されたジョブのパイプラインを含む作業領域パネル４２０を含む。第２のキューブ１０１０によって表されたジョブは、選択を示すために強調されている。選択すると、コードビューパネル１１１０が提供される。コードビューパネル１１１０は、１つまたは複数の変換操作を含むジョブと結合したコンピュータープログラミング言語コード１１２０を提供する。ここではコード１１２０は、テキストエディター環境における「ＧＲＯＵＰ  ＢＹ」操作を含み、操作は、プレビューパネル５１０内に、グラフによって既に指定されていた。コード１１２０は、変換操作を追加し、除去し、あるいは変更することによってインラインで修正され得る。修正されたコードは、次に保管されることが可能であり、また、その変更を含むべく、第２のキューブ１０１０によって表されたジョブが更新され得る。ジョブを作成する場合、ユーザーは、コードビューパネル１１１０内で手動でジョブを符号化するか、またはプレビューパネル５１０内でジョブをグラフによって指定することができる。さらに、ユーザーは、手動コードおよびグラフ指定の両方を使用してジョブを作成することも可能である。
【００３２】
[0047]上で言及したシステム、アーキテクチャー、環境などは、複数のコンポーネント間の対話に関して説明されている。このようなシステムおよびコンポーネントは、明記されているコンポーネントまたはサブコンポーネント、明記されているコンポーネントまたはサブコンポーネントのうちのいくつか、および／または追加コンポーネントを含むことができることを認識されたい。また、サブコンポーネントは、親コンポーネント内に含まれるのではなく、他のコンポーネントに通信結合されるコンポーネントとして同じく実現され得る。さらに、１つまたは複数のコンポーネントおよび／またはサブコンポーネントは、集合機能を提供するべく単一のコンポーネントに結合され得る。システム、コンポーネントおよび／またはサブコンポーネント間の通信は、プッシュモデルおよび／またはプルモデルのいずれかに従って達成され得る。また、コンポーネントは、簡潔にするために本明細書においては特に説明されていないが、当業者に知られている１つまたは複数の他のコンポーネントと対話することも可能である。
【００３３】
[0048]さらに、上で開示したシステムおよび以下で開示される方法の様々な部分は、人工知能、機械学習、または知識あるいは規則をベースとするコンポーネント、サブコンポーネント、プロセス、手段、方法論または機構（例えばサポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信念ネットワーク、ファジー論理、データ融合エンジン、分類子．．．）を含むか、または使用することができる。このようなコンポーネントは、とりわけ、システムおよび方法の一部をより適応できるようにし、その上より有効で、より知的にするために、それらによって実施される特定の機構またはプロセスを自動化することができる。非制限の一例として、コンテキストアナライザーコンポーネント３３０およびビュー生成コンポーネント３２０は、このような機構を使用して、例えばデータに基づいて、問合せ生成に使用するためのコンテキスト情報および適切なビューを決定し、または推論することができる。
【００３４】
[0049]開示される主題に従って実現され得る方法論については、上で説明した例示としてのシステムに鑑みて、図１２〜１５のフローチャートを参照してより良好に認識されよう。方法論は、説明を分かり易くするために一連のブロックとして示され、説明されているが、いくつかのブロックは、本明細書において示され、説明されているブロックの順序とは異なる順序で生じることが可能であり、および／または他のブロックと同時に生じ得るため、特許請求される主題は、このブロックの順序に限定されないことを理解し、認識されたい。さらに、以下で説明される方法を実現するために必ずしも示されているすべてのブロックが要求され得るわけではない。
【００３５】
[0050]図１２を参照すると、ジョブを作成するユーザーを補助する方法１２００が示されている。参照数表示１２１０で、選択されたデータソースからデータが受け取られる。それには限定されないが、データソースは、図式作業領域上に存在しているデータソースから選択され得る。さらに、データは、選択されたデータソースに対して生成された問合せの処理に応答して受け取られ得る。
【００３６】
[0051]数表示１２２０で、データソースデータの少なくともサブセットに基づいてプレビューが生成される。一実施形態によれば、プレビューには受け取ったデータが表示され得る。例えばプレビューは、受け取ったデータを表形式の形態で表示することができる。別の実施形態によれば、プレビューは、グラフ（例えば円グラフ、棒グラフ、ヒストグラム．．．）に対応するか、または含むことができ、あるいは受け取ったデータを使用して生成された他の視覚化（例えばタイムライン、地図．．．）に対応するか、または含むことができる。さらに、ユーザーは、利用可能な形態からプレビューの形態を選択することができる。
【００３７】
[0052]数表示１２３０で、変換操作が受け取られる。変換操作は、グラフ選択および指定に基づいて受け取られ得る。変換操作は、コードの手動作成、または手動作成とグラフ作成の組合せに基づいて受け取られ得る。コードがグラフによって作成された場合、数表示１２４０で、変換操作を実施する対応するコードが生成される。数表示１２５０でプレビューが更新され、変換操作の適用を反映する。参照１２６０で、それ以上の変換操作が受け取られないよう、作成が実施されるか否かに関する決定がなされる。作成が実施されない（「いいえ」）場合、方法は参照１２３０に戻って継続し、別の変換操作が受け取られる。別法としては、例えば明確な指示に基づいて作成が実施されると（「はい」）、方法は参照数表示１２７０を継続する。１２７０で、生成され、手動で作成されたコードが保管される。次に、参照数表示１２８０で作業領域が更新され、１つまたは複数の変換操作を含むジョブを含む。例えば入力データソースの表現がジョブの表現に接続され、また、ジョブの表現が出力データソースに接続される。
【００３８】
[0053]図１３は、データプレビューを生成する方法１３００を示したものである。参照数表示１３１０で、データソースと結合したコンテキストが決定される。詳細には、データソースメタデータ、データソースデータおよび／またはデータソースとの先行する対話に基づいて、データソースの性質が決定または推論される。例えば行または列の数、ならびにユーザーがその前にデータソースとどのように対話したかを含む、データソースのサイズに関する何かを知ることは有用であろう。数表示１３２０で、データソースに対する問合せが生成される。問合せ生成には、決定されたあらゆるコンテキスト情報を考慮することができる。例えばデフォルトにより、問合せ生成は、最初の１００行のデータを要求することができる。しかしながらこのデフォルトは、コンテキスト情報に基づいて無効にされ得る。例えばアルファベット順に並べられた大型データソースの場合、ランダムまたは疑似ランダムにデータをサンプリングする問合せ、または一番上の５０行、真中の５０行および一番下の５０行を獲得する問合せを生成することになる可能性がある。同様に、プレビューがグラフになることが知られているか、あるいはプレビューがグラフになることが決定または推論され得る場合、追加情報を獲得し、および／または最初の１００行を返すのではなく、サンプリングを実施することが最良であり得る。数表示１３３０で、問合せが局所プロセッサーまたは遠隔プロセッサーにサブミットされ、結果が受け取られる。参照数表示１３４０で、プレビューのための視覚化が選択される。例えば視覚化は、とりわけデータの表、データのグラフ、データのタイムライン、またはデータを含む地図であってもよい。選択は、ユーザー選択、好み／設定および／またはデータに基づいてなされ得る。例えば経度および緯度を含むデータが地図上に提供され、一方、時間依存データがタイムライン上に表示され得る。参照数表示１３５０で、選択された視覚化を使用してデータが描写される。
【００３９】
[0054]図１４は、ジョブ作成のための視覚化方法１４００のフローチャート図である。参照数表示１４１０で、変換ワークフローを作成するための作業領域が描写される。数表示１４２０で、ソースおよびジョブを含む作業領域に図が描写される。数表示１４３０で、作業領域のコンテキストでデータソースを選択するとプレビューが描写される。言い換えると、プレビューは、作業領域の外部の個別のウィンドウにではなく、作業領域を使用してその場で描写される。参照数表示１４４０で、１つまたは複数の変換操作の表現がプレビューのコンテキストで描写される。例えば視覚化は、作業領域パンおよびプレビューパンを含むことができ、プレビューパンは、第１の部分にデータソースのプレビューを含み、また、第２の部分に変換操作の表現を含む。数表示１４５０で、１つまたは複数の変換操作を選択すると、更新されたプレビューが描写される。例えばプレビューが更新され、選択された操作が反映され得る。数表示１４６０で、作業領域図が更新され、１つまたは複数の選択された変換操作を含むジョブを含む。
【００４０】
[0055]図１５は、視覚化をプレビューの中に注入する方法１５００のフローチャート図である。参照数表示１５１０で、データソースと結合したデータの少なくともサブセットが受け取られる。例えばデータソースを選択すると、選択されたデータソースと結合したデータが受け取られ得る。数表示１５２０で、受け取ったデータに対して１つまたは複数の統計的測度が計算される。このような統計的測度の例には、それらに限定されないが、とりわけカウント（例えばすべての行のカウント、固有値カウント、紛失値カウント）、範囲（例えば最小、最大、範囲）、および統計的要約（例えば平均、中央値、モード、分散、標準偏差．．．）を含む。参照１５３０で、計算された測度のうちの少なくとも１つに基づいて視覚化が生成される。一実施形態によれば、視覚化は、グラフ（例えば棒、ヒストグラム、リング、円．．．）に対応し得る。参照数表示１５４０で、プレビュー内に視覚化が提供される。一実例では、視覚化は、データの表現内に組み込まれ得る。追加または別法として、視覚化は、データ表現の外部に提供され得る。
【００４１】
[0056]主題開示は、様々な製品をサポートし、また、ジョブ作成に関する様々なアクションをデータプレビューを使用して実施し、あるいは実施するように構成されるプロセスをサポートする。以下は、例示としての１つまたは複数の方法およびシステムである。
【００４２】
[0057]グラフィカル・ユーザー・インタフェースをディスプレイ上に提供するように構成されたコンピューターでは、方法は、インタフェースの第１の部分のディスプレイ上に、図式ジョブ作成を可能にするように構成された作業領域上のデータソースの表現を提供するステップと、データソースの選択に応答して、データソースから獲得したデータの少なくともサブセットおよび変換操作の１つまたは複数の視覚的な表現に基づいて、インタフェースの第２の部分のディスプレイ上にデータプレビューを提供するステップとを含む。方法は、変換操作が選択された後、変換操作の適用を反映するためにデータプレビューを更新するステップをさらに含む。方法は、インタフェースの第３の部分のディスプレイ上に、一連の１つまたは複数の選択された変換操作を提供するステップをさらに含む。方法は、インタフェースの第３の部分のディスプレイ上に、１つまたは複数の選択された変換操作を実現するコードを提供するステップをさらに含む。方法は、１つまたは複数の選択された変換操作を含むジョブの視覚的な表現を自動的に作業領域に追加するステップをさらに含む。方法は、インタフェースの第２の部分のディスプレイ上に、データの少なくともサブセットのグラフを含むデータプレビューを提供するステップをさらに含む。方法は、インタフェースの第２の部分のディスプレイ上に、データの２つ以上のセグメントを含むデータプレビューを提供するステップをさらに含む。
【００４３】
[0058]ジョブ作成を容易にする方法は、メモリーに記憶されたコンピューター実行可能命令を実行するように構成された少なくとも１つのプロセッサーを使用して、視覚的な作業領域の図中のデータソースの表現の選択に応答して、データの少なくともサブセットのためのデータソースに対する問合せを生成する工程と、問合せの実行結果に基づいて、作業領域のコンテキストでデータソースのプレビューを提供する工程とを実施するステップを含む。方法は、プレビューのコンテキストで１つまたは複数のデータ変換操作の視覚的な表現を提供する工程をさらに含む。方法は、１つまたは複数のデータ変換操作からの変換操作の選択に応答して、更新された問合せを生成する工程であって、更新された問合せは選択された変換操作を取り込む、工程と、更新された問合せの実行結果に基づいてプレビューを更新する工程とをさらに含む。方法は、選択された変換操作を含むジョブの表現を自動的に作業領域に追加する工程をさらに含む。方法は、選択された変換操作を実施するように構成されたコードを生成する工程、および作業領域のコンテキストでコードを視覚的に提供する工程をさらに含む。方法は、選択された視覚化を使用してプレビューを提供する工程をさらに含む。
【００４４】
[0059]ジョブ作成を容易にするシステムは、メモリーに結合されたプロセッサーを備え、プロセッサーは、メモリーに記憶されたコンピューター実行可能コンポーネントを実行するように構成されており、コンピューター実行可能コンポーネントは、図によってジョブを作成するための視覚的な作業領域を提供するように構成された第１のコンポーネント、およびデータソースを選択すると、作業領域と同時に作業領域上に表されるデータソースのプレビューであって、生成された、データを指定する問合せの実行の結果に基づいて、データソースから獲得されるデータの少なくともサブセットから生成されるプレビューを提供するように構成された第２のコンポーネントである。システムは、プレビューと関連して１つまたは複数の変換操作の視覚的な表現を提供するように構成された第３のコンポーネントと、プレビューを更新して、１つまたは複数の選択された変換操作の適用を反映するように構成された第４のコンポーネントをさらに備える。システムは、１つまたは複数の選択された変換操作と結合したコードを生成し、１つまたは複数の選択された変換操作を含むジョブを作業領域に追加するように構成された第３のコンポーネントをさらに備える。一実例では、プレビューは、データソースからのデータの２つ以上のセグメントを含む。別の実例では、プレビューは、データソースからのデータのランダムサンプリングまたは疑似ランダムサンプリングを含む。さらに別の実例では、プレビューは、データソースからのデータのグラフを含む。
【００４５】
[0060]「例示として」という語またはその様々な形態は、本明細書においては、例、実例または例証として働くことを意味するべく使用されている。本明細書において「例示として」として説明されているすべての態様または設計は、必ずしも他の態様または設計よりも好ましいもの、または有利なものとして解釈してはならない。さらに、例は、単に明快性および理解を目的として提供されたものにすぎず、いかなる方法においても、特許請求される主題または本開示の関連する部分を制限し、または限定することを意味するものではない。可変範囲の多くの追加例または代替例の提供が可能であったが、簡潔にするために省略されたことを認識されたい。
【００４６】
[0061]本明細書において使用されているように、「コンポーネント」および「システム」という用語、ならびにその様々な形態（例えばコンポーネント、システム、サブシステム．．．）には、ハードウェアであれ、ハードウェアとソフトウェアの組合せであれ、ソフトウェアであれ、あるいは実行中のソフトウェアであれ、コンピューターに関連する実体を意味することが意図されている。例えばコンポーネントは、それらに限定されないが、プロセッサー上で走るプロセス、プロセッサー、オブジェクト、インスタンス、実行可能ファイル、実行のスレッド、プログラムおよび／またはコンピューターであってもよい。例証として、コンピューター上で走るアプリケーションおよびコンピューターはいずれもコンポーネントであってもよい。１つまたは複数のコンポーネントは、プロセスおよび／または実行のスレッド内に常駐させることができ、また、コンポーネントは、１つのコンピューター上に局所化され、および／または２つ以上のコンピューターの間で分散され得る。
【００４７】
[0062]以上の説明および添付の特許請求の範囲で使用されている接続詞「または」には、特に明記されていない限り、あるいは文脈から明らかである場合を除き、排他的な「または」ではなく包含的な「または」を意味することが意図されている。言い換えると、“「Ｘ」または「Ｙ」”には、「Ｘ」および「Ｙ」の任意の包含的置換を意味することが意図されている。例えば“「Ａ」は「Ｘ」を使用する”、“「Ａ」は「Ｙ」を使用する”または“「Ａ」は「Ｘ」および「Ｙ」の両方を使用する”という場合、“「Ａ」は「Ｘ」または「Ｙ」を使用する”は、上記のすべての例の下で満足される。
【００４８】
[0063]さらに、「を備える」は、使用されている場合、特許請求の範囲における伝統的な語として解釈されるため、「を含む」、「を包含する」、「を有する」という用語、またはそれらの形態の変形が、発明を実施するための形態または特許請求の範囲のいずれかで使用されている限りにおいては、このような用語には、「を備える」という用語と同様の方法で包含的であることが意図されている。
【００４９】
[0064]特許請求される主題のための文脈を提供するために、図１６ならびに以下の説明には、主題の様々な態様が実現され得る適切な環境についての簡単な概要説明を提供することが意図されている。しかしながらこの適切な環境は、単なる例にすぎず、使用または機能の範囲に対する何らかの制限を示唆することは意図されていない。
【００５０】
[0065]上で開示したシステムおよび方法は、１つまたは複数のコンピューター上で走るプログラムのコンピューター実行可能命令の一般的な文脈で説明され得るが、態様は、他のプログラムモジュールなどとの組合せで同じく実現され得ることを当業者は認識するであろう。通常、プログラムモジュールは、とりわけ、特定のタスクを実施し、および／または特定の抽象データ型を実現するルーチン、プログラム、コンポーネント、データ構造を含む。さらに、上記システムおよび方法は、単一プロセッサー、多重プロセッサーまたは多重コアプロセッサーコンピューターシステム、小型計算デバイス、メインフレームコンピューター、ならびにパーソナルコンピューター、ハンドヘルド計算デバイス（例えばパーソナルデジタルアシスタント（ＰＤＡ）、電話、時計．．．）、マイクロプロセッサーをベースとする、またはプログラム可能な消費者電子工学または産業電子工学などを含む様々なコンピューターシステム構成を使用して実践され得ることを当業者は認識するであろう。また、態様は、通信ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実施される分散計算環境で同じく実践され得る。しかしながら、すべてではないとしても、特許請求される主題の態様のうちのいくつかは、独立型コンピューター上で実践され得る。分散計算環境では、プログラムモジュールは、局所メモリーデバイスおよび遠隔メモリーデバイスのうちの一方または両方に置かれ得る。
【００５１】
[0066]図１６を参照すると、例示としての汎用コンピューターすなわち計算デバイス１６０２（例えばデスクトップ、ラップトップ、タブレット、時計、サーバー、ハンドヘルドプログラム可能消費者電子工学または産業電子工学、セットトップボックス、ゲームシステム、計算ノード．．．）が示されている。コンピューター１６０２は、１つまたは複数のプロセッサー１６２０、メモリー１６３０、システムバス１６４０、大容量記憶デバイス１６５０、および１つまたは複数のインタフェースコンポーネント１６７０を含む。システムバス１６４０は、少なくとも上記システム構成要素を通信結合する。しかしながら、その最も単純な形態では、コンピューター１６０２は、メモリー１６３０に結合された、様々なコンピューター実行可能アクション、命令および／またはメモリー１６３０に記憶されたコンポーネントを実行する１つまたは複数のプロセッサー１６２０を含むことができることを認識されたい。
【００５２】
[0067]プロセッサー１６２０は、本明細書において説明された機能を実施するように設計された、汎用プロセッサー、デジタル信号プロセッサー（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、書替え可能ゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、離散ゲートまたはトランジスター論理、離散ハードウェアコンポーネント、またはそれらの任意の組合せを使用して実現され得る。汎用プロセッサーはマイクロプロセッサーであってもよいが、代替では、プロセッサーは、任意のプロセッサー、コントローラー、マイクロコントローラーまたは状態マシンであってもよい。また、プロセッサー１６２０は、計算デバイスの組合せ、例えばＤＳＰとマイクロプロセッサー、複数のマイクロプロセッサー、多重コアプロセッサー、ＤＳＰコアと関連した１つまたは複数のマイクロプロセッサー、または任意の他のこのような構成の組合せとして同じく実現され得る。一実施形態では、プロセッサーは、グラフィックスプロセッサーであってもよい。
【００５３】
[0068]コンピューター１６０２は、様々なコンピューター可読媒体を含むことができ、さもなければこれらの様々なコンピューター可読媒体と対話することができ、それによりコンピューター１６０２の制御を容易にして、特許請求される主題の１つまたは複数の態様を実現することができる。コンピューター可読媒体は、コンピューター１６０２によってアクセスされ得る任意の利用可能な媒体であってもよく、また、揮発性媒体および不揮発性媒体、ならびに取外し可能媒体および非取外し可能媒体を含む。コンピューター可読媒体は、２つの全く異なるタイプの媒体、すなわちコンピューター記憶媒体および通信媒体を備えることができる。
【００５４】
[0069]コンピューター記憶媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性媒体および不揮発性媒体、取外し可能媒体および非取外し可能媒体を含む。コンピューター記憶媒体は、メモリーデバイス（例えばランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリ・メモリー（ＲＯＭ）、電気的消去可能プログラマブル・リード・オンリ・メモリー（ＥＥＰＲＯＭ）．．．）、磁気記憶デバイス（例えばハードディスク、フロッピーディスク、カセット、テープ．．．）、光ディスク（例えばコンパクトディスク（ＣＤ）、デジタル汎用ディスク（ＤＶＤ）．．．）およびソリッド・ステート・デバイス（例えばソリッド・ステート・ドライブ（ＳＳＤ）、フラッシュ・メモリー・ドライブ（例えばカード、スティック、キードライブ．．．）．．．）、またはコンピューター１６０２によるアクセスが可能な所望の情報を転送または通信するのではなく、記憶する任意の他の同様の媒体などの記憶デバイスを含む。したがってコンピューター記憶媒体は、変調データ信号を除外する。
【００５５】
[0070]通信媒体は、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他の輸送機構などの変調データ信号中で具体化し、また、任意の情報引渡し媒体を含む。「変調データ信号」という用語は、その特性セットのうちの１つまたは複数を有する信号、または信号中の情報を符号化する方法で変化した信号を意味している。非制限の一例として、通信媒体は、配線式ネットワークまたは直接配線接続などの配線式媒体、および音響、ＲＦ、赤外線および他の無線媒体などの無線媒体を含む。
【００５６】
[0071]メモリー１６３０および大容量記憶デバイス１６５０は、コンピューター可読記憶媒体の例である。計算デバイスの厳密な構成およびタイプに応じて、メモリー１６３０は、揮発性（例えばＲＡＭ）であっても、不揮発性（例えばＲＯＭ、フラッシュメモリー．．．）であっても、あるいはその２つの何らかの組合せであってもよい。一例として、スタートアップなどの間にコンピューター１６０２内の要素間で情報を伝達するための基本ルーチンを含む基本入力／出力システム（ＢＩＯＳ）は、不揮発性メモリーに記憶されることが可能であり、一方、揮発性メモリーは、とりわけ、処理プロセッサー１６２０による処理を容易にするための外部キャッシュメモリーとして作用することができる。
【００５７】
[0072]大容量記憶デバイス１６５０は、メモリー１６３０に関連する大量のデータを記憶するための取外し可能／非取外し可能な揮発性／不揮発性コンピューター記憶媒体を含む。例えば大容量記憶デバイス１６５０は、それらに限定されないが、磁気ディスクドライブまたは光ディスクドライブ、フロッピーディスクドライブ、フラッシュメモリー、ソリッド・ステート・ドライブまたはメモリースティックなどの１つまたは複数のデバイスを含む。
【００５８】
[0073]メモリー１６３０および大容量記憶デバイス１６５０は、オペレーティングシステム１６６０、１つまたは複数のアプリケーション１６６２、１つまたは複数のプログラムモジュール１６６４およびデータ１６６６を含むことができ、すなわちそれらを中に記憶することができる。オペレーティングシステム１６６０は、コンピューター１６０２の資源を制御し、割り当てるように作用する。アプリケーション１６６２は、システムソフトウェアおよびアプリケーションソフトウェアのうちの一方または両方を含み、また、メモリー１６３０および／または大容量記憶デバイス１６５０に記憶されたプログラムモジュール１６６４およびデータ１６６６を介したオペレーティングシステム１６６０による資源の管理を利用し、それにより１つまたは複数のアクションを実施することができる。したがってアプリケーション１６６２は、それによって提供される論理に従って汎用コンピューター１６０２を専用マシンにすることができる。
【００５９】
[0074]特許請求される主題のすべて、または一部は、コンピューターを制御して、開示された機能を実現するためのソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の組合せを構築するための標準プログラミングおよび／またはエンジニアリング技法を使用して実現され得る。非制限の一例として、視覚作成システム１００またはその一部は、アプリケーション１６６２であるか、またはその一部を形成することができ、また、メモリーおよび／または大容量記憶デバイス１６５０に記憶された１つまたは複数のモジュール１６６４およびデータ１６６６を含むことができ、それらの機能は、１つまたは複数のプロセッサー１６２０によって実行されると実現され得る。
【００６０】
[0075]特定の一実施形態によれば、プロセッサー１６２０は、単一の集積回路基板の上にハードウェアとソフトウェアの両方を含む、言い換えると統合したシステム・オン・チップ（ＳＯＣ）または同様のアーキテクチャーに対応し得る。ここではプロセッサー１６２０は、とりわけプロセッサー１６２０およびメモリー１６３０と少なくとも同様の１つまたは複数のプロセッサーならびにメモリーを含むことができる。従来のプロセッサーは、最小限のハードウェアおよびソフトウェアを含み、また、広範囲にわたって外部ハードウェアおよびソフトウェアに頼っている。それとは対照的に、プロセッサーのＳＯＣ実施態様は、最少の外部ハードウェアおよびソフトウェアで、あるいは外部ハードウェアおよびソフトウェアに頼ることなく特定の機能を可能にするハードウェアおよびソフトウェアを中に埋め込んでいるため、より強力である。例えば視覚作成システム１００および／または関連する機能は、ＳＯＣアーキテクチャーのハードウェア内に埋設され得る。
【００６１】
[0076]また、コンピューター１６０２は、システムバス１６４０に通信結合され、コンピューター１６０２との対話を容易にする１つまたは複数のインタフェースコンポーネント１６７０を同じく含む。一例として、インタフェースコンポーネント１６７０は、ポート（例えばシリアル、パラレル、ＰＣＭＣＩＡ、ＵＳＢ、ＦｉｒｅＷｉｒｅ．．．）またはインタフェースカード（例えば音声、ビデオ．．．）などであってもよい。１つの例示としての実施態様では、インタフェースコンポーネント１６７０は、ユーザー入力／出力インタフェースとして具体化されることが可能であり、それによりユーザーは、例えば１つまたは複数の入力デバイス（例えばマウスなどの位置決めデバイス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナー、カメラ、他のコンピューター．．．）を介した１つまたは複数のジェスチャーまたは音声入力によってコマンドおよび情報をコンピューター１６０２に入力することができる。別の例示としての実施態様では、インタフェースコンポーネント１６７０は、とりわけディスプレイ（例えばＬＣＤ、ＬＥＤ、プラズマ．．．）、スピーカー、プリンターおよび／または他のコンピューターに出力を供給するための出力周辺インタフェースとして具体化され得る。さらに、インタフェースコンポーネント１６７０は、配線式通信リンクまたは無線通信リンクなどを介した他の計算デバイス（図示せず）との通信を可能にするネットワークインタフェースとして具体化され得る。
【００６２】
[0077]以上の説明には、特許請求される主題の態様の例が含まれている。当然、特許請求される主題を説明するために、構成要素または方法論の想定可能なすべての組合せを説明することは不可能であるが、当業者は、開示された主題の多くの他の組合せおよび置換が可能であることを認識し得る。したがって開示された主題には、添付の特許請求の範囲の精神および範囲の範疇であるすべてのこのような代替、変更態様および変形形態を包含することが意図されている。
【図１】
2017535856.tif 000003
【図２】
2017535856.tif 000004
【図３】
2017535856.tif 000005
【図４】
2017535856.tif 000006
【図５】
2017535856.tif 000007
【図６】
2017535856.tif 000008
【図７】
2017535856.tif 000009
【図８】
2017535856.tif 000010
【図９】
2017535856.tif 000011
【図１０】
2017535856.tif 000012
【図１１】
2017535856.tif 000013
【図１２】
2017535856.tif 000014
【図１３】
2017535856.tif 000015
【図１４】
2017535856.tif 000016
【図１５】
2017535856.tif 000017
【図１６】
2017535856.tif 000018
【国際調査報告】
2017535856.tif 000019
2017535856.tif 000020