(57)【要約】【課題】リクエストメッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御すること。【解決手段】クライアントからのリクエストメッセージを受信し、クライアントにレスポンスメッセージを送信する送受信部１ａと、分散ルールを設定する分散テーブル４１と、分散の制御を行う制御部３ａとを備え、前記制御部３ａは、前記送受信部１ａが受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、前記分散テーブル４１に設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信部１ａからクライアントに送信する。【選択図】　　　　図１
2004133839.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからのリクエストメッセージを受信し、クライアントにレスポンスメッセージを送信する送受信部と、
分散ルールを設定する分散テーブルと、
分散の制御を行う制御部とを備え、
前記制御部は、前記送受信部が受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、前記分散テーブルに設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信部からクライアントに送信することを特徴としたサーバ分散装置。
【請求項２】
前記制御部は、分散先となるサーバの負荷状況を収集する機能を備え、分散先サーバの決定を行う際に、前記収集したサーバ負荷情報を利用することを特徴とした請求項１記載のサーバ分散装置。
【請求項３】
前記リクエストメッセージの中に含まれる構造化されたテキストデータはＸＭＬデータであり、
前記制御部は、前記分散テーブルに設定する分散ルールとして、分散のキーとなるＸＭＬタグと、そのＸＭＬタグがリクエストメッセージのＸＭＬデータ中に存在した場合に適用される分散先サーバまたはサーバグループと、前記キーＸＭＬタグの探索終了位置となるＸＭＬタグの組を設定することを特徴とする請求項１又は２記載のサーバ分散装置。
【請求項４】
前記制御部は、前記分散テーブルに、分散ルールを設定する際、その設定順序によって、分散ルールの適用の優先度を示すことを特徴とする請求項１〜３のいずれかに記載の分散装置
【請求項５】
クライアントからのリクエストメッセージを受信し、クライアントにレスポンスメッセージを送信する送受信手段と、
分散ルールを分散テーブルに設定する設定手段と、
前記送受信手段が受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、前記分散テーブルに設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信手段からクライアントに送信する制御手段として、
コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、ウェブ（Ｗｅｂ　）サービスまたはアプリケーション（クライアントとサーバをシステム化するソフトウェア）のサーバ、クライアント間に位置するサーバ分散装置に関し、クライアントからのアクセスを複数のサーバに分散する際、クライアントからサーバに送信されたリクエストメッセージに含まれるＸＭＬ（ｅＸｔｅｎｓｉｂｌ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ　）データの情報に基づいて、分散先サーバを決定し、リクエストメッセージの分散を行うサーバ分散装置及びプログラムに関するものである。
【０００２】
【従来の技術】従来、スイッチ（分散装置）などにおけるサーバ負荷分散は、クライアントからのリクエストメッセージの送信元ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ　）アドレスや、ＳＳＬ（Ｓｅｃｕｒｅ　Ｓｏｃｋｅｔ　Ｌａｙｅｒ　）ＩＤ、また、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ　）のＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒｓ　）ヘッダ、ＨＯＳＴ（ホスト）ヘッダ（サーバのアドレス）、Ｕｓｅｒ−Ａｇｅｎｔヘッダ（クライアント側の端末種別）などに基づいて、分散先サーバを決定するものであった。これらの分散で、分散のキーとしてきた項目は、多くの場合、上述のように限られ（決められて）ており、アプリケーション（プログラム）自身が、リクエストの内容、クライアントに関する情報など、メッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御することは難しかった。
【０００３】
たとえ、クライアントが分散に関する情報を設定できる場合にも、優先度情報やメトリック（地域）情報など、サーバ分散のために、あらかじめ決められた情報に限られており、サーバ側もその情報（優先度情報やメトリック情報）の範囲に限られた分散を行ってきた（例えば、特願２００２−２９１２、特願２００２−４２２３、特願２００２−８７９４４、特許文献１、特許文献２参照）。
【０００４】
【特許文献１】
特開平１１−２５００２０号公報
【特許文献２】
特開２０００−１３２５２４号公報
【０００５】
【発明が解決しようとする課題】上記従来のものは、次のような課題があった。
【０００６】
サーバ分散のためには、あらかじめ決められた情報に限られており、リクエストの内容、クライアントに関する情報など、メッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御することは難しかった。
【０００７】
本発明はこのような従来の課題を解決し、リクエストメッセージに含まれるＸＭＬデータ等の構造化データから、分散テーブルに設定された、分散キータグを検索し、該当タグが検索された場合に、分散テーブルに設定されたサーバを、分散先サーバとして決定すること、また、Ｗｅｂサービスなどのアプリケーションが、自由に分散キーを設定することにより、直接、また、きめ細かく、サーバ分散制御を行うことを可能にすることを目的とする。
【０００８】
【課題を解決するための手段】図１は本発明の原理説明図である。図１において、１ａは送受信部、３ａは制御部、４１は分散テーブルである。
【０００９】
本発明は、上記従来の課題を解決するため次のような手段を有する。
【００１０】
（１）：クライアントからのリクエストメッセージを受信し、クライアントにレスポンスメッセージを送信する送受信部１ａと、分散ルールを設定する分散テーブル４１と、分散の制御を行う制御部３ａとを備え、前記制御部３ａは、前記送受信部１ａが受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、前記分散テーブル４１に設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信部１ａからクライアントに送信する。このため、リクエストメッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御することができる。
【００１１】
（２）：前記（１）のサーバ分散装置おいて、前記制御部３ａは、分散先となるサーバの負荷状況を収集する機能を備え、分散先サーバの決定を行う際に、収集したサーバ負荷情報を利用する。このため、サーバの負荷情報に応じて最も速く処理可能なサーバ等を分散先として決定することができる。
【００１２】
（３）：前記（１）又は（２）のサーバ分散装置おいて、前記リクエストメッセージの中に含まれる構造化されたテキストデータはＸＭＬデータであり、前記制御部３ａは、前記分散テーブル４１に設定する分散ルールとして、分散のキーとなるＸＭＬタグと、そのＸＭＬタグがリクエストメッセージのＸＭＬデータ中に存在した場合に適用される分散先サーバまたはサーバグループと、前記キーＸＭＬタグの探索終了位置となるＸＭＬタグの組を設定する。このため、探索終了位置となるＸＭＬタグで、不要な探索を無くし効率の良い処理を行うことができる。
【００１３】
（４）：前記（１）〜（３）のサーバ分散装置おいて、前記制御部３ａは、前記分散テーブル４１に、分散ルールを設定する際、その設定順序によって、分散ルールの適用の優先度を示すものとする。このため、優先度により処理の速いサーバ等に優先的に分散することができる。
【００１４】
（５）：クライアントからのリクエストメッセージを受信し、クライアントにレスポンスメッセージを送信する送受信手段と、分散ルールを分散テーブルに設定する設定手段と、前記送受信手段が受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、前記分散テーブルに設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信手段からクライアントに送信する制御手段として、コンピュータを機能させるためのプログラム又はプログラムを記録したコンピュータ読取可能な記録媒体とする。このため、このプログラムをコンピュータにインストールすることで、リクエストメッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御することができるサーバ分散装置を容易に提供することができる。
【００１５】
【発明の実施の形態】最近、従来のＷｅｂアプリケーションから、Ｗｅｂサービスの世界に変化しつつある。これにより、クライアント側がユーザ（人）からＷｅｂサービス（機械）になり、ＸＭＬ　ＳＯＡＰという標準データ形式を用いて、サーバへのアクセスが行われるようになってきた。これにより、初回アクセス時から、リクエストメッセージ（ＳＯＡＰメッセージ）のなかに、要求する処理の内容、クライアント側の情報など、サーバ側の処理に必要な情報が、ＸＭＬデータとして設定されることになる。このため、これらのＸＭＬデータを分散のキーとして用いることにより、初回アクセス時から、きめ細かい分散を行うことが可能になる。
（１）：サーバ分散装置の構成の説明
図２はＸＭＬタグ情報による分散装置の説明図である。図２において、ＸＭＬタグ情報によりクライアントからのリクエストメッセージを複数のサーバに対して分散する装置である分散装置は、メッセージ送受信部１、送信メッセージ加工部２、ＸＭＬデータ解析部３、分散テーブル管理部４、サーバ情報収集部５、分散先判定部６、分散テーブル４１、サーバ情報５１より構成される。
【００１６】
ＸＭＬタグ情報による分散装置は、インターネットまたはイントラネットを介して、アプリケーション（Ｗｅｂサービス）のクライアントとサーバの間に置かれ、メッセージ送受信部１でメッセージの受信と送信を行い、メッセージ加工部２で送信メッセージの生成を行い、ＸＭＬデータ解析部３で構造化したテキストデータであるＸＭＬデータの解析を行い、分散テーブル管理部４で分散先サーバの判定用のテーブルである分散テーブル４１の管理を行い、サーバ情報収集部５で分散先サーバの負荷状況の収集を行い（格納部にサーバ情報５１として格納）、分散先判定部６で解析結果と分散テーブル４１に基づいた分散先の判定を行う。
【００１７】
（２）：サーバ分散装置の各機能の説明
以下では、ＸＭＬ情報による分散装置を構成する各部の機能について説明する。
【００１８】
▲１▼：メッセージ送受信部の説明
メッセージ送受信部１では、分散装置で扱うメッセージの送受信を行う。送受信を行うメッセージとしては、次のものがある。
【００１９】
・アプリケーションリクエストメッセージ
・クライアントへの分散先サーバの情報を含むレスポンスメッセージ
・分散テーブルの登録、修正、削除、参照に関するメッセージ
・サーバ情報収集に関するメッセージ
▲２▼：送信メッセージ加工部の説明
送信メッセージ加工部２では、分散処理方法に応じて、以下の処理を行う。
【００２０】
・リクエストメッセージを、決定した分散先サーバに、直接、転送する場合
リクエストメッセージの宛先ＩＰアドレスを、分散先サーバのアドレスに書き換える。
【００２１】
・クライアントに、決定した分散先サーバの宛先を含むレスポンスメッセージを送信し、リクエストをリダイレクトする場合
メッセージを運ぶトランスポートプロトコルの書式にしたがって、アクセス先変更（リダイレクト）を促すレスポンスメッセージを作成し、リクエストメッセージの送信者であるクライアントに送信する。
【００２２】
例えば、トランスポートプロトコルとしてＨＴＴＰを用いている場合、以下のようなレスポンスメッセージを作成する。
【００２３】
ステータスコードにサーバリダイレクトを示す３百番台が決まりであるコード（３ｘｘ　）を設定し、Ｌｏｃａｔｉｏｎヘッダに分散先サーバのＵＲＬを設定する。
【００２４】
▲３▼：ＸＭＬデータ解析部３は、ＳＡＸ（サックス）、ＤＯＭ（ドム）といった構造解析するためのツールであるＸＭＬパーサ機能を備え、リクエストメッセージに含まれるＸＭＬデータの解析を行う。手順は以下のとおり。
【００２５】
処理Ｓ１：ＸＭＬデータ解析部３は、分散テーブル管理部４が管理する分散テーブル４１から、キータグと解析終了タグの情報を得る。
【００２６】
処理Ｓ２：ＸＭＬデータ解析部３は、上記で得たタグ情報のセットから、一組のキータグと終了タグを取り出す。
【００２７】
（取り出せるキータグ、終了タグの組がある場合）
ＸＭＬデータの先頭のタグから順に、取り出したキータグ、終了タグと比較する（以下のようにして、分散テーブル４１の全てと比較）。
【００２８】
・キータグと一致した場合、そのタグを一致キータグとして記憶し、処理Ｓ２へ
・終了タグと一致した場合、処理Ｓ２へ
・ＸＭＬデータの最後に達した場合、処理Ｓ２へ
（取り出せるキータグ、終了タグの組がない場合）
処理Ｓ３へ
処理Ｓ３：ＸＭＬデータ解析部３は、一致キータグの情報を、分散先判定部６に送り、ＸＭＬデータの解析処理を終了する。
【００２９】
▲４▼：分散先判定部の説明
分散先判定部６は、ＸＭＬデータ解析部３のキータグ抽出の結果と分散テーブル管理部４が管理する分散先サーバ情報（分散テーブル）にしたがって、分散先サーバを決定し、その結果をメッセージ加工部２に送る。即ち、以下の処理を行う。
【００３０】
処理Ｓ１：分散先判定部６は、分散テーブル管理部４に、一致キータグ情報に該当する分散先サーバを問い合わせる。
【００３１】
・分散先がサーバグループの場合には、以下の処理を行う。
【００３２】
（サーバ情報を利用する場合）
サーバ情報収集部５に、該当サーバの性能や負荷状況を問い合わせ、その情報を用いて、分散先サーバとして決定する。
【００３３】
（サーバ負荷情報を利用しない場合）
分散先サーバグループの中から、サーバを一つ選択し、分散先サーバとして決定する。
【００３４】
処理Ｓ２：分散先判定部６は、決定した分散先サーバを、メッセージ加工部２に送る。
【００３５】
▲５▼：分散テーブル管理部の説明
分散テーブル管理部４では、分散ルールを格納した分散テーブル４１に関する登録と管理を行う。また、ＸＭＬデータ解析部３、分散先判定部６からのテーブル参照の問い合わせに応じる。分散ルールの登録、変更、削除は、アプリケーションの管理者が、アプリケーションが行う処理の種類、分散先サーバの構成や状況などに応じて行うものとする。
【００３６】
分散ルールとして管理する項目は、以下のとおりである。
【００３７】
・キーＸＭＬタグ
分散のキーとなるＸＭＬタグ。標準となっているＸＰａｔｈ　など、ＸＭＬタグのＸＭＬドキュメント中での位置を指定できる仕様を用いて指定する。
【００３８】
・探索終了ＸＭＬタグ
キーＸＭＬタグの探索を終了する位置を示すＸＭＬタグ。ＸＰａｔｈ　など、ＸＭＬタグのＸＭＬドキュメント中での位置を指定できる仕様を用いて指定する。
【００３９】
・分散先サーバまたはサーバグループ（複数のサーバの選択ルール）
▲６▼：サーバ情報収集部の説明
サーバ情報収集部５では、分散先サーバの性能や負荷状況などの情報を収集し（例えば、定期的に）サーバ情報４１として格納し、分散先判定部６からの各サーバ情報の問い合わせに応じる。
【００４０】
このようなサーバ分散装置により、アプリケーションメッセージに含まれるＸＭＬデータの中のＸＭＬタグ情報をキーとした、サーバ分散が可能となる。これにより、リクエストメッセージの内容やサーバが提供する機能など、幅広い情報や条件に基づいた、きめ細かいサーバ分散を実現できる。また、アプリケーションを管理する側（通常はサーバを管理する人）が、直接サーバ分散を制御することが可能になる。
【００４１】
（２）：ＸＭＬスイッチの説明
クライアントからのリクエストメッセージに基づいて、分散先サーバを決定するスイッチ装置の中に、本発明のサーバ分散装置を搭載し、ＸＭＬスイッチとして動作させる説明をする。
【００４２】
図３はＸＭＬスイッチの利用例の説明図である。図３において、クライアントａ、ｂは、インターネット又はイントラネット上のＸＭＬスイッチ１０を介してサーバＡ、Ｂ、Ｃと接続されるものである。ここではクライアントａからのリクエストメッセージＭ１のＰｒｉｏｒｉｔｙ情報により優先度制御を行う例と、クライアントｂからのリクエストメッセージＭ２の地域情報によりサーバ分散制御を行う例を示してある。
【００４３】
▲１▼：サーバ情報を用いない場合の説明
図４は分散テーブルの説明図である。図４において、分散テーブル４１に２つのルールが設定されており、その設定順によって、ルール１の適用優先度が高いことを示している。各ルールには、キータグ、検索終了タグ、分散先サーバが示されている。なお、検索終了タグは、無くても良いが、不要な検索処理を無くすために設けてある。
【００４４】
図５はＸＭＬスイッチでの処理の流れの説明図である。以下、図５の処理▲１▼〜処理▲７▼に従ってＸＭＬスイッチでの処理の流れを、クライアントａのリクエストメッセージ（図３参照）を例に説明する。
【００４５】
処理▲１▼：メッセージ送受信部１が、クライアントａからのリクエストメッセージを受信し、ＸＭＬデータ解析部３に送る。
【００４６】
処理▲２▼：ＸＭＬデータ解析部３は、分散テーブル管理部４より、キータグと探索終了タグのセットを得る。
【００４７】
処理▲３▼：ＸＭＬデータ解析部３は、最初のキータグと探索終了タグを、メッセージのＸＭＬデータの先頭から検索する。
【００４８】
処理▲４▼：ＸＭＬデータ解析部３は、ＸＭＬデータの中から、ルール１のキータグを検索し、一致キータグとして、分散先判定部６に送る。
【００４９】
処理▲５▼：分散先判定部６は、分散テーブル管理部４より、一致キータグに関する分散先情報を得る。
【００５０】
処理▲６▼：分散先判定部６は、上記で得られた情報に基づいて、ｓｅｒｖＡを分散先サーバとして決定し、分散先サーバをメッセージ加工部２に送る。
【００５１】
処理▲７▼：メッセージ加工部２は、リクエストメッセージの宛先を、ｓｅｒｖＡに変更し、リクエストメッセージを送信する。
【００５２】
▲２▼：サーバ情報を用いた場合の説明
サーバ分散装置を、スイッチ装置の中に搭載し、ＸＭＬスイッチとして動作させ、分散先サーバ決定の際に、サーバの性能や負荷状況を考慮した例について説明する。
【００５３】
図６は分散テーブルの説明図である。図６において、分散テーブル４１に２つのルールが設定されており、その設定順によって、ルール１の適用優先度が高いことを示している。各ルールには、キータグ、検索終了タグ、分散先サーバが示されている。また、ルール１の分散先には、最速サーバ（もっとも速く処理可能なサーバ）が指定してある。
【００５４】
図７はサーバ情報を用いた処理の流れの説明図である。以下、図７の処理▲１▼〜処理▲８▼に従ってＸＭＬスイッチでの処理の流れを、クライアントａのリクエストメッセージ（図３参照）を例に説明する。
【００５５】
処理▲１▼：メッセージ送受信部１が、クライアントａからのリクエストメッセージを受信し、ＸＭＬデータ解析部３に送る。
【００５６】
処理▲２▼：ＸＭＬデータ解析部３は、分散テーブル管理部４より、キータグと探索終了タグのセットを得る。
【００５７】
処理▲３▼：ＸＭＬデータ解析部３は、最初のキータグと探索終了タグを、メッセージのＸＭＬデータの先頭から検索する。
【００５８】
処理▲４▼：ＸＭＬデータ解析部３は、ＸＭＬデータの中から、ルール１のキータグを検索し、一致キータグとして、分散先判定部６に送る。
【００５９】
処理▲５▼：分散先判定部６は、分散テーブル管理部４より、一致キータグに関する分散先情報（最も速く処理可能なサーバ）を得る。
【００６０】
処理▲６▼：分散先判定部６は、サーバ情報収集部５から各サーバの性能、負荷状況の情報を得る。
【００６１】
処理▲７▼：分散先判定部６は、上記処理▲６▼で得たサーバ情報に基づいて、分散先サーバ（例えば、ｓｅｒｖＡ）を分散先サーバとして決定し、メッセージ加工部２に送る。
【００６２】
処理▲８▼：メッセージ加工部２は、リクエストメッセージの宛先を、ｓｅｒｖＡに変更し、リクエストメッセージを送信する。
【００６３】
（３）：リダイレクトサーバの説明
サーバ分散装置を、リダイレクトサーバとして動作させた場合について説明する。ここでは、トランスポートプロトコルとして、ＨＴＴＰを用いた例を説明する。
【００６４】
図８はリダイレクトサーバの利用例の説明図である。図８において、クライアントａ、ｂは、インターネット又はイントラネット上のリダイレクトサーバ２０、サーバＡ、Ｂ、Ｃと接続されるものである。ここではクライアントａからのリクエストメッセージＭ１のＰｒｉｏｒｉｔｙ情報により優先度制御を行う例と、クライアントｂからのリクエストメッセージＭ２の地域情報によりサーバ分散制御を行う例を示してある。
【００６５】
▲１▼：サーバ情報を用いないリダイレクトサーバの説明
図９はリダイレクトサーバでの処理の流れの説明図である。以下、図９の処理▲１▼〜処理▲７▼に従ってリダイレクトサーバでの処理の流れを、クライアントａのリクエストメッセージ（図８参照）を例に説明する。なお、適用する分散テーブル４１の例として図４のものを用いた。
【００６６】
処理▲１▼：メッセージ送受信部１が、クライアントａからのリクエストメッセージを受信し、ＸＭＬデータ解析部３に送る。
【００６７】
処理▲２▼：ＸＭＬデータ解析部３は、分散テーブル管理部４より、キータグと探索終了タグのセットを得る。
【００６８】
処理▲３▼：ＸＭＬデータ解析部３は、最初のキータグと探索終了タグを、メッセージのＸＭＬデータの先頭から検索する。
【００６９】
処理▲４▼：ＸＭＬデータ解析部３は、ＸＭＬデータの中から、ルール１のキータグを検索し、一致キータグとして、分散先判定部６に送る。
【００７０】
処理▲５▼：分散先判定部６は、分散テーブル管理部４より、一致キータグに関する分散先情報を得る。
【００７１】
処理▲６▼：分散先判定部６は、上記処理▲５▼で得られた情報に基づいて、ｓｅｒｖＡ（サーバＡ）を分散先サーバとして決定し、分散先サーバをメッセージ加工部２に送る。
【００７２】
処理▲７▼：メッセージ加工部２は、ステータスコードにリダイレクションコード、例えば３０３（サーバリダイレクト　Ｓｅｅ　Ｏｔｈｅｒ　）、ＬｏｃａｔｉｏｎヘッダにｓｅｒｖＡのＵＲＬを設定したＨＴＴＰレスポンスを作成し、リクエストメッセージの送信者であるクライアントａに宛てて送信する。
【００７３】
これによりクライアントａは、リクエストメッセージを直接サーバＡに送信することになる。
【００７４】
▲２▼：サーバ情報を用いたリダイレクトサーバの説明
サーバ分散装置をリダイレクトサーバとして動作させ、分散先サーバ決定の際に、サーバの性能や負荷状況を考慮した例について説明する。
【００７５】
図１０はサーバ情報を用いた処理の流れの説明図である。以下、図１０の処理▲１▼〜処理▲８▼に従ってＸＭＬスイッチでの処理の流れを、クライアントａのリクエストメッセージ（図８参照）を例に説明する。なお、適用する分散テーブル４１の例として図６のものを用いた。
【００７６】
処理▲１▼：メッセージ送受信部１が、クライアントａからのリクエストメッセージを受信し、ＸＭＬデータ解析部３に送る。
【００７７】
処理▲２▼：ＸＭＬデータ解析部３は、分散テーブル管理部４より、キータグと探索終了タグのセットを得る。
【００７８】
処理▲３▼：ＸＭＬデータ解析部３は、最初のキータグと探索終了タグを、メッセージのＸＭＬデータの先頭から検索する。
【００７９】
処理▲４▼：ＸＭＬデータ解析部３は、ＸＭＬデータの中から、ルール１のキータグを検索し、一致キータグとして、分散先判定部６に送る。
【００８０】
処理▲５▼：分散先判定部６は、分散テーブル管理部４より、一致キータグに関する分散先情報（最も速いサーバ）を得る。
【００８１】
処理▲６▼：分散先判定部６は、サーバ情報収集部５から各サーバの性能、負荷状況の情報を得る。
【００８２】
処理▲７▼：分散先判定部６は、上記処理▲６▼で得たサーバ情報に基づいて、分散先サーバ（例えば、ｓｅｒｖＡ）を分散先サーバとして決定し、メッセージ加工部２に送る。
【００８３】
処理▲８▼：メッセージ加工部２は、ステータスコードにリダイレクションコード、例えば３０３（サーバリダイレクト　Ｓｅｅ　Ｏｔｈｅｒ　）、ＬｏｃａｔｉｏｎヘッダにｓｅｒｖＡのＵＲＬを設定したＨＴＴＰレスポンスを作成し、リクエストメッセージの送信者であるクライアントａに宛てて送信する。
【００８４】
これによりクライアントａは、リクエストメッセージを直接サーバＡ（ｓｅｒｖＡ）に送信することになる。
【００８５】
以上、実施の形態で説明したように、クライアントからのリクエストを複数のサーバに分散する場合、サーバクライアント間で交換されるメッセージに含まれるＸＭＬ情報に基づいて、分散先サーバを決定することにより、リクエストの内容やサーバの機能に応じたきめ細かい分散が可能となる。また、アプリケーションが分散のキーとなるＸＭＬタグを、メッセージの中に設定することにより、アプリケーションが、直接、サーバ分散を制御することができる。
【００８６】
（４）：プログラムインストールの説明
送受信部１ａ、メッセージ送受信部１、送信メッセージ加工部２、制御部３ａ、ＸＭＬデータ解析部３、分散テーブル管理部４、サーバ情報収集部５、分散先判定部６、分散テーブル４１、サーバ情報５１等はプログラムで構成でき、主制御部（ＣＰＵ）が実行するものであり、主記憶に格納されているものである。このプログラムは、コンピュータで処理されるものである。このコンピュータは、主制御部、主記憶、ファイル装置、表示装置や印刷装置等の出力装置、入力装置などのハードウェアで構成されている。
【００８７】
このコンピュータに、本発明のプログラムをインストールする。このインストールは、フロッピィ、光磁気ディスク等の可搬型の記録（記憶）媒体に、これらのプログラムを記憶させておき、コンピュータが備えている記録媒体に対して、アクセスするためのドライブ装置を介して、或いは、ＬＡＮ等のネットワークを介して、コンピュータに設けられたファイル装置にインストールされる。
【００８８】
【発明の効果】以上説明したように、本発明によれば次のような効果がある。
【００８９】
（１）：制御部で、送受信部が受信したリクエストメッセージの中に含まれる構造化されたテキストデータを、分散テーブルに設定された分散ルールに従って解析した結果に基づいて、分散先サーバを決定し、該決定した分散先サーバの宛先を含むレスポンスメッセージを前記送受信部からクライアントに送信するため、リクエストメッセージ内のデータに含まれる情報に基づいて、直接、また、きめ細かく、分散先サーバの決定を制御することができる。
【００９０】
（２）：制御部で、分散先サーバの決定を行う際に、収集したサーバ負荷情報を利用するため、サーバの負荷情報に応じて最も速く処理可能なサーバを分散先として決定することができる。
【００９１】
（３）：分散テーブルに設定する分散ルールとして、分散のキーとなるＸＭＬタグと、そのＸＭＬタグがリクエストメッセージのＸＭＬデータ中に存在した場合に適用される分散先サーバまたはサーバグループと、前記キーＸＭＬタグの探索終了位置となるＸＭＬタグの組を設定するため、探索終了位置となるＸＭＬタグで、不要な探索を無くし効率の良い処理を行うことができる。
【００９２】
（４）：制御部で、分散テーブルに、分散ルールを設定する際、その設定順序によって、分散ルールの適用の優先度を示すものとするため、優先度により処理の速いサーバ等に優先的に分散することができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態におけるＸＭＬタグ情報による分散装置の説明図である。
【図３】実施の形態におけるＸＭＬスイッチの利用例の説明図である。
【図４】実施の形態における分散テーブルの説明図である。
【図５】実施の形態におけるＸＭＬスイッチでの処理の流れの説明図である。
【図６】実施の形態における分散テーブルの説明図である。
【図７】実施の形態におけるサーバ情報を用いた処理の流れの説明図である。
【図８】実施の形態におけるリダイレクトサーバの利用例の説明図である。
【図９】実施の形態におけるリダイレクトサーバでの処理の流れの説明図である。
【図１０】実施の形態におけるサーバ情報を用いた処理の流れの説明図である。
【符号の説明】
１ａ　送受信部
３ａ　制御部
４１　分散テーブル
【図１】
2004133839.tif 000003
【図２】
2004133839.tif 000004
【図３】
2004133839.tif 000005
【図４】
2004133839.tif 000006
【図５】
2004133839.tif 000007
【図６】
2004133839.tif 000008
【図７】
2004133839.tif 000009
【図８】
2004133839.tif 000010
【図９】
2004133839.tif 000011
【図１０】
2004133839.tif 000012