(57)【要約】【課題】可用性を向上させることができる取引所接続システムを提供する。【解決手段】取引所接続システム１０では、取引所システム７０と証券会社等の取引参加者の複数の仮想サーバＡ，Ｂ，Ｃ，Ｄ等の各々との間に形成される仮想的な経路は、複数の物理的な回線Ｌ１，Ｌ２を分散使用して形成する。電文送信処理手段３１は、取引所システム７０への上りの経路について銘柄分散を行い、同一銘柄の注文については、同一の仮想サーバおよびそれに対応する経路を経由して発注処理を行う。電文受信処理手段３２は、取引所システム７０から２本の下りの経路（上りの経路と同じ経路およびドロップコピー用の経路）を経由して同一内容の通知を受け取り、重複排除を行う。２本の下りの経路には、複数の物理的な回線Ｌ１，Ｌ２のうちの別の回線を使用する。【選択図】図１
2017182209.tif 000002
【特許請求の範囲】
【請求項１】
金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
前記取引所システムとの間に形成された経路を介して前記取引所システムとの電文データの送受信を行う複数の仮想サーバと、
前記注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを前記仮想サーバに渡して前記取引所システムへ送信する処理を実行する電文送信処理手段と、
前記取引所システムから受信した前記注文に対する受付を含む通知の電文データを前記仮想サーバから受け取る処理を実行する電文受信処理手段とを備え、
前記取引所システムと前記複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、前記取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
前記電文送信処理手段は、
前記複数の仮想サーバの各々に対応する前記取引所システムへの上りの経路に対し、前記取引所システムへ送信する各銘柄の発注用の電文データを、同一の銘柄の電文データは同一の上りの経路を通るように銘柄毎に分散させることにより、各銘柄の発注用の電文データを銘柄毎に分散させて前記複数の物理的な回線を分散使用する処理を実行する構成とされ、
前記電文受信処理手段は、
前記取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、前記複数の物理的な回線のうちの別の回線が使用されるように、前記取引参加者による設定が行われた状態で、前記２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされている
ことを特徴とする取引所接続システム。
【請求項２】
前記複数の仮想サーバの各々について前記取引所システムとの接続が正常か異常かの状態を示すステータスを、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段と、
前記複数の仮想サーバの各々について前記取引所システムとの接続が異常か否かを判定し、この判定結果を前記仮想サーバ管理情報記憶手段の前記ステータスに記憶させる処理を実行する異常検知手段と
を備えたことを特徴とする請求項１に記載の取引所接続システム。
【請求項３】
前記仮想サーバ管理情報記憶手段には、
前記ステータスが接続正常となっている前記仮想サーバに各銘柄を割り当てるための銘柄割当情報も、仮想サーバの識別情報と関連付けて記憶され、
前記電文送信処理手段は、
銘柄コードが示す数値または銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値、および、使用可能な経路に対応する稼働している仮想サーバの台数を入力とし、前記稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報を出力とする計算式または予め定められたルールを用いて、前記注文管理システムから受け取った注文銘柄の銘柄コードから、当該注文銘柄を割り当てる仮想サーバを決定するための銘柄割当情報を求め、求めた銘柄割当情報に関連付けられて前記仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされ、
前記異常検知手段は、
前記取引所システムとの接続異常が検知された仮想サーバ、または、再接続に成功した仮想サーバがある場合には、前記ステータスが接続正常となっている前記仮想サーバについて前記仮想サーバ管理情報記憶手段に記憶されている前記銘柄割当情報を更新する処理を実行する構成とされている
ことを特徴とする請求項２に記載の取引所接続システム。
【請求項４】
前記電文送信処理手段で用いられる前記計算式は、
銘柄コードが示す数値または銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値を用いて演算を行い、この演算で得られた数値を、前記稼働している仮想サーバの台数で除する除算の計算式であり、
前記仮想サーバ管理情報記憶手段には、
前記銘柄割当情報として、除算の余りが記憶され、
前記電文送信処理手段は、
前記除算の計算式を用いて余りを求め、求めた余りに関連付けられて前記仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされている
ことを特徴とする請求項３に記載の取引所接続システム。
【請求項５】
前記異常検知手段は、
前記複数の仮想サーバの各々に設けられた発注キューに格納されている発注用の電文データの滞留検知の情報を前記複数の仮想サーバの各々から取得することにより、前記取引所システムとの接続が異常か否かを判定する処理を実行する構成とされ、
前記仮想サーバは、
滞留の判定時の現在時刻、前記発注キューから最後に送出された電文データの送出時刻、および、当該最後に送出された電文データの次に送出される電文データの前記発注キューへの入力時刻を用いて、滞留を検知する処理を実行する構成とされている
ことを特徴とする請求項２〜４のいずれかに記載の取引所接続システム。
【請求項６】
前記異常検知手段は、
接続異常が検知された仮想サーバを別の物理サーバに切り換えることなく、当該仮想サーバに対し、アドレス変換器を用いることにより物理的な回線の切換を行って再接続を行うための指示を出すとともに、再接続を行った結果の情報を当該仮想サーバから受け取る処理を実行するか、または、接続異常が検知された仮想サーバ自身による判断で前記アドレス変換器を用いることにより物理的な回線の切換を行って再接続を行った結果の情報を当該仮想サーバから受け取る処理を実行する構成とされている
ことを特徴とする請求項２〜５のいずれかに記載の取引所接続システム。
【請求項７】
前記取引所システムから受信した通知の電文データに含まれている取引所側で付番された通知通番および仮想サーバの識別情報を対応付けて記憶する受信通知管理情報記憶手段を備え、
前記電文受信処理手段は、
前記仮想サーバから前記通知の電文データを受け取った際に、前記通知の電文データに含まれている通知通番および仮想サーバの識別情報と同一の通知通番および同一の仮想サーバの識別情報の組合せが前記受信通知管理情報記憶手段に記憶されているか否かを判断し、同一の通知通番および同一の仮想サーバの識別情報の組合せが記憶されていない場合には、当該組合せの通知通番および仮想サーバの識別情報を前記受信通知管理情報記憶手段に記憶させるとともに前記通知の電文データを前記注文管理システムへ送信し、同一の通知通番および同一の仮想サーバの識別情報の組合せが既に記憶されている場合には、前記通知の電文データを前記注文管理システムへ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する構成とされている
ことを特徴とする請求項１〜６のいずれかに記載の取引所接続システム。
【請求項８】
前記複数の仮想サーバの各々で前記取引所システムから受信した通知の電文データに含まれている取引所側で昇順に付番された通知通番のうちの直近に付番された最大の通知通番を、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段を備え、
前記電文受信処理手段は、
前記仮想サーバから前記通知の電文データを受け取った際に、受け取った前記通知の電文データに含まれる通知通番と、当該仮想サーバの識別情報に関連付けられて前記仮想サーバ管理情報記憶手段に記憶されている通知通番とを比較し、受け取った前記通知の電文データに含まれる通知通番が、前記仮想サーバ管理情報記憶手段に記憶されている通知通番よりも大きい値である場合には、受け取った前記通知の電文データに含まれる通知通番を前記仮想サーバ管理情報記憶手段に記憶させるとともに、受け取った前記通知の電文データを前記注文管理システムへ送信し、前記仮想サーバ管理情報記憶手段に記憶されている通知通番よりも小さい値または同じ値である場合には、受け取った前記通知の電文データを前記注文管理システムへ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する構成とされている
ことを特徴とする請求項１〜６のいずれかに記載の取引所接続システム。
【請求項９】
前記取引所システムへ送信する注文の発注用の電文データに含まれている取引参加者側で付番した入力通番、注文銘柄についての銘柄コード、および前記注文に対する受付通知の電文データについての前記取引所システムからの受信の有無を示す情報を対応付けて記憶するか、または、受付通知の電文データを前記取引所システムから受信していない注文についてのみ当該注文の入力通番および注文銘柄についての銘柄コードを記憶する発注管理情報記憶手段を備え、
前記電文送信処理手段は、
前記注文管理システムから新規注文を受け取った際には、この新規注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かを前記発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない注文がある場合には、前記注文管理システムから受け取った前記新規注文についての発注用の電文データを前記仮想サーバへ渡さず、受付通知の電文データを受信していない注文がない場合には、現時点で稼働している仮想サーバへ前記新規注文についての発注用の電文データを渡す処理を実行し、
前記注文管理システムから注文の訂正を受け取った際には、この訂正に係る注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かを前記発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない注文がある場合には、前記注文管理システムから受け取った前記注文の訂正についての発注用の電文データを前記仮想サーバへ渡さず、受付通知の電文データを受信していない注文がない場合には、現時点で稼働している仮想サーバへ前記注文の訂正についての発注用の電文データを渡す処理を実行し、
前記注文管理システムから注文の取消を受け取った際には、この取消に係る注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かにかかわらず、現時点で稼働している仮想サーバへ前記注文の取消についての発注用の電文データを渡す処理を実行する構成とされている
ことを特徴とする請求項１〜８のいずれかに記載の取引所接続システム。
【請求項１０】
金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
前記取引所システムとの間に形成された経路を介して前記取引所システムとの電文データの送受信を行う複数の仮想サーバと、
前記注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを前記仮想サーバに渡して前記取引所システムへ送信する処理を実行する電文送信処理手段と、
前記取引所システムから受信した前記注文に対する受付を含む通知の電文データを前記仮想サーバから受け取る処理を実行する電文受信処理手段と、
前記取引所システムへ送信する注文の発注用の電文データに含まれている取引参加者側で付番した入力通番、注文銘柄についての銘柄コード、および前記注文に対する受付通知の電文データについての前記取引所システムからの受信の有無を示す情報を対応付けて記憶するか、または、受付通知の電文データを前記取引所システムから受信していない注文についてのみ当該注文の入力通番および注文銘柄についての銘柄コードを記憶する発注管理情報記憶手段とを備え、
前記取引所システムと前記複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、前記取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
前記電文送信処理手段は、
前記複数の仮想サーバの各々に対応する前記取引所システムへの上りの経路に対し、前記取引所システムへ送信する各注文の発注用の電文データを分散させることにより、前記複数の物理的な回線を分散使用する処理を実行する構成とされ、
前記電文受信処理手段は、
前記取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、前記複数の物理的な回線のうちの別の回線が使用されるように、前記取引参加者による設定が行われた状態で、前記２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされ、
前記電文送信処理手段は、
前記注文管理システムから注文の訂正を受け取った際には、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正があるか否かを前記発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正がある場合には、前記注文管理システムから受け取った前記注文の訂正についての発注用の電文データを前記仮想サーバへ渡さず、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正がない場合には、現時点で稼働している仮想サーバへ前記注文の訂正についての発注用の電文データを渡す処理を実行する構成とされている
ことを特徴とする取引所接続システム。
【請求項１１】
金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
前記取引所システムとの間に形成された経路を介して前記取引所システムとの電文データの送受信を行う複数の仮想サーバと、
前記注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを前記仮想サーバに渡して前記取引所システムへ送信する処理を実行する電文送信処理手段と、
前記取引所システムから受信した前記注文に対する受付を含む通知の電文データを前記仮想サーバから受け取る処理を実行する電文受信処理手段と、
前記複数の仮想サーバの各々について前記取引所システムとの接続が正常か異常かの状態を示すステータス、および前記ステータスが接続正常となっている前記仮想サーバに各注文を割り当てるための注文割当情報を、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段と、
前記複数の仮想サーバの各々について前記取引所システムとの接続が異常か否かを判定し、この判定結果を前記仮想サーバ管理情報記憶手段の前記ステータスに記憶させる処理を実行する異常検知手段とを備え、
前記取引所システムと前記複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、前記取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
前記電文送信処理手段は、
前記複数の仮想サーバの各々に対応する前記取引所システムへの上りの経路に対し、前記取引所システムへ送信する各注文の発注用の電文データを分散させることにより、前記複数の物理的な回線を分散使用する処理を実行するとともに、
取引参加者で付番した注文番号若しくは入力通番が示す数値またはこれらの注文番号若しくは入力通番を構成する数字、文字、若しくは記号からなる各コードが示す数値、および、使用可能な経路に対応する稼働している仮想サーバの台数を入力とし、前記稼働している仮想サーバに各注文を割り当てるための注文割当情報を出力とする計算式または予め定められたルールを用いて、前記注文管理システムから受け取った注文についての注文番号若しくは入力通番から、当該注文を割り当てる仮想サーバを決定するための注文割当情報を求め、求めた注文割当情報に関連付けられて前記仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされ、
前記電文受信処理手段は、
前記取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、前記複数の物理的な回線のうちの別の回線が使用されるように、前記取引参加者による設定が行われた状態で、前記２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされ、
前記異常検知手段は、
前記取引所システムとの接続異常が検知された仮想サーバ、または、再接続に成功した仮想サーバがある場合には、前記ステータスが接続正常となっている前記仮想サーバについて前記仮想サーバ管理情報記憶手段に記憶されている前記注文割当情報を更新する処理を実行する構成とされている
ことを特徴とする取引所接続システム。
【請求項１２】
前記電文送信処理手段で用いられる前記計算式は、
取引参加者で付番した注文番号若しくは入力通番が示す数値またはこれらの注文番号若しくは入力通番を構成する数字、文字、若しくは記号からなる各コードが示す数値を用いて演算を行い、この演算で得られた数値を、前記稼働している仮想サーバの台数で除する除算の計算式であり、
前記仮想サーバ管理情報記憶手段には、
前記注文割当情報として、除算の余りが記憶され、
前記電文送信処理手段は、
前記除算の計算式を用いて余りを求め、求めた余りに関連付けられて前記仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされている
ことを特徴とする請求項１１に記載の取引所接続システム。
【請求項１３】
請求項１〜１２のいずれかに記載の取引所接続システムとして、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムおよびプログラムに係り、例えば、証券会社システムから取引所システムへの接続を行う場合等に利用できる。
【背景技術】
【０００２】
従来は、証券取引所の取引所システムと、証券会社等の取引参加者の参加者システムとの接続において障害が発生した場合には、証券会社等の取引参加者は、取引所システムの仮想サーバＡとの接続に障害が発生したとすれば、その仮想サーバＡへの再接続を行うか、取引所に対し、別の仮想サーバＢに業務を代行させる指示を出すことができた。後者の代行の機能は、取引参加者からの注文に対する取引所システムの返信（受付通知、約定通知、結果通知）を、往路（取引所システムへの上りの経路）とは別の経路を使用して行うという取引所のサービスであった。
【０００３】
また、取引参加者の各仮想サーバとこれらに対応する取引所の各仮想サーバとの間では、通信規約に基づくシステムチェックを行うことにより、常にこれらの仮想サーバ間の接続が正常であることを確認し続けるが、このチェックでは、接続が１３秒途絶えた場合に、障害が発生したと判断する取り決めになっていた。
【０００４】
一方、現在の取引所システムでは、上記のような別の仮想サーバに業務を代行させる機能が廃止され、再接続による復旧のみが行われるようになった。また、通信規約に基づくシステムチェックでは、接続が６０秒途絶えた場合に、障害が発生したと判断する取り決めに変更された。
【０００５】
なお、通信経路の制御（切換、分散、障害対応等）に関する従来の一般技術としては、例えば、転送ファイルを複数の分割ファイルに分割し、複数の分割ファイルを第１の経路、第２の経路、および第３の経路を介してサーバへ転送する技術が知られている（特許文献１参照）。
【０００６】
また、パケット送信元コンピュータ側で動的にパケット転送経路の選択制御を行う技術が知られている（特許文献２参照）。
【０００７】
さらに、データの送受信を行う端末間において、常用系および予備系からなる２つの通信経路の終端に通信経路切替装置を対向させて設置し、この通信経路切替装置の送信部により、データを複製し、常用系の通信経路および予備系の通信経路のそれぞれに、複製された同一内容のデータを送信し、受信部により、常用系の通信経路を通って送信されるデータおよび予備系の通信経路を通って送信されるデータのうち、先に到着したデータを受信する技術が知られている（特許文献３参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−２６１８５４号公報
【特許文献２】特開２０１０−２３９４７３号公報
【特許文献３】特開２０１０−２４６０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述したように、取引所システムに代行という機能が無くなったので、通信規約に基づくシステムチェックにより、ある仮想サーバで接続異常が検知された場合は、取引所システムへ発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手するためには、その仮想サーバで再接続を行う必要がある。
【００１０】
すなわち、仮想サーバで接続障害が発生した場合には、再接続に成功し、その仮想サーバに対応する経路が復旧するまで、その経路からの取引所システムへの発注（新規注文、注文の訂正、注文の取消のための発注）を行うことができず、また、その経路を使用して既に発注した注文（訂正や取消を含む）に対する取引所システムからの通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）を受信することもできない。
【００１１】
例えば、仮想サーバＡの経路が切断された場合には、切断前に発注した注文（訂正や取消を含む）に対する通知は、再接続後の仮想サーバＡで受信することになる。また、切断前に発注した注文に対する訂正を切断後に仮想サーバＡの経路とは別の経路で出したとしても、その訂正の受付通知は、仮想サーバＡの経路で返ってくる。このため、結局、仮想サーバＡを使い続ける必要があるため、再接続による復旧を待たなければならない。この際、従来の場合に比べ、通信規約に基づくシステムチェックによる接続異常の検知に時間がかかり、再接続を行うことができない時間（回線が切断されたと判断して再接続を行うまでの時間）が長くなる場合があり（従来の１３秒に対し、最大６０秒を要することになる。）、その間は、発注済の注文の情報を入手できないことになる。
【００１２】
従って、仮想サーバＡで行った発注済の注文（訂正や取消を含む）に関する業務処理を進めることができないか、あるいは進めるのに時間がかかり、従来の場合に比べ、システムの可用性（アベイラビリティ）が低下する事態も生じ得る。
【００１３】
また、発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手することができない事態が生じた場合には、次のようなことを考慮しなければならない。
【００１４】
先ず、証券会社等の取引参加者は、同一銘柄の注文については、先に受け付けた注文が、先に取引所の板に乗るように発注処理を行わなければならない（時間優先の原則）。取引所の板では、注文の待ち行列ができるため、板に乗る順番が変わると、約定等の結果に影響が出るからである。従って、同一銘柄（銘柄毎）の注文間の追い越しを防止する必要がある。このため、発注済の注文の情報を入手できていない場合には、証券会社等の取引参加者は、同一銘柄の注文について、先の注文が、後の注文に追い越されるといった不都合がなるべく生じないようにし、顧客に不当・不測の不利益が生じないように努める必要があので、取引所接続システムは、そのことを考慮した対応処理が可能な構成であることが望まれる。
【００１５】
次に、ある注文について、注文の訂正を行った後に、さらに別の訂正を行ったときに、後の訂正が、先の訂正を追い越すと、やはり異なる結果をもたらし、また、訂正や取消が新規注文を追い越すと、訂正や取消の対象がなくなり、エラーになる等の問題が生じるので、このような同一注文内（同一顧客の１つの注文内）での注文（訂正や取消を含む）の追い越しも防止する必要がある。例えば、新規注文を発注した後に、その経路が切断され、その後に、その注文の訂正が入った場合には、新規注文に対する受付通知を受信していれば、訂正を別の経路で出すことができる。一方、新規注文に対する受付通知を受信していない状態では、新規注文を別の経路で出し直すのか、訂正を別の経路で出すのかが不明になり、もし新規注文が取引所システムに到達しているとすれば、訂正を別の経路で出すのが適切であるということになるが、もし新規注文が取引所システムに到達していないとすれば、訂正を別の経路で出すと、訂正が先に取引所システムに出てしまうことになる。従って、発注済の注文の情報を入手できていない場合には、証券会社等の取引参加者は、同一注文内（同一顧客の１つの注文内）での追い越しという不都合が生じないようにし、顧客に不当・不測の不利益が生じないように努める必要があので、取引所接続システムは、そのことを考慮した対応処理が可能な構成であることが望まれる。
【００１６】
さらに、以上は、主として異常検知後の対応処理という観点で述べているが、取引所接続システムは、正常時における処理を行う時点から、接続異常が発生した場合を想定し、接続異常が発生した場合でも上記のような不都合が生じない処理、あるいは生じにくい処理を行う構成とすることが望まれる。
【００１７】
また、以上のように、接続異常により、発注済の注文の情報を入手できない事態が生じる問題に対し、現在は、証券会社等の取引参加者が取引所に申請することにより、取引所システムから別の経路を介して通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）のドロップコピーを受信することができるようになったので、通知のドロップコピーを並行して受信することにより、発注済の注文の情報を入手できない事態が発生する確率を低減することが可能である。すなわち、取引参加者システムと取引所システムとの間の回線に異常があり、それが原因で、発注した注文の電文データが取引所システムに到達していない場合等には、通知のドロップコピーを受信するようにしても、発注済の注文の情報を入手することはできないが、発注した注文の電文データが取引所システムに到達していれば、主経路（上りに使用された経路と同じ経路）およびドロップコピー用の経路の２本の経路に同時に障害が起きる可能性は少ないので、取引所システムからの通知を受信することができる可能性は高まる。
【００１８】
しかし、このように通知のドロップコピーを受信するようにすれば、発注済の注文の情報を入手する可能性を高めることはできるものの、切断された経路が復旧しない限り、その経路を使用して、切断後の注文の発注を行うことができないことに変わりはない。従って、仮に、切断された経路の復旧を待って、その経路で新たな注文に関する業務処理を再開するという対処法のみであったとすると、新たに発生する業務についても処理を行うことができず、システムの可用性を向上させることはできない。
【００１９】
また、上述したように、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文（訂正や取消を含む）の追い越しの防止を実現するには、発注済の注文について、いずれの経路を使用して取引所システムへ送信したのかを把握しなければならないが、注文内容や約定内容の詳細な情報を保持する注文管理システムとは異なり、取引所接続システムには多くの情報を記憶させておくことは好ましくないので、リソースを効率的に利用できる工夫も求められる。
【００２０】
さらに、接続異常を検知した場合には、取引参加者の物理サーバを、待機系の物理サーバに切り換える対処法も考えられるが、取引参加者の物理サーバが正常であるにもかかわらず、待機系の物理サーバに切り換えることになる場合もあるので、効率的な対処法とは言えない。なぜなら、取引参加者の物理サーバが異常の場合には、その取引参加者の物理サーバを切り換えることは適切であるが、取引所側の物理サーバが異常の場合には、取引参加者側の物理サーバを切り換えることは適切ではなく、再接続による復旧を待つのが適切だからである。また、取引参加者の参加者システムと取引所システムとの間の回線が異常の場合には、回線を切り換えて再接続を行えばよいが、通常、取引参加者側の物理サーバと取引所側の物理サーバとを接続する経路は、１つのネットワーク経路に定まることから、回線を切り換えるには、取引参加者の物理サーバも切り換えなければならず、この場合も、取引参加者の物理サーバが正常であるにもかかわらず、待機系の物理サーバに切り換えることになる場合があるからである。
【００２１】
以上より、証券会社等の取引参加者のシステムを取引所システムに接続する取引所接続システムについては、可用性を向上させることができる構成を目指すことを前提とし、さらに、顧客に不当・不測の不利益を与えない工夫、リソースの効率的な利用を実現する工夫、異常検知時の対応処理を効率的に行う工夫等を行うことが望ましい。
【００２２】
本発明の目的は、可用性を向上させることができる取引所接続システムおよびプログラムを提供するところにある。
【課題を解決するための手段】
【００２３】
本発明は、取引所への上りの経路について、銘柄分散または注文分散を行うとともに、取引所からの下りの経路を、上りの経路と同一の経路およびドロップコピー用の経路の２本の経路として同一内容の通知の重複排除を行うことにより、前記目的を達成するものであり、具体的には、次のような構成を採用することができる。
【００２４】
＜銘柄分散を行う場合＞
【００２５】
本発明は、金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
取引所システムとの間に形成された経路を介して取引所システムとの電文データの送受信を行う複数の仮想サーバと、
注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを仮想サーバに渡して取引所システムへ送信する処理を実行する電文送信処理手段と、
取引所システムから受信した注文に対する受付を含む通知の電文データを仮想サーバから受け取る処理を実行する電文受信処理手段とを備え、
取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
電文送信処理手段は、
複数の仮想サーバの各々に対応する取引所システムへの上りの経路に対し、取引所システムへ送信する各銘柄の発注用の電文データを、同一の銘柄の電文データは同一の上りの経路を通るように銘柄毎に分散させることにより、各銘柄の発注用の電文データを銘柄毎に分散させて複数の物理的な回線を分散使用する処理を実行する構成とされ、
電文受信処理手段は、
取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、複数の物理的な回線のうちの別の回線が使用されるように、取引参加者による設定が行われた状態で、２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされていることを特徴とするものである。
【００２６】
ここで、「取引参加者による設定が行われた状態で」とは、ドロップコピーの受信の有無およびドロップコピーを受信する場合にいずれの経路で受信するかは、取引所ではなく、証券会社等の取引参加者が自分で設定するという意味であり、ドロップコピー用の経路の形成は、取引参加者側が行うという意味である。この設定は、現在は、取引参加者による取引所への事前申請により仮想サーバ単位で行われているが、これに限らず、取引所の取り扱いに応じて設定すればよい。以下の発明においても同様である。
【００２７】
このような本発明の取引所接続システムにおいては、取引所システムへの上りの経路について、銘柄分散を行っているので、同一銘柄については、同一の仮想サーバおよびそれに対応する経路を経由して取引所システムへの発注処理が行われることになる。そして、取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成されているので、結局、各銘柄の注文は、銘柄毎に複数の物理的な回線を分散使用して発注されることになる。換言すれば、同一銘柄の注文であれば、同一の物理的な回線を使用して発注されることになる。従って、いずれかの回線が切断された場合でも、同一銘柄の注文について、後から発注された注文が、先に発注された注文を追い越すという事態を避けることが可能となり、時間優先の原則を守ることができるようになる。
【００２８】
また、銘柄毎に注文を発注する仮想サーバおよびそれに対応する経路を分散させているので、各仮想サーバにかかる負荷を均等化でき、あるいはたとえ均等化できなかったとしても各仮想サーバへの負荷分散を図ることができるため、仮想サーバの単位時間当たりの処理能力に上限がある場合でも、業務処理が滞る可能性を低減することが可能となり、システムの可用性を向上させることが可能となる。
【００２９】
さらに、取引所システムからの下りの経路については、通知のドロップコピーを受信し、重複排除を行う構成とするので、複数の物理的な回線のうちの別の回線を使用した２本の経路で、同一内容の通知を受け取ることが可能となる。このため、２本の経路について同時に接続障害が発生する確率が低いことを考えれば、通知が未受領となる事態、すなわち、発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手することができない事態が生じる確率を低減することができ、この点でも、システムの可用性を向上させることが可能となる。
【００３０】
また、注文の発注処理に使用する仮想サーバおよびそれに対応する経路を、銘柄毎に分散させているので、ある仮想サーバおよびそれに対応する経路に接続障害が発生し、使用不能になった場合でも、その仮想サーバおよび経路に割り当てられていた銘柄についての注文の発注処理を、別の仮想サーバおよび経路に対し、銘柄単位で割り当てを変更して行うことが容易に可能となり、また、再接続によりその仮想サーバおよび経路が復旧した場合には、復旧した仮想サーバおよび経路に対し、銘柄単位で割り当てを戻すことにより、システムの可用性を維持することも容易に可能となり、これらにより前記目的が達成される。
【００３１】
また、前述した取引所接続システムにおいて、
複数の仮想サーバの各々について取引所システムとの接続が正常か異常かの状態を示すステータスを、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段と、
複数の仮想サーバの各々について取引所システムとの接続が異常か否かを判定し、この判定結果を仮想サーバ管理情報記憶手段のステータスに記憶させる処理を実行する異常検知手段と
を備えた構成とすることが望ましい。
【００３２】
このように仮想サーバ管理情報記憶手段および異常検知手段を備えた構成とした場合には、電文送信処理手段は、仮想サーバ管理情報記憶手段のステータスを参照して稼働している仮想サーバを把握し、注文の発注処理に使用する仮想サーバを決定すること、あるいは、ステータスに対応する情報（ステータスに対応して仮想サーバ管理情報記憶手段に記憶されている情報や、ステータスから導かれる情報等）に基づき、注文の発注処理に使用する仮想サーバを決定することが可能となる。
【００３３】
より具体的には、上記のように仮想サーバ管理情報記憶手段および異常検知手段を備えた構成とした場合において、次のような構成とすることが望ましい。
【００３４】
すなわち、上記のように仮想サーバ管理情報記憶手段および異常検知手段を備えた構成とした場合において、
仮想サーバ管理情報記憶手段には、
ステータスが接続正常となっている仮想サーバに各銘柄を割り当てるための銘柄割当情報も、仮想サーバの識別情報と関連付けて記憶され、
電文送信処理手段は、
銘柄コードが示す数値または銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値、および、使用可能な経路に対応する稼働している仮想サーバの台数を入力とし、稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報を出力とする計算式または予め定められたルールを用いて、注文管理システムから受け取った注文銘柄の銘柄コードから、当該注文銘柄を割り当てる仮想サーバを決定するための銘柄割当情報を求め、求めた銘柄割当情報に関連付けられて仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされ、
異常検知手段は、
取引所システムとの接続異常が検知された仮想サーバ、または、再接続に成功した仮想サーバがある場合には、ステータスが接続正常となっている仮想サーバについて仮想サーバ管理情報記憶手段に記憶されている銘柄割当情報を更新する処理を実行する構成とされていることが望ましい。
【００３５】
ここで、「銘柄コードが示す数値」とは、銘柄コードを全体で１つの情報と捉えるという意味であり、例えば、銘柄コードが「８６０１」の場合には、１０進法で捉えた「８６０１」という数値でもよく、あるいは、１６進法や３７進法等のその他の進数で捉えた「８６０１」という数値でもよく、後者の場合には、例えば、銘柄コードが「ＦＢＣ３」であるとすれば、これを１６進法で捉えれば、１５×（１６）３＋１１×（１６）２＋１２×１６＋３という数値となり、３７進法で捉えれば、１５×（３７）３＋１１×（３７）２＋１２×３７＋３という数値となる。また、「銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値」とは、銘柄コードを構成する各桁が、数字（０〜９）、文字（Ａ，Ｂ，Ｃやα，β，γ等）、若しくは記号（：，＄，％等）の場合には、それらの各桁で使用されている個々のコード（数字、文字、若しくは記号）をそれぞれ別々の情報として捉えるという意味であり、１０進法に限らず、１６進法や３７進法等のその他の進数で捉えた数値としてもよいのは、銘柄コードを全体で１つの情報と捉える場合と同様である。以下の発明においても同様である。
【００３６】
なお、「計算式」や「ルール」は、稼働している仮想サーバの台数の変動を除いて考えた場合には、１つの入力（銘柄コードまたはその構成コードの入力）に対し、１つの銘柄割当情報が出力されるようになっていればよい。すなわち、１つの銘柄コードが与えられると、その銘柄に関する注文を送信する仮想サーバおよび経路が１つに決定されればよい。逆に、１つの仮想サーバおよびそれに対応する経路に割り当てられる銘柄は、複数の銘柄であってもよいので、１つの銘柄割当情報が与えられたときに、１つの銘柄コードが定まる必要はなく、従って、「計算式」や「ルール」は、可逆的である必要はない。
【００３７】
このように計算式またはルールを用いて、銘柄コードから、稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報を求め、さらに、求めた銘柄割当情報から、仮想サーバ管理情報記憶手段の情報を用いて仮想サーバの識別情報を取得する構成とした場合には、異常検知手段により異常が検知された仮想サーバ、あるいは再接続により復旧した仮想サーバがあると、稼働している仮想サーバの台数が変動したり、稼働している仮想サーバが入れ替わることがあるが、異常検知手段により、仮想サーバ管理情報記憶手段に記憶されている銘柄割当情報が更新されるので、そのような台数の変動や入替に容易に対応することが可能となる。このため、電文送信処理手段による注文の発注に使用する仮想サーバの決定処理に、仮想サーバの状態の変化を、容易に反映させることが可能となる。
【００３８】
例えば、銘柄コードと仮想サーバの識別情報とを直接に関連付けたテーブルを用意し、注文銘柄の銘柄コードから、それに対応する仮想サーバの識別情報を導くことにより、使用する仮想サーバを決定する方法も考えられるが、このような固定的なテーブルを用意する場合は、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替に容易に対応することは困難である。これに対し、計算式またはルールを用いて、銘柄コードから銘柄割当情報を求め、さらに、求めた銘柄割当情報から仮想サーバの識別情報を導くようにすれば、仮想サーバ管理情報記憶手段に記憶されている銘柄割当情報の更新管理を行うことで、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替に容易に対応することが可能となる。
【００３９】
また、銘柄コードを与えると、計算式またはルールにより、使用する仮想サーバおよび経路が決まるようになっているので、過去の時点で稼働していた仮想サーバの台数（過去の時点での計算式またはルールへの入力情報）およびいずれの仮想サーバが稼働していたのか（停止していた仮想サーバでもよい）を記憶しておけば、過去において注文の発注に使用した仮想サーバおよび経路を全部記憶しておくことを回避することが可能となる。従って、異常検知時において、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文（訂正や取消を含む）の追い越しの防止を実現するには、過去の注文の使用経路を把握する必要が生じることもあるが、この際、過去の注文の使用経路を全部記憶しておく必要はなくなるので、リソースの効率的な利用を実現することが可能となる。
【００４０】
さらに、上記のように計算式またはルールを用いて、銘柄コードから、稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報を求め、さらに、求めた銘柄割当情報から、仮想サーバ管理情報記憶手段の情報を用いて仮想サーバの識別情報を取得する構成とした場合において、
電文送信処理手段で用いられる計算式は、
銘柄コードが示す数値または銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値を用いて演算を行い、この演算で得られた数値を、稼働している仮想サーバの台数で除する除算の計算式であり、
仮想サーバ管理情報記憶手段には、
銘柄割当情報として、除算の余りが記憶され、
電文送信処理手段は、
除算の計算式を用いて余りを求め、求めた余りに関連付けられて仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされていることが望ましい。
【００４１】
ここで、「銘柄コードが示す数値または銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値を用いて演算を行い」の「演算」には、加減乗除の計算、平方根の計算、対数計算、これらの組合せ等の各種の演算が含まれる。例えば、銘柄コードを構成する各桁のコードが示す数値を単純に加算する演算等であり、より具体的には、例えば、銘柄コードが「８６０１」（１０進法で捉える場合）であれば、８＋６＋０＋１＝１５（１０進表記）等の演算であり、銘柄コードが「ＢＣ５Ｚ」（３７進法で捉える場合）であれば、１１＋１２＋５＋３６＝６４（１０進表記）等の演算である。
【００４２】
このように稼働している仮想サーバの台数で除する除算の計算式を用いて、余りを算出し、その余りを銘柄割当情報とする構成とした場合には、稼働している仮想サーバの台数と同数の銘柄割当情報を容易に作り出すことが可能となるうえ、簡単な計算式であるため、処理速度を向上させることもできる。
【００４３】
また、前述したように仮想サーバ管理情報記憶手段および異常検知手段を備えた構成とした場合において、
異常検知手段は、
複数の仮想サーバの各々に設けられた発注キューに格納されている発注用の電文データの滞留検知の情報を複数の仮想サーバの各々から取得することにより、取引所システムとの接続が異常か否かを判定する処理を実行する構成とされ、
仮想サーバは、
滞留の判定時の現在時刻、発注キューから最後に送出された電文データの送出時刻、および、当該最後に送出された電文データの次に送出される電文データの発注キューへの入力時刻を用いて、滞留を検知する処理を実行する構成とされていることが望ましい。
【００４４】
ここで、仮想サーバが「滞留の判定時の現在時刻、発注キューから最後に送出された電文データの送出時刻、および、当該最後に送出された電文データの次に送出される電文データの発注キューへの入力時刻を用いて、滞留を検知する処理」としては、複数のアルゴリズムによる処理があるが（例えば、後述する滞留検知アルゴリズム（１）、（２）等）、ここではアルゴリズムの詳細は問わず、３種類の時刻を用いて滞留検知が行われていればよい趣旨である。
【００４５】
このように発注キューの監視による滞留検知を行う構成とした場合には、通信規約に基づくシステムチェックの場合よりも、早期に接続異常を検知することが可能となるので、異常が検知された仮想サーバについての再接続による復旧に要する時間を短縮することが可能となり、システムの可用性を向上させることができるようになる。
【００４６】
さらに、前述したように仮想サーバ管理情報記憶手段および異常検知手段を備えた構成とした場合において、
異常検知手段は、
接続異常が検知された仮想サーバを別の物理サーバに切り換えることなく、当該仮想サーバに対し、アドレス変換器を用いることにより物理的な回線の切換を行って再接続を行うための指示を出すとともに、再接続を行った結果の情報を当該仮想サーバから受け取る処理を実行するか、または、接続異常が検知された仮想サーバ自身による判断でアドレス変換器を用いることにより物理的な回線の切換を行って再接続を行った結果の情報を当該仮想サーバから受け取る処理を実行する構成とされていることが望ましい。
【００４７】
このようにアドレス変換器を用いて物理的な回線の切換を行う構成とした場合には、取引参加者の物理サーバを切り換えずに、物理的な回線の切換を行って再接続を行うことが可能となる。すなわち、通常、取引参加者側の物理サーバと取引所側の物理サーバとを接続する経路は、１つのネットワーク経路に定まるので、回線を切り換えるには、取引参加者の物理サーバも切り換えなければならないが、それを回避することが可能となる。このため、異常検知時の対応処理を効率的に行うことができるようになる。
【００４８】
そして、以上に述べた取引所接続システムにおいて、２本の下りの経路から受信する同一内容の通知の電文データについての重複排除は、次の２通りの方法により実現することができる。
【００４９】
＜通知の重複排除の第１の方法＞
【００５０】
以上に述べた取引所接続システムにおいて、
取引所システムから受信した通知の電文データに含まれている取引所側で付番された通知通番および仮想サーバの識別情報を対応付けて記憶する受信通知管理情報記憶手段を備え、
電文受信処理手段は、
仮想サーバから通知の電文データを受け取った際に、通知の電文データに含まれている通知通番および仮想サーバの識別情報と同一の通知通番および同一の仮想サーバの識別情報の組合せが受信通知管理情報記憶手段に記憶されているか否かを判断し、同一の通知通番および同一の仮想サーバの識別情報の組合せが記憶されていない場合には、当該組合せの通知通番および仮想サーバの識別情報を受信通知管理情報記憶手段に記憶させるとともに通知の電文データを注文管理システムへ送信し、同一の通知通番および同一の仮想サーバの識別情報の組合せが既に記憶されている場合には、通知の電文データを注文管理システムへ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する構成とすることができる。
【００５１】
このように受信通知管理情報記憶手段を設けて通知の重複排除を行う構成とした場合には、同一内容の通知についての注文管理システムへの重複送信を回避することが可能となる。
【００５２】
＜通知の重複排除の第２の方法＞
【００５３】
以上に述べた取引所接続システムにおいて、
複数の仮想サーバの各々で取引所システムから受信した通知の電文データに含まれている取引所側で昇順に付番された通知通番のうちの直近に付番された最大の通知通番を、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段を備え、
電文受信処理手段は、
仮想サーバから通知の電文データを受け取った際に、受け取った通知の電文データに含まれる通知通番と、当該仮想サーバの識別情報に関連付けられて仮想サーバ管理情報記憶手段に記憶されている通知通番とを比較し、受け取った通知の電文データに含まれる通知通番が、仮想サーバ管理情報記憶手段に記憶されている通知通番よりも大きい値である場合には、受け取った通知の電文データに含まれる通知通番を仮想サーバ管理情報記憶手段に記憶させるとともに、受け取った通知の電文データを注文管理システムへ送信し、仮想サーバ管理情報記憶手段に記憶されている通知通番よりも小さい値または同じ値である場合には、受け取った通知の電文データを注文管理システムへ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する構成としてもよい。
【００５４】
ここで、「受け取った通知の電文データに含まれる通知通番が、仮想サーバ管理情報記憶手段に記憶されている通知通番よりも大きい値である場合」に該当するか否かの判断処理については、「受け取った通知の電文データに含まれる通知通番が、仮想サーバ管理情報記憶手段に記憶されている通知通番の次の通番である場合」に該当するか否かの判断処理とすることが含まれる。ある通番が抜けた状態で更にその次の通番を受信する場合もあり得るので、そのような異常な状態になった場合を考慮した判断処理であり、この場合には、取引所に対して、再送要求して補正する処理を行う。
【００５５】
このように仮想サーバ管理情報記憶手段に、通知通番のうちの直近に付番された最大の通知通番を記憶する構成とした場合には、受信通知管理情報記憶手段の設置を省略することが可能となる。
【００５６】
＜新規注文、訂正、取消の取り扱い詳細＞
【００５７】
また、以上に述べた取引所接続システムにおいて、
取引所システムへ送信する注文の発注用の電文データに含まれている取引参加者側で付番した入力通番、注文銘柄についての銘柄コード、および注文に対する受付通知の電文データについての取引所システムからの受信の有無を示す情報を対応付けて記憶するか、または、受付通知の電文データを取引所システムから受信していない注文についてのみ当該注文の入力通番および注文銘柄についての銘柄コードを記憶する発注管理情報記憶手段を備え、
電文送信処理手段は、
注文管理システムから新規注文を受け取った際には、この新規注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かを発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない注文がある場合には、注文管理システムから受け取った新規注文についての発注用の電文データを仮想サーバへ渡さず、受付通知の電文データを受信していない注文がない場合には、現時点で稼働している仮想サーバへ新規注文についての発注用の電文データを渡す処理を実行し、
注文管理システムから注文の訂正を受け取った際には、この訂正に係る注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かを発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない注文がある場合には、注文管理システムから受け取った注文の訂正についての発注用の電文データを仮想サーバへ渡さず、受付通知の電文データを受信していない注文がない場合には、現時点で稼働している仮想サーバへ注文の訂正についての発注用の電文データを渡す処理を実行し、
注文管理システムから注文の取消を受け取った際には、この取消に係る注文の銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かにかかわらず、現時点で稼働している仮想サーバへ注文の取消についての発注用の電文データを渡す処理を実行する構成とされていることが望ましい。
【００５８】
ここで、「現時点で稼働している仮想サーバ」は、前述した「複数の仮想サーバの各々について取引所システムとの接続が正常か異常かの状態を示すステータスを、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段」が設けられている構成とする場合には、この仮想サーバ管理情報記憶手段のステータスを参照して判断してもよい。また、「現時点で稼働している仮想サーバ」のうちのいずれの仮想サーバへ発注用の電文データを渡すのかは、前述した「計算式」または「ルール」を採用する構成とする場合には、それらの「計算式」または「ルール」を用いて決定すればよい。以下の発明においても同様である。
【００５９】
このように注文管理システムから業務電文を受け取った際に、発注管理情報記憶手段に記憶された情報を参照し、受付通知の受信の有無を確認する構成とした場合には、接続障害が発生し、受付通知を受信できない事態が発生するような状況下でも、同一銘柄（銘柄毎）の注文間の追い越しを防ぐ処理を実現することが可能となる。
【００６０】
なお、発注管理情報記憶手段において、受付通知の電文を受信していない注文については、人の判断で端末装置からの操作により受信済に置き換えることができるようにしてもよく、このようにした場合には、新規注文や注文の訂正を受け取った際に、その銘柄に対して、何もできない状態になることを回避可能となる。他の発明についても同様である。
【００６１】
＜注文分散を行う場合＞
【００６２】
また、本発明は、金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
取引所システムとの間に形成された経路を介して取引所システムとの電文データの送受信を行う複数の仮想サーバと、
注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを仮想サーバに渡して取引所システムへ送信する処理を実行する電文送信処理手段と、
取引所システムから受信した注文に対する受付を含む通知の電文データを仮想サーバから受け取る処理を実行する電文受信処理手段と、
取引所システムへ送信する注文の発注用の電文データに含まれている取引参加者側で付番した入力通番、注文銘柄についての銘柄コード、および注文に対する受付通知の電文データについての取引所システムからの受信の有無を示す情報を対応付けて記憶するか、または、受付通知の電文データを取引所システムから受信していない注文についてのみ当該注文の入力通番および注文銘柄についての銘柄コードを記憶する発注管理情報記憶手段とを備え、
取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
電文送信処理手段は、
複数の仮想サーバの各々に対応する取引所システムへの上りの経路に対し、取引所システムへ送信する各注文の発注用の電文データを分散させることにより、複数の物理的な回線を分散使用する処理を実行する構成とされ、
電文受信処理手段は、
取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、複数の物理的な回線のうちの別の回線が使用されるように、取引参加者による設定が行われた状態で、２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされ、
電文送信処理手段は、
注文管理システムから注文の訂正を受け取った際には、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正があるか否かを発注管理情報記憶手段に記憶された情報を用いて判断し、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正がある場合には、注文管理システムから受け取った注文の訂正についての発注用の電文データを仮想サーバへ渡さず、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正がない場合には、現時点で稼働している仮想サーバへ注文の訂正についての発注用の電文データを渡す処理を実行する構成とされていることを特徴とするものである。
【００６３】
このような本発明の取引所接続システムにおいては、取引所システムへの上りの経路について、注文分散を行っている。そして、取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成されているので、結局、各注文は、複数の物理的な回線を分散使用して発注されることになる。
【００６４】
また、各注文を発注する仮想サーバおよびそれに対応する経路を分散させているので、各仮想サーバにかかる負荷を均等化でき、あるいはたとえ均等化できなかったとしても各仮想サーバへの負荷分散を図ることができるため、仮想サーバの単位時間当たりの処理能力に上限がある場合でも、業務処理が滞る可能性を低減することが可能となり、システムの可用性を向上させることが可能となる。
【００６５】
さらに、取引所システムからの下りの経路については、通知のドロップコピーを受信し、重複排除を行う構成とするので、複数の物理的な回線のうちの別の回線を使用した２本の経路で、同一内容の通知を受け取ることが可能となる。このため、２本の経路について同時に接続障害が発生する確率が低いことを考えれば、通知が未受領となる事態、すなわち、発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手することができない事態が生じる確率を低減することができ、この点でも、システムの可用性を向上させることが可能となる。
【００６６】
また、電文送信処理手段は、注文管理システムから注文の訂正を受け取った際には、受付通知の電文データを受信していない訂正の対象の注文または当該注文に対する別の訂正があるか否かを発注管理情報記憶手段に記憶された情報を用いて判断して処理を行うので、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しを防ぐことが可能となり、これらにより前記目的が達成される。
【００６７】
＜注文番号若しくは入力通番により、注文分散を行う場合＞
【００６８】
さらに、本発明は、金融商品の売買取引のための注文を管理する注文管理システムと取引所システムとの接続を行うコンピュータにより構成された取引参加者の取引所接続システムであって、
取引所システムとの間に形成された経路を介して取引所システムとの電文データの送受信を行う複数の仮想サーバと、
注文管理システムから受け取った金融商品の各銘柄の注文についての発注用の電文データを仮想サーバに渡して取引所システムへ送信する処理を実行する電文送信処理手段と、
取引所システムから受信した注文に対する受付を含む通知の電文データを仮想サーバから受け取る処理を実行する電文受信処理手段と、
複数の仮想サーバの各々について取引所システムとの接続が正常か異常かの状態を示すステータス、およびステータスが接続正常となっている仮想サーバに各注文を割り当てるための注文割当情報を、仮想サーバの識別情報と関連付けて記憶する仮想サーバ管理情報記憶手段と、
複数の仮想サーバの各々について取引所システムとの接続が異常か否かを判定し、この判定結果を仮想サーバ管理情報記憶手段のステータスに記憶させる処理を実行する異常検知手段とを備え、
取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成され、
電文送信処理手段は、
複数の仮想サーバの各々に対応する取引所システムへの上りの経路に対し、取引所システムへ送信する各注文の発注用の電文データを分散させることにより、複数の物理的な回線を分散使用する処理を実行するとともに、
取引参加者で付番した注文番号若しくは入力通番が示す数値またはこれらの注文番号若しくは入力通番を構成する数字、文字、若しくは記号からなる各コードが示す数値、および、使用可能な経路に対応する稼働している仮想サーバの台数を入力とし、稼働している仮想サーバに各注文を割り当てるための注文割当情報を出力とする計算式または予め定められたルールを用いて、注文管理システムから受け取った注文についての注文番号若しくは入力通番から、当該注文を割り当てる仮想サーバを決定するための注文割当情報を求め、求めた注文割当情報に関連付けられて仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされ、
電文受信処理手段は、
取引所システムからの下りの経路が、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路となり、これらの２本の経路に、複数の物理的な回線のうちの別の回線が使用されるように、取引参加者による設定が行われた状態で、２本の経路を介して同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する構成とされ、
異常検知手段は、
取引所システムとの接続異常が検知された仮想サーバ、または、再接続に成功した仮想サーバがある場合には、ステータスが接続正常となっている仮想サーバについて仮想サーバ管理情報記憶手段に記憶されている注文割当情報を更新する処理を実行する構成とされていることを特徴とするものである。
【００６９】
ここで、「計算式」または「ルール」への入力情報については、前述した銘柄分散を行う場合には、銘柄コードまたはその構成コードとなっていたが、ここでは注文分散を行うので、銘柄コードまたはその構成コードの代わりに、注文番号若しくは入力通番またはこれらの構成コードを入力する。また、「計算式」または「ルール」からの出力情報については、前述した銘柄分散を行う場合には、銘柄割当情報となっていたが、ここでは注文分散を行うので、銘柄割当情報の代わりに、注文割当情報が出力される。
【００７０】
このような本発明の取引所接続システムにおいては、取引所システムへの上りの経路について、注文分散を行っている。そして、取引所システムと複数の仮想サーバの各々との間に形成された複数の仮想的な経路は、取引所システムとの間に設けられた複数の物理的な回線を分散使用して形成されているので、結局、各注文は、複数の物理的な回線を分散使用して発注されることになる。
【００７１】
また、各注文を発注する仮想サーバおよびそれに対応する経路を分散させているので、各仮想サーバにかかる負荷を均等化でき、あるいはたとえ均等化できなかったとしても各仮想サーバへの負荷分散を図ることができるため、仮想サーバの単位時間当たりの処理能力に上限がある場合でも、業務処理が滞る可能性を低減することが可能となり、システムの可用性を向上させることが可能となる。
【００７２】
さらに、取引所システムからの下りの経路については、通知のドロップコピーを受信し、重複排除を行う構成とするので、複数の物理的な回線のうちの別の回線を使用した２本の経路で、同一内容の通知を受け取ることが可能となる。このため、２本の経路について同時に接続障害が発生する確率が低いことを考えれば、通知が未受領となる事態、すなわち、発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手することができない事態が生じる確率を低減することができ、この点でも、システムの可用性を向上させることが可能となる。
【００７３】
また、計算式またはルールを用いて、注文番号若しくは入力通番から、稼働している仮想サーバに各注文を割り当てるための注文割当情報を求め、さらに、求めた注文割当情報から、仮想サーバ管理情報記憶手段の情報を用いて仮想サーバの識別情報を取得する構成とされていることから、異常検知手段により異常が検知された仮想サーバ、あるいは再接続により復旧した仮想サーバがあると、稼働している仮想サーバの台数が変動したり、稼働している仮想サーバが入れ替わることがあるが、異常検知手段により、仮想サーバ管理情報記憶手段に記憶されている注文割当情報が更新されるので、そのような台数の変動や入替に容易に対応することが可能となる。このため、電文送信処理手段による注文の発注に使用する仮想サーバの決定処理に、仮想サーバの状態の変化を、容易に反映させることが可能となる。
【００７４】
さらに、注文番号若しくは入力通番を与えると、計算式またはルールにより、使用する仮想サーバおよび経路が決まるようになっているので、過去の時点で稼働していた仮想サーバの台数（過去の時点での計算式またはルールへの入力情報）およびいずれの仮想サーバが稼働していたのか（停止していた仮想サーバでもよい）を記憶しておけば、過去において注文の発注に使用した仮想サーバおよび経路を全部記憶しておくことを回避することが可能となる。従って、異常検知時において、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しの防止を実現するには、過去の注文の使用経路を把握する必要があるが、この際、過去の注文の使用経路を全部記憶しておく必要はなくなるので、リソースの効率的な利用を実現することが可能となり、これらにより前記目的が達成される。
【００７５】
そして、上記のように注文番号若しくは入力通番により、注文分散を行う構成とする場合において、
電文送信処理手段で用いられる計算式は、
取引参加者で付番した注文番号若しくは入力通番が示す数値またはこれらの注文番号若しくは入力通番を構成する数字、文字、若しくは記号からなる各コードが示す数値を用いて演算を行い、この演算で得られた数値を、稼働している仮想サーバの台数で除する除算の計算式であり、
仮想サーバ管理情報記憶手段には、
注文割当情報として、除算の余りが記憶され、
電文送信処理手段は、
除算の計算式を用いて余りを求め、求めた余りに関連付けられて仮想サーバ管理情報記憶手段に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する構成とされていることが望ましい。
【００７６】
このように稼働している仮想サーバの台数で除する除算の計算式を用いて、余りを算出し、その余りを注文割当情報とする構成とした場合には、稼働している仮想サーバの台数と同数の注文割当情報を容易に作り出すことが可能となるうえ、簡単な計算式であるため、処理速度を向上させることもできる。
【００７７】
＜プログラムの発明＞
【００７８】
また、本発明のプログラムは、以上に述べた取引所接続システムとして、コンピュータを機能させるためのものである。
【００７９】
なお、上記のプログラムまたはその一部は、例えば、光磁気ディスク（ＭＯ）、コンパクトディスク（ＣＤ）を利用した読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）、デジタル・バーサタイル・ディスク（ＤＶＤ）を利用した読出し専用メモリ（ＤＶＤ−ＲＯＭ）、ＤＶＤを利用したランダム・アクセス・メモリ（ＤＶＤ−ＲＡＭ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去および書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ハードディスク、ソリッドステートドライブ（ＳＳＤ）、フラッシュディスク等の記録媒体に記録して保存や流通等させることが可能であるとともに、例えば、ＬＡＮ、ＭＡＮ、ＷＡＮ、インターネット、イントラネット、エクストラネット等の有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に載せて搬送することも可能である。さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【発明の効果】
【００８０】
以上に述べたように本発明によれば、取引所への上りの経路について、銘柄分散または注文分散を行うとともに、取引所からの下りの経路を、上りの経路と同一の経路およびドロップコピー用の経路の２本の経路として同一内容の通知の重複排除を行うので、取引所接続システムの可用性を向上させることができるという効果がある。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施形態の取引所接続システムの全体構成図。
【図２】前記実施形態における仮想サーバと使用経路との関係を示す説明図。
【図３】前記実施形態における正常時および異常発生時（回線切換を行った場合）の経路（その１）の説明図。
【図４】前記実施形態における正常時および異常発生時（回線切換を行った場合）の経路（その２）の説明図。
【図５】前記実施形態の仮想サーバ管理情報記憶手段の構成図。
【図６】前記実施形態の通番管理情報記憶手段の構成図。
【図７】前記実施形態の発注管理情報記憶手段の構成図。
【図８】前記実施形態の受信通知管理情報記憶手段の構成図。
【図９】前記実施形態の異常検知手段による各仮想サーバの接続状態の管理処理の流れを示すフローチャートの図。
【図１０】前記実施形態において異常が検知された場合のステップＳ１０の対応処理（第１の方法）の流れを示すフローチャートの図。
【図１１】前記実施形態において異常が検知された場合のステップＳ１０の対応処理（第２の方法）の流れを示すフローチャートの図。
【図１２】前記実施形態において異常が検知された場合のステップＳ１０の対応処理（第３の方法）の流れを示すフローチャートの図。
【図１３】前記実施形態における業務電文の送受信の処理の流れを示すフローチャートの図。
【図１４】前記実施形態の電文送信処理手段による業務電文の送信時のステップＳ３２の処理の流れ（その１）を示すフローチャートの図。
【図１５】前記実施形態の電文送信処理手段による業務電文の送信時のステップＳ３２の処理の流れ（その２）を示すフローチャートの図。
【図１６】前記実施形態の電文送信処理手段による業務電文の送信時のステップＳ３２の処理の流れ（その３）を示すフローチャートの図。
【図１７】前記実施形態の発注キューの監視による滞留検知の処理の説明図。
【発明を実施するための形態】
【００８２】
以下に本発明の一実施形態について図面を参照して説明する。図１には、本実施形態の取引所接続システム１０の全体構成が示されている。図２には、仮想サーバＡ，Ｂ等と使用経路ＲＡ（正，副），ＲＢ（正，副）等との関係が示され、図３および図４には、正常時および異常発生時（回線切換を行った場合）の経路が示されている。また、図５には、仮想サーバ管理情報記憶手段４１の構成が示され、図６には、通番管理情報記憶手段４２の構成が示され、図７には、発注管理情報記憶手段４３の構成が示され、図８には、受信通知管理情報記憶手段４４の構成が示されている。さらに、図９〜図１２には、異常検知手段３３による各仮想サーバＡ，Ｂ等の接続状態の管理処理の流れがフローチャートで示され、図１３〜図１６には、業務電文の送受信の処理の流れがフローチャートで示されている。そして、図１７は、各仮想サーバＡ，Ｂ等での発注キューの監視による滞留検知の処理の説明図である。
【００８３】
＜取引所接続システム１０の全体構成＞
【００８４】
図１において、取引所接続システム１０は、注文管理システム６０とともに証券会社等の取引参加者側のシステムを構成し、取引所システム７０との接続を行うためのシステムである。この取引所接続システム１０は、発注管理システム２０と、アドレス変換器５０とを備えて構成されている。
【００８５】
発注管理システム２０は、１台または複数台の物理サーバ（コンピュータ）により構成され、発注管理手段３０と、この発注管理手段３０による処理で使用される各種のデータを記憶する仮想サーバ管理情報記憶手段４１、通番管理情報記憶手段４２、発注管理情報記憶手段４３、受信通知管理情報記憶手段４４、および注文管理システム６０からの受付キュー４５と、発注管理手段３０に接続された複数の仮想サーバＡ，Ｂ，Ｃ，Ｄ等とを備えて構成されている。
【００８６】
仮想サーバＡ，Ｂ，Ｃ，Ｄ等は、取引所システム７０と電文の送受信を行うための基本的な単位であり、１台または複数台の物理サーバ（コンピュータ）により構成され、取引所システム７０へ注文（新規注文、訂正、取消）の電文データを送信する業務処理や、取引所システム７０からの通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）の電文データを受信する業務処理等を実行するものである。これらの仮想サーバＡ，Ｂ，Ｃ，Ｄ等は、それぞれ取引所システム７０へ送出する電文データを一時的に保存する発注キューを備えている。なお、これらの取引参加者側の仮想サーバＡ，Ｂ，Ｃ，Ｄ等は、取引所システム７０に設けられた取引所側の対応する仮想サーバＡ，Ｂ，Ｃ，Ｄ等との間で電文の送受信を行う。
【００８７】
取引所接続システム１０と取引所システム７０との間には、複数の物理回線が設けられ、本実施形態では、一例として、２本の物理的な回線Ｌ１，Ｌ２が設けられている。回線Ｌ１は、取引所システム７０に設けられた取引所ネットワーク７１のアクセスポイントＡＰ１に接続され、回線Ｌ２は、アクセスポイントＡＰ２に接続されている。なお、物理回線の本数は、２本に限定されるものではなく、例えば、取引所ネットワーク７１のアクセスポイントＡＰ３（不図示）に接続される物理的な回線Ｌ３（不図示）を設けてもよい。
【００８８】
図２に示すように、取引参加者側の各仮想サーバＡ，Ｂ等と、これらに対応する取引所側の各仮想サーバＡ，Ｂ等とは、それぞれ仮想的な経路ＲＡ（正，副），ＲＢ（正，副）等で接続されるが、これらの各仮想経路は、複数の物理回線Ｌ１，Ｌ２等を分散使用して形成されている。
【００８９】
図２の例では、取引参加者側の仮想サーバＡと、これに対応する取引所側の仮想サーバＡとが、仮想的な経路ＲＡ（正）またはＲＡ（副）で接続されるようになっている。仮想経路ＲＡ（正）は、物理回線Ｌ１を使用し、仮想経路ＲＡ（副）は、物理回線Ｌ２を使用して形成される。図２中の点線で示された仮想経路ＲＡ（副）は、アドレス変換器５０による回線切換で実現される経路であるから、仮想経路ＲＡ（正）とは別の物理回線を使用して形成される。
【００９０】
また、取引参加者側の仮想サーバＢと、これに対応する取引所側の仮想サーバＢとが、仮想的な経路ＲＢ（正）またはＲＢ（副）で接続されるようになっている。仮想経路ＲＢ（正）は、物理回線Ｌ２を使用し、仮想経路ＲＢ（副）は、物理回線Ｌ１を使用して形成される。図２中の点線で示された仮想経路ＲＢ（副）は、アドレス変換器５０による回線切換で実現される経路であるから、仮想経路ＲＢ（正）とは別の物理回線を使用して形成される。なお、上記の仮想経路ＲＡ（正）は、物理回線Ｌ１を使用して形成されていたが、仮想経路ＲＢ（正）は、物理回線Ｌ２を使用して形成されるので、仮想経路が、複数の物理回線Ｌ１，Ｌ２を分散使用して形成されるようになっていることがわかる。
【００９１】
さらに、取引参加者側の仮想サーバＣと、これに対応する取引所側の仮想サーバＣとが、仮想的な経路ＲＣ（正）またはＲＣ（副）で接続され、また、取引参加者側の仮想サーバＥと、これに対応する取引所側の仮想サーバＥとが、仮想的な経路ＲＥ（正）またはＲＥ（副）で接続されているが、これらの仮想経路に使用される物理回線は、仮想サーバＡ間の接続の場合と同様である。
【００９２】
そして、取引参加者側の仮想サーバＤと、これに対応する取引所側の仮想サーバＤとが、仮想的な経路ＲＤ（正）またはＲＤ（副）で接続され、また、取引参加者側の仮想サーバＦと、これに対応する取引所側の仮想サーバＦとが、仮想的な経路ＲＦ（正）またはＲＦ（副）で接続されているが、これらの仮想経路に使用される物理回線は、仮想サーバＢ間の接続の場合と同様である。
【００９３】
従って、仮想的な経路ＲＡ，ＲＢ，ＲＣ，ＲＤ，ＲＥ，ＲＦについて、図２中の実線で示された（正）の経路だけをこの順で見ると、物理回線Ｌ１，Ｌ２を交互に使用することにより、複数の物理回線の分散使用を実現している。また、図２中の点線で示された（副）の経路だけを見ても、物理回線Ｌ１，Ｌ２の順序が逆転しているだけであり、やはり物理回線Ｌ２，Ｌ１を交互に使用し、複数の物理回線の分散使用を実現している。
【００９４】
また、取引参加者側の仮想サーバＧと、これに対応する取引所側の仮想サーバＧとが、仮想的な経路ＲＧで接続されるようになっている。この仮想サーバＧは、仮想サーバＢ，Ｄ，Ｆのドロップコピー用の仮想サーバとして設定されているから、仮想サーバＢ，Ｄ，Ｆの仮想経路ＲＢ（正），ＲＤ（正），ＲＦ（正）が、物理回線Ｌ２を使用して形成されるので、仮想サーバＧの仮想経路ＲＧは、それとは別の物理回線Ｌ１を使用して形成される。これにより、ドロップコピーが、複数（本実施形態では、一例として２本）の物理回線のうちの別の物理回線を使用して送信されてくる設定を実現している。
【００９５】
さらに、取引参加者側の仮想サーバＨと、これに対応する取引所側の仮想サーバＨとが、仮想的な経路ＲＨで接続されるようになっている。この仮想サーバＨは、仮想サーバＡ，Ｃ，Ｅのドロップコピー用の仮想サーバとして設定されているから、仮想サーバＡ，Ｃ，Ｅの仮想経路ＲＡ（正），ＲＣ（正），ＲＥ（正）が、物理回線Ｌ１を使用して形成されるので、仮想サーバＨの仮想経路ＲＨは、それとは別の物理回線Ｌ２を使用して形成される。これにより、ドロップコピーが、複数（本実施形態では、一例として２本）の物理回線のうちの別の物理回線を使用して送信されてくる設定を実現している。
【００９６】
なお、上述した仮想サーバＧ，Ｈの例のように、ドロップコピー先の仮想サーバは、複数のドロップコピー元の仮想サーバを担当するようになっていてもよいが、ドロップコピー元の仮想サーバとドロップコピー先の仮想サーバとが１対１になるように、ドロップコピー先の仮想サーバを用意（設定）してもよい。但し、１つのドロップコピー元の仮想サーバに対し、複数のドロップコピー先の仮想サーバを用意することはできない。従って、同一内容の通知について、複数のドロップコピーを受信するような設定は、少なくとも現在の取引所システム７０では行うことはできない。このようなドロップコピーの受信の有無およびドロップコピーを受信する場合にいずれの仮想サーバ（経路）を使用するのかの設定は、現在は、証券会社等の取引参加者による取引所への事前申請により仮想サーバ単位で行われているが、取引所の取り扱いの変更があれば、例えば注文単位の設定等としてもよく、要するに、本発明では、取引所ではなく、証券会社等の取引参加者の意思による設定で、ドロップコピーの受信経路が決まるようになっていればよい。
【００９７】
また、図２の例では、物理回線として２本の回線Ｌ１，Ｌ２を使用しているが、例えば、さらに別の物理回線Ｌ３を追加設置した場合には、仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの仮想経路ＲＡ，ＲＢ、ＲＣ，ＲＤ，ＲＥ，ＲＦを３本の物理回線Ｌ１，Ｌ２，Ｌ３を分散使用して形成するようにしてもよい。この場合には、ドロップコピー用の仮想サーバＧ，Ｈ（ドロップコピー先の仮想サーバ）で使用される物理回線については、ドロップコピー元の仮想サーバの仮想経路が、物理回線Ｌ１を使用して形成されていれば、ドロップコピー先の仮想サーバの仮想経路は、それ以外の物理回線Ｌ２またはＬ３を使用して形成すればよく、ドロップコピー元の仮想サーバの仮想経路が、物理回線Ｌ２を使用して形成されていれば、ドロップコピー先の仮想サーバの仮想経路は、それ以外の物理回線Ｌ１またはＬ３を使用して形成すればよく、ドロップコピー元の仮想サーバの仮想経路が、物理回線Ｌ３を使用して形成されていれば、ドロップコピー先の仮想サーバの仮想経路は、それ以外の物理回線Ｌ１またはＬ２を使用して形成すればよい。また、仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの仮想経路ＲＡ，ＲＢ，ＲＣ，ＲＤ，ＲＥ，ＲＦを２本の物理回線Ｌ１，Ｌ２を分散使用して形成し、ドロップコピー用の仮想サーバＧ，Ｈ（あるいは、それらをまとめたドロップコピー先の仮想サーバ）の仮想経路を別の物理回線Ｌ３を使用して形成してもよく、要するに、ドロップコピー元の仮想サーバの仮想経路と、ドロップコピー先の仮想サーバの仮想経路とが、別の物理回線を使用して形成されていればよい。
【００９８】
さらに、図２中の細い点線で示された物理サーバの構成例では、発注管理手段３０（およびこれに接続された各記憶手段４１〜４５）を１つの物理サーバで構成し、仮想サーバＡ，Ｃ，Ｅ，Ｇを別の１つの物理サーバで構成し、仮想サーバＢ，Ｄ，Ｆ，Ｈをさらに別の１つの物理サーバで構成するようになっていたが、発注管理システム２０の物理サーバの構成は、これに限定されるものではなく、任意である。例えば、発注管理手段３０およびこれに接続された各記憶手段４１〜４５、並びに仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈの全てを１つの物理サーバで構成してもよく、あるいは、発注管理手段３０およびこれに接続された各記憶手段４１〜４５を１つの物理サーバで構成し、仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈを別の１つの物理サーバで構成してもよい。また、仮想サーバＡ，Ｃの物理サーバと仮想サーバＥ，Ｇの物理サーバとに分けたり、仮想サーバＢ，Ｄの物理サーバと仮想サーバＦ，Ｈとに分けてもよい。さらに、仮想サーバＡ，Ｂ，Ｃ，Ｄを１つの物理サーバで構成し、仮想サーバＥ，Ｆ，Ｇ，Ｈを別の１つの物理サーバで構成してもよい。
【００９９】
図３および図４に示すように、取引所システム７０への上りの経路と、取引所システム７０からの下りの経路（上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路）との関係は、正常時および異常発生時（アドレス変換器５０による回線切換を行った場合）では、次のように変わる。
【０１００】
図３は、注文の発注に仮想サーバＡを使用し、そのドロップコピー用の仮想サーバとして仮想サーバＨが設定されている場合である。正常時の経路については、往路（上りの経路）では、仮想経路ＲＡ（正）＝物理回線Ｌ１が使用され、復路（下りの経路）では、主経路として、仮想経路ＲＡ（正）＝物理回線Ｌ１が使用されるとともに、ドロップコピー用の経路として、仮想経路ＲＨ＝物理回線Ｌ２が使用される。従って、復路（下りの経路）では、２本の物理回線Ｌ１，Ｌ２が使用されている状態となる。
【０１０１】
一方、アドレス変換器５０による回線切換を行った場合の異常発生時の経路については、往路（上りの経路）では、仮想経路ＲＡ（副）＝物理回線Ｌ２が使用され、復路（下りの経路）では、主経路として、仮想経路ＲＡ（副）＝物理回線Ｌ２が使用されるとともに、ドロップコピー用の経路として、仮想経路ＲＨ＝物理回線Ｌ２が使用される。従って、復路（下りの経路）では、１本の物理回線Ｌ２しか使用されていない状態となるが、物理回線Ｌ１の異常が原因で接続異常が検知されている可能性があるので、ドロップコピー用の経路ＲＨを（正）から（副）に切り換えて物理回線Ｌ１を使用するということは避けている。なお、例えば物理回線Ｌ３が追加設置されている場合には、その物理回線Ｌ３をドロップコピー用の経路ＲＨとして使用すること等により、異常発生時にも、復路（下りの経路）について、２本の物理回線を使用する状態を作り出すことができる。
【０１０２】
図４は、注文の発注に仮想サーバＢを使用し、そのドロップコピー用の仮想サーバとして仮想サーバＧが設定されている場合である。図３に対し、物理回線Ｌ１とＬ２が逆転しているが、その他は、図３の場合と同様である。
【０１０３】
＜発注管理手段３０の構成＞
【０１０４】
発注管理手段３０は、図１に示すように、電文送信処理手段３１と、電文受信処理手段３２と、異常検知手段３３とを含んで構成されている。
【０１０５】
＜電文送信処理手段３１の構成＞
【０１０６】
電文送信処理手段３１は、注文管理システム６０から受け取った金融商品（株式等）の各銘柄の注文（新規注文、訂正、取消）についての発注用の電文データを、仮想サーバＡ，Ｂ等の発注キューに送り、仮想経路ＲＡ，ＲＢ等を介して取引所システム７０へ送信する処理を実行するものである。
【０１０７】
この電文送信処理手段３１は、各銘柄の発注用の電文データを、同一の銘柄の電文データは同一の上りの経路（同一の仮想サーバ）を通るように銘柄毎に分散させる処理（本願明細書では、これを「銘柄分散」と称している。）を実行する。これにより、結果的に、すなわち上述した仮想経路と物理回線との設定関係に従って、各銘柄の発注用の電文データは、複数の物理的な回線Ｌ１，Ｌ２を分散使用して発注されることになるので、電文送信処理手段３１が、そのような物理回線の分散使用管理を行っていることになる。この際、電文送信処理手段３１による銘柄分散は、次のようにして行うことができる。
【０１０８】
＜電文送信処理手段３１による銘柄分散の方法＞
【０１０９】
電文送信処理手段３１は、「銘柄コードが示す数値」または「銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値」、および、使用可能な経路に対応する「稼働している仮想サーバの台数」を入力とし、「稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報」を出力とする「計算式」または「予め定められたルール」を用いて、注文管理システム６０から受け取った注文銘柄の銘柄コードから、当該注文銘柄を割り当てる仮想サーバを決定するための銘柄割当情報を求め、求めた銘柄割当情報に関連付けられて仮想サーバ管理情報記憶手段４１（図５参照）に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する。「銘柄コードが示す数値」または「銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値」の意味は、既に詳述しているので、ここでは詳しい説明を省略する。
【０１１０】
ここで、「計算式」または「予め定められたルール」は、電文送信処理手段３１を構成するプログラム内に記述してもよく、発注管理手段３０に接続された分散方法記憶手段（不図示）に記憶させておいてもよい。
【０１１１】
「計算式」としては、例えば、「銘柄コードが示す数値」または「銘柄コードを構成する数字、文字、若しくは記号からなる各コードが示す数値」を用いて演算を行い、この演算で得られた数値を、「稼働している仮想サーバの台数」で除する除算（割り算）の計算式を採用することができる。この場合、除数（割る数）は、「稼働している仮想サーバの台数」とすることが好適であるが、被除数（割られる数）は、上記のように「演算で得られた数値」であればよく、この「演算」には、加減乗除の計算、平方根の計算、対数計算、これらの組合せ等の各種の演算が含まれる。より具体的には、例えば、銘柄コードを構成する各桁のコードが示す数値を単純に加算する演算（和を求める演算）等であり、銘柄コードが「８６０１」であれば、８＋６＋０＋１＝１５という演算になるが、この演算の内容については、既に詳述しているので、ここでは詳しい説明を省略する。なお、除算（割り算）に関する用語としては、（被除数）＝（除数）×（商）＋（余り）を採用している。
【０１１２】
そして、この場合、電文送信処理手段３１は、注文管理システム６０から受け取った注文銘柄の銘柄コードまたはその構成コードを上記の「計算式」への入力とするとともに、通番管理情報記憶手段４２（図６参照）に記憶されている除数（稼働している仮想サーバの台数）を取得してこれも上記の「計算式」への入力とし、上記の「計算式」を用いて除算を実行し、上記の「計算式」の出力である銘柄割当情報として、その除算の余りを求め、求めた余りに関連付けられて仮想サーバ管理情報記憶手段４１（図５参照）に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する。なお、過去の時点における除数（稼働している仮想サーバの台数）が必要ない場合、すなわち、正常時の場合（異常が検知されていない場合）や、異常は検知されているが、現時点での除数（稼働している仮想サーバの台数）を用いてもよい場合には、電文送信処理手段３１は、通番管理情報記憶手段４２（図６参照）からの除数の取得ではなく、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを参照して「接続正常」または「正常」となっている仮想サーバの台数を把握することにより、「計算式」への入力に使用する除数（稼働している仮想サーバの台数）を取得してもよい。
【０１１３】
また、「ルール」としては、テーブルを用いた取り決め（定義）としてもよく、例えば、銘柄コードを与えたときに銘柄割当情報（除算の余りに相当するような、稼働している仮想サーバの台数と同数の銘柄割当情報のうちの１つ）が出力されるテーブルを用意してもよい。この際、テーブルは、固定的な取り決めになりがちであるため、稼働している仮想サーバの台数の変動範囲を考慮し、その変動範囲に相当する数のテーブルを用意する。例えば、稼働している仮想サーバの台数が６台の場合のテーブルは、銘柄α，η，πの銘柄コードを与えると、銘柄割当情報＝番号１（ネズミ等の非数値情報でもよい）が定まり、銘柄β，θ，ρの銘柄コードを与えると、銘柄割当情報＝番号２（ウシ）が定まり、同様に、銘柄γ，κ，σに対しては銘柄割当情報＝番号３（トラ）、銘柄δ，λ，τに対しては銘柄割当情報＝番号４（ウサギ）、銘柄ε，μ，φに対しては銘柄割当情報＝番号５（タツ）、銘柄ζ，ξ，ωに対しては銘柄割当情報＝番号６（ヘビ）が定まるようになっている。また、稼働している仮想サーバの台数が３台の場合のテーブルは、銘柄α，δ，η，λ，π，τに対しては銘柄割当情報＝番号１（ネズミ）、銘柄β，ε，θ，μ，ρ，φに対しては銘柄割当情報＝番号２（ウシ）、銘柄γ，ζ，κ，ξ，σ，ωに対しては銘柄割当情報＝番号３（トラ）が定まるようになっている。稼働している仮想サーバの台数の変動範囲が、例えば１〜３０台であれば、３０種類のテーブルを用意すればよい。
【０１１４】
＜電文送信処理手段３１による注文分散の方法：銘柄分散の代替方法＞
【０１１５】
銘柄分散に代えて、注文分散を採用する場合には、次のようにする。「計算式」または「ルール」への入力情報については、銘柄分散を行う場合には、銘柄コードまたはその構成コードとなっていたが、注文分散を行う場合には、銘柄コードまたはその構成コードの代わりに、「注文番号若しくは入力通番」または「これらの構成コード」を入力する。また、「計算式」または「ルール」からの出力情報については、銘柄分散を行う場合には、銘柄割当情報となっていたが、注文分散を行う場合には、銘柄割当情報の代わりに、「注文割当情報」が出力される。但し、銘柄割当情報と注文割当情報とは、呼び名が異なるだけであり、例えば、稼働している仮想サーバの台数で除する除算の余り等である点では、同じ内容である。
【０１１６】
電文送信処理手段３１は、注文分散を行う場合には、取引参加者で付番した「注文番号若しくは入力通番が示す数値」または「これらの注文番号若しくは入力通番を構成する数字、文字、若しくは記号からなる各コードが示す数値」、および、使用可能な経路に対応する「稼働している仮想サーバの台数」を入力とし、「稼働している仮想サーバに各注文を割り当てるための注文割当情報」を出力とする「計算式」または「予め定められたルール」を用いて、注文管理システム６０から受け取った注文についての注文番号若しくは入力通番から、当該注文を割り当てる仮想サーバを決定するための注文割当情報を求め、求めた注文割当情報に関連付けられて仮想サーバ管理情報記憶手段４１（図５参照：但し、図５において、銘柄割当情報を、注文割当情報に入れ替える）に記憶された仮想サーバの識別情報を取得することにより、使用する仮想サーバおよびこれに対応する経路を決定する処理を実行する。
【０１１７】
さらに、電文送信処理手段３１は、注文管理システム６０から注文の電文データを受信した際には、その注文が、新規注文なのか、注文の訂正なのか、注文の取消なのかに応じ、注文銘柄と同一銘柄について受付通知の電文データを受信していない注文があるか否かを発注管理情報記憶手段４３（図７参照）に記憶された情報を用いて判断し、その判断結果に基づき、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文の追い越しの防止を図ることができるように、当該注文についての発注用の電文データを仮想サーバへ渡すか否かを判断する等の業務処理を実行する。この業務処理の詳細については、図１４〜図１６を用いて後述するので、ここでは詳しい説明は省略する。
【０１１８】
＜電文受信処理手段３２の構成＞
【０１１９】
電文受信処理手段３２は、仮想サーバＡ，Ｂ等が取引所システム７０から仮想経路ＲＡ，ＲＢ等を介して受信した通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）の電文データを仮想サーバＡ，Ｂ等から受け取る処理を実行するものである。
【０１２０】
この電文受信処理手段３２は、上りの経路と同一の経路およびドロップコピー用の経路からなる２本の経路を経由して取引所システム７０から送信されてくる同一内容の通知の電文データを受信した際に、先着順で採用して重複排除する処理を実行する。すなわち、電文受信処理手段３２は、上りで使用した仮想サーバおよびドロップコピー用の仮想サーバから、同一内容の通知の電文データを受け取り、それらの同一内容の通知を先着順で採用して重複排除する処理を実行する。この際、電文受信処理手段３２による通知の重複排除は、次の２通りの方法により実現することができる。
【０１２１】
＜電文受信処理手段３２による通知の重複排除の第１の方法＞
【０１２２】
先ず、第１の方法では、電文受信処理手段３２は、仮想サーバから通知の電文データを受け取った際に、通知の電文データに含まれている「通知通番および仮想サーバの識別情報（例えば、仮想サーバＡ、通知通番＝１）」と同一の通知通番および同一の仮想サーバの識別情報の組合せが受信通知管理情報記憶手段４４（図８参照）に記憶されているか否かを判断し、同一の通知通番および同一の仮想サーバの識別情報の組合せが記憶されていない場合には、当該組合せの通知通番および仮想サーバの識別情報を受信通知管理情報記憶手段４４に記憶させるとともに、通知の電文データを注文管理システム６０へ送信し、一方、同一の通知通番および同一の仮想サーバの識別情報の組合せが既に記憶されている場合には、通知の電文データを注文管理システム６０へ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する。また、電文受信処理手段３２は、受け取った通知の電文データを排除せずに、注文管理システム６０へ送信する場合には、その通知の内容を、発注管理情報記憶手段４３（図７参照）に反映させる処理も実行する。
【０１２３】
＜電文受信処理手段３２による通知の重複排除の第２の方法＞
【０１２４】
次に、第２の方法では、電文受信処理手段３２は、仮想サーバから通知の電文データを受け取った際に、受け取った通知の電文データに含まれる通知通番（取引所側で昇順に付番された通番であることが前提である。）と、当該仮想サーバの識別情報に関連付けられて仮想サーバ管理情報記憶手段４１（図５参照）に記憶されている通知通番（但し、図５には不図示）とを比較し、受け取った通知の電文データに含まれる通知通番が、仮想サーバ管理情報記憶手段４１に記憶されている通知通番よりも大きい値である場合には、受け取った通知の電文データに含まれる通知通番を仮想サーバ管理情報記憶手段４１に記憶させる（当該仮想サーバの識別情報に関連付けられて記憶されている通知通番を、上書き保存により更新する）とともに、受け取った通知の電文データを注文管理システム６０へ送信し、一方、仮想サーバ管理情報記憶手段４１に記憶されている通知通番よりも小さい値または同じ値である場合には、受け取った通知の電文データを注文管理システム６０へ送信しないことにより、後から受け取った同一内容の通知の電文データを排除する処理を実行する。また、電文受信処理手段３２は、受け取った通知の電文データを排除せずに、注文管理システム６０へ送信する場合には、その通知の内容を、発注管理情報記憶手段４３（図７参照）に反映させる処理も実行する。
【０１２５】
例えば、仮想サーバ管理情報記憶手段４１（図５参照）に、仮想サーバＡについて通知通番＝１８が記憶されているとする（但し、通知通番は、図５には不図示）。このとき、電文受信処理手段３２が仮想サーバＡまたはそのドロップコピー用の仮想サーバＨから受け取った通知に、「仮想サーバＡ、通知通番＝１７」や「仮想サーバＡ、通知通番＝１８」という情報が含まれていた場合には、電文受信処理手段３２は、その通知は受信済みの通知であると判断して排除し、一方、「仮想サーバＡ、通知通番＝１９」という情報が含まれていた場合には、その通知は最初に受信した通知であると判断し、仮想サーバ管理情報記憶手段４１に記憶されている仮想サーバＡについての通知通番を、１９に更新する。なお、ドロップコピー用の仮想サーバＨから受け取る通知にも、「仮想サーバＡ、通知通番＝ＸＸ」という情報が含まれている。
【０１２６】
なお、上記において、受け取った通知の電文データに含まれる通知通番が、仮想サーバ管理情報記憶手段４１（図５参照）に記憶されている通知通番（但し、図５には不図示）よりも大きい値である場合については、より正確には、仮想サーバ管理情報記憶手段４１に記憶されている通知通番の次の通番である場合とすることができる。ある通番が抜けた状態で更にその次の通番を受信する場合もあり得るので、そのような異常な状態になった場合を考慮した処理を行ってもよく、この場合には、取引所に対して、再送要求して補正する処理を行う。例えば、仮想サーバ管理情報記憶手段４１に、仮想サーバＡについて通知通番＝１８が記憶されているときに、「仮想サーバＡ、通知通番＝２０」という情報が含まれた通知を受信した場合等である。
【０１２７】
＜異常検知手段３３の構成＞
【０１２８】
異常検知手段３３は、複数の仮想サーバＡ，Ｂ，Ｃ，Ｄ等の各々について取引所システム７０との接続が異常か否かを判定し、この判定結果を仮想サーバ管理情報記憶手段４１（図５参照）のステータスに記憶させる処理を実行するものである。この異常検知手段３３による処理には、次の［１］、［２］、［３］の処理が含まれる。
【０１２９】
より具体的には、異常検知手段３３は、［１］取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等の正常・異常の判定処理を実行する。この［１］の判定処理には、発注管理手段３０と各仮想サーバＡ，Ｂ，Ｃ，Ｄ等とが別の物理サーバで構成されている場合における各仮想サーバＡ，Ｂ，Ｃ，Ｄ等を構成する物理サーバの正常・異常の判定処理が含まれる。
【０１３０】
また、異常検知手段３３は、主として取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等よりも取引所システム７０寄りの部分の異常、すなわち取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等と取引所システム７０との間の各経路ＲＡ，ＲＢ，ＲＣ，ＲＤ等（それらに使用される回線Ｌ１，Ｌ２）の異常や、取引所システム７０の異常を検知する処理として、［２］取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が実行する発注キューの監視による滞留検知の情報の取得処理と、［３］各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が実行する通信規約に基づくシステムチェックの情報の取得処理を実行する。これらの［２］、［３］の処理は並行して実行することが好ましいが、一方の処理だけを実行してもよい。
【０１３１】
［２］、［３］の処理ともに、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が異常の検知処理を実行し、発注管理手段３０の異常検知手段３３がその検知結果の情報を各仮想サーバＡ，Ｂ，Ｃ，Ｄ等から取得することになる。この際、取得方法としては、異常検知手段３３から各仮想サーバＡ，Ｂ，Ｃ，Ｄ等に対して異常検知の指示を出し、異常検知手段３３が各仮想サーバＡ，Ｂ，Ｃ，Ｄ等から検知結果の情報を受け取ってもよく、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が自らの判断タイミングで行った異常検知の結果の情報を、異常検知手段３３が各仮想サーバＡ，Ｂ，Ｃ，Ｄ等からの送信情報として受け取ってもよく、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が自らの判断タイミングで行った異常検知の結果の情報を、異常検知手段３３が各仮想サーバＡ，Ｂ，Ｃ，Ｄ等から読み込んでもよい。
【０１３２】
［２］発注キューの監視による滞留検知の処理は、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が、それぞれに設けられた発注キューを監視することにより実行される。この際、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等は、滞留の判定時の現在時刻Ｔ（ＮＯＷ）、発注キューから最後に送出された電文データの送出時刻Ｔ（ＯＵＴ）、および、当該最後に送出された電文データの次に送出される電文データの発注キューへの入力時刻Ｔ（ＩＮ）という３種類の時刻を用いて、滞留を検知する処理を実行する。ここで、最後（直近）に送出された注文の送出時刻Ｔ（ＯＵＴ）は、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等にそれぞれ設けられた送出時刻記憶手段（不図示）に記憶させておく。また、次に送出される注文の入力時刻Ｔ（ＩＮ）は、その注文の電文データの入力タイムスタンプである。そして、滞留検知アルゴリズムには、例えば、次の２つがある。
【０１３３】
＜滞留検知アルゴリズム（１）＞
【０１３４】
滞留検知アルゴリズム（１）は、発注キューに保持されている注文の滞留時間を把握し、異常か否かの判定をするアルゴリズムである。
【０１３５】
例えば、図１７に示すように、ある瞬間に、発注キューに、注文（８）、注文（９）、注文（１０）、注文（１１）が残っていて、その後の別の瞬間に、発注キューに、注文（１６）、注文（１７）、注文（１８）、注文（１９）が残っていたとすると、この状態は、滞留していると判定することはできない。より正確には、滞留とは言えても、異常な滞留であると判定することはではない。短時間のうちに多くの注文が発注キューに送られると、処理待ちの注文の列ができるが、そのような状態が継続しているかもしれないからである。従って、ある瞬間に発注キューに存在する注文の個数をもって、滞留の判定（正確には、異常の判定）を行うことはできない。
【０１３６】
以下では、具体例を挙げて説明するが、説明の便宜上、時刻の数値は、実際の刻みよりも大きな数値とする。最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）が１０時００分であり、判定時の現在時刻Ｔ（ＮＯＷ）が１０時０５分であったとする。従って、１０時００分以降は、注文（１５）の次の注文（１６）の処理が可能になっている状態である。なお、最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）は、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等に設けられた送出時刻記憶手段（不図示）に記憶させておく。
【０１３７】
このとき、次の注文（１６）の入力時刻Ｔ（ＩＮ）が９時００分であれば、滞留時間は、５分である。９時００分に入力されているので、発注キューに、１時間５分も保持されているが、１０時００分までは、処理が行えなかったため、１０時００分以降の５分間が、滞留時間になる。
【０１３８】
同様に、次の注文（１６）の入力時刻Ｔ（ＩＮ）が９時５９分であれば、滞留時間は、５分である。９時５９分に入力されているので、発注キューに、６分間保持されているが、１０時００分までは、処理が行えなかったため、１０時００分以降の５分間が、滞留時間になる。
【０１３９】
一方、次の注文（１６）の入力時刻Ｔ（ＩＮ）が１０時００分であれば、滞留時間は、５分である。１０時００分に入力されているので、発注キューに、５分間保持されているが、１０時００分から処理が行えたはずであるため、５分間の全部が、滞留時間になる。
【０１４０】
また、次の注文（１６）の入力時刻Ｔ（ＩＮ）が１０時０４分であれば、滞留時間は、１分である。１０時０４分に入力されているので、発注キューに、１分間保持されているが、１０時００分から処理が行えたはずであるため、１分間の全部が、滞留時間になる。
【０１４１】
さらに、次の注文（１６）の入力時刻Ｔ（ＩＮ）が１０時０４分５９秒９９であれば、滞留時間は、０．０１秒である。１０時０４分５９秒９９に入力されているので、発注キューに、０．０１秒間保持されているが、１０時００分から処理が行えたはずであるため、０．０１秒間の全部が、滞留時間になる。
【０１４２】
そして、次の注文（１６）の入力時刻Ｔ（ＩＮ）が１０時０５分であれば、滞留時間は、ゼロである。現在時刻Ｔ（ＮＯＷ）が１０時０５分であるから、丁度、今、入力されたということだからである。
【０１４３】
以上より、滞留時間は、次に送出される注文の入力時刻Ｔ（ＩＮ）と現在時刻Ｔ（ＮＯＷ）との差分ΔＴ１と、最後（直近）に送出された注文の送出時刻Ｔ（ＯＵＴ）と現在時刻Ｔ（ＮＯＷ）との差分ΔＴ２とのうち短い方の時間である。
【０１４４】
従って、以上のようにして算出した滞留時間（ΔＴ１とΔＴ２とのうち短い方の時間）が、所定時間以上の場合（または所定時間を超える場合）に、異常と判定すればよい。なお、上記の例で、次の注文（１６）の入力時刻Ｔ（ＩＮ）が１０時０４分５９秒９９の場合（滞留時間＝０．０１秒間）が異常と判定されるか否かは、閾値の設定次第である。
【０１４５】
＜滞留検知アルゴリズム（２）＞
【０１４６】
滞留検知アルゴリズム（２）は、発注キューに保持されている注文の滞留時間を把握せずに（正確には、把握する場合もあるが、把握しない場合もあることになる。）、異常か否かの判定をするアルゴリズムである。最終的に、３種類の時刻Ｔ（ＮＯＷ）、Ｔ（ＯＵＴ）、およびＴ（ＩＮ）を使用するという点では、上述した滞留検知アルゴリズム（１）と同様である。
【０１４７】
最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）が１０時００分であったとする。従って、１０時００分以降は、注文（１５）の次の注文（１６）の処理が可能になっている状態である。このとき、現在の時刻Ｔ（ＮＯＷ）が、例えば、１０時００分、１０時００分００秒０１、１０時０１分、１０時０５分である場合を考える。
【０１４８】
最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）＝１０時００分と、現在時刻Ｔ（ＮＯＷ）との差分ΔＴ２は、次のようになる。現在の時刻Ｔ（ＮＯＷ）＝１０時００分の場合は、ΔＴ２＝０分である。現在の時刻Ｔ（ＮＯＷ）＝１０時００分００秒０１の場合は、ΔＴ２＝０．０１秒である。現在の時刻Ｔ（ＮＯＷ）＝１０時０１分の場合は、ΔＴ２＝１分である。現在の時刻Ｔ（ＮＯＷ）＝１０時０５分の場合は、ΔＴ２＝５分である。
【０１４９】
先ず、最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）＝１０時００分と、現在時刻Ｔ（ＮＯＷ）との差分ΔＴ２が、所定時間以内または未満の場合は、正常と判定する。要するに、送出されたばかりの注文があるので、正常と判定することになる。この第１段階の判定では、滞留時間は考慮しないことになる。なお、現在の時刻Ｔ（ＮＯＷ）＝１０時００分００秒０１の場合（ΔＴ２＝０．０１秒の場合、すなわち最後（直近）の注文（１５）の送出から０．０１秒経過時点）に、正常と判定されるか否かは、閾値の設定次第である。
【０１５０】
次に、最後（直近）に送出された注文（１５）の送出時刻Ｔ（ＯＵＴ）＝１０時００分と、現在時刻Ｔ（ＮＯＷ）との差分ΔＴ２が、所定時間以上または所定時間を超える場合には、次に送出される注文（１６）が発注キューに無ければ、正常と判定し、一方、次に送出される注文（１６）が発注キューにあれば、次に送出される注文（１６）の入力時刻Ｔ（ＩＮ）を取得する。次の注文（１６）が発注キューにあっても、発注キューに入ってきたばかりかもしれないので、異常な滞留であると判定することはできないからである。
【０１５１】
そして、取得した次の注文（１６）の入力時刻Ｔ（ＩＮ）と、現在時刻Ｔ（ＮＯＷ）との差分ΔＴ１が、所定時間以内または未満の場合は、正常と判定し、そうでない場合は、異常と判定する。
【０１５２】
従って、現在の時刻Ｔ（ＮＯＷ）＝１０時０５分（最後（直近）の注文（１５）の送り出しから５分経過時点）で、次に送出される注文（１６）の入力時刻Ｔ（ＩＮ）＝１０時０４分５９秒９９の場合（ΔＴ１＝０．０１秒間であり、滞留時間が０．０１秒間の場合）に、異常と判定されるか否かは、閾値の設定次第である。
【０１５３】
［３］の通信規約に基づくシステムチェックは、概して言えば、取引参加者と取引所との双方のシステム間での業務電文（注文およびその受付等の電文）の送受信の有無の確認と、業務電文が途絶えたときのハートビートによる接続状態の確認とを組み合わせた正常・異常の判定処理であるが、取引所との取り決めに基づく処理であるため、詳しい説明は省略する。
【０１５４】
さらに、異常検知手段３３は、取引所システム７０との接続異常が検知された仮想サーバ、または、再接続に成功した仮想サーバがある場合には、ステータスが「接続正常」または「正常」となっている仮想サーバについて仮想サーバ管理情報記憶手段４１（図５参照）に記憶されている銘柄割当情報（または注文割当情報）を更新する処理を実行する。例えば、ステータスが「接続正常」または「正常」となっている仮想サーバ（稼働している仮想サーバ）が６台であれば、それらの６台の仮想サーバのレコードに（それらの６台の仮想サーバの識別情報に対応させて）、銘柄割当情報（または注文割当情報）である除算の余り（例えば、０，１，２，３，４，５という６通りの情報）等を記憶させる。記憶させる際には、銘柄割当情報（または注文割当情報）が、除算の余りのように数値の情報であれば、例えば、数値が小さい方から順番に配置して記憶させる、あるいは数値が大きい方から順番に配置して記憶させる等、順序を持たせて記憶させる。また、銘柄割当情報（または注文割当情報）は、数値の情報である必要はないが、その場合でも、例えば、ネズミ、ウシ、トラ、ウサギ、タツ、ヘビのように干支の順番で配置して記憶させる等、順序を持たせて記憶させる。毎回の更新時に、順序を持たせて記憶させるようにすれば、過去の銘柄割当（または注文割当）の状態を、通番管理情報記憶手段４２（図６参照）の情報を用いて再現することができるからである。
【０１５５】
＜発注管理手段３０に接続された各記憶手段４１〜４４および受付キュー４５の構成＞
【０１５６】
仮想サーバ管理情報記憶手段４１は、図５に示すように、仮想サーバの使用経路と、稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報と、仮想サーバと取引所システム７０との接続状態を示すステータスとを、仮想サーバの識別情報（仮想サーバＩＤ等）と関連付けて記憶するものである。
【０１５７】
ここで、「ステータス」は、例えば、未接続、接続正常、接続異常の３状態としてもよく、あるいは、異常な状態を２つに分け、未接続、正常、新規異常、継続異常の４状態等としてもよく、少なくとも正常か異常かの状態を区別できるようになっていればよい。
【０１５８】
また、「銘柄割当情報」は、稼働している各仮想サーバ（ステータスが「接続正常」や「正常」になっている各仮想サーバ）に対し、処理を担当する銘柄を振り分けるための情報であり、この銘柄割当情報の数（何通りあるか）は、稼働している仮想サーバ（但し、ドロップコピー用の仮想サーバは除く）の台数と同数である。従って、例えば、本実施形態のように、稼働している仮想サーバの台数を除数（割る数）とする除算の計算式を用い、その余りを銘柄割当情報とする場合には、稼働している仮想サーバの台数が６台であれば、除算の余りは、０，１，２，３，４，５の６通り（銘柄割当情報の数＝６）となり、３台であれば、除算の余りは、０，１，２の３通り（銘柄割当情報の数＝３）となる。なお、銘柄分散ではなく、注文分散を行う場合には、この銘柄割当情報は、「注文割当情報」となる。また、いずれの仮想サーバが、ドロップコピー用の仮想サーバなのかという情報（図５の例では、仮想サーバＧ，Ｈが、ドロップコピー用の仮想サーバである。）、あるいはドロップコピー元の仮想サーバとドロップコピー先の仮想サーバとの関係は、この仮想サーバ管理情報記憶手段４１に記憶させてもよく、発注管理手段３０に接続された別の記憶手段（図示されないドロップコピー情報記憶手段）に記憶させてもよい。
【０１５９】
さらに、図５での記載は省略されているが、仮想サーバ管理情報記憶手段４１には、前述した電文受信処理手段３２による通知の重複排除の第２の方法を実行するために、取引所システム７０から受信した通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）の電文データに含まれている通知通番（取引所側で昇順に付番された通番であることが前提である。）のうちの最後（直近）に付番された最大の通知通番を、仮想サーバの識別情報と関連付けて記憶するようにしてもよい。このように仮想サーバ管理情報記憶手段４１に、通知通番のうちの最後（直近）に付番された最大の通知通番を記憶するようにした場合には、少なくとも通知の重複排除という観点では、受信通知管理情報記憶手段４４（図８参照）の設置を省略することができる。
【０１６０】
通番管理情報記憶手段４２は、図６に示すように、除数（稼働している仮想サーバの台数）が変動した際、または除数に変動はないが、稼働している仮想サーバが入れ替わった際にその時点までに発注した注文（訂正や取消を含む）についての入力通番のうちの最後（直近）の入力通番と、除数（稼働している仮想サーバの台数）と、停止した仮想サーバ（ドロップコピー用の仮想サーバを除く）の識別情報とを対応付けて記憶するものである。
【０１６１】
ここで、「入力通番」は、取引参加者から発注される注文（訂正や取消を含む）に対し、取引参加者により昇順で付番される通番である。従って、ここに記憶されている入力通番までの過去の発注済の注文（訂正や取消を含む）について、その入力通番に対応して記憶されている「除数（稼働している仮想サーバの台数）」を適用することができ、かつ、その入力通番に対応して記憶されている「停止した仮想サーバの識別情報」から導かれる「稼働している仮想サーバの識別情報＝銘柄割当が可能な仮想サーバはいずれかという情報」を適用することができるという意味である。但し、記憶されている入力通番（例えば、図６中のＮ２）までの過去の発注済の注文（訂正や取消を含む）の全て（例えば、１〜Ｎ２）について適用できるのではなく、その入力通番よりも前（過去）の入力通番（例えば、図６中のＮ１）が記憶されていれば、その前（過去）の入力通番の次の入力通番（例えば、Ｎ１＋１）からの過去の発注済の注文（訂正や取消を含む）について適用できる。従って、図６の例であれば、入力通番Ｎ２が記憶されているレコードについては、その前のレコードに入力通番Ｎ１が記憶されているので、適用範囲は、１〜Ｎ２ではなく、（Ｎ１＋１）〜Ｎ２となり、適用される除数（稼働している仮想サーバの台数）は、３台であり、適用される銘柄割当情報の設定対象の仮想サーバは、仮想サーバＢ，Ｄ，Ｆである（停止した仮想サーバがＡ，Ｃ，Ｅなので、稼働している仮想サーバがＢ，Ｄ，Ｆであることが導かれる）。なお、停止した仮想サーバの識別情報ではなく、稼働している仮想サーバ（ドロップコピー用の仮想サーバを除く）の識別情報を記憶してもよく、要するに、ある時点から、ある時点までに稼働していた仮想サーバ（銘柄割当情報の設定対象とされていた仮想サーバ）を把握することができるようになっていればよい。
【０１６２】
発注管理情報記憶手段４３は、図７に示すように、取引所システム７０へ発注した注文（訂正や取消を含む）についての送信電文の種別、送信した電文データに含まれている取引参加者側で付番した入力通番、注文銘柄についての銘柄コード、送信に使用した経路を対応付けて記憶するものである。
【０１６３】
ここで、過去の注文（訂正や取消を含む）の送信に使用した「経路」の記憶は、必須ではない。入力通番が判明していれば、通番管理情報記憶手段４２（図６参照）の情報を用いて、過去の時点（当該入力通番の時点）の除数（稼働している仮想サーバの台数）等を取得することができ、取得した過去の時点（当該入力通番の時点）の情報を、「計算式」や「ルール」に入力することにより、過去の時点（当該入力通番の時点）で使用された仮想サーバおよびその経路を判断することができるからである。従って、リソースの効率的な利用を図るという観点では、「経路」は記憶しなくてよい。
【０１６４】
また、図７では、説明の便宜上、取引所システム７０から受付通知の電文データを既に受信している注文（訂正や取消を含む）についても記載を残しているが、取引所システム７０から受付通知の電文データを受信した際に、電文受信処理手段３２により、受付通知の電文データを受信した注文（訂正や取消を含む）についてのレコードは削除される（後述する図１３のステップ３７参照）。この削除により、多数存在する過去の注文（訂正や取消を含む）についてのレコードを全て記憶しておく必要がなくなるので、リソースの効率的な利用を図ることができる。従って、この場合、削除されずに残っている注文（訂正や取消を含む）があれば、その注文が、取引所システム７０から受付通知の電文データを受信していない注文であるということがわかる。このため、電文送信処理手段３１は、注文管理システム６０から受信した注文の電文データを発注する際に、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文の追い越しの防止を図る目的で、発注管理情報記憶手段４３（図７参照）に記憶された情報を参照する場合には、注文管理システム６０から受信した注文銘柄と同一銘柄についての注文が、発注管理情報記憶手段４３に残っているか否かを判断すればよい。
【０１６５】
さらに、図７には記載されていないが、発注管理情報記憶手段４３に、取引所システム７０に発注済の注文について取引所システム７０からの受付通知の電文データを受信しているか否かの「受付通知の受信の有無を示す情報」を対応付けて記憶するようにしてもよい。この場合、電文送信処理手段３１は、注文管理システム６０から受信した注文の電文データを発注する際に、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文の追い越しの防止を図る目的で、発注管理情報記憶手段４３（図７参照）に記憶された情報を参照する場合には、注文管理システム６０から受信した注文の銘柄と同一銘柄の注文について「受付通知の受信の有無を示す情報」を参照し、未受信の注文があるか否かを判断すればよい。そして、この場合には、上述した受付通知の電文データを受信した注文（訂正や取消を含む）についてのレコードの削除は行ってもよく、行わなくてもよいが、リソースの効率的な利用を図るという観点では、削除を行ったほうがよい。
【０１６６】
なお、図７の下部には、取引所システム７０への送信電文およびその受付に関する情報として、主として注文管理システム６０で管理される情報（注文情報）の一部を抜粋した情報が対比して記載されているが、これは、発注管理情報記憶手段４３の構成を示すものではなく、発注管理情報記憶手段４３に記憶される情報の内容説明のために参考で記載しているものである。
【０１６７】
受信通知管理情報記憶手段４４は、図８に示すように、取引所システム７０から受信した通知（新規注文・訂正・取消の受付通知、約定通知、訂正・取消の結果通知）の電文データに含まれている仮想サーバの識別情報および取引所側で付番された通知通番を対応付けて記憶するものである。ここで、取引所システム７０からの通知には、例えば、「仮想サーバＡ、通知通番＝１」という情報が含まれているが、仮想サーバＡのドロップコピー用の仮想サーバＨで受信したドロップコピーの通知にも、「仮想サーバＨ、通知通番＝１」ではなく、「仮想サーバＡ、通知通番＝１」という情報が含まれている。
【０１６８】
なお、図８の下部には、取引所システム７０からの受信電文に関する情報として、主として注文管理システム６０で管理される情報（約定情報）の一部を抜粋した情報が対比して記載されているが、これは、受信通知管理情報記憶手段４４の構成を示すものではなく、受信通知管理情報記憶手段４４に記憶される情報の内容説明のために参考で記載しているものである。
【０１６９】
受付キュー４５は、注文管理システム６０から送信されてきた注文（新規注文、訂正、取消）の電文データを、発注処理を担当する仮想サーバに渡すまでに、一時的に保存するものである。
【０１７０】
以上において、発注管理手段３０に含まれる電文送信処理手段３１、電文受信処理手段３２、および異常検知手段３３は、発注管理システム２０を構成する１台または複数台のサーバ（コンピュータ）の内部に設けられた中央演算処理装置（ＣＰＵ）、およびこのＣＰＵの動作手順を規定する１つまたは複数のプログラムにより実現される。
【０１７１】
また、発注管理手段３０に接続された仮想サーバ管理情報記憶手段４１、通番管理情報記憶手段４２、発注管理情報記憶手段４３、受信通知管理情報記憶手段４４、および受付キュー４５は、例えば、ハードディスク、フラッシュ・メモリ、ＲＡＭ等の各種の記録媒体を採用することができる。
【０１７２】
＜アドレス変換器５０の構成＞
【０１７３】
アドレス変換器５０は、ネットワーク機器であり、筐体が単体であるか、複数に分かれて構成されているかにかかわらず、外部の機器から見た場合に、複数のネットワーク機器を構成するものである。このアドレス変換器５０は、例えば、ネットワーク・アドレス・ポート・トランスレーション（ＮＡＰＴ）等であり、ＩＰアドレスとポート番号とを組み合わせて複数の物理回線（本実施形態では、一例として物理回線Ｌ１，Ｌ２）の切換を実現することができる。通常、取引参加者側の物理サーバと取引所側の物理サーバとを接続する経路は、物理的に１つのネットワーク経路に定まることから、物理回線Ｌ１，Ｌ２を切り換えるには、取引参加者の物理サーバも切り換えなければならないが、このアドレス変換器５０では、ポート番号を用いることにより、取引参加者側の物理サーバを切り換えることなく（発注管理システム２０の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等のうちの接続異常が検知された仮想サーバを構成する物理サーバを、別の物理サーバに切り換えることなく）、物理回線Ｌ１，Ｌ２の切換を実現することができ、仮想経路ＲＡ，ＲＢ，ＲＣ，ＲＤ等を（正）から（副）へ、あるいは（副）から（正）へ切り換えることができる。
【０１７４】
具体的には、前述したように、通常、取引参加者側の物理サーバと取引所側の物理サーバとを接続する経路は、物理的に１つのネットワーク経路に定まってしまうので、これを解消し、ネットワーク経路を物理的に分けるためには、取引所システム７０に対し、取引参加者側の物理サーバが２つ存在するように見せる必要がある。このため、実際には取引参加者側の物理サーバは１つであるが、アドレス変換器５０を介在させることにより、取引所システム７０から見た場合に、２つのネットワーク機器が存在する状態を作り出し、それらの２つのネットワーク機器から、実際には１つである物理サーバへ業務電文の信号が入ってくるようにする。
【０１７５】
例えば、取引参加者と取引所とのネットワーク設定においては、アドレス変換器５０の第１の機器の「ＩＰアドレス（１）：ポート番号（１）」と取引所システム７０の構成サーバのＩＰアドレスとの間で通信が行われるとともに、アドレス変換器５０の第２の機器の「ＩＰアドレス（２）：ポート番号（１）」と取引所システム７０の構成サーバのＩＰアドレスとの間で通信が行われる。従って、取引所システム７０の構成サーバから見た場合には、ＩＰアドレス（１）の第１の機器と、これとは別のＩＰアドレス（２）の第２の機器とが存在することになるので、これにより、物理回線Ｌ１，Ｌ２の切換を実現することができる。
【０１７６】
一方、取引参加者内のネットワーク設定（例えばＮＡＰＴ）においては、取引参加者の発注管理システム２０の構成サーバの「ＩＰアドレス（３）：ポート番号（１）」とアドレス変換器５０の第１の機器の「ＩＰアドレス（１）：ポート番号（１）」との間で通信が行われるとともに、取引参加者の発注管理システム２０の構成サーバの「ＩＰアドレス（３）：ポート番号（１）」とアドレス変換器５０の第２の機器の「ＩＰアドレス（２）：ポート番号（１）」との間で通信が行われる。なお、ここでは、取引参加者の発注管理システム２０の構成サーバとは、発注管理システム２０の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等のうちの着目する任意の１つの仮想サーバ、すなわち異常が検知されて再接続による復旧の対象となっている任意の１つの仮想サーバを構成する物理サーバと考えてよい。従って、ＩＰアドレス（３）を有する取引参加者の発注管理システム２０の構成サーバは、アドレス変換器５０によるＩＰアドレス（１）の第１の機器、およびこれとは別のＩＰアドレス（２）の第２の機器の双方との通信を行うことができる。以上より、発注管理システム２０の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等は、物理サーバの切換を行うことなく、物理回線Ｌ１，Ｌ２を切り換えて使用することができ、仮想経路ＲＡ，ＲＢ，ＲＣ，ＲＤ等を（正）から（副）へ、あるいは（副）から（正）へ切り換えることができる。
【０１７７】
注文管理システム６０は、顧客からの金融商品（株式等）の売買注文を受け付けるシステムであり、１台または複数台のコンピュータにより構成され、顧客から受け付けた注文の注文データ（顧客識別情報である口座番号、注文識別情報である注文番号、注文銘柄、注文数量、注文単価、売買区分等）や約定データ（約定数量、約定単価等）を管理する処理を実行するものである。
【０１７８】
取引所システム７０は、１台または複数台のコンピュータにより構成され、取引所ネットワーク７１に接続された仮想サーバＡ，Ｂ，Ｃ，Ｄ等を備え、これらの取引所の仮想サーバＡ，Ｂ，Ｃ，Ｄ等と、取引参加者の発注管理システム２０の仮想サーバＡ，Ｂ，Ｃ，Ｄ等との間で、取引所ネットワーク７１上に設けられた複数のアクセスポイント（本実施形態では、一例として、２つのアクセスポイントＡＰ１，ＡＰ２）に接続された複数の物理的な回線（本実施形態では、一例として、２本の物理回線Ｌ１，Ｌ２）を介して注文およびその受付等の業務電文の送受信を行うことにより、金融商品（株式等）の売買取引を実行するものである。
【０１７９】
このような本実施形態においては、以下のようにして取引所接続システム１０による取引所システム７０への接続処理および接続状態の監視処理が行われる。
【０１８０】
＜各仮想サーバの接続状態の管理処理（異常検知およびその対応処理を含む）の全体的な流れ＞
【０１８１】
図９において、システム起動時には、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）に記憶されている情報を初期化し、各仮想サーバのステースを「未接続」にする（ステップＳ１）。
【０１８２】
取引所の運用開始時刻になったときには、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）のステータスが「未接続」となっている各仮想サーバについて、ログインを行う（ステップＳ２）。なお、このログインは、異常検知手段３３からの指示で各仮想サーバが行い、異常検知手段３３は、その成否の結果の情報を各仮想サーバから受け取る。
【０１８３】
そして、各仮想サーバがログインに成功したか否かを判断し（ステップＳ３）、ログインに成功した仮想サーバの場合には、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）の各仮想サーバのステータスを「接続正常」（後述する図１２のようにステータスを４状態とする場合には、「正常」）にする（ステップＳ４）。
【０１８４】
一方、前述したステップＳ３で、ログインに失敗した仮想サーバの場合には、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）の各仮想サーバのステータスを「接続異常」（後述する図１２のようにステータスを４状態とする場合には、最初は「新規異常」で、２回目以降は「継続異常」）にし（ステップＳ５）、再接続（強制ログアウトおよびログイン）を行い（ステップＳ６）、ステップＳ３の処理に戻る。なお、ステップＳ６の再接続は、異常検知手段３３からの指示で各仮想サーバが行い、異常検知手段３３は、その成否の結果の情報を各仮想サーバから受け取る。
【０１８５】
従って、ログインに一度も成功しない仮想サーバがある場合には、ステップＳ３，Ｓ５，Ｓ６の処理が繰り返され、その仮想サーバでは、ログインが成功するまで再接続が繰り返されることになる。但し、図示は省略されているが、このループ中には、ステップＳ７に相当する判断処理は介在するので、取引所の運用終了時刻になれば、ループ処理は終了する。
【０１８６】
また、図示は省略されているが、全ての仮想サーバについて、ログインの成否が判明した時点で、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）のステータスが「接続正常」（後述する図１２のようにステータスを４状態とする場合には、「正常」）となっている各仮想サーバに対する銘柄割当（または注文割当）の初期設定を行うために、銘柄分散用（または注文分散用）の「計算式」または「ルール」を構築する。この「計算式」または「ルール」の構築は、「計算式」または「ルール」の内容そのものを作成するわけではなく、「計算式」または「ルール」への入力情報の一部についての初期設定、および、「計算式」または「ルール」からの出力情報である銘柄割当情報（または注文割当情報）についての初期設定を行うものである。具体的には、ステータスが「接続正常」（または「正常」）となっている各仮想サーバ（稼働している各仮想サーバ）の台数等を、通番管理情報記憶手段４２（図６参照）に記憶させるとともに、仮想サーバ管理情報記憶手段４１（図５参照）において、ステータスが「接続正常」（または「正常」）となっている各仮想サーバに対し、例えば除算の余り等のような銘柄割当情報（または注文割当情報）を記憶させる処理を実行する。この処理は、各仮想サーバに対する銘柄割当（または注文割当）の初期設定の処理であるが、後述する図１０のステップＳ１０１５における銘柄割当（または注文割当）の更新処理（「計算式」または「ルール」の再構築）と同じ内容であるから、ここでは、詳しい説明を省略する。また、ここでの処理は、異常検知時の対応処理ではなく、初期設定の処理であるが、処理内容は同じであるため、説明の便宜上、異常検知手段３３が、ここでの処理を行うという説明をしている。
【０１８７】
続いて、取引所の運用終了時刻になったか否かを判断し（ステップＳ７）、取引所の運用終了時刻になっていない場合には、異常検知手段３３により、各仮想サーバの接続に異常がないか否かを確認する（ステップＳ８）。
【０１８８】
ここでの異常検知手段３３による処理は、［１］取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等の正常・異常の判定処理（発注管理手段３０と各仮想サーバＡ，Ｂ，Ｃ，Ｄ等とが別の物理サーバで構成されている場合における各仮想サーバＡ，Ｂ，Ｃ，Ｄ等を構成する物理サーバの正常・異常の判定処理が含まれる。）と、［２］取引参加者の各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が実行する発注キューの監視による滞留検知の情報の取得処理と、［３］各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が実行する通信規約に基づくシステムチェックの情報の取得処理である。［２］、［３］の処理は並行して実行することが好ましいが、一方の処理だけを実行してもよい。なお、これらの［１］、［２］、［３］の処理内容については、既に詳細しているので、ここでは詳しい説明は省略する。
【０１８９】
それから、ステップＳ８の処理を実行した結果から、接続異常が検知された仮想サーバがあるか否かを判断し（ステップＳ９）、接続異常が検知された仮想サーバがあると判断された場合には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、再接続（強制ログアウトおよびログイン）等の異常検知時の対応処理を行う（ステップＳ１０）。この異常検知時の対応処理のうちの一部の処理は、異常検知手段３３からの指示を受け、あるいは異常検知手段３３へ通知を送る各仮想サーバが行う。なお、異常検知時の対応処理の詳細内容は、図１０〜図１２を用いて後述するので、ここでは詳しい説明を省略する。
【０１９０】
一方、前述したステップＳ９で、接続異常が検知された仮想サーバがないと判断された場合には、ステップＳ７の処理に戻り、以降、ステップＳ７で取引所の運用終了時刻になったと判断されるまで、ステップＳ７〜Ｓ９の処理を繰り返し、異常検知手段３３による各仮想サーバの接続状態の監視処理を続行する。そして、ステップＳ９で接続異常が検知された時点で、ステップＳ１０の再接続等の異常検知時の対応処理を実行する。
【０１９１】
また、前述したステップＳ７で、取引所の運用終了時刻になったと判断した場合には、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）のステータスが「接続正常」（後述する図１２のようにステータスを４状態とする場合には、「正常」）となっている各仮想サーバについて、ログアウトを行う（ステップＳ１１）。その後、異常検知手段３３により、ログアウトの成否を問わず、仮想サーバ管理情報記憶手段４１の各仮想サーバのステータスを「未接続」にし（ステップＳ１２）、その日の各仮想サーバの接続状態の管理処理を終了する。
【０１９２】
＜異常検知時の対応処理（第１の方法）の流れ＞
【０１９３】
図１０において、図９のステップＳ９で、接続異常が検知された仮想サーバがあると判断された場合には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）の各仮想サーバのステータスを「接続異常」にする（ステップＳ１０１１）。
【０１９４】
続いて、異常検知手段３３により、接続異常が検知された各仮想サーバについて、再接続（強制ログアウト＆ログイン）を行う（ステップＳ１０１２）。この際、異常検知手段３３は、接続異常が検知された各仮想サーバの経路を、アドレス変換器５０を用いて、（正）から（副）へ、または（副）から（正）へ変更する回線切換の指示を各仮想サーバに送り、再接続の成否とともに、切換の有無（経路（正）、（副）のいずれでの成否なのかの情報）を各仮想サーバから受け取ってもよく、あるいは、各仮想サーバによる自主的な回線切換（アドレス変換器５０を用いての経路（正）から（副）へ、または（副）から（正）への回線切換）に委ね、再接続の成否とともに、切換の有無（経路（正）、（副）のいずれでの成否なのかの情報）を各仮想サーバから受け取ってもよい。なお、アドレス変換器５０を用いた回線切換の内容については、既に詳述しているため、ここでは詳しい説明を省略する。
【０１９５】
そして、再接続が成功したか否かを判断し（ステップＳ１０１３）、再接続に成功したと判断した場合には、異常検知手段３３により、再接続に成功した各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「接続正常」に戻す（ステップＳ１０１４）。
【０１９６】
一方、前述したステップＳ１０１３で、再接続に失敗したと判断した場合には、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「接続正常」に戻す処理は行わず、「接続異常」のままとする（ステップＳ１０１４）。
【０１９７】
その後、異常検知手段３３により、各仮想サーバに対する銘柄割当（または注文割当）を変更するために、銘柄分散用（または注文分散用）の「計算式」または「ルール」の再構築を行う（ステップＳ１０１５）。この「計算式」または「ルール」の再構築は、「計算式」または「ルール」の内容そのものを変更するということではなく、次に示すように、「計算式」または「ルール」への入力情報の一部についての変更、および、「計算式」または「ルール」からの出力情報である銘柄割当情報（または注文割当情報）についての変更を行うものである。
【０１９８】
具体的には、異常検知手段３３により、ステータスが「接続正常」となっている各仮想サーバ（稼働している各仮想サーバ：但し、ドロップコピー専用の仮想サーバは除く）の台数（「計算式」または「ルール」への入力情報であり、例えば、割り算の除数になる。）、この再構築時までに送信済の電文のうちの最後の電文についての入力通番の値、および、この再構築時に停止中の各仮想サーバ（但し、ドロップコピー専用の仮想サーバは除く）の識別情報を、通番管理情報記憶手段４２（図６参照）に記憶させる。なお、この再構築時に停止中の各仮想サーバの識別情報の代わりに、この再構築時に稼働している各仮想サーバ（但し、ドロップコピー専用の仮想サーバは除く）の識別情報を記憶させてもよく、要するに、過去の各時点において銘柄割当（または注文割当）の対象となっていた各仮想サーバを把握することができるようになっていればよい。
【０１９９】
また、異常検知手段３３により、仮想サーバ管理情報記憶手段４１（図５参照）において、ステータスが「接続正常」となっている各仮想サーバ（稼働している各仮想サーバ：但し、ドロップコピー専用の仮想サーバは除く）に対し、例えば除算の余り等のような銘柄割当情報（または注文割当情報）を記憶させる。
【０２００】
例えば、図５に示すように、銘柄割当の初期設定の状態において、稼働している各仮想サーバ（但し、ドロップコピー専用の仮想サーバは除く）が、仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの６台であったとする。そして、仮想サーバ管理情報記憶手段４１には、図５の上部に示すように、仮想サーバＡについての銘柄割当情報として余り０が記憶され、仮想サーバＢについて余り１、仮想サーバＣについて余り２、仮想サーバＤについて余り３、仮想サーバＥについて余り４、仮想サーバＦについて余り５が記憶されていたとする。
【０２０１】
このとき、図５に示すように、銘柄αの銘柄コードを構成する各桁のコードが示す数値の単純合計（各桁のコードが示す数値の和）＝１８であり、銘柄βの銘柄コードについての各桁の和＝１９、銘柄γの銘柄コードについての各桁の和＝２０、銘柄δの銘柄コードについての各桁の和＝２１、銘柄εの銘柄コードについての各桁の和＝２２、銘柄ζの銘柄コードについての各桁の和＝２３、銘柄ηの銘柄コードについての各桁の和＝２４、銘柄θの銘柄コードについての各桁の和＝２５、…であったとする。これらの和を、稼働している仮想サーバ（但し、ドロップコピー専用の仮想サーバは除く）の台数＝６で除すると、銘柄αの余りは０、銘柄βの余りは１、銘柄γの余りは２、銘柄δの余りは３、銘柄εの余りは４、銘柄ζの余りは５となり、これで銘柄割当が一回りし、さらに、銘柄ηの余りは０、銘柄θの余りは１、…となる。
【０２０２】
従って、銘柄αの余りは０になったので、仮想サーバ管理情報記憶手段４１を参照すると、銘柄αの発注処理を担当するのは仮想サーバＡであることがわかり、銘柄βの余りは１になったので、銘柄βの発注処理を担当するのは仮想サーバＢであることがわかる。同様に、銘柄γの余りは２なので、仮想サーバＣに割り当てられ、銘柄δの余りは３なので、仮想サーバＤに割り当てられ、銘柄εの余りは４なので、仮想サーバＥに割り当てられ、銘柄ζの余りは５なので、仮想サーバＦに割り当てられ、銘柄ηの余りは０なので、仮想サーバＡに割り当てられ、銘柄θの余りは１なので、仮想サーバＢに割り当てられることがわかる。但し、このような除算による、すなわち「計算式」または「ルール」による処理担当の仮想サーバの割出処理は、電文送信処理手段３１が注文を発注する際に実行する処理であるから、異常検知手段３３により実行される銘柄割当の初期設定の処理ではなく、異常検知手段３３により実行される以下に述べる銘柄割当の変更処理でもない。
【０２０３】
そして、その後、稼働していた６台の仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆのうち、仮想サーバＡ，Ｃ，Ｅが接続異常で停止したとする。異常検知手段３３によりこの状態が検知されると、図６に示すように、通番管理情報記憶手段４２には、稼働している仮想サーバＢ，Ｄ，Ｆの台数＝３が、除数（「計算式」または「ルール」への入力情報）に記憶されるとともに、停止した仮想サーバＡ，Ｃ，Ｅの識別情報も記憶される。なお、稼働している仮想サーバＢ，Ｄ，Ｆの識別情報を記憶してもよい。また、その時点までに送信済の電文のうちの最後の電文についての入力通番の値Ｎ１が、その時まで稼働していた６台の仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの台数＝６に対応付けて記憶される。従って、入力通番Ｎ１までは、稼働していた仮想サーバは、６台であることがわかる。
【０２０４】
また、異常検知手段３３により、図５の中央部に示すように、仮想サーバ管理情報記憶手段４１において、ステータスが「接続正常」となっている３台の各仮想サーバＢ，Ｄ，Ｆに対し、銘柄割当情報として、余り０，１，２を記憶させる。
【０２０５】
さらに、その後、停止していた３台の仮想サーバＡ，Ｃ，Ｅが復旧したとする。異常検知手段３３によりこの状態が検知されると、図６に示すように、通番管理情報記憶手段４２には、稼働している仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの台数＝６が、除数（「計算式」または「ルール」への入力情報）に記憶されるとともに、停止した仮想サーバに関する情報も更新され、停止した仮想サーバの識別情報が無くなる。なお、稼働している仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの識別情報を記憶してもよい。また、その時点までに送信済の電文のうちの最後の電文についての入力通番の値Ｎ２が、その時まで稼働していた３台の仮想サーバＢ，Ｄ，Ｆの台数＝３に対応付けて記憶される。従って、入力通番（Ｎ１＋１）〜Ｎ２までは、稼働していた仮想サーバは、３台であることがわかる。
【０２０６】
また、異常検知手段３３により、図５の上部に示すように、仮想サーバ管理情報記憶手段４１において、ステータスが「接続正常」となっている６台の各仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆに対し、銘柄割当情報として、余り０，１，２，３，４，５を記憶させる。従って、停止していた３台の仮想サーバＡ，Ｃ，Ｅが復旧したので、銘柄割当を初期設定の状態に戻すことになる。
【０２０７】
続いて、稼働していた６台の仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆのうち、仮想サーバＡが接続異常で停止したとする。異常検知手段３３によりこの状態が検知されると、図６に示すように、通番管理情報記憶手段４２には、稼働している仮想サーバＢ，Ｃ，Ｄ，Ｅ，Ｆの台数＝５が、除数（「計算式」または「ルール」への入力情報）に記憶されるとともに、停止した仮想サーバＡの識別情報も記憶される。なお、稼働している仮想サーバＢ，Ｃ，Ｄ，Ｅ，Ｆの識別情報を記憶してもよい。また、その時点までに送信済の電文のうちの最後の電文についての入力通番の値Ｎ３が、その時まで稼働していた６台の仮想サーバＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの台数＝６に対応付けて記憶される。従って、入力通番（Ｎ２＋１）〜Ｎ３までは、稼働していた仮想サーバは、６台であることがわかる。
【０２０８】
また、異常検知手段３３により、図５の下部に示すように、仮想サーバ管理情報記憶手段４１において、ステータスが「接続正常」となっている５台の各仮想サーバＢ，Ｃ，Ｄ，Ｅ，Ｆに対し、銘柄割当情報として、余り０，１，２，３，４を記憶させる。
【０２０９】
そして、以上のような「計算式」または「ルール」の再構築を行った後に、図９のステップＳ７の処理に戻る。
【０２１０】
なお、図１０の異常検知時の対応処理（第１の方法）では、ステータスが「接続正常」から「接続異常」になり、再接続に失敗した仮想サーバがある場合や、ステータスが元々「接続異常」だったが、再接続に成功して「接続正常」になった仮想サーバがある場合について、ステップＳ１０１５の「計算式」または「ルール」の再構築が行われるのみならず、ステータスが「接続正常」から一旦「接続異常」に変わったものの、再接続に成功して「接続正常」に戻った仮想サーバがある場合や、ステータスが元々「接続異常」であり、再接続に失敗して「接続異常」を維持した仮想サーバがある場合にも、ステップＳ１０１５の「計算式」または「ルール」の再構築が行われる。従って、ステップＳ１０１５の「計算式」または「ルール」の再構築の前後で、銘柄割当（または注文割当）の状態に変化がない場合もあるので、必ずしも「計算式」または「ルール」の再構築が必要でない場合にも、再構築を行っていることになる。これに対し、以下に示す図１１の異常検知時の対応処理（第２の方法）および図１２の異常検知時の対応処理（第３の方法）では、必要な場合にのみ「計算式」または「ルール」の再構築が行われるようになる。
【０２１１】
＜異常検知時の対応処理（第２の方法）の流れ＞
【０２１２】
図１１において、図９のステップＳ９で、接続異常が検知された仮想サーバがあると判断された場合には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスが既に「接続異常」になっているか否かを判断する（ステップＳ１０２１）。
【０２１３】
ここで、ステータスが「接続異常」になっていないと判断された場合（今回、新規に接続異常と判定された仮想サーバである場合）には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）の各仮想サーバのステータスを「接続異常」にする（ステップＳ１０２２）。
【０２１４】
続いて、異常検知手段３３により、接続異常が検知された各仮想サーバについて、再接続（強制ログアウトおよびログイン）を行う（ステップＳ１０２３）。この処理は、前述した図１０のステップＳ１０１２と同じ処理であるため、ここでは詳しい説明を省略する。
【０２１５】
それから、異常検知手段３３により、再接続が成功したか否かを判断し（ステップＳ１０２４）、再接続に成功したと判断した場合には、異常検知手段３３により、再接続に成功した各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「接続正常」に戻す（ステップＳ１０２５）。そして、「計算式」または「ルール」の再構築を行うことなく、図９のステップＳ７の処理に戻る。
【０２１６】
一方、前述したステップＳ１０２４で、再接続に失敗したと判断した場合には、異常検知手段３３により、各仮想サーバに対する銘柄割当（または注文割当）を変更するために、銘柄分散用（または注文分散用）の「計算式」または「ルール」の再構築を行う（ステップＳ１０２６）。この処理は、前述した図１０のステップＳ１０１５と同じ処理であるため、ここでは詳しい説明を省略する。そして、図９のステップＳ７の処理に戻る。
【０２１７】
また、前述したステップＳ１０２１で、ステータスが既に「接続異常」になっていると判断された場合（前回から接続異常が継続している仮想サーバである場合）には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、再接続（強制ログアウト＆ログイン）を行う（ステップＳ１０２７）。この処理は、ステップＳ１０２３と同じ処理であり、従って、前述した図１０のステップＳ１０１２と同じ処理であるため、ここでは詳しい説明を省略する。
【０２１８】
それから、異常検知手段３３により、再接続が成功したか否かを判断し（ステップＳ１０２８）、再接続に成功したと判断した場合には、異常検知手段３３により、再接続に成功した各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「接続正常」にする（ステップＳ１０２９）。
【０２１９】
続いて、異常検知手段３３により、各仮想サーバに対する銘柄割当（または注文割当）を変更するために、銘柄分散用（または注文分散用）の「計算式」または「ルール」の再構築を行う（ステップＳ１０２６）。この処理は、前述した図１０のステップＳ１０１５と同じ処理であるため、ここでは詳しい説明を省略する。そして、図９のステップＳ７の処理に戻る。
【０２２０】
一方、前述したステップＳ１０２８で、再接続に失敗したと判断した場合には、「計算式」または「ルール」の再構築を行うことなく、図９のステップＳ７の処理に戻る。
【０２２１】
＜異常検知時の対応処理（第３の方法）の流れ＞
【０２２２】
図１２に示すように、この第３の方法では、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを、「未接続、接続正常、接続異常」の３状態から「未接続、正常、新規異常、継続異常」の４状態に変更する。従って、「接続異常」を「新規異常」と「継続異常」とに分けている。
【０２２３】
図１２において、図９のステップＳ９で、接続異常が検知された仮想サーバがあると判断された場合には、異常検知手段３３により、接続異常が検知された各仮想サーバについて、前回が正常（または未接続）で、今回異常になった仮想サーバの場合には、仮想サーバ管理情報記憶手段４１（図５参照）の当該仮想サーバのステータスを「新規異常」にし、前回が新規異常または継続異常で、今回異常になった仮想サーバの場合には、仮想サーバ管理情報記憶手段４１の当該仮想サーバのステータスを「継続異常」にする（ステップＳ１０３１）。
【０２２４】
続いて、異常検知手段３３により、接続異常が検知された各仮想サーバ（ステータスが「新規異常」または「継続異常」の各仮想サーバ）について、再接続（強制ログアウトおよびログイン）を行う（ステップＳ１０３２）。この処理は、前述した図１０のステップＳ１０１２と同じ処理であるため、ここでは詳しい説明を省略する。
【０２２５】
その後、異常検知手段３３により、再接続が成功したか否かを判断し（ステップＳ１０３３）、再接続に成功したと判断した場合には、異常検知手段３３により、ステータスが「継続異常」であるか否かを判断する（ステップＳ１０３４）。
【０２２６】
ここで、ステータスが「継続異常」であると判断された場合には、異常検知手段３３により、各仮想サーバに対する銘柄割当（または注文割当）を変更するために、銘柄分散用（または注文分散用）の「計算式」または「ルール」の再構築を行う（ステップＳ１０３５）。この処理は、前述した図１０のステップＳ１０１５と同じ処理であるため、ここでは詳しい説明を省略する。
【０２２７】
それから、異常検知手段３３により、再接続に成功した各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「正常」にする（ステップＳ１０３６）。そして、図９のステップＳ７の処理に戻る。
【０２２８】
一方、前述したステップＳ１０３４で、ステータスが「継続異常」ではない（「新規異常」である）と判断された場合には、「計算式」または「ルール」の再構築を行うことなく、ステップＳ１０３６の処理に進み、異常検知手段３３により、再接続に成功した各仮想サーバについて、仮想サーバ管理情報記憶手段４１（図５参照）のステータスを「正常」にする。そして、図９のステップＳ７の処理に戻る。
【０２２９】
また、前述したステップＳ１０３３で、再接続に失敗したと判断した場合には、異常検知手段３３により、ステータスが「新規異常」であるか否かを判断する（ステップＳ１０３７）。
【０２３０】
ここで、ステータスが「新規異常」であると判断された場合には、異常検知手段３３により、各仮想サーバに対する銘柄割当（または注文割当）を変更するために、銘柄分散用（または注文分散用）の「計算式」または「ルール」の再構築を行う（ステップＳ１０３８）。この処理は、ステップＳ１０３５と同じ処理であり、従って、前述した図１０のステップＳ１０１５と同じ処理であるため、ここでは詳しい説明を省略する。そして、図９のステップＳ７の処理に戻る。
【０２３１】
一方、前述したステップＳ１０３７で、ステータスが「新規異常」ではない（「継続異常」である）と判断された場合には、「計算式」または「ルール」の再構築を行うことなく、図９のステップＳ７の処理に戻る。
【０２３２】
＜業務電文の送受信の処理の全体的な流れ＞
【０２３３】
図１３には、証券会社等の取引参加者の取引所接続システム１０と取引所システム７０との間における注文やその受付等の通知の業務電文を送受信する処理についての全体的な流れが示されている。
【０２３４】
図１３において、注文管理システム６０から注文（新規注文、注文の訂正、注文の取消）の電文データ（顧客識別情報である口座番号、注文識別情報である注文番号、注文銘柄、注文数量、注文単価、売買区分等が含まれている。）が送信されてくると、発注管理システム２０の受付キュー４５に格納されるので、電文送信処理手段３１により、これを受け取る（ステップＳ３１）。
【０２３５】
続いて、電文送信処理手段３１により、注文管理システム６０から受け取った注文（新規注文、注文の訂正、注文の取消）の電文データを、銘柄分散（または注文分散）により決定した仮想サーバの発注キューに送ることにより、取引所システム７０へ送信する（ステップＳ３２）。この際、送信される電文データには、証券会社等の取引参加者側で付番される入力通番が含まれている。
【０２３６】
このステップＳ３２での電文送信処理手段３１による銘柄分散（または注文分散）の方法（使用する仮想サーバおよび経路の決定方法）については、既に詳述しているため、ここでは詳しい説明を省略する。また、電文送信処理手段３１は、注文の種別（新規注文、訂正、取消の別）に応じ、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しの防止を図るための処理を実行するが、この処理の詳細については、図１４〜図１６を用いて後述する。
【０２３７】
取引所システム７０は、取引所接続システム１０から発注された注文（新規注文、訂正、取消）の電文データを受信すると（ステップＳ３３）、受信した注文に対し、仮想サーバ毎の通知通番を付し、また、受信した新規注文に対し、受付番号を付す。
【０２３８】
そして、取引所システム７０は、注文（新規注文、訂正、取消）の受付通知の電文データを、上りの経路と同じ経路を介して、取引所接続システム１０へ送信するとともに、ドロップコピー用の経路として取引参加者により指定されている経路を介して、ドロップコピーの受付通知の電文データを、取引所接続システム１０へ送信する（ステップＳ３４）。この際、送信される電文データには、取引所で付番した受付番号や通知通番、および取引参加者が付番した入力通番が含まれている。なお、取引参加者側の仮想サーバＡから発注された注文に対する受付通知の場合には、仮想サーバＡの経路ＲＡを介して送信する受付通知にも、ドロップコピー用の仮想サーバＨの経路ＲＨを介して送信する受付通知にも、「仮想サーバＡ、通知通番＝ＸＸ」という情報が含まれている。
【０２３９】
取引所接続システム１０では、注文（新規注文、訂正、取消）の発注を行った仮想サーバおよびそのドロップコピー用の仮想サーバにより、注文（新規注文、訂正、取消）の受付通知の電文データを、上りの経路と同じ経路およびドロップコピー用の経路の２経路を介して受信する（ステップＳ３５）。この際、受信する電文データには、取引所で付番した受付番号や通知通番、および取引参加者が付番した入力通番が含まれている。
【０２４０】
そして、電文受信処理手段３２により、受信通知管理情報記憶手段４４（図８参照）に、受信した新規注文・訂正・取消の受付通知に含まれる情報を記憶させる（ステップＳ３６）。この際、通知通番を用いて、同一内容の受付通知の重複排除を行うが、この処理については、既に詳述しているので、ここでは詳しい説明を省略する。
【０２４１】
続いて、電文受信処理手段３２により、発注管理情報記憶手段４３（図７参照）において、重複排除されて受信通知管理情報記憶手段４４（図８参照）に記憶されている受付通知の情報を反映させ、受付通知を受信した注文（新規注文、訂正、取消）についての管理情報を削除する（ステップＳ３７）。なお、発注管理情報記憶手段４３（図７参照）に、受付の有無を示すカラムを設けておき、電文受信処理手段３２により、受付通知を受信した注文（新規注文、訂正、取消）について、そのカラムに通知受信済であることを示す情報を記憶させてもよい。
【０２４２】
また、電文受信処理手段３２により、重複排除した受付通知の電文データを、注文管理システム６０へ送る（ステップＳ３８）。
【０２４３】
一方、取引所システム７０は、受け付けた注文を約定させる処理や、注文の訂正・取消等の各種処理を実行する（ステップＳ３９）。
【０２４４】
続いて、取引所システム７０は、約定通知や訂正・取消の結果通知の電文データを、上りの経路と同じ経路を介して、取引所接続システム１０へ送信するとともに、ドロップコピー用の経路として取引参加者により指定されている経路を介して、ドロップコピーの約定通知や訂正・取消の結果通知の電文データを、取引所接続システム１０へ送信する（ステップＳ４０）。この際、送信される電文データには、取引所で付番した受付番号や通知通番、および取引参加者が付番した入力通番が含まれている。
【０２４５】
取引所接続システム１０では、注文（新規注文、訂正、取消）の発注を行った仮想サーバおよびそのドロップコピー用の仮想サーバにより、約定通知や訂正・取消の結果通知のの電文データを、上りの経路と同じ経路およびドロップコピー用の経路の２経路を介して受信する（ステップＳ４１）。この際、受信する電文データには、取引所で付番した受付番号や通知通番、および取引参加者が付番した入力通番が含まれている。また、約定通知であれば、約定数量や約定単価等が含まれている。
【０２４６】
そして、電文受信処理手段３２により、受信通知管理情報記憶手段４４（図８参照）に、受信した約定通知や訂正・取消の結果通知に含まれる情報を記憶させる（ステップＳ４２）。この際、通知通番を用いて、同一内容の約定通知や同一内容の訂正・取消の結果通知の重複排除を行うが、この処理については、既に詳述しているので、ここでは詳しい説明を省略する。
【０２４７】
また、電文受信処理手段３２により、重複排除した約定通知や訂正・取消の結果通知の電文データを、注文管理システム６０へ送る（ステップＳ４３）。
【０２４８】
＜電文送信処理手段３１による新規注文の業務電文の送信時の処理の流れ＞
【０２４９】
図１４において、図１３のステップＳ３１で発注管理システム２０の受付キュー４５から新規注文の電文データを受け取った際には、銘柄単位で、受け付けた注文の市場への発注順序を厳密に守る処理、すなわち同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合と、そのような処理を行わない場合とがある。
【０２５０】
先ず、前者のように、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合には、注文管理システム６０（発注管理システム２０の受付キュー４５）から受け取った電文データが、新規注文の電文データである際には、電文送信処理手段３１により、当該電文データに含まれている注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）の情報が発注管理情報記憶手段４３（図７参照）に記憶されているか否かを判断する（ステップＳ３２１１）。また、受付通知を受信していない注文のレコードの有無で判断するのではなく、発注管理情報記憶手段４３に、受付通知の受信の有無を示す情報のカラムを設けておき、そのカラムを参照し、受付通知を受信していない注文があるか否かを判断してもよい。
【０２５１】
ここで、注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）があると判断した場合には、取引所システム７０への発注を行わずに待つ（ステップＳ３２１２）。すなわち、仮想サーバの発注キューへ送らずに、発注管理システム２０の受付キュー４５に残しておくか、あるいは注文管理システム６０に新規注文の発注処理を行わない旨の情報を送る。そして、上述したステップＳ３２１１の判断処理に戻り、以降、受付通知を受信するまで、ステップＳ３２１１，Ｓ３２１２の処理を繰り返す。なお、発注管理情報記憶手段４３（図７参照）において、受付通知の電文を受信していない注文については、人の判断で端末装置（不図示）からの操作により受信済に置き換えることができる構成としておくことが好ましく、このような構成とした場合には、新規注文を受け取った際に、その銘柄に対して、何もできない状態になることを回避することができる。
【０２５２】
一方、前述したステップＳ３２１１で、注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）がないと判断した場合には、電文送信処理手段３１により、通番管理情報記憶手段４２（図６参照）から現時点での除数（稼働している仮想サーバの台数）を取得し、例えば、注文銘柄の銘柄コードを構成する各桁のコード（数字、文字、または記号）が示す数値の和を、取得した除数で割るという除算の「計算式」を用いて、銘柄割当情報としての除算の余りを求める（ステップＳ３２１３）。現時点での除数は、図６の例では、一番下側のレコードに格納されている除数＝５である。注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）がないと判断したので、いずれの仮想サーバ（いずれの経路）で発注しても、同一銘柄（銘柄毎）の注文間の追い越しは発生しないことから、現時点での除数を用いることにより、現時点での「計算式」により銘柄割当を行うものである。なお、上記以外の「計算式」や「ルール」を用いて銘柄コードから銘柄割当情報を求める場合にも、現時点で稼働している仮想サーバの台数を用いることにより、現時点での「計算式」や「ルール」により銘柄割当を行えばよい。
【０２５３】
続いて、電文送信処理手段３１により、求めた余りに対応する仮想サーバの識別情報を仮想サーバ管理情報記憶手段４１（図５参照）から取得して、使用する仮想サーバおよび経路を決定し、決定した仮想サーバおよび経路で発注を行う（ステップＳ３２１４）。すなわち、決定した仮想サーバの発注キューに、取引所システム７０へ送信する注文の電文データを送り込む。
【０２５４】
また、電文送信処理手段３１により、発注管理情報記憶手段４３（図７参照）に、発注した注文についての入力通番、銘柄コード、使用経路（但し、経路は必須ではない）等を記憶させる（ステップＳ３２１５）。そして、図１３のステップＳ３３へと進む。
【０２５５】
次に、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行わない場合には、ステップＳ３２１１の受付通知を受信していない注文（新規注文、訂正、取消）の情報が発注管理情報記憶手段４３（図７参照）に記憶されているか否かの判断処理を行うことなく、ステップＳ３２１３〜Ｓ３２１５の処理を実行する。
【０２５６】
＜電文送信処理手段３１による注文の訂正（変更）の業務電文の送信時の処理の流れ＞
【０２５７】
図１５において、図１３のステップＳ３１で発注管理システム２０の受付キュー４５から注文の訂正（変更）の電文データを受け取った際には、銘柄単位で、受け付けた注文の市場への発注順序を厳密に守る処理、すなわち同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合と、そのような処理を行わない場合とがあるのは、新規注文を受け取った際（図１４参照）と同様である。
【０２５８】
先ず、前者のように、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合には、注文管理システム６０（発注管理システム２０の受付キュー４５）から受け取った電文データが、注文の訂正（変更）の電文データである際には、電文送信処理手段３１により、当該電文データに含まれている注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）の情報が発注管理情報記憶手段４３（図７参照）に記憶されているか否かを判断する（ステップＳ３２２１）。また、受付通知を受信していない注文のレコードの有無で判断するのではなく、発注管理情報記憶手段４３に、受付通知の受信の有無を示す情報のカラムを設けておき、そのカラムを参照し、受付通知を受信していない注文があるか否かを判断してもよい。
【０２５９】
ここで、注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）があると判断した場合には、取引所システム７０への発注を行わずに待つ（ステップＳ３２２２）。すなわち、仮想サーバの発注キューへ送らずに、発注管理システム２０の受付キュー４５に残しておくか、あるいは注文管理システム６０に訂正の発注処理を行わない旨の情報を送る。そして、上述したステップＳ３２２１の判断処理に戻り、以降、受付通知を受信するまで、ステップＳ３２２１，Ｓ３２２２の処理を繰り返す。なお、発注管理情報記憶手段４３（図７参照）において、受付通知の電文を受信していない注文については、人の判断で端末装置（不図示）からの操作により受信済に置き換えることができる構成としておくことが好ましく、このような構成とした場合には、注文の訂正を受け取った際に、その銘柄に対して、何もできない状態になることを回避することができる。
【０２６０】
次に、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行わない場合には、さらに、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しを防止する処理を行うか、そのような処理を行わないかにより、異なる処理の流れとなる。
【０２６１】
このため、電文送信処理手段３１により、訂正に係る注文（当該訂正の対象の注文、当該訂正前の別の訂正）について、受付通知を受信していない注文の情報が、発注管理情報記憶手段４３（図７参照）に記憶されているか否かを判断する（ステップＳ３２２３）。また、受付通知を受信していない注文のレコードの有無で判断するのではなく、発注管理情報記憶手段４３に、受付通知の受信の有無を示す情報のカラムを設けておき、そのカラムを参照し、受付通知を受信していない注文があるか否かを判断してもよい。この判断処理は、顧客が新規に注文を出した後に、その注文の訂正を出し、あるいはさらに別の訂正を出すといったように、同一顧客が、自分の１つの注文について、複数の手続（注文行為）を行う場合があるので、その場合に、後の手続が、先の手続を追い越さないようにするための判断処理である。
【０２６２】
ここで、訂正に係る注文（当該訂正の対象の注文、当該訂正前の別の訂正）について、受付通知を受信していない注文があると判断した場合には、取引所システム７０への発注を行わずに待つ（ステップＳ３２２４）。すなわち、仮想サーバの発注キューへ送らずに、発注管理システム２０の受付キュー４５に残しておくか、あるいは注文管理システム６０に訂正の発注処理を行わない旨の情報を送る。そして、上述したステップＳ３２２３の判断処理に戻り、以降、受付通知を受信するまで、ステップＳ３２２３，Ｓ３２２４の処理を繰り返す。なお、発注管理情報記憶手段４３（図７参照）において、受付通知の電文を受信していない注文については、人の判断で端末装置（不図示）からの操作により受信済に置き換えることができる構成としておくことが好ましく、このような構成とした場合には、注文の訂正を受け取った際に、その銘柄に対して、何もできない状態になることを回避することができる。
【０２６３】
また、上述したステップＳ３２２４の「発注を行わずに待つという処理」に代えて、訂正に係る注文（当該訂正の対象の注文、当該訂正前の別の訂正）の発注処理を担当した仮想サーバおよびその経路を把握し、把握した仮想サーバおよびその経路を使用して、その訂正を取引所システム７０へ発注してもよい。従って、受付通知を受信していない注文は、発注済の過去の注文（訂正も含む）であるから、過去の注文と同じ仮想サーバおよび経路を使用することになり、また、その過去の注文は受付通知を受信していないので、停止している仮想サーバおよびその経路を使用することになるため、停止している仮想サーバの発注キューに訂正の電文データを送ってその発注キューに留め置くことになる。
【０２６４】
このような代替処理を行う場合には、発注管理情報記憶手段４３（図７参照）に、過去の注文（受付通知を受信していない注文）の使用経路が記憶されていれば、その情報を用いて、訂正の電文データを送る仮想サーバを決定すればよく、発注管理情報記憶手段４３に使用経路が記憶されていなければ、次のようにして、訂正の電文データを送る仮想サーバを決定することができる。発注管理情報記憶手段４３（図７参照）に記憶されている当該過去の注文についての入力通番を用いて、通番管理情報記憶手段４２（図６参照）から、当該過去の注文の時点における情報（除数、および停止していた仮想サーバの識別情報）を取得し、取得した情報を用いて、過去の時点用にした「計算式」または「ルール」から、当該過去の注文の注文銘柄に対応する銘柄割当情報（例えば、除算の余り等）を求め、求めた銘柄割当情報を用いて、過去の時点用にした仮想サーバ管理情報記憶手段４１（図５参照）から、当該過去の注文の発注処理を担当した仮想サーバの識別情報を取得することにより、当該過去の注文の発注処理を担当した仮想サーバおよびその経路を把握する。そして、把握した仮想サーバの発注キューへ、訂正の電文データを送る。
【０２６５】
なお、前述したステップＳ３２２１の判断処理は、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行うにあたり、注文管理システム６０（発注管理システム２０の受付キュー４５）から受け取った電文データが、注文の訂正（変更）の電文データである際の判断処理としているが、注文の訂正には、より細分化された内容があるので、訂正の電文データであれば一律に同じ処理を行うのではなく、次のように訂正の内容に応じた処理を行ってもよい。
【０２６６】
注文価格（注文単価）を変更する訂正の場合には、価格（単価）を上げる場合および下げる場合のいずれにも時間優先の原則（先に受け付けた手続を優先させて市場に出す原則）を適用すべきなので、前述したステップＳ３２２１の判断処理により処理の分岐を行う。
【０２６７】
これに対し、注文数量を変更する訂正の場合には、数量を増加させる場合には、時間優先の原則を適用すべきであるが、数量を減少させる場合には、時間優先の原則を適用する必要はない。従って、注文数量を増加させる訂正の場合には、前述したステップＳ３２２１の判断処理により処理の分岐を行う。一方、注文数量を減少させる訂正の場合には、前述したステップＳ３２２１の判断処理を行うことなく、後述するステップＳ３２２５の処理に進んでもよく、あるいは、この場合にも、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しについては防止する必要があれば、前述したステップＳ３２２３の判断処理に進んで処理の分岐を行ってもよい。
【０２６８】
そして、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合における前述したステップＳ３２２１で、注文銘柄と同一の銘柄について、受付通知を受信していない注文（新規注文、訂正、取消）がないと判断した場合、および、同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行わない場合における前述したステップＳ３２２３で、訂正に係る注文（当該訂正の対象の注文、当該訂正前の別の訂正）について、受付通知を受信していない注文がないと判断した場合には、いずれの場合についても、電文送信処理手段３１により、通番管理情報記憶手段４２（図６参照）から現時点での除数（稼働している仮想サーバの台数）を取得し、例えば、注文銘柄の銘柄コードを構成する各桁のコード（数字、文字、または記号）が示す数値の和を、取得した除数で割るという除算の「計算式」を用いて、銘柄割当情報としての除算の余りを求める（ステップＳ３２２５）。この処理は、前述した図１４のステップＳ３２１３と同じ処理であるため、ここでは詳しい説明を省略する。
【０２６９】
続いて、電文送信処理手段３１により、求めた余りに対応する仮想サーバの識別情報を仮想サーバ管理情報記憶手段４１（図５参照）から取得して、使用する仮想サーバおよび経路を決定し、決定した仮想サーバおよび経路で発注を行う（ステップＳ３２２６）。すなわち、決定した仮想サーバの発注キューに、取引所システム７０へ送信する注文（ここでは訂正）の電文データを送り込む。この処理は、前述した図１４のステップＳ３２１４と同じ処理である。なお、例えば、切断前に仮想サーバＡで新規注文を発注し、仮想サーバＡの経路の切断後に、仮想サーバＡとは別の仮想サーバの経路で訂正を発注した場合には、その訂正に対する受付通知は、仮想サーバＡの経路およびそのドロップコピー用の仮想サーバＨの経路の２経路で返ってくるので、ドロップコピーの受付通知を受信することができる。
【０２７０】
また、電文送信処理手段３１により、発注管理情報記憶手段４３（図７参照）に、発注した注文（ここでは訂正）についての入力通番、銘柄コード、使用経路（但し、経路は必須ではない）等を記憶させる（ステップＳ３２２７）。この処理は、前述した図１４のステップＳ３２１５と同じ処理である。そして、図１３のステップＳ３３へと進む。
【０２７１】
＜電文送信処理手段３１による注文の取消の業務電文の送信時の処理の流れ＞
【０２７２】
図１６において、図１３のステップＳ３１で発注管理システム２０の受付キュー４５から注文の取消の電文データを受け取った際には、前述した図１４の新規注文を受け取った際や、図１５の注文の訂正を受け取った際とは異なり、銘柄単位で、受け付けた注文の市場への発注順序を厳密に守る処理、すなわち同一銘柄（銘柄毎）の注文間の追い越しを防止する処理を行う場合と、そのような処理を行わない場合とで処理の流れが変わるということはない。
【０２７３】
先ず、電文送信処理手段３１により、通番管理情報記憶手段４２（図６参照）から現時点での除数（稼働している仮想サーバの台数）を取得し、例えば、注文銘柄の銘柄コードを構成する各桁のコード（数字、文字、または記号）が示す数値の和を、取得した除数で割るという除算の「計算式」を用いて、銘柄割当情報としての除算の余りを求める（ステップＳ３２３１）。この処理は、前述した図１４のステップＳ３２１３と同じ処理であるため、ここでは詳しい説明を省略する。
【０２７４】
続いて、電文送信処理手段３１により、求めた余りに対応する仮想サーバの識別情報を仮想サーバ管理情報記憶手段４１（図５参照）から取得して、使用する仮想サーバおよび経路を決定し、決定した仮想サーバおよび経路で発注を行う（ステップＳ３２３２）。すなわち、決定した仮想サーバの発注キューに、取引所システム７０へ送信する注文（ここでは取消）の電文データを送り込む。この処理は、前述した図１４のステップＳ３２１４と同じ処理である。なお、例えば、切断前に仮想サーバＡで新規注文を発注し、仮想サーバＡの経路の切断後に、仮想サーバＡとは別の仮想サーバの経路で取消を発注した場合には、その取消に対する受付通知は、仮想サーバＡの経路およびそのドロップコピー用の仮想サーバＨの経路の２経路で返ってくるので、ドロップコピーの受付通知を受信することができる。
【０２７５】
また、電文送信処理手段３１により、発注管理情報記憶手段４３（図７参照）に、発注した注文（ここでは取消）についての入力通番、銘柄コード、使用経路（但し、経路は必須ではない）等を記憶させる（ステップＳ３２３３）。この処理は、前述した図１４のステップＳ３２１５と同じ処理である。そして、図１３のステップＳ３３へと進む。
【０２７６】
＜本実施形態の効果＞
【０２７７】
このような本実施形態によれば、次のような効果がある。すなわち、取引所接続システム１０では、銘柄分散を行う場合（注文分散ではない場合）には、同一銘柄については、同一の仮想サーバおよびそれに対応する経路を経由して取引所システム７０への発注処理を行うことができる。そして、取引所システム７０と複数の仮想サーバＡ，Ｂ，Ｃ，Ｄ等の各々との間に形成された複数の仮想的な経路ＲＡ，ＲＢ，ＲＣ，ＲＤ等は、取引所システム７０との間に設けられた複数の物理的な回線Ｌ１，Ｌ２を分散使用して形成されているので、結局、各銘柄の注文を、銘柄毎に複数の物理的な回線Ｌ１，Ｌ２を分散使用して発注することができる。換言すれば、同一銘柄の注文であれば、複数の物理的な回線Ｌ１，Ｌ２のうちの同一回線を使用して発注することができる。従って、いずれかの回線が切断された場合でも、同一銘柄の注文について、後から発注された注文が、先に発注された注文を追い越すという事態を避けることができ、時間優先の原則を守ることができる。
【０２７８】
また、取引所接続システム１０では、銘柄分散および注文分散のいずれを行う場合でも、注文を発注する仮想サーバおよびそれに対応する経路を分散させているので、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等にかかる負荷を均等化でき、あるいはたとえ均等化できなかったとしても各仮想サーバＡ，Ｂ，Ｃ，Ｄ等への負荷分散を図ることができる。このため、仮想サーバの単位時間当たりの処理能力に上限がある場合でも、業務処理が滞る可能性を低減することができ、システムの可用性を向上させることができる。
【０２７９】
さらに、取引所接続システム１０では、銘柄分散および注文分散のいずれを行う場合でも、取引所システム７０からの下りの経路については、通知のドロップコピーを受信する構成とされているので、複数の物理的な回線Ｌ１，Ｌ２のうちの別の回線を使用した２本の仮想経路で、同一内容の通知を受け取ることができる。このため、２本の仮想経路（つまり、物理回線Ｌ１，Ｌ２の双方）について同時に接続障害が発生する確率が低いことを考えれば、通知が未受領となる事態、すなわち、発注済の注文の情報（取引所に注文が受け付けられたのか、約定したのか、訂正が行われたのか等の情報）を入手することができない事態が生じる確率を低減することができ、この点でも、システムの可用性を向上させることができる。
【０２８０】
また、取引所接続システム１０では、銘柄分散を行う場合について言えば、注文の発注処理に使用する仮想サーバおよびそれに対応する経路を、銘柄毎に分散させているので、ある仮想サーバおよびそれに対応する経路に接続障害が発生し、使用不能になった場合でも、その仮想サーバおよび経路に割り当てられていた銘柄についての注文の発注処理を、別の仮想サーバおよび経路に対し、銘柄単位で割り当てを変更して行うことができ、また、再接続によりその仮想サーバおよび経路が復旧した場合には、復旧した仮想サーバおよび経路に対し、銘柄単位で割り当てを戻すことにより、システムの可用性を維持することもできる。
【０２８１】
また、取引所接続システム１０は、「計算式」または「ルール」を用いて、銘柄分散や注文分散を実現することができる。すなわち、銘柄分散を行う場合には、「計算式」または「ルール」を用いて、銘柄コードから、稼働している仮想サーバに各銘柄を割り当てるための銘柄割当情報を求め、さらに、求めた銘柄割当情報から、仮想サーバ管理情報記憶手段４１（図５参照）の情報を用いて、発注に使用する仮想サーバの識別情報を取得することができる。また、注文分散を行う場合には、注文番号若しくは入力通番から、稼働している仮想サーバに各注文を割り当てるための注文割当情報を求め、さらに、求めた注文割当情報から、仮想サーバ管理情報記憶手段４１（図５参照：但し、図５は銘柄分散の例となっている。）の情報を用いて、発注に使用する仮想サーバの識別情報を取得することができる。
【０２８２】
そして、「計算式」または「ルール」は、稼働している仮想サーバの台数（割り算の除数）を入力情報の一部とし、除算の余り等の銘柄割当情報または注文割当情報を出力情報とするものであり、また、異常検知手段３３は、異常検知時に仮想サーバ管理情報記憶手段４１（図５参照）の各仮想サーバの接続状態を示すステータスを更新するとともに、そのステータスの変化に応じて仮想サーバ管理情報記憶手段４１における銘柄割当情報または注文割当情報の配置を変更する構成とされているので、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替のような状況変化に容易に対応することができる。すなわち、異常検知手段３３により異常が検知された仮想サーバ、あるいは再接続により復旧した仮想サーバがあると、稼働している仮想サーバの台数が変動したり、稼働している仮想サーバが入れ替わることがあるが、異常検知手段３３は、その状況変化を反映させて「計算式」または「ルール」の再構築を行い、銘柄割当または注文割当の状態を容易に変更することができる。このため、電文送信処理手段３１による注文の発注に使用する仮想サーバの決定処理に、各仮想サーバの接続状態の変化を、容易に反映させることができる。
【０２８３】
例えば、銘柄分散を行う場合で言えば、銘柄コードと仮想サーバの識別情報とを直接に関連付けたテーブルを用意し、注文銘柄の銘柄コードから、それに対応する仮想サーバの識別情報を導くことにより、使用する仮想サーバを決定する方法も考えられるが、このような固定的なテーブルを用意する場合は、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替に容易に対応することは困難である。これに対し、「計算式」または「ルール」を用いて、銘柄コードから銘柄割当情報を求め、さらに、求めた銘柄割当情報から仮想サーバの識別情報を導くようにすれば、異常検知手段３３により仮想サーバ管理情報記憶手段４１（図５参照）における銘柄割当情報の更新管理を行うことで、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替に容易に対応することができる。
【０２８４】
また、銘柄コード（銘柄分散を行う場合）を与えるか、注文番号若しくは入力通番（注文分散を行う場合）を与えると、「計算式」または「ルール」により、使用する仮想サーバおよび経路が決まるようになっているので、通番管理情報記憶手段４２（図６参照）に、過去の時点で稼働していた仮想サーバの台数（過去の時点での「計算式」または「ルール」への入力情報）およびいずれの仮想サーバが稼働していたのか（停止していた仮想サーバでもよい）等の情報を記憶しておけば、過去において注文の発注に使用した仮想サーバおよび経路を把握することができる。このため、発注管理情報記憶手段４３（図７参照）において、過去の注文の発注に使用した仮想サーバおよび経路を全部記憶しておくことを回避することができる。従って、異常検知時において、同一銘柄（銘柄毎）の注文間の追い越しの防止や、同一注文内（同一顧客の１つの注文内）での注文（訂正や取消を含む）の追い越しの防止を実現するには、過去の注文の使用経路を把握する必要が生じることもあるが（過去の注文の使用経路の把握が必要になる処理を採用することもできるが）、この際、過去の注文の使用経路を全部記憶しておく必要はなくなるので、リソースの効率的な利用を実現することができる。
【０２８５】
さらに、「計算式」は、稼働している仮想サーバの台数を除数（割る数）とする除算の計算式とされ、その余りを銘柄割当情報とするようになっているので、稼働している仮想サーバの台数と同数の銘柄割当情報を容易に作り出すことができる。例えば、稼働している仮想サーバの台数が６台であれば、６で割る計算を行うことにより、その余りで、６通りの銘柄割当情報を容易に作り出すことができる。また、簡単な計算式であるため、処理速度を向上させることもできる。
【０２８６】
また、異常検知手段３３は、複数の仮想サーバＡ，Ｂ，Ｃ，Ｄ等の各々での発注キューの監視による滞留検知の情報を取得する構成とされているので、通信規約に基づくシステムチェックの場合よりも、早期に接続異常を検知することができるため、異常が検知された仮想サーバについての再接続による復旧に要する時間を短縮することができ、システムの可用性を向上させることができる。
【０２８７】
さらに、取引所接続システム１０では、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等が、アドレス変換器５０を用いて物理的な回線Ｌ１，Ｌ２の切換を行い、各仮想経路ＲＡ，ＲＢ，ＲＣ，ＲＤ等を（正）から（副）へ、あるいは（副）から（正）へ切り換える構成とされているので、取引参加者の物理サーバを切り換えずに、物理的な回線Ｌ１，Ｌ２の切換を行って再接続を行うことができる。
【０２８８】
そして、電文受信処理手段３２は、主経路（上りの経路と同じ経路）およびドロップコー用の経路の２本の経路で受信した同一内容の通知について重複排除を行う構成とされているので、同一内容の通知についての注文管理システム６０への重複送信を回避することができる。
【０２８９】
また、電文受信処理手段３２により同一内容の通知の重複排除を行うにあたり、仮想サーバ管理情報記憶手段４１（図５参照：但し、図５の例では、通知通番の記載はない。）に、通知通番のうちの直近に付番された最大の通知通番を記憶する構成とした場合には、受信通知管理情報記憶手段４４（図８参照）の設置を省略することができる。
【０２９０】
さらに、電文送信処理手段３１は、注文管理システム６０から注文を受け取った際に、その注文の種別（新規注文、訂正、取消の別）に応じ、発注管理情報記憶手段４３（図７）に記憶された情報を参照し、受付通知の受信の有無を確認してから発注処理を進める構成とされているので（図１４〜図１６参照）、接続障害が発生し、受付通知を受信できない事態が発生するような状況下でも、同一銘柄（銘柄毎）の注文間の追い越しを防ぐ処理や、同一注文内（同一顧客の１つの注文内）での注文（訂正を含む）の追い越しを防ぐ処理を実現することができる。
【０２９１】
そして、発注管理情報記憶手段４３（図７参照）では、電文受信処理手段３２により、取引所システム７０から受付通知の電文データを受信した注文（訂正や取消を含む）についてのレコードが削除されるようになっているので、多数存在する過去の注文（訂正や取消を含む）についてのレコードを全て記憶しておく必要がなくなるため、リソースの効率的な利用を図ることができる。
【０２９２】
＜変形の形態＞
【０２９３】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
【０２９４】
例えば、前記実施形態では、銘柄分散は、銘柄コードを与えると銘柄割当情報（例えば、除算の余り等）が求まるという「計算式」または「ルール」を用いて実現されていたが、本発明における銘柄分散は、このような「計算式」または「ルール」を用いた処理以外の処理で実現してもよい。
【０２９５】
具体的には、前記実施形態のように、銘柄コードから銘柄割当情報（例えば、除算の余り等）が求まり、さらに、銘柄割当情報から仮想サーバの識別情報が得られるという形態ではなく、銘柄コードと仮想サーバの識別情報との関係を直接に定義した銘柄割当テーブルを用意し（発注管理手段３０に接続された銘柄割当テーブル記憶手段を設けておく。）、銘柄コードを与えると、その銘柄割当テーブルから、直接に仮想サーバの識別情報が得られ、当該銘柄の注文の発注処理を担当する仮想サーバが決定されるようにしてもよい。しかし、このような銘柄割当テーブルは、固定的な関連付けの定義になりやすく、各仮想サーバの接続状態の状況変化を反映させた銘柄分散を実現しにくい場合（状況変化が起きた後における銘柄の再分散の処理が複雑になってしまう場合）もあるので、稼働している仮想サーバの台数の変動や、稼働している仮想サーバの入替に容易に対応できるという点では、前記実施形態のような「計算式」または「ルール」を用いた銘柄分散を行うことが好ましい。
【０２９６】
また、前記実施形態では、仮想サーバ管理情報記憶手段４１（図５参照）に銘柄割当情報（例えば、除算の余り等）が記憶されるようになっていたが、銘柄割当情報の代わりに、その仮想サーバに割り当てられる各銘柄の銘柄コードを記憶するようにしてもよい。このようにした場合には、結局、上述した銘柄コードと仮想サーバの識別情報との関係を直接に定義した銘柄割当テーブルと同じことになるが、その銘柄割当テーブルの作成過程において、前記実施形態のような「計算式」または「ルール」を用いれば、銘柄割当テーブルは固定的なものではなく、各仮想サーバの接続状態の状況変化を反映させた可変の銘柄割当テーブルとなる。従って、この場合には、異常検知手段３３により異常が検知された仮想サーバ、あるいは再接続により復旧した仮想サーバがあるときに、異常検知手段３３により、その都度、前記実施形態のような「計算式」または「ルール」に対し、全ての銘柄の銘柄コードまたはその構成コードを入力し、仮想サーバ管理情報記憶手段４１（図５参照）において、求めた銘柄割当情報（例えば、除算の余り等）に対応する位置（求めた銘柄割当情報に対応する仮想サーバの識別情報についての記憶領域）に、入力した銘柄コードを記憶させることにより、可変の銘柄割当テーブルを作成することができる。
【０２９７】
さらに、注文管理システム６０に記憶された情報を用いて算出した可変の銘柄割当テーブルを用意し（発注管理手段３０に接続された銘柄割当テーブル記憶手段を設けておく。）、銘柄コードを与えると、その銘柄割当テーブルから、当該銘柄の注文の発注処理を担当する仮想サーバが決定されるようにしてもよい。この場合、銘柄割当テーブルを作成するのは、異常検知手段３３である必要はなく、例えば、注文管理システム６０の夜間バッチ処理等により作成してもよい。具体的には、例えば、ペアトレードの注文におけるペア銘柄（ペアを構成する２銘柄）は、同一経路を使用して発注したほうがよいため、次のような処理を行うことができる。注文管理システム６０内または外部のプログラム（銘柄割当テーブル作成手段）が、ペアトレードの建て注文は出されているが、未だ手仕舞いされていないもの（埋め注文が出されていないもの）についての情報を、注文管理システム６０に設けられたペアトレード情報記憶手段から取得し、それらの建て注文のペア銘柄を集計し（同じ組合せのペア銘柄となっている注文の個数を、組合せ毎に集計し）、注文の個数が多い組合せのペア銘柄（２銘柄）が同一経路を使用して発注されるように銘柄割当テーブルを作成する。この場合、例えば、夜間に作成された銘柄割当テーブルを、その翌日に用いれば、毎日更新される銘柄割当テーブルとなる。なお、注文の個数が多い組合せのペア銘柄（２銘柄）であるか否かは、例えば、予め閾値（〜個以上）を定めておけばよいが、この閾値自体を、処理対象の注文の総数に応じて変化させる等してもよい。
【０２９８】
例えば、銘柄α，βの組合せが１番目に多く、銘柄γ，δの組合せが２番目に多く、銘柄ε，ζの組合せが３番目に多く、銘柄α，δの組合せが４番目に多かったとする。このとき、銘柄α，βを仮想サーバＡに割り当て、銘柄γ，δを仮想サーバＢに割り当て、銘柄ε，ζを仮想サーバＣに割り当てた後、銘柄α，δの組合せの割り当てを判断する際に、銘柄αは既に仮想サーバＡに割り当てられ、銘柄δは既に仮想サーバＢに割り当てられているので、このように既に割り当てられている銘柄が発生した場合には、その銘柄の割当処理は後に回し、注文の個数が多い組合せのペア銘柄として抽出されなかった銘柄と一緒にして単独の銘柄として取り扱う。そして、最後に、残った単独の銘柄を、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等に均等に割り当てていく等の割当処理を行うことができる。
【０２９９】
さらに、前記実施形態では、注文分散を行う場合には、前記実施形態のような「計算式」または「ルール」を用いて、注文番号若しくは入力通番から、稼働している仮想サーバに各注文を割り当てるための注文割当情報を求め、さらに、求めた注文割当情報から、仮想サーバ管理情報記憶手段４１（図５参照：但し、図５は銘柄分散の例となっている。）の情報を用いて、発注に使用する仮想サーバの識別情報を取得する構成とされていたが、注文分散は、これに限定されるものではなく、例えば、注文管理システム６０からの注文の受け付け順で、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等に対し、処理要求を順番に割り振るラウンドロビン方式としてもよく、その場合でも、各仮想サーバＡ，Ｂ，Ｃ，Ｄ等の負荷分散の効果を得ることができる。
【産業上の利用可能性】
【０３００】
以上のように、本発明の取引所接続システムおよびプログラムは、例えば、証券会社システムから取引所システムへの接続を行う場合等に用いるのに適している。
【符号の説明】
【０３０１】
１０  取引所接続システム
２０  発注管理システム
３０  発注管理手段
３１  電文送信処理手段
３２  電文受信処理手段
３３  異常検知手段
４１  仮想サーバ管理情報記憶手段
４２  通番管理情報記憶手段
４３  発注管理情報記憶手段
４４  受信通知管理情報記憶手段
５０  アドレス変換器
６０  注文管理システム
７０  取引所システム
Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈ  仮想サーバ
ＲＡ，ＲＢ，ＲＣ，ＲＤ，ＲＥ，ＲＦ，ＲＧ，ＲＨ  経路（仮想経路）
Ｌ１，Ｌ２  回線（物理回線）
【図１】
2017182209.tif 000003
【図２】
2017182209.tif 000004
【図３】
2017182209.tif 000005
【図４】
2017182209.tif 000006
【図５】
2017182209.tif 000007
【図６】
2017182209.tif 000008
【図７】
2017182209.tif 000009
【図８】
2017182209.tif 000010
【図９】
2017182209.tif 000011
【図１０】
2017182209.tif 000012
【図１１】
2017182209.tif 000013
【図１２】
2017182209.tif 000014
【図１３】
2017182209.tif 000015
【図１４】
2017182209.tif 000016
【図１５】
2017182209.tif 000017
【図１６】
2017182209.tif 000018
【図１７】
2017182209.tif 000019