JP6102274B2 - ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置 - Google Patents

ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置 Download PDF

Info

Publication number
JP6102274B2
JP6102274B2 JP2013007911A JP2013007911A JP6102274B2 JP 6102274 B2 JP6102274 B2 JP 6102274B2 JP 2013007911 A JP2013007911 A JP 2013007911A JP 2013007911 A JP2013007911 A JP 2013007911A JP 6102274 B2 JP6102274 B2 JP 6102274B2
Authority
JP
Japan
Prior art keywords
distribution
server
sbc
packet
distribution destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013007911A
Other languages
English (en)
Other versions
JP2014138412A (ja
Inventor
崇 大江
崇 大江
和之 大津
和之 大津
中川 昌紀
昌紀 中川
勇輝 岡田
勇輝 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013007911A priority Critical patent/JP6102274B2/ja
Publication of JP2014138412A publication Critical patent/JP2014138412A/ja
Application granted granted Critical
Publication of JP6102274B2 publication Critical patent/JP6102274B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置に関する。
従来、IP(Internet Protocol)パケットに関連するサービスを利用して、異なる運用ポリシーを持つネットワーク間で通信を行う場合、運用ポリシーの差異を吸収することが行われている。例えば、ネットワークの境界にSBC(セッションボーダーコントローラ)等のゲートウェイ装置を配置し、運用ポリシーの差異を吸収することが行われる。
SBCは、設定されたポリシーに従った処理を実行することで、IPパケットのNAT(Network Address Translation)変換、NAPT(Network Address Port Translation)変換、フィルタリングなどを実現する。また、SBCは、SIP(Session Initiation Protocol)等のVoIP(Voice over Internet Protocol)用シグナリングプロトコルやメディア通信プロトコルに対するファイアウォール機能や品質保証機能などを実現する。なお、メディア通信プロトコルとしては、RTP(Real−time Transport Protocol)やRTCP(RTP Control Protocol)などが利用される。
このように、SIPにおいてシグナリングに利用されるSIP信号パケットであってもメディアパケットであっても、SBCにおいて検閲されるのが一般的である。ところが、近年ではIPv6が普及し、メディアパケットについては、NAT変換やNAPT変換、検閲を行わずに送信する場合がある。具体的には、利用者端末から送信されたIPv6を用いたメディアパケットは、ルータへ到達する。ルータは、当該メディアパケットをSBCへ送信せず、直接宛先に送信する。
このような運用が実行されると、メディアパケットについては検閲処理が実行されないので、セキュリティの低下に繋がる。これに対して、ルータのアクセスリストにSBCの情報を登録し、アクセスリストに基づくパケットフォワーディング機能等を用いて、メディアパケットをSBCに転送させることが行われている。この際に、SBCを複数設置し、IP電話の加入者数の増加に伴うセッション数の増加などによるトラフィックの増加を予測し、SBCの負荷分散を行うという技術が知られている。
特開2007−288711号公報
しかしながら、上記技術を用いた負荷分散では、1つのフローが1つのSBCへ割当てられるので、処理対象のフローの帯域幅がSBCで許容される帯域幅より大きい場合には、SBCで検閲処理することができないという問題がある。
開示の技術は、上記に鑑みてなされたものであって、パケットの検閲処理を負荷分散させることができるネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置を提供することを目的とする。
本願の開示するネットワーク装置は、一つの態様において、振分先記憶部を有する。振分先記憶部は、端末間の通信フローを識別するフロー識別子ごとに、パケットの検閲を実行する振分先サーバのアドレス情報を、前記通信フローの帯域幅に応じて複数記憶する。また、ネットワーク装置は、前記フロー識別子が付与されたパケットを受信した場合に、当該フロー識別子に対応付けられる振分先サーバを前記振分先記憶部から特定する特定部を有する。また、ネットワーク装置は、前記特定部によって特定された振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する送信制御部を有する。
本願の開示するネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置の一つの態様によれば、パケットの検閲処理を負荷分散させることができるという効果を奏する。
図1は、実施例1に係るシステムの全体構成例を示す図である。 図2は、実施例1に係るSBC振分サーバの機能構成を示す機能ブロック図である。 図3は、SBC振分情報DBに記憶される情報の例を示す図である。 図4は、実施例1に係るルータの機能構成を示す機能ブロック図である。 図5は、フォワーディング情報DBに記憶される情報の例を示す図である。 図6は、実施例1に係るSBC振分処理を示す処理シーケンス図である。 図7は、実施例1に係るSBC振分サーバによる振分先通知処理の流れを示すフローチャートである。 図8は、実施例1に係るルータによる振分処理の流れを示すフローチャートである。 図9は、実施例1に係るルータによる宛先への送信処理の流れを示すフローチャートである。 図10は、実施例1に係るSBC振分終了処理を示す処理シーケンス図である。 図11は、SBC振分サーバのハードウェア構成例を示す図である。 図12は、ルータのハードウェア構成例を示す図である。
以下に、本願の開示するネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、システムは、加入者端末2、加入者端末5、S−CSCF(Serving Call Session Control Function)装置3、S−CSCF装置6、SBC振分サーバ10、複数のSBCサーバ、ルータ20を有する。このシステムは、SIPを用いて、加入者端末2と加入者端末5とが音声通信を実行するシステムである。なお、図1に示した装置の台数等は、例示であり、限定するものではない。
加入者端末2と加入者端末5は、SIPに準拠した端末である。本実施例では、一例として、加入者端末2が加入者端末5にSIP通信を要求し、加入者端末2から加入者端末5へパケットが送信される例を説明する。
加入者端末2は、ネットワーク1を介してS−CSCF装置3に接続される。この加入者端末2は、SIPシグナリング信号や発呼信号などのC−Plane信号を、S−CSCF装置3を経由させて加入者端末5に送信する。具体的には、加入者端末2から送信されたC−Plane信号は、S−CSCF装置3、ルータ20、SBC振分サーバ10、いずれかのSBCサーバ、SBC振分サーバ10、ルータ20、S−CSCF装置6を順に経由して、加入者端末5に到達する。
また、加入者端末2は、メディアパケットなどのU−Plane信号を、S−CSCF装置3を経由させずに加入者端末5に送信する。具体的には、加入者端末2から送信されたU−Plane信号は、ルータ20といずれかのSBCサーバを経由して、加入者端末5に到達する。
同様に、加入者端末5は、ネットワーク4を介してS−CSCF装置6に接続される。この加入者端末5は、加入者端末2と同様、SIPシグナリング信号などのC−Plane信号を、S−CSCF装置6を経由させて加入者端末2に送信する。また、加入者端末5は、メディアパケットなどのU−Plane信号を、S−CSCF装置6を経由させずルータ20を経由させて、加入者端末2に送信する。
なお、ネットワーク1やネットワーク4の一例としては、ホームネットワークがある。つまり、加入者端末2と加入者端末5とは、異なるホームネットワークに属し、ネットワークを跨った通信を実行する。
S−CSCF装置3とS−CSCF装置6は、各ホームネットワークに接続されたSIPサーバであり、ユーザ認証やセッション制御を実行する。
SBC振分サーバ10は、端末間の通信であるフローの帯域幅に応じて、振分先となるSBCサーバの数や振分対象のSBCサーバを決定するサーバである。また、SBC振分サーバ10は、決定した振分先に関する情報をルータ20に通知し、決定した振分先の各SBCサーバに送信元端末に関する情報を通知する。
SBCサーバ(A)とSBCサーバ(B)とSBCサーバ(C)は、パケットの検閲処理を実行するサーバである。具体的には、各SBCサーバは、異なるネットワーク間のパケット通信において、各ネットワークの運用ポリシーの違いを吸収し、セキュリティを確保する処理を実行する。例えば、各SBCサーバは、アドレス変換機能、ファイアウォール機能、品質保証機能などを実行する。
ルータ20は、加入者端末間の通信を中継するネットワーク機器である。具体的には、ルータ20は、送信元の加入者端末2から送信されたパケットを受信し、SBC振分サーバ10や振分先のSBCサーバへ送信する。そして、ルータ20は、SBC振分サーバ10や振分先のSBCサーバから受信したパケットを、宛先の加入者端末5へ送信する。
このような状態において、ルータ20は、端末間の通信であるフローを識別するフロー識別子ごとに、パケットの検閲を実行するSBCサーバのアドレス情報を、フローの帯域幅に応じて複数記憶する。そして、ルータ20は、フロー識別子が付与されたパケットを受信した場合に、当該フロー識別子に対応付けられる振分先サーバを特定する。その後、ルータ20は、特定されたSBCサーバのうち、処理負荷が所定値より小さいSBCサーバにフロー識別子が付与されたパケットを送信する。
このように、ルータ20は、フロー毎に帯域幅に応じた複数のSBCサーバを対応付け、フローのパケットを受信する毎に、負荷が最小のSBCサーバへ振分けることで、パケット毎に振分先のSBCサーバを決定でき、検閲処理を負荷分散できる。
[各装置の構成]
次に、図1に示したシステムが有する各装置の機能構成について説明する。なお、各S−CSCF装置は、一般的なS−CSCF装置と同様の機能構成を有し、各SBCサーバは、一般的なSBCサーバと同様の機能構成を有するので、ここでは詳細な説明は省略する。ここでは、図1に示したSBC振分サーバ10とルータ20について具体的に説明する。
(SBC振分サーバの構成)
図2は、実施例1に係るSBC振分サーバの機能構成を示す機能ブロック図である。図2に示すように、SBC振分サーバ10は、通信制御部11、SBC振分情報DB12、制御部13を有する。なお、ここで図示した処理部は、例示であり、他の処理部を有していてもよい。
通信制御部11は、他の装置との通信を制御する処理部であり、例えば、ネットワークインタフェースカードなどである。例えば、通信制御部11は、ルータ20や各SBCサーバから各種パケットを受信する。また、通信制御部11は、ルータ20や各SBCサーバに各種パケットを転送する。
SBC振分情報DB12は、各SBCサーバの負荷情報を記憶するデータベースである。このSBC振分情報DB12は、メモリやハードディスクなどの記憶装置に設けられる。図3は、SBC振分情報DBに記憶される情報の例を示す図である。図3に示すように、SBC振分情報DB12は、「振分先SBC番号、アドレス情報、ポート番号、負荷情報、帯域」を対応付けて記憶する。
ここで記憶される「振分先SBC番号」は、SBCサーバを特定する情報が設定され、例えばSBCサーバの名称やホスト名である。「アドレス情報」は、SBCサーバのIPアドレスやMAC(Media Access Control)アドレスが設定される。「ポート番号」は、SBCサーバが通信に使用するポートの番号が設定される。「負荷情報」は、SBCサーバの負荷状況を示す情報であり、例えば、処理できるパケットサイズの合計等を示す不足ラウンドロビンカウンタの値である。この負荷情報は、送信したパケットサイズを現不足ラウンドロビンカウンタから減算される。つまり、不足ラウンドロビンカウンタの値が大きい方ほど処理負荷が小さく、不足ラウンドロビンカウンタの値が0に近いほど処理負荷が大きい。「帯域」は、SBCサーバが処理できる帯域幅である。なお、図3は、一例として、各SBCサーバが処理できる帯域が4Gbpsで場合を示している。
図3の1行目は、SBCサーバ(A)には、IPアドレス「IP(A)」とMACアドレス「M(A)」が設定されており、ポート番号「ポート(A)」を用いて4Gbpsの帯域まで処理することができ、現在の負荷情報が「10000」であることを示す。また、各SBCサーバの負荷情報は、ルータ20から受信した情報によって更新される。
制御部13は、SBC振分サーバ10の全体を司るプロセッサなどの電子回路であり、送受信部14と振分先決定部15と振分先設定部16と情報更新部17とを有する。
送受信部14は、通信制御部11を介して各種パケットの送受信を実行する処理部である。例えば、送受信部14は、加入者端末2が送信したセッションの開始を要求するINVITE信号や発呼信号を受信し、振分先決定部15によって決定された振分先のSBCサーバや加入者端末5に送信する。そして、送受信部14は、INVITE信号に対する応答信号である200OK信号を振分先のSBCサーバや加入者端末5から受信し、加入者端末2へ送信する。
また、送受信部14は、加入者端末2が送信したセッションの終了を要求するBYE信号を受信し、振分先のSBCサーバや加入者端末5に送信する。そして、送受信部14は、BYE信号に対する応答信号である200OK信号を振分先のSBCサーバや加入者端末5から受信し、加入者端末2へ送信する。
振分先決定部15は、端末間の通信であるフローの帯域幅に応じて、当該フローのパケットを振分ける候補となるSBCを決定する処理部である。また、振分先決定部15は1つの通信ごとに一意なフローIDを決定して、振分先設定部16に通知する。
具体的には、振分先決定部15は、送受信部14が受信したINVITE信号のSDP(Session Description Protocol)から帯域情報を取得する。そして、振分先決定部15は、取得した帯域情報に基づいて振分先候補の台数を決定する。その後、振分先決定部15は、SBC振分情報DB12を参照し、負荷情報が大きい順に、決定した台数分のSBCサーバを決定する。また、振分先決定部15は、決定した振分先候補の各SBCサーバの情報を振分先設定部16に通知する。
例えば、図3を例にして説明すると、振分先決定部15は、INVITE信号のSDPから帯域情報として10Gbpsを取得する。すると、振分先決定部15は、各SBCサーバの処理できる帯域が4Gbpsであることから、振分先を3台と決定する。そして、振分先決定部15は、図3の負荷情報を参照し、負荷情報が大きい順すなわち処理負荷が小さい順に、3台のSBCサーバを決定する。ここでは、振分先決定部15は、SBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)を決定したとする。そして、振分先決定部15は、決定したSBCサーバがSBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)であることを振分先設定部16に通知する。
また、SBCサーバごとに制御可能な帯域が異なる場合、振分先決定部15は、SBC振分情報DB12の負荷情報を参照し、負荷が小さい順で、帯域の合計が10Gbps以上になるSBCサーバの組合せを特定する。そして、振分先決定部15は、決定した各SBCサーバを振分先設定部16に通知することもできる。
振分先設定部16は、パケットの振分を実行するルータ20に、振分先決定部15によって振分先の設定を要求する処理部である。具体的には、振分先設定部16は、Diameterプロトコルを用いて、加入者間の通信パケットをフォワーディングするようフォワーディング情報DB22aに各種情報を設定する。なお、振分先設定部16がコマンド等を用いて実際に設定してもよく、振分先設定部16が設定要求をルータ20に送信し、ルータ20が設定してもよい。
例えば、振分先設定部16は、ルータ20に対して、送信元および宛先の加入者情報として「IPアドレス、MACアドレス」などを送信する。この加入者情報は、INVITE信号から取得することができる。また、振分先設定部16は、ルータ20に対して、振分先設定部16が決定した振分先候補のSBCサーバの情報として「IPアドレス、MACアドレス、ポート番号、負荷情報」などを送信する。このSBCサーバの情報は、SBC振分情報DB12から取得することができる。また、振分先設定部16は、振分先決定部15が決定したフローIDもルータ20に通知する。
情報更新部17は、ルータ20からSBCサーバの最新の負荷情報を受信して、SBC振分情報DB12を更新する処理部である。具体的には、情報更新部17は、フローが終了するたびに、ルータ20から各SBCサーバの最新の負荷情報を受信する。そして、情報更新部17は、受信した情報でSBC振分情報DB12を更新する。この結果、SBC振分情報DB12の情報を最新に維持することができる。
(ルータの構成)
図4は、実施例1に係るルータの機能構成を示す機能ブロック図である。図4に示すように、ルータ20は、通信制御部21と記憶部22と制御部23とを有する。なお、ここで図示した処理部は、例示であり、他の処理部を有していてもよい。
通信制御部21は、他の装置との通信を制御する処理部であり、例えば、ポートなどの通信インタフェースなどである。例えば、通信制御部21は、SBC振分サーバ10から、フォワーディング情報DB22aに設定する各種情報を受信する。また、通信制御部21は、加入者端末2から加入者端末5宛ての通信パケットを受信し、振分先のSBCサーバへ送信する。また、通信制御部21は、振分先のSBCサーバによって検閲された通信パケットを受信して、宛先の加入者端末5に送信する。
記憶部22は、メモリやハードディスクなどの記憶装置であり、フォワーディング情報DB22aとSBC振分情報DB22bを記憶する。なお、SBC振分情報DB22bは、図3で説明したSBC振分サーバ10のSBC振分情報DB12と同様の情報を記憶するので、ここでは、詳細な説明は省略する。
フォワーディング情報DB22aは、フローIDごとに、通信パケットの検閲を実行するSBCサーバのアドレス情報を、フローの帯域幅に応じて複数記憶するデータベースである。図5は、フォワーディング情報DBに記憶される情報の例を示す図である。
図5に示すように、フォワーディング情報DB22aは、「振分先SBC、宛先情報、ポート番号、フローID、パケットID」を対応付けて記憶する。ここで記憶される「振分先SBC」は、振分先に決定されたSBCサーバを特定する情報が設定され、例えばSBCサーバのホスト名等であり、SBC振分サーバ10から取得することができる。「宛先情報」は、SBCサーバのIPアドレスやMACアドレスが設定され、SBC振分サーバ10から取得することができる。
「ポート番号」は、SBCサーバと通信を実行する際に使用するポートの番号であり、SBC振分サーバ10から取得することができる。「フローID」は、通信を識別する情報が設定され、SBC振分サーバ10から取得することができる。「パケットID」は、フローのパケットを識別する情報が設定され、例えば、フローで送信される順にルータ20が付与する番号である。
例えば、図5の1行目は、加入者端末2と加入者端末5とのフロー(ID=FL1)は、IP(B)とM(B)を有するSBCサーバ(B)のポート(B)に振分けることを示す。なお、フォワーディング情報DB22aは、フローIDごとに、フローの終端装置である加入者端末のアドレス情報等を対応付けて記憶してもよい。
制御部23は、ルータ20の全体を司るプロセッサなどの電子回路であり、フォワーディング更新部24とABF(Access control list Based Fowarding)処理部25と負荷通知部26とを有する。
フォワーディング更新部24は、SBC振分サーバ10から受信したSBC情報などに基づいて、フォワーディング情報DB22aを更新する処理部である。例えば、フォワーディング更新部24は、通信対象である加入者情報と、振分先として決定されたSBCサーバの情報と、通信を識別するフローIDとを、SBC振分サーバ10から受信する。
そして、フォワーディング更新部24は、SBCサーバの情報を「振分先SBC、宛先情報、ポート番号」に設定し、フローIDを「フローID」に設定したレコードを、フォワーディング情報DB22aに生成する。なお、フォワーディング更新部24は、初期状態のパケットIDについては、例えばPK0などの初期値を設定する。なお、パケットIDは、通信パケットが送信されるたびに、PK1、PK2と順に加算される。
ABF処理部25は、振分部25aと宛先送信部25bとを有し、フォワーディング情報DB22aに記憶される情報に基づいて、通信パケットを振分先のSBCや宛先へ送信する処理部である。
振分部25aは、加入者端末2から受信した通信パケットを振分先のSBCサーバへ振分けて、SBCサーバで検閲処理を実行させる処理部である。例えば、振分部25aは、受信した通信パケットからフローIDを抽出し、当該フローIDに対応する振分先SBCをフォワーディング情報DB22aから特定する。そして、振分部25aは、特定した各振分先SBCに対応する負荷情報をSBC振分情報DB22bから特定する。
その後、振分部25aは、特定した負荷情報のうち最大の値、すなわち、処理負荷が最小のSBCサーバを特定する。そして、振分部25aは、特定したSBCサーバのアドレスやポート番号をフォワーディング情報DB22aから特定して、受信した通信パケットを当該特定したSBCサーバに送信する。
このとき、振分部25aは、振分先SBCとフローIDとの組み合わせに対応するパケットIDを特定し、当該パケットIDをインクリメントした新たなパケットIDを通信パケットに含めて送信する。また、振分部25aは、振分先SBCとフローIDとの組み合わせに対応するパケットIDを、最新のパケットIDで更新する。
また、振分部25aは、SBCサーバへ通信パケットを送信した場合に、当該通信パケットのパケットサイズを特定する。そして、振分部25aは、SBC振分情報DB22bにおいて、通信パケットを振分けたSBCサーバに対応する負荷情報から当該パケットサイズを減算し、負荷情報を更新する。
例えば、振分部25aは、通信パケットからフローID「FL1」を抽出し、「FL1」に対応する振分先SBCとして「SBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)」を特定する。そして、振分部25aは、SBC振分情報DB22bを参照し、SBCサーバ(B)の負荷情報が「20000」、SBCサーバ(C)の負荷情報が「65535」、SBCサーバ(N)の負荷情報が「65530」であることを特定する。
すると、振分部25aは、負荷情報の値が最も大きいSBCサーバ(C)を振分先と決定する。また、振分部25aは、「FL1」に対応するパケットIDのうち最新のパケットIDが「PK1」であることから、パケットIDとして「PK2」を通信パケットに設定して、SBCサーバ(C)に送信する。
このとき、振分部25aは、フォワーディング情報DB22aにおいて「FL1」に対応するパケットIDを「PK2」に更新する。さらに、振分部25aは、振分けた通信パケットのパケットサイズが「255」である場合、SBC振分情報DB22bにおいてSBCサーバ(C)と対応付けられる負荷情報を、「65535−255=65280」に更新する。
宛先送信部25bは、SBCサーバによって検閲処理の結果、送信可能と判断された通信パケットを宛先に送信する処理部である。上記例で説明すると、宛先送信部25bは、振分先のSBCサーバ(C)から検閲済みの通信パケットを受信する。そして、宛先送信部25bは、受信した検閲済みの通信パケットからフローIDとパケットIDを抽出する。
その後、宛先送信部25bは、当該検証済みの通信パケットの順序チェックを実行する。具体的には、宛先送信部25bは、当該検証済みの通信パケットが次に送信する対象の通信パケットかを判定し、順番が入れ替わっていないかを判定する。判定方法は、様々な方法を用いることができるが、例えば、送信済みの最新パケットIDをフロー毎に記憶部22に格納しておくことで、受信した検証済みの通信パケットが送信対象のパケットかを判定できる。
そして、宛先送信部25bは、受信した検証済みの通信パケットのヘッダから宛先を特定し、受信した検証済みの通信パケットを宛先の加入者端末5に送信する。なお、宛先送信部25bは、一般的なルーティングテーブル等を用いることで、検証済みの通信パケットの出力ポート等を特定することができる。
また、宛先送信部25bは、宛先への送信を実行すると、宛先へ送信した通信パケットのパケットサイズが「255」である場合、SBC振分情報DB22bにおいてSBCサーバ(C)に対応付けられる負荷情報を、「65280+255=65535」に更新する。
負荷通知部26は、フローが終了した場合に、各SBCサーバの負荷情報をSBC振分サーバ10に送信する処理部である。例えば、負荷通知部26は、フローIDが「FL1」の通信においてBYE信号を受信した場合、当該「FL1」に対する振分を終了する。このとき、負荷通知部26は、SBC振分情報DB22bに記憶される各SBCサーバの負荷情報を取得して、SBC振分サーバ10へ送信する。そして、負荷通知部26は、通信が終了した「FL1」に対応するレコードを、フォワーディング情報DB22aから削除する。
[処理の流れ]
次に、実施例1に係るシステムで実行される各処理について説明する。ここでは、全体的な流れ、振分先通知処理、振分処理、宛先への送信処理、振分終了処理について説明する。
(全体的な流れ)
図6は、実施例1に係るSBC振分処理を示す処理シーケンス図である。図6に示すように、加入者端末2は、S−CSCF装置3を介して、INVITE信号をSBC振分サーバ10へ送信する(S101とS102)。
SBC振分サーバ10では、送受信部14がINVITE信号を受信し、振分先決定部15が、振分先候補を決定する(S103)。具体的には、振分先決定部15は、INVITE信号のSDPから取得した帯域情報と、SBC振分情報DB12に記憶されるSBCサーバの負荷情報および帯域とを用いて、当該INVITE信号に対応するフローの振分先を決定する。ここでは、振分先決定部15は、SBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)を振分先候補と決定したとする。
そして、送受信部14は、振分先決定部15が決定した各SBCサーバにINVITE信号を送信する(S104〜S107)。各SBCサーバは、受信したINVITE信号に基づいてポリシー設定を実行する(S108〜S110)。例えば、SBCサーバ(B)は、セッションID、送信元のIPアドレス、ポート番号をINVITE信号から取得し、特定のパケットを受信した場合には送信を許可し、それ以外は破棄するなどのポリシーを設定する。そして、各SBCサーバは、ポリシー設定を行った後、INVITE信号の応答として200OK信号をSBC振分サーバ10に送信する(S111〜S116)。
SBC振分サーバ10の送受信部14は、振分先候補に決定された各SBCサーバから200OK信号を受信すると、INVITE信号を加入者端末5へ送信する(S117とS118)。加入者端末5は、加入者端末2と通信を確立することから、受信したINVITE信号に対して200OK信号を応答する(S119とS120)。
そして、SBC振分サーバ10の振分先決定部15は、当該INVITE信号で要求された通信フローに対して一意なフローIDを決定する(S121)。その後、振分先設定部16は、加入者情報、決定された振分先SBCの情報、決定されたフローIDを、Diameterプロトコルを用いてルータ20に送信する(S122とS123)。
そして、ルータ20のフォワーディング更新部24は、受信した加入者情報とSBCの情報とフローIDとを用いて、フォワーディング情報DB22aを更新する(S124)。具体的には、ルータ20は、加入者端末2から加入者端末5へのフローID「FL1」のパケットの振分先候補がSBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)であることを特定するレコードを、フォワーディング情報DB22aに設定する。
一方で、SBC振分サーバ10は、INVITE信号に対する200OK信号を振分先のSBCサーバと加入者端末5から受信したので、S101に対するINVITE信号の応答として200OK信号を加入者端末2へ応答する(S125とS126)。このとき、SBC振分サーバ10は、S121で決定されたフローIDを加入者端末2へ通知する。
その後、加入者端末2は、加入者端末5を宛先とする、フローIDを含んだ通信パケットを送信する(S127とS128)。この通信パケットはルータ20によって受信され、ルータ20の振分部25aは、通信パケットのフローIDに対応する振分先を決定する(S129)。そして、振分部25aは、決定した振分先のSBCサーバに、通信パケットを振分ける(S130とS131)。
例えば、振分部25aは、フローIDに対応する振分先SBCサーバとしてSBCサーバ(B)、SBCサーバ(C)、SBCサーバ(N)をフォワーディング情報DB22aから特定する。そして、振分部25aは、特定した各サーバの負荷情報をSBC振分情報DB22bから特定し、最も負荷が少ないSBCサーバがSBCサーバ(B)であると特定する。その後、振分部25aは、SBCサーバ(B)を振分先に決定し、SBCサーバ(B)に通信パケットを転送する。このとき、振分部25aは、当該フローIDに対応するパケットIDを最新のパケットIDに更新し、通信パケットに含めて送信する。
そして、SBCサーバ(B)は、ルータ20から転送された通信パケットを検閲する(S132)。ここでは、SBCサーバ(B)は、検閲の結果、通信可能と判断したとする。すると、SBCサーバ(B)は、通信パケットと検閲結果とをルータ20へ送信する(S132とS133)。その後、ルータ20は、検閲済みの通信パケットのヘッダ等に基づいて、宛先の加入者端末5へ通信パケットを送信する(S134とS135)。
(振分先通知処理)
図7は、実施例1に係るSBC振分サーバによる振分先通知処理の流れを示すフローチャートである。図7に示すように、SBC振分サーバ10の送受信部14は、INVITE信号を受信する(S201)。
すると、振分先決定部15は、INVITE信号のSDPから帯域情報を取得し(S202)、帯域幅が所定値よりも大きいか否かを判定する(S203)。ここで、振分先決定部15は、取得された帯域幅が所定値よりも小さい場合(S203:No)、特定のSBCへINVITE信号を送信する(S204)。
例えば、振分先決定部15は、SBC振分情報DB12の各SBCサーバの帯域よりもINVITE信号の帯域幅の方が小さい場合には、いずれのSBCサーバでも処理できることから、その時点で最も負荷が少ないSBC振分サーバを振分先と決定する。
一方、振分先決定部15は、得された帯域幅が所定値よりも大きい場合(S203:Yes)、取得された帯域幅と、SBC振分情報DB12の各SBCサーバの帯域とに基づいて、振分先候補となるSBCサーバの台数を決定する(S205)。続いて、振分先決定部15は、SBC振分情報DB12から各SBCサーバの負荷情報を取得し(S206)、負荷の少ない順に、S205で決定された台数分のSBCサーバを決定する(S207)。
その後、送受信部14は、S207において振分先決定部15が決定した振分先のSBCサーバへ、S201で受信されたINVITE信号を送信する(S208)。なお、SBC振分サーバ10は、各SBCサーバを管理下におくことから、各SBCサーバのIPアドレスやMACアドレスを記憶している。
(振分処理)
図8は、実施例1に係るルータによる振分処理の流れを示すフローチャートである。図8に示すように、ルータ20の振分部25aは、通信パケットが受信されると(S301:Yes)、当該通信パケットからフローIDを特定する(S302)。
続いて、振分部25aは、特定したフローIDをキーにしてフォワーディング情報DB22aを参照し(S303)、フローIDに対応するSBCサーバを特定する(S304)。
そして、振分部25aは、SBC振分情報DB22bを参照し、S304で特定したSBCサーバのうち、最も負荷が少ないSBCサーバを振分先に決定する(S305)。続いて、振分部25aは、フローIDに対応するパケットIDをSBC振分情報DB22bから特定し、最新のパケットIDを通信パケットに付加する(S306)。このとき、振分部25aは、SBC振分情報DB22bにおける振分先SBCとフローIDとの組み合わせに対応するパケットIDを、最新のパケットIDで更新する。
その後、振分部25aは、S306で最新のパケットIDが付加された通信パケットを、S305で決定した振分先のSBCサーバに送信する(S307)。続いて、振分部25aは、S307で振分けた通信パケットのパケットサイズを用いて、SBC振分情報DB22bにおいて振分先に対応付けられる負荷情報を更新する(S308)。すなわち、宛先送信部25bは、通信パケットの検閲要求し、SBCサーバの負荷が増加されたので、現在の負荷情報から当該パケットサイズを減算して、負荷状況を大きくする。
その後、振分部25aは、当該通信フローにおいて残りの通信パケットが存在するか否かを判定し(S309)、存在する場合には(S309:Yes)、S301に戻って以降の処理を繰り返す。一方、振分部25aは、残りの通信パケットが存在しない場合には(S309:No)、処理を終了する。なお、振分部25aは、BYE信号を受信したか否かによって、残りの通信パケットが存在するか否かを判定できる。
(宛先への送信処理)
図9は、実施例1に係るルータによる宛先への送信処理の流れを示すフローチャートである。図9に示すように、ルータ20の宛先送信部25bは、検閲を実行する振分先のSBCサーバから、検閲済みの通信パケットを受信すると(S401:Yes)、フォワーディング情報DB22aを参照して順序をチェックする(S402)。
例えば、宛先送信部25bは、フローIDごとに送信済みのパケットIDをメモリ等に記憶させておき、検閲済みの通信パケットに含まれるフローIDとパケットIDとから、次に送信する対象のパケットIDか否かを判定する。
続いて、宛先送信部25bは、検閲済みの通信パケットを正常なパケットであると判定した場合(S403:Yes)、当該通信パケットのヘッダやルーティングテーブルなどから宛先を特定する(S404)。
そして、宛先送信部25bは、当該通信パケットの検閲を実行したSBCサーバに対応付けてSBC振分情報DB22bに格納される負荷情報を、当該通信パケットのパケットサイズを用いて更新する(S405)。すなわち、宛先送信部25bは、通信パケットの検閲が終了し、SBCサーバの負荷が軽減されたので、現在の負荷情報に当該パケットサイズを加算して、負荷状況を小さくする。
その後、宛先送信部25bは、S404で特定した宛先へ、S401で受信した検閲済みの通信パケットを送信する(S406)。なお、S405とS406はどちらが先に実行されてもよい。
一方、S403において、宛先送信部25bは、検閲済みの通信パケットを正常なパケットではないと判定した場合(S403:No)、すなわち、順序が異なると判定した場合、当該検閲済みの通信パケットを一時的にメモリ等に保存する(S407)。
そして、宛先送信部25bは、受信済みでメモリ等に一時的に記憶される検閲済みのパケットを並べ替える(S408)。その後、宛先送信部25bは、並び替えた結果、正常な順序にパケットを送信できる場合には(S409:Yes)、S404以降の処理を実行する。一方、宛先送信部25bは、並び替えても、正常な順序にパケットを送信できない場合には(S409:No)、S401以降を繰り返す。
(振分終了処理)
図10は、実施例1に係るSBC振分終了処理を示す処理シーケンス図である。図10に示すように、加入者端末2は、S−CSCF装置3を介して、フローIDを含めたBYE信号をSBC振分サーバ10に送信する(S501とS502)。
続いて、SBC振分サーバ10の情報更新部17は、BYE信号から抽出したフローIDを含めて、SBCの最新情報の提供を要求する信号をルータ20へ送信する(S503とS504)。
すると、ルータ20の負荷通知部26は、SBC振分情報DB22bを参照し、各SBCサーバに対応付けられる負荷情報を特定し(S505)、特定したSBCサーバの負荷情報をSBC振分サーバ10へ送信する(S506とS507)。また、負荷通知部26は、受信したフローIDをキーにしてSBC振分情報DB22bを参照し、該当するレコードを削除する(S508)。
そして、SBC振分サーバ10の情報更新部17は、ルータ20から受信した各SBCサーバの負荷情報を用いて、SBC振分情報DB22bに記憶される各SBCサーバの負荷情報を更新する(S509)。
続いて、SBC振分サーバ10の情報更新部17は、BYE信号のフローIDに基づいて、振分先としてルータ20へ通知したSBCサーバを特定する(S510)。例えば、情報更新部17は、フローIDごとに、振分先としてルータに通知したSBCサーバの情報をメモリ等に記憶させておくことで、BYE信号のフローIDから振分先として指定されている各SBCサーバを特定できる。
その後、送受信部14は、BYE信号のフローIDに対して振分先として指定される各SBCサーバに対して、S501で受信されたフローIDを含むBYE信号を送信する(S511〜S514)。
そして、各SBCサーバは、BYE信号を受信すると、閉塞処理を実行する(S515〜S517)。例えば、SBCサーバ(B)は、BYE信号からフローIDを取得し、当該フローIDで特定されるフローのPinholeを閉じる。
その後、各SBCサーバは、閉塞処理が正常に終了すると、S511からS515のBYE信号の応答として200OK信号をSBC振分サーバ10に送信する(S518からS523)。
続いて、SBC振分サーバ10の送受信部14は、S503で受信したBYE信号を加入者端末5に送信する(S524とS525)。そして、加入者端末5は、セッションの終了を許可し、当該BYE信号の応答として200OK信号をSBC振分サーバ10へ送信する(S526とS527)。
その後、SBC振分サーバ10の送受信部14は、S503で受信したBYE信号の応答として200OK信号を加入者端末2に送信する(S528とS529)。
[効果]
このように、実施例1によれば、ルータ20は、1つのフローを複数のSBCサーバに振分けることができる。また、実施例1によれば、ルータ20は、1つのフローについて、フロー内のパケットごとに、SBCサーバへの振分を分散させることができる。つまり、ルータ20は、同一セッション内のパケットごとに負荷分散させることができるので、SBCサーバの過大な処理負荷を軽減でき、処理の高速化が図れる。
例えば、10Gbpsのトラヒックフローを制御したい場合に、1台のSBCサーバの制御可能な帯域が1Gbpsであるとする。この場合、システム内にSBCサーバを複数台設置し、ルータ20は、帯域を分割して複数SBCサーバに振り分けることができ、合計10Gbpsのトラヒックフローを制御することができる。
また、ルータ20は、各SBCサーバの負荷情報をリアルタイムに管理し、1フローが終了するたびにSBC振分サーバ10に負荷情報を通知する。このため、SBC振分サーバ10は、最新の負荷情報を保持でき、負荷情報に基づく振分先候補を適切に決定することができる。
また、SBC振分サーバ10は、セッションが開始するタイミングにおける最新の負荷情報やセッションの帯域幅に基づいて複数の振分先を決定してルータ20へ通知し、ルータ20は、通知された情報に基づいて振分を実行する。このため、ルータ20は、振分けた先のSBCサーバで検閲処理が遅延したり、遅延によってパケットが破棄されたりすることを抑制でき、性能劣化を抑制できる。また、ルータ20の性能劣化を抑制し、検閲処理の高速化が図れることから、システム全体の信頼性も向上する。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(SIP)
実施例1では、SIP信号を例にして説明したが、これに限定されるものではない。例えば、VoIPに用いられる他の信号や一般的なIPネットワークで使用されるプロトコルであっても、同様に処理することができる。
(SBC振分情報)
実施例1では、ルータ20が、SBC振分サーバ10から振分先候補の情報を受信してSBC振分情報DB22bを生成する例を説明したが、これに限定されるものではない。例えば、ルータ20は、管理者等によって受け付けた情報をSBC振分情報DB22bに格納することもできる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(ハードウェア構成)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
(SBC振分サーバのハードウェア構成)
図11は、SBC振分サーバのハードウェア構成例を示す図である。図11に示すように、SBC振分サーバ100は、CPU(Central Processing Unit)101、メモリ102、HDD(Hard Disk Drive)103、通信インタフェース104、入力装置105、表示装置106を有する。また、図11に示した各部は、バスで相互に接続される。
入力装置105は、マウスやキーボードであり、表示装置106は、ディスプレイなどであり、通信インタフェース104は、NIC(Network Interface Card)などのインタフェースである。HDD103は、図2等に示した機能を実行するプログラムとともに、各DB等を記憶する。記録媒体の例としてHDD103を例に挙げたが、ROM(Read Only Memory)、RAM、CD−ROM等の他のコンピュータが読み取り可能な記録媒体に各種プログラムを格納しておき、SBC振分サーバ100に読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、SBC振分サーバ100が、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのSBC振分サーバ100自身の記録媒体に格納して用いてもよい。
CPU101は、図2に示した各処理部と同様の処理を実行するプログラムを読み出してメモリ102に展開することで、図2等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、送受信部14、振分先決定部15、振分先設定部16、情報更新部17を実行する。このように、SBC振分サーバ100は、プログラムを読み出して実行することで振分先通知方法を実行する情報処理装置として動作する。
また、SBC振分サーバ100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、SBC振分サーバ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
(ルータのハードウェア構成)
図12は、ルータのハードウェア構成例を示す図である。図12に示すように、ルータ200は、通信インタフェース201、メモリ202、CPU203を有する。また、図12に示した各部は、バスで相互に接続される。
通信インタフェース201は、NICやポートなどのインタフェースである。メモリ202は、図4等に示した機能を実行するプログラムとともに、各DB等を記憶する。記録媒体の例としてメモリ202を例に挙げたが、HDDなど他のコンピュータが読み取り可能な記録媒体に各種プログラムを格納しておき、ルータ200に読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、ルータ200が、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのルータ200自身の記録媒体に格納して用いてもよい。
CPU203は、図4に示した各処理部と同様の処理を実行するプログラムを読み出してメモリ202に展開することで、図4等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、フォワーディング更新部24、ABF処理部25、負荷通知部26を実行する。このように、ルータ200は、プログラムを読み出して実行することで振分制御方法を実行する情報処理装置として動作する。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)端末間の通信フローを識別するフロー識別子ごとに、パケットの検閲を実行する振分先サーバのアドレス情報を、前記通信フローの帯域幅に応じて複数記憶する振分先記憶部と、
前記フロー識別子が付与されたパケットを受信した場合に、当該フロー識別子に対応付けられる振分先サーバを前記振分先記憶部から特定する特定部と、
前記特定部によって特定された振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する送信制御部と
を有することを特徴とするネットワーク装置。
(付記2)前記フロー識別子と振分先サーバとに対応付けて、振分先サーバが処理できるパケットサイズを示す負荷情報を記憶する負荷情報記憶部をさらに有し、
前記送信制御部は、前記パケットを前記振分先サーバへ送信した場合に、前記振分先サーバに対応付けられる負荷情報から前記パケットのパケットサイズを減算し、前記振分先サーバから受信した検閲済みのパケットを宛先に送信した場合に、前記振分先サーバに対応付けられる負荷情報に前記パケットのパケットサイズを加算することを特徴とする付記1に記載のネットワーク装置。
(付記3)確立済みの通信フローが終了した場合に、確立を要求する通信フローの振分先を負荷情報と前記帯域幅に基づいて決定して前記ネットワーク装置に通知する振分先通知装置に対して、前記負荷情報記憶部に記憶される各振分先サーバの負荷情報を送信し、終了した通信フローのフロー識別子に対応する情報を前記振分先記憶部から削除する負荷通知部をさらに有することを特徴とする付記2に記載のネットワーク装置。
(付記4)コンピュータが、
端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を前記通信フローの帯域幅に応じて複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
特定した振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する
処理を含んだことを特徴とする振分制御方法。
(付記5)コンピュータに、
端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を前記通信フローの帯域幅に応じて複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
特定した振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する
処理を実行させることを特徴とする振分制御プログラム。
(付記6)メモリと
前記メモリに接続されるプロセッサと、を有し、
前記プロセッサは、端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を前記通信フローの帯域幅に応じて複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
特定した振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する
処理を実行することを特徴とするネットワーク装置。
(付記7)端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を前記通信フローの帯域幅に応じて複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
特定した振分先サーバのうち、処理負荷が所定値より小さい振分先サーバに前記フロー識別子が付与されたパケットを送信する処理をコンピュータに実行させる振分制御プログラムを記憶する、コンピュータ読み取り可能な記憶媒体。
(付記8)通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部と、
前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定する第1決定部と、
前記第1決定部によって決定された台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定する第2決定部と、
前記通信フローにおけるパケットの振分を実行するネットワーク装置に、前記第2決定部によって決定された候補サーバを、当該通信フローの振分先として通知する通知部と
を有することを特徴とする振分先通知装置。
(付記9)確立済みの通信フローが終了した場合に、前記ネットワーク装置から各候補サーバの負荷情報を受信し、受信した負荷情報で前記負荷情報記憶部に記憶される候補サーバごとの負荷情報を更新する更新部をさらに有することを特徴とする付記8に記載の振分先通知装置。
(付記10)コンピュータが、
通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部を参照し、前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定し、
決定した台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定し、
前記通信フローにおけるパケットの振分を実行するネットワーク装置に、決定した候補サーバを、当該通信フローの振分先として通知する
処理を含んだことを特徴とする振分先通知方法。
(付記11)コンピュータに、
通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部を参照し、前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定し、
決定した台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定し、
前記通信フローにおけるパケットの振分を実行するネットワーク装置に、決定した候補サーバを、当該通信フローの振分先として通知する
処理を実行させることを特徴とする振分先通知プログラム。
(付記12)メモリと
前記メモリに接続されるプロセッサと、を有し、
前記コンピュータは、通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部を参照し、前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定し、
決定した台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定し、
前記通信フローにおけるパケットの振分を実行するネットワーク装置に、決定した候補サーバを、当該通信フローの振分先として通知する
処理を実行することを特徴とする振分先通知装置。
(付記13)通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部を参照し、前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定し、
決定した台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定し、
前記通信フローにおけるパケットの振分を実行するネットワーク装置に、決定した候補サーバを、当該通信フローの振分先として通知する
処理をコンピュータに実行させる振分通知プログラムを記憶する、コンピュータ読み取り可能な記憶媒体。
10 SBC振分サーバ
11 通信制御部
12 SBC振分情報DB
13 制御部
14 送受信部
15 振分先決定部
16 振分先設定部
17 情報更新部
20 ルータ
21 通信制御部
22 記憶部
22a フォワーディング情報DB
22b SBC振分情報DB
23 制御部
24 フォワーディング更新部
25 ABF処理部
25a 振分部
25b 宛先送信部
26 負荷通知部

