以下に図面を参照して、本発明にかかる通信システム、通信装置および通信方法の実施の形態を詳細に説明する。
(実施の形態1)
図1Aは、実施の形態1にかかる通信システムの一例を示す図である。図1Bは、図1Aに示した通信システムにおける信号の流れの一例を示す図(その1)である。図1Cは、図1Aに示した通信システムにおける信号の流れの一例を示す図(その2)である。図1A〜図1Cに示すように、実施の形態1にかかる通信システム100は、通信装置110,120,130,140(#A〜#D)と、記憶装置150と、を含む。
通信装置110は、通信装置120および通信装置130と接続されている。通信装置140は、通信装置120および通信装置130と接続されている。図1A〜図1Cに示す例では、データが通信装置110、通信装置120、通信装置140の順に経由する通信路が確立されているとする。
記憶装置150は、通信装置120の外部に設けられた記憶装置である。図1A〜図1Cに示す例では、記憶装置150は、通信装置120のアドレス(#B)と、通信装置120によるデータの中継先のアドレス(#D)と、を対応付ける中継情報151(#B→#D)を記憶する。
まず、図1Bに示すように、通信装置110は、通信装置120へデータを送信する。
通信装置120は、第1状態において通信装置110からのデータを受信した場合は、通信装置120のアドレス(#B)を記憶装置150へ通知することによってアドレス(#B)に対応する中継先のアドレス(#D)を記憶装置150から取得する。そして、通信装置120は、通信装置110から受信したデータを、記憶装置150から取得した中継先のアドレス(#D)へ中継する。これにより、確立された通信路により、データを通信装置140へ伝送することができる。
図1Cに示すように、通信装置120は、第2状態において通信装置110からのデータを受信した場合は、中継先のアドレス(#D)を記憶装置150から取得しない。そして、通信装置120は、通信装置110から受信したデータおよび通信装置120のアドレス(#B)を通信装置130へ転送する。通信装置130への転送は、たとえば通信装置110を介して行われる。または、通信装置130への転送は、通信装置110を介さずに行われてもよい。
通信装置130は、通信装置120から転送されたアドレス(#B)を記憶装置150へ通知することによって中継先のアドレス(#D)を記憶装置150から取得する。そして、通信装置130は、通信装置120から転送されたデータを、記憶装置150から取得した中継先のアドレス(#D)へ中継する。これにより、確立された通信路とは異なる通信路により、データを通信装置140へ伝送することができる。
このように、実施の形態1によれば、通信装置120が、第2状態において、通信装置110から受信したデータおよび通信装置120のアドレス(#B)を通信装置130へ転送する。そして、通信装置130は、通信装置120から転送されたアドレス(#B)を用いて中継先のアドレス(#D)を記憶装置150から取得し、通信装置120から転送されたデータを中継先のアドレス(#D)へ中継する。
これにより、通信装置120が第2状態である場合に、通信路の再確立を行わなくても、通信装置130によってデータを中継する負荷分散を行うことができる。このため、通信の効率化を図ることができる。
また、たとえば通信装置120の各中継情報を通信装置130へ送信する場合に比べて、通信装置間の通信負荷の増加を抑えることができる。
<第1状態および第2状態について>
第1状態とは、たとえば、通信装置120のアドレス(#B)と中継先のアドレス(#D)との中継情報151が通信装置120の内部のメモリ(キャッシュ)に記憶されており、または通信装置120が所定の輻輳状態でない状態である。第2状態とは、たとえば、通信装置120のアドレス(#B)と中継先のアドレス(#D)との中継情報151が通信装置120の内部のメモリに記憶されておらず、かつ通信装置120が所定の輻輳状態である。
この場合に、実施の形態1によれば、通信装置120が輻輳状態であり、かつ通信装置120の内部のメモリに中継情報151が記憶されていない場合に、通信路の再確立を行わなくても、通信装置130によってデータを中継することができる。このため、通信装置120の輻輳状態における記憶装置150へのアクセスを抑制し、通信の効率化を図ることができる。
また、中継情報151が通信装置120の内部のメモリ(キャッシュ)に記憶されている場合は転送を行わないことにより、通信装置120,130に重複した中継情報が記憶されることを回避することができる。このため、通信装置120,130のメモリ(キャッシュ)効率の低下を抑えることができる。また、重複した中継情報の取得に伴う記憶装置150へのアクセス増加を抑えることができる。
<中継情報の変形例>
中継情報151は、通信装置120のアドレス(#B)および通信路(#A→#B)の識別子の組み合わせと通信装置120によるデータの中継先のアドレス(#D)および通信路(#B→#D)の識別子の組み合わせとを対応付ける情報であってもよい。
この場合は、通信装置120は、第1状態において通信装置110からのデータを受信した場合は、通信装置120のアドレス(#B)および受信したデータの通信路の識別子を記憶装置150へ通知することによって中継先のアドレス(#D)および通信路の識別子の組み合わせを取得する。
また、通信装置130は、通信装置120から転送されたアドレス(#B)および通信装置120から転送されたデータの通信路の識別子を記憶装置150へ通知することによって中継先のアドレス(#D)および通信路の識別子の組み合わせを取得する。
<送信元を介して転送する構成について>
通信装置120は、たとえば、第2状態において受信したデータおよび通信装置120のアドレス(#B)の通信装置130への転送を、データの送信元である通信装置110を介して行う。この場合は、通信装置120は、通信装置120のアドレス(#B)を送信元に設定して、通信装置110から受信したデータを通信装置110へ返送する。
通信装置110は、通信装置120から返送されたデータを、通信装置120の送信元のアドレス(#B)を送信元に設定して通信装置130へ送信する。通信装置130は、通信装置130が受信したデータの送信元のアドレスが通信装置120のアドレス(#B)である場合に、通信装置120のアドレスを記憶装置150へ通知することによって中継先のアドレス(#D)を記憶装置150から取得する。
このように、通信装置110は、通信装置120から返送されたデータを通信装置130へ送信する際に、通信装置120のアドレス(#B)を送信元に設定する。これにより、送信するデータが通信装置120からの転送データであることを通信装置130へ効率よく通知することができる。
また、通信装置110は、通信装置120によって返送されたデータを通信装置130へ送信した場合に、通信装置120によって返送されたデータと通信路の識別子が同一の後続データを、通信装置120へ送信せずに通信装置130へ送信してもよい。このときも、通信装置110は、通信装置120のアドレス(#B)を送信元に設定する。これにより、通信装置120に輻輳が発生している状態において、通信路の再確立を行わなくても、通信装置120を迂回する中継を行うことができる。
また、中継先の通信装置140は、通信装置120から返送されたデータを通信装置130へ送信した場合に、通信装置110へのデータを通信装置130へ送信するようにしてもよい。通信装置110へのデータは、たとえば通信装置130によって通信装置140へ中継されたデータに対する応答データである。
<送信元を介さずに転送する構成について>
通信装置120は、第2状態において受信したデータおよび通信装置120のアドレス(#B)の通信装置130への転送を、データの送信元である通信装置110を介さずに行ってもよい。この場合は、通信装置120は、通信装置120のアドレス(#B)を送信元に設定して、通信装置110から受信したデータを通信装置130へ転送する。
通信装置130は、通信装置130が受信したデータの送信元のアドレスが通信装置120のアドレス(#B)である場合に、通信装置120のアドレスを記憶装置150へ通知することによって中継先のアドレス(#D)を記憶装置150から取得する。
また、通信装置110は、通信装置120へ送信したデータが通信装置130によって中継された場合に、通信装置120へ送信したデータと通信路の識別子が同一の後続データを、通信装置120へ送信せずに通信装置130へ送信してもよい。このときも、通信装置110は、通信装置120のアドレス(#B)を送信元に設定する。これにより、通信装置120に輻輳が発生している状態において、通信路の再確立を行わなくても、通信装置120を迂回する中継を行うことができる。
たとえば、通信装置110は、通信装置120へ送信したデータに対する応答データを通信装置130から受信した場合に、通信装置120へ送信したデータが通信装置130によって中継されたと判断することができる。
<中継先の通信装置について>
中継先の通信装置140は、通信装置130によって通信装置140へデータが中継された場合に、通信装置110へのデータを通信装置130へ送信するようにしてもよい。通信装置110へのデータは、たとえば通信装置130によって通信装置140へ中継されたデータに対する応答データである。
通信装置130は、通信装置140から送信されたデータを通信装置110へ送信する。これにより、通信装置110から通信装置140へのデータの経路が通信装置130を経由する経路となった場合に、通信装置140から通信装置110へのデータの経路も通信装置130を経由する経路とすることができる。
(実施の形態1にかかる通信装置)
図1Dは、実施の形態1にかかる通信装置(その1)の一例を示す図である。図1Eは、図1Dに示した通信装置における信号の流れの一例を示す図である。図1A〜図1Cに示した通信装置120(#B)は、たとえば、図1D,図1Eに示すように、取得部161と、中継部162と、転送部163と、を備える。
取得部161は、通信装置120が第1状態であるときに通信装置110からのデータを受信した場合は、通信装置120のアドレス(#B)を記憶装置150へ通知することによってアドレス(#B)に対応する中継先のアドレス(#D)を記憶装置150から取得する。そして、取得部161は、取得したアドレス(#D)を中継部162へ出力する。一方、取得部161は、通信装置120が第2状態であるときに通信装置110からのデータを受信した場合は、アドレス(#D)を記憶装置150から取得しない。
中継部162は、通信装置120が第1状態である場合に、通信装置110から受信したデータを、取得部161から出力された中継先のアドレス(#D)へ中継する。これにより、確立された通信路により、データを通信装置140へ伝送することができる。
また、中継部162は、通信装置120が第2状態である場合に、通信装置110から受信したデータおよび通信装置120のアドレス(#B)を転送部163へ出力する。転送部163は、中継部162から出力されたデータおよび通信装置120のアドレス(#B)を通信装置130へ転送する。
図1Fは、実施の形態1にかかる通信装置(その2)の一例を示す図である。図1Gは、図1Fに示した通信装置における信号の流れの一例を示す図である。図1A〜図1Cに示した通信装置130(#C)は、たとえば、図1F,図1Gに示すように、受信部171と、取得部172と、中継部173と、を備える。
受信部171は、通信装置120から転送されたデータおよびアドレス(#B)を受信する。そして、受信部171は、受信したアドレス(#B)を取得部172へ出力する。また、受信部171は、受信したデータを中継部173へ出力する。
取得部172は、受信部171から出力されたアドレス(#B)を記憶装置150へ通知することによって中継先のアドレス(#D)を記憶装置150から取得する。そして、取得部172は、取得したアドレス(#D)を中継部173へ出力する。
中継部173は、受信部171から出力されたデータを、取得部172から出力されたアドレス(#D)へ中継する。これにより、確立された通信路とは異なる通信路により、データを通信装置140へ伝送することができる。
(実施の形態2)
(実施の形態2にかかる通信システム)
図2は、実施の形態2にかかる通信システムの一例を示す図である。図2に示すように、実施の形態2にかかる通信システム200は、無線アクセス網210(無線網)と、移動コア網220(パケット網)と、インターネット230(Internet)と、を含む。通信システム200は、たとえばLTE(Long Term Evolution)を適用した通信システムである。
無線アクセス網210は、UE211(#0〜#n)と、eNB212(#0〜#m)と、を含む。UE211(#0〜#n)のそれぞれは携帯電話などのユーザ端末(User Equipment)である。UE211(#0〜#n)とeNB212(#0〜#m)との間においては無線通信が行われる。eNB212(#0〜#m)は、無線アクセス網210からインターネット230への上りの通信(アップリンク)において、負荷を振り分ける負荷分散元となる。
移動コア網220は、S−GW/MME221(#0〜#k)と、外部ストレージシステム223と、P−GW224(#0〜#j)と、を含む。S−GW/MME221は、S−GW(Serving−Gateway)およびMME(Mobility Management Entity:移動性管理エンティティ)の機能を有する通信装置である。P−GW224は、移動コア網220におけるインターネット230との間のゲートウェイ(Packet Data Network−Gateway)である。
S−GW/MME221(#0〜#k)は、無線アクセス網210からインターネット230への上りの通信(アップリンク)において負荷の振り分け先(負荷分散先)となる。また、S−GW/MME221(#0〜#k)は、同一の負荷分散グループに属しており、インターネット230から無線アクセス網210への下り通信(ダウンリンク)においても負荷の振り分け先(負荷分散先)となる。
内部ストレージ222は、S−GW/MME221(#0〜#k)の内部ストレージである。外部ストレージシステム223は、S−GW/MME221(#0〜#k)の外部に設けられ、S−GW/MME221(#0〜#k)からアクセス可能な外部ストレージシステムである。外部ストレージシステム223には、S−GW/MME221(#0〜#k)が用いる中継情報(コンテキストデータ)が記憶される。外部ストレージシステム223は、複数の記憶装置による分散データベースであってもよい。
インターネット230は、Web/コンテンツサーバ231などを含む。以下、UE211(#0〜#n)がWeb/コンテンツサーバ231との間で上りと下りの通信を行う場合について説明する。
図1A〜図1Cに示した通信装置110は、たとえばeNB212(#0〜#m)の少なくともいずれかに適用することができる。図1A〜図1Cに示した通信装置120,130のそれぞれは、たとえばS−GW/MME221(#0〜#k)の少なくともいずれかに適用することができる。図1A〜図1Cに示した通信装置140のそれぞれは、たとえばP−GW224(#0〜#j)の少なくともいずれかに適用することができる。
ただし、図1A〜図1Cに示した通信装置110,120,130,140の適用はこれに限らない。たとえば、通信装置110をUE211(#0〜#n)に、通信装置120,130をS−GW/MME221(#0〜#k)に、通信装置140をP−GW224(#0〜#j)に適用してもよい。また、通信装置110をS−GW/MME221(#0〜#k)に、通信装置120,130をP−GW224(#0〜#j)に、通信装置140をWeb/コンテンツサーバ231に適用してもよい。
また、通信装置110を通信システム200のRNC(Radio Network Controller:無線ネットワーク制御局)に、通信装置120,130を通信システム200のSGSN(Serving GPRS Support Node)に適用してもよい。また、通信装置110を通信システム200のSGSNに、通信装置120,130を通信システム200のGGSN(Gateway GPRS Support Node)に適用してもよい。
通信システム200においては、収容するユーザ端末(UE211)の通信にIP接続性を維持した移動サービスが提供される。そして、外部網(たとえばインターネット230)との入口に配備したモバイルコア網固有ノード(たとえばP−GW224)にIP接続点が固定され、固定点をアンカーポイントとしてトンネル通信が形成される。
ユーザ端末の移動時は、トンネル通信路を切り替えることにより、端末のIPアドレスを変えなくても通信を維持することができる。ユーザ端末のパケットを中継する各ノードの間に、少なくともユーザ端末ごとのトンネル通信路が多重される。トンネル通信路の識別や特定に要する終端点のノードIPアドレスとトンネル通信路IDは、ノード間でシグナリングを用いて交換および取り決めが行われる。
たとえば、S−GW/MME221(#0〜#k)は、ユーザデータをP−GW224から下りで受信する際の通信路IDを生成し、生成した通信路IDを自ノードのIPアドレスとともにP−GW224(#0〜#j)に通知する。
P−GW224(#0〜#j)は、ユーザデータをS−GW/MME221(#0〜#k)から上りで受信する際の通信路IDを生成し、生成した通信路IDを自ノードのIPアドレスとともにS−GW/MME221(#0〜#k)に通知する。
S−GW/MME221(#0〜#k)は、ユーザデータをeNB212(#0〜#m)から上りで受信する際の通信路IDを生成し、生成した通信路IDを自ノードのIPアドレスとともにeNB212(#0〜#m)に通知する。
eNB212(#0〜#m)は、ユーザデータをS−GW/MME221(#0〜#k)から下りで受信する際の通信路IDを生成し、生成した通信路IDを自ノードのIPアドレスとともにS−GW/MME221(#0〜#k)に通知する。
図2に示した構成は、後述の実施の形態3〜5においても同様である。
実施の形態2においては、S−GW/MME221(#a)が、負荷分散を行う場合に、eNB212から受信したデータおよびS−GW/MME221(#a)のアドレスを、eNB212を介してS−GW/MME221(#b)へ転送する。
(実施の形態2にかかる通信システムにおける中継網接続フェーズの動作)
図3は、実施の形態2にかかる通信システムにおける中継網接続フェーズの動作の一例を示すシーケンス図である。図3において、図2に示した部分と同様の部分については同一の符号を付して説明を省略する。
また、図3に示すUE211は、図2に示したUE211(#0〜#n)に含まれるUEである。図3に示すeNB212は、図2に示したeNB212(#0〜#m)に含まれるeNBである。図3に示すS−GW/MME221(#a,#b)のそれぞれは、図2に示したS−GW/MME221(#0〜#k)に含まれるS−GW/MMEである。図3に示すP−GW224は、図2に示したP−GW224(#0〜#j)に含まれるP−GWである。
eNB212は、アドレス(IP_B)のインタフェースを有する。S−GW/MME221(#a)は、アドレス(IP_A#a0)のインタフェースとアドレス(IP_A#a1)のインタフェースとを有する。S−GW/MME221(#b)は、アドレス(IP_A#b0)のインタフェースとアドレス(IP_A#b1)のインタフェースとを有する。P−GW224は、アドレス(IP_C)のインタフェースを有する。Web/コンテンツサーバ231は、アドレス(IP_s)のインタフェースを有する。
まず、UE211が、インターネット230への接続を要求する接続要求を、eNB212を介してS−GW/MME221(#a)へ送信する(ステップS301)。つぎに、S−GW/MME221(#a)が、下りの通信路の識別情報であるDL用通信路ID(ID_A_#r)の生成を行う(ステップS302)。
つぎに、S−GW/MME221(#a)が、通信路の設定を要求する通信路設定要求をP−GW224へ送信する(ステップS303)。通信路設定要求には、S−GW/MME221(#a)のインタフェースを示すアドレス(IP_A#a1)と、ステップS302によって生成されたDL用通信路ID(ID_A_#r)と、が含まれる。
つぎに、P−GW224が、上りの通信路の識別情報であるUL用通信路ID(ID_C_#p)の生成を行うとともに、UE211に対するユーザIPアドレス(IP_u)の割当を行う(ステップS304)。
つぎに、P−GW224が、ステップS303の通信路設定要求に対する通信路設定応答をS−GW/MME221(#a)へ送信する(ステップS305)。通信路設定応答には、P−GW224のインタフェースを示すアドレス(IP_C)と、ステップS304によって生成されたUL用通信路ID(ID_C_#p)と、ステップS304によって割り当てられたユーザIPアドレス(IP_u)と、が含まれる。
つぎに、S−GW/MME221(#a)が、上りの通信路の識別情報であるUL用通信路ID(ID_A_#n)の生成を行う(ステップS306)。
つぎに、S−GW/MME221(#a)が、通信路の設定を要求する通信路設定要求をeNB212へ送信する(ステップS307)。通信路設定要求には、S−GW/MME221(#a)のインタフェースを示すアドレス(IP_A#a0)と、ステップS306によって生成されたUL用通信路ID(ID_A_#n)と、が含まれる。また、通信路設定要求には、ステップS305の通信路設定応答に含まれるユーザIPアドレス(IP_u)が含まれる。
つぎに、eNB212が、下りの通信路の識別情報であるDL用通信路ID(ID_B_#k)の生成を行う(ステップS308)。つぎに、eNB212が、UE211との間で接続要求応答手順を行うことにより、ステップS307の通信路設定要求に含まれるユーザIPアドレス(IP_u)をUE211へ通知する(ステップS309)。
つぎに、eNB212が、ステップS307の通信路設定要求に対する通信路設定応答をS−GW/MME221(#a)へ送信する(ステップS310)。通信路設定応答には、eNB212のインタフェースを示すアドレス(IP_B)と、ステップS308によって生成されたDL用通信路ID(ID_B_#k)と、が含まれる。
つぎに、S−GW/MME221(#a)が、中継情報30を外部ストレージシステム223へ送信する(ステップS311)。外部ストレージシステム223は、S−GW/MME221(#a)から受信した中継情報30を記憶する(たとえば図9B参照)。
中継情報30には、上り(UL)の中継情報として、アドレス(IP_A#a0)およびUL用通信路ID(ID_A_#n)の組み合わせと、アドレス(IP_C)およびUL用通信路ID(ID_C_#p)の組み合わせと、の対応情報を含む。UL用通信路ID(ID_A_#n)は、ステップS306によって生成された情報である。アドレス(IP_C)およびUL用通信路ID(ID_C_#p)は、ステップS305の通信路設定応答に含まれる情報である。
また、中継情報30には、下り(DL)の中継情報として、アドレス(IP_A#a1)およびDL用通信路ID(ID_A_#r)の組み合わせと、アドレス(IP_B)およびDL用通信路ID(ID_B_#k)の組み合わせと、の対応情報を含む。DL用通信路ID(ID_A_#r)は、ステップS302によって生成された情報である。アドレス(IP_B)およびDL用通信路ID(ID_B_#k)は、ステップS310の通信路設定応答に含まれる情報である。
図3に示した各ステップにより、UE211とeNB212との間の通信路31と、eNB212とS−GW/MME221(#a)との間の通信路32と、S−GW/MME221(#a)とP−GW224との間の通信路33と、が確立される。これにより、UE211がインターネット230に含まれるWeb/コンテンツサーバ231との間で通信を行うことが可能になる。
図3に示した動作は、後述の実施の形態3〜5においても同様である。
(実施の形態2にかかる通信システムにおけるユーザデータ中継フェーズの動作)
図4は、実施の形態2にかかる通信システムにおけるユーザデータ中継フェーズの動作の一例を示すシーケンス図である。図4において、図3に示した部分と同様の部分については同一の符号を付して説明を省略する。たとえば図3に示した中継網接続フェーズの後に、たとえば図4に示す各ステップが行われる。
まず、UE211が、上りのパケット41をeNB212へ送信する(ステップS401)。ステップS401のパケット41には、ユーザデータと、UE211を示す送信元アドレス(IP_u)と、Web/コンテンツサーバ231を示す宛先アドレス(IP_s)と、が含まれる。送信元アドレス(IP_u)は、たとえば図3に示したステップS309によって通知されたユーザIPアドレスである。ユーザデータは、たとえばWeb/コンテンツサーバ231に対してコンテンツデータを要求するデータである。
つぎに、eNB212が、パケット42をS−GW/MME221(#a)へ送信することによりパケット41の中継を行う(ステップS402)。ステップS402のパケット42には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_A_#n)と、送信元アドレス(IP_B)と、宛先アドレス(IP_A#a0)と、が含まれる。
つぎに、S−GW/MME221(#a)が、外部ストレージシステム223から中継情報を取得する(ステップS403)。ステップS403において取得される中継情報は、中継情報30のうちの、UE211の上り通信についての中継情報43である。たとえば、S−GW/MME221(#a)は、取得キーとして宛先アドレス(IP_A#a0)およびUL用通信路ID(ID_A_#n)を外部ストレージシステム223へ送信する。これに対して、外部ストレージシステム223は、アドレス(IP_C)およびUL用通信路ID(ID_C_#p)を中継情報としてS−GW/MME221(#a)へ送信する。
つぎに、S−GW/MME221(#a)が、ステップS403によって取得した中継情報43に基づいて、パケット44をP−GW224へ送信することによってパケット41の中継を行う(ステップS404)。パケット44には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_C_#p)と、送信元アドレス(IP_A#a1)と、宛先アドレス(IP_C)と、が含まれる。
つぎに、P−GW224が、パケット45をWeb/コンテンツサーバ231へ送信することによってパケット41の中継を行う(ステップS405)。パケット45には、パケット41の各情報(点線枠内)が含まれる。
図4に示した各ステップにより、UE211から送信されたパケット41をWeb/コンテンツサーバ231へ伝送することができる。
図4に示した動作は、後述の実施の形態3〜5においても同様である。
(実施の形態2にかかる通信システムにおける負荷分散時の動作)
図5Aは、実施の形態2にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その1)である。図5Bは、実施の形態2にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その2)である。図5A,図5Bにおいて、図3に示した部分と同様の部分については同一の符号を付して説明を省略する。
たとえば図3に示した中継網接続フェーズおよび図4に示したユーザデータ中継フェーズの後に、S−GW/MME221(#a)において輻輳が発生したとする。この場合は、たとえば図5A,図5Bに示す各ステップが行われる。
図5Aに示すステップS501,S502は、それぞれ図4に示したステップS401,S402と同様である。ステップS502のつぎに、S−GW/MME221(#a)が、負荷分散判断を行う(ステップS503)。図5Aに示す例では、S−GW/MME221(#a)は、自身の内部ストレージ222(キャッシュ)に該当する中継情報(該当情報)が無く、かつ、S−GW/MME221(#a)において輻輳が発生しているため、負荷分散を行うと判断する。
つぎに、S−GW/MME221(#a)が、パケット42をカプセル化したパケット51をeNB212へ送信することにより、パケット42をeNB212へ返送する(ステップS504)。ステップS504のパケット51には、パケット42の各情報に加えて、送信元アドレス(IP_A#a0)と、宛先アドレス(IP_B)と、が含まれる。
つぎに、eNB212が、負荷分散先の決定を行う(ステップS505)。負荷分散先の決定は、たとえばS−GW/MME221(#0〜#k)のそれぞれにおける負荷状態に基づいて行うことができる。図5Aに示す例では、eNB212は、負荷分散先をS−GW/MME221(#b)に決定したとする。
つぎに、eNB212が、パケット52をS−GW/MME221(#b)へ送信することにより、パケット41をS−GW/MME221(#b)へ振り分ける(ステップS506)。パケット52には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_A_#n)と、送信元アドレス(IP_A#a0)と、宛先アドレス(IP_A#b0)と、が含まれる。このように、パケット52の送信元アドレスには、eNB212ではなくS−GW/MME221(#a)のアドレスが設定される。
ステップS506においてS−GW/MME221(#b)が受信したパケット52の送信元アドレスは、S−GW/MME221(#b)と同じ負荷分散グループのS−GW/MME221(#a)のアドレスである。このため、S−GW/MME221(#b)は、パケット52の送信元アドレス(IP_A#a0)およびUL用通信路ID(ID_A_#n)の組を取得キーとして、外部ストレージシステム223から中継情報を取得する(ステップS507)。これにより、中継情報30のうちの、UE211の上り通信についての中継情報43(IP_C+ID_C_#p)を取得することができる。また、このとき、S−GW/MME221(#b)は、S−GW/MME221(#a)のアドレス(IP_A#a1)を、自ノードの対応アドレスに更新して保持しておく。
つぎに、S−GW/MME221(#b)が、ステップS507によって取得した中継情報に基づいて、パケット53をP−GW224へ送信することによってパケット41の中継を行う(ステップS508)。パケット53には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_C_#p)と、送信元アドレス(IP_A#b1)と、宛先アドレス(IP_C)と、が含まれる。
つぎに、P−GW224が、DL用通信路ID(ID_A_#r)に対応する下り通信における中継先を、“IP_A#a1”から“IP_A#b1”に変更する(ステップS509)。これにより、上り通信における経路の変更に合わせて、下り通信における経路を変更することができる。
つぎに、P−GW224が、パケット53に含まれるパケット41をWeb/コンテンツサーバ231へ送信する(ステップS510)。これにより、UE211から送信されたパケット41をWeb/コンテンツサーバ231へ伝送することができる。
また、UE211が、パケット41の後続のパケット54をeNB212へ送信したとする(ステップS511)。つぎに、eNB212が、パケット54を含むパケット55の送信元アドレスに、ステップS502のパケット42における送信先アドレスである旧送信先アドレス(IP_A#a0)を設定する(ステップS512)。
つぎに、eNB212が、ステップS512によって送信元アドレスを設定したパケット55をS−GW/MME221(#b)へ送信することによってパケット54の中継を行う(ステップS513)。
つぎに、S−GW/MME221(#b)が、ステップS507によって取得した中継情報に基づいて、パケット56をP−GW224へ送信することによってパケット54の中継を行う(ステップS514)。パケット56には、パケット54の各情報(点線枠内)に加えて、UL用通信路ID(ID_C_#p)と、送信元アドレス(IP_A#b1)と、宛先アドレス(IP_C)と、が含まれる。
つぎに、P−GW224が、ステップS514のパケット56に含まれるパケット54をWeb/コンテンツサーバ231へ送信したとする(ステップS515)。これにより、UE211によって送信されたパケット54がWeb/コンテンツサーバ231へ到達する。
また、Web/コンテンツサーバ231が、UE211を宛先とするパケット57をP−GW224へ送信したとする(ステップS516)。パケット57は、たとえばUE211からのパケット41による要求に対応するコンテンツデータである。
つぎに、P−GW224が、ステップS509によって変更した中継先(IP_A#b1)に基づいて、パケット58をS−GW/MME221(#b)へ送信することによってパケット57の中継を行う(ステップS517)。パケット58には、パケット57の各情報(点線枠内)に加えて、DL用通信路ID(ID_A_#r)と、送信元アドレス(IP_C)と、宛先アドレス(IP_A#b1)と、が含まれる。
つぎに、S−GW/MME221(#b)が、パケット59をeNB212へ送信することによってパケット58の中継を行う(ステップS518)。たとえば、S−GW/MME221(#b)は、ステップS507において保持しておいたS−GW/MME221(#a)のアドレス(IP_A#a1)およびDL用通信路ID(ID_A_#r)の組を取得キーとして外部ストレージシステム223から中継情報を取得する。これにより、中継情報30のうちの、UE211の下り通信についての中継情報(IP_B+ID_B_#k)を取得することができる。パケット59には、パケット41の各情報(点線枠内)に加えて、DL用通信路ID(ID_B_#k)と、送信元アドレス(IP_A#b0)と、宛先アドレス(IP_B)と、が含まれる。
つぎに、eNB212が、パケット59に含まれるパケット57をUE211へ送信する(ステップS519)。これにより、Web/コンテンツサーバ231によって送信されたパケット57をUE211へ伝送することができる。
(実施の形態2にかかる負荷分散先ノードの処理)
図6は、実施の形態2にかかる負荷分散先ノードの処理の一例を示すフローチャートである。図3〜図5Bに示した例において、負荷分散先ノードであるS−GW/MME221(#a,#b)のそれぞれは、パケット受信時にたとえば図6に示す各ステップを行う。まず、S−GW/MME221は、受信パケットの送信元アドレスが、自ノードと同一の負荷分散グループに含まれるか否かを判断する(ステップS601)。
ステップS601において、負荷分散グループに含まれる場合(ステップS601:Yes)は、S−GW/MME221は、受信パケットの送信元アドレスと通信路IDに対応する中継情報を外部ストレージシステム223から取得する(ステップS602)。このように、S−GW/MME221は、自ノードと同一の負荷分散グループのノードから転送されたパケットを受信すると、自ノードのアドレスではなく、受信パケットの送信元アドレスを用いて外部ストレージシステム223から中継情報を取得する。また、このとき、S−GW/MME221は、取得した中継情報内の旧中継装置(負荷分散先ノード)のアドレスを自ノードの対応アドレスに更新して保持する。
つぎに、S−GW/MME221は、ステップS602によって取得した中継情報に基づいて、受信パケットのカプセル化ヘッダを変更する(ステップS603)。すなわち、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスに設定する。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS602によって取得した中継情報が示す対向ノードアドレスに設定する。つぎに、S−GW/MME221は、ステップS603によってカプセル化ヘッダを変更したパケットを送信し(ステップS604)、一連の処理を終了する。これにより、自ノードと同一の負荷分散グループのノードから転送されたパケットを中継することができる。
ステップS601において、負荷分散グループに含まれない場合(ステップS601:No)は、S−GW/MME221は、自ノードの内部ストレージ222に該当する中継情報があるか否かを判断する(ステップS605)。該当する中継情報は、自ノードアドレス(受信パケットの宛先アドレス)と受信パケットの通信路IDに対応する中継情報である。内部ストレージ222に該当する中継情報がない場合(ステップS605:No)は、S−GW/MME221は、自ノードが輻輳状態か否かを判断する(ステップS606)。たとえば、S−GW/MME221は、外部ストレージシステム223へのアクセスレートや、自ノードのキャッシュの使用率などに基づいて自ノードが輻輳状態か否かを判断することができる。
ステップS606において、自ノードが輻輳状態である場合(ステップS606:Yes)は、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS607)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、受信パケットの送信元アドレスとする。
つぎに、S−GW/MME221は、ステップS607によってカプセル化したパケットを送信し(ステップS608)、一連の処理を終了する。これにより、S−GW/MME221は、受信パケットに該当する中継情報が内部ストレージ222になく、かつ自ノードが輻輳状態である場合に受信パケットを返送することができる。
ステップS606において、自ノードが輻輳状態でない場合(ステップS606:No)は、S−GW/MME221は、自ノードアドレスと受信パケットの通信路IDに対応する中継情報を外部ストレージシステム223から取得する(ステップS609)。
つぎに、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS610)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS609によって取得した中継情報が示す対向ノードアドレスとする。
つぎに、S−GW/MME221は、ステップS610によってカプセル化したパケットを送信し(ステップS611)、一連の処理を終了する。これにより、S−GW/MME221は、受信パケットに該当する中継情報が内部ストレージ222にないが、自ノードが輻輳状態でない場合は、外部ストレージシステム223にアクセスして該当する中継情報を取得し、受信パケットを中継することができる。
ステップS605において、内部ストレージ222に該当する中継情報がある場合(ステップS605:Yes)は、S−GW/MME221は、ステップS610へ移行する。この場合に、S−GW/MME221は、内部ストレージ222の該当する中継情報が示す対向ノードアドレスへ受信パケットを送信する。これにより、S−GW/MME221は、受信パケットに該当する中継情報が内部ストレージ222にある場合に、内部ストレージ222の中継情報を用いて受信パケットを中継することができる。
(実施の形態2にかかる負荷分散元ノードの処理)
図7は、実施の形態2にかかる負荷分散元ノードの処理の一例を示すフローチャートである。図3〜図5Bに示した例において、負荷分散元ノードであるeNB212は、パケット受信時にたとえば図7に示す各ステップを行う。
まず、eNB212は、受信パケットが、負荷分散先ノード(S−GW/MME221)から返送されたパケットであるか否かを判断する(ステップS701)。返送されたパケットである場合(ステップS701:Yes)は、eNB212は、返送元の負荷分散先ノードと同一の負荷分散グループに属するノードのうちの、負荷が最小のノードを選択する(ステップS702)。ステップS702における選択対象のノードは、受信パケットの返送元以外のノードである。たとえば、eNB212は、負荷分散先ノードのそれぞれから受信した負荷状態情報に基づいてステップS702の選択を行う。
つぎに、eNB212は、自ノードが記憶している中継情報のうちの、受信パケットの宛先アドレスと通信路IDに対応する中継情報を特定する(ステップS703)。つぎに、eNB212は、ステップS703によって特定した中継情報が示す対向ノードアドレスを、ステップS702によって選択したノードのアドレスに変更する(ステップS704)。このとき、eNB212は、中継情報の変更前の対向ノードアドレス(旧対向ノードアドレス)を、ステップS703によって特定した中継情報と対応付けて保持する。
つぎに、eNB212は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS705)。このとき、eNB212は、カプセル化ヘッダの送信元アドレスを、ステップS704において保持した旧対向ノードアドレスとする。また、eNB212は、カプセル化ヘッダの宛先アドレスを、ステップS704によって変更した対向ノードアドレスとする。
つぎに、eNB212は、ステップS705によってカプセル化したパケットを送信し(ステップS706)、一連の処理を終了する。これにより、eNB212は、負荷分散先ノードからパケットが返送された場合に、返送されたパケットを他の負荷分散先ノードへ振り分けることができる。また、振り分けるパケットの送信元アドレスを、eNB212のアドレスではなく、返送元の負荷分散先ノードのアドレス(旧対向ノードアドレス)とすることができる。
ステップS701において、返送されたパケットでない場合(ステップS701:No)は、eNB212は、受信パケットに該当する中継情報について、ステップS704によって旧対向ノードアドレスが保持されているか否かを判断する(ステップS707)。該当する中継情報は、自ノードアドレス(受信パケットの宛先アドレス)と受信パケットの通信路IDに対応する中継情報である。
ステップS707において、旧対向ノードアドレスが保持されている場合(ステップS707:Yes)は、eNB212は、ステップS705へ移行する。これにより、負荷分散先ノードからパケットが返送された場合に、後続のパケットについてはステップS702によって選択したノードへ直接送信することができる。
ステップS707において、旧対向ノードアドレスが保持されていない場合(ステップS707:No)は、eNB212は、自ノードアドレスと受信パケットの通信路IDに対応する中継情報を特定する(ステップS708)。
つぎに、eNB212は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS709)。このとき、eNB212は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、eNB212は、カプセル化ヘッダの宛先アドレスを、ステップS708によって特定した中継情報が示す対向ノードアドレスとする。
つぎに、eNB212は、ステップS709によってカプセル化したパケットを送信し(ステップS710)、一連の処理を終了する。これにより、eNB212は、受信パケットを中継することができる。
(実施の形態2にかかる負荷分散先ノードの後段ノードの処理)
図8は、実施の形態2にかかる負荷分散先ノードの後段ノードの処理の一例を示すフローチャートである。図3〜図5Bに示した例において、負荷分散先ノードの後段ノードであるP−GW224は、パケット受信時にたとえば図8に示す各ステップを行う。
まず、P−GW224は、受信パケットを自ノードの中継情報に基づいて中継する(ステップS801)。また、P−GW224は、受信パケットの送信元アドレスが、中継路確立(たとえば図3の中継網接続フェーズ)で記憶した送信元アドレスと異なるか否かを判断する(ステップS802)。中継路確立で記憶した送信元アドレスと同一である場合(ステップS802:No)は、P−GW224は、一連の処理を終了する。
ステップS802において、中継路確立で記憶した送信元アドレスと異なる場合(ステップS802:Yes)は、P−GW224は、受信パケットが、負荷分散グループのノードからの受信パケットであるか否かを判断する(ステップS803)。負荷分散グループのノードからの受信パケットでない場合(ステップS803:No)は、P−GW224は、一連の処理を終了する。
ステップS803において、負荷分散グループのノードからの受信パケットである場合(ステップS803:Yes)は、P−GW224は、下り通信の中継情報が示す対向ノードアドレスを、受信パケットの送信元アドレスに変更し(ステップS804)、一連の処理を終了する。これにより、上り通信における経路の変更に合わせて、下り通信における経路を変更することができる。
図8に示した処理は、後述の実施の形態3〜5においても同様である。
(実施の形態2にかかる外部ストレージに記憶される負荷分散先ノードの中継テーブル)
図9Aは、実施の形態2にかかる外部ストレージに記憶される負荷分散先ノードの中継テーブルの一例を示す図である。外部ストレージシステム223には、たとえば図9Aに示す中継テーブル910が記憶される。
中継テーブル910は、宛先アドレス911と、通信路ID912と、対向ノードアドレス913と、対向ノードアドレス914と、通信路ID915と、送信元自ノードアドレス916と、を含む。
宛先アドレス911、通信路ID912および対向ノードアドレス913は、受信データ(受信パケット)に対応する各項目である。宛先アドレス911は、受信データの宛先アドレス(すなわち自ノードアドレス)である。通信路ID912は、受信データの通信路IDである。対向ノードアドレス913は、受信データの送信元のアドレスであり、送信元確認用のアドレスである。
対向ノードアドレス914は、受信データの送信先のアドレスである。通信路ID915は、S−GW/MME221が受信データを送信する際の通信路IDである。送信元自ノードアドレス916は、S−GW/MME221が受信データを送信する際の送信元のアドレス(すなわち自ノードアドレス)である。
なお、S−GW/MME221の内部ストレージ222に中継情報を記憶する場合も、図9Aに示す中継テーブル910と同様の中継テーブルを用いることができる。
図9Bは、中継網接続フェーズ後の負荷分散先ノードの中継テーブルの一例を示す図である。図9Bにおいて、図9Aに示した部分と同様の部分については同一の符号を付して説明を省略する。たとえば図3に示した中継網接続フェーズにより、外部ストレージシステム223の中継テーブル910はたとえば図9Bのようになる。
(実施の形態2にかかる負荷分散元の負荷分散グループ管理テーブル)
図10は、実施の形態2にかかる負荷分散元の負荷分散グループ管理テーブルの一例を示す図である。eNB212のメモリには、たとえば図10に示す複数の負荷分散グループ管理テーブル1010が記憶される。複数の負荷分散グループ管理テーブル1010は、それぞれ異なる負荷分散グループを示している。
負荷分散グループ管理テーブル1010は、ノードアドレス1011と、負荷状態1012と、を含む。ノードアドレス1011は、負荷分散グループGiに含まれる各ノードのアドレスを示す。負荷状態1012は、ノードアドレス1011が示すノードの負荷状態を示す。負荷状態1012の「Congested」は、ノードが輻輳状態であることを示す。負荷状態1012の「Low」は、ノードが輻輳状態でないことを示す。
図10に示す負荷分散グループ管理テーブル1010には、S−GW/MME221(#a)のアドレス(IP_A#a0)と、S−GW/MME221(#b)のアドレス(IP_A#b0)と、が同一の負荷分散グループとして登録されている。また、負荷分散グループ管理テーブル1010は、S−GW/MME221(#a)が輻輳状態であり、S−GW/MME221(#b)が輻輳状態でないことを示している。
たとえば図7のステップS702において、eNB212は、負荷分散グループ管理テーブル1010のノードアドレス1011および負荷状態1012に基づいて振り分け先の負荷分散先ノードを選択することができる。
(実施の形態2にかかる負荷分散元ノードに記憶される上りの中継テーブル)
図11Aは、実施の形態2にかかる負荷分散元ノードに記憶される上りの中継テーブルの一例を示す図である。負荷分散元ノードであるeNB212のメモリには、たとえば図11Aに示す上りの中継テーブル1110が記憶される。中継テーブル1110は、無線通信路識別子1111と、対向ノードアドレス1112と、通信路ID1113と、送信元自ノードアドレス1114と、旧対向ノードアドレス1115と、を含む。
無線通信路識別子1111は、eNB212の上りの受信データ(受信パケット)に対応する項目である。無線通信路識別子1111は、無線アクセス網210におけるUE(たとえばUE211)との間の無線通信路の識別子である。
対向ノードアドレス1112、通信路ID1113、送信元自ノードアドレス1114および旧対向ノードアドレス1115は、eNB212の上りの送信データ(送信パケット)に対応する項目である。
対向ノードアドレス1112は、eNB212が受信データを中継する際の送信先のアドレスである。通信路ID1113は、受信データの通信路IDである。送信元自ノードアドレス1114は、eNB212が受信データを送信する際の送信元のアドレス(すなわち自ノードアドレス)である。
旧対向ノードアドレス1115は、負荷分散によって対向ノードアドレス1112が変更される場合に用いられ、変更前(負荷分散前)の対向ノードアドレス1112が格納される。たとえば、図7のステップS704において、eNB212は、中継情報の変更前の対向ノードアドレスを旧対向ノードアドレス1115に格納することにより保持する。
(実施の形態2にかかる負荷分散元ノードに記憶される下りの中継テーブル)
図11Bは、実施の形態2にかかる負荷分散元ノードに記憶される下りの中継テーブルの一例を示す図である。負荷分散元ノードであるeNB212のメモリには、たとえば図11Bに示す下りの中継テーブル1120が記憶される。中継テーブル1120は、宛先アドレス1121と、通信路ID1122と、対向ノードアドレス1123と、無線通信路識別子1124と、を含む。
宛先アドレス1121、通信路ID1122および対向ノードアドレス1123は、eNB212の下りの受信データ(受信パケット)に対応する項目である。
宛先アドレス1121は、eNB212の下りの受信データの宛先アドレス(すなわち自ノードアドレス)である。通信路ID1122は、eNB212の下りの受信データの通信路IDである。対向ノードアドレス1123は、eNB212の下りの受信データの送信元のアドレスであり、送信元確認用のアドレスである。
無線通信路識別子1124は、eNB212の下りの送信データ(送信パケット)に対応する項目である。無線通信路識別子1124は、無線アクセス網210におけるUE(たとえばUE211)との間の無線通信路の識別子であって、図11Aの無線通信路識別子1111と同一である。たとえば、図8のステップS804において、eNB212は、対向ノードアドレス1123を、受信パケットの送信元アドレスに変更する。
(実施の形態2にかかる負荷分散先の後段ノードの負荷分散グループ管理テーブル)
図12は、実施の形態2にかかる負荷分散先の後段ノードの負荷分散グループ管理テーブルの一例を示す図である。P−GW224のメモリには、たとえば図12に示す複数の負荷分散グループ管理テーブル1210が記憶される。複数の負荷分散グループ管理テーブル1210は、それぞれ異なる負荷分散グループを示している。
負荷分散グループ管理テーブル1210は、ノードアドレス1211を含む。ノードアドレス1211は、負荷分散グループGiに含まれる各ノードのアドレスを示す。図12に示すように、負荷分散グループ管理テーブル1210には、S−GW/MME221(#a)のアドレス(IP_A#a1)と、S−GW/MME221(#b)のアドレス(IP_A#b1)と、が同一の負荷分散グループとして登録されている。
たとえば、図8のステップS803において、P−GW224は、受信パケットが、負荷分散グループのノードからの受信パケットであるか否かを宛先アドレス1121に基づいて判断する。
(実施の形態2にかかる負荷分散先ノードの後段ノードの上りの中継テーブル)
図13Aは、実施の形態2にかかる負荷分散先ノードの後段ノードの上りの中継テーブルの一例を示す図である。S−GW/MME221の後段(上流側)のP−GW224には、たとえば図13Aに示す上りの中継テーブル1310が記憶される。中継テーブル1310は、宛先アドレス1311と、通信路ID1312と、対向ノードアドレス1313と、送信先インタフェース1314と、逆方向中継情報管理番号1315と、を含む。
宛先アドレス1311、通信路ID1312および対向ノードアドレス1313は、P−GW224の上りの受信データ(受信パケット)に対応する項目である。
宛先アドレス1311は、P−GW224の上りの受信データの宛先アドレス(すなわち自ノードアドレス)である。通信路ID1312は、P−GW224の上りの受信データの通信路IDである。対向ノードアドレス1313は、P−GW224の上りの受信データの送信元アドレスであって、送信元確認用のアドレスである。
送信先インタフェース1314は、P−GW224の上りの受信データをP−GW224が送信する際の宛先のインタフェースである。逆方向中継情報管理番号1315は、P−GW224の上りの受信データと逆方向の下りの通信路に対応する中継情報(たとえば図13B参照)の管理番号である。
(実施の形態2にかかる負荷分散先ノードの後段ノードの下りの中継テーブル)
図13Bは、実施の形態2にかかる負荷分散先ノードの後段ノードの下りの中継テーブルの一例を示す図である。P−GW224のメモリには、たとえば図13Bに示す下りの中継テーブル1320が記憶される。中継テーブル1320は、中継情報管理番号1321と、受信インタフェース1322と、宛先アドレス1323と、対向ノードアドレス1324と、通信路ID1325と、送信元自ノードアドレス1326と、を含む。
中継情報管理番号1321は、中継情報の管理番号である。図13Aに示した逆方向中継情報管理番号1315は、中継情報管理番号1321の番号を示す。
受信インタフェース1322および宛先アドレス1323は、P−GW224の下りの受信データ(受信パケット)に対応する項目である。受信インタフェース1322は、P−GW224の下りの受信データを受信する自ノードのインタフェースである。宛先アドレス1323は、P−GW224の下りの受信データの宛先のUE(たとえばUE211)のアドレス(UEアドレス)である。
対向ノードアドレス1324は、P−GW224の下りの受信データをP−GW224が中継する際の宛先アドレスである。通信路ID1325は、P−GW224の下りの受信データをP−GW224が中継する際の通信路IDである。送信元自ノードアドレス1326は、P−GW224の下りの受信データをP−GW224が中継する際の送信元アドレス(すなわち自ノードアドレス)である。
たとえば図8のステップS801において、P−GW224は、図13A,図13Bに示した中継テーブル1310,1320を用いて受信パケットの中継を行う。
(実施の形態2にかかる負荷分散元ノード)
図14Aは、実施の形態2にかかる負荷分散元ノードの一例を示す図である。負荷分散元ノードであるeNB212は、たとえば図14Aに示す通信装置1410によって実現することができる。通信装置1410は、ネットワークインタフェース1411,1412と、通信データ処理部1413と、通信路制御部1414と、負荷分散制御部1415と、を備える。
ネットワークインタフェース1411,1412は、ネットワークインタフェースに固有のL1/L2/L3プロトコルを終端し、外部のノードとのデータ送受信を行う。たとえば、ネットワークインタフェース1411は、S−GW/MME221との間で通信を行う有線通信インタフェースである。また、ネットワークインタフェース1412は、たとえばUE211との間で無線通信を行う通信インタフェースである。
通信データ処理部1413は、通信路の設定情報に基づき、データのルーティングやデータ転送用プロトコルに関する処理を行う。また、通信データ処理部1413は、他ノードとの信号メッセージなど、自装置宛てのシグナリング情報等を取得し、取得したシグナリング情報を処理する他機能とのデータ送受信も行う。
通信路制御部1414は、他ノードとのシグナリングにより、通信データ処理部1413への中継情報の設定、解放および変更処理を行い、設定情報を管理する。負荷分散制御部1415は、負荷分散先の振り分けに関する処理を行う。
図14Bは、実施の形態2にかかる負荷分散元ノードのハードウェア構成の一例を示す図である。図14Aに示した通信装置1410は、たとえば図14Bに示す通信装置1420によって実現することができる。通信装置1420は、プロセッサ1421と、記憶装置1422と、有線INF回路1423と、無線INF回路1424と、を備える。プロセッサ1421、記憶装置1422、有線INF回路1423および無線INF回路1424は、バス1425によって接続される。
プロセッサ1421は、通信装置1420の全体の制御を司るCPU(Central Processing Unit:中央処理装置)などのプロセッサである。
記憶装置1422には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAM(Random Access Memory)である。メインメモリは、プロセッサ1421のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置1420を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ1421によって実行される。
有線INF回路1423は、有線によって通信装置1420のパケット網(たとえば移動コア網220)との間で通信を行う通信インタフェースである。有線INF回路1423は、プロセッサ1421によって制御される。
無線INF回路1424は、無線によって通信装置1420の外部の無線網(たとえば無線アクセス網210)との間で通信を行う通信インタフェースである。無線INF回路1424は、プロセッサ1421によって制御される。
図14Aに示した通信データ処理部1413、通信路制御部1414および負荷分散制御部1415は、たとえばプロセッサ1421によって実現することができる。図14Aに示したネットワークインタフェース1411は、たとえば有線INF回路1423によって実現することができる。図14Aに示したネットワークインタフェース1412は、たとえば無線INF回路1424によって実現することができる。
(実施の形態2にかかる負荷分散先ノード)
図15Aは、実施の形態2にかかる負荷分散先ノードの一例を示す図である。負荷分散先ノードであるS−GW/MME221は、たとえば図15Aに示す通信装置1510によって実現することができる。通信装置1510は、ネットワークインタフェース1511,1512と、外部ストレージネットワークインタフェース1513と、を備える。また、通信装置1510は、通信データ処理部1514と、通信路制御部1515と、外部ストレージアクセス制御部1516と、負荷分散制御部1517と、を備える。
ネットワークインタフェース1511,1512は、それぞれネットワークインタフェース1511,1512に固有のL1/L2/L3プロトコルを終端し、外部のノードとのデータ送受信を行う。たとえば、ネットワークインタフェース1511は、eNB212との間で通信を行う有線通信インタフェースである。ネットワークインタフェース1512は、たとえばP−GW224との間で無線通信を行う通信インタフェースである。
外部ストレージネットワークインタフェース1513は、外部ストレージネットワークインタフェース1513に固有のL1/L2/L3プロトコルを終端し、外部のノードとのデータ送受信を行う。たとえば、外部ストレージネットワークインタフェース1513は、外部ストレージシステム223との間で有線通信を行う通信インタフェースである。
通信データ処理部1514は、通信路の設定情報に基づき、データのルーティングやデータ転送用プロトコルに関する処理を行う。また、通信データ処理部1514は、他ノードとの信号メッセージなど、自装置宛てのシグナリング情報等を取得し、取得したシグナリング情報を処理する他機能とのデータ送受信も行う。
通信路制御部1515は、他ノードとのシグナリングにより、通信データ処理部1514への中継情報の設定、解放、変更処理を行い、設定情報を管理する。外部ストレージアクセス制御部1516は、外部ストレージシステム223と接続、通信し、外部ストレージシステム223からのデータ取得、書き込み、ならびに消去の処理を行う。負荷分散制御部1517は、負荷分散先の振り分けに関する処理を行う。
図1D,図1Eに示した取得部161は、たとえば外部ストレージネットワークインタフェース1513、通信データ処理部1514および外部ストレージアクセス制御部1516によって実現することができる。図1D,図1Eに示した中継部162は、たとえばネットワークインタフェース1511,1512、通信データ処理部1514および通信路制御部1515によって実現することができる。図1D,図1Eに示した転送部163は、たとえばネットワークインタフェース1511,1512、通信データ処理部1514および負荷分散制御部1517によって実現することができる。
図1F,図1Gに示した受信部171は、たとえばネットワークインタフェース1511,1512、通信データ処理部1514および負荷分散制御部1517によって実現することができる。図1F,図1Gに示した取得部172は、たとえば外部ストレージネットワークインタフェース1513、通信データ処理部1514および外部ストレージアクセス制御部1516によって実現することができる。図1F,図1Gに示した中継部173は、たとえばネットワークインタフェース1511,1512、通信データ処理部1514および通信路制御部1515によって実現することができる。
図15Bは、実施の形態2にかかる負荷分散先ノードのハードウェア構成の一例を示す図である。図15Aに示した通信装置1510は、たとえば図15Bに示す通信装置1520によって実現することができる。通信装置1520は、プロセッサ1521と、記憶装置1522と、有線INF回路1523と、外部ストレージINF回路1524と、を備える。プロセッサ1521、記憶装置1522、有線INF回路1523および外部ストレージINF回路1524は、バス1525によって接続される。プロセッサ1521は、通信装置1520の全体の制御を司るCPUなどのプロセッサである。
記憶装置1522には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、プロセッサ1521のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置1520を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ1521によって実行される。
有線INF回路1523は、有線によって通信装置1520のパケット網(たとえば移動コア網220)との間で通信を行う通信インタフェースである。たとえば、有線INF回路1523は、eNB212との間で通信を行う通信インタフェースと、P−GW224との間で通信を行う通信インタフェースと、を含む。有線INF回路1523は、プロセッサ1521によって制御される。
外部ストレージINF回路1524は、たとえば有線によって通信装置1520の外部ストレージアクセス網(たとえば外部ストレージシステム223)との間で通信を行う通信インタフェースである。外部ストレージINF回路1524は、プロセッサ1521によって制御される。
図15Aに示した通信データ処理部1514、通信路制御部1515、外部ストレージアクセス制御部1516および負荷分散制御部1517は、たとえばプロセッサ1521によって実現することができる。図15Aに示したネットワークインタフェース1511,1512は、たとえば有線INF回路1523によって実現することができる。図15Aに示した外部ストレージネットワークインタフェース1513は、たとえば外部ストレージINF回路1524によって実現することができる。
(実施の形態2にかかる負荷分散先ノードの後段ノード)
図16Aは、実施の形態2にかかる負荷分散先ノードの後段ノードの一例を示す図である。負荷分散先ノードの後段ノード(たとえばP−GW224)は、たとえば図16Aに示す通信装置1610によって実現することができる。通信装置1610は、ネットワークインタフェース1611,1612と、通信データ処理部1613と、通信路制御部1614と、負荷分散制御部1615と、を備える。
ネットワークインタフェース1611,1612は、ネットワークインタフェースに固有のL1/L2/L3プロトコルを終端し、外部のノードとのデータ送受信を行う。たとえば、ネットワークインタフェース1611は、S−GW/MME221との間で通信を行う有線通信インタフェースである。ネットワークインタフェース1612は、たとえばWeb/コンテンツサーバ231との間で無線通信を行う通信インタフェースである。
通信データ処理部1613は、通信路の設定情報に基づき、データのルーティングやデータ転送用プロトコルに関する処理を行う。また、通信データ処理部1613は、他ノードとの信号メッセージなど、自装置宛てのシグナリング情報等を取得し、取得したシグナリング情報を処理する他機能とのデータ送受信も行う。
通信路制御部1614は、他ノードとのシグナリングにより、通信データ処理部1613への中継情報の設定、解放、変更処理を行い、設定情報を管理する。負荷分散制御部1615は、負荷分散先の振り分けに関する処理を行う。
図16Bは、実施の形態2にかかる負荷分散先ノードの後段ノードのハードウェア構成の一例を示す図である。図16Aに示した通信装置1610は、たとえば図16Bに示す通信装置1620によって実現することができる。通信装置1620は、プロセッサ1621と、記憶装置1622と、有線INF回路1623と、を備える。プロセッサ1621、記憶装置1622、および有線INF回路1623は、バス1625によって接続される。プロセッサ1621は、通信装置1620の全体の制御を司るCPUなどのプロセッサである。
記憶装置1622には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、プロセッサ1621のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置1620を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ1621によって実行される。
有線INF回路1623は、有線によって通信装置1620のパケット網との間で通信を行う通信インタフェースである。たとえば、有線INF回路1623は、S−GW/MME221との間で通信を行う通信インタフェースと、Web/コンテンツサーバ231との間で通信を行う通信インタフェースと、を含む。有線INF回路1623は、プロセッサ1621によって制御される。
図16Aに示した通信データ処理部1613、通信路制御部1614および負荷分散制御部1615は、たとえばプロセッサ1621によって実現することができる。図16Aに示したネットワークインタフェース1611,1612は、たとえば有線INF回路1623によって実現することができる。
このように、実施の形態2によれば、S−GW/MME221(#a)が、負荷分散を行う場合に、eNB212から受信したデータおよびS−GW/MME221(#a)のアドレスを、eNB212を介してS−GW/MME221(#b)へ転送する。S−GW/MME221(#b)は、S−GW/MME221(#a)から転送されたアドレスを用いて中継先のアドレスを外部ストレージシステム223から取得し、S−GW/MME221(#a)から転送されたデータを中継先のアドレスへ中継する。
これにより、S−GW/MME221(#a)の負荷分散を行う場合に、通信路の再確立を行わなくても、S−GW/MME221(#b)によってデータを中継する負荷分散を行うことができる。このため、通信の効率化を図ることができる。
(実施の形態3)
実施の形態3について、実施の形態2と異なる部分について説明する。実施の形態3においては、データを振り分けられたS−GW/MME221(#b)が輻輳状態である場合に、S−GW/MME221(#b)がデータをeNB212へ返送する。eNB212は、返送されたデータを再度振り分ける。
(実施の形態3にかかる通信システムにおける負荷分散時の動作)
図17Aは、実施の形態3にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その1)である。図17Bは、実施の形態3にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その2)である。
図17A,図17Bにおいて、図5A,図5Bに示した部分と同様の部分については同一の符号を付して説明を省略する。図17Aに示すステップS1701〜S1706は、図5A,図5Bに示したステップS501〜S506と同様である。
ステップS1706のつぎに、S−GW/MME221(#b)が、負荷分散判断を行う(ステップS1707)。図17Aに示す例では、S−GW/MME221(#b)は、自身の内部ストレージ222(キャッシュ)に該当する中継情報(該当情報)が無く、かつ、S−GW/MME221(#b)において輻輳が発生しているため、負荷分散を行うと判断する。
つぎに、S−GW/MME221(#b)が、パケット52(図17Aでは不図示)をカプセル化したパケット60をeNB212へ送信することにより、パケット52をeNB212へ返送する(ステップS1708)。ステップS1708のパケット60には、パケット52の各情報に加えて、送信元アドレス(IP_A#b0)と、宛先アドレス(IP_B)と、が含まれる。
つぎに、eNB212が、再負荷分散先の決定を行う(ステップS1709)。図17Aに示す例では、eNB212は、再負荷分散先をS−GW/MME221(#c)に決定したとする。
つぎに、eNB212が、ステップS1708のパケット61をS−GW/MME221(#c)へ送信することにより、パケット41をS−GW/MME221(#c)へ振り分ける(ステップS1710)。パケット61には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_A_#n)と、送信元アドレス(IP_A#a0)と、宛先アドレス(IP_A#c0)と、が含まれる。このように、パケット61の送信元アドレスは、eNB212ではなくS−GW/MME221(#a)のインタフェースを示すアドレスとする。
ステップS1710においてS−GW/MME221(#c)が受信したパケット61の送信元アドレスは、S−GW/MME221(#c)と同じ負荷分散グループのS−GW/MME221(#a)のアドレスである。このため、S−GW/MME221(#c)は、パケット61の送信元アドレス(IP_A#a0)とUL用通信路ID(ID_A_#n)と、の組を取得キーとして、外部ストレージシステム223から中継情報を取得する(ステップS1711)。これにより、中継情報30のうちの、UE211の上り通信についての中継情報43(IP_C+ID_C_#p)を取得することができる。また、このとき、S−GW/MME221(#c)は、S−GW/MME221(#a)のアドレス(IP_A#a1)を、自ノードの対応アドレスに更新して保持しておく。
図17Bに示すように、つぎに、S−GW/MME221(#c)が、パケット53をP−GW224へ送信することによってステップS1710のパケット61の中継を行う(ステップS1712)。パケット53には、パケット41の各情報(点線枠内)に加えて、UL用通信路ID(ID_C_#p)と、送信元アドレス(IP_A#c1)と、宛先アドレス(IP_C)と、が含まれる。
つぎに、P−GW224が、DL用通信路ID(ID_A_#r)に対応する下り通信における中継先を、“IP_A#a1”から“IP_A#c1”に変更する(ステップS1713)。これにより、上り通信における経路の変更に合わせて、下り通信における経路を変更することができる。
つぎに、P−GW224が、パケット53に含まれるパケット41をWeb/コンテンツサーバ231へ送信する(ステップS1714)。これにより、UE211から送信されたパケット41をWeb/コンテンツサーバ231へ伝送することができる。
また、UE211が、パケット41の後続のパケット54をeNB212へ送信したとする(ステップS1715)。つぎに、eNB212が、パケット54を含むパケット55の送信元アドレスに、ステップS1702のパケット42における送信先アドレスである旧送信先アドレス(IP_A#a0)を設定する(ステップS1716)。
つぎに、eNB212が、ステップS1716によって送信元アドレスを設定したパケット55をS−GW/MME221(#c)へ送信することによってパケット54の中継を行う(ステップS1717)。
つぎに、S−GW/MME221(#c)が、ステップS1711によって取得した中継情報に基づいて、パケット56をP−GW224へ送信することによってパケット54の中継を行う(ステップS1718)。パケット56には、パケット54の各情報(点線枠内)に加えて、UL用通信路ID(ID_C_#p)と、送信元アドレス(IP_A#c1)と、宛先アドレス(IP_C)と、が含まれる。
つぎに、P−GW224が、ステップS1718のパケット56に含まれるパケット54をWeb/コンテンツサーバ231へ送信したとする(ステップS1719)。これにより、UE211によって送信されたパケット54がWeb/コンテンツサーバ231へ到達する。
また、Web/コンテンツサーバ231が、UE211を宛先とするパケット57をP−GW224へ送信したとする(ステップS1720)。パケット57は、たとえばUE211からのパケット41による要求に対応するコンテンツデータである。
つぎに、P−GW224が、ステップS1713によって変更した中継先(IP_A#c1)に基づいて、パケット58をS−GW/MME221(#c)へ送信することによってパケット57の中継を行う(ステップS1721)。パケット58には、パケット57の各情報(点線枠内)に加えて、DL用通信路ID(ID_A_#r)と、送信元アドレス(IP_C)と、宛先アドレス(IP_A#c1)と、が含まれる。
つぎに、S−GW/MME221(#c)が、パケット59をeNB212へ送信することによってパケット58の中継を行う(ステップS1722)。パケット59には、パケット41の各情報(点線枠内)に加えて、DL用通信路ID(ID_B_#k)と、送信元アドレス(IP_A#c0)と、宛先アドレス(IP_B)と、が含まれる。
つぎに、eNB212が、パケット59に含まれるパケット57をUE211へ送信する(ステップS1723)。これにより、Web/コンテンツサーバ231によって送信されたパケット57をUE211へ伝送することができる。
(負荷分散先ノードの処理)
図18は、実施の形態3にかかる負荷分散先ノードの処理の一例を示すフローチャートである。図17A,図17Bに示した例において、負荷分散先ノードであるS−GW/MME221(#a〜#c)のそれぞれは、パケット受信時にたとえば図18に示す各ステップを行う。
まず、S−GW/MME221は、自ノードが輻輳状態か否かを判断する(ステップS1801)。自ノードが輻輳状態である場合(ステップS1801:Yes)は、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS1802)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、受信パケットの送信元アドレスとする。
つぎに、S−GW/MME221は、ステップS1802によってカプセル化したパケットを送信し(ステップS1803)、一連の処理を終了する。これにより、S−GW/MME221は、受信パケットを返送することができる。
ステップS1801において、自ノードが輻輳状態でない場合(ステップS1801:No)は、S−GW/MME221は、受信パケットの送信元アドレスが、自ノードと同一の負荷分散グループに含まれるか否かを判断する(ステップS1804)。同一の負荷分散グループに含まれる場合(ステップS1804:Yes)は、S−GW/MME221は、受信パケットの送信元アドレスと通信路IDに対応する中継情報を外部ストレージシステム223から取得する(ステップS1805)。また、このとき、S−GW/MME221は、取得した中継情報内の旧中継装置(負荷分散先ノード)のアドレスを自ノードの対応アドレスに更新して保持する。
つぎに、S−GW/MME221は、受信パケットのカプセル化ヘッダを変更する(ステップS1806)。すなわち、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスに設定する。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS1805によって取得した中継情報が示す対向ノードアドレスに設定する。
つぎに、S−GW/MME221は、ステップS1806によってカプセル化ヘッダを変更したパケットを送信し(ステップS1807)、一連の処理を終了する。これにより、自ノードと同一の負荷分散グループのノードから転送されたパケットを中継することができる。
ステップS1804において、負荷分散グループに含まれない場合(ステップS1804:No)は、S−GW/MME221は、自ノードの内部ストレージ222に該当する中継情報があるか否かを判断する(ステップS1808)。該当する中継情報は、自ノードアドレス(受信パケットの宛先アドレス)と受信パケットの通信路IDに対応する中継情報である。
ステップS1808において、内部ストレージ222に該当する中継情報がない場合(ステップS1808:No)は、S−GW/MME221は、自ノードアドレスと受信パケットの通信路IDに対応する中継情報を外部ストレージシステム223から取得する(ステップS1809)。
つぎに、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS1810)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS1809によって取得した中継情報が示す対向ノードアドレスとする。
つぎに、S−GW/MME221は、ステップS1810によってカプセル化したパケットを送信し(ステップS1811)、一連の処理を終了する。これにより、S−GW/MME221は、受信パケットを中継することができる。
ステップS1808において、内部ストレージ222に該当する中継情報がある場合(ステップS1808:Yes)は、S−GW/MME221は、ステップS1810へ移行する。この場合に、S−GW/MME221は、内部ストレージ222の該当する中継情報が示す対向ノードアドレスへ受信パケットを送信する。
(実施の形態3にかかる負荷分散元ノードの処理)
図19は、実施の形態3にかかる負荷分散元ノードの処理の一例を示すフローチャートである。図17A,図17Bに示した例において、負荷分散元ノードであるeNB212は、パケット受信時にたとえば図19に示す各ステップを行う。
まず、eNB212は、受信パケットが、負荷分散先ノードから返送されたパケットであるか否かを判断する(ステップS1901)。返送されたパケットである場合(ステップS1901:Yes)は、eNB212は、受信パケットが再返送されたパケットであるか否かを判断する(ステップS1902)。受信パケットが再返送されたパケットであるか否かは、たとえば、受信パケットのカプセル化ヘッダの送信元アドレスと、受信パケットのカプセル内の宛先アドレスが異なるか否かによって判断することができる。
ステップS1902において、受信パケットが再返送されたパケットでない場合(ステップS1902:No)は、eNB212は、ステップS1903へ移行する。図19に示すステップS1903〜S1907は、図7に示したステップS702〜S706と同様である。
ステップS1902において、再返送されたパケットである場合(ステップS1902:Yes)は、eNB212は、返送元の負荷分散先ノードと同一の負荷分散グループに属するノードのうちの、負荷が最小のノードを選択する(ステップS1912)。ステップS1912における選択対象のノードは、返送元およびカプセル内パケットの宛先以外のノードである。たとえば、eNB212は、負荷分散先ノード(S−GW/MME221)のそれぞれから受信した負荷状態情報に基づいてステップS1912の選択を行う。
つぎに、eNB212は、自ノードが記憶している中継情報のうちの、受信パケットの宛先アドレスと通信路IDに対応する中継情報を特定する(ステップS1913)。
つぎに、eNB212は、ステップS1913によって特定した中継情報が示す対向ノードアドレスを、ステップS1902によって選択したノードのアドレスに変更する(ステップS1914)。このとき、eNB212は、特定した中継情報と対応付けて保持していた旧対向ノードアドレスを維持する。つぎに、eNB212は、ステップS1906へ移行する。
ステップS1901において、返送されたパケットでない場合(ステップS1901:No)は、eNB212は、受信パケットに該当する中継情報について、旧対向ノードアドレスが保持されているか否かを判断する(ステップS1908)。旧対向ノードアドレスが保持されている場合(ステップS1908:Yes)は、eNB212は、ステップS1906へ移行する。これにより、負荷分散先ノードからパケットが返送された場合に、後続のパケットについてはステップS1903またはステップS1912によって選択したノードへ直接送信することができる。
ステップS1908において、旧対向ノードアドレスが保持されていない場合(ステップS1908:No)は、eNB212は、ステップS1909へ移行する。ステップS1909〜S1911は、図7に示したステップS708〜S710と同様である。
(実施の形態3にかかる負荷分散元の負荷分散グループ管理テーブル)
図20は、実施の形態3にかかる負荷分散元の負荷分散グループ管理テーブルの一例を示す図である。図20において、図10に示した部分と同様の部分については同一の符号を付して説明を省略する。図17A,図17Bに示した例では、eNB212は、たとえば図20に示す複数の負荷分散グループ管理テーブル1010を記憶する。
図20に示す負荷分散グループ管理テーブル1010は、S−GW/MME221(#a)およびS−GW/MME221(#b)のアドレスに加えてS−GW/MME221(#c)のアドレス(IP_A#c0)が同一の負荷分散グループとして登録されている。負荷状態1012の「medium」は、「Congested」と「Low」の中間の状態を示す。
(実施の形態3にかかる負荷分散元ノードに記憶される上りの中継テーブル)
図21Aは、実施の形態3にかかる負荷分散元ノードに記憶される上りの中継テーブルの一例を示す図である。図21Aにおいて、図11Aに示した部分と同様の部分については同一の符号を付して説明を省略する。
図17A,図17Bに示した例では、負荷分散元ノードであるeNB212には、たとえば図21Aに示す上りの中継テーブル1110が記憶される。すなわち、図17A,図17Bに示した例では、中継テーブル1110の対向ノードアドレス1112には、S−GW/MME221(#c)のアドレス(IP_A#c0)が設定される。
(負荷分散元ノードに記憶される下りの中継テーブル)
図21Bは、実施の形態3にかかる負荷分散元ノードに記憶される下りの中継テーブルの一例を示す図である。図21Bにおいて、図11Bに示した部分と同様の部分については同一の符号を付して説明を省略する。
図17A,図17Bに示した例では、負荷分散元ノードであるeNB212には、たとえば図21Bに示す下りの中継テーブル1120が記憶される。すなわち、図17A,図17Bに示した例では、中継テーブル1120の対向ノードアドレス1123には、S−GW/MME221(#c)のアドレス(IP_A#c0)が設定される。
このように、実施の形態3によれば、データを振り分けられたS−GW/MME221(#b)が輻輳状態である場合に、S−GW/MME221(#b)がデータをeNB212へ返送する。そして、eNB212は、返送されたデータをS−GW/MME221(#c)へさらに振り分ける。このとき、eNB212は、振り分けるデータの送信元をS−GW/MME221(#a)のアドレスに設定する。
これにより、S−GW/MME221(#c)が、S−GW/MME221(#a)のアドレスを用いて中継先のアドレスを外部ストレージシステム223から取得し、eNB212から振り分けられたデータを中継先のアドレスへ中継することができる。
(実施の形態4)
実施の形態4について、実施の形態2と異なる部分について説明する。実施の形態4においては、S−GW/MME221(#a)が、負荷分散を行う場合に、eNB212から受信したデータおよびS−GW/MME221(#a)のアドレスを、eNB212を介さずにS−GW/MME221(#b)へ転送する。
(実施の形態4にかかる通信システムにおける負荷分散時の動作)
図22Aは、実施の形態4にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その1)である。図22Bは、実施の形態4にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その2)である。
たとえば図3に示した中継網接続フェーズおよび図4に示したユーザデータ中継フェーズの後に、S−GW/MME221(#a)において輻輳が発生したとする。この場合は、たとえば図22A,図22Bに示す各ステップが行われる。
図22Aに示すステップS2201〜S2203は、それぞれ図5Aに示したステップS501〜S503と同様である。ステップS2203のつぎに、S−GW/MME221(#a)が、負荷分散先の決定を行う(ステップS2204)。図22Aに示す例では、S−GW/MME221(#a)は、負荷分散先をS−GW/MME221(#b)に決定したとする。
つぎに、S−GW/MME221(#a)が、パケット52をS−GW/MME221(#b)へ送信することにより、パケット41をS−GW/MME221(#b)へ振り分ける(ステップS2205)。このように、S−GW/MME221(#a)は、負荷分散の判断を行い、負荷分散を行うと判断した場合に、パケット41を返送せず、パケット52をS−GW/MME221(#b)へ直接送信する。
図22Aに示すステップS2206〜S2209は、図5A,図5Bに示したステップS507〜S510と同様である。
図22Bに示すステップS2210〜S2213は、図5Bに示したステップS516〜S519と同様である。
ステップS2213のつぎに、eNB212が、上りの中継情報をS−GW/MME221(#b)のインタフェースのアドレス(IP_A#b0)に変更するとともに、変更前のS−GW/MME221(#a)のインタフェースのアドレス(IP_A#a0)を保持する(ステップS2214)。
図22Bに示すステップS2215〜S2218は、図5Bに示したステップS511,S513〜S515と同様である。ステップS2216においては、eNB212が、ステップS2215のパケット54を含むパケット55の送信元アドレスに、ステップS2214によって保持したアドレス(IP_A#a0)を設定する。
(実施の形態4にかかる負荷分散先ノードの処理)
図23は、実施の形態4にかかる負荷分散先ノードの処理の一例を示すフローチャートである。図22A,図22Bに示した例において、負荷分散先ノードであるS−GW/MME221(#a,#b)のそれぞれは、パケット受信時にたとえば図23に示す各ステップを行う。
図23に示すステップS2301〜S2306は、図6に示したステップS601〜S606と同様である。ステップS2306において、自ノードが輻輳状態である場合(ステップS2306:Yes)は、S−GW/MME221は、同一の負荷分散グループに属する負荷が最小のノードを選択する(ステップS2307)。ステップS2307における選択対象のノードは、自ノードと異なるノードである。たとえば、eNB212は、負荷分散先ノード(他のS−GW/MME221)のそれぞれから受信した負荷状態情報に基づいてステップS2307の選択を行う。
つぎに、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS2308)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS2307によって選択したノードのアドレスとする。
つぎに、S−GW/MME221は、ステップS2308によってカプセル化したパケットを送信し(ステップS2309)、一連の処理を終了する。これにより、S−GW/MME221は、受信パケットを直接振り分けることができる。
図23に示すステップS2310〜S2312は、図6に示したステップS609〜S611と同様である。
(実施の形態4にかかる負荷分散元ノードの処理)
図24は、実施の形態4にかかる負荷分散元ノードの処理の一例を示すフローチャートである。図22A,図22Bに示した例において、負荷分散元ノードであるeNB212は、パケット受信時にたとえば図24に示す各ステップを行う。まず、eNB212は、自ノードが記憶している中継情報のうちの、自ノードアドレス(受信パケットの宛先アドレス)と通信路IDに対応する中継情報を特定する(ステップS2401)。
つぎに、eNB212は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS2402)。このとき、eNB212は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、eNB212は、カプセル化ヘッダの宛先アドレスを、ステップS2401によって特定した中継情報が示す対向ノードアドレスとする。
つぎに、eNB212は、ステップS2402によってカプセル化したパケットを送信し(ステップS2403)、一連の処理を終了する。このように、実施の形態4における負荷分散元ノードであるeNB212は、負荷分散処理を行わなくてもよい。
(実施の形態4にかかる負荷分散元ノードに記憶される上りの中継テーブル)
図25Aは、実施の形態4にかかる負荷分散元ノードに記憶される上りの中継テーブルの一例を示す図である。図25Bは、実施の形態4にかかる負荷分散元ノードに記憶される下りの中継テーブルの一例を示す図である。図25Aに示すように、実施の形態4において、負荷分散元ノードであるeNB212に記憶される中継テーブル1110は、図11Aに示した旧対向ノードアドレス1115を含んでいなくてもよい。
このように、実施の形態4によれば、S−GW/MME221(#a)が、負荷分散を行う場合に、eNB212から受信したデータおよびS−GW/MME221(#a)のアドレスを、eNB212を介さずにS−GW/MME221(#b)へ転送する。S−GW/MME221(#b)は、S−GW/MME221(#a)から転送されたアドレスを用いて中継先のアドレスを外部ストレージシステム223から取得し、S−GW/MME221(#a)から転送されたデータを中継先のアドレスへ中継する。
これにより、S−GW/MME221(#a)の負荷分散を行う場合に、通信路の再確立を行わなくても、S−GW/MME221(#b)によってデータを中継する負荷分散を行うことができる。このため、通信の効率化を図ることができる。
(実施の形態5)
実施の形態5について、実施の形態4と異なる部分について説明する。実施の形態5においては、データを振り分けられたS−GW/MME221(#b)が輻輳状態である場合に、S−GW/MME221(#b)がデータをさらに振り分ける。
(実施の形態5にかかる通信システムにおける負荷分散時の動作)
図26Aは、実施の形態5にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その1)である。図26Bは、実施の形態5にかかる通信システムにおける負荷分散時の動作の一例を示すシーケンス図(その2)である。
図26Aに示すステップS2601〜S2605は、図22Aに示したステップS2201〜S2205と同様である。ステップS2605のつぎに、S−GW/MME221(#b)が、負荷分散判断を行う(ステップS2606)。図26Aに示す例では、S−GW/MME221(#b)は、自身の内部ストレージ222(キャッシュ)に該当する中継情報(該当情報)が無く、かつ、S−GW/MME221(#b)において輻輳が発生しているため、負荷分散を行うと判断する。
つぎに、S−GW/MME221(#b)が、負荷分散先の決定を行う(ステップS2607)。図26Aに示す例では、S−GW/MME221(#b)は、負荷分散先をS−GW/MME221(#c)に決定したとする。
つぎに、S−GW/MME221(#b)が、パケット61をS−GW/MME221(#c)へ送信することにより、パケット41をS−GW/MME221(#c)へ振り分ける(ステップS2608)。このように、S−GW/MME221(#b)は、負荷分散の判断を行い、負荷分散を行うと判断した場合に、パケット41を返送せず、パケット53をS−GW/MME221(#c)へ直接送信する。
図26Aに示すステップS2609〜S2612は、図5A,図5Bに示したステップS507〜S510と同様である。図26Bに示すステップS2613〜S2616は、図5Bに示したステップS516〜S519と同様である。
ステップS2616のつぎに、eNB212が、上りの中継情報をS−GW/MME221(#c)のインタフェースのアドレス(IP_A#c0)に変更するとともに、変更前のS−GW/MME221(#a)のインタフェースのアドレス(IP_A#a0)を保持する(ステップS2617)。
図26Bに示すステップS2618〜S2621は、図5Bに示したステップS511,S513〜S515と同様である。ステップS2619においては、eNB212が、ステップS2618のパケット41を含むパケットの送信元アドレスに、ステップS2617によって保持したアドレス(IP_A#a0)を設定する。
(実施の形態5にかかる負荷分散先ノードの処理)
図27は、実施の形態5にかかる負荷分散先ノードの処理の一例を示すフローチャートである。図26A,図26Bに示した例において、負荷分散先ノードであるS−GW/MME221(#a,#b)のそれぞれは、パケット受信時にたとえば図27に示す各ステップを行う。まず、S−GW/MME221は、受信パケットの送信元アドレスが、自ノードと同一の負荷分散グループに含まれるか否かを判断する(ステップS2701)。
ステップS2701において、負荷分散グループに含まれない場合(ステップS2701:No)は、S−GW/MME221は、ステップS2706へ移行する。ステップS2706〜S2713は、図23に示したステップS2305〜S2312と同様である。負荷分散グループに含まれる場合(ステップS2701:Yes)は、S−GW/MME221は、自ノードが輻輳状態か否かを判断する(ステップS2702)。自ノードが輻輳状態でない場合(ステップS2702:No)は、S−GW/MME221は、ステップS2703へ移行する。ステップS2703〜S2705は、図23に示したステップS2302〜S2304と同様である。
ステップS2702において、自ノードが輻輳状態である場合(ステップS2702:Yes)は、S−GW/MME221は、同一の負荷分散グループに属する負荷が最小のノードを選択する(ステップS2714)。ステップS2714における選択対象のノードは、受信パケットの送信元以外のノードである。たとえば、eNB212は、負荷分散先ノード(他のS−GW/MME221)のそれぞれから受信した負荷状態情報に基づいてステップS2714の選択を行う。
つぎに、S−GW/MME221は、受信パケットに含まれるユーザパケットを抽出し、抽出したユーザパケットにカプセル化ヘッダを付加することによって受信パケットをカプセル化する(ステップS2715)。このとき、S−GW/MME221は、カプセル化ヘッダの送信元アドレスを自ノードアドレスとする。また、S−GW/MME221は、カプセル化ヘッダの宛先アドレスを、ステップS2714によって選択したノードのアドレスとする。
つぎに、S−GW/MME221は、ステップS2715によってカプセル化したパケットを送信し(ステップS2716)、一連の処理を終了する。これにより、S−GW/MME221は、輻輳時に自ノードに振り分けられた受信パケットを他のノードへ直接振り分けることができる。
このように、実施の形態5によれば、データを振り分けられたS−GW/MME221(#b)が輻輳状態である場合に、S−GW/MME221(#b)がデータをS−GW/MME221(#c)へ振り分けることができる。このとき、S−GW/MME221(#b)は、振り分けるデータの送信元をS−GW/MME221(#a)のアドレスに設定する。これにより、S−GW/MME221(#c)が、S−GW/MME221(#a)のアドレスを用いて中継先のアドレスを外部ストレージシステム223から取得し、S−GW/MME221(#b)から振り分けられたデータを中継先のアドレスへ中継することができる。
(実施の形態6)
(実施の形態6にかかる通信システム)
図28は、実施の形態6にかかる通信システムの一例を示す図である。上述した実施の形態2〜5においては、LTEの通信システム200について説明した。これに対して、実施の形態1の通信システム100は、LTEに限らず、たとえば各ノードがお互いにシグナリングを行うことにより通信路を設定する各種の通信システムに適用することができる。たとえば、図1A〜図1Cに示した通信システム100は、図28に示すパケット網2800に適用することができる。
パケット網2800は、UE2811(#0〜#n)と、中継ノード2821,2831,2841(#0〜#m,#0〜#k,#0〜#j)と、外部ストレージシステム2823,2833,2843と、Web/コンテンツサーバ2844と、を含む。
UE2811(#0〜#n)は、たとえば中継ノード2821,2831,2841(#0〜#m,#0〜#k,#0〜#j)を介してWeb/コンテンツサーバ2844との間で通信を行う。中継ノード2821(#0〜#m)と、中継ノード2831(#0〜#k)と、中継ノード2841(#0〜#j)と、はそれぞれ異なる負荷分散グループの中継ノードである。
内部ストレージ2822は、中継ノード2821(#0〜#m)の内部ストレージである。外部ストレージシステム2823は、中継ノード2821(#0〜#m)の外部に設けられ、中継ノード2821(#0〜#m)からアクセス可能な外部ストレージシステムである。外部ストレージシステム2823には、中継ノード2821(#0〜#m)が用いる中継情報が記憶される。外部ストレージシステム2823は、複数の記憶装置による分散データベースであってもよい。
内部ストレージ2832は、中継ノード2831(#0〜#k)の内部ストレージである。外部ストレージシステム2833は、中継ノード2831(#0〜#k)の外部に設けられ、中継ノード2831(#0〜#k)からアクセス可能な外部ストレージシステムである。外部ストレージシステム2833には、中継ノード2831(#0〜#k)が用いる中継情報が記憶される。外部ストレージシステム2833は、複数の記憶装置による分散データベースであってもよい。
内部ストレージ2842は、中継ノード2841(#0〜#j)の内部ストレージである。外部ストレージシステム2843は、中継ノード2841(#0〜#j)の外部に設けられ、中継ノード2841(#0〜#j)からアクセス可能な外部ストレージシステムである。外部ストレージシステム2843には、中継ノード2841(#0〜#j)が用いる中継情報が記憶される。外部ストレージシステム2843は、複数の記憶装置による分散データベースであってもよい。
図1A〜図1Cに示した通信システム100の各通信装置は、パケット網2800における任意の各ノードに適用することができる。また、たとえば通信装置110を中継ノード2821に適用し、通信装置120,130を中継ノード2831に適当し、通信装置140を中継ノード2841に適当することができる。さらに、通信装置120,130を中継ノード2841にも適用し、複数段の冗長構成とすることも可能である。
以上説明したように、通信システム、通信装置および通信方法によれば、通信効率の向上を図ることができる。
たとえば、従来、網サービスノードの内部ストレージに保持していたパケット中継に必要な制御データを、外部ストレージに置き、同じ機能を有する他の網サービスノードにも参照可能にすることが検討されている。この背景として、以下がある。網機能仮想化やM2M(Machine−to−Machine)デバイスの増加が挙げられる。
網機能仮想化においては、専用ハードウェアで実現されていた網機能を汎用サーバに搭載するアプリケーションによってソフト化し、システムコストの低減が図られる。また、ユーザのコンテキストデータ(たとえば中継情報)を分散データベース上に展開するアーキテクチャも模索されている。
一方、M2Mデバイスの本格的な普及時には、移動通信端末数が膨大な数になることも予測される。M2Mデバイスに要求される通信特性は様々であり、遅延許容度が大きいM2Mデバイスもある。M2Mデバイスにおいては、特定イベントをトリガーに急激に、かつバースト的に通信が発生する可能性が高い。
M2Mデバイスの増大に伴う膨大なサービスデータ(コンテキストデータ)を保持する場合に、分散データベースを用いるノード構成は、システムレベルのスケーラビリティ確保に適している。この場合に、外部のデータベースを参照するため、サービス遅延は増加するが、遅延許容度の高いM2Mデバイスに対して有効である。
サービス遅延の低減、ならびにアクセスが集中するデータベース負荷削減の施策として、ネットワークアプリケーションによるコンテキストデータのキャッシュが考えられる。分散データベースは、上述のように、耐障害性強化(障害ノードのサービス情報引き継ぎ)のため分散配備したネットワークアプリケーションからアクセスできるように構成することができる。このような分散データベースを利用したシステムは、コンテキストデータが複数の同種アプリから参照できるため、同アプリ機能の負荷分散も実現し易くなる。
しかし、分散DB利用網機能アプリ分散アーキテクチャを、3GPP(3rd Generation Partnership Project)のように、ネットワークのノードがシグナリングを用い、ノード間でノードローカルな情報の交換が行われるシステムに適用した場合は、負荷分散時に以下のような問題がある。
すなわち、分散データベースには、シグナリング過程で生成され、取り決められたあるネットワークアプリケーション(仮想化ノード)に固有なコンテキストデータが保持される。そのため、従来のように単純に宛先を変更し、トラヒックを別の同種のネットワークアプリケーションに振り分けても、転送サービスに要するコンテキストデータを取得して活用することができない。
このため、負荷分散先において正常な中継処理を行うことができず、ユーザのパケットの誤配送や、誤配送の結果としての損失を招き、通信サービス品質が悪化する。これに対して、振り分け先の同種のネットワークアプリケーションとシグナリング起動すれば、コンテキストデータを生成できるが、負荷分散によってシグナリングが発生し、新データ格納のための分散データベースへのアクセスの負荷が増大する。
このため、分散データベースヘのアクセスが負担となり、スケーラビリティのボトルネックになる可能性がある。また、シグナリング中、パケット転送を止め、バファリングを要するため、パケットロスのリスクも増大する。
これに対して、上述した各実施の形態によれば、外部装置から中継情報を取得し中継を行う第1局の負荷分散において、第1局のアドレスを振り分け先の第2局へ通知し、通知したアドレスを用いて第2局が外部装置から中継情報を取得し中継を行うことができる。
これにより、第1局が輻輳状態であり、かつ第1局の内部のメモリに中継情報が記憶されていない場合に、通信路の再確立を行わなくても、第2局によってデータを中継することができる。このため、第1局の輻輳状態における外部装置へのアクセスを抑制し、通信の効率化を図ることができる。
たとえば、通信路再確立のシグナリングや外部装置へのアクセスの負荷発生を抑え、システムの大容量化が可能になる。また、キャッシュにコンテキストデータが有る通信を負荷分散しないようにできることで、システム全体のキャッシュリソース使用効率の悪化を抑えることができる。また、キャッシュ中コンテキストデータの一覧通知生成も不要とすることで、ノード間の信号負荷の増大を抑えることができる。また、シグナリングによるバックプレッシャ情報伝達を不要にすることが可能になり、バックプレッシャ使用時の中継経路変更中の待ちによるパケット損失リスクも抑えることができる。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)通信装置のアドレスと前記通信装置によるデータの中継先のアドレスとを対応付ける中継情報を記憶する記憶装置と、
データを送信する第1通信装置と、
第1状態において、自装置のアドレスを前記記憶装置へ通知することによって前記中継情報において前記自装置のアドレスに対応する中継先のアドレスを前記記憶装置から取得し、前記第1通信装置から受信したデータを前記中継先のアドレスへ中継する第2通信装置であって、前記第1状態と異なる第2状態において、前記第1通信装置から受信したデータおよび前記自装置のアドレスを第3通信装置へ転送する第2通信装置と、
前記第2通信装置から転送されたアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第2通信装置から転送されたデータを前記中継先のアドレスへ中継する前記第3通信装置と、
を含むことを特徴とする通信システム。
(付記2)前記第1状態は、前記第2通信装置のアドレスと前記中継先のアドレスとを対応付ける中継情報が前記第2通信装置のメモリに記憶されており、または前記第2通信装置が所定の輻輳状態でない状態であり、
前記第2状態は、前記第2通信装置のアドレスと前記中継先のアドレスとを対応付ける中継情報が前記第2通信装置のメモリに記憶されておらず、かつ前記第2通信装置が前記所定の輻輳状態であることを特徴とする付記1に記載の通信システム。
(付記3)前記記憶装置は、通信装置のアドレスおよび通信路の識別子の組み合わせと前記通信装置によるデータの中継先のアドレスおよび通信路の識別子の組み合わせとを対応付ける前記中継情報を記憶し、
前記第2通信装置は、前記第1状態において、前記第2通信装置のアドレスおよび前記受信したデータの通信路の識別子を前記記憶装置へ通知することによって前記中継情報において前記第2通信装置のアドレスおよび前記受信したデータの通信路の識別子に対応する中継先のアドレスおよび通信路の識別子を前記記憶装置から取得し、
前記第3通信装置は、前記第2通信装置から転送されたアドレスおよび前記第2通信装置から転送されたデータの通信路の識別子を前記記憶装置へ通知することによって前記中継先のアドレスおよび通信路の識別子を前記記憶装置から取得する、
ことを特徴とする付記1または2に記載の通信システム。
(付記4)前記第2通信装置は、前記第2状態において、前記受信したデータおよび前記第2通信装置のアドレスを、前記第1通信装置を介して前記第3通信装置へ転送することを特徴とする付記1〜3のいずれか一つに記載の通信システム。
(付記5)前記第2通信装置は、前記第2状態において、前記第2通信装置のアドレスを送信元に設定して前記受信したデータを前記第1通信装置へ返送し、
前記第1通信装置は、前記第2通信装置によって返送されたデータを、前記第2通信装置のアドレスを送信元に設定して前記第3通信装置へ送信し、
前記第3通信装置は、前記第3通信装置が受信したデータの送信元のアドレスが前記第2通信装置のアドレスである場合に、前記第2通信装置のアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第3通信装置が受信したデータを前記中継先のアドレスへ中継する、
ことを特徴とする付記4に記載の通信システム。
(付記6)前記第1通信装置は、前記第2通信装置によって返送されたデータを前記第3通信装置へ送信した場合に、前記返送されたデータと通信路の識別子が同一の後続データを、前記第2通信装置へ送信せずに、前記第2通信装置のアドレスを送信元に設定して前記第3通信装置へ送信することを特徴とする付記5に記載の通信システム。
(付記7)前記第3通信装置は、前記第3通信装置が所定の輻輳状態である場合は、前記第2通信装置から前記第1通信装置を介して転送されたデータを前記第1通信装置へ返送し、
前記第1通信装置は、前記第3通信装置から返送されたデータを、前記第2通信装置のアドレスを送信元に設定して第4通信装置へ送信し、
前記第4通信装置は、前記第4通信装置が受信したデータの送信元のアドレスが前記第2通信装置のアドレスである場合に、前記第2通信装置のアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第4通信装置が受信したデータを前記中継先のアドレスへ中継する、
ことを特徴とする付記4〜6のいずれか一つに記載の通信システム。
(付記8)前記第2通信装置は、前記第2状態において、前記受信したデータおよび前記第2通信装置のアドレスを、前記第1通信装置を介さずに前記第3通信装置へ転送することを特徴とする付記1〜3のいずれか一つに記載の通信システム。
(付記9)前記第2通信装置は、前記第2状態において、前記第2通信装置のアドレスを送信元に設定して前記受信したデータを前記第3通信装置へ送信し、
前記第3通信装置は、前記第3通信装置が受信したデータの送信元のアドレスが前記第2通信装置のアドレスである場合に、前記第2通信装置のアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第3通信装置が受信したデータを前記中継先のアドレスへ中継する、
ことを特徴とする付記8に記載の通信システム。
(付記10)前記第1通信装置は、前記第2通信装置へ送信したデータが前記第3通信装置によって中継された場合に、前記第2通信装置へ送信したデータと通信路の識別子が同一の後続データを、前記第2通信装置へ送信せずに、前記第2通信装置のアドレスを送信元に設定して前記第3通信装置へ送信することを特徴とする付記9に記載の通信システム。
(付記11)前記第3通信装置は、前記第3通信装置が所定の輻輳状態である場合は、前記第2通信装置から転送されたデータを、前記第2通信装置のアドレスを送信元に設定して前記第3通信装置とは異なる第4通信装置へ送信し、
前記第4通信装置は、前記第4通信装置が受信したデータの送信元のアドレスが前記第2通信装置のアドレスである場合に、前記第2通信装置のアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第4通信装置が受信したデータを前記中継先のアドレスへ中継する、
ことを特徴とする付記8〜10のいずれか一つに記載の通信システム。
(付記12)前記中継先の通信装置は、前記第3通信装置によってデータが中継された場合に、前記第1通信装置へのデータを前記第3通信装置へ送信し、
前記第3通信装置は、前記中継先の通信装置から受信したデータを前記第1通信装置へ送信する、
ことを特徴とする付記1〜11のいずれか一つに記載の通信システム。
(付記13)第1状態において、通信装置のアドレスと前記通信装置によるデータの中継先のアドレスとを対応付ける中継情報を記憶する記憶装置へ自装置のアドレスを通知することによって前記中継情報において前記自装置のアドレスに対応する中継先のアドレスを前記記憶装置から取得する取得部と、
前記第1状態において、受信したデータを、前記取得部によって取得されたアドレスへ中継する中継部と、
前記第1状態と異なる第2状態において、前記受信したデータおよび前記自装置のアドレスを前記中継先と異なる通信装置へ転送する転送部と、
を備えることを特徴とする通信装置。
(付記14)第1状態において、通信装置のアドレスと前記通信装置によるデータの中継先のアドレスとを対応付ける中継情報を記憶する記憶装置へ自装置のアドレスを通知することによって前記中継情報において前記自装置のアドレスに対応する中継先のアドレスを前記記憶装置から取得し、受信したデータを前記中継先のアドレスへ中継する通信装置であって、前記第1状態と異なる第2状態において、前記受信したデータおよび前記自装置のアドレスを転送する他の通信装置から転送された前記受信したデータおよび前記他の通信装置のアドレスを受信する受信部と、
前記受信部によって受信されたアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得する取得部と、
前記受信部によって受信されたデータを、前記取得部によって取得されたアドレスへ中継する中継部と、
を備えることを特徴とする通信装置。
(付記15)通信装置のアドレスと前記通信装置によるデータの中継先のアドレスとを対応付ける中継情報を記憶する記憶装置と、第1通信装置と、第2通信装置と、第3通信装置と、を含む通信システムの通信方法であって、
前記第2通信装置が、第1状態において、自装置のアドレスを前記記憶装置へ通知することによって前記中継情報において前記第2通信装置のアドレスに対応する中継先のアドレスを前記記憶装置から取得し、前記第1通信装置から受信したデータを前記中継先のアドレスへ中継し、
前記第2通信装置が、前記第1状態と異なる第2状態において、前記第1通信装置から受信したデータおよび前記第2通信装置のアドレスを前記第3通信装置へ転送し、
前記第3通信装置が、前記第2通信装置から転送されたアドレスを前記記憶装置へ通知することによって前記中継先のアドレスを前記記憶装置から取得し、前記第2通信装置から転送されたデータを前記中継先のアドレスへ中継する、
ことを特徴とする通信方法。