(57)【要約】      （修正有）【課題】共有資源競合を発生させることなくそのシステムを適切に拡張することが可能なシステムを構築する。【解決手段】情報処理単位に対応して段階的にデータ処理を実行する複数ステージの複数データ処理部（８，９，１２，１３，１６〜１８）と、前記複数データ処理部で実行されるデータ処理に用いられる共有資源を保持する情報記憶部（１０，１１，１４，１５，１９〜２１）とを具備するクライアントサーバシステムにおいて、前記各複数データ処理部は、入力データ（４）（４−１〜４−６）に応答して異なる共有資源を要求し、前記情報記憶部は、前記共有資源を、前記各複数ステージで用いられる資源毎に分類して資源集合（５，６，７）として保持し、前記資源集合を、各複数データ処理部が要求する前記異なる共有資源に対応する資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）として、前記複数データ処理部に関連付けて保持する。【選択図】図３
2006268588.tif 000002
【特許請求の範囲】
【請求項１】
所定の情報処理単位に対応して段階的にデータ処理を実行する複数のステージを構成する複数のデータ処理部と、
前記複数のデータ処理部で実行されるデータ処理に用いられる共有資源を保持する情報記憶部と
を具備し、
前記複数のデータ処理部のそれぞれは、入力される入力データに応答して異なる共有資源を要求し、
前記情報記憶部は、
前記共有資源を、前記複数のステージのそれぞれで用いられる資源毎に分類して資源集合として保持し、
前記資源集合を、複数のデータ処理部のそれぞれが要求する前記異なる共有資源に対応する資源群として、前記複数のデータ処理部に関連付けて保持する
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記入力データは、前記資源群を用いて処理されるデータ部分を含み、
前記情報記憶部は、前記資源群と前記データ部分とを関連付けて保持し、
前記複数のデータ処理部のそれぞれは、
前記データ部分に応答して前記資源群に基づいて所定の情報処理を実行する
情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
前記複数のデータ処理部のそれぞれは、
前記データ部分に応答してデータ処理を実行する情報処理部と、
前記情報処理部の処理完了に応答して、前記データ部分を後段のステージに転送する転送処理を実行するサービス決定部とを含み、
前記サービス決定部は、
前記資源群と前記複数のデータ処理部との関連に基づいて、前記データ部分の処理を行う後段のステージの資源群を特定し、前記後段のステージの資源群に対応するデータ処理部に前記データ部分を転送する
情報処理システム。
【請求項４】
請求項３に記載の情報処理システムにおいて、さらに、
他のデータ部分に対応してデータ処理を実行する他のデータ処理部
を備え、
前記資源群は、同じステージで実行されるデータ処理に対応して複数の資源小群に分割可能に構成され、
前記資源小群は、前記データ部分に対応する第１資源小群と、他のデータ部分に対応する第２資源小群とを含み、
前記他のデータ処理部は、前記他のデータ部分に応答して前記第２資源小群に基づいて所定の情報処理を実行する
情報処理システム。
【請求項５】
請求項４に記載の情報処理システムにおいて、
新たな前記処理単位の追加要求に応答して新たなステージを追加し、
前記新たなステージは、
新たなデータ処理部と新たな資源群とを有し、
前記情報記憶部は、前記新たなデータ処理部の追加に応答して、前記データ部分と前記資源群との関連性を更新する
情報処理システム。
【請求項６】
請求項５に記載の情報処理システムにおいて、
前記情報記憶部は、前記データ部分と前記資源群との関連性を示すデータモデルと、前記資源群と、前記複数のデータ処理部との関連性を示すシステム情報とを有し、
前記サービス決定部は、前記データモデルと前記システム情報との少なくとも一方に基づいて前記転送処理を実行する
情報処理システム。
【請求項７】
（ａ）所定の情報処理単位を、段階的にデータ処理を実行する複数のステージに分割するステップと、前記複数のステージは、複数のデータ処理部を有し、前記複数のデータ処理部のそれぞれは、入力される入力データに応答して異なる共有資源を要求し、
（ｂ）前記複数のステージで実行されるデータ処理に用いられる共有資源を、情報記憶装置の所定の記憶領域から読み出すステップと
を具備し、
前記情報記憶装置は、前記共有資源を、前記複数のステージのそれぞれで用いられる資源毎に分類して資源集合として保持し、
前記資源集合を、複数のデータ処理部のそれぞれが要求する前記異なる共有資源に対応する資源群として、前記複数のデータ処理部に関連付けて前記所定の記憶領域に保持する
情報処理方法。
【請求項８】
請求項７に記載の情報処理方法において、
前記入力データは、前記資源群を用いて処理されるデータ部分を含み、
前記情報記憶部は、前記資源群と前記データ部分とを関連付けて保持し、
（ｃ）前記複数のデータ処理部のそれぞれが、前記データ部分に応答して前記資源群に基づいて所定の情報処理を実行するステップ
をさらに具備する
情報処理方法。
【請求項９】
請求項８に記載の情報処理方法において、
（ｄ）前記データ部分に応答して実行されるデータ処理の処理完了に応答して、前記データ部分を後段のステージに転送する転送処理を実行するステップと、
（ｅ）前記資源群と前記複数のデータ処理部との関連に基づいて、前記データ部分の処理を行う後段のステージの資源群を特定し、前記後段のステージの資源群に対応するデータ処理部に前記データ部分を転送するステップ
をさらに具備する
情報処理方法。
【請求項１０】
請求項９に記載の情報処理方法において、さらに、
前記資源群は、同じステージで実行されるデータ処理に対応する複数の資源小群を有し、
前記資源小群は、前記データ部分に対応する第１資源小群と、他のデータ部分に対応する第２資源小群とを含み、
（ｆ）前記他のデータ部分に応答して前記第２資源小群に基づいて所定の情報処理を実行するステップ
を具備する情報処理方法。
【請求項１１】
請求項１０に記載の情報処理方法において、
（ｇ）新たな前記処理単位の追加要求に応答して新たなステージを追加するステップと、前記新たなステージは、新たなデータ処理部と新たな資源群とを有し、
（ｈ）前記新たなデータ処理部の追加に応答して、前記データ部分と前記資源群との関連性を更新するステップ
をさらに具備する
情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法において、
前記情報記憶部は、前記データ部分と前記資源群との関連性を示すデータモデルと、前記資源群と、前記複数のデータ処理部との関連性を示すシステム情報とを有し、
前記（ｄ）ステップは、
前記データモデルと前記システム情報との少なくとも一方に基づいて前記転送処理を実行する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントサーバシステムおよびそのクライアントサーバシステムの拡張方法に関し、特にシステムの拡張が容易に実行できるクライアントサーバシステムおよびそのシステムの拡張方法に関する。
【背景技術】
【０００２】
インターネット上のウェブシステムに代表されるクライアントサーバシステムでは、クライアントが所定のサーバにアクセスして処理を要求すると、サーバはこの要求に応答して処理を実行し、結果をクライアントに送信している。クライアントサーバシステムでは、処理要求が増加する場合、その増加に伴ってシステムを拡張することが求められる。
【０００３】
従来のクライアントサーバシステムにおける、システムの拡張について説明する。図１は、従来のクライアントサーバシステムの構成を示すブロック図である。図１を参照すると、従来のシステムは、クライアント端末１０７と、通常、業務処理を行なうＡＰサーバ（アプリケーションサーバ）に対応する第１処理装置１０１、第２処理装置１０２と、データベース処理を行なうＤＢサーバ（データベースサーバ）に対応する第３処理装置１０３と、共有資源１０４とを含んで構成されている。図１に示されているような一般的なシステム構成では、ＡＰ層とＤＢ層という２階層構成をとる場合が多い。そしてそのシステムで用いられる共有資源は単一のＤＢサーバに配置されている。処理量増加により拡張を行なった場合、ＡＰサーバは入力データ４量の増加に伴ってサーバを追加（スケールアウト）する方式が用いられる。図１を参照すると、従来のシステムは処理量の増加に対応して第４処理装置１０５を追加することが可能である。
【０００４】
また、上記の手法以外にも、システムの拡張を行う手法として、下記の特許文献１〜３に記載された技術が知られている。
【０００５】
特許文献１（特開２００２−１４０２１３号公報）に記載の技術は、多階層情報管理サーバと仮想ディスクサーバとがインターネットを介し接続され、第１のＰＣ、第２のＰＣが多階層情報管理サーバとでシステムを構築している。第１のＰＣ、第２のＰＣのユーザは、バックアップ、他のＰＣのユーザとの共有等が必要なファイルのＰＣ側からサーバ側への書き込み、多階層情報管理サーバにて管理されているファイルのＰＣ側への読み込みを指示する。ここで、特に多階層情報管理サーバが、ＨＤＤの空き容量の割合を定期的に検知し、空き容量の割合に応じて、ＨＤＤ上のバックアップファイル、共有ファイルを仮想ディスクサーバに退避しまた退避されたファイルをＨＤＤ上に復元する技術を開示している。
【０００６】
特許文献２（特開２００２−１６３２４１号公報）に記載の技術は、需要変動に応じて、サービス提供側の資源を動的に再構成することを目的とし、複数のクライアントからのアクセス要求（サービス要求）は、負荷分散装置により、サーバクラスタで稼働中のいずれかのサーバに振り分けられている。特許文献２では、そのような場合において、アクセスが増大又は減少すると、管理モジュールは、サーバクラスタの構成変更を指示し、サーバクラスタへのサーバの追加又はサーバクラスタからのサーバの削除等を行わせることが可能な技術を開示している。
【０００７】
また、特許文献３（特開平０４−０２０１５３号公報）では、下位ノードのプロトコル変換やデータ長の変換を行うことで、ホストコンピュータとデータ処理ノード間との通信を制御する技術を開示している。
【０００８】
上述したような従来技術では、共有資源は、すべての入力データ４によって処理されるシステム内で単一の共有資源となる。このとき、共有資源が単一なものであるためＤＢサーバも同様に単一のものにならざるを得ず、システムの拡張を考えた場合、ＤＢサーバのスケールアップを行なう方式しかとれない。このため、システムの拡張性に限界ができる。換言すると、共有資源であるデータベースは分割できないため、１台のサーバ能力を向上（スケールアップ）させる方式しかとれない。
【０００９】
図１を参照すると、従来のシステムは、第３処理装置１０３の処理性能を向上させることで拡張第３処理装置１０６を構成し、それによってＤＢ層の拡張を実現している。サーバ能力を向上させたからといって、データベースのバッファ制御、ログ出力、書き込みＩ／Ｏ、索引部の競合などにより、リニアにデータベースの性能が向上するわけではない。したがって、従来のシステムにはシステムの拡張性に限界が存在している。
【００１０】
共有資源を備えるシステムにおいて、共有資源競合を発生させることなくそのシステムを適切に拡張することが可能な技術が望まれている。
【００１１】
【特許文献１】特開２００２−１４０２１３号公報
【特許文献２】特開２００２−１６３２４１号公報
【特許文献３】特開平０４−０２０１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明が解決しようとする課題は、共有資源を備えるシステムにおいて、共有資源競合を発生させることなくそのシステムを適切に拡張することが可能な技術を提供することにある。
【課題を解決するための手段】
【００１３】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
上記課題を解決するために、以下のようなクライアントサーバシステムを構築する。そのシステムは、所定の情報処理単位（サービス）に対応して段階的にデータ処理を実行する複数のステージを構成する複数のデータ処理部（８，９，１２，１３，１６，１７，１８）と、前記複数のデータ処理部で実行されるデータ処理に用いられる共有資源を保持する情報記憶部（１０，１１，１４，１５，１９，２０，２１）とを具備する。ここで、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれは、入力される入力データ（４）（４−１〜４−６）に応答して異なる共有資源を要求する。そして、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記共有資源を、前記複数のステージのそれぞれで用いられる資源毎に分類して資源集合（５，６，７）として保持し、前記資源集合（５，６，７）を、複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれが要求する前記異なる共有資源に対応する資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）として、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）に関連付けて保持する。
【００１５】
そのシステムにおいて、前記入力データ（４）（４−１〜４−６）は、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）を用いて処理されるデータ部分を含んで構成されることが好ましい。そして、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と前記データ部分とを関連付けて保持し、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれは、前記データ部分に応答して前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）に基づいて所定の情報処理を実行する。
【００１６】
そのシステムにおいて、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれは、前記データ部分に応答してデータ処理を実行する情報処理部（２６）と、前記情報処理部（２６）の処理完了に応答して、前記データ部分を後段のステージに転送する転送処理を実行するサービス決定部（２７）とを含んで構成されることが好ましい。そして、前記サービス決定部（２７）は、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）との関連に基づいて、前記データ部分の処理を行う後段のステージの資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）を特定し、前記後段のステージの資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）に対応するデータ処理部に前記データ部分を転送する。
【００１７】
そのシステムにおいて、さらに、他のデータ部分に対応してデータ処理を実行する他のデータ処理部（３５）を備えることが可能なように構成されることが好ましい。また、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）は、同じステージで実行されるデータ処理に対応して複数の資源小群（６−２）（６−３）に分割可能に構成されることが好ましい。そして、前記資源小群（６−２）（６−３）は、前記データ部分に対応する第１資源小群（６−２）と、他のデータ部分に対応する第２資源小群（６−３）とを含んでいることが好ましい。そのうえで、前記他のデータ処理部（３５）は、前記他のデータ部分に応答して前記第２資源小群（６−３）に基づいて所定の情報処理を実行する。
【００１８】
また、そのシステムにおいて、新たな前記処理単位の追加要求に応答して新たなステージ（３７）を追加することが可能なように構成されることが好ましい。そして、前記新たなステージ（３７）は、新たなデータ処理部（３８）と新たな資源群（４０）とを有する。そして、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記新たなデータ処理部（３８）の追加に応答して、前記データ部分と前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）（４０）との関連性を更新する。
【００１９】
さらに、そのシステムにおいて、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記データ部分と前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）との関連性を示すデータモデルと、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と、前記複数のデータ処理部との関連性を示すシステム情報とを有することが好ましい。そして、前記サービス決定部（２７）は、前記データモデルと前記システム情報との少なくとも一方に基づいて前記転送処理を実行する。
【００２０】
また、上記課題を解決すために、以下のような方法でデータ処理を実行する。
［ａ］所定の情報処理単位を、段階的にデータ処理を実行する複数のステージに分割するステップと、前記複数のステージは、複数のデータ処理部（８，９，１２，１３，１６，１７，１８）を有し、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれは、入力される入力データ（４）（４−１〜４−６）に応答して異なる共有資源を要求し、
［ｂ］前記複数のステージで実行されるデータ処理に用いられる共有資源を、情報記憶装置の所定の記憶領域から読み出すステップとを具備する方法である。
ここで、前記情報記憶装置は、前記共有資源を、前記複数のステージのそれぞれで用いられる資源毎に分類して資源集合（５，６，７）として保持し、前記資源集合（５，６，７）を、複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれが要求する前記異なる共有資源に対応する資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）として、前記複数のデータ処理部に関連付けて前記所定の記憶領域に保持することが好ましい。
【００２１】
その方法において、前記入力データ（４）（４−１〜４−６）は、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）を用いて処理されるデータ部分を含むものであることが好ましい。また、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と前記データ部分とを関連付けて保持することが好ましい。そして、上記［ａ］ステップと［ｂ］ステップに加え、
［ｃ］前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）のそれぞれが、前記データ部分に応答して前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）に基づいて所定の情報処理を実行するステップ
をさらに具備する方法を実行可能なようにシステムを構成する。
【００２２】
その方法において、上記［ａ］ステップ、［ｂ］ステップおよび［ｃ］ステップに加え、
さらに、
［ｄ］前記データ部分に応答して実行されるデータ処理の処理完了に応答して、前記データ部分を後段のステージに転送する転送処理を実行するステップと、
［ｅ］前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）との関連に基づいて、前記データ部分の処理を行う後段のステージの資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）を特定し、前記後段のステージの資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）に対応するデータ処理部に前記データ部分を転送するステップ
をさらに具備する方法を実行可能なようにシステムを構成する。
【００２３】
その方法において、さらに、
前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）は、同じステージで実行されるデータ処理に対応する複数の資源小群を有するものであることが好ましい。また、前記資源小群は、前記データ部分に対応する第１資源小群と、他のデータ部分に対応する第２資源小群とを含むように構成されることが好ましい。
そして、上記複数のステップに加え、さらに、
［ｆ］前記他のデータ部分に応答して前記第２資源小群に基づいて所定の情報処理を実行するステップ
を具備する方法を実行可能なようにシステムを構成する。
【００２４】
その方法において、上記複数のステップに加え、さらに、
［ｇ］新たな前記処理単位の追加要求に応答して新たなステージ（３７）を追加するステップと、
［ｈ］前記新たなデータ処理部（３８）の追加に応答して、前記データ部分と前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）（４０）との関連性を更新するステップをさらに具備し、
前記新たなステージ（３７）は、新たなデータ処理部（３８）と新たな資源群（４０）とを有するものである方法を実行可能なようにシステムを構築する。
【００２５】
その方法において、前記情報記憶部（１０，１１，１４，１５，１９，２０，２１）は、前記データ部分と前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）との関連性を示すデータモデルと、前記資源群（５−１〜５−３）（６−１〜６−３）（７−１〜７−３）と、前記複数のデータ処理部（８，９，１２，１３，１６，１７，１８）との関連性を示すシステム情報とを有するものであることが好ましい。そして、前記［ｄ］ステップは、前記データモデルと前記システム情報との少なくとも一方に基づいて前記転送処理を実行する情報処理方法を実行可能なようにシステムを構築する。
【発明の効果】
【００２６】
本発明によると、共有資源を備えるシステムにおいて、共有資源競合を発生させることなくそのシステムを適切に拡張することが可能になる。その共有資源が、更新処理の対象であるような資源である場合にも、共有資源競合を発生させることなくシステムの拡張を行うことができる。
【発明を実施するための最良の形態】
【００２７】
本実施の形態に述べるクライアントサーバシステムは、入力データ４が処理する共有資源（データベースなど）の拡張性を確保するために、特定のデータ分割方式によって共有資源を分割して保持している。それにより、柔軟なシステムの拡張方式を実現している。換言すると、システム内で単一に構成されていた共有資源を、サーバごとに分割配置させてシステムを構成し、その構成に対応して所定の処理を実行している。これによって、本実施の形態のクライアントサーバシステムは、そのシステム構成の拡張性が確保されている。
【００２８】
ここで、本実施の形態での共有資源分割の考え方の概略を説明する。本実施の形態のクライアントサーバシステムは、システム内の処理を複数のサービスという処理単位で分割し、段階的に処理を行う。以下、その段階的に行われるサービスをステージと定義する。本実施の形態において、共有資源は、各々のステージで処理される共有資源単位で分割する軸（ステージ分割）と、ステージ内の共有資源を、幾つかの入力データ４によって処理される共有資源という観点でグループ化する軸（データ分割）とによって分割された状態で保持される。
【００２９】
図２は、このように共有資源を分割した場合における、入力データ４とシステム内の共有資源との関連性を例示するデータモデル（概念図）である。以下の説明では、本実施の形態におけるクライアントサーバシステムが、入力される入力データ４に応答して３つのステージで段階的に情報処理を実行するシステムである場合を例示して説明を行う。
【００３０】
上述したように、本実施の形態のクライアントサーバシステムは、システム内で提供するステージ（サービス）単位でデータを分割する軸（ステージ分割）と、ステージ内では入力データ４が操作する共有資源でグループ化する軸（データ分割）により共有資源を分割して保持している。ここで、分割した共有資源は、入力データ４で扱われる共有資源としてグループ化したものであるため、以下、この分割された共有資源をグループ情報と呼ぶ。図２に示されているように、本実施の形態の共有資源は、各ステージで用いられる共有資源ごとに集合（５，６，７）として保持されている。
【００３１】
図２を参照すると、第１サービス用共有資源５は、第１グループ情報５−１と、第２グループ情報５−２と、第３グループ情報５−３とで構成されている。図２に示されているように、第１ステージ１に対応する処理を行うには、第１グループ情報５−１〜第３グループ情報５−３の少なくとも一つの共有資源に対応した処理を行う。同様に、第２サービス用共有資源６は、第４グループ情報６−１と、第５グループ情報６−２と、第６グループ情報６−３とで構成され、第３サービス用共有資源７は、第７グループ情報７−１と、第８グループ情報７−２と、第９グループ情報７−３とで構成されている。
【００３２】
また、本実施の形態の入力データ４は、第１データ４−１〜第６データ４−６に示される複数の小データの群として構成されている。入力データ４に応答して情報処理を実行する場合、各ステージ（５，６，７）で処理される小データと、その小データの処理に用いるグループ情報（５−１〜５−３、６−１〜６−３、７−１〜７−３）とは、予め関連付けられている。
【００３３】
例えば、第１サービスを実行するときに用いられる第１グループ情報５−１は、第１データ、第２データ４−２および第３データに対応する処理を実行するときに、そのデータ処理用の共有資源として用いられることが示されている。換言すると、例えば、第１グループ情報５−１は、第１データ、第２データ４−２、第３データをグループのメンバとして持つ共有資源であるとも言える。
【００３４】
また、例えば、第２データ４−２に対応する情報処理は、第１サービスの第１グループ情報５−１と第２サービスの第４グループ情報と第３サービスの第９グループ情報を用いるような情報処理であることが示されている。換言すると、第２データ４−２は、第１グループ情報５−１、第４グループ情報、および第９グループ情報のそれぞれの共有資源のグループに所属するデータである。
【００３５】
図３は、本実施の形態におけるクライアントサーバシステムの構成を例示するブロック図である。図３に示されているシステムは、図２で例示したデータモデルに対応して情報処理を実行するシステムであるものとする。図３を参照すると、本実施の形態におけるクライアントサーバシステムは、入力データ４を処理するステージとして第１ステージ１、第２ステージ２、第３ステージ３に分割され、それぞれのステージでは、第１サービス、第２サービス、第３サービスを提供している。
【００３６】
図３を参照すると、第１ステージ１（第１サービス）は、入力データ４を処理する装置として第１ステージ側第１処理装置８と第１ステージ側第２処理装置９を含んで構成されている。それぞれのサービス処理装置（８、９）は、対応する情報格納部に接続されている。図３を参照すると、第１ステージ側第１処理装置８は第１格納部１０に接続され、第１ステージ側第２処理装置９は第２格納部１１に接続されている。また図３に示されているように、第１格納部１０は、第１ステージ側第１処理装置８で操作する第１グループ情報５−１が格納されている。第２格納部１１には第２グループ情報５−２と第３グループ情報５−３とが格納されている。
【００３７】
同様に、第２ステージ２（第２サービス）は第２ステージ側第１処理装置１２と第２ステージ側第２処理装置１３１３を含んで構成されている。図３を参照すると、第２ステージ側第１処理装置１２は第３格納部１４に接続され、第２ステージ側第２処理装置１３は第４格納部１５に接続されている。第３格納部１４には第４グループ情報６−１が格納され第４格納部１５には、第５グループ情報６−２と第６グループ情報６−３とが格納されている。さらに、第３ステージ３（第３サービス）は、第３ステージ側第１処理装置１６、第３ステージ側第２処理装置１７および第３ステージ側第３処理装置１８を含んで構成されている。図３を参照すると、第３ステージ側第１処理装置１６は第５格納部１９に接続されている。また第３ステージ側第２処理装置１７は第６格納部２０に接続され、第３ステージ側第３処理装置１８は第７格納部２１に接続されている。図３に示されているように、第５格納部１９は第７グループ情報７−１を格納している。同様に、第６格納部２０は第８グループ情報７−２を格納し、第７格納部２１は、第９グループ情報７−３を格納している。
【００３８】
また、本実施の形態のクライアントサーバシステムは、「２２」から供給される入力データ４に応答して情報処理が実行されるものとする。図３に示されている「２２」は、１台に制限されるものではなく、例えばネットワークを介して接続される複数の「２２」を備える構成であってもよい。
【００３９】
入力データ４によってグループ情報に対して処理を行なう場合、初段の第１ステージ１にあるサービス処理装置から順番に処理していく。以下に、入力データ４がどのサービス処理装置のグループ情報に対して処理を行なうべきかを選択する技術に関して説明を行う。上述したように、グループ情報は、グループ情報を処理する各々のサービス処理装置に配置されている。入力データ４がグループ情報に対して操作を行なうときは、入力データ４をグループ情報が存在するサービス処理装置に転送することによって行なう。入力データ４を適切なサービス処理装置に転送するために、サービス処理装置内には次サービス決定ロジック部２７という機構を設ける。これによって、各サービス処理装置に分割配置されたグループ情報を、複数の入力データ４の共有資源として処理することが可能となる。
【００４０】
図４は、上述の複数のサービス処理装置（８，９，１２，１３、１６，１７，１８）の一つを特定して、その構成を例示しているブロック図である。本実施の形態における複数のサービス処理装置は、各ステージから次のステージへデータの転送を行っている。そのデータ転送に掛かる構成は、それぞれのサービス処理装置で同様である。したがって、以下の説明では、ステージ等を特定することなく、任意の処理装置（第ｎステージ側第ｎ処理部２５：ｎは任意の自然数）に対応して、その内部構成を説明する。
【００４１】
上述したように、図４に示されている第ｎステージ側第ｎ処理部２５は、任意のステージに備えられている処理装置の一つである。図４を参照すると、第ｎステージ側第ｎ処理部２５は、処理実行部２６と次サービス決定ロジック部２７との２つのロジックで構成されている。処理実行部２６は、グループ情報を操作するためのロジックである。次サービス決定ロジック部２７は、入力データ４が次にどのステージのサービス処理装置でどのグループ情報に対して操作するべきかを決定するロジックである。図４に示されているように、次サービス決定ロジック部２７は、次サービス決定情報格納部３０に格納されている次サービス決定情報３１を元に、次のサービスを決定し、決定した転送先（例えば、第ｎ+１ステージ側第１処理装置３２や第ｎ+１ステージ側第２処理装置３３）にデータを送信している。次サービス決定情報３１は、図２に示すグループ情報と入力データ４の関係を表すデータモデルやグループ情報がどのサービス処理装置に配置されているかの情報で構成されている。
【００４２】
以下に、本実施の形態の動作について説明を行う。図５は、本実施の形態の動作を例示するシーケンス図である。図５は、端末装置２２から第２データ４−２が投入されたとき、サービス処理装置に分散配置されたグループ情報が、第２データ４−２によって操作される処理の流れを例示している。
【００４３】
送信動作Ｆ０１において、端末装置２２から第２データ４−２が第１ステージ１の第１ステージ側第１処理装置８に対して入力される。
【００４４】
ステップＳ１０１において、第１ステージ側第１処理装置８では、第２データ４−２を用いて第１グループ情報５−１を操作する。ステップＳ１０１における情報処理が完了すると、処理はステップＳ１０２に進む。ステップＳ１０２において、第１ステージ側第１処理装置８は「サービス決定」処理にて第２データ４−２が次に処理するグループ情報が存在する処理装置の選択を行なう。「サービス決定」処理では、第１ステージ側次サービス決定情報格納部３０ａに保持されるサービス決定情報の参照が行われる。このとき第１ステージ側第１処理装置８の次サービス決定ロジック部２７は、図２で例示したようなグループ情報と入力データ４の関係を示すデータモデル情報や、図３で例示したようなグループ情報のサービス処理装置への配置情報を元に「サービスの決定」を行なう。
【００４５】
ここでは、第２ステージ側第１処理装置１２に第２データ４−２のグループ情報である第４グループ情報が存在するため、第２データ４−２を第２ステージ側第１処理装置１２に送るための転送処理Ｆ０２が実行される。
【００４６】
ステップＳ１０３において、第２ステージ側第１処理装置１２では、第２データ４−２を用いて第４グループ情報の操作を行う。その処理が完了すると、第３格納部１４は、「サービス決定」処理を実行する。このとき実行される「サービス決定」処理では、第３格納部１４は第２ステージ側次サービス決定情報格納部３０ｂの格納されている「サービス決定情報」を用いて次に処理すべきサービス処理装置を決定する。
【００４７】
ここでは、第３ステージ側第３処理装置１８に第２データ４−２のグループ情報である第９グループ情報が存在するため、第２データ４−２を第３ステージ側第３処理装置１８に送るための転送処理Ｆ０３が実行される。つまり、次に処理すべきサービス処理装置は第２データ４−２を第３ステージ側第３処理装置１８であるので、第２データ４−２を第３ステージ側第３処理装置１８に送信する。
【００４８】
ステップＳ１０５において、第３ステージ側第３処理装置１８では、第２データ４−２を用いて第９グループ情報の操作を行う。その処理が完了したときに、第７格納部２１の処理はステップＳ１０６に進む。ステップＳ１０６において、の処理を実行する「サービス決定」処理では、「サービス決定情報」を用いて次に処理すべきサービス処理装置を決定する。このとき、第２データ４−２に対して処理すべき次サービスが存在しないため、処理はステップＳ１０７に進み、ここで処理が完了する。
【００４９】
以下に、本実施の形態のクライアントサーバシステムにおいて、システムの拡張を行う場合について説明を行う。本実施の形態において、特定のステージに対応してシステムを拡張する場合、そのステージに備えられている処理ユニット（処理装置と格納部との組）と同様の処理ユニットを追加することで、システムの拡張を実現することができる。
【００５０】
図６は、本実施の形態の構成において、第２ステージ２の第２ステージ側第２処理装置１３の拡張処理を実行した場合の構成を例示するブロック図である。図６を参照すると、システム拡張に対応して、第２ステージ側第２処理装置１３と同様の処理をすることが可能な処理装置（３５）を用意する。その処理装置（３５）を第２ステージ２側第３処理装置３５とする。新たな処理装置（第３ステージ側第３処理装置３５）を構成した後、その第３ステージ側第３処理装置３５に対応する第８格納部３６を構成する。第２ステージ側第２処理装置１３のデータベース（１５）に配置されている第６グループ情報を、新規に用意した第２ステージ２側第３処理装置３６に配置する。最後に、第６グループ情報に対して操作を行なう入力データ４（第５データ４−５）が第２ステージ２側第３処理装置３６に送信されるために、次サービス決定情報３１を変更する。
【００５１】
図７は、本実施の形態の構成において、新規のステージ（サービス）を追加した場合の構成を例示するブロック図である。図７を参照すると、新規サービス追加は、処理するステージを１段追加することにより行なう。新規サービスは、サービス処理装置とグループ情報のセット（第４ステージ側第１処理装置３８、第９格納部３９）を追加する。第９格納部３９には共有資源（第１０グループ情報４０））が格納される。新規サービスで処理する入力データ４が第４ステージ側第１処理装置３８に送信されるために、次サービス決定情報３１を変更する。
【００５２】
このように、本実施の形態のクライアントサーバシステムは、以下の２つのパターンのようなシステム拡張が可能となる。第１のシステム拡張は、データ分割による拡張である。端末装置２２からの処理量が増加し、サービス内のサービス処理装置の負荷が増加した場合、新たにサービス処理装置を追加し、元のサービス処理装置に配置しているグループ情報を分割し、新たなサービス処理装置に配置することにより、簡単にサービスの拡張を行なうことができる。第２システム拡張は、処理ステージの多階層化による拡張である。新たにサービスを追加したい場合、処理するステージを追加することにより、簡単にサービスの追加を行なうことができる。
【００５３】
したがって、システム内のサービス処理装置にグループ情報を分散配置させた場合でも、「サービス決定情報」と「サービス決定」ロジックによって入力データ４を処理すべきサービス処理装置に転送することにより、分散させる前と同様にグループ情報を共有資源として処理が可能である。また、処理装置に対して負荷が大きくなった場合、データベース内のグループ情報を分割することにより、容易にシステムの処理能力を拡張できる（これは、ステージ内のデータ分割によるものである。）。さらには、システムに新規サービスを追加する場合、処理装置とグループ情報をセットで追加し、処理するステージを追加することにより、容易にサービスを追加できる（これは、システム内の処理をステージという単位で分割することによるものである）。
【００５４】
なお、上述してきた実施の形態において、グループ情報を格納する装置としてデータベースを用いているが、本発明では、格納装置として、データベースに限定しない。例えば、共有資源が参照系の場合でデータ保護のための仕組みを必要としない場合は、処理コストの低いメモリ上にグループ情報を配置する方式や、グループ情報が更新系でもデータベースと同等のデータ保護するための仕組みと組み合わせることも可能である。また、「サービス決定情報」を格納する装置としてデータベースを用いているが、本発明では、格納装置をデータベースに限定しない。格納装置として、メモリを用いることも可能であるし、サービスへの振分処理がロジックで行なうことも可能である。
【図面の簡単な説明】
【００５５】
【図１】図１は、従来のクライアントサーバシステムの構成を示すブロック図である。
【図２】図２は、本実施の形態の共有資源の構成を例示するデータモデル（概念図）である。
【図３】図３は、本実施の形態におけるクライアントサーバシステムの構成を例示するブロック図である。
【図４】図４は、サービス処理装置の構成を例示するブロック図である。
【図５】図５は、本実施の形態の動作を例示するシーケンス図である。
【図６】図６は、本実施の形態のシステムの拡張処理を実行した場合の構成を例示するブロック図である。
【図７】図７は、本実施の形態のシステムの拡張処理を実行した場合の構成を例示するブロック図である。
【符号の説明】
【００５６】
１…第１ステージ１
２…第２ステージ２
３…第３ステージ３
４…入力データ４
４−１…第１データ
４−２…第２データ４−２
４−３…第３データ
４−４…第４データ
４−５…第５データ
４−６…第６データ
５…第１サービス用共有資源
５−１…第１グループ情報５−１
５−２…第２グループ情報
５−３…第３グループ情報
６…第２サービス用共有資源
６−１…第４グループ情報
６−２…第５グループ情報
６−３…第６グループ情報
７…第３サービス用共有資源
７−１…第７グループ情報
７−２…第８グループ情報
７−３…第９グループ情報
８…第１ステージ側第１処理装置８
９…第１ステージ側第２処理装置９
１０…第１格納部
１１…第２格納部
１２…第２ステージ側第１処理装置１２
１３…第２ステージ側第２処理装置１３
１４…第３格納部
１５…第４格納部
１６…第３ステージ側第１処理装置１６
１７…、第３ステージ側第２処理装置１７
１８…第３ステージ側第３処理装置１８
１９…第５格納部
２０…第６格納部
２１…第７格納部
２２…端末装置
２５…第ｎステージ側第ｎ処理部
２６…処理実行部
２７…次サービス決定ロジック部
２８…第ｎ格納部
２９…第ｎグループ情報
３０…次サービス決定情報格納部
３１…次サービス決定情報
３２…第ｎ+１ステージ側第１処理装置
３３…第ｎ+１ステージ側第２処理装置
３０ａ…第１ステージ１側次サービス決定情報格納部
３０ｂ…第２ステージ２側次サービス決定情報格納部
３０ｃ…第３ステージ３側次サービス決定情報格納部
３５…第２ステージ２側第３処理装置
３６…第８格納部
３７…第４ステージ
３８…第４ステージ側第１処理装置
３９…第９格納部
４０…第１０グループ情報
１０１…第１処理装置
１０２…第２処理装置
１０３…第３処理装置
１０４…共有資源
１０５…第４処理装置
１０６…拡張第３処理装置
１０７…クライアント端末
【図１】
2006268588.tif 000003
【図２】
2006268588.tif 000004
【図３】
2006268588.tif 000005
【図４】
2006268588.tif 000006
【図５】
2006268588.tif 000007
【図６】
2006268588.tif 000008
【図７】
2006268588.tif 000009