Claims (6)

  1. 端末間の通信フローを識別するフロー識別子ごとに、パケットの検閲を実行する振分先サーバのアドレス情報を複数記憶する振分先記憶部と、
    前記フロー識別子が付与されたパケットを受信した場合に、当該フロー識別子に対応付けられる振分先サーバを前記振分先記憶部から特定する特定部と、
    前記特定部によって特定された振分先サーバのうち、処理負荷が最も少ない振分先サーバに前記フロー識別子が付与されたパケットを送信する送信制御部と
    を有することを特徴とするネットワーク装置。
  2. 前記フロー識別子と振分先サーバとに対応付けて、前記振分先サーバが処理できるパケットサイズを示す負荷情報を記憶する負荷情報記憶部をさらに有し、
    前記送信制御部は、前記パケットを前記振分先サーバへ送信した場合に、前記振分先サーバに対応付けられる負荷情報から前記パケットのパケットサイズを減算し、前記振分先サーバから受信した検閲済みのパケットを宛先に送信した場合に、前記振分先サーバに対応付けられる負荷情報に前記パケットのパケットサイズを加算することを特徴とする請求項1に記載のネットワーク装置。
  3. 確立済みの通信フローが終了した場合に、確立を要求する通信フローの振分先を負荷情報と前記通信フローの帯域幅に基づいて決定して前記ネットワーク装置に通知する振分先通知装置に対して、前記負荷情報記憶部に記憶される各振分先サーバの負荷情報を送信し、終了した通信フローのフロー識別子に対応する情報を前記負荷情報記憶部から削除する負荷通知部をさらに有することを特徴とする請求項2に記載のネットワーク装置。
  4. コンピュータが、
    端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
    特定した振分先サーバのうち、処理負荷が最も少ない振分先サーバに前記フロー識別子が付与されたパケットを送信する
    処理を含んだことを特徴とする振分制御方法。
  5. コンピュータに、
    端末間の通信フローを識別するフロー識別子が付与されたパケットを受信した場合に、前記フロー識別子ごとにパケットの検閲を実行する振分先サーバのアドレス情報を複数記憶する振分先記憶部を参照し、前記フロー識別子に対応付けられる振分先サーバを特定し、
    特定した振分先サーバのうち、処理負荷が最も少ない振分先サーバに前記フロー識別子が付与されたパケットを送信する
    処理を実行させることを特徴とする振分制御プログラム。
  6. 通信フローの振分先候補である候補サーバに対応付けて、当該候補サーバが処理できる帯域幅と当該候補サーバの負荷情報とを記憶する負荷情報記憶部と、
    前記通信フローの確立を要求する要求パケットに含まれる帯域幅と、前記負荷情報記憶部に記憶される帯域幅とから、前記通信フローの振分先となるサーバ台数を決定する第1決定部と、
    前記第1決定部によって決定された台数分の候補サーバを、前記負荷情報記憶部に記憶される負荷情報が小さい順に決定する第2決定部と、
    前記通信フローにおけるパケットの振分を実行するネットワーク装置に、前記第2決定部によって決定された候補サーバを、当該通信フローの振分先として通知する通知部と
    を有することを特徴とする振分先通知装置。
