JP4820408B2 - 属性エンジン - Google Patents

属性エンジン Download PDF

Info

Publication number
JP4820408B2
JP4820408B2 JP2008516816A JP2008516816A JP4820408B2 JP 4820408 B2 JP4820408 B2 JP 4820408B2 JP 2008516816 A JP2008516816 A JP 2008516816A JP 2008516816 A JP2008516816 A JP 2008516816A JP 4820408 B2 JP4820408 B2 JP 4820408B2
Authority
JP
Japan
Prior art keywords
rule
templates
suppressed
template
attributes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008516816A
Other languages
English (en)
Other versions
JP2008544368A (ja
Inventor
テオドア・チュク−タク・ロー
Original Assignee
バークレイズ・キャピタル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バークレイズ・キャピタル・インコーポレーテッド filed Critical バークレイズ・キャピタル・インコーポレーテッド
Publication of JP2008544368A publication Critical patent/JP2008544368A/ja
Application granted granted Critical
Publication of JP4820408B2 publication Critical patent/JP4820408B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Artificial Intelligence (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Devices For Executing Special Programs (AREA)

Description

本発明は、入力メッセージに基づいて、メッセージを効率良く経路選択及び修正するためのシステム及び方法に関する。より詳細には、発明は、販売及び取引の経路選択を決定するビジネス規則を適用及び更新するための効率的なシステム及び方法に関する。
この明細書は、2005年6月14日に出願された米国仮特許出願第60/690659号の優先権を主張し、かつその全体を引用により組み込む。
最大限に自動化された処理システムの心臓部は、入力された属性の集合に基づいて処理を制御する規則エンジンである。自動処理システムの例としては、2001年8月21日にKorhammerらに特許された特許文献1、または2003年2月11日にWiltonらに特許された特許文献2に開示されているような、自動証券取引システムがあり、双方とも引用によって本願明細書に組み入れられる。
米国特許第6278982号明細書 米国特許第6519574号明細書
実例として自動証券取引システムを挙げると、顧客は、サーバ側プログラムを実行するブローカー/ディーラーサーバと通信を行う顧客のコンピュータ上で、クライアントプログラムを動作させる。クライアントプログラムは、例えばFIX(Financial Information eXchange)プロトコルのような所定のプロトコルに従って、情報をサーバへ送信する。情報は、キーが属性を識別し、かつバリューがその属性に対応する値である場合に、キー/バリューの組として書式設定される。属性の組の例は、「client」がキー、すなわち属性であり、かつ「felix」がバリューである場合に、「client=felix」である。入ってくる属性の組は、サーバ側プログラムによって受信されるとともに、他の属性を設定するため、またはサーバ側プログラムが規則の使用を介してセッションをどのように処理するかを制御するために使用されてもよい。例えば、自動処理システムは、IF client = felix THEN MaxOrderSize = 10,000と宣言する規則を含んでよい。別の規則は、IF client = ernie THEN MaxOrderSize = 20,000と宣言してもよい。これらの例において、「client」は入力属性と見なされ、かつ「MaxOrderSize」は対象属性と見なされる。
各規則によって、自動処理システムは、顧客の注文のカスタマイズされた処理を提供できる。しかしながら、顧客の数が増加するにつれて、規則の数も増加して、規則エンジンによるシステム中の各規則の検証が、処理時間のかなりの部分を占めるようになる。
例えば、ILOG社(ILOG, Inc. of Mountain View, California)のILOG Rulesなどの、入手可能な予めパッケージ化された一般的な規則エンジンは、自動処理システムのために完成された規則エンジンモジュールを提供することによって、開発コストを削減可能である。しかしながら、予めパッケージ化された規則エンジンは、パフォーマンスと引き換えに適用範囲を手に入れている。さらに、予めパッケージ化された規則エンジンでは、規則の追加/編集、及びそれらの相互作用の閲覧が困難となる。
属性エンジンは、1つ以上の規則の1つ以上の対象属性を設定するために、入ってくるデータを1つ以上のマッチング属性と照合する。各規則は、規則型及びマッチセットによって特徴付けられる。テンプレートは、各規則型及び対象属性のために定義される。対象属性に関連するテンプレートは、それらのマッチセットに従って並べ替えられるとともに、1つ以上の規則抑制原理によって抑制されてもよい。サポート人員が擬似コードセグメントを直接編集する代わりに表形式で規則を編集することを可能にする規則エディタが提供される。
本発明の一実施形態は、各行が規則型によって特徴づけられた規則を表すとともに、少なくとも1つのマッチング属性及び少なくとも1つの対象属性を有する規則テーブルと、入力データを受信し、所定の命令に従って規則テーブル中の規則を検査し、かつ入力データにマッチする規則テーブル中の1つ以上の規則を表す最終結果集合を出力するように構成された属性エンジンと、を具備し、所定の命令は、少なくとも1つの対象属性及び規則型によって決定されることを特徴とするシステムを対象とする。
本発明の別の実施形態は、対象属性及び少なくとも1つの入力キー/バリューの組を受信する段階と、対象属性に関連する1つ以上のテンプレートを読み出す段階と、1つ以上のテンプレートのマッチセットに従って1つ以上のテンプレートを並べ替える段階と、少なくとも1つの入力キー/バリューの組を1つ以上のテンプレートのマッチセットと照合する段階と、1つ以上のテンプレートのマッチしたマッチセットによって決定された値を対象属性に割り当てる段階と、を具備することを特徴とする方法を対象とする。
本発明は、図面と併せて、好適な実施形態及び変形例を参照して記載される。
明細書中の記載は、本発明の好適な一実施形態のみを記載するためにある。当業者は、例えば、記載された実施形態が自動処理システム中の規則を検索し適用する新しいシステム及び方法の簡略化された一実施例にすぎないということを認識する。簡略化された実施例は、発明が具備する、より一般的なシステム及び方法を使用可能にするために、詳細に記載する必要のある内容の全てである。
本発明の実施形態の記載は、規則テーブルの実施例である表1を参照する。
Figure 0004820408
表1において、「Rule #」及び「Tmpl.」と名付けられた列は、本発明の実施形態の説明を助けるために付加されているのであって、規則テーブルの一部ではない。「MA1」、「MA2」、及び「MA3」と名付けられた列はマッチング属性を表し、かつ「TA1」と名付けられた列は対象属性を表す。表1の各行は規則を表す。規則が空白でないセルを有するマッチング属性の集合は、まとめて規則のマッチセットと呼ばれる。マッチング属性の値は、規則が入ってくるデータに対してどのようにマッチするかを規定する。もし規則の全てのマッチング判定基準を満たすならば、リストアップされた値は、以下に記載された規則抑制原理に従って、対象属性に割り当てられる。表1は1つの対象属性しか示していないが、本発明の実施形態では、任意の数の対象属性が使用されてよい。同様に、表1は3つのマッチング属性を示すが、本発明の実施形態は、ある特定の数のマッチング属性に限定されない。
表1の各行は規則を表し、かつ表1の各セルは値を表す。表1の空のセルは、対応するマッチング属性が規則中で使用されないことを意味する。言い換えれば、規則は、この属性の存在または値を問題としないということである。フォワードスラッシュ(/)で始まる値を含むセルは、リテラル値の代わりにJava(登録商標)正規表現パターンであることを示す。パターン判定基準は、任意のJava(登録商標)正規表現、または、例えば、「> 1000」または「> 1000 & <= 2000」のような数値比較であってもよい。もし入力データが正規表現または数値比較にマッチするならば、そのマッチはパターンマッチと見なされる。
データが入ってきた時に規則がマッチすることは、好適にはキー/バリューの組の形式において、その規則に対応する値にマッチすることである。表1を例にとれば、入ってくるデータが「MA2 = FELIX」及び「MA3 = SCOOTER」を含む場合、規則4、5、及び6が入ってくるデータにマッチする。規則4は、入ってくるデータがマッチング属性MA2に対する値「FELIX」にリテラルマッチするので、マッチする。規則5は、入ってくるデータがマッチング属性MA2に対する値「FELIX」、及びマッチング属性MA3に対する値「SCOOTER」にリテラルマッチするので、マッチする。規則6は、入ってくるデータがマッチング属性MA2に対する値「FELIX」にリテラルマッチするとともに、マッチング属性MA3に対するパターンSCO.*にパターンマッチするので、マッチする。
規則抑制原理の集合は、マッチした規則の数を減らすために適用されてよい。好適な実施形態において、第1規則抑制原理は、もし規則Aのマッチセットが規則Bのマッチセットの狭義の拡張集合であるならば、規則Aは規則Bを抑制するということの宣言に使用される。規則のマッチセットは、規則がそこにマッチするマッチング属性の集合である。表1を例にとれば、規則2のマッチセットは{MA1}であり、かつ規則5のマッチセットは{MA2,MA3}である。言い換えれば、第1規則抑制原理は、もし、規則Aが、規則Bのマッチング判定基準以上に起因してマッチするために、より制限的な狭義のマッチング判定基準を有するならば、両方の規則がマッチする場合、規則Aが規則Bを越えて選択されることを宣言する。表1を例にとれば、規則5のマッチセット{MA2,MA3}が規則4のマッチセット{MA2}の狭義の拡張集合であるので、両方の規則が適する場合、規則5は規則4を抑制する。入ってくるデータが「MA2 = FELIX」及び「MA3 = SCOOTER」を含む場合、どちらも入ってくるデータにマッチするので、規則5は規則4を抑制する。しかしながら、入ってくるデータが「MA2 = FELIX」を含むが「MA3 = SCOOTER」を含まない場合、規則4は入ってくるデータにマッチするが、規則5は入ってくるデータにマッチしないので、規則5は規則4を抑制しない。
第2規則抑制原理は、規則A及び規則Bの双方が同一のマッチセットを有し、規則Bが規則Aより明確な判定基準でマッチせず、かつ規則Aが規則Bより明確な判定基準でマッチする少なくとも1つのマッチング属性が存在する場合に、規則Aが規則Bを抑制するということを宣言するために使用される。第2規則抑制原理が適用される場合、リテラルマッチは、パターンマッチより明確な判定基準である。例として表1を参照すると、規則5及び規則6の双方が同一のマッチセット{MA2,MA3}を有し、規則6が規則5より明確な判定基準でマッチせず、かつ規則5がリテラルマッチするとともに、規則6がパターンマッチする少なくとも1つのマッチング属性MA3が存在するので、第2規則抑制原理を適用することによって、規則6は規則5によって抑制される。
規則の最終集合は、第1及び第2規則抑制原理の適用後に抑制されなかった残りのマッチング規則の集合である。最終集合が単独の規則を含む場合、その規則は対象属性に割り当てられる。
先の記載の通り、規則テーブルは、個々に検証されるべき無数の規則を含んでもよく、それによって処理時間が増加する。規則テーブルの処理時間は、規則型の使用によって著しく減少する。規則型は、マッチングのための判定基準を備える規則マッチセットである。例として表1を参照すると、規則6の型は、「L」がリテラルマッチを示し、かつ「P」がパターンマッチを示す場合に、{MA2 = L,MA3 = P}と記載できる。
各規則型は、その規則型のための情報を含む対応するテンプレート(Tmpl)を有する。各対象属性は、その対象属性に割り当てられた全ての規則の異なる規則型を表すTmplオブジェクトリストを有する。以下の表2は、表1に示された規則のためのテンプレートを一覧表にしたものである。
Figure 0004820408
表2には、表1においてリスト化された規則に対する、TA1に関連する6つのテンプレートがリスト化されている。各テンプレートに対し、表2は、規則型(rule shape)、マッチ集合(match set)、リテラルマッチ集合(literal match set)、抑制のためのテンプレート(templates to suppress)、抑制のためのマッチ集合(match set to suppress)、及びテンプレートに関連する規則(rules)を示す。リテラルマッチ集合は、リテラルマッチ状態にあるマッチング属性を示す。リテラルマッチ集合は、対応するマッチ集合の部分集合である。表2において、テンプレート4、5、及び6は、同一のマッチ集合{MA1,MA2}を有するが、異なるリテラルマッチ集合を有する。
「Tmpls. to Suppress」と名付けられた列は、入力データが現在のテンプレート中の規則にマッチする場合に抑制される同一のマッチ集合を備えるテンプレート集合を示す。表2例にとると、もし、テンプレート5に対応する入力データが規則6にマッチするならば、テンプレート6は抑制される。言い換えれば、入力データが規則6にマッチする場合、規則8がテンプレート5によって抑制されるテンプレート6に属するので、規則エンジンは規則8を省略できる。同様に、入力データが規則5にマッチする場合、属性エンジンは、テンプレート5及び6、並びにテンプレート5及び6に関連する規則を省略できる。
「Match Set to Suppress」と名付けられた列は、入力データが現在のテンプレート中の規則にマッチする場合に抑制されるマッチ集合の集合を示す。表2を例にとると、テンプレート4に対するマッチ集合は{MA2,MA3}であって、入力データがテンプレート4に属する規則にマッチする場合に、マッチ集合{MA2}及び{}を抑制する。マッチ集合{MA2}はテンプレート3を含み、かつマッチ集合{}はテンプレート1を含む。従って、属性エンジンは、入力データがテンプレート4中の規則にマッチする場合に、テンプレート1及び3を含むマッチセットを省略してよい。
各テンプレートオブジェクトは、テンプレートに属する規則が入力データにマッチする場合に抑制される同一のマッチ集合内のテンプレートを示す単位集合を含む。また、テンプレートオブジェクトは、現在のマッチ集合内の全てのテンプレートが訪問または抑制され次第、次のマッチ集合の第1テンプレートへすみやかに飛ぶために使用可能な、次のマッチ集合中の第1テンプレートオブジェクトへのポインタを含む。また、テンプレートオブジェクトは、テンプレートに関連する規則型に関する情報を含む。
図1は、本発明の一実施形態の動作を示すフロー図である。ステップ110で、属性エンジンは、例えば、自動取引処理システムのような制御プログラムから、対象属性及び例外フラグを受信する。ステップ120で、属性エンジンは、ステップ110で受信した対象属性に関連するテンプレートを読み出す。読み出されたテンプレートは、属性エンジンによって並べ替えられる。好適な実施形態において、読み出されたテンプレートは、まずテンプレートのマッチ集合のサイズ、次に同一のマッチ集合を備えるテンプレートが相互にグループ化されるようなマッチ集合、その次にテンプレート中のリテラルマッチの数、という順で並び替えられる。表2に示された例を用いると、表2のテンプレートの並べ替え順序は、4−5−6−2−3−1である。例において、テンプレート4、5、及び6が、テンプレート2、3、及び1のマッチ集合より多くのマッチ集合を有するので、テンプレート2、3、及び1の前にテンプレート4、5、及び6が並び替えられる。テンプレート5及び6が1つのリテラルマッチしか有しないのに対し、テンプレート4は2つのリテラルマッチを有するので、テンプレート4は、テンプレート5及び6の前に順序付けられる。
属性エンジンは、ステップ130で、制御プログラムから入力データを受信する。属性エンジンは、ステップ140で、並び替えられたテンプレートリスト内を検索するとともに、入力データにマッチする全ての規則を保存する。属性エンジンが全ての抑制されていないテンプレートを検索し終えた後、属性エンジンは、ステップ150で、単独のマッチング規則の有無を確認する。単独のマッチング規則が存在する場合、属性エンジンは、ステップ155で、単独のマッチング規則の対象属性に対応する値に、対象属性を設定する。いくつかの実施形態においては、2つ以上のマッチング規則が存在する場合に、属性エンジンは、ステップ160で、例外フラグxFlagが設定されているか検証する。例外フラグが設定されている場合、属性エンジンは、ステップ170で、制御プログラムに例外を発する。例外フラグが設定されていない場合、属性エンジンは、ステップ165で、制御プログラムに全てのマッチング規則を返す。
図2は、図1に示された実施形態に対しての検索動作を示すフロー図である。属性エンジンは、対象属性に関連するテンプレートの読み出し及び並べ替えを終えた後、205から検索を開始する。属性エンジンは、ステップ210で、並べ替えられたテンプレートリストから、並び替えられたリストの第1テンプレートから始め、テンプレートを読み出す。
ステップ220で、現在のテンプレートのマッチ集合が抑制されているか否かの判断がなされる。マッチ集合が抑制されている場合、属性エンジンは、そのマッチ集合を省略するとともに、次のマッチ集合の第1テンプレートを読み出す。マッチ集合が抑制されていない場合、ステップ230で、現在のテンプレートが抑制されているか否かの判断がなされる。現在のテンプレートが抑制されている場合、現在のテンプレートは省略され、かつ並べ替えられたテンプレートリスト中の次のテンプレートが読み出される。並べ替えられたリスト中にテンプレートが残っていない場合、属性エンジンは、ステップ275へ飛ぶ。
ステップ240で、現在のテンプレートに対する規則検索が失敗したかどうかの判断がなされる。検索が失敗の場合、現在のテンプレートは省略され、かつ並び替えられたテンプレートリスト中の次のテンプレートが読み出される。ステップ240で、現在のテンプレートのための複合キーが、現在のテンプレートのリテラルマッチ集合中の各属性名と、入力データからの対応する値とを連結することによって生成される。
複合キーは、コモンハッシュテーブルから規則リストを読み出すために使用される。ハッシュテーブルは、コモンハッシュキーから規則オブジェクト配列へマッピングを行う。配列は、対象属性を一意に識別する小さな整数である対象属性インデックスによって、索引が付けられる。発明者は、異なる対象属性に頻繁に割り当てられる規則が、同一のマッチング判定基準を共有することを発見した。例えば、「MA2 = FELIX」にマッチする多数の規則があっても、自動処理アプリケーション中の異なる対象属性に割り当てられる。好適には、ハッシュテーブルは、「とりわけ」重複したマッチング判定基準を排除するために、全ての対象属性間で共有される。
本発明のいくつかの実施形態において、ハッシュテーブルは、そのリテラルマッチング判定基準が入力データにマッチするとともに、現在のテンプレートに関連するリンクされた規則オブジェクトリストを返す。ステップ250で、返されたリンクされたリスト中の各規則は、規則に関連する任意の追加パターン判定基準で検査され、かつ入力データが、規則に関連する全てのパターン判定基準を満たす場合、規則は、最終結果集合に追加される。返されたリンクされたリスト中の各規則が検査された後、いかなる規則も最終結果集合に追加されない場合、属性エンジンは、210へ戻って、並べ替えられたテンプレートリストから次のテンプレートを読み出す。
規則が最終結果集合に追加されていない場合、検査されるべきマッチ集合中のテンプレートが存在するかどうかの判断が、ステップ260でなされる。現在のマッチ集合に対して検査を行うためのテンプレートがもう存在しない場合、属性エンジンは、次のマッチ集合の第1テンプレートを読み出すために、ステップ210へ分岐する。
ステップ260で、規則が最終結果集合に追加される場合、属性エンジンは、抑制されるべき同一のマッチ集合内の全てのテンプレートを表す単位集合を累算する。また、属性エンジンは、現在のマッチ集合中の全てのテンプレートが検査された後に抑制されるべき全てのマッチ集合を表す単位集合を累算する。累算されたテンプレートが同一のマッチ集合内の全てのテンプレートの集合に等しい場合、検査を行うためのテンプレートは残っておらず、属性エンジンは、次のマッチ集合中の第1テンプレートへスキップしてよい。
属性エンジンは、現在のマッチ集合に検査を行うためのテンプレートが残っていないと判断した後、ステップ270で、いくらかのマッチ集合が残っているかどうか判断する。全てのマッチ集合が検査または抑制されていた場合、ステップ275で、属性エンジンは、検索モジュールを終了するとともに、最終結果集合を返す。検査のためのマッチ集合が残っていた場合、属性エンジンは、ステップ210へ分岐して、次のマッチ集合の第1テンプレートを読み出す。
属性エンジンは、自動処理システムに用いられる属性を決定及び設定するために、自動処理システム中に組み込まれてもよい。自動処理システムの一実施例は注文管理システムである。別の実施例は予約システムである。説明を目的として、株式取引を処理するための自動注文処理システムが以下に記載される。しかしながら、本発明の実施形態が株式取引システムに限定されず、命令またはジョブの処理を決定するために1つ以上の規則を評価するいかなる自動処理システムにも適用されるということを、当業者は理解する。図3は、株式取引を処理するための自動注文処理システムを示すフロー図である。ステップ310で、顧客を識別し、かつ顧客ID属性を設定するために、入ってくるキー/バリューの組のうちの1つ以上をマッチングすることによって、顧客の識別が実施される。例えば、顧客のコンピュータ上で実行されるソフトウェアに応じ、顧客識別子は、送信者サブID(SenderSub ID)が固定タグ50になってよく、またはコンピュータ代表ID(OnBehalfOfComp ID)がタグになってもよい。この実施例では、送信者サブID及びコンピュータ代表IDは、顧客ID対象属性を備えたマッチング属性である。要求された取引に対する特定の株式が、ステップ320で識別される。例えば、見本注文管理システムがFIXプロトコルを採用する場合、属性エンジンは、取引に適したシンボルを設定するために、証券ID(Security ID)であるFIXタグ48にマッチしてよい。
ステップ330で、フローまたは注文の実行方法が決定される。実行方法の例は、DMA、Worked、DTC、及びDTMを含む。DMA、すなわち直接市場アクセス(Direct Market Access)において、注文は、他の実行方法に比べて迅速に実行されるOMSへ送信される。Worked方法では、通常、大量の注文は、手作業で分割されるとともに、株式価格に対しての影響が最小となるように取引される。DTC、すなわち直接資本(Direct to Capital)においては、注文は、投資銀行の自身の証券ポートフォリオを背景に取引される。直接モデル(Direct to Model)においては、注文は、例えばVWAP(Volume Weighted Average Price)のような、自動取引戦略を用いて実行される。
ステップ340で、特定のOMSへの注文の経路選択は、ステップ130で決定された注文フローと取引された証券の地域との一部分に基づいて決定される。ステップ350で、注文は、顧客がその特定の取引を行うことを承認しなかった場合に、拒否される。この実施例では、ステップ310において対象属性である顧客IDが、ステップ350でマッチング属性として使用される。
ステップ360で、例えば1秒間に2000回注文を送信するような悪意のある顧客から下流システムを保護するために、注文は拒否されてよい。そのような状況下では、注文は、顧客の注文を減らし、かつ下流システムの過負荷を回避するために拒否される。同様に、キュー内で所定の期間を過ぎて待機中の注文は、下流システムでの滞りを示す可能性が高く、システムのクラッシュによる過負荷を回避するために、注文は拒否されてもよい。
ステップ370で、特定のOMSに関するメッセージ情報が決定される。OMSの特定の処理は、CCM中または特定のOMSアダプタでなされてよい。
本発明のいくつかの実施形態において、メカニズムは、自動処理システムへの新しい規則の手動取り消しまたは「ライブ(live)」入力を許可するために提供される。好適な実施形態において、GUI(Graphical User Interface)は、表1に示されたテーブルのような規則テーブルへの修正及び追加を許可するために提供される。GUIによって、サポートデスク人員は、多くのユーザにおなじみのスプレッドシートタイプのフォーマットで、規則を入力または修正できる。スプレッドシートタイプのフォーマットは、IF−THEN−ELSE規則のフォーマットへの手入力の必要性をなくすとともに、IF−THEN−ELSE規則のフォーマットの手入力に付き物である誤入力を排除する。さらに、属性エンジンは規則テーブルをデータとして扱うので、プログラムコードの再コンパイルまたはデータベーススキーマが省かれ、従って、自動処理システムの「ライブ」アップデートが可能となる。GUIは、サポートデスク人員に提供されて、顧客が自身のアカウントを設定すること、または自身のアカウントに変更を加えることを手助けする。システムに渡るエラーを防止するために、GUIは、全ての規則の修正または追加が特定の顧客に関係付けられることを必要としてもよい。
図4は、サービスデスク人員が顧客固有の規則を入力または編集するために使用可能な、セットアップエディタを表示した画面である。図4において、いくつかの規則が、別個の規則テーブル410,420,430,440として表示されている。図4において、列ヘッダは、各規則テーブルに対するマッチング及び対象属性を識別する。マッチング属性ヘッダ480は、明るく表示された部分の黒字テキストによって識別され、かつ対象属性ヘッダ490は、暗く表示された部分の白抜きテキストによって識別される。ユーザは、例えばテーブルの列ヘッダ上をダブルクリックすることによって、編集のために規則テーブルを選択できる。好適な実施形態においては、規則エディタは、テーブルが選択された際に、ポップアップウィンドウ内に表示される。
図5は、本発明の一実施形態におけるポップアップウィンドウ内の規則エディタ510を表示した画面である。規則エディタ510は、例えば所望の規則テーブルの列上をダブルクリックすることによって規則テーブルが選択されることにより起動される。規則エディタ510は、規則テーブルが編集されていることを示すタイトルバーと、規則に新しい属性を追加するための新属性ボタン520と、新しい規則を追加するための新規則ボタン530と、を具備する。
図6は、新しい規則の追加後の、図5に示された規則エディタの画面である。新しい規則は、新規則ボタン530のクリックによって追加される。規則エディタは、新しい行610を、新しい規則に対応する規則テーブル中に挿入する。新しいマッチング属性は、新属性ボタン520のクリックによって、新しい規則に追加される。図7は、新属性ボタン520がクリックされた後の、図5に示された規則エディタの画面である。図7において、属性リストを含むポップアップウィンドウ710は、ユーザが新属性ボタン520をクリックした際に、ユーザに対して表示される。ユーザは、1つ以上の属性を選択するとともに、新しい規則へ新しい属性を追加するためにOKボタンをクリックする。図8は、図5に示された規則エディタの画面であり、ユーザが新しい規則に関連する適切なセル820へ所望の値を入力し終えた後の、新しいマッチング属性810を示す。
本発明の実施形態は、当業者には明白な、コンピュータコンポーネントと、コンピュータによって実施されるステップとを有する。開示を簡略化するために、本発明の全てのステップ及び要素はコンピュータシステムの一部分として明細書に記載されてはいないが、当業者は、各ステップ及び要素が、対応するコンピュータシステム及びソフトウェアコンポーネントを具備してよいということを認識する。従って、上記コンピュータシステム及び/又はソフトウェアコンポーネントは、それらの対応するステップ及び要素(すなわち、その機能)を記載することによって具現可能になり、かつ本発明の範囲内にある。
今までに記載された少なくとも例示の本発明の実施形態を含む多様な修正及び改良は、当業者には容易に思い浮かぶとともに、本発明の範囲内となることが意図されている。従って、先の記載は、実施例だけを目的とし、限定を意図するものではない。発明は、特許請求の範囲及びその均等物中の定義のみに限定される。
本発明の一実施形態の動作を示すフロー図である。 図1に示された実施形態のための検索動作を示すフロー図である。 本発明の一実施形態においての命令処理を示すフロー図である。 本発明の一実施形態において用いられる規則エディタのスクリーンショットである。 本発明の一実施形態において用いられる規則エディタ500を表示するポップアップウィンドウのスクリーンショットである。 図5に示された新しい規則を追加した後の規則エディタのスクリーンショットである。 マッチング属性のリストのポップアップウィンドウを表示する図6に示された規則エディタのスクリーンショットである。 ユーザがマッチング値を新しい規則中に入力した後の図7に示された規則エディタのスクリーンショットである。
符号の説明
410、420、430、440 規則テーブル
480 マッチング属性ヘッダ
490 対象属性ヘッダ
510 規則エディタ
520 新属性ボタン
530 新規則ボタン
610 挿入される新しい行
710 属性リストを含むポップアップウィンドウ
810 新しいマッチング属性
820 新しい規則に関連する適切なセル

Claims (27)

  1. コンピュータによって実行される方法であって、
    取り出し手段により、対象属性に関連した複数の規則テンプレートを取り出す段階であって、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれが、少なくとも1つの規則型及び少なくとも1つの規則を含む段階と、
    並び替え手段により、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則型に基づいて、取り出した前記複数の規則テンプレートを並び替える段階と、
    受け取り手段により、1つ以上の属性を含んだ入力データを受け取る段階と、
    マッチング手段により、取り出した前記複数の規則テンプレートの並び順に従って、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則と前記1つ以上の属性とのマッチングを行う段階と、
    生成手段により、マッチした規則からなる最終規則集合を生成する段階と
    を有することを特徴とする方法。
  2. 前記規則型が、マッチ集合を含むことを特徴とする請求項1に記載の方法。
  3. 前記マッチ集合が、空集合又は1つ以上のマッチング属性からなる集合であることを特徴とする請求項2に記載の方法。
  4. 前記マッチ集合中の前記1つ以上のマッチング属性に基づいて、前記並び替え手段により、取り出した前記複数の規則テンプレートを並び替える段階をさらに有することを特徴とする請求項3に記載の方法。
  5. 前記マッチ集合のサイズに基づいて、前記並び替え手段により、取り出した前記複数の規則テンプレートを並び替える段階をさらに有することを特徴とする請求項3に記載の方法。
  6. スキップ手段により、抑制された規則テンプレートをスキップする段階をさらに有することを特徴とする請求項1に記載の方法。
  7. スキップ手段により、ある規則型が抑制されているか否かを判断し、当該規則型が抑制されていた場合、抑制された当該規則型に関連したすべての規則テンプレートをスキップする段階をさらに有することを特徴とする請求項1に記載の方法。
  8. スキップ手段により、並び替えられた前記複数の規則テンプレートのうちのある規則テンプレートが抑制されているか否かを判断し、当該規則テンプレートが抑制されていた場合、当該規則テンプレートをスキップする段階をさらに有することを特徴とする請求項1に記載の方法。
  9. 前記スキップする段階が、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則が前記1つ以上の属性にマッチするか否かに基づくことを特徴とする請求項6に記載の方法。
  10. プロセッサと、
    前記プロセッサに接続されたメモリと、
    属性エンジンと
    を具備し、
    前記属性エンジンは、
    対象属性に関連した複数の規則テンプレートを前記メモリから取り出す手順であって、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれが、少なくとも1つの規則型及び少なくとも1つの規則を含む手順と、
    前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則型に基づいて、取り出した前記複数の規則テンプレートを並び替える手順と、
    1つ以上の属性を含んだ入力データを受け取る手順と、
    取り出した前記複数の規則テンプレートの並び順に従って、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則と前記1つ以上の属性とのマッチングを行う手順と、
    マッチした規則からなる最終規則集合を生成する手順と
    を前記プロセッサにより実行するように構成されることを特徴とするシステム。
  11. 前記規則型が、マッチ集合を含むことを特徴とする請求項10に記載のシステム。
  12. 前記マッチ集合が、空集合又は1つ以上のマッチング属性からなる集合であることを特徴とする請求項11に記載のシステム。
  13. 前記属性エンジンが、前記マッチ集合中の前記1つ以上のマッチング属性に基づいて、取り出した前記複数の規則テンプレートを並び替える手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項12に記載のシステム。
  14. 前記属性エンジンが、前記マッチ集合のサイズに基づいて、取り出した前記複数の規則テンプレートを並び替える手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項12に記載のシステム。
  15. 前記属性エンジンが、抑制された規則テンプレートをスキップする手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項10に記載のシステム。
  16. 前記属性エンジンが、ある規則型が抑制されているか否かを判断し、当該規則型が抑制されていた場合、抑制された当該規則型に関連したすべての規則テンプレートをスキップする手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項10に記載のシステム。
  17. 前記属性エンジンが、並び替えられた前記複数の規則テンプレートのうちのある規則テンプレートが抑制されているか否かを判断し、当該規則テンプレートが抑制されていた場合、当該規則テンプレートをスキップする手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項10に記載のシステム。
  18. 前記属性エンジンが、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則が前記1つ以上の属性にマッチするか否かに基づいて、前記スキップする手順を前記プロセッサにより実行するようにさらに構成されることを特徴とする請求項15に記載のシステム。
  19. コンピュータに、
    対象属性に関連した複数の規則テンプレートを取り出す手順であって、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれが、少なくとも1つの規則型及び少なくとも1つの規則を含む手順と、
    前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則型に基づいて、取り出した前記複数の規則テンプレートを並び替える手順と、
    1つ以上の属性を含んだ入力データを受け取る手順と、
    取り出した前記複数の規則テンプレートの並び順に従って、前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則と前記1つ以上の属性とのマッチングを行う手順と、
    マッチした規則からなる最終規則集合を生成する手順と
    を実行させることを特徴とするプログラム。
  20. 前記規則型が、マッチ集合を含むことを特徴とする請求項19に記載のプログラム。
  21. 前記マッチ集合が、空集合又は1つ以上のマッチング属性からなる集合であることを特徴とする請求項20に記載のプログラム。
  22. 前記コンピュータに、
    前記マッチ集合中の前記1つ以上のマッチング属性に基づいて、取り出した前記複数の規則テンプレートを並び替える手順をさらに実行させることを特徴とする請求項21に記載のプログラム。
  23. 前記コンピュータに、
    前記マッチ集合のサイズに基づいて、取り出した前記複数の規則テンプレートを並び替える手順をさらに実行させることを特徴とする請求項21に記載のプログラム。
  24. 前記コンピュータに、
    抑制された規則テンプレートをスキップする手順をさらに実行させることを特徴とする請求項19に記載のプログラム。
  25. 前記コンピュータに、
    ある規則型が抑制されているか否かを判断し、当該規則型が抑制されていた場合、抑制された当該規則型に関連したすべての規則テンプレートをスキップする手順をさらに実行させることを特徴とする請求項19に記載のプログラム。
  26. 前記コンピュータに、
    並び替えられた前記複数の規則テンプレートのうちのある規則テンプレートが抑制されているか否かを判断し、当該規則テンプレートが抑制されていた場合、当該規則テンプレートをスキップする手順をさらに実行させることを特徴とする請求項19に記載のプログラム。
  27. 前記コンピュータに、
    前記複数の規則テンプレートのうちの1つ以上の規則テンプレートのそれぞれの前記規則が前記1つ以上の属性にマッチするか否かに基づいて、前記スキップする手順をさらに実行させることを特徴とする請求項24に記載のプログラム。
JP2008516816A 2005-06-14 2006-01-05 属性エンジン Expired - Fee Related JP4820408B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US69065905P 2005-06-14 2005-06-14
US60/690,659 2005-06-14
PCT/US2006/000837 WO2007001481A2 (en) 2005-06-14 2006-01-05 Attribute engine

Publications (2)

Publication Number Publication Date
JP2008544368A JP2008544368A (ja) 2008-12-04
JP4820408B2 true JP4820408B2 (ja) 2011-11-24

Family

ID=37595621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008516816A Expired - Fee Related JP4820408B2 (ja) 2005-06-14 2006-01-05 属性エンジン

Country Status (4)

Country Link
US (1) US7401061B2 (ja)
EP (1) EP1896968A4 (ja)
JP (1) JP4820408B2 (ja)
WO (1) WO2007001481A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521638B1 (en) 2001-08-03 2013-08-27 Joseph H. Cross System and method for selecting securities for investment
US8646025B2 (en) * 2005-12-21 2014-02-04 Mcafee, Inc. Automated local exception rule generation system, method and computer program product
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US9183582B2 (en) * 2007-10-26 2015-11-10 Zazzle Inc. Tiling process for digital image retrieval
US8200697B1 (en) * 2008-01-29 2012-06-12 Boundless Network Client integrated artwork/file repository system
US11676090B2 (en) 2011-11-29 2023-06-13 Model N, Inc. Enhanced multi-component object-based design, computation, and evaluation
US9361209B2 (en) * 2012-05-25 2016-06-07 International Business Machines Corporation Capturing domain validations and domain element initializations
US11074643B1 (en) 2012-12-21 2021-07-27 Model N, Inc. Method and systems for efficient product navigation and product configuration
US9466026B2 (en) * 2012-12-21 2016-10-11 Model N, Inc. Rule assignments and templating
US10235476B2 (en) * 2015-05-28 2019-03-19 Salesforce.Com, Inc. Matching objects using match rules and lookup key

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178416A (ja) * 2002-11-28 2004-06-24 Nec System Technologies Ltd ルール情報自動生成システム、ルール情報自動生成方法、ルール情報自動生成プログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0175039B1 (de) * 1984-09-18 1990-01-31 Wolf Merz Vorrichtung zum Ablegen und Aufsuchen von Schnittschablonen einer Partie eines Kleidungsstückes
US5046109A (en) * 1986-03-12 1991-09-03 Nikon Corporation Pattern inspection apparatus
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
JP3017740B2 (ja) * 1988-08-23 2000-03-13 ソニー株式会社 オンライン文字認識装置およびオンライン文字認識方法
US5253189A (en) * 1989-06-13 1993-10-12 Schlumberger Technologies, Inc. Qualitative kinematics
US5043929A (en) * 1989-06-13 1991-08-27 Schlumberger Technologies, Inc. Closed-form kinematics
US5297057A (en) * 1989-06-13 1994-03-22 Schlumberger Technologies, Inc. Method and apparatus for design and optimization for simulation of motion of mechanical linkages
US5315668A (en) * 1991-11-27 1994-05-24 The United States Of America As Represented By The Secretary Of The Air Force Offline text recognition without intraword character segmentation based on two-dimensional low frequency discrete Fourier transforms
US5446885A (en) * 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
US5796867A (en) * 1996-06-12 1998-08-18 Industrial Technology Research Institute Stroke-number-free and stroke-order-free on-line Chinese character recognition method
US5917489A (en) * 1997-01-31 1999-06-29 Microsoft Corporation System and method for creating, editing, and distributing rules for processing electronic messages
US7117172B1 (en) * 1999-03-11 2006-10-03 Corecard Software, Inc. Methods and systems for managing financial accounts
US6741976B1 (en) * 1999-07-01 2004-05-25 Alexander Tuzhilin Method and system for the creation, application and processing of logical rules in connection with biological, medical or biochemical data
US6456239B1 (en) * 1999-08-25 2002-09-24 Rf Technologies, Inc. Method and apparatus for locating mobile tags
US6606735B1 (en) * 1999-10-14 2003-08-12 Synopsys, Inc. Method and system for using error and filter layers in each DRC rule
CH693787A5 (fr) * 1999-10-26 2004-02-13 Bobst Sa Procédé pour préparer un système d'outils de façonnage, table de réglage pour mettre en oeuvre ce procédé et ensemble d'éléments pour préparer une forme supérieure d'éjection.
US7184967B1 (en) * 2001-03-06 2007-02-27 Microsoft Corporation System and method utilizing a graphical user interface of a business process workflow scheduling program
US7159125B2 (en) * 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US7058937B2 (en) * 2002-04-12 2006-06-06 Intel Corporation Methods and systems for integrated scheduling and resource management for a compiler
US7082602B2 (en) * 2002-04-12 2006-07-25 Intel Corporation Function unit based finite state automata data structure, transitions and methods for making the same
US6747643B2 (en) * 2002-06-03 2004-06-08 Omnigon Technologies Ltd. Method of detecting, interpreting, recognizing, identifying and comparing n-dimensional shapes, partial shapes, embedded shapes and shape collages using multidimensional attractor tokens
US20040002958A1 (en) * 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US7080142B2 (en) 2002-09-20 2006-07-18 Hewlett-Packard Development Company, L.P. Extensible computer management rule engine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178416A (ja) * 2002-11-28 2004-06-24 Nec System Technologies Ltd ルール情報自動生成システム、ルール情報自動生成方法、ルール情報自動生成プログラム

Also Published As

Publication number Publication date
US20070005546A1 (en) 2007-01-04
WO2007001481A2 (en) 2007-01-04
JP2008544368A (ja) 2008-12-04
EP1896968A2 (en) 2008-03-12
US7401061B2 (en) 2008-07-15
WO2007001481A3 (en) 2007-11-08
EP1896968A4 (en) 2010-05-19

Similar Documents

Publication Publication Date Title
JP4820408B2 (ja) 属性エンジン
CN112099768B (zh) 业务流程处理方法、装置及计算机可读存储介质
US7676794B2 (en) Testing scenarios that sequentially execute a plurality of application program interfaces
JP4300808B2 (ja) 統合ログ表示方法及びシステム
US20010047279A1 (en) Automating high-level business functions in a generic manner
CN102257487B (zh) 分析事件
WO2009036187A1 (en) Systems and methods for dynamic quote generation
JP2008134705A (ja) データ処理方法及びデータ分析装置
US20120150825A1 (en) Cleansing a Database System to Improve Data Quality
JP2003044491A (ja) 知識分析システムならびに同システムにおける分析条件設定方法、分析条件保存方法および再分析処理方法
US20070089065A1 (en) Secondary navigation
AU2006202888A1 (en) Opportunity management, tracking and reporting system
US8650221B2 (en) Systems and methods to associate invoice data with a corresponding original invoice copy in a stack of invoices
JP5294002B2 (ja) 文書管理システム、文書管理プログラム及び文書管理方法
CN112052262A (zh) 支付订单处理线路展示的方法、装置和电子设备
CN113157904A (zh) 基于dfa算法的敏感词过滤方法及系统
US20030142146A1 (en) Method and system for displaying actions and historical content in an output view
CN115660607B (zh) 一种审批链自动生成方法、装置以及计算机存储介质
JP4772368B2 (ja) ビジネスプロセス例外処理生成支援装置およびプログラム
JP2008250861A (ja) コード変換システム、コード変換方法、コード対応関係情報生成方法、およびコンピュータプログラム
JP2008165409A (ja) 電子帳票検索装置、電子帳票検索方法及びプログラム
JP5892006B2 (ja) 分析プログラム、分析方法及び分析装置
WO2011008073A1 (en) System and method for work flow process management and design
JP7126808B2 (ja) 情報処理装置および情報処理装置用プログラム
JPWO2007105512A1 (ja) 回送データ管理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101124

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110902

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4820408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees