(57)【特許請求の範囲】
【請求項１】
ソフトウェア命令を処理することなしにワイヤスピードで証券取引のリスク評価を行なうためのコンピュータシステムであって、前記コンピュータシステムは、
（Ａ）メモリと、
（Ｂ）ネットワーク接続部と、
（Ｃ）不揮発性の組み込みハードウェア命令を含む再プログラム可能な集積回路（ＩＣ）デバイスを含み、
前記組み込みハードウェア命令に従って、前記ＩＣデバイスは
ａ）前記ＩＣデバイスによって、前記証券取引のために入ってくる注文を受信するステップと、
ｂ）前記ＩＣデバイスによって、前記注文を構文解析して複数の注文要素にするステップと、
ｃ）前記ＩＣデバイスによって、予め定められたリスク評価基準に基づいて１つ以上の注文要素を評価するステップと、
ｄ１）もし前記注文要素が前記予め定められたリスク評価基準をパスするならば、前記注文を後に続く処理のために証券取引所に渡すことを許可するステップと、
ｄ２）もし前記注文要素が前記予め定められたリスク評価基準をパスしないならば、前記注文を証券取引所に渡す前に切り捨てるステップと
を含む方法を実行し、
前記組み込みハードウェア命令は一時的なものでなく、揮発性コンピュータメモリに読み込まれたソフトウェア命令を用いることなく処理されること
を特徴とするコンピュータシステム。
【請求項２】
前記ＩＣデバイスは、ＦＰＧＡ、ＰＡＬ、ＰＬＡ又はＣＰＬＤデバイスであること
を特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記ＩＣデバイスは、１秒当たり約５０万という注文の処理量を処理することができ、最低約３０のＴＣＰセッションをサポートすることができること
を特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記ＩＣデバイスは、ローカル又はリモートで再プログラム可能であること
を特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記予め定められたリスク評価基準は、非公開の証券取引リスト、最小又は最大注文サイズ、最小又は最大注文ドル価格、最小又は最大想定元本、注文タイプ、ブローカーＩＤ、及び証券又は通貨設定を含むグループから選択された１以上のリスク管理の評価基準を含むこと
を特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記ＩＣデバイスは、更新されたリスク評価基準を周期的に受信するための組み込みハードウェア命令を更に含むこと
を特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記ＩＣデバイスは、検査済みの注文をログに記録するための組み込みハードウェア命令を含むこと
を特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
前記入ってくる注文は、前記取引に特化したフォーマットで前記デバイスに入力されること
を特徴とする請求項１に記載のコンピュータシステム。
【請求項９】
前記フォーマットは、ＦＩＸ、ＯＵＣＨ、又は、ＡｒｃａＤｉｒｅｃｔであること
を特徴とする請求項８に記載のコンピュータシステム。
【請求項１０】
前記ＩＣデバイスは、注文が前記証券取引所に行く前に、該注文を完全に切り捨てるための組み込みハードウェア命令を更に含むこと
を特徴とする請求項１に記載のコンピュータシステム。
【請求項１１】
前記ＩＣデバイスは、セキュリティー違反又は１つ以上の評価基準に満たない取引に起因して、セッションをブロックするための組み込みハードウェア命令を更に含むこと
を特徴とする請求項１に記載のコンピュータシステム。
【請求項１２】
再プログラム可能な集積回路（ＩＣ）デバイスを用いて、証券取引のリスク評価を行なうための方法であって、前記再プログラム可能な集積回路（ＩＣ）デバイスは、前記方法を実行するために、不揮発性の組み込みハードウェア命令を含み、前記方法は、ソフトウェア命令を処理することなしにワイヤスピードで前記ＩＣデバイスによって実行され、
ａ）前記証券取引のために入ってくる注文を受信するステップと、
ｂ）前記注文を構文解析して複数の注文要素にするステップと、
ｃ）予め定められたリスク評価基準に基づいて１つ以上の注文要素を評価するステップと、
ｄ１）もし前記注文要素が前記予め定められたリスク評価基準をパスするならば、前記注文を後に続く処理のために証券取引所に渡すことを許可するステップと、
ｄ２）もし前記注文要素が前記予め定められたリスク評価基準をパスしないならば、前記注文を証券取引所に渡す前に切り捨てるステップと
を含むことを特徴とする方法。
【請求項１３】
前記ＩＣデバイスは、ＦＰＧＡ、ＰＡＬ、ＰＬＡ又はＣＰＬＤデバイスであること
を特徴とする請求項１２に記載の方法。
【請求項１４】
前記証券取引は、持分証券、債務証券又は通貨手形の購入又は売却であること
を特徴とする請求項１２に記載の方法。
【請求項１５】
証券取引のリスク評価を行なうために、不揮発性の組み込みハードウェア命令を含む再プログラム可能な集積回路（ＩＣ）デバイスであって、前記命令は、
ａ）前記ＩＣデバイスによって、前記証券取引のために入ってくる注文を受信するステップと、
ｂ）前記ＩＣデバイスによって、前記注文を構文解析して複数の注文要素にするステップと、
ｃ）前記ＩＣデバイスによって、予め定められたリスク評価基準に基づいて１つ以上の注文要素を評価するステップと、
ｄ１）もし前記注文要素が前記予め定められたリスク評価基準をパスするならば、前記注文を後に続く処理のために証券取引所に渡すことを許可するステップと、
ｄ２）もし前記注文要素が前記予め定められたリスク評価基準をパスしないならば、前記注文を証券取引所に渡す前に切り捨てるステップと
を含む方法をコーディングしたものであり、
前記組み込みハードウェア命令は、揮発性コンピュータメモリに読み込まれたソフトウェア命令を用いることなくワイヤスピードで処理されること
を特徴とする再プログラム可能な集積回路（ＩＣ）デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１０年１１月１９日に出願された米国仮特許出願第６１／４１５，３８２号に基づく優先権を主張し、その全内容は参照により本出願に組み込まれる。
【０００２】
本発明は、金融証券取引の取引前リスク（pre-trade risk）を管理することに関する。より具体的には、本発明は、ハードウェア組み込みのコンピュータコードを含む再プログラム可能な高速ハードウェアデバイスに関する。当該コンピュータコードは、入ってくる証券注文（オーダー）を構文解析（パーズ）して分析し、当該注文が、ブローカーディーラー又はその他の金融機関によって設定されたリスク、コンプライアンス及び規制パラメータの範囲内にあることを保証する。
【背景技術】
【０００３】
ブローカーディーラーは、自己勘定又は顧客の代理として証券を取引する金融機関を説明するために、米国金融サービス規則（United States financial services regulations）で用いられる用語である。多くのブローカーディーラーは、ブローカーディーラーサービスを単独で従事する独立した会社であるが、その他多くは、事業体、或は、商業銀行又は投資銀行又は投資会社の子会社である。
【０００４】
顧客に代わって取引注文を実行する場合、金融機関は、ブローカーとしての役割を果たすと考えられる。自己勘定で取引を実行する場合、金融機関は、ディーラーとしての役割を果たすと考えられる。ディーラーとして顧客又はその他の会社から購入した証券は、再びディーラーとして行動して、その他の顧客又はその他の会社に売却することができ、又は、その証券をその会社の所有財産の一部にすることができる。
【０００５】
ブローカーディーラーは、入ってくる注文を市場に提出する前に、それら注文のリスク／コンプライアンス検証を行なう責任がある。また、ブローカーディーラーは、入ってくるすべての顧客の注文について、取引前のリスク／コンプライアンスチェックを行なう責任がある。それは、ディーラーが執行ブローカー（executing broker）としての役割を果たす。そのようなチェックを行なう場所において、現在のところ、ソフトウェアのみのシステムが存在する。そのようなソフトウェアのみのリスク管理製品は、リスク管理手続きに従って入力メッセージを検査して、取引所に注文を通すかどうかを決定する前に、すべてのネットワークスタックを使い果たすために、全部の入力メッセージを待たなければならない。これらのソフトウェアのみのシステムは、特定の顧客タイプ（例えば、非常に高速な取引を必要とするもの）を阻害する待ち時間（レイテンシー）を生じさせる。
【０００６】
ｉｎ−ＦＰＧＡ Ｔｒａｄｉｎｇ Ｓｙｓｔｅｍｓ社（ワシントン州シアトル市）は、ハードウェアアクセラレート自動取引参照システム（hardware-accelerated automated trading reference system）を有する。そのｉｎ−ＦＰＧＡシステムは、単一のＦＰＧＡロジック処理基板上に、ＮＡＳＤＡＱ  ＩＴＣＨとＯＵＣＨの受注プロトコルを組み合わせて一体にし、２μ秒未満まで取引応答待ち時間を減らすとのことである。しかしながら、このシステムは、予め定められた市場条件（市況）に基づいて、注文を発生させる。すなわち、ｉｎ−ＦＰＧＡシステムは、現在の市況を評価するために予めプログラムされ、もしシステムが現在の価格付けや、特定証券の購入の可能性をうまく利用できるならば、システムは、そのような市況を活用するために新しい注文を生成し得る。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ｉｎ−ＦＰＧＡシステムは、新しく入ってくる注文（入り注文）のリスク管理評価を行なうためにプログラムされてない。
【課題を解決するための手段】
【０００８】
本発明の１つの態様は、証券取引のリスク評価を行なうための組み込みハードウェア命令（embedded hardware instructions）を含む再プログラム可能な集積回路（ＩＣ）デバイスに関する。命令コードは、
ａ）前記ＩＣデバイスによって、証券取引のために入ってくる注文を受信するステップと、
ｂ）前記ＩＣデバイスによって、前記注文を構文解析して複数の注文要素にするステップと、
ｃ）前記ＩＣデバイスによって、予め定められた評価基準に基づいて１つ以上の注文要素を評価するステップと、
ｄ１）もし前記注文要素が前記予め定められた評価基準をパスするならば、前記注文を後に続く処理のために証券取引所に渡すことを許可するステップと、
ｄ２）もし前記注文要素が前記予め定められた評価基準をパスしないならば、前記注文を証券取引所に渡す前に切り捨てるステップと
からなる方法を含む。
【０００９】
本発明の別の態様は、再プログラム可能な集積回路（ＩＣ）デバイスを用いて証券取引のリスク評価を行なうための方法に関するものであり、ＩＣデバイスは、当該方法を実行するための組み込みハードウェア命令を含む。前記方法は、
ａ）前記ＩＣデバイスに、前記証券取引のための注文を転送するステップと、
ｂ）前記ＩＣデバイスによって、前記注文を構文解析して複数の注文要素にするステップと、
ｃ）前記ＩＣデバイスによって、予め定められた評価基準に基づいて１つ以上の注文要素を評価するステップと、
ｄ１）もし前記注文要素が前記予め定められた評価基準をパスするならば、前記注文を後に続く処理のために証券取引所に渡すことを許可するステップと、
ｄ２）もし前記注文要素が前記予め定められた評価基準をパスしないならば、前記注文を証券取引所に渡す前に切り捨てるステップと
を含む。
【００１０】
本発明は、インラインハードウェアメッセージフィルタデバイス（システムとも呼ばれる）に関するものであり、当該デバイスは、ＴＣＰ／ＩＰ又はＵＤＰなどのようなコンピュータネットワークプロトコル上でネットワークトラフィックを詳細に調べる。本発明は、オンチップのハードウェア命令の形式で、コンピュータコードを含む集積回路（ＩＣ）デバイスに実装される。当該デバイスは、特注のものとすることができ、或は、それは市販の再プログラム可能なＩＣデバイス、例えば、ＦＰＧＡ、ＰＡＬ、ＰＬＡ又はＣＰＬＤデバイスとすることもでき、それは、本発明を実施するための組み込みハードウェア命令を含む。ＩＣデバイスは、１秒間につき約５０万の入り注文の処理量（スループット）を処理することができ、最低約３０のＴＣＰセッションをサポートすることができる。ＩＣデバイスは、例えば、インターネット又は個人用のローカルエリアネットワークを介して、ローカル又はリモートで再プログラム可能である。ＩＣデバイスは、リスク評価のために、更新された予め定められた基準を周期的に受信するために、組み込みハードウェア命令を含むことができる。そのような評価は、非公開の証券取引リスト、最小又は最大注文サイズ、最小又は最大注文ドル価格、最小又は最大想定元本、注文タイプ、ブローカーＩＤ、及び証券又は通貨設定のうち１つ以上のものを含むことができる。ＩＣデバイスは、例えば、一日に数回、毎日、或は毎週、更新された評価基準を周期的に（定期的に、又は、不定期的に）受信するために、組み込みハードウェア命令を含むことができる。
【００１１】
注文を含むデータメッセージは、取引に特化したフォーマットで、例えば、ＦＩＸ、ＯＵＣＨ、ＡｒｃａＤｉｒｅｃｔ、又はその他のフォーマットで、デバイスに入力される。予め定められたリスク評価フィルタを満足するメッセージは、適切な証券取引の実行のために、当該デバイスを通過することが許可される。
【００１２】
特定のリスク評価フィルタをパスしない注文を含むデータメッセージは、切り捨てられる。切り捨ては、リスク評価フィルタの下流で処理されないようにするために、メッセージを修正又は削除する手段として理解することができる。メッセージは、完全に切り捨てられ得る。すなわち、それらは、取引に渡されないように削除される。そのような完全な削除は、メッセージのＴＣＰセッションを終了させることによって、又は、その他の手段によって、実施することができる。一方、リスク評価フィルタを通過しないメッセージは、それらが証券取引所において却下されるように部分的に切り捨てられ得る。当該証券取引所では、証券取引を行なうために完全なメッセージを必要とする。部分的な切り捨ては、メッセージの一部分の変更や、判読不能に変形や、削除を含み、それにより当該メッセージは、証券取引所によって完全な注文として認識されず、取引所によって却下されるか、又は、取引所からセッション／アプリケーションレベルでの却下を引き起こす（トリガーする）。さらに、本発明は、データ管理の目的のために、検査済みの注文をログに記録するための組み込みハードウェア命令を含むこともできる。
【００１３】
本発明のハードウェアフィルタデバイスは、既存のソフトウェアのみの製品よりも、極めて高速なメッセージ処理を提供する。本発明は、メッセージ又は注文が、意思決定がなされる前に完全なメッセージを記憶する必要なしに、本システムを通り抜けるように、ブローカーディーラーにメッセージ又は注文をチェックして通過させることを許容する。本発明のハードウェアのみの機能は、注文の妥当性検証の速度を最大にし、取引前チェックを実施するように機能する。
【００１４】
ある実施形態では、注文は、通り抜け（カットスルー）モードで、ハードウェアフィルタを通過する。すなわち、ハードウェアフィルタデバイスは、注文が当該デバイスを通過するように当該注文に基づいて行動する。もし注文がリスク評価フィルタに何の違反もしないならば、注文は当該フィルタデバイスを出て、処理するために取引所に渡される。不完全な注文は、故意に切り捨てられるか、または、当該不完全な注文は当該フィルタデバイスを介して取引所に渡されて、不完全な注文パケットとして却下される。
【００１５】
いくつかの実施形態では、ハードウェアフィルタデバイスは、記憶転送モードで機能する。すなわち、もしフィルタデバイスが注文を不完全なものとして認識した場合、又は一連の連続した注文のうちの一つと認識した場合、当該デバイスは、注文の残りの部分又は残りのパケットが到着するまで、結果的にその注文を一時記憶装置に記憶する。すべての注文（すなわち、注文の全シリーズ）を受信した後で、フィルタデバイスはリスク評価フィルタを適用し、上述したように、その注文を取引所に渡すか、又は、その注文を切り捨てることを行なう。また、もしハードウェアフィルタデバイスが部分的に受信された注文が、リスク評価フィルタに違反するならば、当該デバイスはその不完全な注文を切り捨てることができ、後に続く一連の注文を無視する。
【００１６】
ある実施形態では、本発明のデバイスは、通り抜けモードと記憶転送モードの両方の構成を採用する。本発明のデバイスは、さらに、以下で説明する、１つのデバイス設定として、通り抜けモードと記憶転送モードのうち少なくとも１つのためのハードウェア命令を含むことができる。
【００１７】
本発明は、実質的に、最小の注文待ち時間の遅延を伴うワイヤスピードで、要求された機能性を傷つけることなく、注文の妥当性を確認することができる。ワイヤスピードとは、本発明がソフトウェアのみの処理を必要とせずに、ハードウェアの速度で、入りメッセージトラフィックを処理するように動作することを意味している。すべてのメッセージトラフィックはハードウェア上のオンチップで処理され、揮発性のコンピュータメモリにロードされるソフトウェア命令を頼りにしていない。それによって、待ち時間を最小化して、迅速な取引処理を可能とする。本発明は、すべての顧客に対してきわめて大きな利点を提供し、最も待ち時間に敏感な顧客は、とりわけ恩恵を受けることができる。
【００１８】
本システムは、顧客のコンピュータと証券取引所の注文受理コンピュータ間を直接的に又は間接的に流れる（例えば、ＴＣＰやＦＩＸセッションを介して流れる）、全ての正当なネットワークトラフィックに対して、受動的なデバイスとして機能する。更なる実施形態では、本発明のハードウェアのみのソリューションは、ソフトウェア命令と組み合わせて、機能性を拡張させることもできる。
【００１９】
本デバイスは、ＴＣＰ／ＩＰ（または、その他の）プロトコルを介して、ネットワークトラフィックの内容を精査する。顧客注文を含む入りデータメッセージは、該メッセージが当該デバイスに組み込まれている様々な取引前フィルタを通過するように、構文解析（パーズ）される。本デバイスは、セキュリティー違反又は１つ以上の評価基準に満たない取引に起因して、セッションをブロックするための組み込みハードウェア命令を含むことができる。すなわち、取引前リスク検査をパスしないメッセージや、同じセッションにおける後続メッセージの全てを、ブローカーディーラーがブロックを除去することを選択するまで、取引所に進むことをブロックすることができる。そのようなブロック動作は、ブローカーディーラーを過度のリスクにさらし得る取引を、当該ブローカーディーラーに処理させないようにすることができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、取引前チェックはソフトウェアによって実施される、従来のリスクチェックプロセスを示す。
【図２】図２は、本発明の実施形態であり、証券取引所への顧客の注文が、ＦＰＧＡベースのＩＣデバイス形式でのハードウェアリスクフィルタを首尾よく通過することを示す。
【図３】図３は、本発明の実施形態であり、注文がリスクフィルタを通過せず、それゆえに、ＩＣデバイスを出る前に切り捨てられたことを示す。
【図４】図４は、本発明の方法の実施形態に従って、リスク分析評価を行なうための手順を示すフローチャートである。
【図５】図５は、本発明の実施形態に係る共通ハードウェアと専用ハードウェアの実施例を示す。
【図６】図６は、市況を用いて顧客の取引可能な分野を定期的に調整するためのワークフロープロセスの実施形態を示す。
【図７】図７は、本発明に基づいたＩＣデバイスのためのハードウェア設定とリスク管理ルールを含むグラフィカルユーザインターフェースの実施形態を示す。
【発明を実施するための形態】
【００２１】
本発明は、証券取引のリスク評価を実施するための組み込みハードウェア命令を含む再プログラム可能な集積回路（ＩＣ）デバイスとして実装される。当該デバイスは、特定の機能に特注設計された、特定用途向け集積回路（ＡＳＩＣ）の形式をとり得る。例えば、ブローカーディーラーは、特注のチップを設計及び製造する、例えば、インフィニオンテクノロジーズ社、フリースケールセミコンダクタ社、アバコテクノロジー社などの集積回路製造業者とパートナーを組むことができる。また、ブローカーディーラーは、ＩＣチップの設計や半外に特化し、実際の製造の際に半導体製造工場を利用する、自前の製造工場を持たないＡＳＩＣサプライヤー（例えば、アローカスタムロジックソリューションズ社、イーエイシック社やインテリプロップ（Intelliprop）社など）とパートナーを組むことができる。それぞれのサプライヤーは、特定用途向けにカスタマイズされたチップを準備するために具体的な情報を提供することになる。
【００２２】
また、本発明に係るシステムは、市販の再プログラム可能なＩＣデバイスとすることもできる。再プログラム可能なＩＣデバイスの例は、それらに限定されるものではないが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＰＡＬ（プログラマブルアレイロジック）、ＰＬＡ（プログラマブルロジックアレイ）及びＣＰＬＤ（コンプレックスプログラマブルロジックデバイス、結合プログラム可能論理回路）を含む。これらの種類の集積回路デバイスは、ＩＣチップを含み、製造後に顧客又は設計者によって構成できるように設計される。典型的には、Ｖｅｒｉｌｏｇ又はＶＨＤＬなどのハードウェア記述言語、或は、ＳｙｓｔｅｍＣ又はＣ／Ｃ＋＋などのコンピュータプログラミング言語を用いて構成される。それぞれのＩＣデバイスは、一般的にはチップベンダーによって推奨される特定のコンピュータ言語を用いて構成されることになる。ブローカーディーラーは、ＩＣデバイスのハードウェアに組み込まれ得るコードを開発するためにベンダーと手を組むことができる。または、ブローカーディーラーは、既製品の再プログラム可能なＩＣデバイスを購入でき、コンピュータコード命令を設計することができる。
【００２３】
そのような実施形態において、プログラマーは、本発明に基づいて、入ってくる注文のリスク管理評価を実施のためのコンピュータコード命令を生成するために、ローカル又はネットワークコンピュータにおいて特定のプログラム又はプログラミング言語を利用することもできる。そして、コンピュータ又はその他のプログラミング手段は、コンピュータハードウェア命令として、ＩＣデバイスにリスク管理ルールを組み込むために用いられ得る。
【００２４】
ＩＣデバイスにおける組み込みリスク管理ルールは、コンピュータコードを修正して、リフレッシュされた命令コードをＩＣチップ又はデバイスに組み込むことによって、必要に応じて更新され得る。例えば、特定の証券又は特定の発行人を追加又は削除するために、取引可能な証券リストが更新された場合、更新されたコンピュータコードは、ＩＣデバイスに組み込まれることになる。本発明に係る方法の個別の実装に応じて、組み込まれたコードの一部を更新することができ、又は、チップに組み込まれたコードのすべてを更新されたコードと置き換えることもできる。
【００２５】
扱い易くするために、本発明に係るデバイスは、一般的に、カード又はプリント回路基板など、ある種の支持構造物上又はその中に実装され得る。その回路基板は、この技術分野で周知である、規格どおりのバススロット又は独自のバススロットでコンピュータに装着される。また、ＩＣデバイスは、１つ以上のＩＣチップとその関連回路とを含む回路基板の形式で商業化が可能なものとすることもできる。
【００２６】
ＩＣデバイスは、どんな種類のコンピュータシステムにも取り付けることができる。そのようなコンピュータシステムは、プロセッサ、キーボードやマウスなどの入力デバイス、ハードディスクや揮発性又は不揮発性メモリなどの記憶装置、本発明の機能させるためのコンピュータコードを含むことができる。コンピュータシステムは、従来のメインフレーム、マイクロコンピュータ、又はミニコンピュータとすることができ、或は、特注設計のコンピュータとすることもできる。コンピュータシステムは、典型的に、単一のコンピュータとすることができるが、ある実施形態では、複数のネットワークコンピュータ（例えば、クライアント／サーバの構成）を含むことができる。すなわち、ある実施形態では、ＩＣデバイスを含むコンピュータは、メインコンピュータとして機能することができ、データ記録又はデータ記憶などの処理は、１つ以上のクライアントコンピュータに引き継ぐこともできる。クライアントコンピュータは、それ自体で、プロセッサ、入力手段や記憶装置を備えることができ、或は、クライアントコンピュータは、それ自体で独立した処理能力を備えていないが、それにつながった、すなわち、それにネットワークで接続されたサーバなどの別のコンピュータのコンピュータ資源に頼るダム端末とすることもできる。
【００２７】
さらに、コンピュータシステムは、ローカルエリアネットワーク（ＬＡＮ）接続を介して、又はインターネット接続を介して、その他のコンピュータとネットワーク接続することもできる。また、システムは、本発明によって生成された、又は処理されたデータの複製を保管するバックアップシステムを含むこともできる。また、コンピュータシステムは、対称型マルチプロセッシング（ＳＭＰ）や、マルチプロセッサのコンピュータアーキテクチャハードウェアを用いるようにすることもできる。ただし、２つ以上の同一のプロセッサは、単一の共有メインメモリに接続され、単一のオペレーティングインスタンスによって制御される。
【００２８】
コンピュータシステムの構成要素は、従来型のものとすることができるが、概してシステムは、それぞれの個別の実装に応じて、カスタムして構成することもできる。コンピュータシステムは、特定のアーキテクチャ（例えば、パーソナル／マイクロコンピュータ、ミニコンピュータ、又はメインフレームシステム）上で実行することができる。オペレーティングシステム（ＯＳ）は、ＵＮＩＸ（登録商標）／Ｌｉｎｕｘ（登録商標）、ＳＰＡＲＣ、ＰＯＷＥＲやＩｔａｎｉｕｍベースのシステム、ゼットアーキテクチャ（z/Architecture）、システム／３６０（System/360）、アップルＯＳＸやマイクロソフトウィンドウズ（登録商標）を含むことができる。コンピュータシステムは、典型的に、ＯＳのオーバーヘッドを最小化して、ＩＣデバイスのスループットを最大化するように最適化されることになる。
【００２９】
本発明の１つの実施形態では、ＩＣデバイスは、高いスループットを可能とし、１システムにつき多数のＴＣＰセッションをサポートできるように構成される。例えば、デバイスは、１秒間につき約５０万のＦＩＸ／ＯＵＣＨメッセージの検査といったスループット（処理量）を処理することができる。本発明の１つの実施形態では、ハードウェアデバイスにおける、一方向の総待ち時間の負担は、おおむね１パケット当たり約１マイクロ秒である。
【００３０】
ある実施形態では、システムは、例えば、リスク管理の評価基準を更新するために、リモートで管理される機能を備える。また、システムは、ブローカーディーラーにセッション解除やその他予め定められた動作又は行動を通知するために、ネットワークメッセージ、電子メール、ＡＰＩアラート、又はその他の手段を介して警告を発することができる。
【００３１】
議論を簡潔にするために、本明細書の開示では、通貨の例としてドルについて言及する。しかしながら、当然のことながら、本発明の実施において通貨の種類は何ら限定するものではない。本発明は、ユーロ、フラン、ポンド、ランド、又は、円などいかなる通貨にも同じように適用可能である。ある実施形態では、ＩＣデバイスは、複数の通貨で価格の付けられた入り注文を検査することができる。例えば、ＩＣデバイスは、米ドル、カナダドルやユーロ建ての入り注文を検査することを許容するためのハードウェア命令を含むことができる。
【００３２】
また、本明細書の開示は、金融取引の例として株式取得又は株式売却について言及する。しかしながら、本発明は、株式又はＡＤＲ（米国預託証券）など持分証券や、スワップなどの債務証券や、通貨先物などの通貨手形の購入又は売却といったあらゆる種類の金融証券のリスク評価に適用可能である。
【００３３】
構文解析された入り注文について実施されるべきリスクチェックは、予め決められた特定の評価基準に従った検査を含むことができる。代表的な例（これに限定されるものでなく、包括的なものではない例）として、予め決められた評価基準には下記の項目を含む。
【００３４】
Ａ．非公開証券リスト  ―  顧客が取引できる証券の所定リストに対して証券記号又はチッカーをチェックすること。非公開証券リストは、顧客が取引できる証券を含む証券リストの形式（「ホワイトリスト」）を採ることができ、又は、非公開証券リストは、と客が取引を許可されていない全ての証券のリスト（「ブラックリスト」）とすることもできる。ブローカーディーラーによる実施として、取引可能な証券のルックアップテーブル又はその他の予め定められたリストとすることもできる。予め定められた非公開証券リストにおける特定の証券は、ブローカーディーラーによって定期的に修正することもでき、顧客に応じて変更することができ、又は、当該リストを全ての顧客に対して同一のものとすることもできる（図６参照）。証券記号フィールドの長さは、必要に応じて空文字（ヌル）又はその他のプレースホルダー文字を用いて埋めることができる。もし注文が非公開証券リスト（ブラックリスト）にある証券記号を含むならば、又は、証券記号は顧客の取引可能な母集団（ホワイトリスト）に入っていないならば、デバイスはセッションを切断することができ、エラーメッセージを発行することができる。また、顧客の興味のある証券が証券マスターリストに含まれることを保証するために、顧客による定期的な（毎日、毎週、毎月など）認証プロセスもあり得る。
【００３５】
Ｂ．１注文当たりの株式  ―  ブローカーディーラーは、（大きな注文に対する）リスクを低減するために、又は、（小さな注文に対する）端株取引を排除するために、１注文当たりの株式の最小数又は最大数を要するルールを設定することができる。
【００３６】
Ｃ．１注文当たりのドル価格  ―  （高額なドル価格での注文に対する）リスクを低減するため、又は（低額なドル価格での注文に対する）取引コストを低減するために、最小又は最大のドル価格を設けることができる。
【００３７】
Ｄ．１注文当たりの最大又は最小想定元本  ―  想定元本は、数量×価格として計算することができる。価格は現在の市場価格、以前の終値、又は別の認められた価格水準に基づくことができる。システムは、次のように証券／価格のペアを記憶することができる。
ＭＳＦＴ， ２４．６８
ＩＢＭ， １３４．８９
ＡＰＰＬ， ２８６．８６
ＶＩＡ．Ｂ， ３６．５２
もし注文がシステムによって走査されたときに、証券記号が利用可能でない（すなわち、証券記号が証券リスト上にない）ならば、システムはセッションを切断してエラーメッセージを発行することができる。ブローカーディーラーは、顧客の取引可能な母集団にある全ての記号をカバーすることができる。参照（ルックアップ）価格は、想定元本の計算のために用いられ得る。
【００３８】
いくつかの注文指示プロトコルに基づく置換注文（replace orders）は、入力メッセージ中に記号を含まないので、システムはこの状況に対処するように構成され得る。１つの実施形態では、システムは、ログをとるために全ての新しい注文をキャッシュする。サンプル注文ログエントリは、“タイムスタンプ，注文トークン，株式（証券），数量，価格”（“TimeStamp，OrderToken，Stock，Qty，Price”）として表すことができる。
【００３９】
置換注文が到達するとき、システムはログテーブルにおけるオリジナルの注文トークンを参照することができ、後に続く価格の照合のために適切な証券記号を抽出することができる。
【００４０】
Ｅ．制限された注文タイプ  ―  ある特定の注文タイプを禁止することができ、予め定められた評価基準は、注文処理を続行することをそのような制限された注文タイプには許容せず、当該注文は切り捨てられることになる。
【００４１】
Ｆ．ブローカー識別（ＩＤ）（指定ブローカー）  ―  証券注文において識別されたブローカーは、予め適任とされたブローカーの（設定可能な）リストと比較され得る。もし注文における指名されたブローカーが予め適任とされたブローカーリスト上にないならば、当該注文は却下され得る。例えば、もし有効な指定ブローカーのリストがＤＢ［ドイツ銀行］、ＧＳ［ゴールドマンサックス］、ＭＳ［モルガンスタンレー］、ＣＳ［クレディスイス］、ＮＭ［野村證券］やＢＣ［バークレイズキャピタル］である場合に、注文がこれらの記号のいずれも含んでいないならば、当該注文はリスク管理評価をパスすることはなく、拒絶されて切り捨てられ得る。
【００４２】
もし予め定められたリスク評価基準のいずれかが侵害されたならば、又は、予め定められたリスク評価基準のいずれかがシステムによって認識できない（例えば、価格が想定の範囲外など）ならば、未処理の証券注文は、本発明に係るハードウェアシステムによって、ブローカーディーラーのリスク規定に違反すると見なされて、該注文を拒絶したり、切り捨てたりすることができる。注文を処理することを拒否する代わりに、システムは切り捨てること、例えば、パケットを判読不能に変形させることができる。そして、システムは特定のセッションに対してＴＣＰリセットを発行することができ、一次ＩＰとバックアップＩＰの両方に対して“ブロッキング”モードに入ることができる。切り捨てられた、又は判読不能に変形された証券注文は、証券取引所に進み得るが、取引所は当該注文を不完全なもので理解できないものとみなし、当該注文は却下されることになる。
【００４３】
限られた数の例外的な状況では、注文がリスク管理フィルタを通過していないが、取引所に渡すことを許容する場合もあり得る。例えば、パケットのＣＲＣチェックサムが無効である（例えば、電線上の雑音）ならば、セッションを終わらせることなく、当該パケットを取引所に転送することを許可することができる。
【００４４】
１つの実施形態では、利用者は、再プログラム可能なチップの設定を周期的に（例えば、日中、１日１回又は週ごとに）、グラフィカルユーザインターフェース（図７参照）を介して、又は、設定可能なスクリプト／アプリケーションプログラミングインターフェース（ＡＰＩ）／コマンドラインインターフェース（ＣＬＩ）リモートで更新することができる。そのような操作の例としては、特定の調整タグのオン／オフを検査すること、リスクの限界範囲を変更すること、リストの値を追加することや、その他の設定を含み得る。コーディングの工程を容易にするために、そのような更新は、ユーザインターフェース又はスクリプトを介して設定を変更するような体裁とすることができるが、これらの更新は、一般的には、更新されたコンパイル済みハードウェアコード命令をＩＣデバイスに送信することになる。
【００４５】
また、システムは、再プログラム可能なデバイスの動作を制御するために、設定可能なテーブルを備えることができる。設定可能なテーブルの一例は次のように与えられる：
【表１】
0005629387.tif 000002
【００４６】
Ａ．プロトコル：テーブルをどのようにして読み込むかを規定している、ＦＩＸ、ＯＵＣＨ、ＡｒｃａＤｉｒｅｃｔ又はそのほかのプロトコルを示す。
【００４７】
Ｂ．タグ/オフセット：ＦＩＸプロトコルでは、このフィールドは、検索のためのタグナンバーを示し、ＯＵＣＨプロトコル（又は、そのほかの二項プロトコル）では、このフィールドはオフセットを示す。
【００４８】
Ｃ．演算子：次の演算子は、リスク管理ルールの評価基準において用いられ得る演算子の例である：＜，≦，＝，≧，＞，ｉｎ，ｎｏｔ  ｉｎ．ブローカーディーラーは、追加の演算子や演算子の連結をサポートすることができる。
【００４９】
Ｄ．価値/リスト：このフィールドは、単一の値又は値のリストとすることができ、ある実施形態では、もしフィールドの内容が、大き過ぎてプログラム可能なチップのメモリには収まらないならば、ブローカーディーラーは、ホストメモリにその内容を記憶することができる。
【００５０】
Ｅ．条件：特定のタグ又は条件文を確かめる。例えば、システムはタグ５４＝５の場合に限り、タグ５７００値を確認することができる。
【００５１】
上記条件は、単なる例示にすぎず、その他の特徴又はリスク評価基準を上記のテーブルに追加することができる。例えば、先に述べたように、通り抜けモード及び記憶転送モードの少なくとも１つは、追加的な条件又は動作パラメータとしてテーブルに組み込まれ得る。
【００５２】
時折、顧客のセッションは、いくつもの理由のために終了され得る。もし顧客のセッションが標準的なＴＣＰ切断が原因で切られたならば、概して、本発明は、システムに再接続して証券取引を継続するように顧客の機能をサポートすることができる。もしセッションがセキュリティー違反のリスクによりシステムによって意図的に切断されたならば、顧客はセッションを再確立することができず、接続承認のために定められたポリシーに従って、ブローカーディーラーに連絡を取らなければならない。
【００５３】
一般的に、１つのプログラム可能な回路デバイスは、証券取引リスク管理には十分であるけれども、ブローカーディーラーは、冗長化のため並列に設定された２つのそのようなプログラム可能なデバイスを備えたいと考え得る。１つのデバイスは、主デバイスとして指定され、その他のデバイスは予備デバイスとして指定され得る。もし主デバイスが故障したか、又は、活動状態から除かれたならば、一般的に、予備デバイスは、証券リスク管理を提供し続けるために、全てのセッション情報を含んでいる。
【００５４】
システムは、本発明に基づいて検査された注文のログを保持することもできる。記録され得るデータは、タイムスタンプ，注文トークン，証券，数量，１注文当たりの価格を含む。その他のフィールドも記録されることは、当業者にとって明らかなことである。
【００５５】
もしリスクチェックに落第してメッセージが切り捨てられたならば、システムは、未処理又は切り捨てられた注文に対する責任を有する、オペレータもしくはその他の人に警告を与えることができる。警告は電子メールや警告画面表示の形式、又は、その他の警告の形式をとることができる。システムは、顧客に警告を与えることもでき、証券注文がより多くのリスク管理の評価基準のうちの１つをパスしない理由を提供することができる。
【００５６】
リスク管理の評価基準は、一般的に、実行時間中において容易に設定可能である。例えば、ＯＵＣＨ注文プロトコル用のＮＡＳＤＡＱ仕様に従って、注文のためのフィールド“数量”は、長さ４でオフセット１６に位置する。もしこのフィールドの位置又は長さが１バイトシフトした場合、構成ファイルは基本となるコードを変更することなしに更新され得る。その他の限定を意図しない、フィールドの例としては、実行時間中に定期的に更新することができ、リスク値や株式／価格ペアを含む。
【００５７】
１つの実施形態では、使用中の全てのデバイスは、中央インターフェース又は唯一のアクセスポイントを用いて制御され得る。例えば、もし様々な場所で使用されている２０個のデバイスがあった場合に、中央インターフェースは、データ又はコンピュータコードを全てのデバイスにプッシュ配信するために利用され得る。デバイスはプライベートな内部ネットワークを介して、又は、安全（セキュア）なプロトコルを使用するインターネットなどの公衆ネットワークを介して、中央インターフェースに接続され得る。そのような構成は、当業者によって容易に準備され得る。
【００５８】
メインコンピュータ上のグラフィカルユーザインターフェース又はコマンドラインは、特定のセッションを手動でシャットダウンするために利用され得る。もし自動化されたシャットダウンが必要とされるならば、そのようなシャットダウンはチップ製造業者によって提供されるアプリケーションプログラミングインターフェースを用いて行なうことができる。
【００５９】
図１は、典型的な先行技術のシナリオ、即ち、事前取引チェックがソフトウェアで実行されることを示す。次の例示的な一連の動作を行なう：
１．顧客は、ブローカーに対してＴＣＰとＦＩＸの両セッションを確立する；
２．ブローカーは、市場に対してＴＣＰとＦＩＸの両セッションを確立する；
３．顧客は、ネットワークを介してブローカーに注文を送信する；
４．ブローカーは、注文を受信して、それをソフトフェアが理解できる特定のフォーマットに変換する；
５．ソフトウェアプログラムは、全ての事前取引チェックを行い、当該注文をネットワークフォーマットに変換する；
６．当該注文は、実行するためにブローカーから市場に送信される。
【００６０】
リスクチェックに基づくこのソフトウェアの平均所要時間は、１取引当たり約３０マイクロ秒であり、チェックを実行するために、２つのＴＣＰ／Ｆｉｘセッション（Ａ及びＢ）を開放することを必要とする。
【００６１】
先行技術の方法とは対照的に、本発明は、図２に示されるように、次のとおり機能する：
１．顧客は、取引所に対してＴＣＰとＦＩＸの両セッションを確立する：
２．本発明に係るデバイスは、直列に並んで（インラインで）配置し、メッセージがシステムを通過する際に、それらを精査する。
【００６２】
図２に示されるように、顧客と取引所の間には、１つのＴＣＰセッション／ＦＩＸセッションだけが存在する。図１に例示した従来方法、すなわち、顧客とソフトウェアベースのリスクフィルタとの間の第一のＴＣＰ／ＦＩＸセッション、及び当該リスクフィルタと取引所との間の第二のＴＣＰ／ＦＩＸセッションを採用する方法に比べると、本発明を用いる、この単一のＴＣＰ／ＦＩＸセッションは、より迅速な注文処理を可能とする。ハードウェアベースのリスクフィルタは、通り抜けモードで、又は、記憶転送モードで注文を検査することができ、証券評価基準を通過した注文には、証券取引所に移動することを許可する。
【００６３】
ハードウェアベースリスクチェックの平均時間は、図２に例示されるように、たった約１マイクロ秒、すなわち、図１に例示したソフトウェアベースのリスクチェックと比較して、約１／３０の時間である。したがって、利用者は、リスクチェックをパスするため、注文に要する時間を削減することによって、売り買いの申し出による裁定取引（アービトラージ）からより良く利益を得ることができる。さらに、顧客は、より正確な価格を決めることを手に入れることができ、より迅速に財務状態を取得できる。金融機関は、取引処理時間を削減することに、絶え間ない関心を維持していることから、本発明は、これら機関に対して注文処理を改善することを可能にする。
【００６４】
本発明に係る実施形態に従って、注文を切り捨てるための基本機能の原理は、図３に示される。もし注文はリスクフィルタをパスしないならば、メッセージは切り捨てられることになる。上述したように、切り捨ては、注文が証券取引所に到達しないように、注文の送信を終了することを含むことができ、又は、注文が証券取引所によってうまく処理されずに拒否されるように、注文の一部分を判読不能に変形することや、削除することを含むことができる。
【００６５】
図３に示されるように、もし顧客から受信された証券注文がリスクフィルタをパスしないならば、注文は切り捨てられる。注文を構文解析して、リスクチェックして、切り捨てるために要する時間は、約１マイクロ秒である。切り捨てられた注文は、リスクフィルタを出て、取引所に向かうが、それは不完全なものとして拒絶されて、処理されないことになる。典型的に、切り捨てられた注文は、ブローカーディーラーが切り捨てられた注文に対する原因を調べることができるようにログに取られる、すなわち、例えば、データベース又はスプレッドシートに記録される。顧客には、注文が拒否されたことも通知されて、注文の拒否事由が提供され得る。
【００６６】
図４は、本発明に係る方法の例示的な実施形態に従うステップを示すフローチャートを表す。フローチャートは、入り注文が注文要素（例えば、これらに限定されるものではないが、注文タイプ、株式、数量や価格など）に構文解析されることを示す。もし注文パラメータのいずれかが有効でないならば、又は、もし注文が完全ではないか誤りを含んでいるならば、注文は切り捨てられる（“カット”又は“ＴＣＰリセット”される）。もし注文が無事に構文解析されたならば、その後、注文はリスクフィルタに移動する。注文がフィルタを無事に通過した場合に限り、当該注文は取引所に進出（“ＰＴ”又は“パススルー”）することになる。
【００６７】
図５は、本発明に係る共通ハードウェア及び専用ハードウェアの例示的な実装を示す。共通ハードウェアの実施例では、複数の顧客から受信された注文は、まず、高速低遅延スイッチ（例えば、アリスタネットワークス社（カリフォルニア州、サンタクララ市）製のＡｒｉｓｔａ  ７１２４ｓｘ  シリーズ  スイッチ）に入る。スイッチは複数のサーバに接続され、各サーバは再プログラミング可能なＩＣデバイスを含む。本発明に係るこの実施例では、ＩＣデバイスはＦＰＧＡカードである。スイッチは、注文を次の利用可能なサーバや、複数のリスク分析のＦＰＧＡカードに移動する。もし注文がリスクフィルタを通過したならば、注文はサーバを出て、第二の高速低遅延スイッチに移動する。第二のスイッチは、それぞれのＩＣデバイスを通過している注文が、処理のために迅速に証券市場又は取引所に移動できるように、複数のサーバ／ＩＣデバイスと証券取引所との間の接続を維持する。顧客から取引所までで、処理される注文に対する総使用時間は、ワイヤスピードで生じ、約２．２５マイクロ秒である。この実施形態は、比較的少量の取引を伴う顧客のために、又は、共通設備の共同使用のために利用され得る。
【００６８】
注文が取引所によって処理された後、注文明細は、顧客へ戻る逆ルートを介して返却される。すなわち、注文は取引所又は市場からサーバを遡って顧客へ移動する。注文明細は、ＩＣデバイスによって構文解析されて確認される必要がないので、注文確認の顧客の受領は高速であり、約１．８５マイクロ秒である。
【００６９】
図５に示される第二の例示的な実施形態では、専用ハードウェアを含み、顧客からの注文は、当該顧客から直接本発明に基づく再プログラム可能なＩＣデバイスを含むサーバに移動する。前述のとおり、注文は構文解析され、リスク分析フィルタを通過した注文は、処理するために市場又は取引所に直接送信される。この実施形態はとりわけ高速であり、顧客と取引所との間の遅延は、約１．２５マイクロ秒である。顧客による注文明細の受領もまた高速であり、約０．８５マイクロ秒しかかからない。この実施形態は、リスク分析フィルタへの直接的な接続を顧客に提供し、最大限の取引速度を必要とする特定の顧客、又は、大量の取引を有する特定の顧客のために用いられ得る。
【００７０】
図５で図示されたそれらの実施形態は、異なるハードウェア構成を有しているが、それにもかかわらず、両方の実施形態は、ソフトウェアのみの従来方法と比較すると、非常に高速なハードウェアフィルタリングをもたらす。
【００７１】
図６は、顧客の取引可能な母集団を市況と定期的に適合させるためのワークフロープロセスの実施形態を示す。ＩＢＭの株式の例を用いると、本発明は、定期的に、システムのメモリにおけるＩＢＭ株式に対する過去の市況と、最近の注文又は市場ダイナミクスとを比較し、価格付けが最新のものとなるようにする、又は可能な限り最新の市況に近づけるようにする。例えば、市場が開く午前９時３０分直前に、ウォンバットフィナンシャルソフトウェア社（ニューヨーク州  ニューヨーク市）などの市場データプロバイダからＩＢＭに関する前の日の終値をデバイスが取得（すなわち、利用者が当該終値をアップロード）し、メモリ内の古い価格設定をアップロードされた価格設定で置き換えることになる。市場が開いて、ＩＢＭに対する注文がその日中に処理された後、デバイスは、メモリに記憶した価格設定を、ＩＢＭに対する最も新しい注文からの価格に置き換えることになる。さらに、デバイスは、メモリ中の価格設定が現在の市況を反映すること保証するために、定期的に（例えば、毎秒、毎分）新しい価格設定をチェックすることができる。本発明に係るＩＣデバイスは、同様の方法で、顧客の取引可能な母集団に、その他の証券（ＩＢＭを除く）に対する価格設定を取得する。
【００７２】
図７は、本発明による、ハードウェア設定とリスク管理ルールを含むグラフィカルユーザインターフェースの実施形態を示す。前述したように、本発明は、ＩＣデバイスに組み込まれたハードウェア命令の修正を許容にするために、グラフィカルユーザインターフェースを含むことができる。図７の上部分は、管理設定やデバイス設定（例えば、デバイス識別番号、設置位置、ネットワークパラメータなど）の変更を例示する。ユーザインターフェースは、これらに限定されるものではないが、ＯＵＣＨ又はＦＩＸなど、様々な種類の注文メッセージ伝達プロトコルに関して利用され得る。
【００７３】
図７の下部分は、デバイスに組み込まれ得るリスク評価基準の例を示す。そのようなリスク評価基準の例の非限定的なリストは、１注文当たりの株式の最大数、最大注文サイズ、最大注文想定元本、非公開証券リストの適用などを含むことができる。これらの設定は、例えば、演算子（例：＜，＞）又は特定の評価基準の数値を修正することによって、或は、チェックボックスをチェックすることで設定を有効又は無効にすることによって、容易に変更することができる。
【００７４】
本発明のある実施形態に応じて、付加的又は代替的なリスク評価基準は、ＩＣデバイスに組み込まれ得る。リスク評価基準が修正された後、例えば、コンパイラ又はその他のプログラミング手段を用いることによって、新しい評価基準がＩＣデバイスに組み込まれる。それにより、ＩＣデバイスは更新されたハードウェア命令を含む。ＩＣデバイスにおける更新された組み込みハードウェア命令のための個々の手段は、本発明の具体的な実施例によって決まることになる。再プログラム可能なＩＣデバイスの使用は、何回もハードウェア命令を更新することを許容する。
【００７５】
例１
次の事例は、ＮＡＳＤＡＱ  ＯＵＣＨ  プロトコルによって入力される注文についてリスク管理評価を実施するために、本発明の利用を例示するものである。当該事例は、決して本発明を制限するもの、又は限定するものとして考慮すべきではない。
【００７６】
新しい注文のためのメッセージパケットは、次のような典型的な構成を備えることができる。
【表２】
0005629387.tif 000003
【００７７】
ＮＡＳＤＡＱは１セッション当たり２つの直通／直通ＩＰポートを利用する。例えば、もし顧客がＮＡＳＤＡＱへの３つのポートを有しているならば、セットアップ配列は次の構成（プライマリ／バックアップ）を備えることになる：
Session1 - ip1a:port1a and ip1b:port1b
Session2 - ip2a:port2a and ip2b:port2b
Session3 - ip3a:port3a and ip3b:port3b
【００７８】
この実施形態では、全てのリスク計量（メトリクス）は、ＩＰアドレスとポートのペアによって識別可能なセッションとして構成される。もしセッションが、セキュリティー違反のせいで、又は１つ以上のリスク管理基準を満たさない取引のせいで、ブロックされた場合、両ＩＰアドレスもブロックされることになる。
【００７９】
予め定められたリスク評価基準に基づく、注文の流線型（ストリームライン）検査に進むために、メッセージのパケットのすべてが、検査される必要はない。例えば、プロトコル＝ＴＣＰ（0x06）であり、予め定められたＩＰ及びポートをターゲットにすると、システムはタイプ“Ｕ”（第３バイト）のＳｏｕｐＴＣＰメッセージ、新しい注文（New Orders）（タイプ“Ｃ”―第４バイト）又は置き換え注文（Replace orders）（タイプ“Ｕ”―第４バイト）のみを確認する必要がある。
【００８０】
もし注文が取り消し注文（タイプ＝“Ｃ”―第４バイト）ならば、それはパケットにおける唯一のメッセージであることを考慮すれば、当該注文は精査されることなくシステムを通過することができる。パケットの長さとＳｏｕｐＴＣＰの長さと取り消しメッセージの長さ（１９バイト）に基づいて、システムは同様の確認を迅速に行なうことができる。システムがメッセージを注文取り消しだと判断した後、該メッセージは直接取引所に伝えられることになるので、メッセージの取り消し注文についての遅延は、その他の種類の注文の遅延よりも短いものとなり得る。
【００８１】
もしパケットが再送されている場合や、それがシステムによって既にチェックされている（シーケンス番号は最後にチェックされたメッセージよりも小さい）場合には、パケットは検査なしで証券取引所に転送されることになる。さらに、再送されたパケットは、通常の入りパケットとして扱われ、リスクフィルタによって再検査されることになる。
【００８２】
不完全なパケットは、可能な最大限の範囲において確認され得る。例えば、本発明の記憶転送モードでの実施形態によると、２．５通のメッセージを含むパケットである場合、システムは、２通の完全なメッセージを確認することができ、残りの０．５通のメッセージは、システムが該メッセージの残りの部分を取得するまで、メモリに記憶することができる。例えば、ＴＣＰシーケンス番号から判断することで、システムは不完全なパケットがある特定のメッセージを形成することを判断することができる。全体のメッセージを受け取ったとき、その後、システムは当該メッセージを予め定義されたリスク管理の評価基準に渡すか否かを判断するために、当該メッセージを検査することができる。
【００８３】
もしシステムが順序から外れたパケットを受け取って、当該パケットが１通以上の完全なメッセージを含んでいるならば、システムは、その順序から外れたパケットを通常のパケットとしてチェックすることができる。もし順序から外れたパケットが完全なメッセージを何も含まないならば、システムはパケットの記憶を回避することができる。もし順序から外れたパケットに不完全なメッセージがあるならば、システムは順序通りのパケットを受信するまで、そのパケットの全体のコピーを記憶することができる。
【００８４】
本発明は、特定の実施形態を参照して具体的に示され、説明されているが、当業者であれば、その形式や詳細において様々な変更を、本発明の精神及び範囲から逸脱することなく行なうことが可能であることは理解することができる。
【図１】
0005629387.tif 000004
【図２】
0005629387.tif 000005
【図３】
0005629387.tif 000006
【図４】
0005629387.tif 000007
【図５】
0005629387.tif 000008
【図６】
0005629387.tif 000009
【図７】
0005629387.tif 000010