JP2013007911A 2013-01-18 2013-01-18 ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置 Active JP6102274B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013007911A JP6102274B2 (ja) 2013-01-18 2013-01-18 ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013007911A JP6102274B2 (ja) 2013-01-18 2013-01-18 ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置

Publications (2)

Publication Number Publication Date
JP2014138412A JP2014138412A (ja) 2014-07-28
JP6102274B2 true JP6102274B2 (ja) 2017-03-29

Family

ID=51415673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013007911A Active JP6102274B2 (ja) 2013-01-18 2013-01-18 ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置

Country Status (1)

Country Link
JP (1) JP6102274B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6422293B2 (ja) * 2014-10-06 2018-11-14 株式会社Nttドコモ 通信システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007288711A (ja) * 2006-04-20 2007-11-01 Nec Corp ゲートウェイ装置、設定コントローラ、ゲートウェイ装置の負荷分散方法及びプログラム
JP2012060202A (ja) * 2010-09-06 2012-03-22 Nippon Telegr & Teleph Corp <Ntt> ネットワーク帯域制御システムおよびネットワーク帯域制御方法

Also Published As

Publication number Publication date
JP2014138412A (ja) 2014-07-28

Similar Documents

Publication Publication Date Title
JP5659125B2 (ja) 中継装置、中継方法
US7822046B2 (en) Triggering bandwidth reservation and priority remarking
US8612601B2 (en) Management method and management device for network address translation
US8223727B2 (en) Association method, relay apparatus, communication management apparatus and bandwidth allocation management apparatus
US9037729B2 (en) SIP server overload control
JPWO2006093221A1 (ja) 伝送制御装置およびその方法
JPWO2009072247A1 (ja) 通信装置
WO2012131364A1 (en) Telephone call processing method and apparatus
JP5154313B2 (ja) Sipメッセージ振分方法およびsipメッセージ振分装置
US9277014B2 (en) Handling of auxiliary NAS
EP3955539A1 (en) Relay device for call processing, call processing method performed by relay device, and recording medium in which program for executing call processing method is recorded
JP5926164B2 (ja) セッションボーダーコントローラに対する高速振り分け方法及び接続システム
US20140189793A1 (en) Virtual file system for interworking between content server and information-centric network server and operating method thereof
JP6102274B2 (ja) ネットワーク装置、振分制御方法、振分制御プログラムおよび振分先通知装置
US8305920B2 (en) Method, system and terminal for determining QoS level
US11627358B2 (en) Communication entity and a method for transmitting a video data stream
US20140075038A1 (en) Communication device, computer-readable storage medium, and communication system
US8260889B2 (en) Dynamic discovery of quality of service nodes
EP3955540A1 (en) Distributed network system for call processing provided are a call processing method performed by a distributed network system and a recording medium, in which a program for executing the call processing method is recorded
US20100166011A1 (en) Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
KR101374487B1 (ko) 홈 게이트웨이에서 가상 ip를 이용한 멀티미디어 서비스 제공 시스템 및 방법
JP5886170B2 (ja) 分散処理システムおよび分散処理方法
US9203920B2 (en) Method and node for automatically exchanging network service provider information
JP5041055B2 (ja) 連携方法、中継装置及び帯域確保管理装置
JP6582473B2 (ja) 通信装置、通信方法及び通信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6102274

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150