(57)【要約】  データセットおよびジョブのスキーマ要素間の不整合が自動的に識別される。さらに、不整合は、データ変換パイプラインの図式作成をサポートするように構成された対話式の視覚的な作業領域と関連して視覚的に提供され得る。データセットがジョブに接続されると、１つまたは複数の不整合が決定され、作業領域のコンテキストで提供され得る。さらに、スキーマ要素は、不整合を解決するために、スキーマ要素の視覚的な表現との対話によって再構成され得る。
2018507450.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
メモリーに記憶されたコンピューター実行可能命令を実行するように構成された少なくとも１つのプロセッサーを使用して、
入力データセットのジョブへの接続を、グラフィカル・ユーザー・インタフェース作業領域によって検出する動作であって、前記グラフィカル・ユーザー・インタフェース作業領域は、パイプラインの図式作成をサポートするように構成され、前記パイプラインは、第１のジョブの出力が任意選択で第２のジョブに入力を提供する一組の１つまたは複数の関連するジョブを含む、動作と、
前記データセットおよび前記ジョブのスキーマ要素間の１つまたは複数の不整合を、前記データセットおよび前記ジョブのスキーマ要素間の対応関係の強さの測度を所定の閾値と比較することによって決定する動作と、
前記１つまたは複数の不整合を前記作業領域のコンテキスト内で提示する動作と
を実行するステップを含む方法。
【請求項２】
請求項１に記載の方法であって、前記スキーマ要素間の対応関係の強さを、データタイプ比較と名称比較との少なくとも１つに基づいて決定するステップをさらに含む方法。
【請求項３】
請求項１に記載の方法であって、前記入力データセットおよび前記ジョブのスキーマ要素間の１つまたは複数の整合を、対応関係の前記強さと前記所定の閾値または異なる所定の閾値との比較に基づいて識別するステップをさらに含む方法。
【請求項４】
請求項３に記載の方法であって、前記不整合から整合を視覚的に区別するステップをさらに含む方法。
【請求項５】
請求項１に記載の方法であって、前記入力データセットのスキーマ要素を前記ジョブの異なるスキーマ要素に割り当てる信号を受信するステップをさらに含む方法。
【請求項６】
請求項５に記載の方法であって、前記１つまたは複数の不整合のうちの１つの視覚的な表現に対する前記スキーマ要素の選択、ドラッグ操作およびドロップ操作を受け取るステップをさらに含む方法。
【請求項７】
システムであって、
メモリーに結合されたプロセッサーを備え、前記プロセッサーが、前記メモリーに記憶されたコンピューター実行可能コンポーネントを実行するように構成され、前記コンピューター実行可能コンポーネントは、
パイプラインを作成するための視覚的な作業領域を提供するように構成された第１のコンポーネントであって、前記パイプラインは、第１のジョブの出力が任意選択で第２のジョブに図式的に入力を提供する一組の１つまたは複数の関連するジョブを含む、第１のコンポーネントと、
データセットおよびジョブのスキーマ要素間の１つまたは複数のスキーマ不整合を、前記データセットの表現の前記作業領域上の前記ジョブの表現への接続に応答して、前記データセットおよび前記ジョブのスキーマ要素間の対応関係の強さの測度と所定の閾値の比較に基づいて識別するように構成された第２のコンポーネントと、
前記データセットと前記ジョブの間の前記１つまたは複数のスキーマ不整合を提示するように構成された第３のコンポーネントと
を含む、システム。
【請求項８】
請求項７に記載のシステムであって、前記第３のコンポーネントは、前記不整合を前記作業領域のコンテキストで提示するようにさらに構成された、システム。
【請求項９】
請求項７に記載のシステムであって、前記第２のコンポーネントは、前記データセットの前記スキーマ要素と前記ジョブの前記スキーマ要素との間の対応関係の強さを、スキーマ要素の少なくともデータタイプおよび名称に基づいて決定するようにさらに構成された、システム。
【請求項１０】
請求項７に記載のシステムであって、不整合スキーマ要素のグラフィカル再割当てを可能にするように構成された第４のコンポーネントをさらに含むシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]価値のある洞察を収集するための膨大な量のデータ、いわゆるビッグデータを処理するためには、第１の変換データが必要である。データは、１つまたは複数のジョブを生成し、日程を計画し、実行することにより、ダッシュボードなどのビジネスインテリジェンスエンドポイントによる公開または消費のために使用可能な形態に変換される。このコンテキストにおいては、ジョブは、データに対する１つまたは複数の変換操作を含む作業の単位である。典型的には、ジョブは、データディベロッパ、データアーキテクト、ビジネスインテリジェンスアーキテクトなどによって手動で符号化される。さらに、ディベロッパなどの個人は、ジョブによって消費されるデータがジョブによって受け入れ可能な方法で構築されることを保証することが課される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]以下は、開示される主題のいくつかの態様についての基本的な理解を提供するために、簡単に概要を示したものである。この概要は、広範囲にわたる概説ではない。特許請求される主題の主要な／決定的な要素を識別すること、または特許請求される主題の範囲を正確に概説することは意図されていない。この概要の唯一の目的は、後で示されるより詳細な説明に対する前置きとして、いくつかの概念を単純な形態で提示することである。
【０００３】
[0003]簡単に説明すると、主題開示は、自動スキーマ不整合検出に関する。ユーザーがデータセットを視覚的な作成インタフェースの作業領域上のジョブに接続したことに応答して、スキーマ整合化プロセスが開始される。スキーマ整合化プロセスは、データセットスキーマおよびジョブが期待するスキーマの要素間の整合を識別し、不整合を検出する。不整合は、対応関係の強さを示す測度および所定の閾値に基づいて検出され得る。検出された不整合は、視覚的な作成インタフェースの一部の中でユーザーに提示され得る。さらに、ユーザーは、不整合の解決を可能にする方法で、検出された不整合と対話することができる。
【課題を解決するための手段】
【０００４】
[0004]上記および関連する目的を達成するために、本明細書においては、特許請求される主題の特定の例証態様について、以下の説明および添付の図面に関連して説明される。これらの態様は、主題が実践され得る様々な方法を示しており、それらは、すべて、特許請求される主題の範囲内であることが意図されている。他の利点および新規な特徴は、図面と関連して考察することにより、以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【０００５】
【図１】[0005]視覚的な作成システムのブロック図である。
【図２】[0006]代表的なスキーマ整合コンポーネントのブロック図である。
【図３】[0007]代表的な整合識別構成要素のブロック図である。
【図４】[0008]例示としての視覚的な作成インタフェースのスクリーンショットである。
【図５】[0009]不整合を露出するパネルを有する、例示としての視覚的な作成インタフェースのスクリーンショットである。
【図６】[0010]不整合の解決を示すパネルを有する、例示としての視覚的な作成インタフェースのスクリーンショットである。
【図７】[0011]スキーマ不整合を検出し、解決する方法のフローチャート図である。
【図８】[0012]スキーマ整合の方法のフローチャート図である。
【図９】[0013]スキーマ整合を分類する方法のフローチャート図である。
【図１０】[0014]主題開示の態様のための適切な動作環境を示す略ブロック図である。
【発明を実施するための形態】
【０００６】
[0015]以下の詳細は、一般に、自動スキーマ不整合検出および解決に関している。パイプラインは、第１のジョブの出力が任意選択で第２のジョブに入力を提供する一組の１つまたは複数の関連するジョブを含む。例えば１つまたは複数の入力データセットは、入力データセットを消費し、データ変換操作を実施し、出力データセットを生成するジョブに接続され得る。入力データセットのスキーマは、ジョブのスキーマ、言い換えるとジョブが期待するスキーマとは異なることがあり得る。これらの相違は、ジョブが首尾よく実施され得る前に解決されなければならない。本明細書において提供されるように、データセットスキーマとジョブスキーマの間の相違は、データソースがジョブに接続されると自動的に決定され得る。対話式の視覚的な作業領域に関連して、ジョブへのデータソースの図式的な接続は、スキーマ要素を整合または不整合として分類することができるスキーマ整合プロセスを開始することができる。ジョブによって期待されているものに対してスキーマの要素が整合であるか、または不整合であるかどうかは、対応関係の強さおよび所定の閾値に基づくことができ、対応関係の強さは、それらに限定されないが、要素データタイプおよび名称（名前）を含む１つまたは複数の要因の関数として計算される確実性測度である。不整合は、視覚的な作業領域のコンテキストで提示されることが可能であり、また、ユーザーによる不整合の解決を可能にする。例えばデータセットおよびジョブの両方と結合したスキーマ要素は、整合要素とは視覚的に区別される不整合要素を使用して提示され得る。ユーザーは、次に、データソースとジョブスキーマ要素を整合させる１つまたは複数のジェスチャーを使用してグラフによって不整合を解決することができる。したがって、入力データセットのスキーマ要素および消費ジョブに対するすべての整合をユーザーが特定しなければならない場合とは対照的に、スキーマ不整合を露出させ、その容易な修正を可能にすることによってスキーマ整合が簡素化され、あるいはより効率化される。
【０００７】
[0016]以下、同様の数表示は、概ね、全体を通して同様または対応する要素を表す添付の図面を参照して、主題開示の様々な態様がより詳細に説明される。しかしながら図面および図面に関連する詳細な説明には、特許請求される主題を開示される特定の形態に限定することは意図されていないことを理解されたい。そうではなく、特許請求される主題の精神および範囲の範疇であるあらゆる修正、等価物および代替を包含することが意図されている。
【０００８】
[0017]最初に図１を参照すると、視覚的な作成システム１００が示されている。視覚的な作成システム１００は、作業領域コンポーネント１１０、ソースコンポーネント１２０、ターゲットコンポーネント１３０およびスキーマ整合コンポーネント１４０を含む。作業領域コンポーネント１１０は、対話式の視覚的な作業領域すなわちキャンバスを提供することによってジョブおよびパイプラインの図式作成を可能にするように構成され、パイプラインは、第１のジョブの出力が任意選択で第２のジョブに入力を提供する一組の１つまたは複数の関連するジョブを含む。例えばデータセットは、シリンダーとして表されることが可能であり、また、データセットを消費し、修正されたデータセットをもたらすジョブへの矢印によって接続され得る。本質的には、ユーザーは、データセットとジョブの間の関係の図を描くことができる。これにより、関係の理解および最終的にはパイプラインの指定の点で時間を節約する直感的な経験が得られる。さらに、スキーマ整合コンポーネント１４０は、スキーマ不整合を自動的に識別し、データソースとジョブの間の識別された不整合の解決を可能にするように構成される。
【０００９】
[0018]ソースコンポーネント１２０は、ジョブを作成するために利用することができる、データの集合を含むデータソースまたはデータセットの視覚的な表現を生成するように構成される。実質的に任意のフォーマット（例えば表、ファイル、ストリーム．．．）または構造（例えば構造化、非構造化、半構造化）のオンプレミス・データソースおよびクラウドをベースとするデータソースを含む任意のデータセットがソースコンポーネント１２０によって獲得され、利用され得る。言い換えると、ソースコンポーネント１２０は、異質データソースを露出するように構成される。データの集合は、ソースコンポーネント１２０によって提供される機能を探索し、インポートすることによって利用し得る。さらに、ソースコンポーネント１２０は、ユーザーまたは実体の口座などを監視し、アクセス可能なデータソースを自動的に利用するように構成され得る。ソースコンポーネント１２０によって描写されるデータソースは対話式であり、１つまたは複数のジョブのための入力として使用され得る。ソース領域からのデータソースは、例えばドラッグ・アンド・ドロップなどのジェスチャーを使用して作業領域に追加され得る。
【００１０】
[0019]ターゲットコンポーネント１３０は、すべての変換が適用された後の最終データセットを表示するための視覚位置を提供するように構成される。これらのデータセットは、引き続いて、分析論アプリケーションなどのアプリケーションによって公開または消費され得る。ジョブの結果または一連のジョブは、作業領域からドラッグされ、ターゲット視覚化領域にドロップされ得る。
【００１１】
[0020]作業領域コンポーネント１１０は、１つまたは複数の変換操作を含むジョブ、および第１のジョブの出力が任意選択で第２のジョブに入力を提供する一組の１つまたは複数の関連するジョブを含むパイプラインの視覚的な作成を可能にするように構成される。詳細には、作業領域コンポーネント１１０は、作業領域上の図によってジョブおよびパイプラインの構築を容易にするように構成される。例えばユーザーは、ソースから作業領域ペインまたはユーザーインタフェースのパネルへデータソースの視覚的な表現をドラッグし、ドロップすることによってデータソースを獲得することができる。データソースは、例えばジョブが消費し、１つまたは複数のデータ変換操作（例えばソート、グループ、ピボット、スプリット、フィルター．．．）を実施する入力をデータソースが提供することを示すために、データソースからジョブまで矢印を描くことによって、予め作成済みのジョブ（例えばデータプレビューを使用して自動的に生成された、および／または手動で符号化されたジョブ）に接続され得る。さらに、変換された出力の表現は、作業領域上のジョブの表現にリンクされ得る。したがってデータソースから入力を受け取り、ジョブの１つまたは複数の変換操作の適用を反映する新しいデータソースを出力するジョブの図が表示される。
【００１２】
[0021]スキーマ整合コンポーネント１４０は、データソースとジョブの間のスキーマ要素の整合ならびに不整合を識別するように構成される。整合および不整合は、１つまたは複数の要因の関数として計算される確実性測度、および１つまたは複数の所定の閾値との比較に基づいて自動的に決定され得る。一実例では、とりわけ要素タイプおよび要素名称などの要因がデータセットおよびジョブのスキーマ要素に対して獲得され得る。それらに基づいて、「整合」の強さ、より一般的にはスキーマ要素間の対応関係の強さを表す確実性測度が計算され得る。確実性測度は、次に、不整合、整合またはそれらの間の何かを示す１つまたは複数の閾値と比較され得る。１つまたは複数の閾値との比較から、データソースのスキーマ要素がジョブと結合したスキーマ要素に対して分類され得る。例えば２つのスキーマ要素間のうちの最も高い確実性の測度が５０パーセント（５０％）未満である場合、不整合が識別され得る。一方、最も高い確実性の測度が５０パーセント（５０％）より高い場合、整合が識別され得る。当然、第３のオプションは、不整合または整合のいずれが存在しているのかあいまいである状態であり得る。例えば７０パーセント（７０％）より高い確実性の測度は、整合が存在していると言われ、５０パーセント（５０％）未満は、不整合が存在していると言われ、また、５０パーセントと７０パーセントの間（５０〜７０％）は、不定、等々として分類され得る。
【００１３】
[0022]図２は、代表的なスキーマ整合コンポーネント１４０を示したものである。スキーマ整合コンポーネントは、スキーマ獲得コンポーネント２１０、整合識別コンポーネント２２０、構成コンポーネント２３０および視覚化コンポーネント２４０を含む。スキーマ獲得コンポーネント２１０は、データソースおよびジョブからスキーマを獲得し、ジョブスキーマは、ジョブによって期待されるスキーマに対応する。データセットスキーマおよびジョブスキーマは、ソースまたはジョブから受け取られ、または検索されることが可能であり、あるいは別法としてデータソースまたはジョブを解析することによって決定され得る。整合識別コンポーネント２２０は、一組のスキーマ要素をとりわけ整合または不整合として分類するように構成される。
【００１４】
[0023]図３を簡単に参照すると、代表的整合識別コンポーネント２２０が示されている。整合識別コンポーネント２２０は、タイプコンポーネント３１０、名称コンポーネント３２０、学習コンポーネント３３０および確実性コンポーネント３４０を含む。タイプコンポーネント３１０は、スキーマ要素間のタイプ整合および不整合を決定するように構成される。より詳細には、タイプコンポーネント３１０は、基本タイプ（例えば整数、実数、ブール．．．）および複合タイプ（例えばアレイ、セット、レコード、オブジェクト．．．）を含むスキーマ要素データタイプを識別し、タイプに基づいて整合しているスキーマ要素および整合していないスキーマ要素を決定するように構成される。名称コンポーネント３２０は、スキーマ要素名称に基づいてスキーマの整合および不整合を決定するように構成される。スキーマ要素が、同じまたは同様の名称（例えば同義語の辞書に示されている）を含んでいる場合、そのスキーマ要素は名称整合と見なされ得る。一方、スキーマ要素が異なる名称を含んでいる場合、そのスキーマ要素は名称不整合と見なされ得る。学習コンポーネント３３０は、１つまたは複数のユーザーからの対話に基づいて整合および不整合を学習するように構成される。例えば第１の要素が第２の要素に対して整合であったことをユーザーが既に示している場合、次に、第１の要素および第２の要素が再び遭遇すると、学習コンポーネント３３０を利用して整合していることが示され得る。確実性コンポーネント３４０は、スキーマ要素間の対応関係の強さを捕獲する確実性測度を生成するように構成される。一実例では、スキーマ要素間の百分率整合または不整合を示す値が生成され得る。例えば第１の要素および第２の要素は、７０パーセント（７０％）の確実性で整合する。さらに、確実性コンポーネント３４０は、タイプコンポーネント３１０、名称コンポーネント３２０および学習コンポーネント３３０から入力を獲得し、使用して確実性測度を生成することができる。例えば２つのスキーマ要素が同じデータタイプおよび名称の要素である場合、要素が整合する高い可能性が存在する。一方、データタイプおよび名称のうちの１つまたは複数が同様ではない場合、より低い整合の可能性およびより高い不整合の確率が存在する。
【００１５】
[0024]図２に戻ると、修正コンポーネント２３０は、不整合の解決を容易にするように構成される。スキーマ要素間に不整合が存在している場合、修正コンポーネント２３０は、データセットのスキーマ全体が、ジョブによって期待されるスキーマと整合するよう、ユーザーによるこれらの不整合の修正を可能にする機構を提供する。不整合は提示されることが可能であり、また、ユーザーは、一実施形態によれば、ジョブの整合スキーマ要素を使用してデータソースのスキーマ要素を地図にすることにより、その不整合をグラフによって修正することができる。これは、整合スキーマ要素を互いに対して位置決めする（例えば表の同じ行の中に）ことによって実施され、あるいは整合要素を接続する線を描くことによって実施され得る。別法としては、このような地図作成は、コード仕様によって実施され得る。
【００１６】
[0025]視覚化コンポーネント２４０は、スキーマ不整合検出および解決に関する視覚化を視覚作成システム１００のコンテキストで提示するように構成される。一実例では、視覚化コンポーネント２４０は、スキーマ要素の整合ならびに不整合の視覚的な表現を描写することができる。例えば視覚化コンポーネント２４０は、データセットのスキーマ要素を生成し、ジョブスキーマ要素との潜在的な整合の隣に表示することができる。さらに、グラフ表現は、２つのスキーマ要素が整合であるか不整合であるかどうかを示すことができる。例えば緑色の点および／またはチェックを使用して、整合の高い確率を示すことができ、一方、赤色の点および／またはエクスを使用して、不整合の高い確率を示すことができる。当然、追加グラフを提示して、整合と不整合の間の少なくとも１つの中道を示すことが可能であり、確実性測度は、整合の測度または不整合の測度の間であり、例えば黄色の点および／または疑問符によって表される。他の実例では、視覚化コンポーネント２４０は、対話式の視覚的な機構を提供して不整合を修正することができる。一例として、スキーマ要素は、選択され、整合スキーマ要素に対応する新しい位置へドラッグされ、ドロップされ得る。別法としては、整合スキーマ要素を接続するための線が描かれ得る。さらに、不整合を解決するための入力をユーザーから受け取ると、なされた変更を反映するためにスキーマ要素の視覚的な表示が更新され、整合の指示が表示され得る。したがってユーザーは、不整合がなくなるまで対話的に不整合を処理することができる。
【００１７】
[0026]図４〜６は、スキーマ整合コンポーネント１４０を含む視覚作成システム１００と結合した様々な視覚化態様を示す例示としてのスクリーンショットである。これらのスクリーンショットには、本開示の態様に関する明解性および理解を補助することが意図されており、特許請求される主題をそれらに限定することは意図されていない。提供されているスクリーンショットは、単に１つの実施態様を示したものにすぎないことを認識されたい。グラフ要素およびテキストの様々な他の組合せおよび配置が企図されており、また、添付の特許請求の範囲の範疇であることが意図されている。さらに、スキーマ不整合の識別および解決を含むパイプラインを作成するユーザーを補助するために、様々な音が同じく使用され得ることを認識されたい。
【００１８】
[0027]図４は、視覚作成システム１００によって生成され得る視覚作成インタフェース４００のスクリーンショットである。示されているように、インタフェースは、ソースパネル４１０、作業領域パネル４２０および公開パネル４３０の３つのパネルを含む。ソースパネル４１０は、複数の利用可能なデータソース４１２を提示し、また、ソースパネル４１０へのソースの追加またはソースパネル４１０からのソースの削除を可能にする。ソースパネル４１０の中に示されているデータソース４１２は、任意のデータソースであり得ることを認識されたい。例えばいくつかのデータソース４１２は、オンプレミスデータと結合され、一方、他のデータソースは、ネットワークまたはクラウドデータ記憶装置と結合され得る。さらに、データソース４１２は、実質的に任意の構造またはフォーマットのデータソースであってもよい。作業領域パネル４２０は、データソースおよびジョブの対話式図ビューを提供する。示されているように、購入推奨を提供するジョブなどのジョブは、キューブ４２２として表されている。キューブ４２２は、第１のシリンダー４２４として表されているデータセットに接続されている。一実施態様によれば、データセット表現は、ソースパネル４１０からドラッグおよびドロップされたものであってもよい。矢印を有する線は、第１のシリンダー４２４をキューブに接続し、データが左から右へ、ソースからジョブへ流れることを示している。さらに、ジョブの出力は、第２のシリンダー４２６として表されており、線および矢印でキューブ４２２から第２のシリンダー４２６へ接続されており、第２のシリンダーがジョブの出力を表していることを示している。公開パン４３０は、すべての所望の変換が実施された後の公開された、すなわち消費可能なデータソースの視覚的な表現を提供する。データセットを表している第１のシリンダーを例えば第１のシリンダー４２４をキューブ４２２に接続する線４２８を描くことによって作業領域パネル４２０内のジョブを表しているキューブ４２２に接続すると、スキーマ整合プロセスが開始され、図５のスクリーンショットが得られる。
【００１９】
[0028]図５は、視覚作成システム１００によって生成され得る視覚作成インタフェース５００のスクリーンショットである。視覚作成インタフェース５００は、既に説明したソースパネル４１０および作業領域パネル４２０を含んでいる点で視覚作成インタフェース４００と類似している。さらに、スキーマ整合パネル５１０は、ユーザーがデータソースをジョブに接続すると、作業領域４２０のコンテキスト、すなわちその場で提示される。ジョブへのデータソースの接続は、データソーススキーマおよびジョブによって期待されるスキーマに対する整合および不整合の決定、および少なくとも結果を表示するためのスキーマ整合パネル５１０の出現をトリガーすることができる。スキーマ整合パネル５１０は、地図作成を受け入れるための表５２０およびボタン５３０を含む。表５２０は３つの列を含む。第１の列はデータソーススキーマ要素に対応する。第３の列はジョブスキーマ要素に対応し、また、第２の列は対応関係情報を捕獲する。行には、データセットスキーマ要素、ジョブスキーマ要素、およびスキーマ要素が不整合であるかまたは整合であるかどうかを示す視覚インジケータ５２２が表示される。
【００２０】
[0029]ここでは、第１の列は、「Ｗｏｒｌｄｗｉｄｅ  Ｐｏｐｕｌａｔｉｏｎ  Ｓｔａｔｉｓｔｉｃｓ」データセットのスキーマ要素に対応し、また、第３の列は、「Ｉｎ−Ｇａｍｅ  Ｐｕｒｃｈａｓｅ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ」ジョブに対する期待スキーマおよび受け入れ可能スキーマに対応している。個々の行は、スキーマ要素名称およびデータタイプを含み、不整合が存在しているかどうかの指示は、円で取り囲まれた文字「ｘ」によって示され、あるいは整合が存在しているかどうかの指示は、円で取り囲まれたチェックによって示される。表示されている５つの行のうちの２つの行は、スキーマ要素間の不整合を示している。詳細には、「Ｃｒｅｄｉｔｓ」は、不整合として「ＧａｍｅＳｃｏｒｅ」と共に示されており、また、「Ｓｃｏｒｅ」は、不整合として「ＸｂｏｘＣｒｅｄｉｔｓ」と共に表示されており、これらのすべてはタイプ番号の不整合である。この事例では、「Ｃｒｅｄｉｔｓ」は「ＸｂｏｘＣｒｅｄｉｔｓ」と整合であり、また、「Ｓｃｏｒｅ」は「ＧａｍｅＳｃｏｒｅ」と整合である。不整合を修正するために、ユーザーは、５４０で示されているように「Ｃｒｅｄｉｔｓ」要素を選択し、「ＸｂｏｘＣｒｅｄｉｔｓ」要素を含む行へ要素をドラッグし、ドロップすることができる。このアクションの結果は図６に示されている。
【００２１】
[0030]図６は、視覚作成システム１００によって生成され得る視覚作成インタフェース６００のスクリーンショットである。図５のインタフェース５００と同様、インタフェース６００は、ソースパネル４１０、作業領域パネル４２０およびスキーマ整合パネル５１０を含む。ここでは、スキーマ整合パネルは、「Ｃｒｅｄｉｔｓ」要素をドラッグし、「ＸｂｏｘＣｒｅｄｉｔｓ」要素を含む行の「Ｓｃｏｒｅ」要素によって占有されている場所にドロップすることによって得られる。「Ｓｃｏｒｅ」要素によって占有されているスポットに「Ｃｒｅｄｉｔｓ」要素を置くことは、「Ｓｃｏｒｅ」要素が「ＧａｍｅＳｃｏｒｅ」を含む行の「ＸｂｏｘＣｒｅｄｉｔｓ」要素に取って代わることになることに留意されたい。表５２０は、次に、すべてのスキーマ要素の整合をもたらす新しい地図作成を反映するために更新される。したがって１つの単純なジェスチャー、すなわちドラッグおよびドロップを使用して不整合が解決される。次に、ユーザーは、ボタン５３０を選択して地図作成を受け入れ、ジョブによる処理の成功を可能にすることができる。
【００２２】
[0031]上で言及したシステム、アーキテクチャー、環境などは、複数のコンポーネント間の対話に関して説明されている。このようなシステムおよびコンポーネントは、明記されているコンポーネントまたはサブコンポーネント、明記されているコンポーネントまたはサブコンポーネントのうちのいくつか、および／または追加コンポーネントを含むことができることを認識されたい。また、サブコンポーネントは、親コンポーネント内に含まれるのではなく、他のコンポーネントに通信結合されるコンポーネントとして同じく実現され得る。さらに、１つまたは複数のコンポーネントおよび／またはサブコンポーネントは、集合機能を提供するべく単一のコンポーネントに結合され得る。システム、コンポーネントおよび／またはサブコンポーネント間の通信は、プッシュモデルおよび／またはプルモデルのいずれかに従って達成され得る。また、コンポーネントは、簡潔にするために本明細書においては特に説明されていないが、当業者に知られている１つまたは複数の他のコンポーネントと対話することも可能である。
【００２３】
[0032]さらに、上で開示したシステムおよび以下で開示される方法の様々な部分は、人工知能、機械学習、または知識あるいは規則をベースとするコンポーネント、サブコンポーネント、プロセス、手段、方法論または機構（例えばサポートベクターマシン、ニューラルネットワーク、エキスパートシステム、ベイジアン信念ネットワーク、ファジー論理、データ融合エンジン、分類子．．．）を含むか、または使用することができる。このようなコンポーネントは、とりわけ、システムおよび方法の一部をより適応性にし、その上より有効で、より知的にするために、それらによって実施される特定の機構またはプロセスを自動化することができる。非制限の一例として、学習コンポーネント３３０は、このような機構を使用して、その前の対話および他のコンテキスト情報に基づいて、不整合または整合を決定し、あるいは推定することができる。
【００２４】
[0033]開示される主題に従って実現され得る方法論については、上で説明した例示としてのシステムに鑑みて、図７〜９のフローチャートを参照してより良好に認識されよう。方法論は、説明を分かり易くするために一連のブロックとして示され、説明されているが、いくつかのブロックは、本明細書において示され、説明されているブロックの順序とは異なる順序で生じることが可能であり、および／または他のブロックと同時に生じ得るため、特許請求される主題は、このブロックの順序に限定されないことを理解し、認識されたい。さらに、以下で説明される方法を実現するために必ずしも示されているすべてのブロックが要求され得るわけではない。
【００２５】
[0034]図７を参照すると、スキーマ不整合を検出し、解決する方法７００が示されている。参照数表示７１０で、ジョブへのデータセット（例えば独立データソース、ジョブの出力．．．）の接続を示す信号が受信される。対話式の図式作成環境では、ユーザーが例えばデータセットの表現およびジョブの表現を接続する線を描くことによってその２つを接続すると、信号が生成され、次に、受信され得る。
【００２６】
[0035]信号を受信すると、スキーマ要素の整合ならびに不整合が決定され得る。より詳細には、データセットスキーマの要素がジョブへの入力データに対する期待スキーマを記述しているジョブスキーマの要素と比較される。比較は、要素間の最良の「整合」すなわち対応関係を見出すための試行において、要素（例えば名称、タイプ．．．）の特徴間でなされ得る。要素間の対応関係の強さを表す確実性測度を有する要素の場合、閾値を超える要素は整合として分類され得る。閾値未満の確実性測度を有する要素は不整合として分類され得る。言い換えると、スキーマ要素間の整合は、対応関係の強さに基づいて、スキーマ要素間の最良の整合を識別するために実施され、次に、対応関係の強さが整合に対する所定の閾値未満である場合、整合は不整合として再分類され得る。
【００２７】
[0036]数表示７３０で、不整合および任意選択で整合が表示される。一実施形態によれば、不整合は、ユーザーがパイプライン図およびスキーマ不整合の両方を見るために１つのウィンドウから別のウィンドウへコンテキストまたは焦点を切り換えなくてもいいよう、作業領域のコンテキストすなわちその場で表示され得る。特定の実施形態によれば、スキーマ情報は、表の形態で伝えられることが可能であり、第１の列はデータセットスキーマの要素を含み、第３の列はジョブスキーマの要素を含み、また、第１の列と第３の列の間の第２の列は、要素が整合しているか否かを示す。さらに、確実性測度は、様々な要因に基づいて整合の強さを示す指示を使用して表示され得る。
【００２８】
[0037]参照数表示７４０で、不整合に関する変更入力が受け取られる。言い換えると、不整合を改善するための少なくとも１つの変更を加えることに関連する信号が受信される。一実施形態では、スキーマ不整合は、不整合を解決するための変更が加えられ得るよう、対話式のグラフィカル・ユーザー・インタフェース内に提示され得る。例えばユーザーは、スキーマ要素を第１の位置から整合に対応する第２の位置へドラッグし、ドロップすることができる。別法としては、整合スキーマ要素を接続するための線が描かれ得る。実施態様に無関係に、ユーザーは、例えば自動整合が実施しなかった単純なジェスチャーを使用してスキーマ整合を実施することができる。これは、ユーザーのための自動方式で多くのワークが排除される点でスキーマ整合のプロセスを簡素化する。不整合の問題が存在している場合、その不整合は、解決のためにユーザーに露出され得る。
【００２９】
[0038]図８は、スキーマ整合の方法８００を示したものである。参照数表示８１０で、データセットと結合したスキーマが受け取られ、検索され、さもなければ取得または獲得される。利用可能である場合、データセットスキーマはソースから獲得され得る。別法としては、スキーマは、データセットの解析に基づいて自動的に決定されるか、または推定され得る。数表示８２０で、入力のためのジョブスキーマが受け取られ、検索され、さもなければ取得または獲得される。捕獲されるジョブスキーマは、ジョブへの入力データに対する期待スキーマである。このスキーマは、ジョブから獲得されるか、またはジョブから自動的に決定あるいは推定され得る。８３０でデータセットスキームおよびジョブスキームの整合要素が識別される。スキーマはデータの形状または構造を画定し、また、スキーマ要素は、とりわけ名称およびタイプを含むことができるスキーマの部分である。整合要素は、要素名称などの様々なスキーマ要素特徴または特性に基づく、２つのスキーマ間の同じまたは同様の要素の識別を含む。類似性は、様々な異なる方法で測定されることが可能であり、また、類似性の程度は変化し得る。したがって類似性の程度が所定の値より大きい場合など、何かが整合である場合に定義する閾値が確立され得る。参照８４０で不整合要素が識別される。不整合要素は、整合が存在する類似性または確実性の閾値と合致しない要素である。したがって所定の閾値と合致しない整合は不整合として識別される。
【００３０】
[0039]図９は、スキーマ整合を分類する方法９００のフローチャート図である。参照数表示９１０でタイプ整合が実施される。ここでは、例えば同じデータタイプを含むデータセットスキーマおよびジョブスキーマからの要素が決定される。この方法によれば、整合の基本形態は、列、番号、日時、等々などのデータタイプに基づいて実施され得る。図４および５のスクリーンショットによって示されている例では、「Ｃｒｅｄｉｔｓ」は、いずれもタイプ番号の整合であるため、「ＧａｍｅＳｃｏｒｅ」と整合であり得た。
【００３１】
[0040]数表示９２０で名称整合が実施される。この事例では、同じまたは同様の名称を有するスキーマ要素を識別するために、２つのスキーマからの要素が解析される。２つの要素が、それらが同じ名称または名称同義語を有している点で関連付けられるかどうかを理解するために、同義語の辞書が作成され、使用され得る。図４および５のスクリーンショットに関連する例では、「ＸｂｏｘＣｒｅｄｉｔｓ」は「Ｃｒｅｄｉｔｓ」の同義語であり、また、「ＧａｍｅＳｃｏｒｅ」は「Ｓｃｏｒｅ」の同義語である。タイプ整合に加えて名称整合を使用することにより、タイプ整合または名称整合のうちの１つのみが使用される場合よりもきめの細かい整合の識別が提供される。
【００３２】
[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]以上の説明には、特許請求される主題の態様の例が含まれている。当然、特許請求される主題を説明するために、構成要素または方法論の想定可能なすべての組合せを説明することは不可能であるが、当業者は、開示された主題の多くの他の組合せおよび置換が可能であることを認識し得る。したがって開示された主題には、添付の特許請求の範囲の精神および範囲の範疇であるすべてのこのような代替、変更態様および変形形態を包含することが意図されている。
【図１】
2018507450.tif 000003
【図２】
2018507450.tif 000004
【図３】
2018507450.tif 000005
【図４】
2018507450.tif 000006
【図５】
2018507450.tif 000007
【図６】
2018507450.tif 000008
【図７】
2018507450.tif 000009
【図８】
2018507450.tif 000010
【図９】
2018507450.tif 000011
【図１０】
2018507450.tif 000012
【国際調査報告】
2018507450.tif 000013
2018507450.tif 000014
2018507450.tif 000015