(57)【要約】  属性エンジンは、１つ以上の規則の１つ以上の対象属性を設定するために、入ってくるデータを１つ以上のマッチング属性と照合する。各規則は、規則型及びマッチセットによって特徴付けられる。テンプレートは、各規則型及び対象属性のために定義される。対象属性に関連するテンプレートは、それらのマッチセットに従って並び替えられるとともに、１つ以上の規則抑制原理によって抑制されてもよい。サポート人員が擬似コードセグメントを直接編集する代わりに表形式で規則を編集することを可能にする規則エディタが提供される。
2008544368.tif 000002
【特許請求の範囲】
【請求項１】
各行が規則型及び少なくとも１つの対象属性によって特徴付けられる規則を表す規則テーブルと、
入力データを受信し、所定の命令に従って前記規則テーブル中の１つ以上の規則を検査し、かつ前記入力データにマッチする前記規則テーブル中の１つ以上の規則を表す最終結果集合を出力するように構成された属性エンジンと、
を具備し、
前記所定の命令は、前記少なくとも１つの対象属性及び前記規則型に従って決定されることを特徴とするシステム。
【請求項２】
ユーザからの指示を受信し、かつマッチング属性に対応する列を前記規則テーブルへ挿入するように構成される規則エディタをさらに具備することを特徴とする請求項１に記載のシステム。
【請求項３】
ユーザからの指示を受信し、かつ新しい規則に対応する行を前記規則テーブルへ挿入するように構成される規則エディタをさらに具備することを特徴とする請求項１に記載のシステム。
【請求項４】
前記所定の命令が、リテラルマッチセットに従ってさらに決定されることを特徴とする請求項１に記載のシステム。
【請求項５】
請求項１のシステムを組み入れたことを特徴とする自動処理システム。
【請求項６】
対象属性及び少なくとも１つの入力キー／バリューの組を受信する段階と、
前記対象属性に関連する１つ以上のテンプレートを読み出す段階と、
前記１つ以上のテンプレートのマッチセットに従って前記１つ以上のテンプレートを並べ替える段階と、
前記少なくとも１つの入力キー／バリューの組を前記１つ以上のテンプレートのマッチセットと照合する段階と、
１つ以上の抑制されていないマッチング規則に従って決定された値を前記対象属性に割り当てる段階と
を有することを特徴とする方法。
【請求項７】
代替テンプレートからの規則が前記少なくとも１つの入力キー／バリューの組にマッチする場合に、テンプレートを抑制する段階をさらに有する請求項６に記載の方法。
【請求項８】
前記少なくとも１つの入力キー／バリューの組が前記１つ以上のテンプレートのマッチセットにマッチする場合に、該マッチセットを抑制する段階をさらに有することを特徴とする請求項６に記載の方法。
【請求項９】
前記少なくとも１つの入力キー／バリューの組にマッチする少なくとも１つの抑制されていない規則を具備する最終規則集合を返す段階をさらに有することを特徴とする請求項６に記載の方法。
【請求項１０】
マッチング属性を表す少なくとも１つの列と、
前記対象属性を表す少なくとも１つの列と、
規則を表す少なくとも１つの行と
を具備する規則テーブルを表示する段階をさらに有することを特徴とする請求項６に記載の方法。
【請求項１１】
新しい規則を表す新しい行を前記規則テーブルへ挿入する段階をさらに有することを特徴とする請求項１０に記載の方法。
【請求項１２】
新しいマッチング属性を表す新しい列を前記規則テーブルへ挿入する段階をさらに有することを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力メッセージに基づいて、メッセージを効率良く経路選択及び修正するためのシステム及び方法に関する。より詳細には、発明は、販売及び取引の経路選択を決定するビジネス規則を適用及び更新するための効率的なシステム及び方法に関する。
【０００２】
この明細書は、２００５年６月１４日に出願された米国仮特許出願第６０／６９０６５９号の優先権を主張し、かつその全体を引用により組み込む。
【背景技術】
【０００３】
最大限に自動化された処理システムの心臓部は、入力された属性の集合に基づいて処理を制御する規則エンジンである。自動処理システムの例としては、２００１年８月２１日にＫｏｒｈａｍｍｅｒらに特許された特許文献１、または２００３年２月１１日にＷｉｌｔｏｎらに特許された特許文献２に開示されているような、自動証券取引システムがあり、双方とも引用によって本願明細書に組み入れられる。
【特許文献１】米国特許第６２７８９８２号明細書
【特許文献２】米国特許第６５１９５７４号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
実例として自動証券取引システムを挙げると、顧客は、サーバ側プログラムを実行するブローカー／ディーラーサーバと通信を行う顧客のコンピュータ上で、クライアントプログラムを動作させる。クライアントプログラムは、例えばＦＩＸ（Financial Information eXchange）プロトコルのような所定のプロトコルに従って、情報をサーバへ送信する。情報は、キーが属性を識別し、かつバリューがその属性に対応する値である場合に、キー／バリューの組として書式設定される。属性の組の例は、「ｃｌｉｅｎｔ」がキー、すなわち属性であり、かつ「ｆｅｌｉｘ」がバリューである場合に、「ｃｌｉｅｎｔ＝ｆｅｌｉｘ」である。入ってくる属性の組は、サーバ側プログラムによって受信されるとともに、他の属性を設定するため、またはサーバ側プログラムが規則の使用を介してセッションをどのように処理するかを制御するために使用されてもよい。例えば、自動処理システムは、ＩＦ ｃｌｉｅｎｔ ＝ ｆｅｌｉｘ ＴＨＥＮ ＭａｘＯｒｄｅｒＳｉｚｅ ＝ １０，０００と宣言する規則を含んでよい。別の規則は、ＩＦ ｃｌｉｅｎｔ ＝ ｅｒｎｉｅ ＴＨＥＮ ＭａｘＯｒｄｅｒＳｉｚｅ ＝ ２０，０００と宣言してもよい。これらの例において、「ｃｌｉｅｎｔ」は入力属性と見なされ、かつ「ＭａｘＯｒｄｅｒＳｉｚｅ」は対象属性と見なされる。
【０００５】
各規則によって、自動処理システムは、顧客の注文のカスタマイズされた処理を提供できる。しかしながら、顧客の数が増加するにつれて、規則の数も増加して、規則エンジンによるシステム中の各規則の検証が、処理時間のかなりの部分を占めるようになる。
【０００６】
例えば、ＩＬＯＧ社（ILOG, Inc. of Mountain View, California）のＩＬＯＧ Ｒｕｌｅｓなどの、入手可能な予めパッケージ化された一般的な規則エンジンは、自動処理システムのために完成された規則エンジンモジュールを提供することによって、開発コストを削減可能である。しかしながら、予めパッケージ化された規則エンジンは、パフォーマンスと引き換えに適用範囲を手に入れている。さらに、予めパッケージ化された規則エンジンでは、規則の追加／編集、及びそれらの相互作用の閲覧が困難となる。
【課題を解決するための手段】
【０００７】
属性エンジンは、１つ以上の規則の１つ以上の対象属性を設定するために、入ってくるデータを１つ以上のマッチング属性と照合する。各規則は、規則型及びマッチセットによって特徴付けられる。テンプレートは、各規則型及び対象属性のために定義される。対象属性に関連するテンプレートは、それらのマッチセットに従って並べ替えられるとともに、１つ以上の規則抑制原理によって抑制されてもよい。サポート人員が擬似コードセグメントを直接編集する代わりに表形式で規則を編集することを可能にする規則エディタが提供される。
【０００８】
本発明の一実施形態は、各行が規則型によって特徴づけられた規則を表すとともに、少なくとも１つのマッチング属性及び少なくとも１つの対象属性を有する規則テーブルと、入力データを受信し、所定の命令に従って規則テーブル中の規則を検査し、かつ入力データにマッチする規則テーブル中の１つ以上の規則を表す最終結果集合を出力するように構成された属性エンジンと、を具備し、所定の命令は、少なくとも１つの対象属性及び規則型によって決定されることを特徴とするシステムを対象とする。
【０００９】
本発明の別の実施形態は、対象属性及び少なくとも１つの入力キー／バリューの組を受信する段階と、対象属性に関連する１つ以上のテンプレートを読み出す段階と、１つ以上のテンプレートのマッチセットに従って１つ以上のテンプレートを並べ替える段階と、少なくとも１つの入力キー／バリューの組を１つ以上のテンプレートのマッチセットと照合する段階と、１つ以上のテンプレートのマッチしたマッチセットによって決定された値を対象属性に割り当てる段階と、を具備することを特徴とする方法を対象とする。
【発明を実施するための最良の形態】
【００１０】
本発明は、図面と併せて、好適な実施形態及び変形例を参照して記載される。
【００１１】
明細書中の記載は、本発明の好適な一実施形態のみを記載するためにある。当業者は、例えば、記載された実施形態が自動処理システム中の規則を検索し適用する新しいシステム及び方法の簡略化された一実施例にすぎないということを認識する。簡略化された実施例は、発明が具備する、より一般的なシステム及び方法を使用可能にするために、詳細に記載する必要のある内容の全てである。
【００１２】
本発明の実施形態の記載は、規則テーブルの実施例である表１を参照する。
【００１３】
【表１】
2008544368.tif 000003
【００１４】
表１において、「Ｒｕｌｅ ＃」及び「Ｔｍｐｌ．」と名付けられた列は、本発明の実施形態の説明を助けるために付加されているのであって、規則テーブルの一部ではない。「ＭＡ１」、「ＭＡ２」、及び「ＭＡ３」と名付けられた列はマッチング属性を表し、かつ「ＴＡ１」と名付けられた列は対象属性を表す。表１の各行は規則を表す。規則が空白でないセルを有するマッチング属性の集合は、まとめて規則のマッチセットと呼ばれる。マッチング属性の値は、規則が入ってくるデータに対してどのようにマッチするかを規定する。もし規則の全てのマッチング判定基準を満たすならば、リストアップされた値は、以下に記載された規則抑制原理に従って、対象属性に割り当てられる。表１は１つの対象属性しか示していないが、本発明の実施形態では、任意の数の対象属性が使用されてよい。同様に、表１は３つのマッチング属性を示すが、本発明の実施形態は、ある特定の数のマッチング属性に限定されない。
【００１５】
表１の各行は規則を表し、かつ表１の各セルは値を表す。表１の空のセルは、対応するマッチング属性が規則中で使用されないことを意味する。言い換えれば、規則は、この属性の存在または値を問題としないということである。フォワードスラッシュ（／）で始まる値を含むセルは、リテラル値の代わりにＪａｖａ（登録商標）正規表現パターンであることを示す。パターン判定基準は、任意のＪａｖａ（登録商標）正規表現、または、例えば、「＞ １０００」または「＞ １０００ ＆ ＜＝ ２０００」のような数値比較であってもよい。もし入力データが正規表現または数値比較にマッチするならば、そのマッチはパターンマッチと見なされる。
【００１６】
データが入ってきた時に規則がマッチすることは、好適にはキー／バリューの組の形式において、その規則に対応する値にマッチすることである。表１を例にとれば、入ってくるデータが「ＭＡ２ ＝ ＦＥＬＩＸ」及び「ＭＡ３ ＝ ＳＣＯＯＴＥＲ」を含む場合、規則４、５、及び６が入ってくるデータにマッチする。規則４は、入ってくるデータがマッチング属性ＭＡ２に対する値「ＦＥＬＩＸ」にリテラルマッチするので、マッチする。規則５は、入ってくるデータがマッチング属性ＭＡ２に対する値「ＦＥＬＩＸ」、及びマッチング属性ＭＡ３に対する値「ＳＣＯＯＴＥＲ」にリテラルマッチするので、マッチする。規則６は、入ってくるデータがマッチング属性ＭＡ２に対する値「ＦＥＬＩＸ」にリテラルマッチするとともに、マッチング属性ＭＡ３に対するパターンＳＣＯ．＊にパターンマッチするので、マッチする。
【００１７】
規則抑制原理の集合は、マッチした規則の数を減らすために適用されてよい。好適な実施形態において、第１規則抑制原理は、もし規則Ａのマッチセットが規則Ｂのマッチセットの狭義の拡張集合であるならば、規則Ａは規則Ｂを抑制するということの宣言に使用される。規則のマッチセットは、規則がそこにマッチするマッチング属性の集合である。表１を例にとれば、規則２のマッチセットは｛ＭＡ１｝であり、かつ規則５のマッチセットは｛ＭＡ２，ＭＡ３｝である。言い換えれば、第１規則抑制原理は、もし、規則Ａが、規則Ｂのマッチング判定基準以上に起因してマッチするために、より制限的な狭義のマッチング判定基準を有するならば、両方の規則がマッチする場合、規則Ａが規則Ｂを越えて選択されることを宣言する。表１を例にとれば、規則５のマッチセット｛ＭＡ２，ＭＡ３｝が規則４のマッチセット｛ＭＡ２｝の狭義の拡張集合であるので、両方の規則が適する場合、規則５は規則４を抑制する。入ってくるデータが「ＭＡ２ ＝ ＦＥＬＩＸ」及び「ＭＡ３ ＝ ＳＣＯＯＴＥＲ」を含む場合、どちらも入ってくるデータにマッチするので、規則５は規則４を抑制する。しかしながら、入ってくるデータが「ＭＡ２ ＝ ＦＥＬＩＸ」を含むが「ＭＡ３ ＝ ＳＣＯＯＴＥＲ」を含まない場合、規則４は入ってくるデータにマッチするが、規則５は入ってくるデータにマッチしないので、規則５は規則４を抑制しない。
【００１８】
第２規則抑制原理は、規則Ａ及び規則Ｂの双方が同一のマッチセットを有し、規則Ｂが規則Ａより明確な判定基準でマッチせず、かつ規則Ａが規則Ｂより明確な判定基準でマッチする少なくとも１つのマッチング属性が存在する場合に、規則Ａが規則Ｂを抑制するということを宣言するために使用される。第２規則抑制原理が適用される場合、リテラルマッチは、パターンマッチより明確な判定基準である。例として表１を参照すると、規則５及び規則６の双方が同一のマッチセット｛ＭＡ２，ＭＡ３｝を有し、規則６が規則５より明確な判定基準でマッチせず、かつ規則５がリテラルマッチするとともに、規則６がパターンマッチする少なくとも１つのマッチング属性ＭＡ３が存在するので、第２規則抑制原理を適用することによって、規則６は規則５によって抑制される。
【００１９】
規則の最終集合は、第１及び第２規則抑制原理の適用後に抑制されなかった残りのマッチング規則の集合である。最終集合が単独の規則を含む場合、その規則は対象属性に割り当てられる。
【００２０】
先の記載の通り、規則テーブルは、個々に検証されるべき無数の規則を含んでもよく、それによって処理時間が増加する。規則テーブルの処理時間は、規則型の使用によって著しく減少する。規則型は、マッチングのための判定基準を備える規則マッチセットである。例として表１を参照すると、規則６の型は、「Ｌ」がリテラルマッチを示し、かつ「Ｐ」がパターンマッチを示す場合に、｛ＭＡ２ ＝ Ｌ，ＭＡ３ ＝ Ｐ｝と記載できる。
【００２１】
各規則型は、その規則型のための情報を含む対応するテンプレート（Ｔｍｐｌ）を有する。各対象属性は、その対象属性に割り当てられた全ての規則の異なる規則型を表すＴｍｐｌオブジェクトリストを有する。以下の表２は、表１に示された規則のためのテンプレートを一覧表にしたものである。
【００２２】
【表２】
2008544368.tif 000004
【００２３】
表２には、表１においてリスト化された規則に対する、ＴＡ１に関連する６つのテンプレートがリスト化されている。各テンプレートに対し、表２は、規則型（rule shape）、マッチ集合（match set）、リテラルマッチ集合（literal match set）、抑制のためのテンプレート（templates to suppress）、抑制のためのマッチ集合（match set to suppress）、及びテンプレートに関連する規則（rules）を示す。リテラルマッチ集合は、リテラルマッチ状態にあるマッチング属性を示す。リテラルマッチ集合は、対応するマッチ集合の部分集合である。表２において、テンプレート４、５、及び６は、同一のマッチ集合｛ＭＡ１，ＭＡ２｝を有するが、異なるリテラルマッチ集合を有する。
【００２４】
「Ｔｍｐｌｓ． ｔｏ Ｓｕｐｐｒｅｓｓ」と名付けられた列は、入力データが現在のテンプレート中の規則にマッチする場合に抑制される同一のマッチ集合を備えるテンプレート集合を示す。表２例にとると、もし、テンプレート５に対応する入力データが規則６にマッチするならば、テンプレート６は抑制される。言い換えれば、入力データが規則６にマッチする場合、規則８がテンプレート５によって抑制されるテンプレート６に属するので、規則エンジンは規則８を省略できる。同様に、入力データが規則５にマッチする場合、属性エンジンは、テンプレート５及び６、並びにテンプレート５及び６に関連する規則を省略できる。
【００２５】
「Ｍａｔｃｈ Ｓｅｔ ｔｏ Ｓｕｐｐｒｅｓｓ」と名付けられた列は、入力データが現在のテンプレート中の規則にマッチする場合に抑制されるマッチ集合の集合を示す。表２を例にとると、テンプレート４に対するマッチ集合は｛ＭＡ２，ＭＡ３｝であって、入力データがテンプレート４に属する規則にマッチする場合に、マッチ集合｛ＭＡ２｝及び｛｝を抑制する。マッチ集合｛ＭＡ２｝はテンプレート３を含み、かつマッチ集合｛｝はテンプレート１を含む。従って、属性エンジンは、入力データがテンプレート４中の規則にマッチする場合に、テンプレート１及び３を含むマッチセットを省略してよい。
【００２６】
各テンプレートオブジェクトは、テンプレートに属する規則が入力データにマッチする場合に抑制される同一のマッチ集合内のテンプレートを示す単位集合を含む。また、テンプレートオブジェクトは、現在のマッチ集合内の全てのテンプレートが訪問または抑制され次第、次のマッチ集合の第１テンプレートへすみやかに飛ぶために使用可能な、次のマッチ集合中の第１テンプレートオブジェクトへのポインタを含む。また、テンプレートオブジェクトは、テンプレートに関連する規則型に関する情報を含む。
【００２７】
図１は、本発明の一実施形態の動作を示すフロー図である。ステップ１１０で、属性エンジンは、例えば、自動取引処理システムのような制御プログラムから、対象属性及び例外フラグを受信する。ステップ１２０で、属性エンジンは、ステップ１１０で受信した対象属性に関連するテンプレートを読み出す。読み出されたテンプレートは、属性エンジンによって並べ替えられる。好適な実施形態において、読み出されたテンプレートは、まずテンプレートのマッチ集合のサイズ、次に同一のマッチ集合を備えるテンプレートが相互にグループ化されるようなマッチ集合、その次にテンプレート中のリテラルマッチの数、という順で並び替えられる。表２に示された例を用いると、表２のテンプレートの並べ替え順序は、４−５−６−２−３−１である。例において、テンプレート４、５、及び６が、テンプレート２、３、及び１のマッチ集合より多くのマッチ集合を有するので、テンプレート２、３、及び１の前にテンプレート４、５、及び６が並び替えられる。テンプレート５及び６が１つのリテラルマッチしか有しないのに対し、テンプレート４は２つのリテラルマッチを有するので、テンプレート４は、テンプレート５及び６の前に順序付けられる。
【００２８】
属性エンジンは、ステップ１３０で、制御プログラムから入力データを受信する。属性エンジンは、ステップ１４０で、並び替えられたテンプレートリスト内を検索するとともに、入力データにマッチする全ての規則を保存する。属性エンジンが全ての抑制されていないテンプレートを検索し終えた後、属性エンジンは、ステップ１５０で、単独のマッチング規則の有無を確認する。単独のマッチング規則が存在する場合、属性エンジンは、ステップ１５５で、単独のマッチング規則の対象属性に対応する値に、対象属性を設定する。いくつかの実施形態においては、２つ以上のマッチング規則が存在する場合に、属性エンジンは、ステップ１６０で、例外フラグｘＦｌａｇが設定されているか検証する。例外フラグが設定されている場合、属性エンジンは、ステップ１７０で、制御プログラムに例外を発する。例外フラグが設定されていない場合、属性エンジンは、ステップ１６５で、制御プログラムに全てのマッチング規則を返す。
【００２９】
図２は、図１に示された実施形態に対しての検索動作を示すフロー図である。属性エンジンは、対象属性に関連するテンプレートの読み出し及び並べ替えを終えた後、２０５から検索を開始する。属性エンジンは、ステップ２１０で、並べ替えられたテンプレートリストから、並び替えられたリストの第１テンプレートから始め、テンプレートを読み出す。
【００３０】
ステップ２２０で、現在のテンプレートのマッチ集合が抑制されているか否かの判断がなされる。マッチ集合が抑制されている場合、属性エンジンは、そのマッチ集合を省略するとともに、次のマッチ集合の第１テンプレートを読み出す。マッチ集合が抑制されていない場合、ステップ２３０で、現在のテンプレートが抑制されているか否かの判断がなされる。現在のテンプレートが抑制されている場合、現在のテンプレートは省略され、かつ並べ替えられたテンプレートリスト中の次のテンプレートが読み出される。並べ替えられたリスト中にテンプレートが残っていない場合、属性エンジンは、ステップ２７５へ飛ぶ。
【００３１】
ステップ２４０で、現在のテンプレートに対する規則検索が失敗したかどうかの判断がなされる。検索が失敗の場合、現在のテンプレートは省略され、かつ並び替えられたテンプレートリスト中の次のテンプレートが読み出される。ステップ２４０で、現在のテンプレートのための複合キーが、現在のテンプレートのリテラルマッチ集合中の各属性名と、入力データからの対応する値とを連結することによって生成される。
【００３２】
複合キーは、コモンハッシュテーブルから規則リストを読み出すために使用される。ハッシュテーブルは、コモンハッシュキーから規則オブジェクト配列へマッピングを行う。配列は、対象属性を一意に識別する小さな整数である対象属性インデックスによって、索引が付けられる。発明者は、異なる対象属性に頻繁に割り当てられる規則が、同一のマッチング判定基準を共有することを発見した。例えば、「ＭＡ２ ＝ ＦＥＬＩＸ」にマッチする多数の規則があっても、自動処理アプリケーション中の異なる対象属性に割り当てられる。好適には、ハッシュテーブルは、「とりわけ」重複したマッチング判定基準を排除するために、全ての対象属性間で共有される。
【００３３】
本発明のいくつかの実施形態において、ハッシュテーブルは、そのリテラルマッチング判定基準が入力データにマッチするとともに、現在のテンプレートに関連するリンクされた規則オブジェクトリストを返す。ステップ２５０で、返されたリンクされたリスト中の各規則は、規則に関連する任意の追加パターン判定基準で検査され、かつ入力データが、規則に関連する全てのパターン判定基準を満たす場合、規則は、最終結果集合に追加される。返されたリンクされたリスト中の各規則が検査された後、いかなる規則も最終結果集合に追加されない場合、属性エンジンは、２１０へ戻って、並べ替えられたテンプレートリストから次のテンプレートを読み出す。
【００３４】
規則が最終結果集合に追加されていない場合、検査されるべきマッチ集合中のテンプレートが存在するかどうかの判断が、ステップ２６０でなされる。現在のマッチ集合に対して検査を行うためのテンプレートがもう存在しない場合、属性エンジンは、次のマッチ集合の第１テンプレートを読み出すために、ステップ２１０へ分岐する。
【００３５】
ステップ２６０で、規則が最終結果集合に追加される場合、属性エンジンは、抑制されるべき同一のマッチ集合内の全てのテンプレートを表す単位集合を累算する。また、属性エンジンは、現在のマッチ集合中の全てのテンプレートが検査された後に抑制されるべき全てのマッチ集合を表す単位集合を累算する。累算されたテンプレートが同一のマッチ集合内の全てのテンプレートの集合に等しい場合、検査を行うためのテンプレートは残っておらず、属性エンジンは、次のマッチ集合中の第１テンプレートへスキップしてよい。
【００３６】
属性エンジンは、現在のマッチ集合に検査を行うためのテンプレートが残っていないと判断した後、ステップ２７０で、いくらかのマッチ集合が残っているかどうか判断する。全てのマッチ集合が検査または抑制されていた場合、ステップ２７５で、属性エンジンは、検索モジュールを終了するとともに、最終結果集合を返す。検査のためのマッチ集合が残っていた場合、属性エンジンは、ステップ２１０へ分岐して、次のマッチ集合の第１テンプレートを読み出す。
【００３７】
属性エンジンは、自動処理システムに用いられる属性を決定及び設定するために、自動処理システム中に組み込まれてもよい。自動処理システムの一実施例は注文管理システムである。別の実施例は予約システムである。説明を目的として、株式取引を処理するための自動注文処理システムが以下に記載される。しかしながら、本発明の実施形態が株式取引システムに限定されず、命令またはジョブの処理を決定するために１つ以上の規則を評価するいかなる自動処理システムにも適用されるということを、当業者は理解する。図３は、株式取引を処理するための自動注文処理システムを示すフロー図である。ステップ３１０で、顧客を識別し、かつ顧客ＩＤ属性を設定するために、入ってくるキー／バリューの組のうちの１つ以上をマッチングすることによって、顧客の識別が実施される。例えば、顧客のコンピュータ上で実行されるソフトウェアに応じ、顧客識別子は、送信者サブＩＤ（SenderSub ID）が固定タグ５０になってよく、またはコンピュータ代表ＩＤ（OnBehalfOfComp ID）がタグになってもよい。この実施例では、送信者サブＩＤ及びコンピュータ代表ＩＤは、顧客ＩＤ対象属性を備えたマッチング属性である。要求された取引に対する特定の株式が、ステップ３２０で識別される。例えば、見本注文管理システムがＦＩＸプロトコルを採用する場合、属性エンジンは、取引に適したシンボルを設定するために、証券ＩＤ（Security ID）であるＦＩＸタグ４８にマッチしてよい。
【００３８】
ステップ３３０で、フローまたは注文の実行方法が決定される。実行方法の例は、ＤＭＡ、Ｗｏｒｋｅｄ、ＤＴＣ、及びＤＴＭを含む。ＤＭＡ、すなわち直接市場アクセス（Direct Market Access）において、注文は、他の実行方法に比べて迅速に実行されるＯＭＳへ送信される。Ｗｏｒｋｅｄ方法では、通常、大量の注文は、手作業で分割されるとともに、株式価格に対しての影響が最小となるように取引される。ＤＴＣ、すなわち直接資本（Direct to Capital）においては、注文は、投資銀行の自身の証券ポートフォリオを背景に取引される。直接モデル（Direct to Model）においては、注文は、例えばＶＷＡＰ（Volume Weighted Average Price）のような、自動取引戦略を用いて実行される。
【００３９】
ステップ３４０で、特定のＯＭＳへの注文の経路選択は、ステップ１３０で決定された注文フローと取引された証券の地域との一部分に基づいて決定される。ステップ３５０で、注文は、顧客がその特定の取引を行うことを承認しなかった場合に、拒否される。この実施例では、ステップ３１０において対象属性である顧客ＩＤが、ステップ３５０でマッチング属性として使用される。
【００４０】
ステップ３６０で、例えば１秒間に２０００回注文を送信するような悪意のある顧客から下流システムを保護するために、注文は拒否されてよい。そのような状況下では、注文は、顧客の注文を減らし、かつ下流システムの過負荷を回避するために拒否される。同様に、キュー内で所定の期間を過ぎて待機中の注文は、下流システムでの滞りを示す可能性が高く、システムのクラッシュによる過負荷を回避するために、注文は拒否されてもよい。
【００４１】
ステップ３７０で、特定のＯＭＳに関するメッセージ情報が決定される。ＯＭＳの特定の処理は、ＣＣＭ中または特定のＯＭＳアダプタでなされてよい。
【００４２】
本発明のいくつかの実施形態において、メカニズムは、自動処理システムへの新しい規則の手動取り消しまたは「ライブ（live）」入力を許可するために提供される。好適な実施形態において、ＧＵＩ（Graphical User Interface）は、表１に示されたテーブルのような規則テーブルへの修正及び追加を許可するために提供される。ＧＵＩによって、サポートデスク人員は、多くのユーザにおなじみのスプレッドシートタイプのフォーマットで、規則を入力または修正できる。スプレッドシートタイプのフォーマットは、ＩＦ−ＴＨＥＮ−ＥＬＳＥ規則のフォーマットへの手入力の必要性をなくすとともに、ＩＦ−ＴＨＥＮ−ＥＬＳＥ規則のフォーマットの手入力に付き物である誤入力を排除する。さらに、属性エンジンは規則テーブルをデータとして扱うので、プログラムコードの再コンパイルまたはデータベーススキーマが省かれ、従って、自動処理システムの「ライブ」アップデートが可能となる。ＧＵＩは、サポートデスク人員に提供されて、顧客が自身のアカウントを設定すること、または自身のアカウントに変更を加えることを手助けする。システムに渡るエラーを防止するために、ＧＵＩは、全ての規則の修正または追加が特定の顧客に関係付けられることを必要としてもよい。
【００４３】
図４は、サービスデスク人員が顧客固有の規則を入力または編集するために使用可能な、セットアップエディタを表示した画面である。図４において、いくつかの規則が、別個の規則テーブル４１０，４２０，４３０，４４０として表示されている。図４において、列ヘッダは、各規則テーブルに対するマッチング及び対象属性を識別する。マッチング属性ヘッダ４８０は、明るく表示された部分の黒字テキストによって識別され、かつ対象属性ヘッダ４９０は、暗く表示された部分の白抜きテキストによって識別される。ユーザは、例えばテーブルの列ヘッダ上をダブルクリックすることによって、編集のために規則テーブルを選択できる。好適な実施形態においては、規則エディタは、テーブルが選択された際に、ポップアップウィンドウ内に表示される。
【００４４】
図５は、本発明の一実施形態におけるポップアップウィンドウ内の規則エディタ５１０を表示した画面である。規則エディタ５１０は、例えば所望の規則テーブルの列上をダブルクリックすることによって規則テーブルが選択されることにより起動される。規則エディタ５１０は、規則テーブルが編集されていることを示すタイトルバーと、規則に新しい属性を追加するための新属性ボタン５２０と、新しい規則を追加するための新規則ボタン５３０と、を具備する。
【００４５】
図６は、新しい規則の追加後の、図５に示された規則エディタの画面である。新しい規則は、新規則ボタン５３０のクリックによって追加される。規則エディタは、新しい行６１０を、新しい規則に対応する規則テーブル中に挿入する。新しいマッチング属性は、新属性ボタン５２０のクリックによって、新しい規則に追加される。図７は、新属性ボタン５２０がクリックされた後の、図５に示された規則エディタの画面である。図７において、属性リストを含むポップアップウィンドウ７１０は、ユーザが新属性ボタン５２０をクリックした際に、ユーザに対して表示される。ユーザは、１つ以上の属性を選択するとともに、新しい規則へ新しい属性を追加するためにＯＫボタンをクリックする。図８は、図５に示された規則エディタの画面であり、ユーザが新しい規則に関連する適切なセル８２０へ所望の値を入力し終えた後の、新しいマッチング属性８１０を示す。
【００４６】
本発明の実施形態は、当業者には明白な、コンピュータコンポーネントと、コンピュータによって実施されるステップとを有する。開示を簡略化するために、本発明の全てのステップ及び要素はコンピュータシステムの一部分として明細書に記載されてはいないが、当業者は、各ステップ及び要素が、対応するコンピュータシステム及びソフトウェアコンポーネントを具備してよいということを認識する。従って、上記コンピュータシステム及び／又はソフトウェアコンポーネントは、それらの対応するステップ及び要素（すなわち、その機能）を記載することによって具現可能になり、かつ本発明の範囲内にある。
【００４７】
今までに記載された少なくとも例示の本発明の実施形態を含む多様な修正及び改良は、当業者には容易に思い浮かぶとともに、本発明の範囲内となることが意図されている。従って、先の記載は、実施例だけを目的とし、限定を意図するものではない。発明は、特許請求の範囲及びその均等物中の定義のみに限定される。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態の動作を示すフロー図である。
【図２】図１に示された実施形態のための検索動作を示すフロー図である。
【図３】本発明の一実施形態においての命令処理を示すフロー図である。
【図４】本発明の一実施形態において用いられる規則エディタのスクリーンショットである。
【図５】本発明の一実施形態において用いられる規則エディタ５００を表示するポップアップウィンドウのスクリーンショットである。
【図６】図５に示された新しい規則を追加した後の規則エディタのスクリーンショットである。
【図７】マッチング属性のリストのポップアップウィンドウを表示する図６に示された規則エディタのスクリーンショットである。
【図８】ユーザがマッチング値を新しい規則中に入力した後の図７に示された規則エディタのスクリーンショットである。
【符号の説明】
【００４９】
４１０、４２０、４３０、４４０  規則テーブル
４８０  マッチング属性ヘッダ
４９０  対象属性ヘッダ
５１０  規則エディタ
５２０  新属性ボタン
５３０  新規則ボタン
６１０  挿入される新しい行
７１０  属性リストを含むポップアップウィンドウ
８１０  新しいマッチング属性
８２０  新しい規則に関連する適切なセル
【図１】
2008544368.tif 000005
【図２】
2008544368.tif 000006
【図３】
2008544368.tif 000007
【図４】
2008544368.tif 000008
【図５】
2008544368.tif 000009
【図６】
2008544368.tif 000010
【図７】
2008544368.tif 000011
【図８】
2008544368.tif 000012
【国際調査報告】
2008544368.tif 000013