(57)【要約】【課題】  大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行することを可能にする。【解決手段】  サーバ装置１０ｉは、データを格納するためのストレージ２０ｉを含む。サーバ装置１０ｉは、コンピュータシステム１に含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信し、その所定の命令を受信した少なくとも１つのサーバ装置の中に、その所定の命令によって指定された所定の条件に合致するデータであって、サーバ装置１０ｉから参照可能なデータが存在する場合には、その所定の命令を受信した少なくとも１つのサーバ装置からサーバ装置１０ｉにデータが転送され、サーバ装置１０ｉは、サーバ装置１０ｉ内のストレージ２０ｉに転送されたデータを格納し、サーバ装置１０ｉ内のストレージ２０ｉに対してのみデータ検索を実行する。【選択図】  図１
2006293441.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムに含まれるサーバ装置であって、
該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、
該サーバ装置は、データを格納するためのストレージを含み、
該サーバ装置は、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信し、
該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データが転送され、
該サーバ装置は、該サーバ装置内の該ストレージに該転送されたデータを格納し、該サーバ装置内の該ストレージに対してのみデータ検索を実行する、サーバ装置。
【請求項２】
前記サーバ装置の前記ストレージに格納されている前記データごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限が付与されている、請求項１に記載のサーバ装置。
【請求項３】
前記アクセス権限の付与は、前記サーバ装置の前記ストレージに格納されている前記データに前記アクセス権限を示すアクセス権限情報を埋め込むことによってなされる、請求項２に記載のサーバ装置。
【請求項４】
前記サーバ装置の前記ストレージに格納されている前記データは、ＸＭＬ形式のデータであり、前記ＸＭＬ形式のデータは、既存のアプリケーションプログラムから出力されるＸＭＬ形式のデータから基本部分を抽出し、該抽出された基本部分に前記アクセス権限を示すアクセス権限情報を挿入することによって得られる、請求項２に記載のサーバ装置。
【請求項５】
コンピュータシステムに含まれるサーバ装置において実行されるプログラムであって、
該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、
該サーバ装置は、データを格納するためのストレージを含み、
該プログラムは、
該サーバ装置が、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信するステップと、
該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データを転送するステップと、
該サーバ装置が、該サーバ装置内の該ストレージに該転送されたデータを格納するステップと、
該サーバ装置が、該サーバ装置内の該ストレージに対してのみデータ検索を実行するステップと
を包含する、プログラム。
【請求項６】
請求項５に記載のプログラムを記録した記録媒体。
【請求項７】
ネットワークを介して相互に接続された複数のサーバ装置を備えたコンピュータシステムであって、
該複数のサーバ装置は、データを格納するためのストレージを含み、
該複数のサーバ装置のうちの特定のサーバ装置は、該複数のサーバ装置のうち該特定のサーバ装置以外のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信し、
該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該特定のサーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該特定のサーバ装置に該データが転送され、
該特定のサーバ装置は、該特定のサーバ装置内の該ストレージに該転送されたデータを格納し、該特定のサーバ装置内の該ストレージに対してのみデータ検索を実行する、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速なデータ検索を可能にするコンピュータシステム、そのコンピュータシステムに含まれるサーバ装置、そのサーバ装置において実行されるプログラムおよびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来のデータ検索システムでは、検索対象は、１つの大容量ストレージに予め格納されていた。検索サーバが端末装置からの検索要求を受け取ると、検索サーバが検索要求に従って大容量ストレージの中を検索し、その検索結果を端末装置に返信することによってデータ検索が行われていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述の従来のデータ検索システムでは、大容量ストレージが必要とされるため、検索サーバや大容量ストレージのコストが高い、データ検索時にネットワークが混雑していると検索要求を出してから検索結果を受け取るまでの応答時間が遅いという問題点があった。
【０００４】
このような大容量ストレージを必要としない従来のデータ検索システムとして、検索対象を複数の小容量ストレージに分散して格納しておくシステムが知られている。しかし、このような従来の分散型のデータ検索システムでは、データ検索時に複数の検索サーバ間での通信が必要とされるため、データ検索に時間がかかるという問題点があった。
【０００５】
本発明は、上述した問題点を解決するためになされたものであり、大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行することが可能なコンピュータシステム、サーバ装置、プログラムおよび記録媒体を提供することを目的とする。
【０００６】
さらに、本発明は、複数のサーバ装置間でのアクセス制限、サーバ装置のストレージに格納されたデータ単位でのアクセス制限という２段階のアクセス制限を実現することが可能なコンピュータシステム、サーバ装置、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のサーバ装置は、コンピュータシステムに含まれるサーバ装置であって、該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、該サーバ装置は、データを格納するためのストレージを含み、該サーバ装置は、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信し、該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データが転送され、該サーバ装置は、該サーバ装置内の該ストレージに該転送されたデータを格納し、該サーバ装置内の該ストレージに対してのみデータ検索を実行する。これにより、上記目的が達成される。
【０００８】
前記サーバ装置の前記ストレージに格納されている前記データごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限が付与されていることが好ましい。
【０００９】
前記アクセス権限の付与は、前記サーバ装置の前記ストレージに格納されている前記データに前記アクセス権限を示すアクセス権限情報を埋め込むことによってなされることが好ましい。
【００１０】
前記サーバ装置の前記ストレージに格納されている前記データは、ＸＭＬ形式のデータであり、前記ＸＭＬ形式のデータは、既存のアプリケーションプログラムから出力されるＸＭＬ形式のデータから基本部分を抽出し、該抽出された基本部分に前記アクセス権限を示すアクセス権限情報を挿入することによって得られることが好ましい。
【００１１】
本発明のプログラムは、コンピュータシステムに含まれるサーバ装置において実行されるプログラムであって、該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、該サーバ装置は、データを格納するためのストレージを含み、該プログラムは、該サーバ装置が、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信するステップと、該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データを転送するステップと、該サーバ装置が、該サーバ装置内の該ストレージに該転送されたデータを格納するステップと、該サーバ装置が、該サーバ装置内の該ストレージに対してのみデータ検索を実行するステップとを包含する。これにより、上記目的が達成される。
【００１２】
本発明の記録媒体は、上述したプログラムを記録した記録媒体である。これにより、上記目的が達成される。
【００１３】
本発明のコンピュータシステムは、ネットワークを介して相互に接続された複数のサーバ装置を備えたコンピュータシステムであって、該複数のサーバ装置は、データを格納するためのストレージを含み、該複数のサーバ装置のうちの特定のサーバ装置は、該複数のサーバ装置のうち該特定のサーバ装置以外のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の条件を指定した所定の命令を所定の時間ごとに送信し、該所定の命令を受信した少なくとも１つのサーバ装置の中に、該所定の命令によって指定された該所定の条件に合致するデータであって、該特定のサーバ装置から参照可能なデータが存在する場合には、該所定の命令を受信した少なくとも１つのサーバ装置から該特定のサーバ装置に該データが転送され、該特定のサーバ装置は、該特定のサーバ装置内の該ストレージに該転送されたデータを格納し、該特定のサーバ装置内の該ストレージに対してのみデータ検索を実行する。これにより、上記目的が達成される。
【発明の効果】
【００１４】
本発明によれば、大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行することが可能になる。
【００１５】
さらに、本発明によれば、複数のサーバ装置間でのアクセス制限、サーバ装置のストレージに格納されたデータ単位でのアクセス制限という２段階のアクセス制限を実現することが可能になる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１７】
１．コンピュータシステムの構成
図１は、本発明の実施の形態のコンピュータシステム１の構成の一例を示す。
【００１８】
コンピュータシステム１は、複数のサーバ装置１０１、１０２、・・・、１０Ｎを含む。ここで、Ｎは２以上の任意の整数である。
【００１９】
複数のサーバ装置１０１、１０２、・・・、１０Ｎは、ネットワーク１２を介して相互に接続されている。ネットワーク１２は、任意のタイプのネットワークであり得る。ネットワーク１２は、例えば、インターネットである。
【００２０】
各サーバ装置１０ｉは、内部バス１４ｉを介して少なくとも１つの端末装置１６ｉに接続されている。ここで、ｉ＝１、２、・・・、Ｎである。各サーバ装置１０ｉは、データを格納しておくためのストレージ２０ｉ（図１には示されていない。図３参照）を有している。各サーバ装置１０ｉは、少なくとも１つの端末装置１６ｉの１つから要求を受け取り、その要求に対応するタスクを実行し、その実行結果を端末装置１６ｉに返信するように構成されている。例えば、各サーバ装置１０ｉは、少なくとも１つの端末装置１６ｉの１つからデータ検索要求を受け取ると、ストレージ２０ｉの中を検索し、その検索結果を端末装置１６ｉに返信する。
【００２１】
以下、図２を参照して、各サーバ装置１０ｉの動作を説明する。
【００２２】
各サーバ装置１０ｉは、他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎに所定の条件を指定した所定の命令を所定の時間ごと（例えば、１０秒ごと）に送信する（ステップＳ２０１）。
【００２３】
サーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎの中に、所定の条件に合致するデータであって、サーバ装置１０ｉから参照可能なデータが存在する場合には、サーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎからサーバ装置１０ｉにそのデータが転送される（ステップＳ２０２）。
【００２４】
このようにして、サーバ装置１０ｉから送信された所定の命令によって指定された所定の条件に合致するデータであって、サーバ装置１０ｉから参照可能なデータは、上述したデータ転送動作によりサーバ装置１０ｉに集められる。
【００２５】
転送されたデータは、サーバ装置１０ｉの中のストレージ２０ｉに格納される（ステップＳ２０３）。これにより、サーバ装置１０ｉが所定の条件に合致するデータを必要とする時点では、そのデータがサーバ装置１０ｉ内のストレージ２０ｉに格納されていることになる。従って、データ検索は、サーバ装置１０ｉ内で実行すれば足り、データ検索時にネットワーク１２を介して他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎと通信を行うことは必要とされない。
【００２６】
サーバ装置１０ｉは、サーバ装置１０ｉ内のストレージ２０ｉに対してのみデータ検索を実行する（ステップＳ２０４）。その結果、ネットワーク１２の通信状態によらず、常に、データ検索を高速に実行することが可能になる。
【００２７】
さらに、上述したデータ転送動作によりサーバ装置１０ｉに集められるデータは、サーバ装置１０ｉから送信される所定の命令によって指定された所定の条件に合致するデータに限られる。従って、コンピュータシステム１内に膨大な数のデータが分散的に配置されている場合でも、サーバ装置１０ｉ内のストレージ２０ｉは、所定の命令によって指定された所定の条件に合致するデータを格納する容量を備えていれば足り、サーバ装置１０ｉから参照可能なすべてのデータをサーバ装置１０ｉ内のストレージ２０ｉに格納することは必要とされない。このため、コンピュータシステム１において大容量ストレージを管理運用する必要がない。
【００２８】
このように、コンピュータシステム１によれば、大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行することが可能な分散環境を実現することができる。
【００２９】
なお、サーバ装置１０ｉは、他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎのすべてに所定の条件を指定した所定の命令を送信することは必須ではない。サーバ装置１０ｉは、他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎのうち予め選択された少なくとも１つのサーバ装置に対してのみその所定の命令を送信するようにしてもよい。例えば、サーバ装置１０ｉがその所定の命令を送信することが可能な少なくとも１つのサーバ装置が予め決定されている場合には、サーバ装置１０ｉは、その予め決定されたサーバ装置に対してのみその所定の命令を送信するようにしてもよい。例えば、特定のサーバ装置の中のストレージにサーバ装置１０ｉから参照可能なデータが格納されていない場合には、その特定のサーバ装置をサーバ装置１０ｉがその所定の命令を送信する対象から除外することができる。このような所定の命令の選択的な送信は、例えば、サーバ装置１０ｉの中のストレージ２０ｉにサーバ装置１０ｉがその所定の命令を送信することが可能なサーバ装置のリストを格納しておき、サーバ装置１０ｉがその所定の命令を送信する前にそのリストを参照することによって達成される。
【００３０】
図３は、サーバ装置１０ｉの構成の一例を示す。
【００３１】
サーバ装置１０ｉは、データを格納するためのストレージ２０ｉと、プログラムを格納するためのメモリ２２ｉと、メモリ２２ｉに格納されているプログラムを実行するプロセッサ２４ｉと、端末装置１６ｉとの通信を制御する端末装置インタフェース２６ｉと、他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎとの通信を制御するサーバ装置インタフェース２８ｉとを含む。これらの構成要素は、内部バス２９ｉを介して相互接続されている。
【００３２】
図２に示されるサーバ装置１０ｉの動作は、例えば、プロセッサ２４ｉがメモリ２２ｉに格納されているプログラムを実行することによって達成される。そのプログラムは、サーバ装置１０ｉの製造時にメモリ２２ｉに内蔵するようにしてもよいし（例えば、メモリ２２ｉがＲＯＭである場合）、サーバ装置１０ｉの製造後にメモリ２２ｉにインストールするようにしてもよい（例えば、メモリ２２ｉがＲＡＭである場合）。
【００３３】
プログラムは、記録媒体に記録された形態で提供され得る。例えば、記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、フレキシブルディスクなどの任意のタイプの記録媒体であってよい。記録媒体に記録されたプログラムは、記録媒体にアクセスするドライブ装置（図示せず）を介してメモリ２２ｉにインストールされる。なお、インターネットなどのネットワークを介してダウンロードされたプログラムをメモリ２２ｉにインストールするようにしてもよい。
【００３４】
図４は、端末装置１６ｉの構成の一例を示す。
【００３５】
端末装置１６ｉは、ユーザに対する入出力を制御するユーザインタフェース３０ｉと、データを格納するためのメモリ３２ｉと、プログラムを格納するためのメモリ３４ｉと、メモリ３４ｉに格納されているプログラムを実行するプロセッサ３６ｉと、サーバ装置１０ｉとの通信を制御するサーバ装置インタフェース３８ｉとを含む。これらの構成要素は、内部バス３９ｉを介して相互接続されている。
【００３６】
ユーザインタフェース３０ｉは、ユーザからの入力を受け取る入力装置（例えば、キーボード、マウスなど）と、端末装置１６ｉにおける処理結果を出力する出力装置（例えば、ディスプレイ、プリンタなど）とに接続可能なように構成されている。
【００３７】
なお、メモリ３２ｉとメモリ３４ｉとを同一のメモリとしてインプリメントすることも可能である。
【００３８】
データのストレージ２０ｉへの格納形式は、任意の格納形式であり得る。例えば、データのストレージ２０ｉへの格納形式としてＸＭＬ（ｅＸｔｅｎｄａｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述された形式を採用することが好ましい。ここで、ＸＭＬは、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を包括するように拡張された言語であり、非常に高い汎用性を有する言語である。ＸＭＬはリンクと定義という２つの大きな機能を有している。リンクとは、他のファイルやシステムなどを呼び出すことができる機能であり、定義とはデータを定義することができる機能である。このデータ定義機能を用いてデータを定義することにより、異なるデータ形式を統一することができる。
【００３９】
ストレージ２０ｉは、任意のタイプのデータベースであり得る。例えば、ストレージ２０ｉに格納されるデータの形式がＸＭＬで記述された形式である場合には、ストレージ２０ｉは、ＸＭＬでのデータ検索に適したタイプのデータベース（例えば、ＳＱＬデータベース）であることが好ましい。
【００４０】
２．アクセス制限
本発明によるコンピュータシステム１は、少なくとも２つのレベルでアクセス制限を行うことが可能なように構成されている。これにより、分散環境におけるデータのセキュリティを向上させることができる。
【００４１】
第１のレベルでのアクセス制限は、サーバ装置１０ｉから所定の命令を送信することが可能な他のサーバ装置を制限することによって達成される。このような所定の命令を送信することの制限は、各サーバ装置ごとに設定され得る。このように、サーバ装置１０ｉから所定の命令を送信するサーバ装置を制限することにより、その所定の命令を受信したサーバ装置以外のサーバ装置からサーバ装置１０ｉにデータが転送されることがない。その結果、サーバ装置１０ｉは、その所定の命令を受信したサーバ装置以外のサーバ装置のデータを参照することができないことになる。例えば、東京本店の経理部のサーバ装置１０１は、各支店の経理部のサーバ装置に対してのみ所定の命令を送信することが可能であり、各支店の営業部のサーバ装置にはその所定の命令を送信することができないといった制限をかけることができる。これは、サーバ装置単位での、サーバ装置間のアクセス制限であるといえる。
【００４２】
第２のレベルでのアクセス制限は、サーバ装置１０ｉのストレージ２０ｉに格納されているデータごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限を付与することによって達成される。このように、サーバ装置１０ｉのストレージ２０ｉに格納されているデータごとにアクセス権限を付与しておくことにより、サーバ装置１０ｉが他のサーバ装置１０ｋから所定の命令を受信した場合において、サーバ装置１０ｉのストレージ２０ｉに格納されているデータのうち、その所定の命令に指定された所定の条件に合致し、かつ、サーバ装置１０ｋからのアクセスを許可されているデータのみがサーバ装置１０ｉからサーバ装置１０ｋに転送されることになる。これは、データ単位でのアクセス制限であるといえる。
【００４３】
３．アクセス権限の付与
上述した第２のレベルでのアクセス制限（すなわち、データ単位でのアクセス制限）は、データごとにアクセス権限を付与することによって実現される。そのようなデータごとのアクセス権限の付与は、例えば、そのデータの中にアクセス権限情報を埋め込むことによって達成される。例えば、ストレージ２０ｉに格納されているデータがＸＭＬで記述されている場合には、そのＸＭＬの所定の位置にアクセス権限情報を埋め込むことによってデータごとにアクセス権限を付与することができる。アクセス権限情報を埋め込む位置は、ＸＭＬの任意の位置であり得るが、例えば、ＸＭＬの先頭位置であってもよい。また、ＸＭＬに埋め込まれるアクセス権限情報は、例えば、＜Ａｃｔｎ＝１１１．６，２２２．９＞というように、アクセスされることを許可するサーバ装置に固有のＩＤを列挙することによって表現され得る。この例では、固有のＩＤ（１１１．６）を有するサーバ装置と固有のＩＤ（２２２．９）を有するサーバ装置に対してのみアクセスを許可するという意味である。
【００４４】
このようなアクセス権限の付与は、端末装置１６ｉにおいて実行されるクライアントプログラムと、サーバ装置１０ｉにおいて実行されるサーバプログラムとが協働することによって達成される。
【００４５】
図５Ａは、端末装置１６ｉにおいて実行されるクライアントプログラムの手順を示す。
【００４６】
このクライアントプログラムは、メモリ３４ｉ（図４）に格納されており、プロセッサ３６ｉ（図４）によって実行される。
【００４７】
ステップＳ４０１：ユーザからの「データ登録コマンド」を受け取る。
【００４８】
この「データ登録コマンド」は、端末装置１６ｉのユーザインタフェース３０ｉに接続される入力装置を介して端末装置１６ｉに入力されたものである。「データ登録コマンド」において、登録の対象となるデータが指定される。
【００４９】
ステップＳ４０２：「データ登録コマンド」に応答して、データ登録処理を実行する。
【００５０】
ここで、データ登録処理は、ＸＭＬ形式のデータを取得すること（ステップＳ４０３）と、そのＸＭＬ形式のデータに「フレーム」を追加すること（ステップＳ４０４）と、その「フレーム」が追加されたＸＭＬ形式のデータをサーバ装置１０ｉに転送し、サーバ装置１０ｉのストレージ２０ｉに格納すること（ステップＳ４０５）とを少なくとも含む。
【００５１】
ここで、「フレーム」とは、後述されるサーバプログラムによってアクセス権限情報が後に挿入され得るように確保された空き領域をいう。
【００５２】
「データ登録コマンド」において指定されたデータが、ＸＭＬ形式でデータを出力する機能を有しているアプリケーションプログラム（例えば、ＭｉｃｒｏＳｏｆｔ社製の”Ｗｏｒｄ”や”Ｅｘｃｅｌ”など）によって生成され、もしくは、編集されたデータである場合には、ＸＭＬ形式のデータを取得すること（ステップＳ４０３）は、そのアプリケーションプログラムから出力されるＸＭＬ形式のデータを単に受け取ることによって達成される。
【００５３】
なお、アプリケーションプログラム（例えば、ＭｉｃｒｏＳｏｆｔ社製の”Ｗｏｒｄ”や”Ｅｘｃｅｌ”など）から出力されるＸＭＬ形式のデータに「フレーム」を追加する代わりに、そのアプリケーションプログラムから出力されるＸＭＬ形式のデータから「基本部分」を抽出し、その抽出された「基本部分」に「フレーム」を追加するようにしてもよい。
【００５４】
ここで、「基本部分」とは、そのデータを表現するために論理的に必須とされる部分である。例えば、ＭｉｃｒｏＳｏｆｔ社製の”Ｅｘｃｅｌ”のような表計算アプリケーションでは、「基本部分」は、例えば、（行番号、列番号、値）の組として表現される。「基本部分」もまたＸＭＬ形式のデータである。「基本部分」は、中間言語とも呼ばれる。
【００５５】
このようなＸＭＬ形式の「基本部分」を生成することの利点としては、以下の３つの利点が少なくとも挙げられる。
【００５６】
（１）「基本部分」は論理的に必須な部分のみであるため、データの型を変換することが容易である（例えば、表から表、表から文書など）。
【００５７】
（２）アプリケーションプログラムから出力されるデータに比べて少ない量のデータがサーバ装置のストレージ格納され、必要に応じて他のサーバ装置に転送されることになるため、ネットワーク上のトラフィック量を削減することができる。
【００５８】
（３）データの項目名を所望の項目名にマッピングすることができる。例えば、各伝票データの項目名が支店ごとにまちまちであったとしても、各伝票データの項目名を特定の項目名（例えば、集計フォーマットの項目名）に統一することにより、統一された項目名でサーバ装置のストレージに格納することが可能になる。これにより、検索項目名（検索キー）を統一することができるため、データ検索を高速かつ漏れなく行うことが可能になる。
【００５９】
「データ登録コマンド」において指定されたデータが、ＸＭＬ形式でデータを出力する機能を有していないアプリケーションプログラムによって生成され、もしくは、編集されたデータである場合には、ＸＭＬ形式のデータを取得すること（ステップＳ４０３）は、そのアプリケーションプログラムから出力されるデータを受け取り、そのデータをＸＭＬ形式のデータに変換することによって達成される。
【００６０】
なお、ＸＭＬ形式へのデータ変換の際に、上述した「基本部分」を抽出し、その抽出された「基本部分」を変換結果として出力するようにしてもよい。これにより、上述した（１）〜（３）の利点と同様の利点が得られる。
【００６１】
図５Ｂは、サーバ装置１０ｉにおいて実行されるサーバプログラムの手順を示す。
【００６２】
このサーバプログラムは、メモリ２２ｉ（図３）に格納されており、プロセッサ２４ｉ（図３）によって実行される。
【００６３】
ステップＳ４１１：データ登録処理が行われたＸＭＬ形式のデータに対してアクセス権限情報を設定する。
【００６４】
このようなアクセス権限情報の設定は、例えば、サーバ装置１０ｉのストレージ２０ｉに格納されたＸＭＬ形式のデータの「フレーム」にアクセス権限情報を挿入することによって達成される。アクセス権限情報は、例えば、上述したように、アクセスされることを許可するサーバ装置に固有のＩＤを列挙することによって表現され得る。
【００６５】
このようなアクセス権限情報の設定は、担当者が作成した文書に対して管理者（例えば、課長）が決裁印を押す場合と同様に、担当者が端末装置１６ｉを用いて作成したデータに対して管理者（例えば、課長）がサーバ装置１０ｉを用いてアクセス権限情報を挿入することによって達成される（アクセス権限情報の手動設定）。
【００６６】
あるいは、所定の条件が満たされたか否かを定期的にチェックし、所定の条件が満たされたことに応答してアクセス権限情報を自動的に挿入するといったスケジュール機能を用いてもよい（アクセス権限情報の自動設定）。
【００６７】
ステップＳ４１２：アクセス権限情報が設定されたＸＭＬ形式のデータをストレージ２０ｉに格納する。
【００６８】
このようにして、アクセス権限情報付きのデータがストレージ２０ｉに格納される。他のサーバ装置から送信された所定の命令をサーバ装置１０ｉが受信した場合には、アクセス権限情報が参照され、他のサーバ装置からのアクセスが許可されているかが決定される。その所定の命令によって指定された所定の条件に合致し、かつ、他のサーバ装置からのアクセスが許可されている場合には、サーバ装置１０ｉから他のサーバ装置にデータが転送される。
【００６９】
転送されたデータが「基本部分」にアクセス権限情報を付与したＸＭＬ形式のデータである場合には、その転送されたデータを逆変換してユーザが見れる状態（例えば、既存のアプリケーションプログラムで扱える状態）に置く必要がある。このような逆変換もまたサーバ装置によって行われる。
【００７０】
４．検索条件の設定
本発明によるコンピュータシステム１は、データ検索に必要な検索条件を設定し、その検索条件を指定したデータ収集命令を所定の時間ごと（例えば、１０秒ごと）にサーバ装置１０ｉから他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎのうち予め選択された少なくとも１つのサーバ装置に送信することにより、その検索条件に合致したデータをその予め選択された少なくとも１つのサーバ装置からサーバ装置１０ｉに収集することが可能なように構成されている。これにより、サーバ装置１０ｉが所定の条件に合致するデータを必要とする時点では、そのデータがサーバ装置１０ｉ内のストレージ２０ｉに格納されていることになる。
【００７１】
このような検索条件の設定は、端末装置１６ｉにおいて実行されるクライアントプログラムによって達成される。
【００７２】
図６Ａは、端末装置１６ｉにおいて実行されるクライアントプログラムの手順を示す。
【００７３】
このクライアントプログラムは、メモリ３４ｉ（図４）に格納されており、プロセッサ３６ｉ（図４）によって実行される。
【００７４】
ステップＳ６０１：ユーザからの「検索条件登録コマンド」を受け取る。
【００７５】
この「検索条件登録コマンド」は、端末装置１６ｉのユーザインタフェース３０ｉに接続される入力装置を介して端末装置１６ｉに入力されたものである。「検索条件登録コマンド」において、検索条件が指定される。例えば、検索条件は、データ中に所望の項目に合致する項目が存在することである。
【００７６】
ステップＳ６０２：「検索条件登録コマンド」に応答して、検索条件登録処理を実行する。
【００７７】
ここで、検索条件登録処理は、「検索条件登録コマンド」において指定された検索条件をＸＭＬ形式の検索条件に変換すること（ステップＳ６０３）と、そのＸＭＬ形式の検索条件をサーバ装置１０ｉに転送し、サーバ装置１０ｉのストレージ２０ｉに格納すること（ステップＳ６０４）とを少なくとも含む。
【００７８】
図６Ｂは、サーバ装置１０ｉにおいて実行されるサーバプログラムの手順を示す。
【００７９】
このサーバプログラムは、メモリ２２ｉ（図３）に格納されており、プロセッサ２４ｉ（図３）によって実行される。
【００８０】
ステップＳ６１１：検索条件登録処理によりストレージ２０ｉに格納されたＸＭＬ形式の検索条件を含むデータ収集命令を生成する。
【００８１】
ステップＳ６１２：データ収集命令を所定の時間ごと（例えば、１０秒ごと）に他のサーバ装置１０１、１０２、・・・１０ｉ−１、１０ｉ＋１、・・・、１０Ｎのうち予め選択された少なくとも１つのサーバ装置に送信する。
【００８２】
データ収集命令を受信したサーバ装置は、そのサーバ装置のストレージに格納されているデータの中に、データ収集命令によって指定された検索条件に合致するデータであって、サーバ装置１０ｉから参照可能なデータが存在するか否かを判定し、もし存在した場合には、そのデータをサーバ装置１０ｉに転送する。
【００８３】
ステップＳ６１３：データ収集命令を送信した少なくとも１つのサーバ装置からデータを受け取り、そのデータをストレージ２０ｉに格納する。
【００８４】
例えば、各支店の経理部ごとに製品Ａの販売個数を集計している場合において、東京本店の経理部が、全支店の製品Ａの販売個数の合計を集計する場合を考える。この場合、東京本店の経理部の端末装置１６１を用いて、検索条件として「製品Ａの販売個数」を設定する。
【００８５】
このような検索条件の設定は、例えば、ＭｉｃｒｏＳｏｆｔ社製の”Ｅｘｃｅｌ”の表形式データが端末装置１６１のディスプレイに表示されている場合において、その表形式データに含まれる「製品Ａの販売個数」の項目をユーザが指定し、「検索条件登録コマンド」をユーザが端末装置１６１に入力することによって達成される。なお、表形式データに含まれる項目名を所望の項目名にマッピングすることも可能である。このマッピング機能を用いることにより、仮に端末装置１６１において作成された表形式データに含まれる項目名が所望の項目名（例えば、集計フォーマットの項目名である「製品Ａの販売個数」）と異なっていた場合でも、その所望の項目名に統一することが可能になる。なお、各支店のサーバ装置内のストレージに格納されているデータの項目名も同様のマッピング機能を用いて所望の項目名（例えば、集計フォーマットの項目名である「製品Ａの販売個数」）に統一されているものと仮定する。
【００８６】
検索条件「製品Ａの販売個数」はＸＭＬ形式の検索条件に変換され（ステップＳ６０３）、そのＸＭＬ形式の検索条件は、東京本店の経理部のサーバ装置１０１に転送され、東京本店の経理部のサーバ装置１０１のストレージ２０１に格納される（ステップＳ６０４）。
【００８７】
その後、東京本店のサーバ装置１０１において、上述したステップＳ６１１、Ｓ６１２、Ｓ６１３が実行される。その結果、東京本店のサーバ装置１０１のストレージ２０１の中に各支店のサーバ装置から収集された「製品Ａの販売個数」を示すデータが格納されることになり、その収集結果は、所定の時間ごと（例えば、１０秒ごと）にアップデートされることになる。その収集結果は、例えば、周知の表計算機能を用いて自動的に集計され得る。
【００８８】
このようにして、東京本店の経理部のサーバ装置１０１では、所定の時間ごと（例えば、１０秒ごと）にアップデートされた最新のデータとして、全支店の製品Ａの販売個数が自動的に集計されることになる。従って、東京本店の経理部において、「全支店の製品Ａの販売個数の合計を知りたい」という要望に瞬時に応えることができる。従来の方法では、このような集計結果を得るためには、数時間から数十時間かかるのが常であった。これに対し、本発明では、集計結果が必要とされる時点で瞬時にその集計結果を提供することができる。これは、極めて画期的なことである。
【００８９】
なお、ＸＭＬ形式のデータに何らかの情報を付加するという考え方は、本発明に限らず、さまざまな局面で有用である。例えば、ＣＡＤシステムから出力されるデータがＸＭＬ形式のデータである場合には、そのＸＭＬ形式のデータに各部品の原価データを追加することにより、原価の積算を非常に容易にすることができる。
【００９０】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。
【産業上の利用可能性】
【００９１】
本発明は、大容量ストレージが不要であり、かつ、データ検索を非常に高速に実行することが可能なコンピュータシステム、サーバ装置、プログラムおよび記録媒体等を提供するものとして有用である。
【００９２】
さらに、本発明は、複数のサーバ装置間でのアクセス制限、サーバ装置のストレージに格納されたデータ単位でのアクセス制限という２段階のアクセス制限を実現することが可能なコンピュータシステム、サーバ装置、プログラムおよび記録媒体等を提供するものとして有用である。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態のコンピュータシステム１の構成の一例を示す図
【図２】各サーバ装置１０ｉの動作を説明するフローチャート
【図３】サーバ装置１０ｉの構成の一例を示す図
【図４】端末装置１６ｉの構成の一例を示す図
【図５Ａ】端末装置１６ｉにおいて実行されるクライアントプログラムの手順を示すフローチャート
【図５Ｂ】サーバ装置１０ｉにおいて実行されるサーバプログラムの手順を示すフローチャート
【図６Ａ】端末装置１６ｉにおいて実行されるクライアントプログラムの手順を示すフローチャート
【図６Ｂ】サーバ装置１０ｉにおいて実行されるサーバプログラムの手順を示すフローチャート
【符号の説明】
【００９４】
１  コンピュータシステム
１０１、１０２、・・・、１０Ｎ  サーバ装置
１２  ネットワーク
１４ｉ  内部バス
１６ｉ  端末装置
２０ｉ  ストレージ
【図１】
2006293441.tif 000003
【図２】
2006293441.tif 000004
【図３】
2006293441.tif 000005
【図４】
2006293441.tif 000006
【図５Ａ】
2006293441.tif 000007
【図５Ｂ】
2006293441.tif 000008
【図６Ａ】
2006293441.tif 000009
【図６Ｂ】
2006293441.tif 000010
【手続補正書】
【提出日】平成18年3月6日(2006.3.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムに含まれるサーバ装置であって、
該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、
該サーバ装置は、データを格納するためのストレージを含み、
該サーバ装置は、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の検索条件を指定した同一のデータ収集命令を所定の時間ごとに繰り返し送信し、
該データ収集命令を受信した少なくとも１つのサーバ装置の中に、該データ収集命令によって指定された該所定の検索条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該データ収集命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データが転送され、
該サーバ装置は、該サーバ装置に転送されたデータを該サーバ装置内の該ストレージに収集結果として格納することにより、該収集結果を所定の時間ごとに自動的にアップデートする、サーバ装置。
【請求項２】
前記サーバ装置の前記ストレージに格納されている前記データごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限が付与されている、請求項１に記載のサーバ装置。
【請求項３】
前記アクセス権限の付与は、前記サーバ装置の前記ストレージに格納されている前記データに前記アクセス権限を示すアクセス権限情報を埋め込むことによってなされる、請求項２に記載のサーバ装置。
【請求項４】
前記サーバ装置の前記ストレージに格納されている前記データは、ＸＭＬ形式のデータであり、前記ＸＭＬ形式のデータは、既存のアプリケーションプログラムから出力されるＸＭＬ形式のデータから基本部分を抽出し、該抽出された基本部分に前記アクセス権限を示すアクセス権限情報を挿入することによって得られる、請求項２に記載のサーバ装置。
【請求項５】
コンピュータシステムに含まれるサーバ装置において実行されるプログラムであって、
該サーバ装置と該コンピュータシステムに含まれる他のサーバ装置とはネットワークを介して相互に接続されており、
該サーバ装置は、データを格納するためのストレージを含み、
該プログラムは、
該サーバ装置が、該コンピュータシステムに含まれる他のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の検索条件を指定した同一のデータ収集命令を所定の時間ごとに繰り返し送信するステップと、
該データ収集命令を受信した少なくとも１つのサーバ装置の中に、該データ収集命令によって指定された該所定の検索条件に合致するデータであって、該サーバ装置から参照可能なデータが存在する場合には、該データ収集命令を受信した少なくとも１つのサーバ装置から該サーバ装置に該データを転送するステップと、
該サーバ装置が、該サーバ装置に転送されたデータを該サーバ装置内の該ストレージに収集結果として格納することにより、該収集結果を所定の時間ごとに自動的にアップデートするステップと
を包含する、プログラム。
【請求項６】
請求項５に記載のプログラムを記録した記録媒体。
【請求項７】
ネットワークを介して相互に接続された複数のサーバ装置を備えたコンピュータシステムであって、
該複数のサーバ装置は、データを格納するためのストレージを含み、
該複数のサーバ装置のうちの特定のサーバ装置は、該複数のサーバ装置のうち該特定のサーバ装置以外のサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の検索条件を指定した同一のデータ収集命令を所定の時間ごとに繰り返し送信し、
該データ収集命令を受信した少なくとも１つのサーバ装置の中に、該データ収集命令によって指定された該所定の検索条件に合致するデータであって、該特定のサーバ装置から参照可能なデータが存在する場合には、該データ収集命令を受信した少なくとも１つのサーバ装置から該特定のサーバ装置に該データが転送され、
該特定のサーバ装置は、該特定のサーバ装置に転送されたデータを該特定のサーバ装置内の該ストレージに収集結果として格納することにより、該収集結果を所定の時間ごとに自動的にアップデートする、コンピュータシステム。
【手続補正書】
【提出日】平成18年4月6日(2006.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された第１から第Ｎのサーバ装置を備えたコンピュータシステムであって、
第ｉのサーバ装置は、データを格納するためのストレージを含み、
該第ｉのサーバ装置は、該第１から第（ｉ−１）のサーバ装置および第（ｉ＋１）から該第Ｎのサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の検索条件を指定した同一のデータ収集命令を所定の時間ごとに繰り返し送信し、
該データ収集命令を受信した少なくとも１つのサーバ装置の中に、該データ収集命令によって指定された該所定の検索条件に合致するデータであって、該第ｉのサーバ装置から参照可能なデータが存在する場合には、該データ収集命令を受信した少なくとも１つのサーバ装置から該第ｉのサーバ装置に該データが転送され、
該第ｉのサーバ装置は、該第ｉのサーバ装置に転送されたデータを該第ｉのサーバ装置内の該ストレージに収集結果として格納することにより、該収集結果を所定の時間ごとに自動的にアップデートし、Ｎは２以上の任意の整数であり、ｉ＝１、２、・・・、Ｎである、コンピュータシステム。
【請求項２】
前記第ｉのサーバ装置の前記ストレージに格納されている前記データごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限が付与されている、請求項１に記載のコンピュータシステム。
【請求項３】
前記アクセス権限の付与は、前記第ｉのサーバ装置の前記ストレージに格納されている前記データに前記アクセス権限を示すアクセス権限情報を埋め込むことによってなされる、請求項２に記載のコンピュータシステム。
【請求項４】
前記第ｉのサーバ装置の前記ストレージに格納されている前記データは、ＸＭＬ形式のデータであり、前記ＸＭＬ形式のデータは、既存のアプリケーションプログラムから出力されるＸＭＬ形式のデータから基本部分を抽出し、該抽出された基本部分に前記アクセス権限を示すアクセス権限情報を挿入することによって得られる、請求項２に記載のコンピュータシステム。
【手続補正書】
【提出日】平成18年7月3日(2006.7.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して相互に接続された第１から第Ｎのサーバ装置を備えたコンピュータシステムであって、
第ｉのサーバ装置は、データを格納するためのストレージを含み、
該第ｉのサーバ装置は、該第１から第（ｉ−１）のサーバ装置および第（ｉ＋１）から該第Ｎのサーバ装置のうち予め選択された少なくとも１つのサーバ装置に所定の検索条件を指定した同一のデータ収集命令を所定の時間ごとに繰り返し送信し、該予め選択された少なくとも１つのサーバ装置は、該第１から第Ｎのサーバ装置のうち該第ｉのサーバ装置から参照可能なデータが存在しないサーバ装置を除外したサーバ装置であり、
該データ収集命令を受信した少なくとも１つのサーバ装置の中に、該データ収集命令によって指定された該所定の検索条件に合致するデータであって、該第ｉのサーバ装置から参照可能なデータが存在する場合には、該データ収集命令を受信した少なくとも１つのサーバ装置から該第ｉのサーバ装置に該データが転送され、
該第ｉのサーバ装置は、該第ｉのサーバ装置に転送されたデータを該第ｉのサーバ装置内の該ストレージに収集結果として格納することにより、該収集結果を所定の時間ごとに自動的にアップデートし、Ｎは２以上の任意の整数であり、ｉ＝１、２、・・・、Ｎである、コンピュータシステム。
【請求項２】
前記第ｉのサーバ装置の前記ストレージに格納されている前記データごとに、どのサーバ装置からのアクセスを許可し、どのサーバ装置からのアクセスを許可しないかということを示すアクセス権限が付与されている、請求項１に記載のコンピュータシステム。
【請求項３】
前記アクセス権限の付与は、前記第ｉのサーバ装置の前記ストレージに格納されている前記データに前記アクセス権限を示すアクセス権限情報を埋め込むことによってなされる、請求項２に記載のコンピュータシステム。
【請求項４】
前記第ｉのサーバ装置の前記ストレージに格納されている前記データは、ＸＭＬ形式のデータであり、前記ＸＭＬ形式のデータは、既存のアプリケーションプログラムから出力されるＸＭＬ形式のデータから基本部分を抽出し、該抽出された基本部分に前記アクセス権限を示すアクセス権限情報を挿入することによって得られる、請求項２に記載のコンピュータシステム。