(57)【要約】  ストリーミングデータを集約し、フィルタリングし、提示するためのシステムおよび方法が開示される。一実施形態において、ストリーミングデータを提示するための方法は、（１）少なくとも１つのコンピュータプロセッサを含むサーバのためのウェブサービス層において、複数のパラメータを含むクエリをクライアントから受信することを含み、（２）少なくとも１つの予め規定されたストリーミングデータソースからストリーミングデータを受信するサーバのためのデータキャッシング層を含み、（３）データキャッシング層は複数のパラメータのそれぞれについてストリーミングデータを融合し、（４）データキャッシング層は融合されたデータを集約し、（５）データキャッシング層は、融合されたデータに対してクエリを同時に実行することによって、融合されたデータのスナップショットを生成し、（６）スナップショットをクライアントに出力することを含むことができる。
2020504867.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]金融業界において、市場データおよびメッセージングは大量のデータを伴うため、クライアントは、ティッカープラント（ticker plant）から出てくるペイロードを扱うことに関連付けられるかなりの作業を行うことが予想される。クライアントは、しばしば、大量の情報に関連するハードウェアおよびソフトウェアの課題を扱い、ユーザが利益を引出すために情報を融合し、ポートフォリオ管理をサポートするために多くのスレッドおよびシステムにわたって集約すること等を行う必要がある。実施形態では、エンドユーザおよび開発者にフィルタリングとのインターフェースを与えながら、これらの課題や他の課題に対処する。
【００２２】
[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]データインジェクタは、１つまたは複数の技術資産に単一インターフェースを提供することができる。データインジェクタは、システム間で参照データ（例えば、シンボロジー）をマッピングし、内部データプラットフォーム（例えば、ポートフォリオ情報を送信する）とＣＥＰエンジン（例えば、関心のある商品がウォッチリストにあることを保証する）の両方と通信することができる。
【００５２】
[0067]一実施形態において、ポートフォリオ管理システムは、クライアントの所有財産についてのポートフォリオコンテンツデータのソースであってもよい。ポートフォリオ管理システムは、関心のあるポートフォリオのリフレッシュを毎日発行し、オンデマンドでポートフォリオを発行すると共に、全てのロット／ポートフォリオについて「公式（ｏｆｆｉｃｉａｌ）」の１日の始まりの価格を維持することができる。
【００５３】
[0068]一実施形態において、日中アクティビティモニタは、オーダー管理システム、キャッシュフローエンジン等に由来するアクティビティ等のアクティビティをモニタすることができる。日中アクティビティモニタは、評価の変化をリアルタイムに反映するために、１日の始まり以来のポートフォリオ変化としてＣＥＰエンジン内に更新を発行することができる。
【００５４】
[0069]警報エンジンは、金融機関ウェブサイトからのクライアント指示をＣＥＰエンジンおよび他のバックエンドシステムに対するサブスクリプションに変換することができる。複数日にわたり警報を持続すること、条件が満足されたという信号をＣＥＰエンジンから聞くこと、所望のアクションを実施すること、アクションがとられた警報をディセーブルすること等である。
【００５５】
[0070]図４は、一実施形態による例示的なプロセスフローを示す。一実施形態において、データソース層は市場データ（例えば、市場データストリーム）を受信することができ、データをデータローダ層に提供することができ、データは、１つまたは複数のデータローダを使用してデータキャッシング層にロードすることができる。ＣＥＰエンジンは、データキャッシング層からデータにアクセスすることができ、構成管理、データフィルター処理、モニタリングサービス、コントロールプレーンサービス、エンタイトルメントサービス等を提供することができる。一実施形態において、ＣＥＰエンジンは、顧客アクセス層を介してサービスを顧客に提供することができる。
【００５６】
[0071]例
[0072]非制限的な例が以下に提供される。
[0073]データセット１：ダイレクトフィードからの持分金融商品：
[0074]  ＜ｓｎａｐＳｙｍｂｏｌ＞ＪＰＭ．Ｎ＜／ｓｎａｐＳｙｍｂｏｌ＞
[0075]  ＜ｓｎａｐＳｔａｔｕｓ＞ｏｋ＜／ｓｎａｐＳｔａｔｕｓ＞
[0076]  ＜ｗＢｉｄＰｒｉｃｅ＞８７．７９００００＜／ｗＢｉｄＰｒｉｃｅ＞
[0077]  ＜ｗＢｉｄＳｉｚｅ＞１８＜／ｗＢｉｄＳｉｚｅ＞
[0078]  ＜ｗＡｓｋＰｒｉｃｅ＞８７．８０００００＜／ｗＡｓｋＰｒｉｃｅ＞
[0079]  ＜ｗＡｓｋＳｉｚｅ＞４＜／ｗＡｓｋＳｉｚｅ＞
[0080]  ＜ｗＩｎｓｔｒｕｍｅｎｔＴｙｐｅ＞Ｓｔｏｃｋ＜／ｗＩｎｓｔｒｕｍｅｎｔＴｙｐｅ＞
[0081]  ＜ｗＯｐｅｎＰｒｉｃｅ＞９０．３６００００＜／ｗＯｐｅｎＰｒｉｃｅ＞
[0082]  ＜ｗＡｄｊＰｒｅｖＣｌｏｓｅ＞９０．０７００００＜／ｗＡｄｊＰｒｅｖＣｌｏｓｅ＞
[0083]  ＜ｗＰｒｅｖＣｌｏｓｅＰｒｉｃｅ＞９０．０７００００＜／ｗＰｒｅｖＣｌｏｓｅＰｒｉｃｅ＞
[0084]  ＜ｗＢｉｄＯｐｅｎ＞９０．３４００００＜／ｗＢｉｄＯｐｅｎ＞
[0085]  ＜ｗＡｓｋＯｐｅｎ＞９０．４０００００＜／ｗＡｓｋＯｐｅｎ＞
[0086]商品価格はｗＢｉｔＰｒｉｃｅおよびｗＡｓｋＰｒｉｃｅの平均である。
【００５７】
[0087]データセット２：ダイレクトフィードからの商品先物取引：
[0088]  ＜ｓｎａｐＳｙｍｂｏｌ＞ＣＬＪ７．ＮＹＭ＜／ｓｎａｐＳｙｍｂｏｌ＞
[0089]  ＜ｓｎａｐＳｔａｔｕｓ＞ｏｋ＜／ｓｎａｐＳｔａｔｕｓ＞
[0090]  ＜ｗＩｓｓｕｅＳｙｍｂｏｌ＞ＣＬＪ７．ＮＹＭ＜／ｗＩｓｓｕｅＳｙｍｂｏｌ＞
[0091]  ＜ｗＢｉｄＨｉｇｈ＞４８．６２００００＜／ｗＢｉｄＨｉｇｈ＞
[0092]  ＜ｗＡｓｋＬｏｗ＞４７．４０００００＜／ｗＡｓｋＬｏｗ＞
[0093]  ＜ｗＡｓｋＰｒｉｃｅ＞４７．４１００００＜／ｗＡｓｋＰｒｉｃｅ＞
[0094]  ＜ｗＡｓｋＳｉｚｅ＞５＜／ｗＡｓｋＳｉｚｅ＞
[0095]  ＜ｗＢｉｄＰｒｉｃｅ＞４７．３９００００＜／ｗＢｉｄＰｒｉｃｅ＞
[0096]  ＜ｗＢｉｄＳｉｚｅ＞５２＜／ｗＢｉｄＳｉｚｅ＞
[0097]  ＜ｗＢｉｄＬｏｗ＞４７．３４００００＜／ｗＢｉｄＬｏｗ＞
[0098]  ＜ｗＡｓｋＨｉｇｈ＞４８．７５００００＜／ｗＡｓｋＨｉｇｈ＞
[0099]  ＜ｗＯｐｅｎＰｒｉｃｅ＞４７．９３００００＜／ｗＯｐｅｎＰｒｉｃｅ＞
[00100]  ＜ｗＯｐｅｎＴｉｍｅ＞２０１７−０３−２１；１７：４５：２７．２２９６０３＜／ｗＯｐｅｎＴｉｍｅ＞
[00101]  ＜ｗＣｆｉＣｏｄｅ＞ＦＣＭＸＳＸ＜／ｗＣｆｉＣｏｄｅ＞
[00102]  ＜ｗＣｕｒｒｅｎｃｙ＞ＵＳＤ＜／ｗＣｕｒｒｅｎｃｙ＞
[00103]  ＜ｗＥｎｔｒｙＳｔａｔｕｓ＞０＜／ｗＥｎｔｒｙＳｔａｔｕｓ＞
[00104]価格についての同じルールが当てはまる
[00105]データセット３：ベンダーフィードからの公債：
[00106]  ＜ｓｎａｐＳｙｍｂｏｌ＞ＩＳＩＮ＿ＵＳＮ８２００８ＡＫ４６＿ＭＯＤＥＬ．ＦＵＳＥ＜／ｓｎａｐＳｙｍｂｏｌ＞
[00107]  ＜ｓｎａｐＳｔａｔｕｓ＞ｏｋ＜／ｓｎａｐＳｔａｔｕｓ＞
[00108]  ＜ＣＬＩＥＮＴ＿ＯＦＦＥＲ＞０．００００００＜／ＣＬＩＥＮＴ＿ＯＦＦＥＲ＞
[00109]  ＜ＣＬＩＥＮＴ＿ＢＩＤ＞０．００００００＜／ＣＬＩＥＮＴ＿ＢＩＤ＞
[00110]  ＜ＰＯＳＩＴＩＯＮ＞０．００００００＜／ＰＯＳＩＴＩＯＮ＞
[00111]  ＜ＣＯＵＰＯＮ＿ＲＡＴＥ＞２．００００００＜／ＣＯＵＰＯＮ＿ＲＡＴＥ＞
[00112]  ＜ＳＴＲＩＮＧ２＞ＨＧ−Ｉｎｄｕｓｔｒｉａｌｓ／Ｄｅｆｅｎｓｅ／Ｃｈｅｍｉｃａｌｓ＜／ＳＴＲＩＮＧ２＞
[00113]  ＜ＭＫＴ＿ＰＲＩＣＥ＿２＞１００００００．００００００＜／ＭＫＴ＿ＰＲＩＣＥ＿２＞
[00114]  ＜ＭＫＴ＿ＰＲＩＣＥ＿１＞１００００００．００００００＜／ＭＫＴ．ＰＲＩＣＥ＿１＞
[00115]  ＜ＭＡＴＵＲＤＡＴＥ＞  １５  Ｓｅｐ  ２０２３＜／ＭＡＴＵＲＤＡＴＥ＞
[00116]  ＜ＩＳＩＮ＿ＢＥＮＣＨＭＡＲＫ＞ＵＳ９１２８２８Ｗ５５６＜／ＩＳＩＮ＿ＢＥＮＣＨＭＡＲＫ＞
[00117]  ＜ＣＵＲＶＥ＿ＴＹＰＥ＞ＥＭＥＡ＜ＣＵＲＶＥ＿ＴＹＰＥ＞
[00118]  ＜ＵＰＤＡＴＥ＿ＴＭ＞１２：３１：１５．０００＜／ＵＰＤＡＴＥ＿ＴＭ＞
[00119]  ＜ｌＴＥＭ＿ＩＤ／＞
[00120]価格はフィールドＭＫＴ＿ＰＲＩＣＥ＿１にある
[00121]データセットは同じＣＥＰインスタンス内に存在する必要はない。例えば、データセット１および３は、ポートフォリオビューが作成される同じＣＥＰインスタンス上に存在することができる。データセット２は、インジェスチョン（ｉｎｇｅｓｔｉｏｎ）の需要によって別のインスタンス上に存在することができる。
【００５８】
[00122]例示的なプロファイル設計が提供される。ポートフォリオを、Ｐｏｒｔｆｏｌｉｏと呼ばれる自分自身のテーブルに記憶することができる。
[00123]  ：
[00124]  ｛
[00125]  “ｐｏｒｔｆｏｌｉｏ”：“１２３４５”
[00126]  “ｖｅｒｓｉｏｎ”：３．２．６，
[00127]  “ｈｏｌｄｉｎｇｓ”：［
[00128]  ｛“ｓｏｕｒｃｅ”：“Ｄａｔａ  Ｓｅｔ  １”，“ｓｅｃｕｒｉｔｙ”：“ＪＰＭ．Ｎ”，“ｗｅｉｇｈｔ”：１５０｝，
[00129]  ｛“ｓｏｕｒｃｅ”：“Ｄａｔａ  Ｓｅｔ  ２”，“ｓｅｃｕｒｉｔｙ”：“ＣＬＪ７．ＮＹＭ”，“ｗｅｉｇｈｔ”：２００｝，
[00130]  ｛“ｓｏｕｒｓｅ”：“Ｄａｔａ  Ｓｅｔ  ３”，  “ｓｅｃｕｒｉｔｙ”：“ＩＳＩＮ＿ＵＳＮ８２００８ＡＫ４６＿ＭＯＤＥＬ．ＦＵＳＥ”，“ｗｅｉｇｈｔ”：２｝
[00131]    ］
[00132]  ｝
[00133]例えば、ポートフォリオ値付けは、以下の疑似コードを使用することができる：
[00134]特定のポートフォリオＩＤについて、
[00135]  各資産識別子について
[00136]  総価格＝総価格＋（資産重み＊資産＿価格［資産識別子］）
[00137]  総価格を返す
[00138]換言すれば、データが変化するにつれて変化することになるポートフォリオのリアルタイム価格を表す単一の値を返すことができる。
【００５９】
[00139]一実施形態において、両方のインスタンスについて規定されたテーブルの４つの層が存在する場合がある。
[00140]第１の層は、市場データ発行者からデータを受信することができる。例えば、ポートフォリオ値付けと商品先物取引の両方について、１データフィード／ソースについて１つのテーブルが存在する場合がある。ポートフォリオ値付けに関して、これらを、「Ｅｑｕｉｔｙ」および「Ｂｏｎｄ」と名付けることができ、商品先物取引に関して、それを「Ｃｏｍｍ」と名付けることができる。これらのテーブルは、トランザクションログされず、トランザクションリプリケートもされず、これらのテーブル内のデータの「形状（ｓｈａｐｅ）」は、そのデータソースが規定するいずれかのものである。
【００６０】
[00141]次の層に、「ＡｌｌＰｒｉｃｅｓ」と呼ぶことができるリプリケートされたテーブルが存在し、全てのソースからの価格データの正規化されたユニオンとして働くことができる。データを、正規化し、Ｃｏｍｍ、Ｅｑｕｉｔｙ、およびＢｏｎｄテーブルからＡｌｌＰｒｉｃｅｓに発行することができる。複数の実施形態において、この情報を、最大データレートを低減するために融合することができる。
【００６１】
[00142]アクションチェーンにおける第１のステップは、基礎にあるデータを解析し、関心のある値を抽出し、可変量にする。値の抽出を、射影表現として指定することができる。例えば、Ｅｑｕｉｔｙからのメッセージを処理するとき、ライン＜Ｖａｌｕｅ＞ｐｒｉｓｅ＝（／ｐｒｉｓｅ／ｗＢｉｄＰｒｉｃｅ＋／ｐｒｉｓｅ／ｗＡｓｋＰｒｉｃｅ）／２＜／Ｖａｌｕｅ＞は、／ｗＢｉｄＰｒｉｃｅおよび／ｗＡｓｋＰｒｉｃｅの平均を計算し、その結果を可変量｛｛ｐｒｉｃｅ｝｝に置く。
【００６２】
[00143]アクションの次のステップは、値付けデータのソースを示す「ｓｏｕｒｃｅ」フィールドと共に、｛｛ｓｙｍｂｏｌ｝｝および正規化された｛｛ｐｒｉｃｅ｝｝を含む新しいメッセージを発行することである。このメッセージを、ＡｌｌＰｒｉｃｅｓテーブルに発行することができ、ＪＳＯＮとしてフォーマットすることができる。
【００６３】
[00144]この時点で、到来する市場データは、正規化され、単一のＡｌｌＰｒｉｃｅｓテーブルに変換されている。コンフレーション（ｃｏｎｆｌａｔｉｏｎ）およびリプリケーション（ｒｅｐｌｉｃａｔｉｏｎ）が使用されて、ポートフォリオを値付けするために必要とされる証券価格の全てについての完全なビューをポートフォリオ値付けに与えながら、ポートフォリオ値付けインスタンスが扱わなければならないメッセージの全体量を最小にすることができる。
【００６４】
[00145]次に、ポートフォリオを、１証券について１ポートフォリオについて１列を有するテーブル「Ｐｏｒｔｆｏｌｉｏ」としてモデル化することができる。ポートフォリオ内の各メッセージは、ポートフォリオＩＤ、証券、およびそのポートフォリオ内のその証券の重みを有することができる。このテーブルは、本質的に関心のあるポートフォリオについての入力データであり、システムは、ポートフォリオのコンテンツが調整される、追加される、かつ／または、除去されるときに、ポートフォリオ価格を動的に再計算することができる。
【００６５】
[00146]この計算は、次の層、集約において行われる。この層を、２つのビューとしてモデル化することができる。第１のビューは、「ＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏ」と呼ばれるＰｏｒｔｆｏｌｉｏとＡｌｌＰｒｉｃｅｓとの結合体（ｊｏｉｎ）である。Ｐｏｒｔｆｏｌｉｏ内の全てのメッセージについてここで１つのメッセージが存在する場合があるが、Ｊｏｉｎによって、各証券についての現在価格を含むことができる。
【００６６】
[00147]トップのＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏは、ポートフォリオ価格を計算する第２のビュー「ＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏＡｇｇ」であることができる。これは、本質的に、ポートフォリオＩＤ、ポートフォリオ内の証券のカウント、およびポートフォリオ内の証券の／ｐｒｉｃｅ＊／ｗｅｉｇｈｔのＳＵＭを有する、１ポートフォリオについて１メッセージを含むビュー（を超える）に勝る疑似コードの変換である。
【００６７】
[00148]そのため、複数の実施形態において、システムは、ポートフォリオデータを（例えば、プッシュによって）受信し、その後、ＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏおよびＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏＡｇｇに対するクエリ／サブスクリプションを受信して、基礎になる市場データが変化するときに動的に更新されたポートフォリオ価格を確認することができる。
【００６８】
[00149]複数の実施形態において、各ポートフォリオの公式の１日の始まりの評価を、毎日のロードの一部としてＰｏｒｔｆｏｌｉｏＲｅｆテーブル内に提出することができる。これは、ＰｒｉｃｅｄＰｏｒｔｆｏｌｉｏＡｇｇビューが、現在の評価とＰｏｒｔｆｏｌｉｏＲｅｆテーブル内に提出される参照データを比較することによって、実現されていない１日の始まりの利得／損失の計算を含むことを可能にする。一実施形態において、１日の始まりのポートフォリオ評価からのパーセンテージ変化を計算することができる。
【００６９】
[00150]複数の実施形態において、警報エンジンは、人間識別可能な概念を基礎になるデータ構造にマッピングするＣＥＰエンジン内にサブスクリプションをセットアップすることができる。ＳＱＬ言語における算術表現および公式が使用されて、警報エンジンがイベントの通知をいつ受信すべきかを規定することができる。特定のサブスクリプションに関するデータが受信されると、警報エンジンは、そのデータを所望のアクション（例えば、電子メールまたはＳＮＳ等のメッセージを送信すること、アドバイザのユーザインターフェース上でウィンドウをポップアップすること等）に戻すようにマッピングすることになり、そのアクションを実行することができる。警報エンジンを、アクティブな警報として留まるように、または、サブスクリプションを削除することによってそれ自身をディセーブルするように更に構成することができる。
【００７０】
[00151]警報の非制限的な例は、金額または金額パーセンテージを超える／を下回るポートフォリオ利得／損失、特定の閾値を超える特定の所有財産の値等を含む。
[00152]複数のクライアントを代表するアドバイザは、そのクライアントの所有財産の全体論的ビューについて関心のある複数のポートフォリオをカバーする警報を維持することができる。
【００７１】
[00153]組織レベルで、全ての所有財産は、ＣＥＰエンジンにおいて全体論的に分析されて、ヘッジング、クロスアカウント貸株、リスク管理等を容易にすることができる。
[00154]一実施形態において、キャッシュを、米国ドル等の基礎になる通貨のユニット数としてポートフォリオにおいて表すことができる。通貨についての市場データは、（ドル建て口座用の米国ドルについて等で）スタティックである、または、現在の為替相場を表すことができる。
【００７２】
[00155]別の実施形態において、同様の機構を、ポートフォリオ変化の仮説的モデリングのために使用することができる。別個のＣＥＰエンジンまたはサイドテーブルが使用されて、ポートフォリオの仮説的コンテンツの最終表現を記憶することができ、一方、同じ集約機構が、ポートフォリオを値付けするために使用され得る。
【００７３】
[00156]一実施形態において、ＣＥＰエンジン内の別個のテーブルは、顧客がリスクを管理するのを助ける動的リスクモデルを構築するために使用することができる株式・セクター関係を記憶することができる。複数のリスクモデルを、異なるリスクアペタイト（ｒｉｓｋ  ａｐｐｅｔｉｔｅ）を容易にするために規定することができる。
【００７４】
[00157]一実施形態において、別個のサブスクリプションを、集約されたビューを含むテーブル上でセットアップすることができ、その後、抽出し、データベースに保存することができる。この履歴記録を、監査証跡として、または、顧客およびアドバイザに対する自動化投資助言を生成する機械学習システムを訓練するために使用することができる。
【００７５】
[00158]一実施形態において、ＣＥＰエンジンを、リアルタイムマージン管理のために使用することができる。その理由は、ＣＥＰエンジンが、ポートフォリオロットならびに金融商品の可用性の現在の評価ステータスを知っているからである。
【００７６】
[00159]幾つかの実施形態が開示されたが、これらの実施形態が互いに排他的でないことが認識されるべきである。
[00160]以降で、本発明のシステムおよび方法の実装態様の一般的な態様が述べられる。
【００７７】
[00161]本発明のシステムまたは本発明のシステムの所定の部分は、例えば、汎用コンピュータ等の「処理機械（ｐｒｏｃｅｓｓｉｎｇ  ｍａｃｈｉｎｅ）」の形態であってもよい。本明細書で使用するとき、用語「処理機械」は、少なくとも１つのメモリを使用する少なくとも１つのプロセッサを含むと理解される。少なくとも１つのメモリは命令のセットを記憶する。命令を、処理機械の１つまたは複数のメモリに永久的にまたは一時的に記憶することができる。プロセッサは、データを処理するために１つまたは複数のメモリに記憶される命令を実行する。命令のセットは、上述したタスク等の特定の１つまたは複数のタスクを実施する種々の命令を含むことができる。特定のタスクを実施するためのこうした命令のセットを、プログラム、ソフトウェアプログラム、または単にソフトウェアと特徴付けることができる。
【００７８】
[00162]一実施形態において、処理機械は専用化プロセッサであってもよい。
[00163]上記で述べたように、処理機械は、データを処理するために１つまたは複数のメモリに記憶される命令を実行する。データのこの処理は、例えば、処理機械の１人または複数人のユーザによるコマンドに応答する、前の処理に応答する、別の処理機械による要求および／または任意の他の入力に応答することができる。
【００７９】
[00164]上記で述べたように、本発明を実装するために使用される処理機械は汎用コンピュータであってもよい。しかしながら、上述した処理機械は、いろいろな他の技術のうちの任意の技術を同様に利用することができる。いろいろな他の技術は、専用コンピュータ、例えばマイクロコンピュータ、ミニコンピュータ、またはメインフレームを含むコンピュータシステム、プログラム式マイクロプロセッサ、マイクロコントローラー、周辺集積回路要素、ＣＳＩＣ（Ｃｕｓｔｏｍｅｒ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、特定顧客向け集積回路）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、特定用途向け集積回路）または他の集積回路、ロジック回路、デジタル信号プロセッサ、ＦＰＧＡ、ＰＬＤ、ＰＬＡ、またはＰＡＬ等のプログラマブルロジックデバイス、あるいは、本発明のプロセスのステップを実装することが可能である任意の他のデバイスまたはデバイスの配置構成を含む。
【００８０】
[00165]本発明を実装するために使用される処理機械は、適したオペレーティングシステムを利用することができる。そのため、本発明の実施形態は、ｉＯＳオペレーティングシステム、ＯＳ  Ｘオペレーティングシステム、Ａｎｄｒｏｉｄオペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（商標）オペレーティングシステム、Ｕｎｉｘオペレーティングシステム、Ｌｉｎｕｘ（登録商標）オペレーティングシステム、Ｘｅｎｉｘオペレーティングシステム、ＩＢＭ  ＡＩＸ（商標）オペレーティングシステム、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  ＵＸ（商標）オペレーティングシステム、Ｎｏｖｅｌｌ  Ｎｅｔｗａｒｅ（商標）オペレーティングシステム、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ  Ｓｏｌａｒｉｓ（商標）オペレーティングシステム、ＯＳ／２（商標）オペレーティングシステム、ＢｅＯＳオペレーティングシステム、Ｍａｃｉｎｔｏｓｈオペレーティングシステム、Ａｐａｃｈｅオペレーティングシステム、ＯｐｅｎＳｔｅｐ（商標）オペレーティングシステム、あるいは別のオペレーティングシステムまたはプラットフォームを実行する処理機械を含むことができる。
【００８１】
[00166]上述した本発明の方法を実施するために、処理機械のプロセッサおよび／またはメモリが同じ地理的場所に物理的に位置することは必要でないことが認識される。すなわち、処理機械によって使用されるプロセッサおよびメモリのそれぞれを、地理的に別個のロケーションに位置付け、任意の適した方法で通信するために接続することができる。さらに、プロセッサおよび／またはメモリのそれぞれを、機器の異なる物理的ピースで構成することができることが認識される。したがって、プロセッサが１つのロケーションにおいて機器の１つの単一ピースであること、および、メモリが別のロケーションにおいて機器の別の単一ピースであることは必要でない。すなわち、プロセッサが２つの異なる物理的ロケーションにおいて機器の２つのピースであることができることが企図される。機器の２つの別個のピースを任意の適した方法で接続することができる。さらに、メモリは、２つ以上の物理的ロケーションにおいてメモリの２つ以上の部分を含むことができる。
【００８２】
[00167]更に説明すると、処理は、上述したように、種々のコンポーネントおよび種々のメモリによって実施される。しかしながら、上述したように２つの別個のコンポーネントによって実施される処理を、本発明の更なる実施形態によれば、単一コンポーネントによって実施することができることが認識される。さらに、上述したように１つの別個のコンポーネントによって実施される処理を、２つの別個のコンポーネントによって実施することができる。同様に、上述したように２つの別個のメモリ部分によって実施されるメモリ記憶を、本発明の更なる実施形態によれば、単一メモリ部分によって実施することができる。さらに、上述したように１つの別個のメモリ部分によって実施されるメモリ記憶を２つのメモリ部分によって実施することができる。
【００８３】
[00168]さらに、種々の技術を、例えば、種々のプロセッサおよび／またはメモリの間の通信を提供するために、ならびに、本発明のプロセッサおよび／またはメモリが任意の他のエンティティと通信することを可能にするために、すなわち、更なる命令を得るためにまたはリモートメモリストアにアクセスしそれを使用するために使用することができる。こうした通信を提供するために使用されるこうした技術は、例えば、ネットワーク、インターネット、イントラネット、エクストラネット、ＬＡＮ、イーサネット（登録商標）、セルタワーまたは衛星を介した無線通信、または通信を提供する任意のクライアントサーバシステムを含む場合がある。こうした通信技術は、例えば、ＴＣＰ／ＩＰ、ＵＤＰ、またはＯＳＩ等の任意の適したプロトコルを使用することができる。
【００８４】
[00169]上述したように、命令のセットを、本発明の処理において使用することができる。命令のセットは、プログラムまたはソフトウェアの形態であってもよい。ソフトウェアは、例えば、システムソフトウェアまたはアプリケーションソフトウェアの形態であってもよい。ソフトウェアは、同様に、例えば、別個のプログラムの集合体、より大きいプログラム内のプログラムモジュール、またはプログラムモジュールの一部分の形態である場合がある。使用されるソフトウェアは、オブジェクト指向プログラミングの形態のモジュール式プログラミングを同様に含む場合がある。ソフトウェアは、処理されるデータをどうしたらよいかを処理機械に伝える。
【００８５】
[00170]さらに、本発明の実装および運用において使用される命令または命令のセットが、処理機械が命令を読取ることができるように適した形態であることが認識される。例えば、プログラムを形成する命令は、機械語またはオブジェクトコードに変換されて、１つまたは複数のプロセッサが命令を読取ることを可能にする、適したプログラミング言語の形態であることができる。すなわち、特定のプログラミング言語におけるプログラミングコードまたはソースコードの書かれたラインは、コンパイラー、アセンブラー、またはインタープリターを使用して機械語に変換される。機械語は、例えば、特定のタイプの処理機械、すなわち、特定のタイプのコンピュータに特有である２値符号化機械命令である。コンピュータは機械語を理解する。
【００８６】
[00171]任意の適したプログラミング言語を、本発明の種々の実施形態に従って使用することができる。例証的に、使用されるプログラミング言語は、例えば、アセンブリ言語、Ａｄａ、ＡＰＬ、Ｂａｓｉｃ、Ｃ、Ｃ＋＋、ＣＯＢＯＬ、ｄＢａｓｅ、Ｆｏｒｔｈ、Ｆｏｒｔｒａｎ、Ｊａｖａ（登録商標）、Ｍｏｄｕｌａ−２、Ｐａｓｃａｌ、Ｐｒｏｌｏｇ、ＲＥＸＸ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、および／またはＪａｖａＳｃｒｉｐｔ（登録商標）を含むことができる。さらに、単一タイプの命令または単一プログラミング言語が本発明のシステムおよび方法の運用に関連して利用されることは必要でない。むしろ、任意の数の異なるプログラミング言語を、必要に応じておよび／または所望に応じて利用することができる。
【００８７】
[00172]同様に、本発明の実施において使用される命令および／またはデータは、所望されるように、任意の圧縮または暗号化技法またはアルゴリズムを利用することができる。暗号化モジュールは、データを暗号化するために使用される場合がある。さらに、ファイルまたは他のデータを、例えば、適した復号モジュールを使用して復号することができる。
【００８８】
[00173]上述したように、本発明を、例えば、少なくとも１つのメモリを含むコンピュータまたはコンピュータシステムを含む処理機械の形態で例証的に具現化することができる。例えば、コンピュータオペレーティングシステムが上述した運用を実施することを可能にする命令のセット、すなわちソフトウェアを、所望に応じて、いろいろな１つまたは複数の媒体のうちの任意の媒体上に含むことができることが認識される。さらに、命令のセットによって処理されるデータは、いろいろな１つまたは複数の媒体のうちの任意の媒体上に同様に含まれる場合がある。すなわち、本発明で使用される命令のセットおよび／またはデータを保持するために利用される処理機械内の特定の媒体、すなわちメモリは、例えば、種々の物理的形態または伝送媒体のうちの任意のものをとることができる。例証的に、媒体は、紙、透明紙、コンパクトディスク、ＤＶＤ、集積回路、ハードディスク、フロッピーディスク、光ディスク、磁気テープ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ワイヤ、ケーブル、ファイバ、通信チャネル、衛星伝送媒体、メモリカード、ＳＩＭカード、または他の遠隔伝送媒体、ならびに、本発明のプロセッサが読取ることができる任意の他のデータの媒体またはソースの形態であることができる。
【００８９】
[00174]さらに、本発明を実装する処理機械で使用される１つまたは複数のメモリは、メモリが所望に応じて命令、データ、または他の情報を保持することを可能にするいろいろな形態のうちの任意の形態であることができる。そのため、メモリは、データを保持するデータベースの形態であってもよい。データベースは、例えば、フラットファイル配置構成またはリレーショナルデータベース配置構成等の任意の所望のファイルの配置構成を使用する場合がある。
【００９０】
[00175]本発明のシステムおよび方法において、種々の「ユーザインターフェース（ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）」を、本発明を実装するために使用される１つまたは複数の処理機械にユーザがインターフェースすることを可能にするために利用することができる。本明細書で使用するとき、ユーザインターフェースは、ユーザが処理機械と相互作用することを可能にする、処理機械によって使用される、任意のハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含む。ユーザインターフェースは、例えば、ダイアログスクリーンの形態であってもよい。ユーザインターフェースは、マウス、タッチスクリーン、キーボード、キーパッド、音声リーダ、音声認識器、ダイアログスクリーン、メニューボックス、リスト、チェックボックス、トグルスイッチ、プッシュボタン、または、任意の他のデバイスであって、任意の他のデバイスが命令のセットを処理するおよび／または処理機械に情報を提供するときに、処理機械の運用に関する情報をユーザが受信することを可能にする、任意の他のデバイスのうちの任意のものを同様に含むことができる。したがって、ユーザインターフェースは、ユーザと処理機械との間の通信を提供する任意のデバイスである。ユーザインターフェースを通してユーザによって処理機械に提供される情報は、例えば、コマンド、データの選択、または何らかの他の入力の形態であってもよい。
【００９１】
[00176]上記で論じたように、ユーザインターフェースは、命令のセットを実施する処理機械によって利用され、それにより、処理機械はユーザのためにデータを処理する。ユーザインターフェースは、通常、ユーザと相互作用して、情報を伝達するまたはユーザから情報を受信するために処理機械によって使用される。しかしながら、本発明のシステムおよび方法の幾つかの実施形態によれば、人間ユーザが本発明の処理機械によって使用されるユーザインターフェースと実際に相互作用することが必要ないことが認識されるべきである。むしろ、本発明のユーザインターフェースが、人間ユーザではなく、別の処理機械と、相互作用する、すなわち情報を伝達し情報を受信する場合があることが同様に企図される。したがって、他の処理機械は、ユーザと特徴付けられる場合がある。さらに、本発明のシステムおよび方法で利用されるユーザインターフェースが、人間ユーザと部分的に同様に相互作用しながら、別の１つまたは複数の処理機械と部分的に相互作用することができることが企図される。
【００９２】
[00177]本発明が幅広い実用性および用途を受入れることが当業者によって容易に理解されるであろう。本明細書で述べた以外の本発明の多くの実施形態および適応形態ならびに多くの変形形態、修正形態、および等価形態は、本発明の実質または範囲から逸脱することなく、本発明および本発明の上記説明から明らかになるであろう、または、それによって合理的に示唆されるであろう。
【００９３】
[00178]したがって、本発明はその例示的な実施形態に関連してここで詳細に述べられたが、本開示が、本発明の例証かつ例示に過ぎず、本発明の実施可能な程度の開示を提供するために行われることが理解される。したがって、上記開示は、本発明を制限する、またはそうでなければ、任意の他のこうした実施形態、適応形態、変形形態、修正形態、または等価形態を排除すると解釈されることを意図されない。
【図１】
2020504867.tif 000003
【図２】
2020504867.tif 000004
【図３】
2020504867.tif 000005
【図４】
2020504867.tif 000006
【国際調査報告】
2020504867.tif 000007