(57)【要約】      （修正有）【課題】リアルタイムおよび非リアルタイム・データの使用を可能にする統合されたイベント処理システムを提供する。【解決手段】マルチエージェント・ベースのシステム１２を含むイベントシステム１０は、リアルタイム・データで動作するプログラマブルタスクの第一セットを実施する複数のエージェントを定義及びデプロイするコア・エンジンを含む。マルチエージェント・ベースのシステム１２は、複数のエージェントのライフサイクル、複数のエージェントの間の通信及びプログラマブルタスクの処理時間をモニタするモニタリング・エンジンを含んでコア・エンジンに連結されて、プログラマブルタスクの第一セットを実行する。イベント処理システム１０は、非リアルタイム・データで動作するプログラマブルタスクの第二セットのデプロイするバッチ処理システム１４とマルチエージェント・ベースのシステム１２を扱うスタジオ１６とを含む。【選択図】図１
2016031756.tif 000002
【特許請求の範囲】
【請求項１】
イベント処理システムであって、
マルチエージェント・ベースのシステムを含み、
前記マルチエージェント・ベースのシステムは、
複数のエージェントを定義およびデプロイするように構成されたコア・エンジンであって、前記複数のエージェントは、一以上のユーザによって定義されたプログラマブルタスクの第一セットを実施するように構成され、前記プログラマブルタスクの第一セットは、リアルタイム・データで動作するように構成される、前記コア・エンジンと、
前記複数のエージェントのライフサイクル、前記複数のエージェントの間の通信、および前記プログラマブルタスクの処理時間をモニタするように構成されたモニタリング・エンジンと、
前記コア・エンジンに連結され、前記プログラマブルタスクの第一セットを実行するように構成されたコンピューティング・エンジンと、
を含み、
前記イベント処理システムは、さらに、
非リアルタイム・データで動作するプログラマブルタスクの第二セットのデプロイを可能にするように構成されたバッチ処理システムと、
前記マルチエージェント・ベースのシステムに連結され、前記一以上のユーザが前記マルチエージェント・ベースのシステムおよび前記バッチ処理システムを扱うことを可能にするように構成されたスタジオと、
を含むシステム。
【請求項２】
前記コア・エンジンは、
前記一以上のユーザが前記複数のエージェントを生成することを可能にするように構成されたエージェンシ・ビルダと、
前記エージェンシ・ビルダに連結され、前記複数のエージェントをデプロイするよう構成されたデプロイヤ・エージェントであって、前記複数のエージェントが複数の別個のプロセッサにデプロイされるように構成される、前記デプロイヤ・エージェントと、
を含む、請求項１に記載のシステム。
【請求項３】
前記スタジオは、複数のプラットフォームにホストされるように構成され、前記スタジオは、前記一以上のユーザが前記複数のエージェントを生成し、前記プログラマブルタスクの第一セットをトリガおよびデプロイすることを可能にするように構成されたユーザ・インターフェースを含む、請求項１に記載のシステム。
【請求項４】
前記ユーザ・インターフェースは、前記一以上のユーザが前記複数のエージェントおよび／またはエージェンシを２つの別個のプロセッサの間で移動することを可能にするようにさらに構成される、請求項３に記載のシステム。
【請求項５】
前記モニタリング・エンジンに連結され、前記一以上のユーザが前記マルチエージェント・ベースのシステムによって実施される一以上のアクティビティを追跡することを可能にするように構成されたモニタリング・インターフェースをさらに含む、請求項１に記載のシステム。
【請求項６】
前記モニタリング・インターフェースは、前記複数のエージェントによって送信および／または受信される複数のメッセージを追跡するようにさらに構成される、請求項５に記載のシステム。
【請求項７】
前記スタジオは、前記一以上のユーザがエージェントのセットを選択およびグループ化して、エージェンシを形成することを可能にするように構成され、前記エージェントのセットは、前記一以上のユーザによって決められたパラメータのセットに基づいて選択される、請求項１に記載のシステム。
【請求項８】
前記スタジオは、前記ユーザが、関連するエージェンシのセットを選択およびグループ化してエコシステムを形成することを可能にするようにさらに構成され、前記エージェンシのセットは、前記一以上のユーザによって決められた基準のセットに基づいて選択される、請求項７に記載のシステム。
【請求項９】
前記マルチエージェント・ベースのシステムと前記バッチ処理システムとの間の通信を容易にするように構成された通信モジュールをさらに含む、請求項１に記載のシステム。
【請求項１０】
プログラマブルタスクを実行するためのリアルタイム・マルチエージェント・ベースのシステムであって、
一以上のユーザによって定義されたプログラマブルタスクのセットを実施するように構成された複数のエージェントを定義およびデプロイするように構成されたコア・エンジンであって、前記プログラマブルタスクのセットは、リアルタイム・データで動作するよう構成される、前記コア・エンジンと、
前記複数のエージェントのライフサイクル、前記複数のエージェントの間の通信、および前記プログラマブルタスクの処理時間をモニタするように構成されたモニタリング・エンジンと、
前記コア・エンジンと連結され、前記プログラマブルタスクのセットを実行するように構成されたコンピューティング・エンジンと、
前記マルチエージェント・ベースのシステムと連結され、前記一以上のユーザが前記マルチエージェント・ベースのシステムを扱うことを可能にするように構成されたスタジオと、
を含むシステム。
【請求項１１】
前記コア・エンジンは、
前記一以上のユーザが前記複数のエージェントを生成することを可能にするように構成されたエージェンシ・ビルダと、
前記エージェンシ・ビルダに連結され、前記複数のエージェントをデプロイするように構成されたデプロイヤ・エージェントと、
を含む、請求項１０に記載のシステム。
【請求項１２】
前記スタジオは、前記一以上のユーザが前記複数のエージェントを生成し、前記プログラマブルタスクの第一セットをトリガおよびデプロイすることを可能にするように構成されたユーザ・インターフェースを含む、請求項１０に記載のシステム。
【請求項１３】
前記モニタリング・エンジンに連結され、前記一以上のユーザが前記マルチエージェント・ベースのシステムによって実施される一以上のアクティビティを追跡することを可能にするように構成されたモニタリング・インターフェースをさらに含む、請求項１０に記載のシステム。
【請求項１４】
イベントを処理する方法であって、
一以上のユーザによって定義されたプログラマブルタスクの第一セットを実施するように構成された複数のエージェントを定義およびデプロイするステップであって、前記プログラマブルタスクの第一セットは、リアルタイム・データで動作するように構成される、ステップと、
前記複数のエージェントのライフサイクル、前記複数のエージェントの間の通信、および前記プログラマブルタスクの処理時間をモニタするステップと、
前記プログラマブルタスクの第一セットを実行するステップと、
非リアルタイム・データで動作するプログラマブルタスクの第二セットをデプロイするステップと、
前記一以上のユーザが前記リアルタイム・データおよび前記非リアルタイム・データを扱うことを可能にするステップと、
を含む方法。
【請求項１５】
前記複数のエージェントの進捗、および前記複数のエージェントによって送信および／または受信される複数のメッセージを追跡するステップ、
をさらに含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にフレームワークに関し、さらに具体的には、プログラマブルタスク（ｐｒｏｇｒａｍｍａｂｌｅ  ｔａｓｋ）を実行しながら、リアルタイム・データおよび非リアルタイム・データを処理するためのイベント処理システムに関する。
【背景技術】
【０００２】
現今の情報豊富な環境においては、大量のデータの効率的な処理は、重要で挑戦的な課題である。一般に、このようなデータは、多くの事例においてイベントの発生とともにリアルタイムでデータ値が生成されるストリームで提供できる。例えば、追跡およびアクセス・アプリケーション中のＲＦＩＤ（ｒａｄｉｏ−ｆｒｅｑｕｅｎｃｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）に使われているマイクロセンサは、追跡対象の場所に関するストリーミング・データを提供することができる。別の例として、金融取引を定めるデータを、それら取引が行われるとともにストリームで提供することが可能である。
【０００３】
リアルタイムで到来するストリーミング・データを運用する能力は、多くの企業に対し大きな競争上の利点を提供できる。例えば、金融取引の成果に基づく金融業は、取引が行われるとともにその取引のデータのストリームを受信することが可能である。さらに、多くの場合、ストリーミング・データ中の特定の兆候に迅速に対応することは、多くの応用分野の重要な側面である。例として、セキュリティ上の脅威を検知するため政府機関によって使われるネットワーク・モニタリング・システムは、モニタリングを通して収集されるデータのストリーム中に示されたイベントを検知し報告することが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ほとんどのアプリケーションにおいて、ストリーム化されたデータの処理は、まずそのデータをデータベースに格納することから行われる。その後、データベースに、さらなる処理および分析のためデータを読み出すためのクエリが可能となろう。このために、特にデータ転送速度の高いストリームに対しては、データベースへのアクセス時間により課される制約のため、リアルタイムでデータを分析するのが困難である。
【０００５】
したがって、いくつかのソフトウエア・アプリケーションを実行しながら、イベント処理システムでリアルタイムおよび非リアルタイム・データの使用を可能にする統合されたシステムが必要になっている。
【課題を解決するための手段】
【０００６】
簡潔に言うと、本発明の一態様によってイベント処理システムが提供される。本イベント処理システムは、マルチエージェント・ベースのシステムを含む。このマルチエージェント・ベースのシステムは、一以上のユーザに定義されたプログラマブルタスクの第一セットを実施するように設定された複数のエージェントを定義およびデプロイ（ｄｅｐｌｏｙ）するように構成されたコア・エンジンを含む。プログラマブルタスクの第一セットは、リアルタイム・データで動作するように構成される。また、マルチエージェント・ベースのシステムは、複数のエージェントのライフサイクル、複数のエージェントの間の通信、およびプログラマブルタスクの処理時間をモニタするように構成されたモニタリング・エンジンを含む。マルチエージェント・ベースのシステムは、コア・エンジンに連結されて、プログラマブルタスクの第一セットを実行するように構成された、コンピューティング・エンジンをさらに含む。イベント処理システムは、非リアルタイム・データで動作するプログラマブルタスクの第二セットのデプロイを可能にするように構成されたバッチ処理システムと、マルチエージェント・ベースのシステムに連結されて、一以上のユーザが、マルチエージェント・ベースのシステムおよびバッチ処理システムを扱うことを可能にするように構成されたスタジオとを含む。
【０００７】
別の態様によって、プログラマブルタスクを実行するためのリアルタイム・マルチエージェント・ベースのシステムが提供される。本システムは、一以上のユーザによって定義されたプログラマブルタスクのセットを実施するように設定された複数のエージェント、を定義およびデプロイするように構成されたコア・エンジンを含む。このプログラマブルタスクのセットは、リアルタイム・データで動作するように構成される。また、リアルタイム・マルチエージェント・ベースのシステムは、複数のエージェントのライフサイクル、複数のエージェントの間の通信、およびプログラマブルタスクの処理時間をモニタするように構成されたモニタリング・エンジンを含む。リアルタイム・マルチエージェント・ベースのシステムは、コア・エンジンに連結されて、プログラマブルタスクのセットを実行するように構成されたコンピューティング・エンジンと、マルチエージェント・ベースのシステムに連結されて、一以上のユーザがマルチエージェント・ベースのシステムを扱うことを可能にするように構成されたスタジオとをさらに含む。
【０００８】
さらなる別の態様によって、イベントを処理する方法が提供される。本方法は、一以上のユーザによって定義されたプログラマブルタスクの第一セットを実施するように設定された、複数のエージェントを定義およびデプロイするステップを含む。プログラマブルタスクの第一セットは、リアルタイム・データで動作するように構成される。また、本方法は、複数のエージェントのライフサイクル、複数のエージェントの間の通信、およびプログラマブルタスクの処理時間をモニタするステップを含む。本方法は、プログラマブルタスクの第一セットを実行するステップと、非リアルタイム・データで動作するプログラマブルタスクの第二セットをデプロイするステップとをさらに含む。加えて、本方法は、一以上のユーザがリアルタイム・データと非リアルタイム・データとを扱うこと可能にするステップを含む。
【図面の簡単な説明】
【０００９】
本発明のこれらおよび他の特徴、態様及び利点は、以下の詳細な説明を、添付の図面を参照しながら読むことによってより良く理解されよう。これら図面全体を通して、各図中の同様の符号は同様な要素を表す。
【図１】本技法の態様によって実装された、イベント処理システムの一実施形態のブロック図である。
【図２】本技法の態様によって実装された、マルチエージェント・ベースのシステムの一実施形態のブロック図である。
【図３】本技法の態様によって実装された、コア・エンジンの一実施形態のブロック図である。
【図４】本技法の態様によって実装された、いくつかのプロセッサに亘るエージェントのモビリティを示す例示的なシナリオを表す。
【図５】本技法の態様によって実装された、イベント処理システムのモニタリングのための、例示的なプラットフォームおよび関連するオペレーションのブロック図である。
【図６】本技法の態様によって実装された、一以上のユーザがエージェント、エージェンシ、およびエコシステムを生成することを可能にするための例示的なスタジオ・インターフェースの図表現である。
【図７】本技法の態様によって実装された、エージェントを生成するための例示的なユーザ・インターフェースの図表現である。
【図８】本技法の態様によって実装された、イベント処理システムのエコシステム、エージェンシ、およびエージェントを表している例示的なユーザ・インターフェースの図表現である。
【図９】本技法の態様によって実装された、イベント処理システムを実装するために用いられる、例示的な汎用コンピューティング・デバイスのブロック図である。
【発明を実施するための形態】
【００１０】
本発明は、プログラマブルタスクを実行しながら、リアルタイム・データおよび非リアルタイム・データを処理するよう構成されたイベント処理システムおよび方法を提供する。例示的な諸実施形態および図面を用いて本イベント処理システムおよび方法を説明する。本明細書における「一実施形態」、「ある実施形態」、「或る例示的な実施形態」への言及は、説明されるその実施形態が、或る特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態が、必ずしもその特定の特徴、構造、または特性を含むとは限らない。また、かかる語句は必ずしも同一の実施形態を言及しているわけではない。さらに、或る実施形態に関連して、或る特定の特徴、構造、または特性が述べられた場合、明示で記されているかどうかを問わず、他の実施形態に対して、かかる特徴、構造、または特性を反映させることは当業者の知るところであると思量される。
【００１１】
図１は、本技法による、リアルタイム・データおよび非リアルタイム・データを処理するようになされたイベント処理システムのブロック図である。イベント処理システム１０は、疎結合されたコンポーネントによる分散型フレームワークである。イベント処理システム１０は、マルチエージェント・ベースのシステム１２、バッチ処理システム１４、スタジオ１６、および通信モジュール１８を含む。以下に、各コンポーネントをさらに詳しく説明する。
【００１２】
マルチエージェント・ベースのシステム１２は、一以上のユーザに定義されたプログラマブルタスクの第一セットを受信するように構成される。本明細書で用いる用語「ユーザ」は、自然人および「ユーザ」として活動する他のエンティティの両方を言及し得る。例には、団体、組織、企業、チーム、または人々の他のグループが含まれる。この実施形態において、プログラマブルタスクの第一セットは、リアルタイム・データで動作するように構成される。プログラマブルタスクの第一セットの例には、アルゴリズム取引、不正検出、需要感知、支払いおよびキャッシュ・モニタリング、動的価格設定およびイールド管理、データ・セキュリティ・モニタリング、供給チェーン最適化などが含まれる。
【００１３】
マルチエージェント・ベースのシステム１２は、一以上のユーザによって定義されたアプリケーションを表すように設定されたエージェントを含む。本明細書の目的上、エージェントとは、一つ以上のプログラマブルタスクを実行するよう設計されたソフトウエア・プログラムを言う。このエージェントは、イベント処理システム１０中の他のエージェントと通信するようにさらに構成される。
【００１４】
マルチエージェント・ベースのシステム１２は、プログラマブルタスクの第一セットを実施するためのエージェントの生成およびデプロイ、それらエージェントのライフサイクルのモニタリング、およびプログラマブルタスクの第一セットの実行など、様々なオペレーションを実施する。一実施形態において、エージェントは、ユーザに定義された一つ以上の分析タスクを実施するように構成されたエンティティである。該エージェントは、分析スクリプト・ファイルをイベント処理システム１０にアップロードすることによって生成される。さらに、マルチエージェント・ベースのシステム１２中に存在するこれらエージェントは、イベント処理システム１０の別々のデバイス間に亘って移動させることができる。いくつかのデバイスに亘るエージェントのモビリティ（ｍｏｂｉｌｉｔｙ）については、図４で詳しく説明する。これらエージェントは、マルチエージェント・ベースのシステム１２で、エージェント通信言語を使って相互に通信する。一実施形態において、これらエージェントは、ジャバ・エージェント開発フレームワーク（ＪＡＤＥ：ｊａｖａ（登録商標）  ａｇｅｎｔ  ｄｅｖｅｌｏｐｍｅｎｔ  ｆｒａｍｅｗｏｒｋ）を用いて実装される。さらに、マルチエージェント・ベースのシステム１２は、あらかじめ定義されたエージェントのライブラリを含む。
【００１５】
バッチ処理システム１４は、ユーザに定義されたプログラマブルタスクの第二セットのデプロイを可能にするように構成される。この実施形態において、プログラマブルタスクの第二セットは、非リアルタイム・データで動作するように構成される。プログラマブルタスクの第二セットの例には、収入漏出の原因の識別、顧客の購買パターン、値上げの販売額に対する影響、販売促進要因の識別などが含まれる。ユーザによって定義されるプログラマブルタスクには、Ｒスクリプト、Ｐｙｔｈｏｎスクリプトなどが含まれる。
【００１６】
スタジオ１６は、マルチエージェント・ベースのシステム１２と連結され、ユーザが、マルチエージェント・ベースのシステム１２およびバッチ処理システム１４と交信することを可能にするように構成される。スタジオ１６は、ユーザがエージェントを定義し、プログラマブルタスクの第一セットおよび第二セットをトリガおよびデプロイすることを可能にするなど、様々なオペレーションを実施する。
【００１７】
スタジオ１６は、ユーザが、エージェントを定義し、プログラマブルタスクのセットをトリガおよびデプロイすることを可能にするように構成されたユーザ・インターフェース（図示せず）を含む。スタジオ１６は、ユーザが、エージェントのセットを選択およびグループ化してエージェンシを形成することを可能にする。一実施形態において、エージェントのセットは、ユーザが決めたパラメータのセットに基づいて選択される。これらエージェントは、それらの入力型と出力型との整合性に基づいて、一緒にグループ化される。例えば、第一エージェントは、ストリングとして出力を生成でき、ストリング入力を受け入れる第二エージェントと共にグループ化される。スタジオ１６は、ユーザが関連するエージェンシのセットを選択およびグループ化してエコシステムを形成することを可能にするように、さらに構成される。一実施形態において、エージェンシのセットは、ユーザが定めた基準のセットに基づいて選択される。さらに、生成された新規エージェンシは、既存のエコシステムにタグ付けすることができる。
【００１８】
一実施形態において、スタジオ１６は、モバイルデバイス、タブレット、パーソナル・コンピュータなどを含む種々のデバイスに亘って、該スタジオを構成可能にする高度な視覚化ツールおよび技法を使って構築される。さらに、スタジオ１６は、個別ユーザの個人的作業空間としての役割を果たし、ボトムアップ方式（エージェントを生成し、それらを一緒にエージェンシとしてグループ化し、そのエージェンシをエコシステムにタグ付けする）、またはトップダウン方式（エコシステムを生成し、その後、それに対するエージェンシを生成およびタグ付けし、その後、エージェンシ内にエージェントを生成し、それらエージェントを一緒にグループ化する）によるワークフローを設計することを可能にする。
【００１９】
スタジオ１６は、ユーザが、エージェント、エージェンシ、およびエコシステムを生成、編集、休止、削除、キルするなど、様々なオペレーションを行うことをさらに可能にする。スタジオ１６は、ユーザが、エージェントの特性、その機能を作動するスクリプト・ファイルを支援（ｐｏｗｅｒｉｎｇ）し、名前、仮名などのデータ情報を編集し、エージェントの活動中にそれを休止させ、エージェントをキルし、そのデータを削除することを可能にする。
【００２０】
通信モジュール１８は、マルチエージェント・ベースのシステム１２とバッチ処理システム１４との間の通信を容易にするように構成される。この通信モジュールの例には、エンタープライズ・サービス・バス（ＥＳＢ：ｅｎｔｅｒｐｒｉｓｅ  ｓｅｒｖｉｃｅ  ｂｕｓ）、ウェブＯＴＸ  ＥＳＢ、サービス指向型アーキテクチャ（ＳＯＡ：ｓｅｒｖｉｃｅ  ｏｒｉｅｎｔｅｄ  ａｒｃｈｉｔｅｃｔｕｒｅ）ＥＳＢなどが含まれる。通信モジュール１８の機能は、オペレーションの様々な下層のコンポーネントを、システム内での相互作用および協調を容易にするように、統合する能力によって特徴付けられる。マルチエージェント・ベースのシステム１２が動作する方法について、以下でさらに詳しく説明する。
【００２１】
図２は、本技法の態様によって実装された、マルチエージェント・ベースのシステムの或る実施形態のブロック図である。マルチエージェント・ベースのシステムは、プログラマブルタスクの第一セットを実施するように構成される。マルチエージェント・ベースのシステム１２は、コア・エンジン２２、モニタリング・エンジン２４、およびコンピューティング・エンジン２６を含む。各コンポーネントについては、以下でさらに詳しく説明する。
【００２２】
コア・エンジン２２は、一以上のユーザによって定義されたプログラマブルタスクのセットを実施するエージェントを生成およびデプロイするように構成される。一実施形態において、コア・エンジン２２は、エージェントを生成するエージェントファクトリである。また、これらエージェントは、あらかじめ定義されたエージェントのライブラリから選択することも可能である。さらに、コア・エンジン２２は、所定のエージェントの作用に合わせて、エージェントの機能を定義するように構成される。なお、エージェントは、その全ライフサイクルを通してコア・エンジン２２に駐在する。特定の一実施形態において、コア・エンジン２２は、エージェンシのジャバスクリプト・オブジェクト・ノーテーション（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）表現の受信を受けて、そのエージェンシの妥当性確認、構築、および発行を行う役割を有するＪＡＤＥのサブ・プラットフォームである。ＪＳＯＮは、人間が可読なテキストを用い、属性値のペアから成るデータ・オブジェクトを送信するためのオープン・スタンダード・フォーマットである。このフォーマットは、主として、サーバとウェブ・アプリケーションとの間でデータを送信するために使われる。
【００２３】
モニタリング・エンジン２４は、コア・エンジン２２に連結されて、エージェントのライフサイクルをモニタするように構成される。エージェントのモニタリングは、現在状態（アクティブ、一時停止、およびキルのうちの一つ）、モニタリング・エンジンが通信しているシステム中のエージェント（メッセージの数およびそれらメッセージの内容を含む）、およびエージェントのタスクの処理時間を含む。一実施形態において、モニタリング・エンジン２４は、ＪＡＤＥを用いて開発される。ＪＡＤＥは、ｆｏｕｎｄａｔｉｏｎ  ｆｏｒ  ｉｎｔｅｌｌｉｇｅｎｔ  ｐｈｙｓｉｃａｌ  ａｇｅｎｔｓ（ＦＩＰＡ）の仕様およびサービスに適合するミドルウエアを介し、環境を提供するソフトウェア開発フレームワークである。ＪＡＤＥは、後記の図５で説明するように、常駐エンティティのホストを介して、マルチエージェント・ベースのシステム１２の相互運用性を容易にするサービスを提供する。
【００２４】
コンピューティング・エンジン２６は、コア・エンジン２２に連結されて、プログラマブルタスクの第一セットを実行するように構成される。一実施形態において、コンピューティング・エンジン２６は、プログラマブルタスクの第一セットを実行するために用いられる、ＲマシンのＲコンピューティング・クラスタを含む。一実施形態において、このＲコンピューティング・クラスタは、Ｒ−ＪＡＤＥエージェントの処理のみ専用のＲマシンのグループである。Ｒ−ＪＡＤＥエージェントは、コア・エンジン２２中に常駐する全エージェントのサブセットである。
【００２５】
ストレージ・モジュール２８は、モニタリング・エンジン２４に連結されて、プログラマブルタスクの第一セットおよびプログラマブルタスクの第二セットにそれぞれ関連付けられたリアルタイム・データおよび非リアルタイム・データを格納するように構成される。この実施形態において、ストレージ・モジュール２８は、エコシステム、エージェンシ、エージェント、およびユーザレベルにおけるメタデータ情報を格納するのに用いられる。コア・エンジン２２が動作する方法を、以下でさらに詳しく説明する。
【００２６】
図３は、本技法の態様によって実装された、コア・エンジンの一実施形態のブロック図である。コア・エンジン２２は、デプロイヤ・エージェント４２、エージェンシ・ビルダ４４、メタデータ・マネージャ４６、およびエージェンシ・コンテナ４８を含む。各コンポーネントについては、以下でさらに詳しく説明する。
【００２７】
デプロイヤ・エージェント４２は、スタジオ１６に連結されて、一つ以上のエージェントの生成のための要求（ＪＳＯＮ）をスタジオ１６を介して受信するように構成される。一実施形態において、コア・エンジン２２中に存在するデプロイヤ・エージェント４２は、ソケットＩ／Ｏサーバのリスナー実装であり、その機能に専用のポートを用いる。ソケットＩ／Ｏサーバは、リアルタイム・ウェブ・アプリケーションのためのジャバ・スクリプト・ライブラリである。さらに、デプロイヤ・エージェント４２は、入力された要求を、受信された要求に基づいて一つ以上のエージェントを生成するため、エージェンシ・ビルダ４４が対応可能な適切な命令のセットに構文解析する。
【００２８】
エージェンシ・ビルダ４４は、エージェントの作用を定義する一つ以上のパラメータを結び付けるエージェント・テンプレートを生成するように構成される。エージェンシ・ビルダ４４は、デプロイヤ・エージェント４２から受信した命令のセットの妥当性を確認し、エージェンシを構築する。本明細書で用いるエージェンシは一つ以上のエージェントを含む。一実施形態において、エージェンシ・ビルダ４４は、一つ以上のエージェントを生成するように構成される。
【００２９】
メタデータ・マネージャ４６は、エージェンシ・ビルダ４４に連結されて、エージェンシ・ビーンをエージェンシ・コンテナ４８に変換するためいくつかのオペレーションを実施するように構成される。メタデータ・マネージャ４６によって実施されるいくつかのオペレーションは、これらエージェントに作用を追加するステップと、エージェントにスケーラビリティ機能を組み込むステップと、エージェントをモニタリングのため準備するステップと、エージェンシにロガー・エージェントを加えるステップと、コンピューティング・プロセスおよびエージェントにモビリティを含めるステップと、エージェンシ・コンテナ４８にエージェントをラップ（ｗｒａｐｐｉｎｇ）するステップと、を含む。
【００３０】
エージェンシ・コンテナ４８は、エージェンシ・ビルダ４４に連結されて、生成された全てのエージェンシを包含する。エージェンシ・コンテナ４８は、エージェンシのステータスを更新するようにさらに構成される。一実施形態において、エージェンシ・コンテナ４８は、パラメータのセットに基づいて一緒にグループ化された全エージェントの集合である。一実施形態において、このパラメータのセットは、ユーザによって定められ、ＪＡＤＥランタイム環境の実行インスタンスとして実装される。エージェントのモニタリングおよび機能については、後記でさらに詳しく説明する。
【００３１】
図４は、本技法の態様によって実装された、いくつかのプロセッサに亘るエージェントのモビリティを示す例示的なシナリオを表す。前述したように、マルチエージェント・ベースのシステムは、一つ以上のエージェントを含む。エージェントのモビリティに関連するオペレーションについては、以下でさらに詳しく説明する。
【００３２】
マルチエージェント・ベースのシステム１２中に存在するエージェントおよび／またはエージェンシは、イベント処理システム１０の別個のインスタンス間に亘って移動されるように構成される。一実施形態において、各インスタンスは、別個のプロセッサ上で実行される。図４に表されたシナリオに示されるように、エージェント５２−Ａは、第一インスタンスを実行するプロセッサ５４に転送される。同様に、エージェント５２−Ｄは、第二インスタンスを実行するプロセッサ５８に転送される。さらに、エージェント５２−Ｃは、第三インスタンスを実行するプロセッサ５６に転送されるのが図示されている。
【００３３】
一実施形態において、エージェントおよび／またはエージェンシのモビリティは、エージェントが、イベント処理システムの別の実行インスタンスにばかりでなく、携帯電話、ミニ・コンピュータ、およびネットワークを介してインターフェースが取れる任意のデバイスなど、様々なハードウエア・デバイスにも移動することを可能にする、いくつかのネットワーク・プロトコルを用いて実現される。このことは、エージェントおよび／またはエージェンシに、様々なプロセッサに組み込まれてデータの抽出もしくは処理さえも実施して明快な理解を直接提供する、能力を与える。しかして、エージェントおよび／またはエージェンシのモビリティは、フレキシブルなデータ処理のソリューションを提供する。さらに、後記で詳しく説明するように、全てのエージェントがモニタされる。
【００３４】
図５は、本技法の態様によって実装された、イベント処理システムのモニタリングのための、例示的なプラットフォームおよび関連するオペレーションのブロック図である。これらのオペレーションについては、以下でさらに詳しく説明する。
【００３５】
前述のように、エージェンシ・コンテナ４８は、全エージェンシの集合体である。プラットフォーム６１は、全てのアクティブなエージェント・コンテナを表す。示された図において、プラットフォーム６１は、主コンテナ６２、およびエージェント・コンテナ７０−Ａ〜７０−Ｎを含む。示された実施形態において、主コンテナ６２は、全てのインスタンスがアクティブ状態にあるアクティブ・コンテナを表す。エージェント・コンテナ７０−Ａ〜７０−Ｎは、開始時に主コンテナ６２に登録される。主コンテナ６２はアクティブ・コンテナなので、該コンテナはプラットフォーム６１上で開始される最初のコンテナである。他のエージェント・コンテナ７０−Ａ〜７０−Ｎは、主コンテナ６２のホスティングおよびポーティングに関する情報を備えている。
【００３６】
主コンテナ６２は、エージェント・マネジメント・サービス（ＡＭＳ：ａｇｅｎｔ  ｍａｎａｇｅｍｅｎｔ  ｓｅｒｖｉｃｅ）６３、ディレクトリ・ファシリテータ（ＤＦ：ｄｉｒｅｃｔｏｒｙ  ｆａｃｉｌｉｔａｔｏｒ）６４、およびイントロスペクタ６８を含む。また、主コンテナ６２は、エージェント・コンテナ（７０−Ａ〜７０−Ｎ）中に包含されるエージェントのアドレス位置を含む、一元的メタデータ・テーブルも含む。一実施形態において、エージェント・コンテナは、各ノードが個別のシステムである、一つ以上のノードにホストされる。加えて、各ノードは、そのノード上にホストされたエージェントに関する詳細を包含するローカルのメタデータ・テーブルを含む。さらに、ノード上にホストされたエージェント・コンテナ中に含まれるエージェントのライフサイクルをモニタするために、各ノード上にカスタム・カーネル・サービスが構成される。
【００３７】
ＡＭＳ６３は、エージェンシ・ビルダ４４から受信した一つ以上の要求を処理するように構成される。ＡＭＳ６３は、主コンテナ６２の中央コントローラであり、エージェントの全ライフサイクルを監視する役割を担う。ＡＭＳ６３は、エージェントの生成および削除、提供されたロケーションおよびサービスの網羅を含む、主コンテナ６２の全詳細を含む。
【００３８】
ディレクトリ・ファシリテータ６４は、主コンテナ６２中のサービス・プロバイダ・エンティティである。ＤＦ６４は、エージェントによって提供される全サービスの詳細を提供し、これら詳細は他のエージェントが存知し活用するための情報として公開される。
【００３９】
イントロスペクタ６８は、ＡＭＳ６３に報知するため、イベント処理システム１０内のモニタリング・サービスを提供し、エージェントおよびエージェント・コンテナ（７０−Ａ〜７０−Ｎ）両方のレベルで更新事項を受信する。さらに、イントロスペクタ６８は、エージェントおよびエージェント・コンテナ両方のレベルで、プラットフォーム６１上の全イベントを調査および記録する。最後に、イントロスペクタ６８は、プラットフォーム６１上で生成された一切の遠隔コンテナをラッチ（ｌａｔｃｈ）する。その作動の過程で、イントロスペクタ６８は、生成されたエージェント、キルされたエージェント、エージェントの状態（現在および状態の変化）、エージェントの作用（現在および状態の変化）、エージェント計算時間、受信されたメッセージ、送信されたメッセージ、掲載されたメッセージ、追加されたコンテナ、削除されたコンテナなど、プラットフォーム内からの情報をキャプチャする。
【００４０】
一実施形態において、イントロスペクタ６８によってプラットフォーム６１内で記録されたイベントは、ソケット・サーバ７４を用いて、モニタリング・アプリケーション７２に転送され、アプリケーション７２は、構造化されたＪＳＯＮフォーマット中の全情報を配列し、それをモニタリング・インターフェース７６による使用のためウェブ・ソケットに転送する。さらに、イントロスペクタ６８から受信された情報は、データ・アクセス・オブジェクト・フレームワーク７８を介してストレージ・モジュール２８に渡される。データ・アクセス・オブジェクト・フレームワーク７８は、ＪＡＶＡ（登録商標）におけるデータ・マネジメントに関連するＣＲＵＤオペレーションに対する役割を担う。
【００４１】
前述のイベント処理システム１０は、いくつかのユーザ・インターフェースを実装し、一以上のユーザがエージェント、エージェンシ、およびエコシステムを生成できるようにする。関連するインターフェースの一部を、以下でさらに詳しく説明する。
【００４２】
図６は、本技法の態様によって実装された、一以上のユーザがエージェント、エージェンシ、およびエコシステムを生成することを可能にするための例示的なスタジオの図である。
【００４３】
スタジオ・インターフェース８０は、「ＡＤＤ（追加）」、「ＤＥＬＥＴＥ（削除）」、「ＲＥＦＲＥＳＨ（リフレッシュ）」、「ＥＤＩＴ（編集）」、「ＣＬＯＮＥ（コピー）」「ＰＵＢＬＩＳＨ（発行）」、「ＫＩＬＬ（キル）」「ＳＷＩＴＣＨ（切替え）」などのいくつかのタブ（参照番号８２で示す）を含む。「ＡＤＤ」タブは、ユーザに、エージェント、エージェンシ、および／またはエコシステムを生成するオプションを提供する。「ＥＤＩＴ」タブは、ユーザが既存のエージェントおよび／またはエージェンシの構成を編集することを可能にする。「ＣＬＯＮＥ」タブは、ユーザが既存のエージェントおよび／またはエージェンシのクローンを生成することを可能にする。「ＤＥＬＥＴＥ」タブは、ユーザがエージェント、エージェンシ、および／またはエコシステムのメタデータ情報を削除することを可能にする。「ＰＵＢＬＩＳＨ」タブは、ユーザが、マルチエージェント・ベースのシステム１２中のエージェント、および／またはエージェンシのライフサイクルをアクティブ化することを可能にする。さらに、「ＫＩＬＬ」タブは、ユーザが、マルチエージェント・ベースのシステム１２中のエージェントおよび／またはエージェンシの機能ライフサイクルを実際に終了させることを可能にする。「ＳＷＩＴＣＨ」タブの機能は二重である。すなわち、エージェントおよび／またはエージェンシについてのメタデータ情報がデータベース間に亘って移動することを可能にし、さらに、このタブは、エージェンシおよび／またはエージェント自体が諸環境に亘って移動することを可能にする。一実施形態において、これらのタブは、当該エコシステム、エージェンシ、またはエージェントの選択に基づいて関連する。例えば、エコシステムの選択では、使用可能なタブは、「ＡＤＤ」、「ＤＥＬＥＴＥ」、および「ＲＥＦＲＥＳＨ」だけであり、残りのタブはグレーアウト（操作不能）である。
【００４４】
スタジオ・インターフェース８０は、例示されたマルチエージェント・ベースのシステム１２中に存在する、エージェント９４、エージェンシ９６、およびエコシステム９８を示すパネル９２を含む。「ＡＤＤ」タブのアクションを起動すると、インターフェースは、エージェントを生成するためのユーザ・インターフェースに移行する。スタジオ・インターフェース８０は、ユーザがマルチエージェント・ベースのシステム１２中で利用可能なエージェントをドラッグ・アンド・ドロップし、（参照番号１０２で示されるように）これらエージェントをそれらの入力型と出力型との整合性に基づいて一緒に結び付けることを可能にする、キャンバス１００をさらに含む。各エージェントに関連付けられた属性が、即座のルックアップのため、スタジオ・インターフェース８０のウィンドウ枠１０４に示されている。「ビュー・ファイル（ｖｉｅｗ  ｆｉｌｅ）」タブ１０６は、ユーザに対しデプロイされる分析スクリプト・ファイルを表示する。ウィンドウ枠９２は、キャンバス上のエージェントをタッピングして選択することにより、データ設定される。
【００４５】
図７は、本技法の態様によって実装された、エージェントを生成するための例示的なユーザ・インターフェースの図である。ユーザ・インターフェース１１０は、ユーザが、エージェントの生成に関してエージェントの型（セル１１２）、作用（セル１１４）、入力（セル１１６）、出力（セル１１８）などいくつかのパラメータを設定することを可能にする。さらに、ユーザは、生成対象の特定のエージェントに対し、名称（セル１２０）を設け、機能（セル１２２）を選択することができる。
【００４６】
図８は、本技法の態様によって実装された、イベント処理システムのエコシステム、エージェンシ、およびエージェントを表している例示的なユーザ・インターフェースの図表現である。この「エコシステム」ウィンドウ枠（セル１３２）は、イベント処理システム中の全エージェント（セル１３４）およびそれらに関連付けられた親エージェンシ（セル１３６）の表ビュー、エージェントのホスト場所（セル１３８）、その受信箱中のメッセージの数（セル１４０）、エージェントの計算時間（セル１４２）、エージェントが受信したメッセージの数（セル１４４）、送信されたメッセージの数（セル１４６）、メッセージを送信したエージェントの名称（セル１４８）、および受信された各メッセージの関連タイムスタンプ（セル１５０）を備える。
【００４７】
図９は、本技法の態様によって実装された、イベント処理システムを実装するために用いられる、例示的な汎用コンピューティング・デバイスのブロック図である。ごく基本的な構成１６２において、コンピューティング・システム１６０は、通常、一つ以上のプロセッサ１６４およびシステム・メモリ１６６を含む。メモリ・バス１６８は、プロセッサ１６４とシステム・メモリ１６６との間の通信のために用いることができる。
【００４８】
所望の構成に応じて、プロセッサ１６４は、以下に限らないが、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、またはこれらの任意の組合せを含め、任意の種類とすることができる。プロセッサ１６４には、レベル１キャッシュ１７０およびレベル２キャッシュ１７２など一つ以上のレベルのキャッシング、プロセッサ・コア１７４、およびレジスタ１７６を含めることができる。例示的なプロセッサ・コア１７４は、算術演算処理ユニット（ＡＬＵ：ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、浮動小数点演算ユニット（ＦＰＵ：ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ｕｎｉｔ）、デジタル信号処理コア（ＤＳＰ  Ｃｏｒｅ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｃｏｒｅ）、またはこれらの任意の組合せを含み得る。また、例示的なメモリ・コントローラ１７８は、プロセッサ１６４と併せ使用することもでき、一部の実装では、メモリ・コントローラ１７８をプロセッサ１６４の内蔵部分とすることもできる。
【００４９】
所望の構成に応じて、システム・メモリ１６６は、以下に限らないが、揮発性メモリ（ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、フラッシュ・メモリなど）またはこれらの任意の組合せを含め、任意の種類とすることができる。システム・メモリ１６６には、オペレーティング・システム１８０、イベント処理システム１８６を含むアプリケーション１８２、ならびにリアルタイム・データおよび非リアルタイム・データ１８８を含むプログラム・データ１８４を含めることが可能である。
【００５０】
イベント処理システム１８６は、プログラム・データ１８４中に格納されたプログラマブルタスクを実行しながら、リアルタイム・データおよび非リアルタイム・データ１８８を処理するように構成される。前述の本基本構成１６２が、図９に、内側の破線内の当該コンポーネントによって示されている。
【００５１】
コンピューティング・システム１６０には、追加の特色または機能、ならびに基本構成１６２と任意の必要なデバイスおよびインターフェースとの間の通信を容易にするための追加のインターフェースを持たせることが可能である。例えば、ストレージ・インターフェース・バス１９８を介した、基本構成１６２と一つ以上のデータ・ストレージ・デバイス１９２との間の通信を容易にするために、バス／インターフェース・コントローラ１９０を用いることができる。データ・ストレージ・デバイス１９２は、リムーバブル・ストレージ・デバイス１９４、非リムーバブル・ストレージ・デバイス１９６、またはこれらの組合せとすることが可能である。
【００５２】
リムーバブル・ストレージおよび非リムーバブル・ストレージ・デバイスの例には、いくつか挙げると、フレキシブル・ディスク・ドライブおよびハードディスク・ドライブ（ＨＤＤ：ｈａｒｄ−ｄｉｓｋ  ｄｒｉｖｅ）などの磁気ディスク・デバイス、コンパクト・ディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｋ）ドライブまたはデジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）ドライブなどの光ディスク・ドライブ、半導体ドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、およびテープ・ドライブが含まれる。コンピュータ・ストレージ媒体の例には、コンピュータ可読命令、データ構造体、プログラム・モジュール、または他のデータなどの情報のストレージのための任意の方法または技術で実装された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含めることができる。
【００５３】
システム・メモリ１６６、リムーバブル・ストレージ・デバイス１９４、および非リムーバブル・ストレージ・デバイス１９６は、コンピュータ・ストレージ媒体の例である。コンピュータ・ストレージ媒体には、以下に限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気ストレージ・デバイス、あるいは、所望の情報を格納するため使用でき、コンピューティング・システム１６０がアクセス可能な任意の他の媒体が含まれる。かかる任意のコンピュータ・ストレージ媒体はコンピューティング・システム１６０の一部とすることもできる。
【００５４】
また、コンピューティング・システム１６０は、様々なインターフェース・デバイス（例えば、出力デバイス２００、周辺機器インターフェース２０８、および通信デバイス２２０）から基本構成１６２への、バス／インターフェース・コントローラ１９０を介した通信を容易にするためのインターフェース・バス１９８を含むことができる。例示の出力デバイス２００は、グラフィックス処理ユニット２０４およびオーディオ処理ユニット２０６を含み、これらユニットは、一つ以上のＡ／Ｖポート２０２を介し、ディスプレイまたはスピーカなど様々な外部デバイスと通信するように構成することができる。
【００５５】
例示の周辺機器インターフェース２０８は、シリアル・インターフェース・コントローラ２１０またはパラレル・インターフェース・コントローラ２１２を含み、これらコントローラは、一つ以上のＩ／Ｏポート２０７を介して、入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）または他の周辺デバイス（例えば、プリンタ、スキャナなど）などの外部デバイスと通信するように構成することが可能である。例示の通信デバイス２２０は、ネットワーク・コントローラ２１４を含み、該コントローラは、一つ以上の通信ポート２１６を介し、ネットワーク通信リンクを通して、一つ以上の他のビジネス・コンピューティング・デバイス２１８との通信を容易にするよう構成することができる。
【００５６】
このネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、一般に、搬送波または他の伝送メカニズムなど変調データ信号中の、コンピュータ可読命令、データ構造体、プログラム・モジュール、または他のデータによって具現化することができ、任意の情報送達媒体を含み得る。「変調データ信号」とは、信号の特性の一つ以上が、信号中に情報をコードするように設定または変更された信号とすることができる。例であって限定ではないが、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、および音響、無線周波（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）、マイクロウェーブ、赤外線（ＩＲ：ｉｎｆｒａｒｅｄ）および他の無線媒体などの無線媒体を含み得る。本明細書で用いる用語、コンピュータ可読媒体は、ストレージ媒体および通信媒体の両方を含み得る。
【００５７】
コンピューティング・システム１６０は、携帯電話、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄａｔａ  ａｓｓｉｓｔａｎｔ）、パーソナル・メディア・プレーヤ・デバイス、無線ウェブ閲覧デバイス、パーソナル・ヘッドセット・デバイス、特定用途デバイス、または前述の機能のいずれかを含むハイブリッド・デバイスなど、スモールフォームファクタの携帯（または移動）電子デバイスの一部として実装することができる。なお、コンピューティング・システム１６０は、ラップトップ・コンピュータおよび非ラップトップ・コンピュータ構成の両方を含め、パーソナル・コンピュータとして実装することも可能である。
【００５８】
前述のイベント処理システムは、プロセス・フローの形で分析タスクの容易なデプロイを可能にすることによって、より速くより効率的な技法でリアルタイム・データを処理することを含め、いくつかの利点を提供する。イベント処理システムは、カスタマイズおよび使用をし易くするために分散され疎結合されたアーキテクチャによる支援などの下に、統計的、データ工学および採点モデルを一様にサポートするよう設定される。
【００５９】
当業者なら理解するように、一般に、本明細書で用いられる、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本文）注で用いられる用語は「オープン」タームとして意図されている（例えば、用語「含めて（ｉｎｃｌｕｄｉｎｇ）」は「含むが、それに限らない」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも・・・を有する」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は「含むが、それに限らない」と解釈されるべきである、など）。当業者ならさらに理解するように、提示された請求項の記述対象の特定の数が意図されている場合、かかる意図はその請求項中に明示で記述されることになり、そういった記述が無い場合、かかる意図は存在しない。
【００６０】
例えば、理解の助力として、本明細書に添付された特許請求の範囲が、請求記述対象を導入するため、導入語句「少なくとも一つの」および「一つ以上の」の使用を包含することがある。しかしながら、かかる語句の使用については、不定冠詞「ａ」または「ａｎ」（或る）を使った請求記述対象の導入が、かかる導入請求記述対象を包含する何らか特定の請求項を、たとえ、同じその請求項が導入語句「一つ以上の」または「少なくとも一つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、かかる記述対象を一つだけ包含する実施形態に限定することを含蓄すると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、「少なくとも一つの」または「一つ以上の」を意味すると解釈すべきである）。同じことは、請求記述対象を導入するのに使われる定冠詞の使用についても当てはまる。さらに、たとえ、導入された請求記述対象の特定の数が明示で記載されている場合であっても、当業者は、かかる記述が、少なくとも記述された数であることを意味すると解釈さるべきことを認識していよう（例えば、他の修飾詞なしの「２つの記述対象」というだけの記述は、少なくとも２つの記述対象または２つ以上の記述対象を意味する）。
【００６１】
本明細書でいくつかの実施形態の特定の特徴だけを示し、説明してきたが、当業者には多くの修改および変更が思い浮かぶであろう。したがって、添付の特許請求の範囲は、それら全ての修改および変更を本発明の真髄に含まれるものとして網羅するように意図されているものと理解されたい。
【図１】
2016031756.tif 000003
【図３】
2016031756.tif 000004
【図４】
2016031756.tif 000005
【図５】
2016031756.tif 000006
【図９】
2016031756.tif 000007
【図２】
2016031756.tif 000008
【図６】
2016031756.tif 000009
【図７】
2016031756.tif 000010
【図８】
2016031756.tif 000011
【外国語明細書】
2016031756000001.pdf
2016031756000002.pdf
2016031756000003.pdf
2016031756000004.pdf