(57)【特許請求の範囲】
【請求項１】
クライアントから送信されるパケットを、複数のサービス処理装置のうちのいずれかにネットワークを介して転送するサービス振分方法であって、
前記パケットの第１のレイヤのヘッダから第１のアドレスの情報を読み出し、該第１のアドレスから、送信先のサービス処理装置を特定できるか否かを判定し、
前記第１のアドレスから前記送信先のサービス処理装置を特定できる場合、該第１のアドレスが示すサービス処理装置に前記パケットを送信し、前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、前記パケットにおいて前記第１のレイヤよりも上位レイヤの第２のレイヤのヘッダから第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に該パケットを送信するものであり、
前記複数のサービス処理装置に対する、前記クライアントの利用状況の情報を予め収集し、
前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、収集した前記利用状況の情報を参照し、参照の結果、前記クライアントが前記複数のサービス処理装置のうち、第１のサービス処理装置を利用している場合、前記クライアントから受信するパケットの前記第１のアドレスを前記第１のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換し、前記クライアントが前記複数のサービス処理装置のうち、前記第１のサービス処理装置とは異なる第２のサービス処理装置を利用している場合、前記クライアントから受信するパケットの前記第１のアドレスを前記第２のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換し、前記クライアントが前記第１および第２のサービス処理装置の両方を利用している場合、前記第２のアドレスを読み出して前記送信先のサービス処理装置を特定する、サービス振分方法。
【請求項２】
請求項１記載のサービス振分方法において、
前記複数のサービス処理装置は、同種のサービスを提供する複数の装置として、複数の前記第１のサービス処理装置または複数の前記第２のサービス処理装置を含み、
前記同種のサービスを提供する複数の装置から負荷の情報を収集し、
前記同種のサービスを提供する複数の装置のいずれかを送信先とするパケットを受信すると、収集した負荷の情報に基づいて、該同種のサービスを提供する複数の装置の負荷を分散するように該パケットを送信する、サービス振分方法。
【請求項３】
請求項１記載のサービス振分方法において、
前記複数のサービス処理装置は、同種のサービスを提供する複数の装置として、複数の前記第１のサービス処理装置または複数の前記第２のサービス処理装置を含み、
前記同種のサービスを提供する複数の装置から負荷の情報を収集し、
収集した、前記同種のサービスを提供する複数の装置の負荷の情報に基づいて、該同種のサービスを提供する複数の装置のうち、負荷分散の対象となる振り分け範囲を決定し、
前記同種のサービスを提供する複数の装置のいずれかを送信先とするパケットを受信すると、前記振り分け範囲で装置の負荷が均等になるように、受信したパケットを送信する、サービス振分方法。
【請求項４】
クライアントから受信するパケットを、複数のサービス処理装置のうちのいずれかにネットワークを介して転送するサービス振分装置であって、
前記パケットに含まれる第１のレイヤのヘッダから第１のアドレスの情報を読み出し、該第１のアドレスから、送信先のサービス処理装置を特定できるか否かを判定し、該第１のアドレスから前記送信先のサービス処理装置を特定できる場合、該第１のアドレスで特定されるサービス処理装置にパケットを送信し、前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、前記パケットを第２レイヤ部に転送する第１レイヤ部と、
前記第１レイヤ部からパケットを受信すると、該パケットにおいて前記第１のレイヤよりも上位レイヤの第２のレイヤのヘッダから第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に前記パケットを送信する前記第２レイヤ部と、
前記複数のサービス処理装置のいずれかに前記パケットを送信するための前記第１のアドレスとして、第１のレイヤで規定された、前記第２レイヤ部のアドレスを前記クライアントに通知し、前記複数のサービス処理装置に対する、前記クライアントの利用状況の情報を収集するアドレス解決部と、
を有し、
前記アドレス解決部は、
前記第１レイヤ部が前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、収集した前記利用状況の情報を参照し、参照の結果、前記クライアントが前記複数のサービス処理装置のうち、第１のサービス処理装置を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを前記第１のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換させ、前記クライアントが前記複数のサービス処理装置のうち、前記第１のサービス処理装置とは異なる第２のサービス処理装置を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを前記第２のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換させ、前記クライアントが前記第１および第２のサービス処理装置の両方を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを維持させる、サービス振分装置。
【請求項５】
請求項４記載のサービス振分装置において、
前記複数のサービス処理装置は、同種のサービスを提供する複数の装置として、複数の前記第１のサービス処理装置または複数の前記第２のサービス処理装置を含み、
前記同種のサービスを提供する複数の装置から負荷の情報を収集し、収集した負荷の情報に基づいて、該同種のサービスを提供する複数の装置の負荷を分散するようにパケットの送信先を前記第１レイヤ部および前記第２レイヤ部に指示するアドレス解決部がさらに設けられ、
前記第１レイヤ部および前記第２レイヤ部のそれぞれは、前記同種のサービスを提供する複数の装置のいずれかを送信先とするパケットを受信すると、前記アドレス解決部によって指示された装置に該パケットを送信する、サービス振分装置。
【請求項６】
請求項４記載のサービス振分装置において、
前記複数のサービス処理装置は、同種のサービスを提供する複数の装置として、複数の前記第１のサービス処理装置または複数の前記第２のサービス処理装置を含み、
前記同種のサービスを提供する複数の装置から負荷の情報を収集し、該同種のサービスを提供する複数の装置のうち、負荷分散の対象となる振り分け範囲を決定するアドレス解決部がさらに設けられ、
前記第１レイヤ部および前記第２レイヤ部のそれぞれは、前記同種のサービスを提供する複数の装置のいずれかを送信先とするパケットを受信すると、前記振り分け範囲で装置の負荷が均等になるように、受信したパケットを送信する、サービス振分装置。
【請求項７】
請求項４記載のサービス振分装置において、
前記第２レイヤ部は、
前記第１のサービス処理装置から受信したパケットの送信先が該第１のサービス処理装置を示す第１のレイヤで規定されたアドレスである場合、該パケットの第２のレイヤのヘッダから前記第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に該パケットを送信する、サービス振分装置。
【請求項８】
請求項４記載のサービス振分装置において、
前記第２レイヤ部は、
前記第１レイヤ部からパケットを受信すると、該パケットの前記第２のアドレスでサービス処理装置を特定し、該パケットの前記第１のアドレスを、特定したサービス処理装置を示す第１のレイヤで規定されたアドレスに書き換えたパケットを前記第１レイヤ部に返送し、
前記第１レイヤ部は、
前記第２レイヤ部からパケットを受信すると、該パケットの前記第１のアドレスの情報を読み出し、該第１のアドレスで特定されるサービス処理装置にパケットを送信する、サービス振分装置。
【請求項９】
クライアントから受信するパケットを、複数のサービス処理装置のうちのいずれかにネットワークを介して転送するサービス振分装置であって、
前記パケットに含まれる第１のレイヤのヘッダから第１のアドレスの情報を読み出し、該第１のアドレスから、送信先のサービス処理装置を特定できるか否かを判定し、該第１のアドレスから前記送信先のサービス処理装置を特定できる場合、該第１のアドレスで特定されるサービス処理装置にパケットを送信し、前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、前記パケットを第２レイヤ部に転送する第１レイヤ部と、
前記第１レイヤ部からパケットを受信すると、該パケットにおいて前記第１のレイヤよりも上位レイヤの第２のレイヤのヘッダから第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に前記パケットを送信する前記第２レイヤ部と、
前記複数のサービス処理装置のいずれかに前記パケットを送信するための前記第１のアドレスとして、第１のレイヤで規定された、前記第２レイヤ部のアドレスを前記クライアントに通知し、前記複数のサービス処理装置に対する、前記クライアントの利用状況の情報を収集するアドレス解決部と、
を有し、
前記アドレス解決部は、
前記第１レイヤ部が前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、収集した前記利用状況の情報を参照し、参照の結果、前記クライアントが前記複数のサービス処理装置のうち、第１のサービス処理装置を利用している場合、前記第１のサービス処理装置を示す、第１のレイヤで規定されたアドレスを該クライアントに通知し、該クライアントが送信するパケットの前記第１のアドレスを通知したアドレスに変更することを該クライアントに指示し、前記クライアントが前記複数のサービス処理装置のうち、前記第１のサービス処理装置とは異なる第２のサービス処理装置を利用している場合、前記第２のサービス処理装置を示す、第１のレイヤで規定されたアドレスを該クライアントに通知し、該クライアントが送信するパケットの前記第１のアドレスを通知したアドレスに変更することを該クライアントに指示する、サービス振分装置。
【請求項１０】
請求項１から３のいずれか１項記載のサービス振分方法に示す処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントに複数のサービスを提供可能な情報通信ネットワークにおいて、クライアントの接続先を、クライアントの要求するサービスに応じて、その提供元に振り分けるサービス振分方法、サービス振分装置、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来、複数のサービスが存在するネットワークにおいて、クライアントが所望のサービス処理を行う機能を有する装置への転送を行うため、まずパケット参照範囲が小さく処理が単純でハードウェア化が容易なＬ２スイッチやＬ３スイッチにより、大きな粒度で振り分けた後、パケット参照範囲が大きいＬ４スイッチやＬ７スイッチにより、細かい粒度で振り分けることで、サービスを識別したパケット転送を行っている。
【０００３】
このとき、クライアントが、必ずしも振り分けたい粒度でＬ２やＬ３のアドレスを保持することはできないため、多種のサービスに対応するためには、全パケットが必ずＬ４スイッチやＬ７スイッチにより振り分けられることが必要となる。
【０００４】
Ｌ４スイッチは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）のポート番号まで参照して振分先を決定することから、より多種のサービスに対しサービスセッション単位の振り分けが可能となる。また、Ｌ７スイッチは、パケットのペイロードの中身まで参照して振分先を決定することから、Ｌ４スイッチと同様に、より多種のサービスに対しサービスセッション単位の振り分けが可能となる。
【０００５】
なお、特許文献１には、ユーザの通信端末を複数のＩＳＰサービスへの振り分けを行う際、Ｌ２で規定されたＶＬＡＮＩＤに基づいてＩＳＰサービスを識別することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３１１９５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された通信方法では、Ｌ２で規定されたアドレスだけでは、細かい粒度で多種のサービスの振り分けを行うことができない。Ｌ４スイッチやＬ７スイッチを用いた通信においては、Ｌ４スイッチやＬ７スイッチは、Ｌ２スイッチやＬ３スイッチに比べてパケット参照範囲が大きく、高機能なため、パケット転送処理に時間がかかり、転送容量の拡大においてボトルネックとなってしまうという問題点がある。
【０００８】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、提供される複数のサービスに対してクライアントの要求に応じて接続を行うネットワークにおいて、パケット転送容量の拡大を可能にしたサービス振分方法、サービス振分装置、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明のサービス振分方法は、クライアントから送信されるパケットを、複数のサービス処理装置のうちのいずれかにネットワークを介して転送するサービス振分方法であって、
前記パケットの第１のレイヤのヘッダから第１のアドレスの情報を読み出し、該第１のアドレスから、送信先のサービス処理装置を特定できるか否かを判定し、
前記第１のアドレスから前記送信先のサービス処理装置を特定できる場合、該第１のアドレスが示すサービス処理装置に前記パケットを送信し、前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、前記パケットにおいて前記第１のレイヤよりも上位レイヤの第２のレイヤのヘッダから第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に該パケットを送信するものであり、
前記複数のサービス処理装置に対する、前記クライアントの利用状況の情報を予め収集し、
前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、収集した前記利用状況の情報を参照し、参照の結果、前記クライアントが前記複数のサービス処理装置のうち、第１のサービス処理装置を利用している場合、前記クライアントから受信するパケットの前記第１のアドレスを前記第１のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換し、前記クライアントが前記複数のサービス処理装置のうち、前記第１のサービス処理装置とは異なる第２のサービス処理装置を利用している場合、前記クライアントから受信するパケットの前記第１のアドレスを前記第２のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換し、前記クライアントが前記第１および第２のサービス処理装置の両方を利用している場合、前記第２のアドレスを読み出して前記送信先のサービス処理装置を特定するものである。
【００１０】
また、本発明のサービス振分装置は、クライアントから受信するパケットを、複数のサービス処理装置のうちのいずれかにネットワークを介して転送するサービス振分装置であって、
前記パケットに含まれる第１のレイヤのヘッダから第１のアドレスの情報を読み出し、該第１のアドレスから、送信先のサービス処理装置を特定できるか否かを判定し、該第１のアドレスから前記送信先のサービス処理装置を特定できる場合、該第１のアドレスで特定されるサービス処理装置にパケットを送信し、前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、前記パケットを第２レイヤ部に転送する第１レイヤ部と、
前記第１レイヤ部からパケットを受信すると、該パケットにおいて前記第１のレイヤよりも上位レイヤの第２のレイヤのヘッダから第２のアドレスの情報を読み出し、該第２のアドレスで特定されるサービス処理装置に前記パケットを送信する前記第２レイヤ部と、
前記複数のサービス処理装置のいずれかに前記パケットを送信するための前記第１のアドレスとして、第１のレイヤで規定された、前記第２レイヤ部のアドレスを前記クライアントに通知し、前記複数のサービス処理装置に対する、前記クライアントの利用状況の情報を収集するアドレス解決部と、
を有し、
前記アドレス解決部は、
前記第１レイヤ部が前記第１のアドレスから前記送信先のサービス処理装置を特定できない場合、収集した前記利用状況の情報を参照し、参照の結果、前記クライアントが前記複数のサービス処理装置のうち、第１のサービス処理装置を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを前記第１のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換させ、前記クライアントが前記複数のサービス処理装置のうち、前記第１のサービス処理装置とは異なる第２のサービス処理装置を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを前記第２のサービス処理装置を示す、第１のレイヤで規定されたアドレスに変換させ、前記クライアントが前記第１および第２のサービス処理装置の両方を利用している場合、前記第１レイヤ部に前記クライアントから受信するパケットの前記第１のアドレスを維持させる構成である。
【００１１】
さらに、本発明のプログラムは、上記の本発明のサービス振分方法に示す処理をコンピュータに実行させるものである。
【発明の効果】
【００１２】
本発明によれば、複数のサービスを提供する装置とクライアントとの接続の振り分けに際して、上位レイヤでのサービス識別の処理の負荷を抑制することで、パケット転送容量を拡大することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図２】クライアント、アドレス解決部および第２レイヤ部のそれぞれに格納されるテーブルの一例を示す図である。
【図３】第１レイヤ部に格納される変換テーブルの例を示す図である。
【図４】第１の実施形態のサービス振り分け動作を示すシーケンス図である。
【図５】第２の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図６】第２レイヤ部に格納される変換テーブルの一例を示す図である。
【図７】第３の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図８】実施例１のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図９】第１レイヤ部の転送テーブルの一例を示す図である。
【図１０】第４の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図１１】クライアントに格納されるアドレステーブルの一例を示す図であり、
【図１２】アドレス解決部に格納されるアドレステーブルの例を示す図である。
【図１３】第５の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図１４】クライアントおよびアドレス解決部に格納されるアドレステーブルの例を示す図である。
【図１５】アドレス解決部に格納されるアドレステーブルの例を示す図である。
【図１６】第６の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【図１７】第２レイヤ部に格納される転送テーブルの一例を示す図であり、
【図１８】第１レイヤ部に格納される変換テーブルの例を示す図である。
【図１９】第７の実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
本実施形態について図面を参照して説明する。図１は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。
【００１５】
図１に示すように、本実施形態のサービス振分装置１０は、データの送受信を行う複数のクライアント２０、Ａサービスを提供するための処理を行うＡサービス処理装置７０、および、Ｂサービスを提供するための処理を行うＢサービス処理装置８０のそれぞれとネットワークを介して接続されている。説明を簡単にするために、本実施形態では、クライアント２０が１つの場合とし、また、Ａサービス処理装置７０およびＢサービス処理装置８０のそれぞれが１つの場合とする。
【００１６】
サービス振分装置１０は、サービス処理装置に対するクライアント２０の利用状況を把握し、クライアント２０に通知するアドレスを管理するアドレス解決部３０と、クライアント２０から受信するパケットを転送する第１レイヤ部４０および第２レイヤ部５０と、第１レイヤ部４０および第２レイヤ部５０に振り分けられたパケットを多重化してＡサービス処理装置７０またはＢサービス処理装置８０に転送する接続部６０ａ、６０ｂとを有する。
【００１７】
第１レイヤ部４０は、クライアント２０から受信するパケットを参照し、参照情報に基づいてパケット処理を行う。第１レイヤ部４０は、パケット参照範囲が小さく、処理が比較的単純であるため、ハードウェア化し易い構成である。第２レイヤ部５０は、第１レイヤ部４０よりもパケット参照範囲が大きく、複雑な処理を行う。
【００１８】
第１レイヤ部４０は、受信するパケットの第１レイヤのヘッダに記述されたアドレスの情報を読み出して、そのパケットの送信先を特定する。第２レイヤ部５０は、受信するパケットにおいて、第１レイヤよりも上位レイヤに相当する第２レイヤのヘッダに記述されたアドレスの情報を読み出し、そのパケットの送信先を特定する。例えば、第１レイヤはＯＳＩ（国際標準化機構）参照モデルのＬ２やＬ３であり、第２レイヤはＬ４やＬ７である。以下では、第１レイヤに規定されるアドレスを第１レイヤアドレスと称し、第２レイヤに規定されるアドレスを第２レイヤアドレスと称する。
【００１９】
接続部６０ａ、６０ｂのそれぞれは、第１レイヤ部４０および第２レイヤ部５０のそれぞれから振り分けられたパケットを多重化する多重化部６１を有する。接続部６０ａは、多重化部６１で多重化されたデータをＡサービス処理装置７０に転送する。接続部６０ｂは、多重化部６１で多重化されたデータをＢサービス処理装置８０に転送する。
【００２０】
本実施形態では、Ａサービス処理装置７０に、第１レイヤアドレスＬ１−３が割り当てられ、第２レイヤアドレスＬ２−１が割り当てられているものとする。また、Ｂサービス処理装置８０に、第１レイヤアドレスＬ１−５が割り当てられ、第２レイヤアドレスＬ２−２が割り当てられているものとする。
【００２１】
図１に示した各装置の構成を詳しく説明する。図２はクライアント、アドレス解決部および第２レイヤ部のそれぞれに格納されるテーブルの一例を示す図である。図３は第１レイヤ部に格納される変換テーブルの例を示す図である。
【００２２】
クライアント２０は、アドレステーブル２１と、パケット生成部２２とを有する。アドレステーブル２１は図に示さない記憶部に格納されている。図２（ａ）は、アドレステーブル２１の一例である。図２（ａ）では、ＡサービスおよびＢサービスのうち、少なくともいずれかのサービスの利用に際して、クライアント２０に対し、第１レイヤアドレスとして、第２レイヤ部５０の第１レイヤアドレスＬ１−２がアドレス解決部３０から付与されている場合を示す。
【００２３】
ユーザがクライアント２０を操作して利用するサービスに関する指示を入力すると、パケット生成部２２は、アドレステーブル２１を参照し、第１レイヤアドレスをパケットの第１レイヤのヘッダに記述し、利用するサービスに対応する第２レイヤアドレスをパケットの第２レイヤのヘッダに記述し、そのパケットをサービス振分装置１０に送信する。
【００２４】
アドレス解決部３０は、アドレステーブル３１と、処理装置利用状況ＤＢ３２と、アドレス通知部３３と、アドレス変換設定部３４とを有する。アドレステーブル３１および処理装置利用状況ＤＢ３２は図に示さない記憶部に格納されている。図２（ｂ）はアドレステーブル３１の一例である。アドレス通知部３３は、クライアント２０からＡサービスまたはＢサービスを利用する旨の要求を受け取ると、第２レイヤ部５０の第１レイヤアドレスＬ１−２をクライアント２０に通知する。
【００２５】
アドレス変換設定部３４は、Ａサービス処理装置７０およびＢサービス処理装置８０から受信する、クライアント２０の利用状況の情報を処理装置利用状況ＤＢ３２に記録するとともに、処理装置利用状況ＤＢ３２を参照し、第１レイヤ部４０に対して、クライアント２０から受信するパケットのアドレス変換を指示する。
【００２６】
第１レイヤ部４０は、転送テーブル４１と、変換テーブル４２と、転送処理部４３と、アドレス変換部４４とを有する。転送テーブル４１および変換テーブル４２は図に示さない記憶部に格納されている。転送テーブル４１には、Ａサービス処理装置７０およびＢサービス処理装置８０など、ネットワークに接続されている他の装置の第１レイヤアドレスが登録されている。図３（ａ）および図３（ｂ）は変換テーブル４２の具体例である。図３（ａ）は、第２レイヤ部５０にパケット転送処理が発生するアンオフロード時の変換テーブルの一例である。図３（ｂ）は、第２レイヤ部５０の負荷を軽減させるオフロード時の変換テーブルの一例である。
【００２７】
アドレス変換部４４は、アドレス解決部３０からのアドレス変換の指示に基づいて、変換テーブル４２を更新する。また、アドレス変換部４４は、クライアント２０からパケットを受信すると、パケットの第１レイヤのヘッダに記述されたアドレスを、変換テーブル４２を参照して変更する。転送処理部４３は、アドレス変換部４４からパケットを受け取ると、パケットの第１レイヤのヘッダからアドレスを読み出し、転送テーブル４１を参照して、アドレスに対応する装置宛にパケットを送出する。
【００２８】
第２レイヤ部５０は、転送テーブル５１と、転送処理部５２とを有する。転送テーブル５１は図に示さない記憶部に格納されている。転送テーブル５１には、Ａサービス処理装置７０およびＢサービス処理装置８０など、ネットワークに接続されている他の装置の第２レイヤアドレスが登録されている。図２（ｃ）は転送テーブル５１の一例である。図２（ｃ）に示すテーブルでは、第２レイヤアドレスＬ２−１と出力ポート＃２−１が組になって記述され、第２レイヤアドレスＬ２−２と出力ポート＃２−３が組になって記述されている。
【００２９】
転送処理部５２は、第１レイヤ部４０からパケットを受信すると、パケットの第２レイヤのヘッダからアドレスを読み出し、転送テーブル５１を参照して、そのアドレスに対応する出力ポートを特定し、特定した出力ポートからパケットを送出する。出力ポート＃２−１は接続部６０ａを介してＡサービス処理装置７０に接続され、出力ポート＃２−３は接続部６０ｂを介してＢサービス処理装置８０に接続されている。
【００３０】
Ａサービス処理装置７０は、サービス処理部７１と、利用状況通知部７２と、検出部７３とを有する。サービス処理部７１は、クライアント２０から受信するパケットに含まれる情報にしたがってサービスを提供する。利用状況通知部７２は、クライアント２０の利用状況の情報を定期的にサービス振分装置１０のアドレス解決部３０に通知する。検出部７３は、第１レイヤ４０および第２レイヤ５０から受信するパケットが自装置宛か否かを判定し、自装置宛のパケットである場合、パケットをサービス処理部７１に渡す。一方、検出部７３は、受信したパケットが自装置宛のパケットでない場合、Ａサービス以外の異なるサービスを利用するためのパケットを受信したと判定し、異サービスのパケットを検出したことをサービス振分装置１０のアドレス解決部３０に通知し、そのパケットを第２レイヤ部５０に返送する。
【００３１】
なお、Ｂサービス処理装置８０の構成もＡサービス処理装置７０の構成と同様であるため、詳細な説明を省略する。また、本実施形態では、Ａサービス処理装置７０およびＢサービス処理装置８０への転送機能が接続部６０ａ、６０ｂに設けられている場合で説明しているが、これらのサービス処理装置への転送機能が第１レイヤ部４０および第２レイヤ部５０に設けられていてもよい。この場合の実施形態は後述する。
【００３２】
次に、図１に示すサービス振分装置１０が実行するサービス振り分け動作を説明する。図４は本実施形態のサービス振り分け動作を示すシーケンス図である。
【００３３】
クライアント２０がＡサービスの利用を開始する際、Ａサービスを利用するための第１レイヤアドレスをサービス振分装置１０に要求する（ステップ１００１）。アドレス解決部３０は、クライアント２０から第１レイヤアドレスの要求を受け付けると、クライアント２０がまだいずれのサービス処理装置も利用していないことから第２レイヤ部５０に対応する第１レイヤアドレスＬ１−２をクライアント２０に返答する（ステップ１００２）。
【００３４】
クライアント２０は、アドレス解決部３０から受け付けた第１レイヤアドレスＬ１−２を宛先としてパケットを生成して送付する（ステップ１００４）。アドレス解決部３０は、クライアント２０のＡサービス処理装置７０の利用状況から、クライアント２０はＡサービスしか利用していないと判断し、第１レイヤ部４０において、受信するパケットの振り分け前に、クライアント２０からの第１レイヤアドレスＬ１−２宛のパケットの宛先をＡサービス処理装置７０の第１レイヤアドレスＬ１−３に変換するように設定する（ステップ１００３）。
【００３５】
第１レイヤ部４０は、アドレス解決部３０からのアドレス変換の指示に基づいて、クライアント２０から受信するパケットを第２レイヤ部５０に転送する処理を行わずに、直接Ａサービス処理装置７０へと振り分け（ステップ１００５、１００６）、接続部６０ａがその振り分けに基づきパケットをＡサービス処理装置７０に転送する（ステップ１００７）。
【００３６】
その後、クライアント２０がＡサービスに加えてＢサービスの利用を開始すると、クライアント２０は同一の第１レイヤアドレスしか保持していないことから、Ｂサービスに対するパケットも第１レイヤアドレスＬ１−２宛で送付する（ステップ１００８）。その結果、第１レイヤ部４０がＢサービスに振り分けるべきパケットをＡサービス処理装置７０に振り分けてしまうことになる（ステップ１００９〜１０１１）。Ａサービス処理装置７０は、接続部６０ａから受信したパケットが他サービス宛のパケットであることを検出すると、Ａサービスとは異なるサービスのパケットを受信したことを示す異サービス検出をアドレス解決部３０に通知するとともに（ステップ１０１２）、そのパケットを接続部６０ａに返送する（ステップ１０１４）。
【００３７】
接続部６０ａは、Ａサービス処理装置７０から受信したパケットの宛先がＡサービス処理装置７０を示すアドレスであることから、パケットの折り返しであることを検出すると（ステップ１０１５）、異サービス検出によるパケットの返送と判断し、そのパケットを第２レイヤ部５０に送信する。第２レイヤ部５０は、接続部６０ａからパケットを受信すると、そのパケットの第２レイヤのヘッダで宛先を調べ、そのパケットをＢサービス処理装置８０へと振り分けて（ステップ１０１６）、接続部６０ａを介してＢサービス処理装置８０に転送する（ステップ１０１７）。
【００３８】
ステップ１０１２において、アドレス解決部３０は、Ａサービス処理装置７０から異サービス検出の通知を受けると、クライアント２０がＡサービスとＢサービスの両方を利用していると判断する。そして、アドレス解決部３０は、第１レイヤ部４０における第１レイヤアドレス変換として、クライアント２０の第１レイヤアドレスＬ１−２宛のパケットの宛先をＬ１−２のままにするように設定する（ステップ１０１３）。その結果、第１レイヤ部４０はクライアント２０から受信するパケットを第２レイヤ部５０に転送し（ステップ１０１８〜１０２０）、クライアント２０から送出されるパケットを第２レイヤ部５０が第２レイヤアドレスに基づいて振り分けることで（ステップ１０２１）、Ａサービスに対するパケットはＡサービス処理装置７０に転送され（ステップ１０２２）、Ｂサービスに対するパケットはＢサービス処理装置８０に転送される（ステップ１０２３）。
【００３９】
クライアント２０がＡサービスの利用を終了し、Ｂサービスしか利用しない状況になると、アドレス解決部３０は、Ａサービス処理装置７０に対するクライアント２０の利用状況から（ステップ１０２４）、クライアント２０がＢサービスしか利用していないと判断し、第１レイヤ部４０における第１レイヤアドレス変換を、クライアント２０の第１レイヤアドレスＬ１−２宛のパケットの宛先を第１レイヤアドレスＬ１−５宛に変換するよう設定する（ステップ１０２５）。そして、第１レイヤ部４０は、アドレス解決部３０からのアドレス変換の指示に基づいて、クライアント２０から受信するパケットを第２レイヤ部５０に転送する処理を行わずに、直接Ｂサービス処理装置８０へと振り分け（ステップ１０２７、１０２８）、接続部６０ｂがその振り分けに基づきパケットをＢサービス処理装置８０に転送する（ステップ１０２９）。
【００４０】
このように、上述した構成のネットワークでは、クライアント２０は、サービス振分装置１０における、第１レイヤ部４０のみの振り分けにより、または第１レイヤ部４０および第２レイヤ部５０の振り分けにより、複数のサービスに対応する複数のサービス処理装置のうち、所望のサービスのサービス処理装置の１つと接続される。
【００４１】
本実施形態によれば、複数のサービスに対応して複数のサービス提供手段が接続されたネットワークにおいて、クライアントからのサービス提供手段への接続の振り分けを、可能な限り第１レイヤのみでサービスを識別して行い、必要な場合にのみ第１レイヤよりも上位レイヤの第２レイヤでサービスを識別して行っている。このようにして、クライアントから送出されたパケットを複数のサービス提供手段のうち、いずれかに転送する際、上位レイヤの第２レイヤにおけるサービス識別による負荷を抑制することで、パケット転送容量を拡大することができる。
【００４２】
（第２の実施形態）
本実施形態は、第１の実施形態で説明した接続部がサービス振分装置に設けられておらず、第１レイヤ部がクライアントからの接続要求を振り分け、指定されたサービス処理装置にクライアントを接続する構成である。
【００４３】
本実施形態のサービス振分装置の構成を説明する。図５は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。図６は本実施形態の第２レイヤ部に格納される変換テーブルの一例を示す図である。第１の実施形態と同様な構成については、その詳細な説明を省略し、第１の実施形態と異なる点を詳しく説明する。
【００４４】
本実施形態のサービス振分装置１１には、図１に示した接続部６０ａ、６０ｂが設けられていないが、第１レイヤ部４０がＡサービス処理装置７０およびＢサービス処理装置８０とネットワークを介して接続されている。
【００４５】
サービス振分装置１１は、変換テーブル１５１およびアドレス変換部１５２を含む第２レイヤ部５３を有する。第２レイヤ部５３のアドレス変換部１５２は、受信するパケットを詳細に参照して、第２レイヤアドレスからサービス処理装置を識別すると、図６に示す変換テーブルを参照し、第１レイヤアドレスを識別したサービス処理装置の第１レイヤアドレスに変換した後、パケットを第１レイヤ部４０に返送する。
【００４６】
図６には、第２レイヤアドレスに対応して、変換前の第１レイヤアドレスと変換後の第１レイヤアドレスが記述されている。アドレス変換部１５２は、受信したパケットの第２レイヤアドレスからＡサービス処理装置７０宛のパケットであることを認識すると、パケットの第１レイヤアドレスをＬ１−２からＬ１−３に変換し、受信したパケットがＢサービス処理装置８０宛であることを認識すると、パケットの第１レイヤアドレスをＬ１−２からＬ１−５に変換する。
【００４７】
第１レイヤ部４０は、第２レイヤ部５３からパケットを受け取ると、第１レイヤアドレスを読み出し、転送テーブルを参照し、送信先となるサービス処理装置にパケットを転送する。本実施形態でも、サービス処理装置からの異サービス検出時により返送されたパケットは、第１レイヤ部４０で検出され、第２レイヤ部５３による振り分けとアドレス変換後に第１レイヤ部４０で振り分けられ、正しいサービス処理装置へと転送される。
【００４８】
本実施形態では、サービス振分装置が接続部を備えていなくても、第２レイヤ部でパケットの送信先のサービス処理装置を特定し、特定したサービス処理装置宛の第１レイヤアドレスにパケットを変換した後、第１レイヤ部へパケットを返送し、第１レイヤ部でパケットを再度振り分けて転送することが可能である。そのため、第１の実施形態と同様な効果が得られる。
【００４９】
（第３の実施形態）
本実施形態は、第１の実施形態で説明した接続部がサービス振分装置に設けられておらず、第１レイヤ部および第２レイヤ部のそれぞれがクライアントからの接続要求を振り分け、指定されたサービス処理装置にクライアントを接続するものである。
【００５０】
本実施形態のサービス振分装置の構成を説明する。図７は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。第１の実施形態と同様な構成については、その詳細な説明を省略し、第１の実施形態と異なる点を詳しく説明する。
【００５１】
本実施形態のサービス振分装置１２には、第２の実施形態と同様に、図１に示した接続部６０ａ、６０ｂが設けられておらず、第１レイヤ部４０がＡサービス処理装置７０およびＢサービス処理装置８０とネットワークを介して接続されている。また、サービス振分装置１２では、第２レイヤ部５０がＡサービス処理装置７０およびＢサービス処理装置８０とネットワークを介して接続されている。
【００５２】
本実施形態では、図７に示すように、サービス振分装置１２が接続部６０ａ、６０ｂを有しておらず、第１レイヤ部４０および第２レイヤ部５０のそれぞれが直接パケットを転送する構成である。本実施形態でも、異サービス検出時にサービス処理装置から第２レイヤ部５０宛に返送されるパケットは、第２レイヤ部５０による再度の振り分けにより、正しいサービス処理装置へと転送される。
【００５３】
本実施形態では、各サービス処理装置に対する、第１レイヤ部によるパケット振り分けの経路と第２レイヤ部によるパケット振り分けの経路が別々に設けられているため、サービス振分装置に接続部が設けられていなくても、クライアントを所望のサービス処理装置に接続させることが可能となる。そのため、第１の実施形態と同様な効果が得られる。
【実施例１】
【００５４】
本実施例は、第１の実施形態において、第１レイヤがイーサネット（登録商標）の場合である。
【００５５】
図８は本実施例のサービス振分装置を含むネットワークの一構成例を示すブロックである。図９は第１レイヤ部の転送テーブルの一例を示す図である。図９（ａ）は、第２レイヤ部５０にパケット転送処理が発生するアンオフロード時の転送テーブルの一例である。図９（ｂ）は、第２レイヤ部５０の負荷を軽減させるオフロード時の転送テーブルの一例である。
【００５６】
アドレス解決部３０は、クライアントからのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）に対してＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを返答し、第１レイヤ部４５はＭＡＣラーニングで振り分けテーブルを作成し振り分けを行う。第１レイヤアドレスのアドレス変換はＭＡＣアドレス変換で行う。
【００５７】
本実施例のサービス振分装置１３は、第１レイヤ部４５ではアドレス変換を行わずに、参照したパケットの情報をもとに明示的に出力ポートを指定することで振り分けを行う。クライアント２０のサービス利用状況から、アドレス解決部３０が第１レイヤ部４５の転送テーブル４１を設定することで振り分けを実施する。
【００５８】
例えば、クライアント２０がＡサービスとＢサービスを利用している場合、アドレス解決部３０は、クライアント２０からの、クライアント２０に通知済の第１レイヤアドレスＬ１−２宛のパケットを、出力ポート＃１−２に出力するように、転送テーブル４１を図９（ａ）に設定する。クライアント２０がＡサービスしか利用していない場合、アドレス解決部３０は、第１レイヤアドレスＬ１−２宛のパケットを出力ポート＃１−３に出力するように、転送テーブル４１を図９（ｂ）（出力ポート＃１−３）に設定する。クライアント２０がＢサービスしか利用していない場合、アドレス解決部３０は、第１レイヤアドレスＬ１−２宛のパケットを＃１−５に出力するように、転送テーブル４１を図９（ｂ）（出力ポート＃１−５）に設定する。
【００５９】
本実施例のように、第１レイヤがイーサネット（登録商標）の場合は、第１レイヤ部はクライアントを識別する送信元ＭＡＣアドレスやＶＬＡＮＩＤごとに宛先ＭＡＣアドレスと出力ポートを対応づけたテーブルを持ち、このテーブルを参照してパケットの振り分けを行う。このように、振り分けに使用するパラメータとして出力ポートなどを用いてもよい。
【００６０】
（第４の実施形態）
本実施形態は、第１レイヤ部でのアドレス変換を行わない場合の一例であり、アドレス解決部がクライアントにサービスに対応する第１レイヤアドレスをクライアントに通知するものである。
【００６１】
本実施形態のサービス振分装置の構成を説明する。図１０は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。第１の実施形態と同様な構成については、その詳細な説明を省略し、第１の実施形態と異なる点を詳しく説明する。
【００６２】
図１１はクライアントに格納されるアドレステーブルの一例を示す図であり、図１２はアドレス解決部に格納されるアドレステーブルの例を示す図である。図１２（ａ）は、第２レイヤ部５０にパケット転送処理が発生するアンオフロード時のアドレステーブルの一例である。図１２（ｂ）は、第２レイヤ部５０の負荷を軽減させるオフロード時のアドレステーブルの一例である。
【００６３】
クライアント２０のサービス利用状況から、アドレス解決部３５がクライアント２０毎に、送信してもらいたい第１レイヤアドレスを通知する。クライアント２０がＡサービスとＢサービスを利用している場合には、アドレス解決部３５は第１レイヤアドレスＬ１−２をクライアント２０に通知する。クライアント２０がＡサービスしか利用していない場合、アドレス解決部３５は、第１レイヤアドレスＬ１−３をクライアント２０に通知し、Ｂサービスしか利用していない場合、第１レイヤアドレスＬ１−５をクライアント２０に通知する。
【００６４】
図１１を参照して説明する。クライアント２０がＡサービスおよびＢサービスの両方を利用する場合、または、いずれを利用するか不明な場合、図１１に示すテーブルの第１レイヤアドレスにはＬ１−２が登録される。この場合、アドレステーブル３１に図１２（ａ）に示すテーブルが登録される。クライアント２０がＡサービスのみ利用する場合、図１１に示すテーブルの第１レイヤアドレスにはＬ１−３が登録される。クライアント２０がＢサービスのみ利用する場合、図１１に示すテーブルの第１レイヤアドレスにはＬ１−５が登録される。これらの場合、アドレステーブル３１に図１２（ｂ）に示すテーブルが登録される。
【００６５】
第１レイヤ部４５は、クライアント２０からパケットを受信すると、パケットから第１レイヤアドレスを読み出し、第１レイヤアドレスＬ１−２のパケットを第２レイヤ部５０に転送し、第１レイヤアドレスＬ１−３のパケットを接続部６０ａに転送し、第１レイヤアドレスＬ１−５のパケットを接続部６０ｂに転送する。
【００６６】
本実施形態では、クライアントのサービス利用状況から、アドレス解決部がクライアント毎に、送信してもらいたい第１レイヤアドレスを通知することで、クライアントにパケットの第１レイヤアドレスの変更を促している。そのため、第１レイヤ部ではアドレス変換を行わなくても、第２レイヤ部の負荷を軽減した、パケットの振り分けが第１レイヤ部で可能となる。その結果、第１の実施形態と同様な効果が得られる。
【００６７】
本実施形態において、第１レイヤがイーサネット（登録商標）の場合、アドレス解決部はクライアントからのＡＲＰに対してＭＡＣアドレスを返答し、第１レイヤ部はＭＡＣラーニングで振り分けテーブルを作成し振り分けを行う。アドレス解決部はクライアントのアドレス変更を促したい場合には、Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰを送信し、クライアントの再度のＡＲＰ送信を促し、そのＡＲＰに返答することでクライアントの送信するパケットのアドレス変更を行う。
【００６８】
（第５の実施形態）
本実施形態は、第１レイヤ部でのアドレス変換を行わない場合の別の例であり、アドレス解決部がクライアントに第１レイヤアドレスとして通知した仮想アドレスを、パケットの送信先に対応して動的に設定可能にしたものである。
【００６９】
本実施形態のサービス振分装置の構成を説明する。図１３は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。第１の実施形態と同様な構成については、その詳細な説明を省略し、第１の実施形態と異なる点を詳しく説明する。
【００７０】
図１４（ａ）はクライアントに格納されるアドレステーブルの一例を示し、図１４（ｂ）はアドレス解決部に格納されるアドレステーブルの一例を示す図である。図１５はアドレス解決部に格納されるアドレステーブルの例を示す図である。図１５（ａ）は、第２レイヤ部５０にパケット転送処理が発生するアンオフロード時のアドレステーブルの一例である。図１５（ｂ）は、第２レイヤ部５０の負荷を軽減させるオフロード時のアドレステーブルの一例である。なお、図１４（ｂ）はクライアント通知用のアドレステーブルであり、図１５（ａ）および図１５（ｂ）は制御用のアドレステーブルである。
【００７１】
アドレス解決部３６は、クライアント２０からのアドレス要求に対して、クライアント毎に異なる第１レイヤアドレスＬ１−Ｘを仮想的に割り当ててクライアント２０に通知する。図１４（ａ）のアドレステーブルは、第１レイヤアドレスとして、Ｌ１−Ｘが登録されている場合を示す。
【００７２】
第１レイヤ部４５がクライアント２０からパケットを受信すると、アドレス解決部３６のアドレス切替制御部１３１は、処理装置利用状況ＤＢ３２を参照する。クライアント２０がＡサービスとＢサービスを利用している場合、アドレス切替制御部１３１は、図１５（ａ）のテーブルを参照し、第２レイヤ部５０に対応する第１レイヤアドレスＬ１−２を、そのパケットの第１レイヤアドレスＬ１−Ｘに一時的に設定する。
【００７３】
一方、クライアント２０がＡサービスしか利用していない場合、アドレス切替制御部１３１は、図１５（ｂ）のテーブルを参照し、Ａサービス処理装置７０に対応する第１レイヤアドレスＬ１−３を、パケットの第１レイヤアドレスＬ１−Ｘに一時的に設定する。クライアント２０がＢサービスしか利用していない場合、アドレス切替制御部１３１は、図１５（ｂ）のテーブルを参照し、Ｂサービス処理装置８０に対応する第１レイヤアドレスＬ１−５を、パケットの第１レイヤアドレスＬ１−Ｘに一時的に設定する。
【００７４】
第１レイヤ部４５は、アドレス解決部３６によって設定された第１レイヤアドレスＬ１−Ｘをパケットから読み出し、第１レイヤアドレスＬ１−Ｘが第２レイヤ部５０に設定されていればパケットを第２レイヤ部５０に転送し、第１レイヤアドレスＬ１−ＸがＡサービス処理装置７０に設定されていればパケットを接続部６０ａに転送し、第１レイヤアドレスＬ１−ＸがＢサービス処理装置８０に設定されていればパケットを接続部６０ｂに転送する。
【００７５】
本実施形態のように、クライアントに通知する第１レイヤアドレスを固定しておき、アドレス解決部がサービス利用状況に合わせて接続先の第１レイヤアドレスを動的に切り替えることで接続先の割り振りを行ってもよい。
【００７６】
本実施形態では、第１レイヤ部ではアドレス変換を行わずに、クライアントのサービス利用状況から、アドレス解決部がクライアント毎に予め通知した仮想アドレスを、サービス処理装置および第２レイヤ部のうち、いずれかの第１レイヤアドレスに動的に切り替えることで、第２レイヤ部の負荷を軽減した、パケットの振り分けが第１レイヤ部で可能となる。そのため、第１の実施形態と同様な効果が得られる。
【００７７】
本実施形態において、第１レイヤがイーサネット（登録商標）の場合、アドレス解決部はクライアントからのＡＲＰに対して仮想ＭＡＣアドレスを返答し、クライアントごとにＶＬＡＮ設定を行うことでＭＡＣアドレスの重複を可能とし、第１レイヤ部はクライアントごとにＭＡＣラーニングで振り分けテーブルを作成し振り分けを行う。
【００７８】
（第６の実施形態）
本実施形態は、同種のサービスを提供するサービス処理装置が複数設けられ、これらのサービス処理装置にかかる負荷を分散するものである。
【００７９】
本実施形態のサービス振分装置の構成を説明する。図１６は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。第１の実施形態と同様な構成については、その詳細な説明を省略し、第１の実施形態と異なる点を詳しく説明する。
【００８０】
本実施形態では、図１６に示すように、２つのＡサービス処理装置７０ａ、７０ｂがネットワークに接続されているものとする。Ａサービス処理装置７０ｂには、第１レイヤアドレスＬ１−４が割り当てられ、第２レイヤアドレスＬ２−1が割り当てられている。Ａサービス処理装置７０ｂと第２レイヤ部５４との間に接続部６０ｃが接続されている。
【００８１】
図１７は第２レイヤ部に格納される転送テーブルの一例を示す図である。図１７に示すように、第２レイヤアドレスＬ２−１に対応して出力ポート＃２−１および出力ポート＃２−２が記述され、第２レイヤアドレスＬ２−２に対応して出力ポート＃２−３が記述されている。第２レイヤ部５０の出力ポート＃２−２は接続部６０ｃを介してＡサービス処理装置７０ｂと接続される。
【００８２】
図１８は第１レイヤ部に格納される変換テーブルの例を示す図である。図１８（ａ）は、第２レイヤ部５０にパケット転送処理が発生するアンオフロード時のアドレス変換テーブルの一例である。図１８（ｂ）は、第２レイヤ部５０の負荷を軽減させるオフロード時のアドレス変換テーブルの一例である。図１８（ａ）に示すように、アンオフロード時では、受信するパケットの第１レイヤアドレスは変更されない。図１８（ｂ）に示すように、オフロード時では、受信するパケットの第１レイヤアドレスＬ１−２は、Ｌ１−３、Ｌ１−４，Ｌ１−５のいずれかに変換される。
【００８３】
本実施形態のサービス振分装置１６は、処理装置負荷ＤＢ１３２および負荷分散部１３３を含むアドレス解決部３７を有する。Ａサービス処理装置７０ａ、７０ｂのそれぞれの利用状況通知部７２は、サービス提供に関する処理についての負荷を示す情報である負荷情報を定期的にサービス振分装置１６のアドレス解決部３７に通知する。負荷情報としては、例えば、単位時間あたりに受信するパケットの数、単位時間あたりに送出するパケットの数、メモリの使用容量、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の稼働時間、パケットを受信してから応答パケットを送出するまでの時間などがある。各Ａサービス処理装置から通知された負荷情報は、アドレス解決部３７の処理装置負荷ＤＢ１３２に記録される。このようにして、アドレス解決部３７が２つのＡサービス処理装置の負荷情報を収集する。
【００８４】
アドレス解決部３７の負荷分散部１３３は、処理装置負荷ＤＢ１３２を参照し、Ａサービス処理装置７０ａ、７０ｂのうち、負荷の小さい方にクライアント２０からのパケットを送信させるように、第１レイヤ部４０にＡサービスに対するアドレス変換を行わせる。例えば、Ａサービス処理装置７０ａの負荷よりもＡサービス処理装置７０ｂの負荷が大きければ、負荷分散部１３３は、図１８（ｂ）に示す変換テーブル４２において、「変更後」のアドレスを「Ｌ１−３」に設定する。
【００８５】
また、負荷分散部１３３は、Ａサービス処理装置７０ａ、７０ｂのうち、負荷の小さい方にクライアント２０からのパケットを送信させるように、第２レイヤ部５０にＡサービスに対する出力ポート変換を行わせる。例えば、Ａサービス処理装置７０ａの負荷よりもＡサービス処理装置７０ｂの負荷が大きければ、負荷分散部１３３は、図１７に示す転送テーブル５１において、第２レイヤアドレスＬ２−１に対応する出力ポートを「＃２−１」に設定する。このようにして、第１レイヤ部においてＡサービスに対する２つのアドレスと第２レイヤ部においてＡサービスに対する２つの出力ポートのそれぞれを使い分けることで、２つのＡサービス処理装置７０ａ、７０ｂの負荷分散を実現することが可能となる。
【００８６】
本実施形態では、アドレス解決部が各サービス処理装置の負荷情報を収集し、収集した負荷情報に基づいて、各サービス処理装置の負荷を分散するようにパケットの振り分け先を、第１レイヤ部と第２レイヤ部に指示している。そのため、複数のサービス処理装置に負荷を分散させるとともに、第２レイヤ部の負荷を軽減することが可能となる。
【００８７】
なお、本実施形態では、同種のサービスを提供する複数のサービス処理装置が２つの場合で説明したが、その数は２つに限らず、３つ以上であってもよい。この場合、これらの装置の負荷を分散するには、パケットを転送する際に、最も負荷の小さい装置を選択し、選択した装置にパケットを送信すればよい。
【００８８】
（第７の実施形態）
本実施形態は、第６の実施形態と同様に、同種のサービスを提供する複数のサービス処理装置の負荷分散を行う場合の別の例である。第６の実施形態では、アドレス解決部が負荷分散の制御を行うものであるが、本実施形態は、第１レイヤ部と第２レイヤ部がアドレス解決部から指定された範囲で負荷分散の制御を行うものである。
【００８９】
本実施形態のサービス振分装置の構成を説明する。図１９は本実施形態のサービス振分装置を含むネットワークの一構成例を示すブロックである。第１および第６の実施形態と同様な構成については、その詳細な説明を省略し、第１および第６の実施形態と異なる点を詳しく説明する。
【００９０】
図１９に示すように、本実施形態では、図１６に示したネットワークに、Ａサービス処理装置７０ｃが追加されている。Ａサービス処理装置７０ｃには、第１レイヤアドレスＬ１−６が割り当てられ、第２レイヤアドレスＬ２−1が割り当てられている。Ａサービス処理装置７０は第２レイヤ部５４の出力ポート＃２−４と接続部６０ｄを介して接続される。また、本実施形態のサービス振分装置１７は、負荷分散部１５３を含む第２レイヤ部５４と、負荷分散部１４１を含む第１レイヤ部４６とを有する。
【００９１】
第６の実施形態と同様にして、アドレス解決部３７は３つのＡサービス処理装置７０ａ〜７０ｃの負荷情報を収集する。そして、アドレス解決部３７の負荷分散部１３３は、Ａサービス処理装置７０ａ〜７０ｃのうち、負荷分散の対象となる範囲を特定し、その範囲で負荷分散を行うためのアドレス変換テーブルを作成して第１レイヤ部４６および第２レイヤ部５４に通知する。第１レイヤ部４６と第２レイヤ部５４のそれぞれは、受信するパケットをＡサービス処理装置に転送する際に、アドレス変換テーブルを参照し、アドレス解決部３７から指定された範囲においてＡサービス処理装置の負荷を分散するようにパケットを転送する。
【００９２】
なお、同種のサービスを提供する複数のサービス処理装置のうち、負荷分散の対象となる範囲を特定する方法として、アドレス解決部３７が、各サービス処理装置の負荷情報と閾値とを比較し、負荷情報が閾値より小さいサービス処理装置を負荷分散の対象にする方法が考えられる。この場合、閾値は予め決められていてもよく、各処理装置の負荷情報から予め決められた演算式にしたがってアドレス解決部３７が閾値を算出してもよい。算出する場合の閾値として、例えば、負荷情報の平均値がある。
【００９３】
ここで、本実施形態におけるサービス振分方法の具体例を説明する。
【００９４】
アドレス解決部３７は、３つのＡサービス処理装置７０ａ〜７０ｃの負荷情報を収集し、負荷分散部１３３は、Ａサービス処理装置７０ｃの負荷が他のＡサービス処理装置７０ａ、７０ｂよりも極端に大きいと判断すると、Ａサービスに関するパケットの宛先をＡサービス処理装置７０ａまたはＡサービス処理装置７０ｂにするためのアドレス変換テーブルを作成する。負荷分散部１３３は生成したアドレス変換テーブルを第１レイヤ部４６および第２レイヤ部５４に通知する。これにより、第２レイヤ部５４の転送テーブル５１に図１７に示した転送テーブルが登録され、第１レイヤ部４６の変換テーブル４２に図１８に示した変換テーブルが登録される。
【００９５】
第１レイヤ部４６の負荷分散部１４１は、Ａサービス処理装置を宛先とするパケットをクライアント２０から受信すると、変換テーブル４２を参照し、Ａサービス処理装置７０ａ、７０ｂのうち、いずれか一方にパケットを送信させるように、図１８（ｂ）に示す変換テーブル４２の「変換後」のアドレスを書き換える。ここでは、「変更後」のアドレスを「Ｌ１−３」にしたものとする。その後、負荷分散部１４１は、パケットをアドレス変換部４４に渡す。アドレス変換部４４および転送処理部４３の処理は第１の実施形態と同様なため、詳細な説明を省略するが、第１レイヤアドレスとして「Ｌ１−３」がヘッダに記述されたパケットは接続部６０ａを介してＡサービス処理装置７０ａに送信される。
【００９６】
その次に、第１レイヤ部４６がＡサービス処理装置を宛先とするパケットをクライアント２０から受信すると、負荷分散部１４１は、変換テーブル４２の「変換後」のアドレスを「Ｌ１−３」から「Ｌ１−４」に書き換えた後、パケットをアドレス変換部４４に渡す。そのパケットは、接続部６０ｂを介してＡサービス処理装置７０ｂに送信される。以降、負荷分散部１４１は、変換テーブル４２の「変換後」のアドレスに、「Ｌ１−３」と「Ｌ１−４」を交互に設定する。また、第１レイヤ部４６は、クライアント２０から第１レイヤアドレスが「Ｌ１−２」のパケットを受信すると、そのパケットを第２レイヤ部５４に転送する。
【００９７】
第２レイヤ部５４の負荷分散部１５３は、第１レイヤ部４６からパケットを受信すると、パケットの第２レイヤアドレスを読み出す。読み出した第２レイヤアドレスが「Ｌ２−１」であると、負荷分散部１５３は、Ａサービス処理装置７０ａ、７０ｂのうち、いずれか一方にパケットを送信させるように、図１７に示す転送テーブル５１の出力ポートを書き換える。ここでは、第２レイヤアドレスＬ２−１に対応する出力ポートを「＃２−１」にしたものとする。その後、負荷分散部１５３は、パケットを転送処理部５２に渡す。転送処理部５２の処理は第１の実施形態と同様なため、詳細な説明を省略するが、第２レイヤアドレスとして「Ｌ２−１」がヘッダに記述されたパケットは出力ポート＃２−１および接続部６０ａを介してＡサービス処理装置７０ａに送信される。
【００９８】
その次に、第２レイヤ部５４は第２レイヤアドレスが「Ｌ２−１」のパケットを第１レイヤ部４６から受信すると、負荷分散部１５３は、転送テーブル５１において第２レイヤアドレスＬ２−１に対応する出力ポートを「＃２−１」から「＃２−２」に書き換えた後、パケットを転送処理部５２に渡す。そのパケットは、出力ポート＃２−２および接続部６０ｂを介してＡサービス処理装置７０ｂに送信される。以降、負荷分散部１５３は、転送テーブル５１において、第２レイヤアドレスＬ２−１に対応する出力ポートとして、「＃２−１」と「＃２−２」を交互に設定する。
【００９９】
本実施形態では、アドレス解決部がサービス処理装置の負荷情報を収集し、負荷分散の対象とする範囲を第１レイヤ部と第２レイヤ部に指定し、第１レイヤ部と第２レイヤ部がアドレス解決部から指定された範囲においてサービス処理装置の負荷を分散するようにパケットの送信先を決めて、パケットの振り分けを行っている。そのため、第６の実施形態と同様な効果が得られる。
【０１００】
なお、上述の第１から第７の実施形態においては、接続部、第１レイヤ部、第２レイヤ部およびアドレス解決部が１つのサービス振分装置に含まれる構成の場合で説明したが、接続部、第１レイヤ部、第２レイヤ部およびアドレス解決部のうち、一部または各部が装置単体でネットワーク上に設けられていてもよい。
【０１０１】
また、アドレス解決部、第１レイヤ部、第２レイヤ部および接続部で実行される処理は、専用の回路で実現されてもよく、ＣＰＵがプログラムを実行することで実現されるものであってもよい。
【符号の説明】
【０１０２】
１０〜１７    サービス振分装置
２０    クライアント
３０、３５、３６、３７    アドレス解決部
４０、４５、４６    第１レイヤ部
５０、５３、５４    第２レイヤ部
６０ａ〜６０ｄ    接続部
７０、７０ａ〜７０ｃ    Ａサービス処理装置
８０    Ｂサービス処理装置
【図１】
0005437290.tif 000002
【図２】
0005437290.tif 000003
【図３】
0005437290.tif 000004
【図４】
0005437290.tif 000005
【図５】
0005437290.tif 000006
【図６】
0005437290.tif 000007
【図７】
0005437290.tif 000008
【図８】
0005437290.tif 000009
【図９】
0005437290.tif 000010
【図１０】
0005437290.tif 000011
【図１１】
0005437290.tif 000012
【図１２】
0005437290.tif 000013
【図１３】
0005437290.tif 000014
【図１４】
0005437290.tif 000015
【図１５】
0005437290.tif 000016
【図１６】
0005437290.tif 000017
【図１７】
0005437290.tif 000018
【図１８】
0005437290.tif 000019
【図１９】
0005437290.tif 000020