(57)【特許請求の範囲】
【請求項１】
所定のアプリケーション機能を実現するアプリケーションプログラムを実行するとともに、前記アプリケーション機能を通じて生成又は入力されるデータをデータベースで管理する情報処理装置であって、
前記アプリケーション機能の起動から終了までの前記データを第１記憶部に記憶させ、前記第１記憶部に記憶された前記データを所定のタイミングで前記データベースに格納させるデータ管理制御部と、
前記第１記憶部に記憶されている前記データから次回の前記アプリケーション機能の起動に必要なアプリケーション起動情報を生成する演算部と、
前記アプリケーション起動情報を記憶する第２記憶部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記アプリケーション起動情報は、ネットワークを通じて接続可能なユーザ端末が前記アプリケーション機能に関連した所定のアプリケーションプログラムの起動に必要なアプリケーション起動情報であり、
前記ユーザ端末からの前記所定のアプリケーションプログラムの起動要求に応答して、前記アプリケーション起動情報をユーザ端末に提供する制御部を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーション起動情報を用いた起動処理から前記起動要求までの間に前記アプリケーション機能を通じて生成又は入力される情報であって、前記アプリケーション起動情報に含まれるデータが更新されているか否かを判別する判別部をさらに有し、
前記制御部は、前記更新されたデータに基づく起動差分情報を前記ユーザ端末に提供することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記演算部は、前記アプリケーション起動情報をファイル形式で生成することを特徴とする請求項１から３のいずれか１つに記載の情報処理装置。
【請求項５】
所定のアプリケーション機能を実現するアプリケーションプログラムを実行するとともに、前記アプリケーション機能で使用されるデータをデータベースで管理する情報処理装置を備えた情報処理システムであって、
前記情報処理装置を、前記アプリケーション機能の起動から終了までの前記データを第１記憶部に記憶させ、前記第１記憶部に記憶された前記データを所定のタイミングで前記データベースに格納させるデータ管理制御部を共通して備える複数の情報処理装置で構成し、
前記複数の情報処理装置のうち少なくとも１つの情報処理装置が、
前記第１記憶部に記憶されている前記データから次回の前記アプリケーション機能の起動に必要なアプリケーション起動情報を生成する演算部を有し、かつ
前記複数の各情報処理装置が、前記アプリケーション起動情報を記憶する第２記憶部を有することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に、アプリケーション機能の起動時間を短縮する情報処理装置に関する。
【背景技術】
【０００２】
従来の証券システムや顧客管理システムでは、アプリケーションサーバが所定のアプリケーション機能を実現するアプリケーションプログラムを実行し、システム全体としてアプリケーション機能をアクティブにし、利用者にアプリケーションサービスを提供する。このような証券システムや顧客管理システム等のシステムでは、一般的に日々大量のデータを取扱い、これらのデータをデータベースサーバ等のデータベースで管理している。
【０００３】
アプリケーションサービスを利用者に提供する際、アプリケーションサーバは、アプリケーションプログラムを起動させ、最新データが反映されたアプリケーション機能を利用者に提供する必要がある。例えば、証券システムでは、アプリケーション起動処理（システム起動処理）の際、前日までの注文者の最新の株式銘柄及びポジション情報、設定情報を用いて、最新の情報が反映されたアプリケーションサービスを利用者に提供する必要がある。
【０００４】
図９は、証券システムや顧客管理システムなどの大容量のデータを扱うシステムのアプリケーションサーバのアプリケーション起動処理を示したフローチャートである。図９に示すように、アプリケーションサーバは、記憶部に格納されているアプリケーションプログラム（アプリケーションソフト）をメモリにロードし、アプリケーション起動処理を開始する（ステップＳ９０１）。アプリケーションサーバは、データベースサーバにアクセスし（ステップＳ９０２）、アプリケーションプログラムの起動に必要な前日までの最新の銘柄及びポジション情報、設定情報をデータベースサーバから収集する。そして、収集した情報を用いてアプリケーション機能を起動させる（ステップＳ９０３）。
【０００５】
しかしながら、上述のように各種データをデータベースで管理しているため、アプリケーション機能の起動に必要な情報、例えば、証券取引を行うために前日までの最新の銘柄及びポジション情報等をデータベースから取得してアプリケーションを実際に機能させるために必要なデータを収集しなければならない。このため、従来のアプリケーション起動方法は、アプリケーション機能を提供可能な状態にするまでに多くの時間を費やしていた。
【０００６】
すなわち、データベースで管理されているデータは、リレーショナルデータベースに代表されるように、所定の関係に基づいた複数の表形式テーブルに分散されて格納されている。したがって、比較的少ないデータ数であればさほど時間を要しないが、数十万件、数百万件単位でデータを管理する大規模なデータベースから所望のデータを抽出するには、多くの時間が必要となる。
【０００７】
したがって、図９に示したアプリケーション起動処理において、データベースから起動に必要な情報を取得する際に要する時間が長くなり、アプリケーション機能の起動が遅くなるとともに、システム全体の起動時間が遅くなるという問題があった。
【０００８】
また、利用者側の注文者端末においても、アプリケーションサーバが提供するアプリケーション機能に関連した所定のアプリケーションプログラムを起動する際、注文者端末からアプリケーションサーバを経由してデータベースにアクセスし、データベースから起動に必要な情報を取得しなければならなかった。このため、アプリケーションサーバと同様に、注文者端末側でのアプリケーション機能の起動に多くの時間が費やされていた。
【０００９】
一方、従来からパーソナルコンピュータ等の起動時のオペレーティングシステム（ＯＳ）の立ち上がりに要する時間を短くする技術（特許文献１）や、フラッシュメモリに特定起動プログラムを記憶し、この特定機能プログラムを他のプログラムよりも先に起動させることで、ユーザに視覚的な起動遅れを感じさせないようにする技術（特許文献２）が提案されている。また、不揮発性メモリ上のキャッシュデータをハードディスクに書き戻すライトバックを、システムの空き時間（アイドル状態）に行うことで、ライトバック処理の回数を低減し、不揮発性メモリへのアクセス性能を向上させる技術（特許文献３）も提案されている。
【００１０】
【特許文献１】特開２００１−２６５５９８号公報
【特許文献２】特開２００６−３４４０５９号公報
【特許文献３】特開平１１−４５２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、各特許文献の技術は、フラッシュメモリなどの高速読み込み可能なメモリ領域に起動プログラムを記憶したり、特定のプログラムを先に起動させることでプログラムの起動時間を短くする技術であり、上記従来のアプリケーション起動方法の問題点を解決することができない。
【００１２】
つまり、データを管理しているデータベースにアクセスしてアプリケーション機能の起動に必要なデータを収集しなければならない従来のアプリケーション起動方法では、データベースへのアクセス及びデータ収集に要する時間が長くなり、プログラムやデータをフラッシュメモリなどの高速読み込み可能なメモリ領域に格納しても、起動時間を短くすることができない。
【００１３】
また、従来のアプリケーション起動方法は、データを管理しているデータベースからアプリケーション機能の起動に必要なデータを収集しなければならないため、データベース（データベースサーバ）に障害が発生し、データアクセスが出来ない場合には、アプリケーションサーバは、アプリケーション機能を起動することができず、さらにはシステム全体を起動させることができない。
【００１４】
そこで、本発明は、アプリケーション機能の起動時間を短くすることのできる情報処理装置を提供することを目的とする。
【００１５】
また、本発明は、データベースに障害が発生しても、円滑なシステム全体の起動が実現される情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の１つの側面としての情報処理装置は、所定のアプリケーション機能を実現するアプリケーションプログラムを実行するとともに、アプリケーション機能を通じて生成又は入力されるデータをデータベースで管理する情報処理装置であって、アプリケーション機能の起動から終了までのデータを第１記憶部に記憶させ、第１記憶部に記憶されたデータを所定のタイミングでデータベースに格納させるデータ管理制御部と、第１記憶部に記憶されているデータから次回のアプリケーション機能の起動に必要なアプリケーション起動情報を生成する演算部と、アプリケーション起動情報を記憶する第２記憶部と、を有することを特徴とする。
【００１７】
また、上記アプリケーション起動情報は、ネットワークを通じて接続可能なユーザ端末がアプリケーション機能に関連した所定のアプリケーションプログラムの起動に必要なアプリケーション起動情報として用いられ、上記情報処理装置がユーザ端末からの上記所定のアプリケーションプログラムの起動要求に応答して、アプリケーション起動情報をユーザ端末に提供する制御部をさらに有するように構成することができる。
【００１８】
また、アプリケーション起動情報を用いた起動処理からユーザ端末からの上記起動要求までの間にアプリケーション機能を通じて生成又は入力される情報であって、アプリケーション起動情報に含まれるデータが更新されているか否かを判別する判別部をさらに有し、上記制御部が、上記更新されたデータに基づく起動差分情報をユーザ端末に提供するように構成することができる。
【００１９】
また、上記演算部が、アプリケーション起動情報をファイル形式で生成するように構成することができる。
【００２０】
本発明の他の側面としての情報処理システムは、所定のアプリケーション機能を実現するアプリケーションプログラムを実行するとともに、アプリケーション機能で使用されるデータをデータベースで管理する情報処理装置を備えた情報処理システムであって、上記情報処理装置を、アプリケーション機能の起動から終了までのデータを第１記憶部に記憶させ、該第１記憶部に記憶されたデータを所定のタイミングでデータベースに格納させるデータ管理制御部を共通して備える複数の情報処理装置で構成し、該複数の情報処理装置のうち少なくとも１つの情報処理装置が、第１記憶部に記憶されているデータから次回のアプリケーション機能の起動に必要なアプリケーション起動情報を生成する演算部を有し、かつ複数の各情報処理装置が、アプリケーション起動情報を記憶する第２記憶部を有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、データベースを参照せずにアプリケーション起動情報を用いてアプリケーション機能を起動させることが可能となり、アプリケーション機能が実際に使用可能となるまでの起動時間を短くすることができる。
【００２２】
また、本発明は、データベースを参照せずにアプリケーションプログラムを実行させてアプリケーション機能を起動することができる。したがって、データベースに障害等が発生した場合であっても、円滑にアプリケーション機能を起動させてシステム全体を好適に維持することが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態を詳細に説明する。
【００２４】
（第１実施形態）
図１は、本発明の情報処理装置が適用された証券システムの構成図であり、本実施形態の証券システムは、証券取引所（例えば、東京証券取引所、大阪証券取引所等）が保有する取引所サーバ４００と、注文者端末３００（ユーザ端末）と、取引所サーバ４００と注文者端末３００との間でユーザに所定の証券取引機能を提供するアプリケーションサーバ（情報処理装置）１００と、データベースサーバ２００とで構成されている。
【００２５】
アプリケーションサーバ１００は、取引所サーバ４００及び注文者端末３００と専用の通信回線網を介して接続可能に構成され、取引所サーバ４００及び注文者端末３００から送信される約定情報や注文情報等を受信し、所定の証券取引処理を遂行する。なお、アプリケーションサーバ１００は、東京証券取引所、大阪証券取引所等の各取引所が有する複数の取引所サーバ４００に接続可能である。また、複数の注文者端末３００と接続可能であり、複数の注文者との間で証券取引処理を遂行することができる。
【００２６】
図１に示すように、本実施形態のアプリケーションサーバ１００は、取引所サーバ４００との間の通信制御を行う第１通信制御部１１０Ａ、注文者端末３００に証券取引のアプリケーション機能を提供するとともに、該アプリケーション機能を制御するアプリケーション制御部１２０、注文者端末３００との間の通信制御を行う第２通信制御部１１０Ｂ、アプリケーションサーバ１００でのアプリケーション機能の起動から終了までに処理されたデータを記憶する記憶部１３０（請求項１の第１記憶部）、後述するアプリケーション起動情報を生成する起動情報生成部１４０（請求項１の演算部）、生成されたアプリケーション起動情報を記憶する起動ファイル記憶部１５０（請求項１の第２記憶部）、及び各部の全体の制御を担う制御部（ＣＰＵ）１６０を含む。また、記憶部１３０及び起動ファイル記憶部１５０は、ＳＲＡＭやＤＲＡＭ等の揮発性又はフラッシュEEPROM等の不揮発性半導体メモリ等のデータの読み書き及び消去可能な記憶部として構成されている。
【００２７】
本実施形態の証券システムのアプリケーションサーバ１００は、取引所サーバ４００から株式銘柄情報（株式名、出来高、始値、高値、安値、取引価格等）を受信して注文者端末３００に提供し、注文者端末３００からの注文情報（注文銘柄、注文価格、注文数、注文方式（指値注文、成り行き注文、IFDone注文等の注文条件情報））を受信して取引所サーバ４００に送信する。その後、アプリケーションサーバ１００は、取引所サーバ４００から約定情報（注文者の買い付け注文又は売り付け注文に対して株式の売買が成立した約定銘柄（株式名）、約定価格、約定数）を受信し、注文者端末３００に提供する。
【００２８】
そして、本実施形態のアプリケーションサーバ１００（アプリケーション制御部１２０）は、注文者端末３００が証券取引を遂行するための全てのデータを管理し、注文者端末３００に対して、証券取引のためのアプリケーション機能（注文機能、ポジション管理機能、約定後処理機能、コンプライアンス管理機能）を提供する。
【００２９】
これらのアプリケーション機能は、アプリケーションサーバ１００が所定のアプリケーションプログラムを実行することにより実現され、また、注文者端末３００においても、このアプリケーションサーバ１００が提供するアプリケーション機能に関連する所定のアプリケーションプログラムを実行させ、当該アプリケーションサーバ１００が提供するアプリケーション機能を通じた証券取引を遂行することができる。
【００３０】
つまり、本実施形態の証券システムは、アプリケーションサーバ１００で実行される第１アプリケーションプログラム（サーバ側アプリケーション機能）と、注文者端末３００側で実行される第２アプリケーションプログラム（クライアント側アプリケーション機能）とが、アプリケーションサーバ１００及び注文者端末３００の各々設けられ、注文者端末３００は、第２アプリケーションプログラムを実行し、アプリケーションサーバ１００が提供するアプリケーション機能を利用するためのクライアント側アプリケーション機能を起動させ、証券取引やポジション管理等を遂行することができる。
【００３１】
そして、アプリケーション制御部１２０は、データ管理制御部１２１を含み、データ管理制御部１２１によりデータベースサーバ２００との間のデータ入出力及びデータベースの制御を遂行する。また、データ管理制御部１２１は、記憶部１３０へのデータの入出力を管理する。なお、図示していないが、アプリケーション制御部１２０は、注文機能制御部、ポジション管理機能制御部、約定後処理機能制御部、コンプライアンス管理機能制御部の各制御部として機能することができる。
【００３２】
また、アプリケーションサーバ１００（データ管理制御部１２１）は、本実施形態の証券システムのアプリケーション機能を通じて入力又は生成されたデータをデータベースサーバ２００で管理するが、アプリケーションサーバ１００側でのアプリケーション機能の起動から終了までの間、すなわち、アプリケーションサーバ１００がアプリケーションプログラムを実行し、アプリケーション機能を注文者端末３００に提供可能な状態に起動してから注文者端末３００へのアプリケーション機能の提供を終了するまでの間のアプリケーション機能で生成又は入力された全データは、一旦、記憶部１３０に記憶される。そして、非同期（記憶部１３０に記憶された時点とデータベースに同データが格納される時点とが異なるタイミング）で記憶部１３０に記憶されたデータのうち、所定のデータをデータベースサーバ２００に格納する。
【００３３】
その後、アプリケーションサーバ１００（アプリケーション制御部１２０）は、注文者端末３００へのアプリケーション機能の提供を終了した後、所定のスケジュールに従い、記憶部１３０に記憶されているデータをデータベースサーバ２００へ格納・更新したり、データチェック等を行う終了処理（例えば、バッチ処理）を遂行し、アプリケーションサーバ１００でのアプリケーション機能を終了させる。また、この終了処理において、データベースサーバ２００に格納後、次回のアプリケーション機能の起動（提供）に備え、記憶部１３０に記憶されているデータは、消去される。つまり、本実施形態の記憶部１３０は、アプリケーション機能の起動から終了までの当日分の全取引情報が一時的に記憶され、後述するアプリケーション起動情報が生成された後に、次回のアプリケーション機能の提供に備えて記憶されているデータが消去される。
【００３４】
本実施形態の起動情報生成部１４０は、注文者端末３００へのアプリケーション機能の提供を終了した後、終了処理に連動して、又は終了処理と独立して翌日のアプリケーション起動に必要なアプリケーション起動情報を生成する。具体的には、アプリケーションサーバ１００は、アプリケーションプログラムを実行してアプリケーション機能を提供可能な状態に起動するためのアプリケーション起動情報を生成する。
【００３５】
図２は、本実施形態のアプリケーション起動情報を説明するための説明図であり、上述のように、データ管理制御部１２０は、アプリケーション機能を注文者端末３００に提供可能な状態に起動してから注文者端末３００へのアプリケーション機能の提供を終了するまでの間のアプリケーション機能で生成又は入力された全データを、一旦、記憶部１３０に記憶する。記憶部１３０には、その日（当日）の各注文者の取引情報（銘柄情報、ポジション情報、注文・約定情報、注文者が設定した設定情報（システム設定情報））が記憶されており、注文者の最新の取引情報が記憶される。ポジション情報とは、各注文者の証券の持ち高であり、売買単価と売り／買い数量が含まれた証券（銘柄）を買い越している額或いは売り越している額である。注文・約定情報とは、注文者が証券取引を開始してから終了するまでの間に注文者が注文した当日の注文情報（注文銘柄、注文価格、注文数等）と該注文情報に対して売買が成立した約定情報（買い付け注文又は売り付け注文に対して株式の売買が成立した約定銘柄（株式名）、約定価格、約定数）とが関連付けられた情報であり、当日の証券取引の履歴情報である。また、設定情報とは、例えば、本実施形態の証券システムを介した全ての取引におけるコンプライアンス管理のために設定される注文制限情報等であり、システム全体でなく注文者毎に個別に設定することもできる。
【００３６】
証券システムのように、日々変化する注文者の取引情報は、取引を行う際に常に最新であることが必要であり、次回（翌日）の取引を開始する際、注文者は前日までの最新のデータを前提に取引を遂行する。このため、最新のデータが反映されていなければ、アプリケーションプログラムを実行しても、アプリケーション機能を注文者端末３００に提供可能な状態に起動させることはできず、アプリケーション機能を提供可能な状態に起動させることが必要となる。より具体的に説明すると、注文者は、証券取引を開始する際、最新の注文者の取引情報（ポジション情報等）を基準に証券取引を行い、かつアプリケーションサーバ１００は、証券取引のためのアプリケーション機能（注文機能、ポジション管理機能、約定後処理機能、コンプライアンス管理機能）を、この前日までの最新の取引情報に基づいて遂行する。
【００３７】
この最新の取引情報は、上述のように最終的にデータ管理制御部１２０により終了処理においてデータベースサーバ２００に反映されるため、従来技術では、アプリケーション機能の起動の際、データベースから各注文者の最新の取引情報を抽出し、アプリケーション機能を提供可能な状態に起動させていたが、本実施形態では、起動情報生成部１４０が、この記憶部１３０に記憶された最新の取引情報を用い、翌日のアプリケーション機能を注文者端末３００に提供可能な状態に起動するためのアプリケーション起動情報を生成し、データベースサーバ２００とは異なる起動ファイル記憶部１５０に格納する。具体的には、起動情報生成部１４０は、終了処理時に記憶部１３０に記憶されている現時点の最新の取引情報から各注文者の銘柄情報、ポジション情報、システム設定情報を含む情報を抽出する。すなわち、図２に示すように、記憶部１３０には、その日一日分の注文者が取引を遂行した履歴情報である注文・約定情報と、この注文・約定情報に基づいた現時点での最終的な（最新の）銘柄情報、ポジション情報、システム設定情報が記憶されているので、終了処理時に記憶部１３０に記憶されているこれらの取引情報は、次回の証券取引に引き継がれる初期情報として使用されることができる。このため、記憶部１３０に記憶されている最終的な各注文者の銘柄情報、ポジション情報、システム設定情報からアプリケーション起動情報を生成する。なお、アプリケーション起動情報には、記憶部１３０に格納された注文・約定情報は含まれていない。注文・約定情報は、当日分（アプリケーション機能の起動から終了まで）の証券取引の履歴情報であり、翌日のアプリケーション機能の起動には必要ないためである。なお、データベースサーバ２００には、この注文・約定情報は、例えば、日単位で履歴情報として格納される。
【００３８】
また、起動情報生成部１４０は、アプリケーション起動情報をファイル形式で生成する。例えば、一人の注文者に紐付く銘柄情報、ポジション情報、システム設定情報がデータベース構造のように複数のテーブルに分散して保持されるのではなく、１つのファイルにまとまって記憶される。なお、起動情報生成部１４０は、注文者が複数あれば、各注文者に対する複数のファイルを生成し、これらをアプリケーション起動情報として起動ファイル記憶部１５０に記憶させる。
【００３９】
図３は、本実施形態のアプリケーションサーバ１００が、アプリケーション起動情報を生成する過程を示したフローチャートである。
【００４０】
アプリケーションサーバ１００のアプリケーション制御部１２０は、注文者端末３００へのアプリケーション機能の提供を終了した後、所定のスケジュールに従って終了処理を遂行する（ステップＳ３０１）。起動情報生成部１４０は、この終了処理を契機にアプリケーション機能を注文者端末３００に提供可能な状態に起動してから注文者端末３００へのアプリケーション機能の提供を終了するまでの間のアプリケーション機能で生成又は入力された全データが記憶されている記憶部１３０を参照する（ステップＳ３０２）。
【００４１】
そして、起動情報生成部１４０は、記憶部１３０に記憶されている現時点での最新の取引情報を取得し、翌日のアプリケーション機能を注文者端末３００に提供可能な状態に起動するためのアプリケーション起動情報をファイル形式で生成し（ステップＳ３０３）、生成したアプリケーション起動情報をデータベースサーバ２００ではなく起動ファイル記憶部１５０に記憶する。
【００４２】
なお、図３の例では、起動情報生成部１４０は、アプリケーション制御部１２０による終了処理と連動してアプリケーション起動情報を生成しているが、これに限らず、注文者端末３００へのアプリケーション機能の提供を終了した後、終了処理が遂行される前にアプリケーション起動情報を生成することも可能であり、また、終了処理が終了した後にアプリケーション起動情報を生成することも可能である。すなわち、注文者端末３００へのアプリケーション機能の提供を終了した後、記憶部１３０に最新の取引情報が記憶された状態であれば、任意のタイミングで生成処理を遂行できる。また、データ管理制御部１２１は、アプリケーション起動情報の生成処理及びデータベースサーバ２００へのデータ格納処理の終了後に、次回のアプリケーション機能の起動及び提供のために記憶部１３０に格納されている取引情報を消去する。
【００４３】
次に、図４は、本実施形態のアプリケーションサーバ１００が、アプリケーションプログラムを実行してアプリケーション機能を注文者端末３００に提供可能な状態に起動する過程を示したフローチャートである。
【００４４】
まず、制御部（ＣＰＵ）１６０は、所定のスケジュール等に従い、若しくはシステム管理者等の起動要求に応答して、記憶部１３０と異なる別途の記憶部に所定のアプリケーションプログラムを読み出し（ステップＳ４０１）、当該アプリケーションプログラムを実行する。アプリケーション制御部１２０は、起動ファイル記憶部１５０からアプリケーション起動情報を取得し（ステップＳ４０２）、記憶部１３０に展開（キャッシュ）する（ステップＳ４０３）。そして、アプリケーション制御部１２０は、記憶部１３０にキャッシュされたアプリケーション起動情報を用いて、アプリケーション機能を注文者端末３００に提供可能な状態に起動する（ステップＳ４０４）。
【００４５】
このように本実施形態のアプリケーションサーバ１００は、アプリケーション機能を起動させる際に、データベース（データベースサーバ２００）を参照して起動に必要な情報を取得せずに、別途の起動ファイル記憶部１５０に記憶されているアプリケーション起動情報を用いて短時間でアプリケーション機能を注文者端末３００に提供可能な状態に起動させることが可能となる。このため、証券システム全体の起動時間を短くすることができ、利用者に迅速なアプリケーション機能の提供を行うことが可能となる。
【００４６】
また、本実施形態では、アプリケーション起動情報をファイル形式で生成しているため、起動ファイル記憶部１５０からの読み出し及び記憶部１３０への展開が素早くでき、アプリケーション機能の起動時間を短時間で行うことができる。
【００４７】
より具体的に説明すると、例えば、各注文者の銘柄情報及びポジション情報をリレーショナルデータベースで保持する場合であって、銘柄名と証券コードとが関連付けられた第１テーブルと、注文者の注文者名、注文者コード、その他個人情報等を保持する第２テーブルと、注文者コードに関連付けられた各証券コードのポジション情報（売買単価、売り／買い数量等）を保持する第３テーブルとで構成されているケースにおいて、一人の注文者の最新の銘柄情報及びポジション情報（アプリケーション起動情報）を抽出する場合、第２テーブルを参照して注文者コードを取得し、取得した注文者コードをキーに、第３テーブルを参照して各銘柄のポジション情報を取得するとともに、各証券コードに紐付く銘柄名を第１テーブルから取得する。このようにデータベース構造でデータを管理する場合、各情報が分散して配置されることから、各テーブルのレコード件数が大量（例えば、数十万件、数百万件）に存在する場合、抽出対象のデータの特定及び各テーブルから紐付く情報を各々取得するために要する時間が長くなり、注文者が多数いる場合には、さらに時間を要することになる。
【００４８】
これに対して、本実施形態では、データベースで証券システムに伴う全データを管理していても、ＳＲＡＭやＤＲＡＭ等の揮発性又はフラッシュEEPROM等の不揮発性半導体メモリ等で構成された記憶部１３０に格納された当日分の全取引情報からアプリケーション起動情報を生成（取得）するとともに、ファイル形式で生成されたアプリケーション起動情報を起動ファイル記憶部１５０に記憶している。このため、アプリケーションサーバ１００は、アプリケーション機能の起動において、データベースサーバ２００を参照せずにファイル形式で起動ファイル記憶部１５０に記憶されているアプリケーション起動情報を参照する。このため、アプリケーション起動情報の生成時間が短縮され、かつアプリケーション起動時間を短縮することができる。
【００４９】
特に、本実施形態のアプリケーションサーバ１００は、アプリケーション起動時にデータベースを参照しないため、データベースに障害等が発生した場合であっても、円滑にアプリケーション機能を起動させてシステム全体を好適に維持することが可能となる（システムの耐障害性が向上する）。
【００５０】
さらに、本実施形態のアプリケーション起動情報は、注文者端末３００における所定のアプリケーション機能を起動させるための起動情報として適用される。すなわち、アプリケーションサーバ１００と注文者端末３００との間で、同期された情報での証券取引処理を遂行する必要がある。このため、上述のように注文者端末３００は、アプリケーションサーバ１００が提供するアプリケーション機能に関連する所定のアプリケーションプログラムを実行し、当該アプリケーションサーバ１００が提供するアプリケーション機能を利用するためのクライアントアプリケーション機能を起動させる。
【００５１】
クライアントアプリケーション機能を起動させる際に、注文者端末３００は、アプリケーションサーバ１００の起動ファイル記憶部１５０を参照して（アプリケーション起動情報を取得して）クライアントアプリケーション機能を起動させる。
【００５２】
図５は、注文者端末３００の構成ブロック図であり、注文者端末３００は、アプリケーションサーバ１００との間の通信制御を行う通信制御部３１０と、アプリケーションプログラムを実行してクライアントアプリケーション機能を起動させるとともに、当該クライアントアプリケーション機能を制御するアプリケーション制御部３２０と、アプリケーションプログラム、アプリケーション起動情報等が展開される記憶部３３０と、ディスプレイ等の表示部３４０と、キーボードやポインティングデバイス等の操作入力部３５０と、制御部（ＣＰＵ）３６０と、を備えている。
【００５３】
図６は、注文者端末３００がアプリケーションプログラムを実行してクライアントアプリケーション機能を起動させる過程を示したフローチャートである。なお、この注文者端末３００でのクライアントアプリケーション機能の起動は、アプリケーションサーバ１００がアプリケーション機能を当該注文者端末３００に提供可能な状態に起動された後に行われる。
【００５４】
注文者端末３００の制御部３６０は、注文者からの起動要求に応答してアプリケーションプログラムを記憶部３３０に読み出し、アプリケーションプログラムを実行する（ステップＳ６０１）。アプリケーション制御部３２０は、クライアントアプリケーション機能を起動させるために、アプリケーションサーバ１００にアプリケーション起動要求を送信する（ステップＳ６０２）。
【００５５】
アプリケーションサーバ１００は、注文者端末３００からアプリケーション起動要求を受信すると、アプリケーション制御部１２０が、起動ファイル記憶部１５０からアプリケーション起動情報を取得し、該アプリケーション起動情報を注文者端末３００に送信する（ステップＳ６０１Ａ、６０２Ａ）。
【００５６】
注文者端末３００のアプリケーション制御部３２０は、受信したアプリケーション起動情報を記憶部３３０にキャッシュし（ステップＳ６０３）、該アプリケーション起動情報を用いて、クライアントアプリケーション機能を起動させる（ステップ６０４）。
【００５７】
また、アプリケーションサーバ１００のアプリケーション制御部１２０は、アプリケーション起動情報を用いた起動処理（図４参照）から注文者端末３００からのアプリケーション起動要求までの間に、アプリケーション機能を通じて生成又は入力される情報であって、アプリケーション起動情報に含まれるデータが更新（追加、削除、修正等）されているか否かを判別する。なお、この判別処理は、アプリケーション制御部１２０の判別部１２２により遂行される。
【００５８】
この判別処理は、アプリケーションサーバ１００が複数の注文者端末３００と接続され、各注文者端末３００に証券取引のアプリケーション機能を提供するため、アプリケーションサーバ１００のアプリケーション機能の起動処理から注文者端末３００からのアプリケーション起動要求までの間に、他の注文者端末が取引処理等を行った場合、アプリケーション起動情報と現時点での最新の取引情報とに差分が生じることになる。
【００５９】
図７（ａ）に示すように、アプリケーションサーバ１００が、アプリケーション機能を起動し、午前９時に注文者端末３００にアプリケーション機能を提供可能な状態である場合に、第１注文者端末３００が午前１０時にクライアントアプリケーション機能を起動させると、アプリケーション起動情報には、午前９時から午前１０までに他の第２注文者端末で行われた証券取引により更新された情報は、含まれないことになる。このため、アプリケーション起動情報を用いてクライアントアプリケーション機能を起動させても、最新のデータが反映されたアプリケーション機能の利用ができない。
【００６０】
このような現象は、複数の注文者端末３００が同じデータを共有してアプリケーション機能を利用する場合に発生する。例えば、複数の注文者端末３００の一方が証券取引を遂行しており、他方がクライアントアプリケーション機能を起動していない場合に、他方の注文者端末３００が起動する際に参照するアプリケーション起動情報には、一方の注文者端末３００が他方の注文者端末３００が起動するまでに取引したデータが含まれない。このため、図７（ｂ）に示すように、アプリケーション起動情報が展開され、その日の最新の取引情報か記憶された記憶部１３０から、起動差分情報を抽出して他の注文者端末３００に提供する。
【００６１】
具体的には、アプリケーションサーバ１００は、アプリケーション起動情報を記憶部１３０に展開してアプリケーション機能を起動するので、起動時の記憶部１３０には、各注文者の最新の銘柄情報、ポジション情報、システム設定情報が記憶される。そして、実際に注文者端末３００との間で証券取引処理が遂行されると、データ管理制御部１２１は、注文者端末３００からの注文情報及び取引所サーバ４００からの約定情報に基づく注文・約定情報と、この注文・約定情報に基づく最新の銘柄情報及びポジション情報を記憶部１３０に記憶する。すなわち、注文者によって取引が開始される前の状態では、注文者から当日の注文を受けていないので、注文・約定情報が存在しない。図７（ｂ）に示すように、アプリケーション起動情報は、注文・約定情報を保持しておらず、記憶部１３０に格納されている取引情報は、アプリケーション機能の起動から現時点までの取引に基づく注文・約定情報を保持し、かつ取引情報の銘柄情報、ポジション情報は、アプリケーション起動情報が保持する銘柄情報、ポジション情報に対してアプリケーション機能の起動から現時点までの注文・約定情報に基づいて追加、更新、削除等された最新のデータ（アプリケーション起動情報が保持する銘柄情報、ポジション情報と異なるデータ）となる。
【００６２】
そこで、本実施形態では、記憶部１３０が保持する注文・約定情報を用いて、アプリケーション起動情報に含まれる銘柄情報、ポジション情報及びシステム情報と現時点における最新の取引情報との差分を起動差分情報として生成する。具体的には、アプリケーション制御部１２０は、記憶部１３０の注文・約定情報の取引履歴、すなわち、注文情報及び約定情報と、起動ファイル記憶部１５０に記憶されているアプリケーション起動情報の銘柄情報及びポジション情報との間の各注文者及び各銘柄毎の各差分（差分銘柄情報、差分ポジション情報）を算出し、算出された各差分を起動差分情報として注文者端末３００に提供する。
【００６３】
なお、起動差分情報のみならず、記憶部１３０の注文・約定情報を注文者端末３００に提供することも可能である。つまり、差分が発生する要因となった注文・約定情報を取引履歴情報として注文者端末３００に提供することで、証券取引を円滑に遂行させることができる。この場合、起動差分情報を差分情報と注文・約定情報とで構成し、注文者端末３００に提供することができる。なお、システム設定情報も同様に、起動差分情報に含まれて、注文者端末３００に提供される。
【００６４】
したがって、図６に示すように、アプリケーション起動情報を注文者端末３００に提供した後に、又は提供する際に、判別部１２２は、記憶部１３０に展開された最新の取引情報を参照して、アプリケーション起動情報に含まれる更新されたデータがあるか否かを判別する（ステップＳ６０３Ａ）。具体的には、記憶部１３０の銘柄情報又はポジション情報とアプリケーション起動情報の銘柄情報又はポジション情報とを比較して、相違がある場合に更新されたデータがあると判別することができる。また、アプリケーション情報に含まれない記憶部１３０の注文・約定情報に現時点までの取引履歴があるか否か、注文・約定情報に含まれる約定情報に当日分の約定情報が含まれているか否か等によって、記憶部１３０とアプリケーション起動情報との間に差分が生じていると判別することができる。そして、更新されたデータが有ると判別した場合に、アプリケーション制御部１２０が、記憶部１３０から注文・約定情報を取得し、アプリケーション起動情報に含まれる銘柄情報、ポジション情報及びシステム情報と現時点における最新の取引情報との差分を起動差分情報として生成する（ステップＳ６０４Ａ）。その後、注文者端末３００に生成した起動差分情報を提供する（ステップＳ６０５Ａ）。なお、記憶部１３０に記憶されている注文・約定情報から銘柄情報やポジション情報の差分を生成して注文者端末３００に提供しているが、例えば、記憶部１３０の注文・約定情報をそのまま注文者端末３００に提供し、注文者端末３００側でアプリケーション起動情報との間の差分を算出するように構成することも可能である。
【００６５】
このように本実施形態のアプリケーションサーバ１００は、アプリケーション機能の提供を受ける注文者端末３００側でのクライアントアプリケーション機能を短時間で遂行させることができる。
【００６６】
さらに、注文者端末３００とアプリケーションサーバ１００との間で同じアプリケーション起動情報を共有してアプリケーション機能の起動処理を行う場合であっても、注文者端末３００に起動差分情報を提供するため、注文者端末３００は、他の注文者端末３００及びアプリケーションサーバ１００と同期された取引処理を開始することが可能となる。
【００６７】
以上、上記実施形態では、１つのアプリケーションサーバ１００が設けられた証券システムを例示しているが、図８に示すように、証券システムの冗長化のために、機能が共通するアプリケーションサーバ１００を複数設けた証券システムであっても、本発明のアプリケーション起動方法を適用することが可能である。この場合、各アプリケーションサーバ１００Ａ、１００Ｂが、第１通信制御部１１０Ａ、アプリケーション制御部１２０、第２通信制御部１１０Ｂ、記憶部１３０、起動ファイル記憶部１５０、及び制御部（ＣＰＵ）１６０を含むように構成されるが、起動情報生成部１４０は、アプリケーションサーバ１００Ａ、１００Ｂの少なくとも一方が有していればよい。
【００６８】
また、上記実施形態では、証券システムを一例に説明しているが、例えば、顧客管理システム等の大量のデータをデータベースで管理し、複数のユーザ端末間で管理されるデータを共有して使用するシステムに適用することができる。
【００６９】
また、上記実施形態のアプリケーションサーバ１００は、記憶部１３０に記憶された最新の取引情報を用いてアプリケーション起動情報を生成しているが、アプリケーションサーバ１００の終了処理後に、最新の取引情報が反映されたデータベースサーバ２００を参照して、アプリケーション起動情報を生成することも可能である。
【００７０】
すなわち、起動情報生成部１４０が、記憶部１３０ではなく、終了処理後のデータベースサーバ２００を参照して現時点での最新の取引情報を取得し、翌日のアプリケーション機能を注文者端末３００に提供可能な状態に起動するためのアプリケーション起動情報をファイル形式で生成し、生成したアプリケーション起動情報を起動ファイル記憶部１５０に記憶するように構成することができる。このような構成であっても、アプリケーションサーバ１００及び注文者端末３００は、アプリケーション機能の起動の際に、データベースサーバ２００を参照しないで、起動ファイル記憶部１５０に格納されたアプリケーション起動情報を参照するので、上記実施形態と同様の作用効果を得ることができる。
【００７１】
また、本発明のアプリケーションサーバとしての情報処理装置は、ハードウェア構成として上述以外にも、液晶ディスプレイ等の表示装置、キーボード、マウス、タッチパネル、スキャナー等の操作入力手段、プリンタ、スピーカなどの出力手段、主記憶装置（メモリ）、補助記憶装置（ハードディスク等）等を備えることができる。
【００７２】
また、本発明のアプリケーション起動方法は、コンピュータに実行可能なプログラムとして提供することも可能であり、当該プログラムがインストールされたコンピュータは、本発明の情報処理装置として動作することが可能である。例えば、不図示の補助記憶装置に当該プログラムが格納され、ＣＰＵ等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された制御部が該プログラムを実行し、コンピュータを本発明の情報処理装置として動作させることができる。
【００７３】
また、アプリケーション起動プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、コンピュータに提供することも可能であり、インターネット等のネットワークを通じてコンピュータにダウンロードすることも可能である。コンピュータ読取可能な記録媒体としては、ＣＤ−ＲＯＭ等の光ディスク、ＤＶＤ−ＲＯＭ等の相変化型光ディスク、ＭＯ（Magnet Optical）やＭＤ(Mini Disk)などの光磁気ディスク、フロッピー（登録商標）ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路（ICチップ等）等のハードウェア装置も記録媒体として含まれる。
【００７４】
なお、本発明を好適な実施形態に則して説明したが、本発明の要旨から逸脱しない範囲内で当該技術分野の技術に照らし合わせて多様に変形することが可能である。したがって、本発明の技術的範囲は、上述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１実施形態におけるアプリケーションサーバを備えたシステム構成図である。
【図２】本発明の第１実施形態におけるアプリケーション起動情報の一例を示す図である。
【図３】本発明の第１実施形態におけるアプリケーションサーバのアプリケーション起動情報の生成処理を説明するフローチャートである。
【図４】本発明の第１実施形態におけるアプリケーションサーバでのアプリケーション起動処理を説明するフローチャートである。
【図５】本発明の第１実施形態における注文者端末の構成ブロック図である。
【図６】本発明の第１実施形態におけるアプリケーションサーバ−注文者端末間の処理フロー及び注文者端末でのアプリケーションプログラム起動方法の処理フローを示したフローチャートである。
【図７】本発明の第１実施形態における起動差分情報を説明するための模式図である。
【図８】本発明の変形例を示す図である。
【図９】従来のアプリケーションサーバの起動方法を示すフローチャートである。
【符号の説明】
【００７６】
１００    アプリケーションサーバ（情報処理装置）
１１０Ａ  第１通信制御部
１１０Ｂ  第２通信制御部
１２０    アプリケーション制御部
１２１    データ管理制御部
１２２    判別部
１３０    記憶部（第１記憶部）
１４０    起動情報生成部
１５０    起動ファイル記憶部（第２記憶部）
２００    データベースサーバ
３００    注文者端末
３１０    通信制御部
３２０    アプリケーション制御部
３３０    記憶部３３０
３４０    表示部
３５０    入力部
３６０    制御部（ＣＰＵ）
【図１】
0005085406.tif 000002
【図２】
0005085406.tif 000003
【図３】
0005085406.tif 000004
【図４】
0005085406.tif 000005
【図５】
0005085406.tif 000006
【図６】
0005085406.tif 000007
【図７】
0005085406.tif 000008
【図８】
0005085406.tif 000009
【図９】
0005085406.tif 000010