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