(57)【特許請求の範囲】
【請求項１】
データを発信する少なくとも一つのフィードサーバーと、前記フィードサーバーからのデータを受信して、それらをデータベースの形で蓄積してデータベースサーバーとして機能する少なくとも一つの蓄積サーバーとを有し、
前記フィードサーバーは、データ入力手段と、前記データ入力手段によって入力されたデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成する自己記述コード付加手段と、前記自己記述型データを送信可能な通信手段とを有し、
前記蓄積サーバーは、受信すべきデータと蓄積すべきデータベースの構成を設定する環境設定手段と、前記フィードサーバーから前記自己記述型データを受信可能な通信手段と、前記通信手段が受信した自己記述型データをその自己記述コードにより取捨選択し、データ構造を解析し、データベース管理上の必要な改変を行い、前記データベースに蓄積するデータ蓄積手段と、前記データベースを管理するデータベース管理手段とを有する、ことを特徴とする自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項２】
前記蓄積サーバーには、要求により前記蓄積サーバーが蓄積したデータベースから必要なデータを取得して所定のデータ処理を行う少なくとも一つのアプリケーション手段が接続されており、
前記蓄積サーバーと前記アプリケーション手段は所定の目的のためのクライアントサーバーシステムを構築していることを特徴とする請求項１に記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項３】
前記蓄積サーバーは、前記アプリケーション手段が要求したデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成して出力する自己記述コード付加手段を有し、
前記アプリケーション手段は、前記蓄積サーバーから入力した自己記述型データをその自己記述コードにより必要なデータの実体部分を抽出し、必要に応じてデータ処理可能な形式に変換してデータ処理に付すデータ抽出変換手段を有することを特徴とする請求項２に記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項４】
前記フィードサーバーの自己記述コード付加手段は、データＩＤまたはデータ型またはデータ繰返し数の異なる複数種類のデータをまとめて１データブロックとし、そのデータブロックに含まれる各種類のデータのそれぞれのデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを前記データブロックに付加することを特徴とする請求項１に記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項５】
前記蓄積サーバーの自己記述コード付加手段は、データＩＤまたはデータ型またはデータ繰返し数の異なる複数種類のデータをまとめて１データブロックとし、そのデータブロックに含まれる各種類のデータのそれぞれのデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを前記データブロックに付加することを特徴とする請求項３に記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項６】
前記蓄積サーバーのデータ蓄積手段は、前記自己記述型データの自己記述コードをインデックスとして利用してインデックス順アクセス法（ＩＳＡＭ）によるデータベースにデータを蓄積することを特徴とする請求項１ないし３にいずれかに記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項７】
前記蓄積サーバーのデータ蓄積手段は、前記自己記述型データからその自己記述コードによりデータの実体部分を抽出してリレーショナルデータベース（ＲＤＢ）にデータを蓄積することを特徴とする請求項１ないし３のいずれかに記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項８】
前記蓄積サーバーのデータ蓄積手段は、古いデータを更新して新しいデータを蓄積する直近断面型データベースにデータを蓄積することを特徴とする請求項１ないし３のいずれかに記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項９】
前記蓄積サーバーのデータ蓄積手段は、古いデータに追加して新しいデータを蓄積する時系列型データベースにデータを蓄積することを特徴とする請求項１ないし３のいずれかに記載の自己記述型データを提供および利用するクライアントサーバーシステム。
【請求項１０】
データを発信する少なくとも一つのフィードサーバーと、前記フィードサーバーから必要なデータを取得して所定のデータ処理を行う少なくとも一つのアプリケーション手段とを有し、
前記フィードサーバーは、データ入力手段と、前記データ入力手段によって入力されたデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成する自己記述コード付加手段と、前記自己記述型データを送信可能な通信手段とを有し、
前記アプリケーション手段は、前記フィードサーバーから前記自己記述型データを受信可能な通信手段と、前記通信手段が受信した自己記述型データをその自己記述コードにより必要なデータの実体部分を抽出し、必要に応じてデータ処理可能な形式に変換してデータ処理に付すデータ抽出変換手段とを有することを特徴とする自己記述型データを提供および利用するクライアントサーバーシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、継続的に発生する情報を発信するフィードサーバーと、その情報を受信してデータベースとして蓄積する蓄積サーバーと、前記フィードサーバーあるいは蓄積サーバーから情報を受信して特定のデータ処理を行うアプリケーション手段とを含むクライアントサーバーシステムに係り、特に、発信する情報の種類、あるいは発信するフィードサーバー自体の相違に関わらず、蓄積サーバーやアプリケーション手段が自律的に必要な情報を取得して蓄積処理できるようにしたクライアントサーバーに関する。
【０００２】
【従来の技術】
今日の情報通信技術の発達により、複数の情報処理装置を通信ネットワークで接続し、一つの情報処理装置から継続的に情報を他の情報処理装置に送信することが広く行われている。例えば、証券取引や証券金融の世界では、時々刻々に発生する金融情報を処理するために、多数の情報処理装置が証券会社や証券取引所に設置され、それらの情報処理装置を通信ネットワークによって接続し、情報の送受信と利用とを行っている。同様に、ニュースの配信の分野では、複数の通信社に情報処理装置が設置され、それらが通信ネットワークによって接続され、所定のニュースソース（通信社）が通信ネットワークに発信したニュースを他の通信社が受信し、編集して報道するシステムが利用されている。
【０００３】
これらのシステムは、情報を継続的に提供するサーバーと、これらの情報をそれぞれの必要に応じて取得して利用するクライアントとからなるクライアントサーバーシステムとして捉えることができる。このクライアントサーバーシステムは、サーバー側から継続的に提供される情報と、クライアント側で必要な情報を随時取得してデータ処理を行うことに特徴が見られので、以下に情報を継続的に提供および利用するクライアントサーバーシステムと呼ぶことにする。なお、理解容易のために、具体的な例では上記金融情報を送受信および処理利用するクライアントサーバーシステム（以降、単に金融情報クライアントサーバーシステムという）を例に説明するが、本発明を金融情報クライアントサーバーシステムに限る趣旨ではない。
【０００４】
金融情報クライアントサーバーシステムにおいては、金融情報を発信する情報処理装置は、不定期かつ継続的に発生する金融情報を提供するサービスを行うサーバーとして機能し、このような情報を継続的に提供するサーバーを本明細書において「フィードサーバー」と呼ぶことにする。また、前記金融情報を受信してデータベースとして蓄積するサーバーは、一般的にフィードサーバーからのデータを受信して蓄積するので、本明細書において「蓄積サーバー」と呼ぶことにする。前記蓄積サーバーには必要により複数の情報処理装置が接続され、用途によりそれぞれ特定のデータ処理を行う。前記用途とは、金融情報のシステムでは種々の証券アナリシスなどがその例である。これらの情報処理装置は、本明細書では「アプリケーション手段」と呼ぶことにする。
【０００５】
フィードサーバーと蓄積サーバーは、情報の提供とデータベースへの蓄積という関係でクライアントサーバーシステムを構成している。一方、蓄積サーバーとアプリケーション手段は、アプリケーション手段の要求に応じてデータベース内のデータを提供する関係でクライアントサーバーシステムを構成している。
【０００６】
金融情報クライアントサーバーシステムでは、フィードサーバーは、所定の情報源（以下、データソースという）、例えば東京証券取引所や大阪証券取引所や所定の証券会社の店頭銘柄から株価や債券の額面時価等の情報を得て、リアルタイムでデータとして蓄積サーバーに送信する。蓄積サーバーは、所定のフィードサーバーからデータを受信し、データベースに蓄積し、アプリケーション手段に対してデータベースサーバーとして要求されたデータを提供する。アプリケーション手段は、蓄積サーバーから得たデータを用いて、例えば株価の推移と予想、集計、ファンドの利益率の計算等の処理を行うのである。
【０００７】
従来の金融情報クライアントサーバーシステムでは、フィードサーバーと蓄積サーバー、あるいは蓄積サーバーとアプリケーション手段は、送受信および処理をするデータの種類ごとに、個別にクライアントサーバーシステムの関係を形成していた。
【０００８】
たとえば、東京取引所の株価情報を提供および利用するクライアントサーバーシステムと、店頭銘柄の株価情報を提供および利用するクライアントサーバーシステムは、別個独立であった。同様に、例えば株券、債券、転換社債、外国証券などに関する金融情報クライアントサーバーシステムなどもそれぞれ別個独立に存在していた。
【０００９】
これは、上記例の東京取引所の株価情報と店頭銘柄の株価情報のデータの型が異なるからである。ここで、データの型は、桁数、数値データあるいは文字データ、浮動小数点等のいわゆるデータフォーマット（データ形式）の他に、データ構造体の構造も含む意である。データ構造体とは、例えば、株価情報を、価格データと時間データとを組み合わせて構成したもののように、所定の取決めによって特定のデータを組み合わせたものをいう。
【００１０】
金融情報の既存のデータソースは、それぞれ独自のデータの型によって金融情報を提供している。このため、従来の金融情報クライアントサーバーシステムは、各データソースのデータを有効に利用できるように、各データソースのデータの型に合わせて、たとえば東京取引所の株価情報を提供および利用するクライアントサーバーシステムと、店頭銘柄の株価情報を提供および利用するクライアントサーバーシステムは、個別に特定のフィードサーバーと蓄積サーバー間でクライアントサーバー関係を形成し、独自の構成のデータベースにデータを蓄積していた。また、この関係で、アプリケーション手段も、データを取得する蓄積サーバーに応じて特有のデータ処理を行っていた。
【００１１】
このようにデータ型に応じた独自の処理を行うということは、金融情報クライアントサーバーシステムに限られず、上述した情報を継続的に提供および利用するクライアントサーバーシステムにおいて普遍的であった。
【００１２】
【発明が解決しようとする課題】
しかしながら、データ型に応じたクライアントサーバー関係を形成するということは、プログラムやデータ処理を複雑化するばかりでなく、上述した情報を継続的に提供および利用するシステムの効用を大幅に制限するものであった。
【００１３】
従来の情報を継続的に提供および利用するクライアントサーバーシステムでは、サーバーとクライアントに応じてそれぞれに適したプログラムを作成していたため、同一の通信ネットワークを利用するシステムでも、複雑なプログラム構成が存在していた。このようなシステムでは、サーバーやクライアントの追加、削減、配置変更等のシステム構成の変化に対応するのが困難であった。これは、データの送受信の相手やデータの処理方法が、特定のものだったためである。例えば１個のサーバーの配置を変更する場合でも、従来のシステムでは関連するクライアントのプログラムをすべて変更する必要があった。大規模なシステムでは、この作業は大変な労力を要することは説明するまでもない。
【００１４】
また、情報の有効活用の面でも、従来のシステムでは、柔軟さに欠け、十分であるとは言えなかった。言葉を変えれば、情報の追加、変更が容易ではなかった。
【００１５】
つまり、従来のシステムでは、利用できるデータは、クライアントが利用を予定しているものに限られていた。このため、ある目的のための情報処理に有効と思われる情報を随時取り込むことができなかった。
【００１６】
例えば、それまでデータソースとなっていなかったデータソースからの情報を追加的にそのクライアントサーバーシステムに加えるためには、それを利用するすべてのクライアントのプログラムを改変する必要があった。
【００１７】
このことの延長として、従来の情報を継続的に提供および利用するクライアントサーバーシステムでは、必要に応じて情報の種類を自由に改変あるいは追加して流せる柔軟さに欠けていた。
【００１８】
また、従来のシステムでは、あるフィードサーバーから提供される情報は、それを受取る蓄積サーバーとの関係では一対一の関係でデータ送受信を行っていたが、フィードサーバー側ではブロードキャスト的に不特定多数の蓄積サーバーに情報を送信し、蓄積サーバー側では必要に応じて各自が必要とするデータを蓄積するシステムの実現が待たれていた。
【００１９】
そこで、本発明の解決しようとする課題は、上記従来技術の問題点に鑑み、システム構成等のハードウェアの変更と、提供・利用する情報の変更とを簡単に行え、任意の種類の情報を混在的に提供および利用することができる汎用的なクライアントサーバーシステムを提供することにある。
【００２０】
【課題を解決するための手段】
本願請求項１に係る自己記述型データを提供および利用するクライアントサーバーシステムは、
データを発信する少なくとも一つのフィードサーバーと、前記フィードサーバーからのデータを受信して、それらをデータベースの形で蓄積してデータベースサーバーとして機能する少なくとも一つの蓄積サーバーとを有し、
前記フィードサーバーは、データ入力手段と、前記データ入力手段によって入力されたデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成する自己記述コード付加手段と、前記自己記述型データを送信可能な通信手段とを有し、
前記蓄積サーバーは、受信すべきデータと蓄積すべきデータベースの構成を設定する環境設定手段と、前記フィードサーバーから前記自己記述型データを受信可能な通信手段と、前記通信手段が受信した自己記述型データをその自己記述コードにより取捨選択し、データ構造を解析し、データベース管理上の必要な改変を行い、前記データベースに蓄積するデータ蓄積手段と、前記データベースを管理するデータベース管理手段とを有する、ことを特徴とするものである。
【００２１】
本願請求項２に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１に係るシステムにおいて、
前記蓄積サーバーには、要求により前記蓄積サーバーが蓄積したデータベースから必要なデータを取得して所定のデータ処理を行う少なくとも一つのアプリケーション手段が接続されており、
前記蓄積サーバーと前記アプリケーション手段は所定の目的のためのクライアントサーバーシステムを構築していることを特徴とするものである。
【００２２】
本願請求項３に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項２に係るシステムにおいて、
前記蓄積サーバーは、前記アプリケーション手段が要求したデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成して出力する自己記述コード付加手段を有し、
前記アプリケーション手段は、前記蓄積サーバーから入力した自己記述型データをその自己記述コードにより必要なデータの実体部分を抽出し、必要に応じてデータ処理可能な形式に変換してデータ処理を行うことを特徴とするものである。
【００２３】
本願請求項４に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１に係るシステムにおいて、
前記フィードサーバーの自己記述コード付加手段は、データＩＤまたはデータ型またはデータ繰返し数の異なる複数種類のデータをまとめて１データブロックとし、そのデータブロックに含まれる各種類のデータのそれぞれのデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを前記データブロックに付加することを特徴とするものである。
【００２４】
本願請求項５に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項３に係るシステムにおいて、
前記蓄積サーバーの自己記述コード付加手段は、データＩＤまたはデータ型またはデータ繰返し数の異なる複数種類のデータをまとめて１データブロックとし、そのデータブロックに含まれる各種類のデータのそれぞれのデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを前記データブロックに付加することを特徴とするものである。
【００２５】
本願請求項６に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１ないし３にいずれかに係るシステムにおいて、
前記蓄積サーバーのデータ蓄積手段は、前記自己記述型データの自己記述コードをインデックスとして利用してインデックス順アクセス法（ＩＳＡＭ）によるデータベースにデータを蓄積することを特徴とするものである。
【００２６】
本願請求項７に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１ないし３にいずれかに係るシステムにおいて、
前記蓄積サーバーのデータ蓄積手段は、前記自己記述型データからその自己記述コードによりデータの実体部分を抽出してリレーショナルデータベース（ＲＤＢ）にデータを蓄積することを特徴とするものである。
【００２７】
本願請求項８に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１ないし３にいずれかに係るシステムにおいて、
前記蓄積サーバーのデータ蓄積手段は、古いデータを更新して新しいデータを蓄積する直近断面型データベースにデータを蓄積することを特徴とするものである。
【００２８】
本願請求項９に係る自己記述型データを提供および利用するクライアントサーバーシステムは、請求項１ないし３にいずれかに係るシステムにおいて、
前記蓄積サーバーのデータ蓄積手段は、古いデータに追加して新しいデータを蓄積する時系列型データベースにデータを蓄積することを特徴とするものである。
【００２９】
本願請求項１０に係る自己記述型データを提供および利用するクライアントサーバーシステムは、
データを発信する少なくとも一つのフィードサーバーと、前記フィードサーバーから必要なデータを取得して所定のデータ処理を行う少なくとも一つのアプリケーション手段とを有し、
前記フィードサーバーは、データ入力手段と、前記データ入力手段によって入力されたデータの実体部分にデータＩＤとデータ型とデータ繰返し数とオフセットとを含む自己記述コードを付加して自己記述型データを作成する自己記述コード付加手段と、前記自己記述型データを送信可能な通信手段とを有し、
前記アプリケーション手段は、前記フィードサーバーから前記自己記述型データを受信可能な通信手段と、前記通信手段が受信した自己記述型データをその自己記述コードにより必要なデータの実体部分を抽出し、必要に応じてデータ処理可能な形式に変換してデータ処理に付すデータ抽出変換手段とを有することを特徴とするものである。
【００３０】
【発明の実施の形態】
以下に、本発明の実施の形態について願書に添付した図面を用いて説明する。
図１に本発明のクライアントサーバーシステムの一実施態様によるハードウェア構成を示す。
このクライアントサーバーシステム１は、情報を継続的に提供および利用するクライアントサーバーシステムであり、本実施形態では金融情報クライアントサーバーシステム１として機能するものとする。なお、金融情報に限られず、不定時にかつ継続的に発生する情報を提供及び利用するシステムあれば任意の情報でよいことは上述した通りである。
【００３１】
図１に示すように、本実施形態の金融情報クライアントサーバーシステム１は、フィードサーバーＦ（Ｆ1 ，Ｆ2 ，…，Ｆn ）と、蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）と、前記各蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）に接続されたアプリケーション手段ＡＰ（図１の例では蓄積サーバーＳ1 に接続されたアプリケーション手段ＡＰ１a ，ＡＰ１b ，ＡＰ１c のみを示す）と、前記フィードサーバーＦと蓄積サーバーＳとを接続する通信ネットワークＮとからなる。
【００３２】
また、本システムを直接構成するものではないが、フィードサーバーＦ1 ，Ｆ2 ，…，Ｆn は、データソースＤ（Ｄ1 ，Ｄ2 ，…，Ｄn ）に接続されている。
【００３３】
上記データソースＤ（Ｄ1 ，Ｄ2 ，…，Ｄn ）は、本システムで提供・利用される金融情報の発生源であり、例えば、東京証券取引所、大阪証券取引所、店頭市場が該当する。情報としては、例えば東京証券取引所の各銘柄の現在値、終値、始値、出来高等である。
【００３４】
データソースＤは、情報が発生する場であり、上記証券取引所の例では情報をデータとして提供するサービスをも行っている。前記データソースＤが提供するデータは、データソースＤ（東京証券取引所、大阪証券取引所、店頭市場等）によりそれぞれ特有のデータフォーマットやデータ型を有している。
【００３５】
上記フィードサーバーＦ（Ｆ1 ，Ｆ2 ，…，Ｆn ）は、上記データソースＤ（Ｄ1 ，Ｄ2 ，…，Ｄn ）から情報を入力して、それらの情報を継続的にデータとして通信ネットワークＮに接続された蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）に発信するサーバーである。
【００３６】
本発明によるクライアントサーバーシステムでは、後述するように、フィードサーバーＦ（Ｆ1 ，Ｆ2 ，…，Ｆn ）はデータの内容や型等を記述した自己記述コードを発信データに付加して発信する。この自己記述コードの存在により、好ましくは送信相手（蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）等）を特定しないブロードキャスティング方式により送信する。この場合、特定のデータを特定の蓄積サーバーＳに送信するのではなく、様々なデータが不特定多数の蓄積サーバーＳに発信され、必要なデータの取得とその利用はそれを受信する蓄積サーバーＳ側の作用によることになる。この方法による情報システムの利点は後述する。
【００３７】
上記蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）は、フィードサーバーＦ（Ｆ1 ，Ｆ2 ，…，Ｆn ）が発信したデータを受信し、必要なデータをデータベースの形で蓄積してデータベースサーバーとして機能するサーバーである。蓄積サーバーＳの例としては、例えば上記金融情報クライアントサーバーシステムにおいて、各証券会社に設置され、外部の金融情報を収集し、社内の情報分析のアプリケーション手段に対して必要なデータを提供する情報処理装置（サーバー）が挙げられる。なお、データベースサーバーとは、データベースの形でデータを記憶し、クライアントの要求に応じて必要なデータを提供するサーバーをいう。
【００３８】
上記アプリケーション手段ＡＰは、上記蓄積サーバーＳ（Ｓ1 ，Ｓ2 ，…，Ｓm ）からデータを取得し、特定の目的のためのデータ処理を行う情報処理装置である。上記金融情報クライアントサーバーシステムにおける各証券会社で証券分析等を行う情報処理装置等がその一例である。
【００３９】
上記通信ネットワークＮは、フィードサーバーＦと蓄積サーバーＳとを接続する通信回線の集合体である。この通信ネットワークＮは、２つの情報処理装置を結ぶ通信回線の集合体と、ＬＡＮのように共通の通信回線に多数の情報処理装置が接続され、同期的にデータを送受すたものの双方を含むものである。
【００４０】
以上が本実施形態の金融情報クライアントサーバーシステム１のハードウェア構成である。ここで、言及しておくべきことは、物理的なハードウェア構成という意味では、上述した金融情報クライアントサーバーシステム１は、従来の金融情報クライアントサーバーシステムと異なることがない。すなわち、フィードサーバーＦと蓄積サーバーＳとアプリケーション手段ＡＰと通信ネットワークＮは、従来の金融情報クライアントサーバーシステムにもあった。しかし、本発明によるクライアントサーバーシステムのフィードサーバーＦと蓄積サーバーＳとアプリケーション手段ＡＰは、特有の形式のデータ（自己記述型データ）を送受信し、システムの構成装置がその特有の形式のデータ処理を行うようにソフトウェアプログラムによって制御されている。このため、動作を含めた情報処理手段としては従来のシステムの各情報処理装置と相違する。
【００４１】
この本発明のシステムにおけるデータ処理とそのための各情報処理手段について以下に説明する。
【００４２】
図２に上記フィードサーバーＦの構成とその構成手段間の処理の流れを示す。
図２に示すように、フィードサーバーＦは、データ入力手段ｆ1 と、自己記述コード付加手段ｆ2 と、通信手段ｆ3 とを有している。この他に省略しているが、蓄積サーバーＳは、情報処理装置として一般的に備えられている処理装置、記憶装置、入出力手段等の諸装置を必要に応じて備えている。
【００４３】
フィードサーバーＦのデータ入力手段ｆ1 は、データソースＤからデータを入力する手段である。データ入力手段ｆ1 は、データソースＤからデータを入力する手段である限り任意の公知の手段を含み、例えば、キーボード、ポインティングディバイス、通信手段、さらにはデータ記憶媒体のデータ読取り装置などを含む。
【００４４】
フィードサーバーＦの自己記述コード付加手段ｆ2 は、データ入力手段ｆ1 からデータ（実体部分）を入力し、そのデータの実体部分に自己記述コードを付加して出力する手段である。自己記述コードは、データ（実体部分）の内容や形式や位置等を示すコードであって、具体的には、データＩＤ、データ型、データ繰返し数、オフセットが含まれている。データＩＤ、データ型、データ繰返し数、オフセットについては、後にさらに詳細に説明する。
【００４５】
自己記述コード付加手段ｆ2 が出力するものは、データの実体部分に自己記述コードが付加されたものであって、これを本明細書では自己記述型データという。
【００４６】
フィードサーバーＦの通信手段ｆ3 は、自己記述コード付加手段ｆ2 から自己記述型データを入力し、これを所定の通信プロトコル、好ましくはマルチブロードキャスト方式に適した通信プロトコル（例えばＵＤＰ／ＩＰなど）により、通信ネットワークＮに接続された各蓄積サーバーＳに送信する。
【００４７】
次に上記フィードサーバーＦが送信したデータを受信し、データベースの形でデータを蓄積する蓄積サーバーＳについて説明する。
【００４８】
図３に上記蓄積サーバーＳの構成とその構成手段間の処理の流れを示す。
図３に示すように、蓄積サーバーＳは、通信手段ｓ1 と、データ蓄積手段ｓ2 と、環境設定手段ｓ3 と、データベースｓ4 ，ｓ5 と、データベース管理手段ｓ6 と、自己記述コード付加手段ｓ７とを有している。この他に省略しているが、蓄積サーバーＳは、情報処理装置として一般的に備えられている処理装置、記憶装置、入出力手段等の諸装置を必要に応じて備えている。
【００４９】
蓄積サーバーＳの通信手段ｓ1 は、通信ネットワークＮを介して前述したフィードサーバーＦから自己記述型データを受信可能な手段である。この通信手段ｓ1 は、後述するアプリケーション手段ＡＰとのデータの送受信にも使用される。
【００５０】
蓄積サーバーＳのデータ蓄積手段ｓ2 は、上記通信手段ｓ1 から、それが受信した自己記述型データを入力し、これをその自己記述コードにより蓄積するか否かの取捨選択をし、蓄積するデータについてはデータ構造を解析し、データベース管理上の必要な改変を行い、データベースｓ4 ，ｓ5 に蓄積する手段である。データを蓄積する詳細な処理については後述する。
【００５１】
蓄積サーバーＳのデータベースｓ4 ，ｓ5 は、データを蓄積すべき場所（ハードウェア上の記憶装置とソフトウェア上のデータの集合の双方を含む意である）であり、本実施形態では２つある場合を示しているが、その数は任意である。
【００５２】
また、データベースｓ4 ，ｓ5 は、後述する索引順アクセス法（ISAM: Indexed Sequential Access Method）によるデータベース、あるいはリレーショナル形式のデータベースを含む任意の形式のデータベースとすることができる。データ形式の面で言えば、データベースｓ4 ，ｓ5 は、データの実体部分からなるデータベースでも、自己記述コードを含めたデータからなるデータベースでもよい。さらに、古いデータを更新して新しいデータを蓄積する直近断面型データベースや、古いデータに追加して新しいデータを蓄積する時系列型データベースのいずれでもよい。これらのデータベースの種類、蓄積するデータのフォーマットを含めて、本明細書ではデータベースの構成ということにする。
【００５３】
蓄積サーバーＳの環境設定手段ｓ3 は、上記通信手段ｓ1 が受信し、データ蓄積手段ｓ2 が蓄積すべきデータ、及びデータベースｓ4 ，ｓ5 の構成を設定する手段である。
【００５４】
受信および蓄積すべきデータの設定は、自己記述コードのデータＩＤを指定することにより実現することができる。また、上記索引順アクセス法によるデータベースとするか、リレーショナル形式のデータベースとするか、直近断面型データベースとするか、時系列型データベースとするか等は、データ蓄積手段ｓ2 により、データ蓄積開始前に設定される。
【００５５】
蓄積サーバーＳのデータベース管理手段ｓ6 は、アプリケーション手段ＡＰとのインターフェイスをなし、データベースｓ4 ，ｓ5 からデータを検索等する手段である。
【００５６】
蓄積サーバーＳの自己記述コード付加手段ｓ７は、データベース管理手段ｓ6 がデータベースｓ4 ，ｓ5 から取り出したデータがデータの実体部分である場合に、そのデータの実体部分に自己記述コードを付してアプリケーション手段ＡＰに出力するための手段である。
【００５７】
以上が蓄積サーバーＳの構成と構成手段間のデータ処理であったが、次に上記蓄積サーバーＳに対して必要なデータを要求し、証券アナリシス等の特定の目的のための処理を行うアプリケーション手段ＡＰについて説明する。
【００５８】
図４に上記アプリケーション手段ＡＰの構成とその構成手段間の処理の流れを示す。
図４に示すように、アプリケーション手段ＡＰは、通信手段ａｐ1 と、データ抽出変換手段ａｐ2 とを有している。この他に省略しているが、アプリケーション手段ＡＰは、情報処理装置として一般的に備えられている処理装置、記憶装置、入出力手段等を備えている。
【００５９】
アプリケーション手段ＡＰの通信手段ａｐ1 は、蓄積サーバーＳ、場合によりフィードサーバーＦに対して直接データを要求し、要求したデータを受信する手段である。
【００６０】
アプリケーション手段ＡＰのデータ抽出変換手段ａｐ2 は、上記通信手段ａｐ1 が入力した自己記述型データをその自己記述コードにより必要なデータの実体部分を抽出し、必要に応じてデータ処理可能な形式に変換してデータ処理に付す手段である。なお、データ抽出変換手段ａｐ2 は、実体部分のみからなるデータを入力した時に、実体部分のみからなるデータであることを認識し、データ処理プログラムの入力データ部分にデータをセットする処理も行うものとする。
【００６１】
上記金融情報クライアントサーバーシステム１によれば、自己記述型データの送受信と、その自己記述コードによるデータ解析により、任意のデータソースＤのデータを任意の蓄積サーバーＳあるいはアプリケーション手段ＡＰが蓄積利用することができる。このことを次に説明する。
【００６２】
なお、図１に示した金融情報クライアントサーバーシステム１では、各蓄積サーバーＳにアプリケーション手段ＡＰが接続された構成であったが、アプリケーション手段ＡＰを除くフィードサーバーＦと蓄積サーバーＳと通信ネットワークＮとからなるクライアントサーバーシステムも商業上成立する。この場合、蓄積サーバーＳは、汎用的なデータベースを提供するデータベースサーバーとして機能し、外部のコンピュータの要求に応じてデータを提供する。また、図１の金融情報クライアントサーバーシステム１では、各アプリケーション手段ＡＰは、蓄積サーバーＳに接続しているが、アプリケーション手段ＡＰは、通信ネットワークＮに接続されてデータを直接取得するようにしてもよい。この場合、アプリケーション手段ＡＰは、自己記述コードの存在により、自己記述型データを解析し、データの実体部分を直接取得することができる。
【００６３】
図５に自己記述型データの構造を示す。
ここで、理解を容易にするため用語を定義する。自己記述型データは全体としてデータであるが、その内部にアイテムと、データとを含む。データは、情報の最小のかたまりである。例えば、金融情報システムにおける所定の銘柄の現在値、始値、終値等のデータである。データ（実体）というときは、同一種類の最小単位のデータが複数繰返されるデータのかたまりをいうことがあるものとする。
【００６４】
アイテムは、複数のデータとキーの集合である。キーは、そのアイテムに属するデータを概念的にくくるデータである。キーの例としては、金融情報システムにおける所定の銘柄の現在値、始値、終値の「銘柄」などが該当する。
【００６５】
図５に示すように、自己記述型データは、自己記述コードとデータの実体部分とからなる。自己記述コードは、アイテムヘッダ部（アイテム１〜ｎのヘッダ部）とアイテムヘッダ部の個数を示す値ｎとからなる。各アイテムヘッダ部は、キーヘッダとデータヘッダとからなる。
【００６６】
自己記述型データのデータの実体部分は、アイテム実体部（アイテム１〜ｎの実体部）からなる。アイテムヘッダ部とアイテム実体部は一対一対応している。
アイテムヘッダ部は、さらにキーヘッダとデータヘッダとからなる。キーヘッダとデータヘッダは基本的には共通の構造を有している。
【００６７】
キーヘッダの構造は、図５に示すように、アイテムＩＤとデータ型とアイテムヘッダの数とキー（実体）へのオフセットとからなる。キーヘッダのアイテムＩＤは、本願特許請求の範囲でいうデータＩＤに該当し、この場合はキーアイテムを表わすＩＤ、すなわちキー（実体）に対応するコードが入力される。キーヘッダのデータ型は、キー（実体）が文字列データか数値データか、何バイトか等を示す情報が入力される。キーヘッダのアイテムヘッダの数は、本願特許請求の範囲でいうデータ繰返し数に該当し、この場合はそのアイテムヘッダ部に含まれるデータヘッダの数が入力される。キー（実体）へのオフセットは、そのキーヘッダから対応するキー（実体）までの距離を示す情報が入力される。
【００６８】
一方、データヘッダの構造は、図５に示すように、アイテムＩＤとデータ型とデータ配列数とデータ（実体）へのオフセットとからなる。データヘッダのアイテムＩＤは、所定銘柄の株価の現在値、始値、終値等のデータの種類を示すコードであり、本願特許請求の範囲でいうデータＩＤに該当する。つまり、アイテムＩＤには、データ（実体）に対応するコードが入力される。データヘッダのデータ型は、データ（実体）が文字列データか数値データか、数値データである場合のフロート（浮動小数点）の数、何バイトか等のデータフォーマットに関する情報の他、データ構造体に関する情報も含む。ここで、データ構造体とは、例えば、所定の銘柄の株価の現在値がある。株価の現在値は、その株価を示す数値と取引時刻が組み合わされている。株価データと取引時刻データはデータ構造体のメンバーと呼ばれ、データ構造体は複数のメンバーを含むデータということができる。データヘッダのデータ配列数は、本願特許請求の範囲でいうデータ繰返し数に該当し、この場合はデータ（実体）中の最小単位のデータの繰返し数が入力される。データへのオフセットは、そのデータヘッダから対応するデータ（実体）までの距離を示す情報が入力される。
【００６９】
上述した構造の自己記述コードにより、自己記述型データを受信した蓄積サーバーＳやアプリケーション手段ＡＰは、自分が必要なデータのみを取得することができる。すなわち、蓄積サーバーＳやアプリケーション手段ＡＰは、キーヘッダあるいはデータヘッダのデータＩＤにより、その自己記述型データに含まれるデータ（実体）の内容や種類を判断することができる。この判断により、蓄積サーバーＳやアプリケーション手段ＡＰは、必要なデータを判別し、さらにオフセットにより必要なデータ（実体）のみを取得することができる。
【００７０】
また、データを蓄積あるいは処理する場合は、自己記述コード中にデータ型の情報があるので、データの蓄積あるいは処理をするプログラムの側で、データを処理可能なデータ型に変換する構成を設ければ、データソースＤのデータ型に関わらず、任意のデータを提供および利用することができる。蓄積サーバーＳのデータ蓄積手段ｓ2 や、アプリケーション手段ＡＰのデータ抽出変換手段ａｐ2 が、上記「データを処理可能なデータ型に変換する構成」に該当するのである。
【００７１】
最後に、蓄積サーバーＳにおける蓄積データの構成と蓄積のためのデータ蓄積手段の処理について説明する。
【００７２】
本発明では、上述したように、自己記述コードから最小単位のデータを取り出してデータベースに蓄積することができるため、蓄積サーバーＳが受信した自己記述型データを分解し、リレーショナルデータベースの各リストに格納し、データ間にリンクを張ることが可能である。しかし、自己記述コードを利用してISAM方式のデータベースとすることにより、処理の負荷を低減して、効率よいシステムを得ることができる。
【００７３】
図６にISAM方式のデータベースの蓄積データの構成を示す。
図６に示すように、この蓄積データは、ヘッダ部と実体部とを含む。
蓄積データのヘッダ部は、キー部、付加情報部、アイテムのヘッダ部とからなる。キー部はキー、レコードNo. 、予備データからなり、付加情報部はデータ長、予備データからなる。アイテムヘッダ部は自己記述コードのアイテムヘッダに時刻ヘッダが挿入されたものとなっている。
【００７４】
上記キー部のキーは、自己記述コードのキーヘッダのキーへのオフセットが示す位置からキーの実体をコピーしてセットしたものである。レコードNo. は、蓄積データを識別するための番号である。このキー部は、ISAM方式のインデックスとして使用される。
【００７５】
上記付加情報部のデータ長は、蓄積データの実体部中のデータ（実体）データ長を示している。
【００７６】
上記アイテムヘッダの時刻ヘッダは、データの蓄積時刻を示している。
【００７７】
蓄積データの実体部は、キー（実体）、時刻（実体）、データ（実体）とからなる。この蓄積データの実体部は自己記述型データのアイテム実体部に時刻（実体）が挿入されたものとなっている。時刻（実体）は、そのデータが意味を有する時点の時刻データである。例えば、株価の現在値のデータなら、その現在値の取引時刻が該当する。
【００７８】
上記蓄積データへの自己記述型データの改変は、データ蓄積手段ｓ2 によって行われる。
【００７９】
このように、自己記述型データの自己記述コードをわずかに改変することにより、改変したデータは、ISAM方式のデータベースの蓄積データとして蓄積することができる。また、この蓄積データは自己記述コードをほぼ完全な形で有しているので、そのままの形でアプリケーション手段ＡＰに送られた場合に、アプリケーション手段ＡＰのデータ抽出変換手段ａｐ2 によって、必要なデータを抽出変換することができる。すなわち、フィードサーバーＦで自己記述コードを付加した自己記述型データは、少ない処理負荷により、蓄積サーバーＳおよびアプリケーション手段ＡＰによって一貫して利用することができるのである。これにより、データの利用効率が高いクライアントサーバーシステムを得ることができる。
【００８０】
以上で、本発明による自己記述型データを提供および利用するクライアントサーバーシステムのデータ処理面からの説明を終了するが、実用面、すなわち利用の仕方により、本発明は従来なかったクライアントサーバーシステムを提供することができる。
【００８１】
すなわち、データを継続的に提供及び利用するクライアントサーバーシステムにおいて、システム構成、取扱うデータの種類が全く自由なクライアントサーバーシステムを実現することができる。
【００８２】
つまり、本発明によれば、フィードサーバーＦは、受信するサーバーやアプリケーション手段の処理プログラムやプラットフォームを意識することなく、任意のデータに自己記述コードを付して、システム構成を意識することもなくブロードキャスト通信によって情報を発信することができる。
【００８３】
また、蓄積サーバーＳは、種々のデータの中から自分が必要とするデータを利用することができる。
【００８４】
これにより、任意の情報が流通する情報システムを実現することができる。この情報システムは、システム構成が自由であるので、新たなデータソースＤや情報利用装置の参入、脱却も自由に行うことができる。しかも、この情報システムを利用する情報処理装置のオペレーションシステムプラットフォームも制限を受けない。これにより、情報分析に際し、必要なデータを自由に加味して分析することができ、自由で質の高い情報の利用を実現することができるのである。
【００８５】
【発明の効果】
このように、本発明による「自己記述型データを提供および利用するクライアントサーバーシステム」によれば、情報を継続的に提供および利用するシステムの効用を大幅に向上させることができる。
【００８６】
第一に、情報を利用する側の情報処理装置が、自己記述コードによりデータ構造を解析する手段を備えていることにより、提供及び利用するデータの型に依存しないシステムとすることができる。これにより、従来のように同一システム内に特定のデータ処理を行う特殊なプログラムの複雑な構成がなくなり、データ型と処理装置の直接的な結びつきがなくなる。このようなシステムでは、フィードサーバー、蓄積サーバー、クライアントの追加、削減、配置変更等のシステム構成の変化に自由に対応することができる。従来のシステムように、システム構成の変更があった場合に、大規模なプログラム変更をする必要がない。
【００８７】
第二に、情報の有効活用の面でも、極めて自由で質の高い情報の利用を実現することができる。すなわち、蓄積サーバーは種々の異なるデータソースからの情報を混在して蓄積でき、また、アプリケーション手段においても、ある目的のための情報処理に有効と思われる情報を随時取り込むことができるのである。
【００８８】
第三に、自己記述型データが、フィードサーバー、蓄積サーバー、クライアント間で一貫して利用できるので、システム全体の処理負荷を低減することができる。
【００８９】
第四に、通信効率上も、効率のよいシステムを得ることができる。従来のシステムでは、送受信するサーバーが一対一に特定されていたので、同一の情報を複数のサーバーに送信する場合は、複数回送信する必要があった。これは、システム全体の通信効率の面からは、効率が悪かった。これに対して、本発明のクライアントサーバーシステムによれば、フィードサーバーＦは、同一の情報を受信サーバーを特定することなく、同報通信できるので、システム全体の通信効率を向上させることができるのである。
【図面の簡単な説明】
【図１】本発明の自己記述型データを提供および利用するクライアントサーバーシステムの１実施形態によるシステム構成を示す図。
【図２】本発明のフィードサーバーの構成と構成手段間の処理の流れを示したブロック図。
【図３】本発明の蓄積サーバーの構成と構成手段間の処理の流れを示したブロック図。
【図４】本発明のアプリケーション手段の構成と構成手段間の処理の流れを示したブロック図。
【図５】本発明による自己記述型データの構成を示した図。
【図６】本発明のよるISAM方式のデータベースの蓄積データの構成を示した図。
【符号の説明】
１  金融情報クライアントサーバーシステム
Ｄ  データソース
Ｆ  フィードサーバー
Ｎ  通信ネットワーク
Ｓ  蓄積サーバーＳ
ＡＰ  アプリケーション手段
ｆ1   データ入力手段
ｆ2   自己記述コード付加手段
ｆ3   通信手段
ｓ1   通信手段
ｓ2   データ蓄積手段
ｓ3   環境設定手段
ｓ4   データベース
ｓ5   データベース
ｓ6   データベース管理手段
ｓ7   自己記述コード付加手段
ap1   通信手段
ap2   データ抽出変換手段
【図１】
0003638783.tif 000002
【図２】
0003638783.tif 000003
【図３】
0003638783.tif 000004
【図４】
0003638783.tif 000005
【図５】
0003638783.tif 000006
【図６】
0003638783.tif 000007