(57)【要約】この開示は、システム１つまたは複数のシステムを制御し、１つまたは複数のシステム間のデータを探索するように構成されたプラットフォームに関する。プラットフォームは、ターゲットシステムのセットとの接続を確立するように構成することができる。さらに、プラットフォームは、探索において、ユーザにより選択されたビジュアルエレメントに基づいて、ターゲットシステムのセットから、ターゲットシステムのサブセットを識別するように構成することができる。さらに、プラットフォームは、前記ターゲットシステムのサブセットに関連づけられた、オペレーション／複合オペレーションのセットを有するメニューを表示するように、構成することができる。さらに、プラットフォームは、メニューからユーザにより選択されたオペレーション／複合オペレーションに関連付けられたターゲットシステムを識別し、オペレーション／複合オペレーション実行要求を、ターゲットシステムに送信し、オペレーション／複合オペレーションを実行するように構成することができる。【選択図】図１
2021511573.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のシステムを制御し、１つまたは複数のシステム間のデータを探索するためのプラットフォームにおいて、
メモリ（２０６）と、
前記メモリ（２０６）に結合され、
外部システムとデータベースのセット（１１０）との接続を確立し、
ユーザ入力に基づいて、グラフィカルユーザインタフェース上で、新しい探索をレンダリングするか、または既存の探索をレンダリングし、
コンテキスト情報に基づいて、外部システムおよびデータベースのセット（１１０）からシステムのサブセットを識別し、
前記コンテキスト情報に基づいて、前記システムのサブセットに関連づけられたオペレーション／オペレーショングループのセットを表示し、
前記ユーザにより選択された、ターゲットオペレーション／オペレーショングループに関連づけられた、ターゲットシステムを識別し、
前記ターゲットオペレーション／オペレーショングループ実行要求を、前記ターゲットシステムに送信することであって、前記ターゲットオペレーション／オペレーショングループは、リードオペレーション、ターゲットシステムを制御するためのライトオペレーション、あるいはキャプチャユーザ入力の１つに関連づけられ、前記ユーザ入力に基づいて、リードオペレーションおよびライトオペレーションの１つを実行して、前記ターゲットシステムを制御する、前記メモリ（２０６）に記憶された、１つまたは複数のモジュール（２０８）に関連づけられた、プログラム命令を実行するように構成されたプロセッサ（２０２）と、
を備えたプラットフォーム（１０２）。
【請求項２】
前記システムのセットは、サービスレジストリ上に登録される、請求項１に記載のプラットフォーム（１０２）。
【請求項３】
前記コンテキスト情報は、前記探索において前記ユーザにより選択されたビジュアルエレメントに基づいて、あるいは前記ユーザにより提供された入力に基づいて決定される、請求項１に記載のプラットフォーム（１０２）。
【請求項４】
前記グラフィカルユーザインタフェース（ＧＵＩ）は、ユーザデバイス上にメニューをレンダリングするように構成され、前記メニューは、操作のサブセットを備える、請求項１に記載のプラットフォーム（１０２）。
【請求項５】
前記ターゲットオペレーションの実行プランを生成するようにさらに構成され、前記実行プランは、グラフの集合であり、前記グラフの各ノードは、前記ターゲットシステム上で実行される操作を表す、請求項１に記載のプラットフォーム（１０２）。
【請求項６】
前記ターゲットシステムは、前記実行エンジンから受信した前記情報が、前記ターゲットオペレーションを実行するのに十分でないとき、フォームのメタ情報を生成し、紛失した情報に関するユーザ入力を受け付けるためのフォームの生成を可能にするように構成される、請求項５に記載のプラットフォーム（１０２）。
【請求項７】
前記フォームのメタ情報は、フォームノードを作成するために使用され、前記フォームノードは、探索互換性があり、前記フォームノードに対応する探索ノードが、新しい探索または既存の／セーブされた探索に関連付けられた、現在の探索に追加される、請求項６に記載のプラットフォーム（１０２）。
【請求項８】
前記ターゲットシステムは、前記ＧＵＩ上でユーザ入力フォームをレンダリングするための命令を、前記ユーザデバイスに送信するように構成され、前記ユーザ入力フォームは、前記フォームのメタ情報に基づいて生成され、前記ユーザ入力フォームは、変更イベントを受信すると生成される、請求項７に記載のプラットフォーム（１０２）。
【請求項９】
前記ユーザ入力フォーム上の前記ユーザ入力が前記ターゲットシステムに関連づけられたオペレーションに対応するとき、前記ユーザ入力フォームから受信したユーザ入力は、解析され、実行が前記ターゲットシステムに転送され、前記ユーザ入力フォーム上の前記ユーザ入力が、前記他のシステムに関連づけられたオペレーションに対応するとき、前記実行は、他のシステムに転送される、請求項８に記載のプラットフォーム（１０２）。
【請求項１０】
前記ユーザから受信した前記情報／ユーザ入力が十分であるとき、前記ターゲットシステムは、前記ターゲットオペレーションを実行するように構成される、請求項９に記載のプラットフォーム（１０２）。
【請求項１１】
前記ターゲットオペレーションを実行して新しいデータが生成されると、前記ターゲットシステムにより生成された前記新しいデータのタイプを受信し、実行ハンドラ（２３８）に、前記宛先データコンテナを決定することを要求するように、さらに構成される、請求項１０に記載のプラットフォーム（１０２）。
【請求項１２】
前記新しいデータのための前記宛先データコンテナを定義するか、または探索チェーンまたはユーザ構成に基づいて、このデータが追加または交換することができるデータストアのデータコンテナを識別するように、さらに構成され、前記既存のデータコンテナが再使用されるように識別されると、前記既存のデータコンテナは、宛先データコンテナとして割当てられる、請求項１１に記載のプラットフォーム（１０２）。
【請求項１３】
前記データストア（２２２）の、前記宛先データコンテナの、アイデンティティを有する要求を、前記ターゲットシステムに送信するようにさらに構成され、前記ターゲットシステムは、前記新しいデータを、前記データストア（２２２）の前記宛先コンテナにルーティングするように構成され、前記データストア（２２２）は、前記ターゲットシステムにより提供された前記データを記憶し、前記宛先データコンテナの変更に対応する変更イベントを発行するようにさらに構成される、請求項１２に記載のプラットフォーム（１０２）。
【請求項１４】
前記ターゲットオペレーションの実行に基づいて、前記ターゲットシステム上でオペレーションの変更を実行するようにさらに構成され、前記オペレーションの前記チェーンは、前記ターゲットオペレーションの実行中に、または実行後に実行される、請求項に記載のプラットフォーム（１０２）。
【請求項１５】
１つまたは複数のシステムを制御し、前記１つまたは複数のシステムを探索するための方法において、
プロセッサ（２０２）により、外部システムおよびデータベース（１１０）のセットとの接続を確立するステップと、
前記プロセッサ（２０２）により、ユーザ入力に基づいてグラフィカルユーザインタフェース上に、新しい探索をレンダリングするか、または既存の探索をレンダリングするステップと、
前記プロセッサ（２０２）により、コンテキスト情報に基づいて、前記外部システムおよびデータベースのセット（１１０）からシステムのサブセットを識別するステップと、
前記プロセッサ（２０２）により、前記コンテキスト情報に基づいて前記システムのサブセットに関連づけられた、オペレーション／オペレーショングループのセットを表示するステップと、
前記プロセッサ（２０２）により、前記ユーザにより選択されたターゲットオペレーション／オペレーショングループに関連づけられた、ターゲットシステムを識別するステップと、
前記プロセッサにより、前記ターゲットオペレーション／オペレーショングループ実行要求を、前記ターゲットシステムに送信するステップであって、前記ターゲットオペレーション／オペレーショングループは、リードオペレーション、前記ターゲットシステムを制御するためのライトオペレーション、キャプチャユーザ入力の１つに関連づけられ、前記ユーザ入力に基づいて前記ターゲットシステムを制御するためにリードオペレーションおよびライトオペレーションの１つを実行する、ステップと、
を備えた、方法。
【請求項１６】
１つまたは複数のシステムを制御し、１つまたは複数のシステム間のデータを探索するためのコンピュータプログラムを具現化したコンピュータプログラムプロダクトにおいて、前記コンピュータプログラムプロダクトは、
外部システムおよびデータベースのセットとの接続を確立するためのプログラムコードと、
ユーザ入力に基づいてグラフィカルユーザインタフェース上に新しい探索をレンダリングするか、または既存の探索をレンダリングするためのプログラムコードと、
コンテキスト情報に基づいて外部システムおよびデータベースのセット（１１０）から、システムのサブセットを識別するためのプログラムコードと、
前記コンテキスト情報に基づいて前記システムのサブセットに関連づけられたオペレーション／オペレーショングループのセットを表示するためのプログラムコードと、
前記ユーザにより選択されたターゲットオペレーション／オペレーショングループに関連づけられたターゲットシステムを識別するためのプログラムコードと、
前記ターゲットオペレーション／オペレーショングループ実行要求を、前記ターゲットシステムに送信するためのプログラムコードであって、前記ターゲットオペレーション／オペレーショングループは、リードオペレーション、前記ターゲットシステムを制御するためのライトオペレーション、キャプチャユーザ入力の１つに関連づけられ、前記ユーザ入力に基づいて、前記ターゲットシステムを制御するために、リードオペレーションおよびライトオペレーションの１つを実行する、プログラムコードと、を備えた、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、２０１８年１月９日に出願したインド仮出願第２０１７１１０３１９６１号の優先権を主張し、参照することによりその全体がここに組み込まれる。この出願は、一般にプラットフォームに接続された１つまたは複数のシステムを制御するとともに１つのまたは複数のシステム間のデータを探索することに関する。
【背景技術】
【０００２】
今日、情報技術（ＩＴ）の分野における発展とともに、ほとんどの組織は、重要な情報を含む複数の異種のシステムを有する。これらのシステムは、大部分、サイロ（silos）で動作し、機械または人間により生成された情報を有する場合がある。この結果、これらのシステムのユーザは、アプリケーションを切り替えて、これらのシステムの情報を見る必要があり、非効率で生産性が悪いという結果を生ずる。
【０００３】
例えば、大きな組織では、多数のレガシーシステムを使用しており、これらのシステムは、データ解析および探索能力を持たない。このため、そのようなレガシーシステムにおいて、データを視覚化し、解析することが困難になっている。さらに、これらのレガシーシステムに関連づけられたデータベースから、データを抽出することは、退屈で時間のかかる仕事である。
【０００４】
いくつかのシナリオにおいて、１つのシステムによりキャプチャされた（captured）データは、組織内の他のシステムによりキャプチャされたデータと、相関関係を持つことはできない。この結果、大きな組織に関連づけられた、非接続のシステムのセットから、キャプチャされたデータについて、洞察を引出し（draw insights）、解析を行うことは非常に困難になっている。
【発明の概要】
【０００５】
この発明の概要は、プラットフォームに接続された、１つまたは複数のシステム間で１つまたは複数のシステムを制御し、データを探索する方法、およびプラットフォームに関連した態様を導入するために提供される。この発明の概要は、特許請求の範囲の開示の必須の特徴を識別することを意図していないし、特許請求の範囲を決定または限定するために使用することは、意図していない。
【０００６】
一実施形態において、プラットフォームに接続された、１つまたは複数のシステム間のデータ探索、および１つまたは複数のシステムを制御するプラットフォームが開示される。プラットフォームは、メモリと、メモリに結合されたプロセッサを備える。プロセッサは、メモリに記憶された、１つまたは複数のモジュールに関連付けられた、プログラム命令を実行するように構成される。一実施形態において、プロセッサは、メモリに記憶されたプログラム命令を実行して、システムのセットとの接続を確立することができる。さらに、プロセッサは、メモリに記憶されたプログラム命令を実行して、ユーザ入力に基づいて、グラフィカルユーザインタフェース上に、新しい探索または既存の探索をレンダリングすることができる。さらに、プロセッサは、メモリに記憶されたプログラム命令を実行して、コンテキスト情報に基づいてシステムのセットから、システムのサブセットを識別することができる。さらに、プロセッサは、メモリに記憶されたプログラム命令を実行して、コンテキスト情報に基づいてシステムのサブセットに関連づけられた動作のセット／動作グループを表示することができる。さらに、プロセッサは、メモリに記憶されたプログラム命令を実行して、ユーザにより選択されたターゲットオペレーション／オペレーショングループを識別することができる。さらに、プロセッサは、メモリに記憶されたプログラム命令を実行して、ターゲットオペレーション／オペレーショングループ実行要求をターゲットシステムに送信することができ、ターゲットオペレーション／オペレーショングループは、リードオペレーション、ターゲットシステムを制御するためのライトオペレーション、またはキャプチャユーザ入力の１つと関連づけられ、ユーザ入力に基づいて、リードオペレーションおよびライトオペレーションの１つを実行して、ターゲットシステムを実行することができる。
【０００７】
一実施形態において、１つまたは複数のシステムを制御し、プラットフォームに接続された、１つまたは複数のシステム間のデータを探索する方法が開示される。この方法は、システムのセットとの接続を確立するステップを備える。この方法はさらに、ユーザ入力に基づいて、グラフィカルユーザインタフェース上で、新しい探索または既存の探索をレンダリングするステップをさらに備える。この方法はさらに、コンテキスト情報に基づいて、システムのセットからシステムのサブセットを識別するステップをさらに備える。この方法はさらに、コンテキスト情報に基づいて、システムにサブセットに関連づけられた、オペレーションのセット／オペレーショングループを表示するステップをさらに備える。この方法はさらに、ユーザにより選択されたターゲットオペレーション／オペレーショングループに関連づけられた、ターゲットシステムを識別するステップをさらに備える。この方法はさらに、ターゲットオペレーション／オペレーショングループ実行要求をターゲットシステムに送信するステップをさらに備え、ターゲットオペレーション／オペレーショングループは、リードオペレーション、ターゲットシステムを制御するためのライトオペレーション、あるいはキャプチャユーザ入力の１つと関連づけられ、キャプチャユーザ入力に基づいてターゲットシステムを制御するためにリードおよびライトオペレーションの１つを実行する。
【０００８】
一実施形態において、１つまたは複数のシステムを制御し、１つまたは複数のシステム間のデータを探索するためのコンピュータプログラムが具現化されたコンピュータプログラムプロダクトが開示される。コンピュータプログラムプロダクトは、システムのセットとの接続を確立するためのプログラムコードを備える。コンピュータプログラムプロダクトは、ユーザ入力に基づいてグラフィカルユーザインタフェース上で、新しい探索をレンダリングする、または既存の探索をレンダリングするためのプログラムコードを備える。コンピュータプログラムプロダクトは、コンテキスト情報に基づいて、システムのセットから、システムのサブセットを識別するためのプログラムコードを備える。コンピュータプログラムプロダクトは、コンテキスト情報に基づいて、サブセットシステムに関連づけられた、オペレーションのセット／オペレーショングループを表示するためのプログラムコードを備える。コンピュータプログラムプロダクトは、ユーザにより選択されたターゲットオペレーション／オペレーショングループに関連づけられた、ターゲットシステムを識別するためのプログラムコードを備える。コンピュータプログラムプロダクトは、ターゲットオペレーション／オペレーショングループ実行要求を、ターゲットシステムに送信するためのプログラムコードを備え、ターゲットオペレーション／オペレーショングループは、リードオペレーション、ターゲットシステムを制御するためのライトオペレーション、あるいはキャプチャユーザ入力の１つと関連づけられ、キャプチャされたユーザ入力に基づいてターゲットシステムを制御するためにリードおよびライトオペレーションの１つを実行する。詳細な記述は、添付図面を参照して記載する。図において、参照符号の左端の桁は、参照番号が最初に現れる図を識別する。図面を通して、同一符号は、同様の特徴およびコンポーネントに言及する。
【図面の簡単な説明】
【０００９】
【図１】１つまたは複数のシステムを制御し、プラットフォームに接続された１つまたは複数のシステム間のデータを探索するためのプラットフォームのネットワークインプリメンテーションを示す。
【図２】この開示の一実施形態に従う、プラットフォームを示す。
【図３Ａ】この発明の一実施形態に従う、１つまたは複数のシステムを制御し、プラットフォームの一実施形態に従う、プラットフォームに接続された１つまたは複数のシステム間でデータを探索するブロック図を示す。
【図３Ｂ】この発明の一実施形態に従う、１つまたは複数のシステムを制御し、プラットフォームの一実施形態に従う、プラットフォームに接続された１つまたは複数のシステム間でデータを探索するブロック図を示す。
【発明を実施するための形態】
【００１０】
一実施形態において、１つまたは複数のシステム間でデータを探索し、１つまたは複数のシステム／データソースから受信したデータに基づいて、１つまたは複数のオペレーションを実行するように構成されたプラットフォームが図示される。最初に、プラットフォームは、ユーザデバイスからアクセス可能である。一実施形態において、プラットフォームは、システムのセットとの接続を確立するように構成することができる。システムのセットは、プラットフォームに関連づけられたサービスレジストリに登録することができる。さらに、プラットフォームは、新しい探索を開始するか、または、ユーザから受信した命令に基づいて、ユーザデバイスのグラフィカルユーザインタフェース上で新しい探索を開始するか、または既存の／セーブされた探索をレンダリングするように構成することができる。さらに、プラットフォームは、探索において、ユーザにより選択された視覚エレメントに基づいてターゲットシステムのセットから、ターゲットシステムのサブセットを識別するように構成することができる。さらに、プラットフォームは、ユーザにより選択されたビジュアルエレメント、またはユーザにより提供された入力に基づいてグラフィカルユーザインタフェース上で、メニューを表示するように構成することができる。メニューは、システムのサブセットに関連づけられたオペレーションのセット／オペレーショングループを表示するように構成することができる。さらに、プラットフォームは、メニューからユーザにより選択された、オペレーション／オペレーショングループに関連づけられたターゲットシステムを識別するように構成することができる。さらに、プラットフォームは、オペレーション／オペレーショングループ実行要求をターゲットシステムに送信するように構成することができ、オペレーション／オペレーショングループは、リードオペレーション、ターゲットシステムを制御するためライトオペレーション、あるいはキャプチャユーザ入力の１つと関連づけられ、キャプチャされたユーザ入力に基づいてターゲットシステムを制御するために、リードまたはライトオペレーションを実行する。
【００１１】
１つまたは複数のシステムを制御し、１つまたは複数のシステム間でデータを探索するするための記載されたプラットフォームの態様は、任意の数の異なるコンピューティングシステム、環境および／または、構成でインプリメントすることができるけれども、この実施形態は、以下の例示プラットフォームのコンテキストにおいて記載される。
【００１２】
図１を参照すると、１つまたは複数のシステムを制御し、１つまたは複数のシステム間でデータを探索するプラットフォーム１０２のネットワークインプリメンテーション１００が開示される。この開示は、プラットフォーム１０２がサーバ上でインプリメントされることを考慮して説明されるが、プラットフォーム１０２は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ノートブック、ワークステーション、メインフレームコンピュータ、サーバ、サーバクラスタ、分散サーバ、ネットワークサーバ等のような種々のコンピューティングシステにインプリメントすることができる。１インプリメントステーションにおいて、プラットフォームは、クラウドベース環境においてインプリメントすることができる。プラットフォーム１０２は、以下、集合的にユーザデバイス１０４と呼ばれる１つまたは複数のユーザデバイス１０４−１、１０４−２、・・・１０４−Ｎを介して複数のユーザによりアクセスすることができるか、またはユーザデバイス１０４上に常駐するアプリケーションによりアクセスすることができることが理解される。ユーザデバイス１０４の例は、これに限定されないが、パーソナルデジタルアシスタント、ハンドヘルドデバイス、およびワークステーションを含むことができる。ユーザデバイス１０４は、第１のネットワーク１０６を介してプラットフォーム１０２に、通信可能に結合される。さらに、プラットフォーム１０２は、第２のネットワーク１１２を介して外部システムとデータベースのセット１１０に接続される。一実施形態において、外部システムとデータベースのセット１１０からの各システムは、データを収集し、処理し、維持するように構成することができる。一実施形態において、外部システムとデータベースのセット１１０からの各システムは、コネクタ１０８を介してプラットフォームに接続することができる。各コネクタは、１つまたは複数のシステムをプラットフォーム１０２に接続するように構成される。システム１１０がプラットフォーム１０２に接続されると、ユーザは、これらのシステムを制御するか、または、該システムとデータベース１１０間でデータを探索することができる。一実施形態において、コネクタ１０８は、コネクタ１０８の構成に基づいて複数のシステムに接続するように構成されたコネクタであり得る。
【００１３】
１つのインプリメンテーションにおいて、第１のネットワーク１０６と第２のネットワーク１１２は、ワイヤレスネットワーク、有線ネットワーク、またはそれらの組合せであり得る。第１のネットワーク１０６と第２のネットワーク１１２は、例えば、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット等のような異なる種類のネットワークの１つとしてインプリメントすることができる。第１のネットワーク１０６と第２のネットワーク１１２は、専用ネットワークまたは共有ネットワークであり得る。共有ネットワークは、互いに通信するために、例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、トランスミッションコントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ワイヤレスアプリケーションプロトコル（ＷＡＰ）等、の種々のプロトコルを使用する、異なる種類のネットワークの関連付けを表す。さらに、第１のネットワーク１０６と第２のネットワーク１１２は、ルータ、ブリッジ、サーバ、コンピューティングデバイス、ストレージデバイス等を含む種々のネットワークデバイスを含むことができる。プラットフォーム１０２は、さらに、外部システムとデータベースのセット１１０からの、１つまたは複数のシステムから受信したデータを用いて、データ解析及び視覚化を実行するようにさらに構成することができる。１つまたは複数のデータソースから受信されたデータを処理するためのプラットフォーム１０２の動作は、さらに、図２を参照して説明される。
【００１４】
図２を参照すると、この開示の一実施形態に従う、プラットフォーム１０２が図示される。一実施形態において、プラットフォーム１０２は、少なくとも１つのプロセッサ２０２、入出力（Ｉ／Ｏ）インタフェース２０４およびメモリ２０６を用いてインプリメントすることができる。少なくとも１つのプロセッサ２０２は、１つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタルシグナルプロセッサ、中央処理装置、ステートマシン、ロジック回路、および／または動作命令に基づいて信号を操作する任意のデバイスとしてインプリメントすることができる。他の能力において、少なくとも１つのプロセッサ２０２は、メモリ２０６に記憶されたコンピュータ可読命令をフェッチするように構成される。
【００１５】
Ｉ／Ｏインタフェース２０４は、例えば、ウェブインタフェース、グラフィカルユーザインタフェース等の種々のソフトウェアおよびハードウェアインタフェースを含むことができる。Ｉ／Ｏインタフェース２０４は、プラットフォーム１０２が、ユーザと直接に、またはクライアントデバイス１０４を介して相互作用することを可能にすることができる。さらに、Ｉ／Ｏインタフェース２０４は、プラットフォーム１０２が、ウェブサーバのような他のコンピューティングデバイス、および外部システムとデータベース１１０（システム１１０とも呼ぶ）と通信することを可能にすることができる。Ｉ／Ｏインタフェース２０４は、例えば、ＬＡＮ、ケーブル等の有線ネットワーク、およびＷＬＡＮ、セルラ、または衛星のような無線ネットワークを含む種々のネットワークおよびプロトコルタイプ内の複数の通信を容易にすることができる。Ｉ／Ｏインタフェース２０４は、多数のデバイスを互いに、または他のサーバに接続するための１つまたは複数のポートを接続することができる。
【００１６】
メモリ２０６は、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）およびダイナミックランダムアクセスメモリ（ＤＲＡＭ）のような揮発性メモリ、および／またはリードオンリメモリ（ＲＯＭ）、イレーザブルプログラマブルＲＯＭ，フラッシュメモリ、ハードディスク、光ディスク、および磁気テープのような不揮発性メモリを含む、従来技術において知られる任意のコンピュータ可読媒体を含むことができる。メモリ２０６は、モジュール２０８およびデータ２１０を含むことができる。
【００１７】
モジュール２０８は、特定のタスク、機能を実行する、または特定のアブストラクトデータタイプをインプリメントする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。１つのインプリメンテーションにおいて、モジュール２０８は、オペレーションクライアント２１２、レンダリングエンジン２１４、実行マネージャ２１６、実行エンジン２１８、サービスレポジトリ２２０、データストア２２２、探索クライアント２２４、探索モジュール２２６、変換サービスモジュール２２８、結果セットストア２３０、テンプレートディスカバリエンジン２３２、テンプレートリポジトリ２３４、および他のモジュール２３６を含むことができる。他のモジュール２３６は、プラットフォーム１０２のアプリケーションと機能を補足するプログラムまたはコード化命令を含むことができる。
【００１８】
とりわけ、データ２１０は、１つまたは複数のモジュール２０８により、処理され、受信され、生成されたデータを記憶するリポジトリとして機能する。データ２１０は、またデータストア２２２および他のデータ２４０も含むことができる。一実施形態において、データストア２２２は、外部システムおよびデータベースのセット１１０により生成されたデータを記憶するように構成することができる。一実施形態において、データストア２２２は、１つまたは複数のモジュール２０８により生成されたデータを記憶するように構成することができる。一実施形態において、他のデータ２４０は、モジュール群２０８の、１つまたは複数のモジュールの実行の結果として生成されたデータを含むことができる。一実施形態において、他のデータ２４０は、他のモジュール群２３６の、１つまたは複数のモジュールの実行の結果として生成されたデータを含むことができる。
【００１９】
一つのインプリメンテーションにおいて、プラットフォームは、第２のネットワーク１１２を介して外部システムとデータベースのセット１１０と接続するように構成することができる。ユーザは、プラットフォーム１０２を使用するために、Ｉ／Ｏインタフェース２０４を用いて登録することができる。ユーザが登録されると、ユーザは、クライアントデバイス１０４を使用して、Ｉ／Ｏインタフェース２０４を介して、プラットフォーム１０２をアクセスすることができる。ユーザが登録され、プラットフォームに接続されると、ユーザは、プラットフォーム上にインプリメントされた異なるモジュールをアクセスして、１つまたは複数のオペレーションおよび式を実行することができる。
【００２０】
初めに、ユーザデバイス１０４上のグラフィカルユーザインタフェース（ＧＵＩ）は、ユーザがＩ／Ｏインタフェース２０４を用いてプラットフォーム１０２と通信することを可能にすることができる。Ｉ／Ｏインタフェース２０４は、ユーザが、新しい探索を作るか、または、既存の／セーブされた探索を作ることを可能にすることができる。新しい探索は、新しいフォルダ、古いフォルダ、既存のファイル、または新しいファイル、ウェブブラウザ、解析リポート等に対応させることができる。一実施形態において、既存の／セーブされた探索は、ウェブブラウザまたはオフラインツールを介して、ユーザにより指導された解析オペレーション／新しい解析オペレーションにも対応させることができる。
【００２１】
ユーザは、ＧＵＩを介してプラットフォーム１０２と相互作用することができ、新しい探索または、既存の／セーブされた探索内のエレメントを選択することができる。エレメントは、既存の／セーブされた探索上に存在する、グラフ、テキスト、テキストボックス、コマンドボタン、バックグラウンド、または任意の他のビジュアルエレメントに対応させることができる。一実施形態において、ユーザに関連づけられたコンテキスト情報は、ユーザにより選択されたエレメント、またはユーザにより提供された入力に基づいて決定される。
【００２２】
オペレーションクライアント２１４は、コンテキスト情報を受信するように構成される。コンテキスト情報は、探索においてユーザにより選択されたビジュアルエレメント、またはユーザにより提供された入力に基づいて決定される。ユーザは、探索においてキーワードを入力することにより入力を提供することができる。
【００２３】
サービスレジストリ２２０は、コンテキスト情報に基づいて、外部システムおよびデータベースのセット１１０からの各システムに関連づけられたオペレーションのセットを発見するように構成することができる。オペレーションのサブセットは、個々のオペレーションおよび／または複合オペレーションを備えることができる。一実施形態において、複合オペレーションは、ターゲットシステムにより提供された１つまたは複数のオペレーションを含むことができる、オペレーションのグループであり得る。
【００２４】
ＧＵＩは、ユーザデバイス２０４上にメニューをレンダリングすることができる。メニューは、オペレーションのサブセットを備えることができる。一実施形態において、メニューは、ユーザの選択に関してオペレーションのサブセットを有するドロップダウン形式で表示することができる。
【００２５】
ユーザは、メニューに表示されたオペレーションのサブセットからターゲットオペレーションを選択することができる。一実施形態において、ユーザは、ターゲットオペレーションとしてメニューに表示されたオペレーションのサブセットから、２以上のオペレーション／複合オペレーションを選択することができる。
【００２６】
ターゲットオペレーションが選択されると、オペレーションクライアント２１２は、ユーザにより選択されたターゲットオペレーションを処理し、要求を実行マネージャ２１６に送信して、ターゲットオペレーションを実行するように構成される。
【００２７】
実行マネージャ２１６は、ターゲットオペレーションの実行プランを生成するように構成される。実行プランは、ターゲットオペレーションが実行されるべきシーケンス、およびターゲットオペレーションの実行に必要な情報を表すことができる。実行プランは、オペレーションおよび式のグラフであり、グラフの各ノードは、ターゲットシステム上で実行されるオペレーションを表す。
【００２８】
実行プランは、オペレーションとそのコンテキストベースのパラメータを、ターゲットシステムのコネクタ１０８に送信することにより実行することができる。実行プランを実行しながら、実行エンジン２１８は、ターゲットオペレーションをターゲットシステムに、並列に（すなわち、同時に）、またはシーケンシャルに（すなわち、順次に）送信することができる。
【００２９】
ターゲットシステムは、実行エンジン２１８から受信したオペレーションパラメータが、ターゲットオペレーションを実行するのに十分であるかどうかを判断するように構成することができる。実行エンジン２１８から受信したオペレーションパラメータが、ターゲットオペレーションを実行するのに十分でない場合、ターゲットシステムは、フォームのメタ情報を生成するように構成することができる。フォームのメタ情報は、実行エンジン２１８に送信される。フォームのメタ情報は、ターゲットオペレーションの紛失したパラメータのユーザ入力、またはターゲットオペレーションに関連した情報を受け入れるためのフォームの生成を可能する。
【００３０】
実行エンジン２１８は、フォームのメタ情報を用いてフォームノードを作成することができる。フォームノードは、互換性のある探索である（すなわち、フォームノードは、探索において配置し、レンダリングすることができる）。フォームノードが生成されると、フォームノードは、探索モジュール２２６に送信される。探索モジュール２２６は、新しい探索または既存の／セーブされた探索に関連づけられた、現在の探索に探索ノードを追加するように構成される。
【００３１】
レンダリングエンジン２１４は、探索モジュール２２６から変更イベントを受信するように構成される。さらに、レンダリングエンジン２１４は、ＧＵＩ上でユーザ入力フォームをレンダリングするための命令をユーザデバイス１０４に送信するように構成することができる。ユーザ入力フォームは、メタ情報に基づいて生成される。
【００３２】
ＧＵＩ２０４は、ユーザ入力フォームをレンダリングするように構成される。さらに、ユーザは、ユーザ入力フォームのすべての必要なフィールドを入力することができ、コマンドボタンのセットからコマンドボタンをクリックすることができる。各コマンドボタンは、システムのセットから異なるシステムに関連づけることができるか、またはターゲットシステムに関連づけられた異なるオペレーションに関連づけることができる。
【００３３】
クリックしたコマンドボタンが、任意のターゲットシステムの他のオペレーションに関連づけられる場合、実行は、もう一度オペレーションクライアントに転送され、ターゲットオペレーションと同様の方法で他のオペレーションを処理する。クリックしたコマンドボタンが、異なるシステムの他のオペレーションに関連づけられていない場合、オペレーションクライアント２１２は、ユーザ入力フォームから受信したユーザ入力を収集し、これらのユーザ入力を実行エンジン２１８に転送する。ユーザ入力は、しきい値パラメータ、事前定義された基準、または一般的に解析目的に使用される、任意の他の情報の形態であり得る。
【００３４】
実行エンジン２１８は、ユーザから受信したユーザ入力を、コネクタ１０８を介してターゲットシステムに送信するように構成される。実行エンジン２１８から受信した情報／ユーザ入力が十分な場合、ターゲットシステムは、ターゲットオペレーションを実行するように構成することができる。ターゲットオペレーションの実行に基づいて、ターゲットシステムは、新しいデータを生成してもよいし、生成しなくてもよい。
【００３５】
新しいデータが生成された場合、実行エンジン２１８は、ターゲットシステムにより生成された、新しいデータのタイプを受信するように構成される。実行エンジン２１８は、実行ハンドラ２３８に、宛先データコンテナを決定することを要求するように構成される。例えば、新しいデータのタイプは、構造データ、非構造データ、解析データ、視覚データ等であり得る。実行ハンドラ２３８は、新しいデータのための宛先データコンテナを定義するように構成される。
【００３６】
実行ハンドラ２３８は、データストア２２２のデータコンテナを発見するように構成することができ、このデータは、探索チェーンまたはユーザ構成に基づいて追加／交換することができる。既存のデータコンテナが再使用されるように識別された場合、既存のデータコンテナは、宛先データコンテナとして割り当てられる。他の実施形態において、実行ハンドラ２３８は、このタイプのデータのために、新しい空のデータコンテナを作るための要求を、データストア２２２に送信するように構成される。新しく作られたデータコンテナが宛先データコンテナになる。
【００３７】
実行ハンドラ２３８は、データストア２２２の宛先データコンテナのアイデンティティを有する要求を、ターゲットシステムに送信するように構成される。ターゲットシステムは、新しいデータをデータストア２２２の宛先コンテナにルーティングするように構成される。データストア２２２は、ターゲットシステムにより提供されたデータを、記憶するように構成される。コネクタ１０８は、データが宛先コンテナにおいて変更されたイベントを、発行するように構成されるので、このデータ変更イベントのすべての加入者／視聴者は、それに従って行動することができる。一実施形態において、モジュールは、このイベントを識別し、それに従って、新しく生成されたデータを用いてＧＵＩ上に種々の視覚化を作成することができる。他の実施形態において、イベントは、宛先コンテナの変更の大きさを、データストア２２２に記憶された、事前定義されたしきい値変更と、比較することにより識別することができる。コネクタ１０８は、イベントに関連づけられた１つまたは複数の外部システムおよびデータベース１１０に通知するように構成することができる。さらに、モジュールは、現在生成されたデータ、または早期に生成されたデータに基づいて式を計算することにより新しいデータを生成するように構成することができる。さらに、モジュールは、オペレーションのチェーンを実行して、この変更イベントのオペレーションの従属チェーンを更新するように構成することができる。オペレーションと式のチェーンは、ターゲットオペレーションの実行中に、またはその後で実行される。プラットフォームに接続された１つまたは複数のシステムを制御し、１つまたは複数のシステム間でデータを探索するプロセスは、さらに、図３Ａおよび３Ｂのブロック図に関してさらに、詳しく述べる。
【００３８】
図３Ａおよび３Ｂを参照すると、この開示の一実施形態に従う、プラットフォーム１０２に接続された、１つまたは複数のシステム、および１つまたは複数の外部システム、およびデータベース間のデータを探索するための方法が図示される。方法３００は、コンピュータ実行可能命令の、一般的なコンテキストにおいて記載することができる。一般的に、コンピュータ実行可能な命令は、特定の機能を実行する、または特定のアブストラクトデータタイプをインプリメントする、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手続、モジュール、機能等を含むことができる。方法３００は、又、機能が、通信ネットワークを介してリンクされたリモートプロセッシングデバイスにより実行される、分散コンピューティング環境で実施することもできる。分散コンピューティング環境において、コンピュータ実行可能命令は、メモリストレージデバイスを含む、ローカルおよびリモートの、両方のコンピュータストレージ媒体に配置することができる。
【００３９】
方法３００が記載される順番は、限定するものとして理解することを意図したものではなく、記載された方法ブロックの任意の数を任意の順番で結合して、方法３００をインプリメントするか、あるいは方法を代替させることができる。さらに、個々のブロックは、ここに記載された開示の精神と範囲をから逸脱することなく、方法３００から削除することができる。さらに、方法は、任意の適切なハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せでインプリメントすることができる。しかしながら、説明を容易にするために、下記実施形態では、方法３００は、上述したプラットフォーム１０２に、インプリメントされると考えることができる。
【００４０】
一実施形態において、ステップ３０２において、ユーザデバイス１０４上のグラフィカルユーザインタフェース（ＧＵＩ）は、ユーザが、Ｉ／Ｏインタフェース２０４を用いてプラットフォーム１０２と通信することを可能にする。Ｉ／Ｏインタフェース２０４は、ユーザが新しい探索を作るか、または既存の／セーブされた探索を開くことを可能にする。新しい探索は、新しいフォルダ、古いフォルダ、既存のファイル、新しいファイル、ウェブブラウザ、解析リポート等に対応させることができる。一実施形態において、既存の／セーブされた探索は、また、ウェブブラウザまたはオフラインツールを介してユーザにより開始された解析オペレーション／新しい解析オペレーションに対応させることもできる。
【００４１】
ステップ３０４において、ユーザは、ＧＵＩを介してプラットフォーム１０２と相互作用し、新しい探索、または既存の／セーブされた探索において、エレメントを選択することができる。エレメントは、グラフ、テキスト、テキストボックス、コマンドボタン、バックグラウンド、または既存の／セーブされた探索上に存在する、任意の他のビジュアルエレメントに対応させることができる。一実施形態において、ユーザに関連づけられたコンテキスト情報は、ユーザにより選択されたエレメント、またはユーザにより提供された入力に基づいて決定される。
【００４２】
ステップ３０６において、オペレーションクライアント２１４は、コンテキスト情報を受信するように構成される。コンテキスト情報は、探索においてユーザにより選択されたビジュアルエレメント、またはユーザにより提供された入力に基づいて、決定される。ユーザは、探索のキーワードを入力することにより入力を提供することができる。
【００４３】
ステップ３０８において、サービスレジストリ２２０は、特定コンテキスト情報に基づいて、外部システムおよびデータベースのセット１１０から、各システムに関連付けられたオペレーションのセットを発見し、コンテキスト情報に基づいて、システムのサブセットおよびオペレーションのサブセットを識別することができる。オペレーションのサブセットは、個々のオペレーションおよび／または複合オペレーションを備えることができる。一実施形態において、複合オペレーションは、ターゲットシステムにより提供された１つまたは複数のオペレーションを含むことができるオペレーションのグループであり得る。
【００４４】
ステップ３１０において、ＧＵＩは、ユーザデバイス２０４上にメニューをレンダリングすることができる。メニューは、オペレーションのサブセットを含むことができる。一実施形態において、メニューは、ユーザの選択のためにオペレーションのサブセットを有するドロップダウン形式で表示することができる。
【００４５】
ステップ３１２において、ユーザは、メニューに表示されたオペレーションのサブセットから、ターゲットオペレーションを選択することができる。一実施形態において、ユーザは、ターゲットオペレーションとして、メニューに表示されたオペレーションのサブセットから、２以上のオペレーション／複合オペレーションを選択することができる。
【００４６】
ステップ３１４において、ターゲットオペレーションが選択されると、オペレーションクライアント２１２は、ユーザにより選択されたターゲットオペレーションを処理し、ターゲットオペレーションを実行するための要求を、実行マネージャ２１６に送信するように構成される。
【００４７】
ステップ３１６において、実行マネージャ２１６は、ターゲットオペレーションのための実行プランを生成するように構成される。実行プランは、ターゲットオペレーションが実行されるべきシーケンスと、ターゲットオペレーションの実行に必要な情報を表すことができる。実行プランは、オペレーションのグラフであり、グラフの各ノードは、ターゲットシステム上で実行されるオペレーションを表す。
【００４８】
ステップ３１８において、実行プランは、オペレーションとそのコンテキストベースパラメータを、ターゲットシステムのコネクタに送信することにより、実行エンジン２１６により実行することができる。実行プランを実行している間、実行エンジン２１８は、ターゲットオペレーションを、並列に（すなわち、同時に）、またはシーケンシャルに（すなわち、順次に）ターゲットシステムに送信することができる。
【００４９】
ステップ３２０において、ターゲットシステムは、実行エンジン２１８から受信したオペレーションパラメータが、ターゲットオペレーションを実行するのに十分であるかどうかを判断するように構成することができる。ステップ３２２において、実行エンジン２１８から受信したオペレーションパラメータが、ターゲットオペレーションを実行するのに十分でない場合、ターゲットシステムは、フォームのメタ情報を生成するように構成することができる。フォームのメタ情報は、実行エンジン２１８に送信される。フォームのメタ情報は、ターゲットオペレーションの紛失パラメータに関するユーザ入力、あるいは、ターゲットオペレーションに関する情報を受信するための、フォームの生成を可能にすることができる。
【００５０】
ステップ３２４において、実行エンジン２１８は、フォームのメタ情報を用いて、フォームノードを作成することができる。フォームノードは、探索互換性があるいは、（すなわち、フォームノードは、探索において配置し、レンダリングすることができる）。フォームノードが生成されると、フォームノードは、探索モジュール２２６に送信される。探索モジュール２２６は、新しい探索、または既存の／セーブされた探索に関連づけられた探索ノードを、現在の探索に追加するように構成される。
【００５１】
ステップ３２６において、レンダリングエンジン２１４は、探索モジュール２２６から変更イベントを受信するように構成される。さらに、レンダリングエンジン２１４は、ＧＵＩ上でユーザ入力をレンダリングするための命令を、ユーザデバイス１０４に送信するように構成することができる。ユーザ入力フォームは、メタ情報に基づいて生成される。
【００５２】
ステップ３２８において、ＧＵＩ２０４は、ユーザ入力フォームをレンダリングするように構成される。さらに、ユーザは、ユーザ入力フォーム内の全ての必要なフィールドを入するすることができ、コマンドボタンのセットからコマンドボタンをクリックすることができる。各コマンドボタンは、システムのセットから異なるシステムに、またはターゲットシステムに関連付けられた異なるオペレーションに関連付けることができる。
【００５３】
ステップ３３０において、クリックされたコマンドボタンが任意のターゲットシステムの他のオペレーションと関連づけられる場合、実行は、ステップ３１４に再度転送される。ステップ３３２において、クリックされたコマンドボタンが、異なるシステムの他のオペレーションに関連づけられない場合、オペレーションクライアント２１２は、ユーザ入力フォームから受信したユーザ入力を収集し、これらのユーザ入力を実行エンジン２１８に転送するように構成される。ユーザ入力は、しきい値パラメータ、事前定義された基準、または一般的に解析目的で使用される、任意の他の情報のフォームであり得る。
【００５４】
ステップ３３４において、実行エンジン２１８は、ユーザから受信したユーザ入力を、コネクタ１０８を介してターゲットシステムに送信するように構成される。ステップ３３６において、実行エンジン２１８から受信した情報／ユーザ入力が、十分である場合、ターゲットシステムは、ターゲットオペレーションを実行するように構成することができる。ターゲットオペレーションの実行に基づいて、ターゲットシステムは、新しいデータを生成してもよいし、生成しなくともよい。
【００５５】
ステップ３３８において、新しいデータが生成された場合、実行エンジン２１８は、ターゲットシステムにより生成された新しいデータのタイプを受信するように構成される。実行エンジン２１８は、宛先データコンテナを決定するように実行ハンドラ２３８に要求するように構成される。例えば、新しいデータのタイプは、構造データ、非構造データ、解析データ、視覚データ等であり得る。
【００５６】
ステップ３４０において、実行ハンドラ２３８は、新しいデータのための宛先データコンテナを定義するように構成される。実行ハンドラ２３８は、このデータが、探索チェーンまたはユーザ構成に基づいて、追加／交換することができ、データストア２２２のデータコンテナを発見するように構成することができる。既存のデータコンテナが再使用するように識別される場合、既存のデータコンテナは、探索チェーンまたはユーザ構成に基づいて、追加／交換することができる。他の実施形態において、実行ハンドラ２３８は、データストア２２２に要求を送信して、このタイプのデータのための新しい空のデータコンテナを作るように構成される。新しく作成されたコンテナは宛先データコンテナになる。
【００５７】
ステップ３４２において、実行ハンドラ２３８は、データストア２２２の宛先データコンテナのアイデンティティを有する要求を、ターゲットシステムに送信するように構成される。ターゲットシステムは、新しいデータをデータストア２２２の宛先コンテナにルーティングするように構成される。データストア２２２は、ターゲットシステムにより提供されるデータを、記憶するように構成される。データストア２２２は、データが宛先コンテナで変更されたイベントを発行するように構成されるので、このデータ変更イベントのすべての加入者／視聴者は、それに従って動作することができる。一実施形態において、モジュールは、これらのイベントを識別し、それに従って、新しく生成されたデータを用いて、ＧＵＩ上に種々の視覚化を作成することができる。他の実施形態において、宛先コンテナ内の変更の大きさを、データストア２２２に記憶された、事前定義されたしきい値変更と比較することにより、識別することができる。コネクタ１０８は、イベントに関連づけられた、１つまたは複数の外部システムおよびデータベースを通知するように構成することができることに留意する必要がある。さらに、モジュールは、現在生成されたデータ、または以前に生成されたデータに基づいて式を計算することにより、さらに新しいデータを生成するように構成することができる。さらに、モジュールは、操作のチェーンを実行して、この変更イベントに依存する操作のチェーンを、更新するように構成することができる。
【００５８】
１つまたは複数のシステムを制御し、プラットフォームに接続された１つまたは複数のシステム全体で、データを探索するための方法およびシステムのインプリメンテーションについて説明したが、添付の特許請求の範囲は、必ずしも説明した特定の機能または方法に限定されないことを理解されたい。むしろ、特定の機能および方法は、1つ以上のシステムを制御し、プラットフォームに接続された1つ以上のシステム全体で、データを探索するためのインプリメンテーションの例として開示される。
【図１】
2021511573.tif 000003
【図２】
2021511573.tif 000004
【図３Ａ】
2021511573.tif 000005
【図３Ｂ】
2021511573.tif 000006
【国際調査報告】
2021511573.tif 000007
2021511573.tif 000008