(57)【要約】【課題】トラヒックに応じて網間接続のためのＳＢＣ（セッションボーダーコントローラ）を複数設置した場合に、ＳＢＣの増減に柔軟に対応できる、ＳＢＣに対する呼やセッションの振り分け方法を提供する。【解決手段】各ネットワークからのＲＴＰパケットをそれぞれ複数のＳＢＣに振り分ける振分装置Ａ，Ｃと、ＳＢＣに対してピンホール(Pinhole)やＮＡＰＴの設定を行うＳＩＰサーバからのパス制御信号を複数のＳＢＣに振り分ける振分装置Ｂとを設ける。ネットワーク及びＳＩＰサーバからは対応する振分装置のアドレスを用いてＳＢＣにアクセスできるようにして、複数のＳＢＣが全体として１台の装置としてネットワーク及びＳＩＰサーバから見えるようにする。振分装置Ａ〜Ｃにおいて、同一のセッションに関するＲＴＰパケットとパス制御信号が同一のＳＢＣに送られるようにする。【選択図】図１
2014093642.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークと第２のネットワークとを接続して前記第１のネットワークと前記第２のネットワークとの間での主情報の転送を可能にする接続システムであって、
第１のネットワークと第２のネットワークとの間に並列に設けられた複数のセッションボーダーコントローラと、
前記第１及び第２のネットワークの少なくとも一方からのパス制御プロトコルによる要求に応じて前記複数のセッションボーダーコントローラに対するパス制御信号を生成するパス制御サーバと、
前記第１及び第２のネットワークの少なくとも一方ごとに設けられて当該ネットワークからネットワークごとの単一のアドレスによってアクセスされ、前記主情報のデータを前記複数のセッションボーダーコントローラのいずれかに振り分ける第１の振分装置と、
前記パス制御サーバから単一のアドレスでアクセスされ、前記パス制御信号を前記複数のセッションボーダーコントローラのいずれかに振り分ける第２の振分装置と、
を有し、
前記主情報の転送の同一のセッションに関して前記主情報のデータと前記パス制御信号とが同一のセッションボーダーコントローラに振り分けられるようにした、接続システム。
【請求項２】
前記パス制御プロトコルはＳＩＰであり、前記主情報がＲＴＰによって転送される、請求項１に記載の接続システム。
【請求項３】
前記第１の振分装置は、ＲＴＰパケットから５−タプルを抽出する第１のパケット受信部と、抽出した５−タプルに対してハッシュ関数を適用して第１のハッシュ値を算出する第１のハッシュ値化処理部と、前記第１のハッシュ値に基づいて前記複数のセッションボーダーコントローラのいずれかを選択する第１の宛先装置決定部と、前記第１の宛先装置決定部が選択した前記セッションボーダーコントローラに前記ＲＴＰパケットが入力するようにＭＡＣアドレスを書き換える第１のパケット送信部と、を備え、
前記第２の振分装置は、前記パス制御信号から５−タプルを抽出する第２のパケット受信部と、前記第２のパケット受信部が抽出した５−タプルに対して前記ハッシュ関数を適用して第２のハッシュ値を算出する第２のハッシュ値化処理部と、前記第２のハッシュ値に基づいて前記複数のセッションボーダーコントローラのいずれかを選択する第２の宛先装置決定部と、前記第２の宛先装置決定部が選択した前記セッションボーダーコントローラに前記パス制御信号が入力するようにＭＡＣアドレスを書き換える第２のパケット送信部と、を備える、請求項２に記載の接続システム。
【請求項４】
前記第１の宛先装置決定部は、前記ハッシュ値ごとに対応する前記セッションボーダーコントローラを記述する第１のテーブルを備え、
前記第２の宛先装置決定部は、前記ハッシュ値ごとに、対応する前記セッションボーダーコントローラと、当該ハッシュ値に対応して現在処理中となっているセッション数とを記述する第２のテーブルを備え、
前記第２の宛先装置決定部は、前記複数のセッションボーダーコントローラの各々ごとに現在処理しているセッションの数を記憶して、処理中のセッション数が最小であるセッションボーダーコントローラを次回宛先として設定し、現在処理中であるセッション数がゼロとなったハッシュ値が発生するごとに、前記次回宛先として設定されたセッションボーダーコントローラを当該ハッシュ値に対応するセッションボーダーコントローラとして前記第２のテーブルに設定して前記第１の宛先装置決定部に変更命令を通知し、前記第１の宛先装置決定部は、前記変更命令に応じて前記第１のテーブルを書き換える、請求項３に記載の接続システム。
【請求項５】
並列配置された複数のセッションボーダーコントローラを介して前記第１のネットワークと前記第２のネットワークとの間での主情報の転送を行う際の、前記複数のセッションボーダーコントローラに対して前記主情報のデータを振り分ける振り分け方法であって、
前記第１及び第２のネットワークの少なくとも一方ごとに当該ネットワークごとの単一のアドレスによって受け付けた前記主情報のデータを前記複数のセッションボーダーコントローラのいずれかに振り分ける第１の振分処理と、
前記第１及び第２のネットワークの少なくとも一方からのパス制御プロトコルによる要求に応じて生成された前記複数のセッションボーダーコントローラに対するパス制御信号を単一のアドレスによって受け付けて、前記パス制御信号を前記複数のセッションボーダーコントローラのいずれかに振り分ける第２の振分処理と、
を有し、
前記主情報の転送における同一のセッションに関し、前記第１及び第２の振分処理において前記主情報のデータと前記パス制御信号とが同一のセッションボーダーコントローラに振り分けられるようにする、振り分け方法。
【請求項６】
前記パス制御プロトコルはＳＩＰであり、前記主情報がＲＴＰによって転送される、請求項５に記載の振り分け方法。
【請求項７】
前記第１の振分処理は、ＲＴＰパケットから５−タプルを抽出してハッシュ関数を適用し、第１のハッシュ値を算出する処理と、前記第１のハッシュ値に基づいて前記複数のセッションボーダーコントローラのいずれかを選択して該選択されたセッションボーダーコントローラに前記ＲＴＰパケットが入力するようにＭＡＣアドレスを書き換える処理と、を備え、
前記第２の振分処理は、前記パス制御信号から５−タプルを抽出し前記ハッシュ関数を適用し、第２のハッシュ値を算出する処理と、前記第２のハッシュ値に基づいて前記複数のセッションボーダーコントローラのいずれかを選択して該選択された前記セッションボーダーコントローラに前記パス制御信号が入力するようにＭＡＣアドレスを書き換える処理と、を備える、請求項６に記載の振り分け方法。
【請求項８】
前記第２の振分処理において、前記複数のセッションボーダーコントローラの各々ごとに現在処理しているセッションの数を記憶して、処理中のセッション数が最小であるセッションボーダーコントローラを次回宛先として設定し、現在処理中であるセッション数がゼロとなったハッシュ値が発生するごとに、前記次回宛先として設定されたセッションボーダーコントローラを当該ハッシュ値に対応するセッションボーダーコントローラとして再設定し、
前記ハッシュ値ごとに対応する前記セッションボーダーコントローラを記述して前記第１の振分処理で用いられるテーブルを、前記再設定があるごとに当該再設定の内容で書き換える、請求項７に記載の振り分け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（インターネットプロトコル：Internet Protocol）電話サービス網などのネットワークを相互に接続するためのＳＢＣ（セッションボーダーコントローラ：Session Border Controller）に関し、特に、複数のＳＢＣを用いて負荷分散を図るときの振り分け方法と、この振り分け方法を実施してネットワークを相互に接続する接続システムとに関する。
【背景技術】
【０００２】
インターネットなどの普及に伴って、ＩＰ網上で電話サービスを提供するＩＰ電話サービス網などが構築されるようになってきた。ＩＰ網上で電話サービスなどの実時間性が要求されるサービスを実現するためにはパス制御プロトコルとして一般にＳＩＰ（セッションイニシエーションプロトコル：Session Initiation Protocol）が使用され、ネットワークに接続する端末間で実際に疎通の対象となる情報（これを主情報と呼ぶ）のデータは、ＲＴＰ（リアルタイム転送プロトコル(Realtime Transfer Protocol)）を用いて伝送されている。ＳＩＰが利用可能な複数のネットワークが存在してそれらのネットワークの相互間で例えばＩＰ電話による通話を行おうとする場合には、それらのネットワークを相互に接続してネットワーク間でＩＰパケットが転送されるようにする必要がある。隣接するネットワーク間で主情報のＲＴＰパケットを疎通できるようにする装置として、セッションボーダーコントローラ（ＳＢＣ）がある。なお、ＳＩＰもＲＴＰもアプリケーションレイヤでのプロトコルであり、ＳＩＰやＲＴＰのパケットデータは、ＴＣＰ（トランミッション制御プロトコル(Transmission Control Protocol)）／ＩＰまたはＵＤＰ（ユーザデータグラムプロトコル(User Datagram Protocol)）／ＩＰなどの下位レイヤの通信プロトコルを利用して伝送される。
【０００３】
２つのＳＩＰ網を相互接続する場合、それぞれの網におけるアドレス体系及び使用するポートが異なる場合があり、その場合、ＳＢＣにおいてアドレスとポート番号の変換が必要となる。アドレスとポート番号の変換には、一般的にＮＡＰＴ（ネットワークアドレスポート変換：Network Address Port Translation）技術が用いられる。また、セキュリティ上の観点から、ネットワーク間をまたがるトラフィックをＳＢＣにおいて原則として阻止した上で、ＩＰアドレス及びポート番号で指定される許されたセッションのトラフィックのみがネットワーク間で伝送されるようにする必要がある。ＩＰアドレス及びポート番号で指定されるセッションのみがネットワーク間で伝送できる仕組みを、ファイアウォール（直訳すれば防火壁）に開けられた小さな穴になぞらえて、ピンホール(Pinhole)技術と呼ぶ。
【０００４】
図５は、ＳＢＣの基本動作を説明するものであって、一方のネットワークにＩＰ電話番号が０５０１１１１である発信端末ＡＡが存在し、他方のネットワークにＩＰ電話番号０５０２２２２である着信端末ＢＢが存在するとして、発信端末ＡＡから着信端末ＢＢに対して発呼した時のＳＩＰの処理を示している。図では、ＳＩＰ所定のＩＮＶＩＴＥメッセージ、Ｒｉｎｇｉｎｇメッセージ、ＯＫメッセージ、ＡＣＫメッセージ及びＢＹＥメッセージが端末間で交換されることが示されている。発信端末ＡＡがＩＮＶＩＴＥメッセージによって発呼した場合、図示丸付き数字の１で示されるように、まず、下り（発信側から着信側に向かう方向）のＲＴＰパケットに対するピンホールが開けられる。次いで、着信端末ＢＢから発信端末ＡＡへのＯＫメッセージにより、丸付き数字の２で示すように、上り（着信側から発信側に向かう方向）のＲＴＰパケットに対するピンホールが開けられ、主情報転送処理として両者間での通話が可能となる。その後、ＢＹＥメッセージに応じて、丸付き数字の３で示すように、上り及び下りのピンホールが閉じられる。図６は、このようなピンホール処理をファイアウォールに対する設定情報により示したものである。図６における丸付き数字は図５での丸付き数字に対応している。
【０００５】
また図７は、図５に示した例でのＮＡＰＴ処理を示しており、ここでは、一方のネットワークではプライベートＩＰアドレスが使用され、他方のネットワークではグローバルＩＰアドレスが使用されているものとしている。
【０００６】
図８は、ＳＩＰが利用可能な２つのネットワーク間をＳＢＣを用いて相互接続した例を示している。ここではいずれもパケット転送網であるＩＰ電話サービス網ＡとＩＰ電話サービス網Ｂが設けられ、ＲＴＰセッションによってデータが転送され、ＩＰ電話サービス網Ａ側にＳＢＣが設けられているものとする。ＳＢＣ自体は、上述したピンホール処理とＮＡＰＴ処理を実行するものであり、そのために、アドレス変換テーブル等（すなわち、ピンホール処理に用いるテーブルおよびＮＡＰＴテーブル）を備えている。アドレス変換テーブル等に対してデータを書き込むためにＳＩＰサーバも設けられている。ＳＩＰサーバは、通常のＳＩＰ処理を行い、ＳＩＰセッションのパケットのペイロード部分を参照することで、対応するＲＴＰセッションを特定し、当該ＲＴＰセッションのパケットに対して行うべき処理内容をパス制御信号に記述してこのパス制御信号のパケットをＳＢＣに送信する。これにより、ＳＩＰサーバで決定された処理内容がＳＢＣ内のアドレス変換テーブル等に書き込まれることになる。
【０００７】
ＩＰ電話サービス網Ａには、端末Ａとコールエージェントが設けられている。またＩＰ電話サービス網Ｂには端末ＢとＳＩＰサーバが設けられている。端末Ａから端末Ｂに発呼する場合、標準的なＳＩＰ手順にしたがって、端末Ａはコールエージェントを介してＳＩＰサーバにアクセスしてセッションの確立を行う。その結果、端末Ａと端末Ｂとの間でのＲＴＰによるデータ転送に必要な情報が、パス制御信号によりＳＩＰサーバからＳＢＣのアドレス変換テーブル等に書き込まれ、端末Ａから端末Ｂへのデータ転送用のＲＴＰセッションが確立する。
【０００８】
図８に示した構成においてＳＩＰサーバは、ＲＴＰセッションの確立と解消の際にＳＢＣに対して必要な設定を行うだけであるから処理負荷は小さいが、ＳＢＣは、ＲＴＰパケットの到着ごとにＮＡＰＴ処理を行い、また、不正なパケットを阻止する処理を行う必要があるから、各ネットワークにおける端末数が増えた場合などに処理負荷量が増大する。ＳＢＣを介して大規模ネットワーク同士の接続を実現するためには、例えば、ＳＢＣを複数並列に配置して処理の分散を図る必要がある。図９は、複数のＳＢＣ（図示したものではＳＢＣ  ＃１とＳＢＣ  ＃２）を設けてこれを単一のＳＩＰサーバによって制御するようにした例を示している。複数のＳＢＣのうちのいずれに対してピンホールやＮＡＰＴの設定を行うべきかを決定するために、ＳＩＰサーバ内には管理用のテーブルも設けられる。
【０００９】
図９のように構成した場合、図中の［１］〜［６］で示すように、複数のＳＢＣはそれぞれ異なるアドレス（例えばＭＡＣ（メディアアクセス制御(Media Access Control)アドレス）によってアクセスされることになる。したがって、ＲＴＰパケットなどの主情報のデータ及びパス制御信号のパケットに関し、ＩＰ電話サービス網Ａ及びＩＰ電話サービス網Ｂのいずれにおいても、予め定められているＳＢＣのそれぞれ異なるアドレスに対してパケットを送信する必要がある。当然のことながら、転送すべき情報に関する同一のセッションに属するＲＴＰパケットとパス制御信号は、同じＳＢＣに送られなければならない。そのため、例えばＳＢＣの台数を増減させた場合に、ＳＩＰサーバにおいてもＩＰ電話サービス網Ａ，Ｂにおいても設定の変更を行う必要があり、運用が煩雑になる。また、特定のＳＢＣに処理が動的に集中した場合においてそれを解消することが難しく、また、特定のＳＢＣが故障した場合おいてもアドレス設定の変更を要するため、故障からの回復に時間がかかるようになる。なお、ＳＢＣ間で動的に負荷分散を行うとしても、現に確立されて利用されているセッションに関しては、パケットロスや遅延などを防ぐために、同じＳＢＣを経由するようにする必要がある。
【００１０】
本発明に関連するものとして、非特許文献１には、ＳＩＰによるセッション制御を行い、ＶｏＩＰ（ボイスオーバーＩＰ(Voice over IP)）通話による通信などのリアルタイム性を要求されるデータに対しては帯域を保証できるようにした、ＩＰネットワークにおける呼制御技術が開示されている。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】宮坂  昌宏，堀米  紀貴，岸田  好司，「ＮＧＮにおける帯域管理技術」，ＮＴＴ技術ジャーナル，第20巻，第10号，第22-23頁，2008年10月
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述するように、負荷分散しつつネットワークを相互接続するために、複数のＳＢＣを並列に配置した場合、ＳＢＣごとにそのＳＢＣにアクセスするためのＭＡＣアドレスなどのアドレスが異なるため、ＳＢＣの増減や障害対応のためには、ネットワークやＳＩＰサーバにおいてＳＢＣにアクセスするために予め設定されているアドレスをその都度変更しなければならない。しかしながら、そのようなアドレス変更を行うことは複雑な運用をもたらすことになり、また、障害等への迅速な対応を困難にする。
【００１３】
そこで本発明の目的は、トラヒックに応じて網間接続のためのＳＢＣを複数設置した場合における、これらＳＢＣに対する呼やセッションの振り分けを行う振り分け方法であって、ネットワーク等での再設定を行うことなくＳＢＣの増減を柔軟に行うことができる方法を提供することにある。
【００１４】
そこで本発明の別の目的は、トラヒックに応じてＳＢＣを複数備える網間接続のための接続システムであって、ＳＢＣに対する呼やセッションの振り分けを行うとともに、ネットワーク等での再設定を行うことなくＳＢＣの増減を柔軟に行うことができる接続システムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の接続システムは、第１のネットワークと第２のネットワークとを接続して第１のネットワークと第２のネットワークとの間での主情報の転送を可能にする接続システムであって、第１のネットワークと第２のネットワークとの間に並列に設けられた複数のＳＢＣ（セッションボーダーコントローラ）と、第１及び第２のネットワークの少なくとも一方からのパス制御プロトコルによる要求に応じて複数のセッションボーダーコントローラに対するパス制御信号を生成するパス制御サーバと、第１及び第２のネットワークの少なくとも一方ごとに設けられてそのネットワークからネットワークごとの単一のアドレスによってアクセスされ、主情報のデータを複数のＳＢＣのいずれかに振り分ける第１の振分装置と、パス制御サーバから単一のアドレスでアクセスされ、パス制御信号を複数のＳＢＣのいずれかに振り分ける第２の振分装置と、を有し、主情報の転送の同一のセッションに関して主情報のデータとパス制御信号とが同一のＳＢＣに振り分けられるようにされている。
【００１６】
本発明の振り分け方法は、並列配置された複数のＳＢＣ（セッションボーダーコントローラ）を介して第１のネットワークと第２のネットワークとの間での主情報の転送を行う際の、複数のＳＢＣに対して主情報のデータを振り分ける振り分け方法であって、第１及び第２のネットワークの少なくとも一方ごとにそのネットワークごとの単一のアドレスによって受け付けた主情報のデータを複数のＳＢＣのいずれかに振り分ける第１の振分処理と、第１及び第２のネットワークの少なくとも一方からのパス制御プロトコルによる要求に応じて生成された複数のＳＢＣに対するパス制御信号を単一のアドレスによって受け付けて、パス制御信号を複数のＳＢＣのいずれかに振り分ける第２の振分処理と、を有し、主情報の転送における同一のセッションに関し、第１及び第２の振分処理において主情報のデータとパス制御信号とが同一のＳＢＣに振り分けられるようにする。
【００１７】
本発明において、パス制御プロトコルは例えばＳＩＰであり、主情報が例えばＲＴＰによって転送される。パス制御プロトコルがＳＩＰであれば、パス制御サーバはＳＩＰサーバである。また、振分装置ごとあるいは振分処理ごとのアドレスは、例えば、ＭＡＣアドレスである。
【発明の効果】
【００１８】
本発明では、振分装置あるいは振分処理を設けることによって複数のＳＢＣを連携させ、単一のアドレスで動作する１台の装置であるように振る舞わせている。これによって、内部装置であるＳＢＣの増減がネットワークやパス制御サーバから隠蔽される。その結果、本発明によれば、ＳＢＣの増減に際してネットワーク側やＳＩＰサーバ側などでのアドレス再設定を行う必要がなくなり、システム拡張の際にもサービスの一時停止や設定変更などを行う必要がなくなる、という効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の一形態の振り分け方法が適用されるネットワークの構成を示すブロック図である。
【図２】振分装置の構成を示すブロック図である。
【図３】第１の振り分け方法を説明する図である。
【図４】第２の振り分け方法を説明する図である。
【図５】ＳＢＣの基本動作を示すシーケンス図である。
【図６】ピンホール処理を説明する図である。
【図７】ＮＡＰＴ処理を説明する図である。
【図８】単一のＳＢＣを用いた網間接続を説明する図である。
【図９】複数のＳＢＣに負荷分散させた従来の網間接続を説明する図である。
【発明を実施するための形態】
【００２０】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図１は、本発明の実施の一形態の振り分け方法が適用されるネットワークを示している。
【００２１】
図１に示したものでは、図９に示したものと同様に、ＩＰ電話サービス網ＡとＩＰ電話サービス網Ｂとの間で情報のやり取りを可能にするために、複数のＳＢＣ（ここでは、ＳＢＣ  ＃１とＳＢＣ  ＃２）を設け、これを単一のＳＩＰサーバによって制御するようにしている。図１に示すものが図９に示したものと異なるところは、ＩＰ電話サービス網Ａから複数のＳＢＣに対してＲＴＰパケットを振り分ける振分装置Ａと、ＳＩＰサーバからのパス制御信号を複数のＳＢＣに振り分ける振分装置Ｂと、ＩＰ電話サービス網Ｂから複数のＳＢＣに対してＲＴＰパケットを振り分ける振分装置Ｃが設けられていることである。振分装置Ａ〜Ｃは、図示［１］〜［３］で示すように、それぞれ、アクセス用のアドレス（例えばＭＡＣアドレス）を有しており、例えば、ＩＰ電話サービス網Ａからはアドレス［１］を用いて振分装置Ａにアクセスすることにより、複数のＳＢＣのうちのいずれかに対して振分装置Ａを経由してＲＴＰパケットを送ることができるようになっている。同様に、ＳＩＰサーバは、アドレス［２］を用いてパス制御信号を振分装置Ｂに送ることにより、複数のＳＢＣのうちのいずれかにピンホールやＮＡＰＴの設定を行うことができるようになっている。このように図１に示した構成では、振分装置Ａ〜Ｃに付与されたアドレスを用いて複数のＳＢＣにアクセスできるようになっており、ネットワークやＳＩＰサーバからは、複数のＳＢＣがあたかも１台の装置であるかのように見えることとなる。すなわち、複数のＳＢＣを有するという内部構成が隠蔽されることとなり、各ネットワーク（ＩＰ電話サービス網Ａ，Ｂ）及びＳＩＰサーバでは、ＳＢＣの増減やＳＢＣでの障害発生等に関係なく、対応する振分装置のアドレスを永続的に設定しておくことで、複数のＳＢＣへのアクセスが可能となる。
【００２２】
図１に示した構成では、２つのネットワーク間にセッションを形成して主情報のデータをＲＴＰパケットなどによって伝送させる場合、セッション開始時（ＩＰ電話サービスの場合であれば発呼時）及びセッション終了時（ＩＰ電話サービスの場合であれば終呼時）に、ＳＩＰサーバからＳＢＣに対してパス制御信号を送って、アドレス変換テーブル等（ピンホールテーブ及びＮＡＰＴテーブル）の変更などのパス生成／削除の処理を行う必要がある。したがって、同一のセッションに関し、振分装置Ａ，Ｃによる主情報のデータの振り分け先となるＳＢＣと、振分装置Ｂによるパス制御信号の振り分け先となるＳＢＣとが一致している必要がある。セッションごとに振分装置Ａ〜Ｃによる振り分け先が同一となるようにするためには、あらかじめ同一の振り分けルールを各振分装置に設定する方法や、あるいは、振分装置Ｂと振分装置Ａ，Ｃとの間に図１の点線で示すように通知回線を設定し、振分装置Ｂで動的に決定した振り分け先を振分装置Ａ，Ｃにも適用させる方法などがある。
【００２３】
振分装置Ａと振分装置Ｃとは、ＩＰ電話サービス網Ａ，Ｂのどちらに接続しているかのみが異なっていて、その他の点では同一であるから、以下、振分装置Ａと振分装置Ｂとによって、本実施形態の振り分け方法についてさらに詳しく説明する。
【００２４】
振分装置Ａ，Ｂにおいて同じ振り分けルールをあらかじめ設定しておく場合、振分装置Ａ，Ｂは、入力するパケットがＲＴＰパケットか、パス制御信号を伝送するためのパケットであるかの違いがあるだけで、図２に示すように実質的に同じ構成を有する。
【００２５】
ＩＰ電話サービス網Ａ，Ｂで用いられる通信プロトコルがＴＣＰ／ＩＰまたはＵＤＰ／ＩＰであるとすると、よく知られているようにセッションは、５−ｔｕｐｌｅ（５−タプル）すなわち、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号及びプロトコル種別の組み合わせによって特定できる。ＳＢＣにおけるピンホール処理も、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号及び宛先ポート番号の組み合わせで実行されることになる。そこで、振分装置は、受信したＲＴＰパケットのヘッダから、あるいは受信したパス制御信号のパケットから、５−ｔｕｐｌｅタプルをパケット受信部１１と、パケット受信部１１で抽出した５−タプルに対してハッシュ関数を適用してハッシュ値を算出するハッシュ値化処理部１２と、ハッシュ値化処理部１２で算出されたハッシュ値から、振り分け先となるＳＢＣに対応する宛先装置ＩＤを決定する宛先装置決定部１３と、宛先装置決定部１３で決定された宛先装置ＩＤに基づいて、パケット受信部で受信したＲＴＰパケットまたはパス制御信号パケットのＭＡＣアドレスを書き換えて、それらのパケットが振り分け先のＳＢＣに転送されるようにするパケット送信部１５と、を備えている。複数のＳＢＣにはあらかじめ固有の宛先装置ＩＤが付与されており、宛先装置決定部１３には、ハッシュ値ごとにそのハッシュ値に対応した宛先装置ＩＤを記述した振分テーブル１４が設けられている。宛先装置決定部１３は、ハッシュ値に応じて振分テーブル１４を検索することにより、パケットの振り分け先となるべきＳＢＣを宛先装置ＩＤとして取り出す。パケット送信部１５には、宛先装置ＩＤで特定されるＳＢＣのＭＡＣアドレス（宛先ＭＡＣアドレス）を記述したＭＡＣアドレステーブル１６が設けられている。パケット送信部１５は、受け取った宛先装置ＩＤに基づいてＭＡＣアドレステーブル１６を検索することによって、ＲＴＰパケットまたはパス制御信号パケットを書き換えるためのＭＡＣアドレスを得る。
【００２６】
振分装置Ａ〜Ｃにおいて、ハッシュ値を求めるためのハッシュ関数は共通であり、振分テーブル１４の内容は同一であり、ＭＡＣアドレステーブル１６の内容も同一である。これによって、ＲＴＰパケットから抽出される５−ｔｕｐｌｅとパス制御信号のパケットから抽出される５−ｔｕｐｌｅが同一であれば、それらのＲＴＰパケットとパス制御信号パケットとが同一のＳＢＣに転送されることが保障される。したがって、同一のセッションに関して主情報のデータ（ＲＴＰパケット）とパス制御信号とが必ず同一のＳＢＣに振り分けられることになる。また、ハッシュ関数を用いているので、特定のＳＢＣに処理が集中することが起きにくくなっている。なお、ＳＢＣの増減の際には、その増減の内容に合わせて各振分装置Ａ〜Ｃ内の振分テーブル１４及びＭＡＣアドレステーブル１６を書き換えればよい。
【００２７】
図３は、以上説明した振り分け方法での処理を図解している。
【００２８】
ところで、図３に示した振り分け方法では、ハッシュ関数を使用していて特定のＳＢＣへの処理の集中が起こりにくくなっているが、それでも、特定の少数の端末の相互に主情報の転送が集中する場合などに、特定のＳＢＣに対して処理が集中するおそれがある。そこで、処理の集中がさらに起こりにくくなるように動的に振分テーブル１４の内容を変化させることが考えられる。図４は、振分テーブル１４の内容を動的に変化させる場合の処理を示している。振分テーブル１４の内容を動的に変化させることは、ＳＢＣ間での負荷分散を動的に実行することに相当するが、上述したように、ＳＢＣ間で動的に負荷分散を行う場合、現に確立されて利用されているセッションに関しては、パケットロスや遅延などを防ぐために、同じＳＢＣを経由するようにする必要がある。
【００２９】
図４に示したものでは、振分装置Ｂは、振分装置Ａ（及び振分装置Ｃ）に対して通知回線によって接続されているものとする。そして振分装置Ｂの宛先装置決定部１３では、次回宛先装置として特定のＳＢＣの宛先装置ＩＤを格納する記憶部１７が設けられるとともに、振分テーブル１４に「エントリ数」の欄が設けられている。振分装置Ａ（及び振分装置Ｃ）の宛先装置決定部１３の振分テーブル１４は、図２及び図３に示したものと同じである。また、パケット受信部１１、ハッシュ値化処理部１２及びパケット送信部１５については、図４に示したものは、図２及び図３に示したものと同じである。
【００３０】
振分装置Ｂは、ＳＩＰサーバからのパス制御信号を処理するので、現在どのＳＢＣがどのセッションの処理を行っているかを把握することができ、各ＳＢＣが実行するセッション数を計数する機能を有する。そこで振分装置Ｂの宛先装置決定部１３は、ハッシュ値ごとにそのハッシュ値に対応して現在処理中であるセッションの数を振分テーブル１４のエントリ数欄に格納する。そして、新たなセッションが発生するたびに対応するエントリ数欄の値をインクリメント（＋１）し、セッションが削除された時にはエントリ数欄の値をデクリメント（−１）する。また振分装置Ｂの宛先装置決定部１３は、ハッシュ値ごとのセッション数を求めることとは別プロセスで、各ＳＢＣが現在処理しているセッションの数を常時監視しており、複数のＳＢＣの中でセッションの数が最小のものの宛先装置ＩＤを次回宛先装置として記憶部１７に格納する。そして、振分テーブル１４において、あるハッシュ値に対応するエントリ数の欄の値が１から０に変化したとき、そのハッシュ値に対応する宛先装置ＩＤを記憶部１７に次回宛先装置として格納されている宛先装置ＩＤに書き換える。このような宛先装置ＩＤの書き換えを行ったとき、振分装置Ｂは、上述した通知回線を使用して、振分装置Ａ（及び振分装置Ｃ）に対し、このような書き換えを行ったことを通知する。振分装置Ａ（及び振分装置Ｃ）では、この通知に対応して、自装置の宛先装置決定部１３内の振分テーブル１４を書き換える。書き換えの通知自体は、どのハッシュ値の宛先装置ＩＤを何に変更したかという差分情報であるので、振分装置Ａ（及び振分装置Ｃ）での振分テーブル１４の書き換えのための処理量は小さくて済む。なお、振分装置Ｂはパス制御信号の振り分けのほかに上述した各処理を行うが、もともと振分装置Ｂが担う処理量は振分装置Ａ，Ｃの処理量に比べて格段に小さいため、上述した各処理を振分装置Ｂが実行したとしても、振分装置Ｂでの処理量が過大なものとなることはない。
【００３１】
図４に示した振り分け方法では、処理負荷が相対的に小さいＳＢＣがより多くのハッシュ値に対応するようになるので、ＳＢＣ間での負荷の分散を図ることができる。また、ハッシュ値ごとの宛先装置ＩＤの変更は、そのハッシュ値に対応する現在処理中のセッションが存在しない場合に実施されるので、ＳＢＣ間でステート情報などの移動を処理を行う必要がなく、宛先装置ＩＤの変更に伴うパケットロスや遅延の発生を防ぐことができる。
【００３２】
図２及び図３に示した振り分け方法では、ＲＴＰパケットに関して振分装置Ａ（及び振分装置Ｃ）が全転送データを振り分けることとなり、振分装置Ａ（及び振分装置Ｃ）の負荷が大きくなるが、図４に示した振り分け方法では、振分装置Ａ（及び振分装置Ｃ）は振分装置Ｂからの宛先情報変更の通知に対する対応のみを行えばよいので、処理負荷が小さくなり、情報転送の高速化が実現できる。
【符号の説明】
【００３３】
１１    パケット受信部
１２    ハッシュ値化処理部
１３    宛先装置決定部
１４    振分テーブル
１５    パケット送信部
１６    ＭＡＣアドレステーブル
１７    記憶部
【図１】
2014093642.tif 000003
【図２】
2014093642.tif 000004
【図３】
2014093642.tif 000005
【図４】
2014093642.tif 000006
【図５】
2014093642.tif 000007
【図６】
2014093642.tif 000008
【図７】
2014093642.tif 000009
【図８】
2014093642.tif 000010
【図９】
2014093642.tif 000011