(57)【特許請求の範囲】
【請求項１】
複数のサービス処理装置と、振分対象のパケットを前記複数のサービス処理装置のいずれかに振り分ける振り分け装置と、を有してなる負荷分散システムであって、
前記振り分け装置は、
振分対象のパケットの発アドレスおよびプレフィックス長からなる識別子と、当該識別子で識別されるパケットの宛先となる宛先サービス処理装置の宛先装置ＩＤと、を含む振り分けルールを保持する管理テーブルと、
前記複数のサービス処理装置のうち最低負荷のサービス処理装置の装置ＩＤをＮＥＸＴ装置ＩＤとして管理する最低負荷装置管理部と、
振分対象のパケットの受信時に、当該パケットの発アドレスおよびプレフィックス長で前記管理テーブルを検索し、該当する振り分けルールが存在する場合、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置へ当該パケットを転送し、該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮであれば、前記最低負荷装置管理部が管理している最低負荷のサービス処理装置の前記ＮＥＸＴ装置ＩＤを前記宛先装置ＩＤに設定した振り分けルールを生成して前記管理テーブルに設定する転送部と、
前記管理テーブルに振り分けルールが設定されると、アイドルタイマーを開始し、以降に当該振り分けルールの前記識別子で識別されるパケットが通過すると、当該アイドルタイマーをリセットしてから再度開始するアイドルタイマー管理部と、を有し、
前記転送部は、前記アイドルタイマーの満了時に、該当する振り分けルールを前記管理テーブルから削除する、負荷分散システム。
【請求項２】
前記転送部は、
振分対象のパケットの受信時に、前記管理テーブルに該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグを確認する処理を省略し、前記振り分けルールを生成して前記管理テーブルに設定する処理を行う、請求項１に記載の負荷分散システム。
【請求項３】
前記最低負荷装置管理部は、
定期的に前記複数のサービス処理装置の各々のトラヒックを求め、トラヒックが最低値となる最低負荷のサービス処理装置の装置ＩＤを前記ＮＥＸＴ装置ＩＤに設定する、請求項１または２に記載の負荷分散システム。
【請求項４】
複数のサービス処理装置のいずれかに振分対象のパケットを振り分ける振り分け装置による負荷分散方法であって、
振分対象のパケットの発アドレスおよびプレフィックス長からなる識別子と、当該識別子で識別されるパケットの宛先となる宛先サービス処理装置の宛先装置ＩＤと、を含む振り分けルールを管理テーブルにて保持するステップと、
前記複数のサービス処理装置のうち最低負荷のサービス処理装置の装置ＩＤをＮＥＸＴ装置ＩＤとして管理する設定ステップと、
振分対象のパケットの受信時に、当該パケットの発アドレスおよびプレフィックス長で前記管理テーブルを検索し、該当する振り分けルールが存在する場合、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置へ当該パケットを転送し、該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮであれば、最低負荷のサービス処理装置の前記ＮＥＸＴ装置ＩＤを前記宛先装置ＩＤに設定した振り分けルールを生成して前記管理テーブルに設定する転送ステップと、
前記管理テーブルに振り分けルールが設定されると、アイドルタイマーを開始し、以降に当該振り分けルールの前記識別子で識別されるパケットが通過すると、当該アイドルタイマーをリセットしてから再度開始するステップと、
前記アイドルタイマーの満了時に、該当する振り分けルールを前記管理テーブルから削除するステップと、を有する負荷分散方法。
【請求項５】
前記転送ステップでは、
振分対象のパケットの受信時に、前記管理テーブルに該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグを確認する処理を省略し、前記振り分けルールを生成して前記管理テーブルに設定する処理を行う、請求項４に記載の負荷分散方法。
【請求項６】
前記管理ステップでは、
定期的に前記複数のサービス処理装置の各々のトラヒックを求め、トラヒックが最低値となる最低負荷のサービス処理装置の装置ＩＤを前記ＮＥＸＴ装置ＩＤに設定する、請求項４または５に記載の負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＴＣＰ（Transmission Control Protocol）セッションを維持しつつ動的にパケットを振り分ける負荷分散に関する技術である。
【背景技術】
【０００２】
ＩＰ（Internet Protocol）ネットワーク内に実装されるサービス機能において、需要に応じた柔軟な設備設計、コスト削減を目的に、サービスを実現する複数のサービス処理装置（TCP-statefull Firewall等）へのパケットの振り分けが行われている（パケットを振り分ける振り分け装置の一例は、非特許文献１に開示されている）。
【０００３】
この場合、振り分け装置は、ＴＣＰセッションを維持しつつ、パケットを振り分ける必要がある。ＴＣＰセッション維持が必要な理由について、図３を参照して説明する。
【０００４】
図３に示すように、TCP-statefull Firewallは、各パケットの信号を基にＴＣＰ状態（State）を保持し、シーケンス（sequence）に沿わないパケットは破棄する。
【０００５】
そのため、振り分け装置は、ＴＣＰセッションを維持し、同一ＴＣＰセッションのパケットを、同一サービス処理装置に振り分ける必要がある。
【０００６】
また、振り分け装置は、動的にパケットを振り分ける必要がある。動的な振り分け方式とは、振り分けルールが、予めかつ固定的に設けられておらず、サービス処理装置の負荷状況などにより定められ、適宜変更される振り分け方式のことである。
【０００７】
以下、既存技術の振り分け装置について詳細に説明する。
【０００８】
まず、振り分け装置が組み込まれる負荷分散システムについて説明する。
【０００９】
図４に、負荷分散システムのネットワーク構成の一例を示す。
【００１０】
図４に示すように、本例の負荷分散システムは、振り分け装置１０−１，１０−２と、サービス処理装置２０−１〜２０−３と、を有している。
【００１１】
振り分け装置１０−１は、クライアント（client）側に配置されており、クライアントからの上りパケットをサービス処理装置２０−１〜２０−３のいずれかに振り分ける。
【００１２】
振り分け装置１０−２は、サーバ（server）側に配置されており、サーバからの下りパケットをサービス処理装置２０−１〜２０−３のいずれかに振り分ける。
【００１３】
なお、図４において、３台のサービス処理装置２０−１〜２０−３が示されているが、サービス処理装置２０の数は２台以上であれば特に限定されない。
【００１４】
また、図４において、クライアントおよびサーバは省略されているが、クライアントおよびサーバの数も特に限定されない。
【００１５】
図５に、既存技術１の振り分け装置の機能ブロック図を示す。なお、図５は、既存技術１の振り分け装置を、図４の負荷分散システムへ振り分け装置１０−１として組み込むことを想定している。
【００１６】
図５に示すように、既存技術１の振り分け装置は、転送部１１１と、ＴＣＰ状態管理部１１２と、ラウンドロビン（Round Robin）処理部１１３と、を有している。
【００１７】
転送部１１１は、管理テーブル１１４を備えている。
【００１８】
管理テーブル１１４は、ＳＡ（Source Address、発アドレス）、ＤＡ（Destination Address、着アドレス）、ＳＰ（Source Port、発ポート番号）、ＤＰ（Destination Port、着ポート番号）からなるルール識別子と、そのルール識別子で識別されるパケットが属するＴＣＰセッションのセッション状態と、そのパケットの宛先となる宛先装置の宛先装置ＩＤと、を含む振り分けルールを保持するテーブルである。
【００１９】
振り分けルールは、上りのＳＹＮパケットの通過により生成され、管理テーブル１１４に設定される。このとき、宛先装置ＩＤには、ラウンドロビン処理部１１３がラウンドロビン方式で管理しているＮｅｘｔ装置ＩＤが設定される。
【００２０】
また、上りactive-FINの場合、ＴＣＰセッションの終了シーケンスは、図６に示すようなシーケンスとなる。この場合、振り分けルールは、下りのＦＩＮパケットに対する上りのＡＣＫパケットの通過により管理テーブル１１４から削除される。
【００２１】
ＴＣＰ状態管理部１１２は、転送部１１１が受信した上りと下りの全パケットのＴＣＰフラグ（TCP-FLG）をチェックして、パケットを判別する。
【００２２】
また、ＴＣＰ状態管理部１１２は、転送部１１１が受信したパケットのＳＡ、ＤＡ、ＳＰ、ＤＰで管理テーブル１１４を検索し、ＴＣＰフラグが状態遷移に沿ったものか判定し、管理テーブル１１４のセッション状態を変更する。
【００２３】
転送部１１１は、パケットを受信すると、受信したパケットのＳＡ、ＤＡ、ＳＰ、ＤＰで管理テーブル１１４を検索し、該当する振り分けルールの宛先装置ＩＤで示される宛先装置へパケットを転送する。
【００２４】
なお、下りパケットについて管理テーブル１１４を検索する場合は、ＳＡとＤＡ、ＳＰとＤＰを逆にして検索を行う。
【先行技術文献】
【非特許文献】
【００２５】
【非特許文献１】上谷  一、今野  徹、“連載：ロードバランサの本質（1）パケットフローから負荷分散の基本を理解する  〜NAT／コネクションテーブル／MAT〜”、2003年2月5日、F5ネットワークス、［2013年1月7日検索］、インターネット＜URL: http://www.atmarkit.co.jp/fnetwork/rensai/lb01/lb01.html＞
【発明の概要】
【発明が解決しようとする課題】
【００２６】
上述したように、既存技術１の振り分け装置は、ＴＣＰセッションを維持しつつ、動的にパケットを振り分けて負荷分散を行うが、以下の（１）〜（３）の３つの要因のために、負荷分散の高速化を図ることができない。
（１）ＴＣＰセッションを維持するため、上りと下りの全パケットのＴＣＰフラグをチェックする必要がある。
（２）ＴＣＰセッションを維持するため、ＴＣＰセッションのセッション状態を管理する必要がある。
（３）ＴＣＰセッション単位で、パケットを振り分けるため、同時接続ＴＣＰセッション数分の振り分けルールを管理する必要がある。
【００２７】
そのため、振り分け装置には、負荷分散の高速化を図ることも要求される。
【００２８】
以下、負荷分散の高速化を図ることが可能な振り分け装置の一例として、既存技術２の振り分け装置について説明する。
【００２９】
図７に、既存技術２の振り分け装置の機能ブロック図を示す。なお、図７は、既存技術２の振り分け装置を、図４の負荷分散システムへ振り分け装置１０−１として組み込むことを想定している。
【００３０】
図７に示すように、既存技術２の振り分け装置は、転送部１２１と、ルールタイマー管理部１２２と、ラウンドロビン処理部１２３と、ルール設定ログ管理部１２４と、を有している。
【００３１】
転送部１２１は、管理テーブル１２５を備えている。
【００３２】
管理テーブル１２５は、ＳＡ、ＤＡ、ＳＰ、ＤＰからなるルール識別子と、そのルール識別子で識別される上りパケットの宛先となる宛先サービス処理装置２０の宛先装置ＩＤと、を含む振り分けルールを保持するテーブルである。
【００３３】
振り分けルールは、後述のように、上りのＳＹＮパケットの通過により生成され、管理テーブル１２５に設定される。このとき、宛先装置ＩＤには、ラウンドロビン処理部１２３がラウンドロビン方式で管理しているＮｅｘｔ装置ＩＤが設定される。
【００３４】
また、振り分けルールが管理テーブル１２５に設定されると、ルールタイマー管理部１２２によりタイマーが開始され、タイマーが満了すると、その振り分けルールは管理テーブル１２５から削除される。
【００３５】
転送部１２１は、上りパケットを受信すると、受信した上りパケットのＳＡ、ＤＡ、ＳＰ、ＤＰで管理テーブル１２５を検索し、該当する振り分けルールが存在するか判断する。
【００３６】
管理テーブル１２５に該当する振り分けルールが存在する場合、転送部１２１は、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置２０へ上りパケットを転送する。
【００３７】
一方、タイマーが満了し、管理テーブル１２５に該当する振り分けルールが存在しない場合、転送部１２１は、上りパケットのＴＣＰフラグがＳＹＮであるか否かを確認する。
【００３８】
上りパケットがＳＹＮパケットである場合、転送部１２１は、新たな振り分けルールを生成して管理テーブル１２５に設定する。このとき、宛先装置ＩＤには、ラウンドロビン処理部１２３がラウンドロビン方式で管理しているＮｅｘｔ装置ＩＤが設定される。
【００３９】
一方、上りパケットがＳＹＮパケット以外のパケットである場合、この時点では振り分けルールは既に削除されているため、その上りパケットを処理することができない。こうした状況は、タイマー時間が通信時間よりも短い場合に発生し得る。そのため、既存技術２の振り分け装置では、継続ルールを設定するため、ルール設定ログ管理部１２４がルール設定ログリスト１２６を管理している。ルール設定ログリスト１２６は、ＳＡ、ＤＡ、ＳＰ、ＤＰで識別されるパケットが実際に転送された宛先サービス処理装置２０の宛先装置ＩＤを表すログのリストである。この場合、転送部１２１は、ルール設定ログリスト１２６に従って、宛先サービス処理装置２０へ上りパケットを転送する。
【００４０】
なお、転送部１２１は、下りパケットを受信した場合、管理テーブル１２５の検索を行わず、その下りパケットをそのままスルーさせる。
【００４１】
既存技術２の振り分け装置は、ＴＣＰセッションの終了判定を、ＴＣＰ状態の管理によらずに、タイマーを用いることで行うため、負荷分散の高速化を図ることが可能となる。
【００４２】
しかし、既存技術２の振り分け装置には、以下のような課題がある。
（１）第１の課題
ＴＣＰセッション毎に最初のパケットのＴＣＰフラグをチェックする必要がある。また、ＴＣＰセッション毎にタイマー付きの振り分けルールを設定するため、ルール数・タイマー数が多くなる。
（２）第２の課題
タイマーは固定的に振り分けルール設定時に開始するため、タイマーが満了する度にパケットのＴＣＰフラグをチェックして継続ルールを設定する必要があるため、振り分けルールとは別の時間の長いタイマーを持つルール設定ログリストを保持・検索しなければならない。
（３）第３の課題
ＴＣＰ−ＳＹＮパケットの検出毎に、ラウンドロビン方式により、宛先サービス処理装置２０を変更するが、セッション時間の長短、トラヒック量の違いなどに起因して、最低負荷のサービス処理装置２０へパケットが振り分けられない可能性がある。
【００４３】
そこで、本発明の目的は、上述した既存技術２の課題を解決することができる負荷分散システムおよびその方法を提供することにある。
【課題を解決するための手段】
【００４４】
本発明の負荷分散システムは、
複数のサービス処理装置と、振分対象のパケットを前記複数のサービス処理装置のいずれかに振り分ける振り分け装置と、を有してなる負荷分散システムであって、
前記振り分け装置は、
振分対象のパケットの発アドレスおよびプレフィックス長からなる識別子と、当該識別子で識別されるパケットの宛先となる宛先サービス処理装置の宛先装置ＩＤと、を含む振り分けルールを保持する管理テーブルと、
前記複数のサービス処理装置のうち最低負荷のサービス処理装置の装置ＩＤをＮＥＸＴ装置ＩＤとして管理する最低負荷装置管理部と、
振分対象のパケットの受信時に、当該パケットの発アドレスおよびプレフィックス長で前記管理テーブルを検索し、該当する振り分けルールが存在する場合、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置へ当該パケットを転送し、該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮであれば、前記最低負荷装置管理部が管理している最低負荷のサービス処理装置の前記ＮＥＸＴ装置ＩＤを前記宛先装置ＩＤに設定した振り分けルールを生成して前記管理テーブルに設定する転送部と、
前記管理テーブルに振り分けルールが設定されると、アイドルタイマーを開始し、以降に当該振り分けルールの前記識別子で識別されるパケットが通過すると、当該アイドルタイマーをリセットしてから再度開始するアイドルタイマー管理部と、を有し、
前記転送部は、前記アイドルタイマーの満了時に、該当する振り分けルールを前記管理テーブルから削除する。
【００４５】
本発明の負荷分散方法は、
複数のサービス処理装置のいずれかに振分対象のパケットを振り分ける振り分け装置による負荷分散方法であって、
振分対象のパケットの発アドレスおよびプレフィックス長からなる識別子と、当該識別子で識別されるパケットの宛先となる宛先サービス処理装置の宛先装置ＩＤと、を含む振り分けルールを管理テーブルにて保持するステップと、
前記複数のサービス処理装置のうち最低負荷のサービス処理装置の装置ＩＤをＮＥＸＴ装置ＩＤとして管理する設定ステップと、
振分対象のパケットの受信時に、当該パケットの発アドレスおよびプレフィックス長で前記管理テーブルを検索し、該当する振り分けルールが存在する場合、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置へ当該パケットを転送し、該当する振り分けルールが存在しない場合、当該パケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮであれば、最低負荷のサービス処理装置の前記ＮＥＸＴ装置ＩＤを前記宛先装置ＩＤに設定した振り分けルールを生成して前記管理テーブルに設定する転送ステップと、
前記管理テーブルに振り分けルールが設定されると、アイドルタイマーを開始し、以降に当該振り分けルールの前記識別子で識別されるパケットが通過すると、当該アイドルタイマーをリセットしてから再度開始するステップと、
前記アイドルタイマーの満了時に、該当する振り分けルールを前記管理テーブルから削除するステップと、を有する。
【発明の効果】
【００４６】
（１）本発明によれば、振り分けルールの識別子を、パケットの発アドレスおよびプレフィックス長としている。
【００４７】
したがって、発アドレスおよびプレフィックス長での最初のパケット（first packet）のみＴＣＰフラグをチェックすれば良いため、ＴＣＰフラグのチェック回数が少なくなる。また、振り分けルールのルール数・タイマー数は、発アドレスおよびプレフィックス長分の数だけで良いため、振り分けルールのルール数・タイマー数が少なくなる。
（２）本発明によれば、振り分けルールが設定されると、アイドルタイマーを開始し、以降に振り分けルールの識別子で識別されるパケットが通過すると、アイドルタイマーをリセットしてから再度開始し、アイドルタイマーが満了すると、該当する振り分けルールを削除している。
【００４８】
したがって、通信パケットが流れている間は、振り分けルールが削除されないため、既存技術２で必要であったルール設定ログリストが不要になる。また、中間時のＡＣＫパケットのＴＣＰフラグのチェックも不要になる。
（３）本発明によれば、最低負荷のサービス処理装置の装置ＩＤをＮＥＸＴ装置ＩＤに設定しておき、新たに生成する振り分けルールには、最低負荷のサービス処理装置のＮＥＸＴ装置ＩＤを宛先装置ＩＤに設定している。
【００４９】
したがって、最低負荷のサービス処理装置へパケットを振り分けることができるため、平準度のばらつきが小さくなる。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態の振り分け装置の概要を示す図である。
【図２】本発明の一実施形態の振り分け装置の機能ブロック図である。
【図３】ＴＣＰセッション維持が必要な理由を説明する図である。
【図４】負荷分散システムのネットワーク構成の例を示す図である。
【図５】既存技術１の振り分け装置の機能ブロック図である。
【図６】上りactive-FINの場合のＴＣＰセッションの終了シーケンスを示す図である。
【図７】既存技術２の振り分け装置の機能ブロック図である。
【発明を実施するための形態】
【００５１】
以下に、本発明を実施するための形態について図面を参照して説明する。
【００５２】
まず、本実施形態の振り分け装置の概要を説明する。
【００５３】
図１に、本実施形態の振り分け装置の概要を示す。なお、図１は、本実施形態の振り分け装置を、図４の負荷分散システムへ振り分け装置１０−１として組み込んでいる。
【００５４】
図１に示すように、本実施形態の振り分け装置は管理テーブル１０４を有している。
【００５５】
既存技術２の振り分け装置においては、振り分けルールのルール識別子をセッション（４−ｔｕｐｌｅ（ＳＡ，ＤＡ，ＳＰ，ＤＰ）)としていた。
【００５６】
これに対して、本実施形態の振り分け装置においては、振り分けルールのルール識別子を、プレフィックス（prefix）（ＳＡ／プレフィックス長）（フロー（flow）を束ねた形）とする（例えば、プレフィックス長を固定の２８とする）。
【００５７】
そして、振り分けルールが存在しない最初の上りパケット（first packet）を受信したときのみ、その上りパケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮである場合、その上りパケットの宛先を最低負荷のサービス処理装置２０とする振り分けルールを生成し、管理テーブル１０４に設定する。
【００５８】
また、既存技術２の振り分け装置においては、振り分けルール設定時に固定的に開始するタイマーを設け、タイマーが満了すると、振り分けルールを削除していた。
【００５９】
これに対して、本実施形態の振り分け装置においては、ルール識別子で識別される直近の上りパケットが通過した時刻に開始する、アイドルタイマー（idle Timer）を設ける。すなわち、振り分けルールを設定すると、アイドルタイマーを開始し、以降は、その振り分けルールのルール識別子で識別される上りパケットが通過すると、アイドルタイマーをリセットし、その後、アイドルタイマーを再度開始し、アイドルタイマーが満了すると、その振り分けルールを削除する。
【００６０】
ここで、TCP statefullな処理を行うサービス処理装置２０は、セキュリティや、使用されていないＴＣＰ状態（state）が残ってしまうという問題の対策を目的として、一定時間当該セッションに属する通信パケットが存在しない場合、そのセッションを強制切断するコンフィグ（Config）として、ＴＣＰタイムアウト値を設けているのが一般的である。
【００６１】
これを利用し、上述したアイドルタイマーのタイムアウト値としては、サービス処理装置２０のコンフィグに設定したＴＣＰタイムアウト値をそのまま用いても良いし、その値を基に適当な値を設定しても良い。
【００６２】
また、既存技術２の振り分け装置においては、振り分けルールに設定する宛先装置ＩＤには、ラウンドロビン方式で管理しているＮｅｘｔ装置ＩＤを設定していた。
【００６３】
これに対して、本実施形態の振り分け装置においては、定期的に各サービス処理装置２０のトラヒックを求め、トラヒックが最低値となる最低負荷のサービス処理装置２０の装置ＩＤをＮｅｘｔ装置ＩＤに設定し、このＮｅｘｔ装置ＩＤを振り分けルールの宛先装置ＩＤに設定する。
【００６４】
なお、下りパケットを受信した場合、管理テーブル１０４の検索を行わず、その下りパケットをそのままスルーさせる。
【００６５】
次に、本実施形態の振り分け装置の詳細を説明する。
【００６６】
図２に、本実施形態の振り分け装置の機能ブロック図を示す。なお、図２は、本実施形態の振り分け装置を、図４の負荷分散システムへ振り分け装置１０−１として組み込むことを想定している。
【００６７】
図２に示すように、本実施形態の振り分け装置は、転送部１０１と、アイドルタイマー管理部１０２と、最低負荷装置管理部１０３と、を有している。
【００６８】
転送部１０１は、管理テーブル１０４を備えている。
【００６９】
管理テーブル１０４は、ＳＡ、プレフィックス長からなるルール識別子と、そのルール識別子で識別される上りパケットの宛先となる宛先サービス処理装置２０の宛先装置ＩＤと、その上りパケットの通信に用いられる実帯域（PPS）と、を含む振り分けルールを保持するテーブルである。
【００７０】
振り分けルールは、上述のように、上りのＳＹＮパケットの通過により生成され、管理テーブル１０４に設定される。このとき、宛先装置ＩＤには、最低負荷装置管理部１０３が管理している最低負荷のサービス処理装置２０の装置ＩＤであるＮｅｘｔ装置ＩＤが設定される。
【００７１】
アイドルタイマー管理部１０２は、ルール識別子で識別される直近の上りパケットが通過した時刻に開始する、アイドルタイマーを管理する。
【００７２】
具体的には、アイドルタイマー管理部１０２は、転送部１０１により上りパケットの通過により振り分けルールが設定されると、アイドルタイマーを開始し、以降は、その振り分けルールのルール識別子で識別される上りパケットが通過すると、アイドルタイマーをリセットし、その後、アイドルタイマーを再度開始する。アイドルタイマーが満了すると、転送部１０１により管理テーブル１０４から振り分けルールが削除される。
【００７３】
最低負荷装置管理部１０３は、トラヒックが最低値となる最低負荷のサービス処理装置２０の装置ＩＤであるＮｅｘｔ装置ＩＤを管理する。
【００７４】
例えば、最低負荷装置管理部１０３は、定期的に管理テーブル１０４から各振り分けルールの実帯域を抽出し、宛先装置ＩＤ毎に実帯域の和を求め、実帯域が最低値の宛先装置ＩＤをｎｅｘｔ装置ＩＤに設定する。
【００７５】
転送部１０１は、上りパケットを受信すると、受信した上りパケットのＳＡ、プレフィックス長で管理テーブル１０４を検索し、該当する振り分けルールが存在するか判断する。
【００７６】
管理テーブル１０４に該当する振り分けルールが存在する場合、転送部１０１は、該当する振り分けルールの宛先装置ＩＤで示される宛先サービス処理装置２０へ上りパケットを転送する。
【００７７】
一方、管理テーブル１０４に該当する振り分けルールが存在しない場合、転送部１０１は、上りパケットのＴＣＰフラグがＳＹＮであるか否かを確認し、ＳＹＮである場合、新たな振り分けルールを生成して管理テーブル１０４に設定する。このとき、宛先装置ＩＤには、最低負荷装置管理部１０３が管理している最低負荷のサービス処理装置２０の装置ＩＤであるＮｅｘｔ装置ＩＤが設定される。
【００７８】
ここで、上記の処理では、転送部１０１は、振り分けルールが存在しない最初の上りパケットを受信した場合、その上りパケットのＴＣＰフラグがＳＹＮであるか否かを確認している。
【００７９】
しかし、本実施形態のように、アイドルタイマーを用いる場合、正常シーケンスであれば、最初の上りパケットがＳＹＮパケット以外のパケットであることはあり得ない。
【００８０】
そのため、本実施形態においては、転送部１０１は、振り分けルールが存在しない最初の上りパケットを受信した場合、ＴＣＰフラグを確認する処理を省略し、即座に振り分けルールを生成して管理テーブル１０４に設定する処理を行っても良い。
【００８１】
また、転送部１０１は、アイドルタイマー管理部１０２が管理するアイドルタイマーが満了すると、該当する振り分けルールを管理テーブル１０４から削除する。
【００８２】
なお、転送部１０１は、下りパケットを受信した場合、管理テーブル１０４の検索を行わず、その下りパケットをそのままスルーさせる。
【００８３】
最後に、本実施形態の振り分け装置の効果を説明する。
（１）第１の効果
既存技術２の振り分け装置においては、振り分けルールのルール識別子をセッション（４−ｔｕｐｌｅ（ＳＡ，ＤＡ，ＳＰ，ＤＰ）)としていた。
【００８４】
これに対して、本実施形態の振り分け装置においては、振り分けルールのルール識別子を、ＳＡ、プレフィックス長としている。
【００８５】
そのため、既存技術２の振り分け装置においては、ＴＣＰセッション毎の最初のパケット（first packet）のＴＣＰフラグをチェックする必要があったのに対し、本実施形態の振り分け装置においては、ＳＡ／プレフィックス長での最初のパケット（first packet）のみＴＣＰフラグをチェックすれば良いため、ＴＣＰフラグのチェック回数が少なくなる。
【００８６】
また、既存技術２の振り分け装置においては、振り分けルールのルール数・タイマー数が全ＴＣＰセッション数分に必要であったのに対し、本実施形態の振り分け装置においては、振り分けルールのルール数・タイマー数は、ＳＡ／プレフィックス長分の数だけで良いため、振り分けルールのルール数・タイマー数が少なくなる。具体的には、本実施形態の振り分け装置の場合、ユーザ数が１０万であって、全ユーザが複数のセッションを使用したとしても、ルール数は１０万／１６＝６千程度に迎えられる。
（２）第２の効果
既存技術２の振り分け装置においては、振り分けルール設定時に固定的に開始するタイマーを設け、タイマーが満了すると、振り分けルールを削除していた。
【００８７】
これに対して、本実施形態の振り分け装置においては、ルール識別子で識別される直近の上りパケットが通過した時刻に開始する、アイドルタイマーを設けている。
【００８８】
そのため、既存技術２の振り分け装置においては、タイマーが満了する場合に備えて、振り分けルールとは別の時間の長いタイマーを持つルール設定ログリストを保持する必要があったのに対し、本実施形態の振り分け装置においては、アイドルタイマーを用いることで、通信パケットが流れている間は、振り分けルールが削除されないため、ルール設定ログリストが不要になる。また、中間時のＡＣＫパケットのＴＣＰフラグのチェックも不要になる。
（３）第３の効果
既存技術２の振り分け装置においては、振り分けルールには、ラウンドロビン方式でサービス処理装置２０を設定していた。
【００８９】
これに対して、本実施形態の振り分け装置においては、定期的に各サービス処理装置２０のトラヒックを求め、トラヒックが最低値となる最低負荷のサービス処理装置２０を振り分けルールに設定している。
【００９０】
そのため、既存技術２の振り分け装置においては、セッション時間の長短、トラヒック量の違いなどに起因して、最低負荷のサービス処理装置２０へパケットが振り分けられず、平準度にばらつきが生じる可能性があったのに対し、本実施形態の振り分け装置においては、最低負荷のサービス処理装置２０へパケットが振り分けられるため、平準度のばらつきが小さくなる。
【００９１】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明の要旨を逸脱しない範囲で当業者が理解し得る各種の変形が可能である。
【００９２】
例えば、上記実施形態においては、振分対象のパケットを上りパケットとし、図４の負荷分散システムへ振り分け装置１０−１として組み込む例を説明したが、振分対象のパケットを下りパケットとし、振り分け装置１０−２として組み込むことも当然に可能である。この場合、上記実施形態とは逆に、下りパケットについて管理テーブル１０４を適用し、上りパケットはそのままスルーさせれば良い。
【符号の説明】
【００９３】
１０−１，１０−２    振り分け装置
１０１    転送部
１０２    アイドルタイマー管理部
１０３    最低負荷装置管理部
１０４    管理テーブル
２０−１〜２０−３    サービス処理装置
【図１】
0005964789.tif 000002
【図２】
0005964789.tif 000003
【図３】
0005964789.tif 000004
【図４】
0005964789.tif 000005
【図５】
0005964789.tif 000006
【図６】
0005964789.tif 000007
【図７】
0005964789.tif 000008