JP6303750B2 - 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム - Google Patents

中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム Download PDF

Info

Publication number
JP6303750B2
JP6303750B2 JP2014083347A JP2014083347A JP6303750B2 JP 6303750 B2 JP6303750 B2 JP 6303750B2 JP 2014083347 A JP2014083347 A JP 2014083347A JP 2014083347 A JP2014083347 A JP 2014083347A JP 6303750 B2 JP6303750 B2 JP 6303750B2
Authority
JP
Japan
Prior art keywords
node
bandwidth
message
path
route
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.)
Expired - Fee Related
Application number
JP2014083347A
Other languages
English (en)
Other versions
JP2015204542A (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 JP2014083347A priority Critical patent/JP6303750B2/ja
Publication of JP2015204542A publication Critical patent/JP2015204542A/ja
Application granted granted Critical
Publication of JP6303750B2 publication Critical patent/JP6303750B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステムに関する。
エンド-トゥ-エンド(End-to-End)のQoS(Quality of Service:サービス品質)を保証するために、IETF(Internet Engineering Task Force)では、RSVP(Resource reSerVation Protocol:リソース予約プロトコル)と呼ばれる帯域予約プロトコルが提案されている。
RSVPを用いた送受信間の帯域予約手順は次の通りである。図34に示すように、送信元(ソース)ノード(SN)がPathメッセージを送信先(宛先)ノード(DN)へ向けて送信する。Pathメッセージは、送信元ノードと送信先ノードとの間にある中継ノードa,中継ノードb,中継ノードc及び中継ノードdを経由する。最終的にPathメッセージは送信先ノードに到達する。
送信先ノードは、Pathメッセージを受信後、送信元ノードに対してResvメッセージを送信する。Resvメッセージは、Pathメッセージが通った経路(a→b→c→d)を逆方向に辿る。Resvメッセージが1ホップ移動するごとに、各中継ノードで帯域予約が行われる(図35参照)。Resvメッセージが送信元ノードに到達すると、最終的に送信元ノード(送信ノード)と送信先ノード(受信ノード)との間でQoSを保障するための帯域(所望の帯域)が予約される(図36参照)。
各中継ノードa〜dは、Resvメッセージを受信すると、送信先ノードと送信元ノードとの間の経路(パス)に関して帯域の予約を試行する。このとき、帯域が予約できない場合には、中継ノードは、送信先ノードにエラーメッセージを送信する。この場合、送信元ノードと送信先ノードとの間での帯域予約は失敗となる。
また、Resvメッセージを受信した中継ノードがパス上の或るリンク(区間)について所望の帯域を予約できないときには、エラーメッセージを送信する代わりに、所望の帯域を確保可能な空き帯域が生じるまでResvメッセージに基づく予約処理(Resvメッセージ処理)を待機する方法がある。
特開2004−236198号公報 特開2005−252766号公報
しかしながら、上述した中継ノードが予約処理を待機する方法では、以下の問題があった。すなわち、上記方法では、図37に示すように、Resvメッセージの送信経路において、予約処理を待機する中継ノードの前段にて既に帯域が予約されている場合には、当該帯域は他のトラフィック中継のために使用できない状態となる。
このように、上記方法では、Resvメッセージ処理が待機される時間、帯域予約が無駄となるおそれがあった。昨今では、通信の更なる高速化、更なる大容量化の需要が急激
に高まっている。このため、上記方法が実施される環境は必ずしも望ましいとは言えなかった。
本開示は、送受信間の通信に関する予約要求帯域を或る経路で確保できない場合に複数の経路で予約要求帯域を確保可能とする技術を提供することを課題とする。
本開示は、送信元ノードと送信先ノードとの間で帯域予約要求メッセージが転送される経路上にある中継ノードであって、
前記送信元ノードと前記送信先ノードとの間の通信に関して予約を要求する帯域を示す予約要求帯域を含んだ前記帯域予約要求メッセージを受信する受信部と、
前記経路上にある隣接ノードとの間で前記予約要求帯域を確保可能であるときに前記帯域予約要求メッセージを前記経路上の次ノードに転送する送信部と、
前記予約要求帯域を前記隣接ノードとの間で確保できないときに前記予約要求帯域の一部の帯域を前記経路上で確保するための情報を含めた前記帯域予約要求メッセージを前記送信部から前記次ノードへ転送する処理と前記経路と異なる他の経路で残りの帯域を確保するための処理とを行う制御部と、
を含む中継ノードである。
本開示によれば、送受信間の通信に関する予約要求帯域を或る経路で確保できない場合に複数の経路で予約要求帯域を確保可能とすることができる。
図1は、実施形態で適用されるPathメッセージ及びResvメッセージの説明図である。 図2は、実施形態1の説明図である。 図3は、実施形態1の説明図である。 図4は、実施形態1の説明図である。 図5は、実施形態1の説明図である。 図6は、実施形態1の説明図である。 図7は、実施形態1の説明図である。 図8は、実施形態1の説明図である。 図9は、実施形態1の説明図である。 図10は、実施形態1の説明図である。 図11は、実施形態1の説明図である。 図12は、実施形態1の説明図である。 図13は、実施形態1の説明図である。 図14は、実施形態1の説明図である。 図15は、実施形態1の説明図である。 図16は、実施形態2におけるネットワークシステムの構成例を示す。 図17は、ノードとして使用可能な情報処理装置のハードウェア構成例を示す。 図18は、CPUがプログラムを実行することによってノードで行われる処理を模式的に示す図である。 図19は、Pathメッセージ処理の詳細を模式的に示す図である。 図20は、仮予約帯域更新メッセージ処理の詳細を模式的に示す図である。 図21は、ロードバランシング実行可否判断実行指示メッセージ処理の詳細を模式的に示す図である。 図22は、ロードバランシング終端発見メッセージ処理の詳細を模式的に示す図である。 図23は、別経路メンバパス発見成功メッセージ処理の詳細を模式的に示す図である。 図24は、第xPathメッセージ送信指示メッセージ処理の詳細を模式的に示す図である。 図25は、別経路メンバパス発見指示メッセージ処理の詳細を模式的に示す図である。 図26は、第xPathメッセージ処理の詳細を模式的に示す図である。 図27は、Resvメッセージ処理の詳細を模式的に示す図である。 図28は、仮予約帯域全開放メッセージ処理の詳細を模式的に示す図である。 図29は、実施形態2の動作例を示すシーケンス図である。 図30は、実施形態2の動作例を示すシーケンス図である。 図31は、実施形態2の動作例を示すシーケンス図である。 図32は、実施形態2の動作例を示すシーケンス図である。 図33は、実施形態2の動作例を示すシーケンス図である。 図34は、関連技術の説明図である。 図35は、関連技術の説明図である。 図36は、関連技術の説明図である。 図37は、関連技術の説明図である。
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。実施形態では、送信元ノードと送信先ノードとの間の或る経路で所望の帯域が確保できないときに、送信元ノードと送信先ノードとの間にある他の経路を用いて所望の帯域確保を試行するネットワークシステムについて説明する。
当該ネットワークシステムでは、Pathメッセージの転送経路で予約を所望する帯域が確保できないときに、不足している帯域を別経路で補うことができる。これによって、上述したような、所望の空き帯域が生じるまでResvメッセージ処理を待機する方法を採ることを要しなくなる。従って、帯域予約によって予約済みであるのにパケット中継に使用されない無駄な帯域がネットワーク上に長期間発生することを回避することができる。換言すれば、当該ネットワークシステムは、無駄となる帯域予約を回避することを可能とする。
〔実施形態1〕
実施形態1では、送信元ノードと送信先ノードとの間で必要帯域が予約できない経路が発見された場合に、ロードバランシングを行うノードをネットワーク構成を考慮しつつ動的に選定し、複数の経路で不足帯域を確保する。これによって、送信元ノードと送信先ノードとが通信をするために予約を所望する必要帯域が確保される。以下に具体的な手順を示す。
<手順0:Pathメッセージ/Resvメッセージ>
実施形態1では、送信元ノードと、送信先(宛先)ノードとの間で、通信のQoSを保証するための帯域を予約するために、PathメッセージとResvメッセージが送受信される。以下の説明において、送信元ノードは、送信ノードと呼ぶこともある。また、送信先ノードは、受信ノードと呼ぶこともある。Pathメッセージは、「帯域予約要求メッセージ」の一例であり、Resvメッセージは、「帯域予約メッセージ」の一例である
図1は、実施形態で適用されるPathメッセージ及びResvメッセージのフォーマットの一部を模式的に示す図である。図1において、Pathメッセージは、RSVPに従ったPathメッセージのフォーマットを拡張して生成されている。Pathメッセージは、新たなパラメータとして「PathID(パスID)」と、「必要帯域情報」と「予約帯域情報」とを含む。
PathIDは、送信元ノードの識別情報と、識別番号との組み合わせで形成される。送信元ノードの識別情報は、例えば、Pathメッセージを送信する送信元ノードのMedia Access Control(MAC)アドレス(物理アドレス)である。但し、送信元ノードが複数のMACアドレスを有する場合には、Pathメッセージの送信に用いたMACアドレスが識別情報として設定される。但し、送信元ノードを一意に識別できる情報であれば、MACアドレス以外の情報であっても良い。
識別番号は、送信元ノードと送信先ノードとの間で複数の経路(パス)を用いて帯域が予約される場合において、各パスの識別情報として用いられる。識別番号には、例えば自然数が使用される。送信元ノードにて、第x(xは2以上の自然数)Pathメッセージ送信指示メッセージを受信していなければ、識別番号には“1”が設定される。
必要帯域情報は、送信元ノードと送信先ノードとの通信のQoSを保証するために必要な帯域(必要帯域)を示す。必要帯域情報の値は、Pathメッセージが送信元ノードから送信されて送信先ノードへ到達するまでの間に更新されることはない。必要帯域情報は、「予約要求帯域」の一例である。
予約帯域情報は、必要帯域のうち、Pathメッセージが転送される経路(パス)上においてPathメッセージを受信したノードと、Pathメッセージの前ホップに該当する隣接ノード(以下、「前ノード」と称する)にて仮予約された帯域(「仮予約帯域」と称することもある)を示す。予約帯域情報は、「予約要求帯域の一部の帯域を経路上で確保するための情報」の一例である。
送信元ノードからPathメッセージが送信される時点では、予約帯域情報の値は、必要帯域情報の値と同じ値が設定されている。予約帯域情報の値は、Pathメッセージを受信する各ノードにおいて、Pathメッセージの次ホップに該当する隣接ノード(以下、「次ノード」と称する)との間の空き帯域が予約帯域情報の値より小さい場合に、空き帯域の値を用いて自動的に更新される。
図1において、実施形態1に係るResvメッセージもRSVPに従った既存のResvメッセージが拡張されている。拡張領域には、Pathメッセージに設定されたPathIDが設定される。
本実施形態では、必要帯域を複数の経路を用いて確保するために、複数のPathメッセージが使用される。送信元ノードの識別情報は、複数のPathメッセージが或る必要帯域の予約に係るPathメッセージ群であることを紐づけるために使用される(PathメッセージのグループIDに相当する)。
識別番号は、同一グループ内(同一の送信元ノードの識別情報を有するPathメッセージ間)間で、各Pathメッセージを識別するために使用される。各Resvメッセージには、各Pathメッセージとの関連づけを行うために、対応するPathメッセージに含まれていたPathIDが含められる。これにより、Resvメッセージも、Pat
hIDを用いてResvメッセージ間での区別が図られる。
<手順1>
図2〜15は、実施形態1の説明図である。図2〜図15には、実施形態1におけるネットワークシステムの例が図示されている。例えば、図2において、ネットワークシステムは、送信元ノードSNと、送信先ノードDNと、送信元ノードSNと送信先ノードDNとの間に複数の経路を形成する複数の中継ノードRNを含んでいる。送信元ノードSN,送信先ノードDN,中継ノードRNのそれぞれは、「ノード」の一例である。
図2に示す例では、中継ノードRNとして、複数のノードa〜fが例示されている。送信元ノードSNと送信先ノードDNとの間には、“ノードA→ノードB→ノードC→ノードD”を経由する第1の経路(ルート)と、“ノードA→ノードE→ノードF→ノードD”を経由する第2の経路(ルート)とが形成されている。第1の経路のコストは、第2の経路のコストより小さく、最短経路とされている。
送信元ノードSNと送信先ノードDNとの間で、例えば、100Mbpsの帯域を予約して通信を行う場合、送信元ノードSNは、図1に示したPathメッセージを送信する。以下の説明では、説明を簡単にするため、送信元ノードSNはMACアドレスを1つだけ有しているものと仮定する。
送信元ノードSNから送信される時点でのPathメッセージにおけるPathIDの値は、送信元ノードSNのMACアドレス及び識別番号“1”である。また、必要帯域情報及び予約帯域情報の値は、それぞれ“100Mbps”である。Pathメッセージは、次ノードに該当するノードaで受信される。
なお、送信元ノードSNは、Pathメッセージの送信に先立ち、次ノードに該当するノードaの間(区間)の空き帯域を調査する。調査の結果、ノードaとの間の空き帯域がPathメッセージ中の必要帯域以上である(必要帯域を確保可能である)場合には、送信元ノードSNとノードaとの間に必要帯域分の帯域を仮予約する。
ここに、「仮予約」とは、帯域の予約状態が一定時間のうちに開放されることを意味する。本実施形態では、仮予約された帯域は、仮予約帯域を生成する契機となったPathメッセージのPathIDと同じ値のPathIDを有するResvメッセージが受信されたときに、当該Resvメッセージに基づく処理によって再度予約される。このResvメッセージに基づく予約を「本予約」といい、この「本予約」に対して「仮予約」と呼ぶ。本予約された帯域が、送信元ノードSNと送信先ノードDNとの間で行われるデータ転送に使用される。
本実施形態では、所定時間内に本予約の完了を送信元ノードSNが検知できない場合には、送信元ノードSNから仮予約帯域を開放するメッセージが送信され、仮予約状態が解除される。従って、仮予約された帯域は、一定時間の内に開放される。
仮予約は、各ノードにおいて、Pathメッセージを受信した時点では確保可能であった帯域がResvメッセージを用いた本予約までの間における帯域変動によって確保できなくなることを回避するためになされる。このため、Pathメッセージの転送経路上にある各ノードにおいて、Pathメッセージの受信時点からResvメッセージ受信までの間に十分な空き帯域が確保されるような環境下では、仮予約を要しないこともある。
<手順2>
図2において、Pathメッセージを受信したノードaは、Pathメッセージの次ノ
ードであるノードbとの間(区間)の空き帯域をチェック(調査)する。ノードaは、予約帯域情報を参照し、予約帯域情報で示される必要帯域以上の空き帯域がある場合には、ノードaは、ノードbとの間で必要帯域分の帯域を仮予約する。
仮予約ができた場合、ノードaは、Pathメッセージ中の予約帯域情報の値を変更することなく、Pathメッセージを次ノードへ送信する。ここでは、コストがノードeより小さいノードbへPathメッセージが転送される。
また、ノードaは、Pathメッセージ中のPathIDを記憶する。さらに、ノードaは、記憶したPathID中の識別番号とPathメッセージに係る経路との関連づけを行う。
すなわち、ノードaは、Pathメッセージを受信した経路(送信元ノードSNへ向かう経路)と識別番号との関連づけを行う。また、ノードaは、Pathメッセージを送信した経路(送信先ノードDNへ向かう経路)と識別番号との関連づけを行う。関連づけは、例えば、ノードaが備える経路表中の該当経路に識別番号を付与(マーキング)することによって行われる。PathIDの記憶及び経路と識別番号との関連づけは、Pathメッセージを受信する各ノードにて実行される。
<手順3>
図3において、Pathメッセージを受信したノードbは、ノードaと同様の処理を行うことを試行する。すなわち、次ノードであるノードcとの間の空き帯域を調査し、必要帯域(予約帯域情報の値)を確保可能か否かを判定する。図3に示す例では、空き帯域が70Mbpsであり、必要帯域100Mbpsより30Mbps不足する場合を仮定する。
空き帯域の不足が検知されたノードは、以下の2つの処理を行う。図3の例に倣い、ノードbを例として説明する。第1の処理として、ノードbは、Pathメッセージに含まれた予約帯域情報を更新する。具体的には、ノードbは、Pathメッセージ中の予約帯域情報の値(100M)をノードcとの間の全空き帯域の値(70M)に更新する。但し、全空き帯域よりも小さい値が設定されても良い。
ノードbは、予約帯域情報を更新したPathメッセージを次ノードであるノードcへ転送する。このように、本実施形態では、必要予約帯域が確保可能か否かに関わらず、Pathメッセージは次ノードに転送され、最終的に送信先ノードDNに到達する。
第2の処理として、ノードbは、ノードbが備える経路表(ルーティングテーブル)を用いて、自ノードから送信先ノードDNへ向かう別の経路が存在するか否かを判定する。例えば、ノードbは、ロードバランシング実施可否判断処理を実行する。
ロードバランシング実施可否判断処理では、ノードbは、不等コストロードバランシング(unequal-cost load balancing)の倍率(バリアンス)を強制的に上げる。これによ
って、Pathメッセージの宛先(送信先ノードDN)へ向かう別の経路(バリアンス上昇前はマスクされていた経路)が経路表に出現したか否かを判定する。バリアンス上昇前に、経路表に別の経路が存在している場合には、バリアンス上昇処理を行わず、当該別の経路の存在を以て、別の経路が存在すると判断することもできる。
ロードバランシング実施可否判断処理によって、別経路が発見された場合には、ノードb(自ノード)が、ロードバランシング実行ノード(ロードバランシング開始ノード)になれる(ロードバランシング実行ノードとして動作する)ことを意味する。これに対し、
別経路が発見されないことは、ノードb(自ノード)がロードバランシング実行ノードになれないことを意味する。ロードバランシング実施可否判断処理を実行したノードbは、ロードバランシング実施可否判断を実行したことを履歴として一定時間保存する。
<手順4>
図4において、ノードbからのPathメッセージを受信したノードcは、次ノードであるノードdとの間の空き帯域を調査するとともに、空き帯域が予約帯域情報の値“70M”以上か否かを判定する。このとき、空き帯域が“70M”以上であれば、ノードcは仮予約を行い、Pathメッセージをノードdに転送する。
<手順5>
ノードdも、ノードcと同様の処理を行う。その結果、ノードdと送信先ノードDNとの間に“70M”の帯域が仮予約され、Pathメッセージが送信先ノードDNに到達する。
<手順6>
ここで、送信先ノードDNでの処理について説明する。送信先ノードDNは、Pathメッセージを受信すると、PathメッセージからPathID,必要帯域情報,及び予約帯域情報を取得する。このとき、送信先ノードDNは、PathIDの識別番号が“1”であり、且つ「必要帯域情報=予約帯域情報」であれば、送信元ノードSN向けにResvメッセージを送信する。このとき、Resvメッセージには、対応するPathメッセージ中のPathIDがセットされる。
また、送信先ノードDNは、必要帯域情報を元に、送信元ノードSNとの通信に要する必要帯域を予約(本予約)する。すなわち、送信先ノードDNは、仮予約された前ノードとの間の仮予約された帯域を本予約状態に移行させる。
これに対し、「必要帯域情報>予約帯域情報」である場合。或いは、識別番号が“2”以上で「必要帯域情報=予約帯域情報」となっていた場合には、送信先ノードDNは、送信元ノードSN向けのResvメッセージの送信を直ちに行わない。これらの場合、送信先ノードDNは、PathIDのMACアドレスが同一のPathメッセージの受信履歴を記憶しているか否かを確認する。
該当する受信履歴が無かった場合(実施形態では、識別番号が“2”以上で「必要帯域情報=予約帯域情報」となる場合は存在しない)には、Pathメッセージから取得した必要帯域情報と予約帯域情報とPathIDを一定時間保持しておく。
該当する受信履歴があった場合には、送信先ノードDNは、過去に受信されたPathメッセージにおける予約帯域情報の帯域値と今回受信された予約帯域情報の帯域値とを加算した帯域の合計値を求める。合計値が「合計値=最初に受信した同一MACアドレスのPathIDを持つPathメッセージの必要帯域情報」となった場合には、送信先ノードDNは、送信元ノードSNへResvメッセージを送信する。
この場合、送信先ノードDNは、複数のResvメッセージを送信する。Resvメッセージの数は、受信されたPathメッセージ(送信元ノードの識別情報(MACアドレス)が同じ)の数と同数となる。換言すれば、Resvメッセージの数は、予約帯域情報の加算に利用したPathメッセージの数と同数である。各Resvメッセージには、対応するPathメッセージ中のPathIDがセットされる。
一方、合計値算出の結果が、「合計値<最初に受信した同一MACアドレスのPath
IDを持つPathメッセージの必要帯域情報」である場合には、当該合計値を保持し、更に同一のMACアドレス(送信元ノードの識別情報)を含むPathIDを有するPathメッセージの受信を待機する。
図4に示す例では、送信先ノードDNは、PathID=識別情報“送信元ノードSNのMACアドレス”,PathIDの識別番号“1”,必要帯域情報“100M”,予約帯域情報“70M”を含むPathメッセージを受信する。このため、Resvメッセージの送信を行わず、MACアドレスが同一のPathメッセージの受信を待機する状態となる。
<手順7>
図4において、送信先ノードDNまでのPathメッセージの転送経路上にある中継ノードRNにて予約帯域情報が更新された場合には、予約帯域情報を更新した中継ノードRN(ノードb)は、送信元ノードSN向けの仮予約帯域更新メッセージを前ノード(ノードa)へ送信する。
仮予約帯域更新メッセージは、更新された予約帯域情報“70M”と、PathメッセージのPathIDとを含む。仮予約帯域更新メッセージを受け取ったノードaは、当該メッセージ中のPathIDを参照し、ノードa自身が同一のPathIDを持つPathメッセージに基づき帯域を仮予約しているかを確認する。仮予約された帯域が存在する場合には、仮予約帯域更新メッセージ中の予約帯域情報に従って、仮予約帯域の帯域幅を変更(更新)する。これによって、ノードaとノードbとの間の仮予約帯域が“100M”から“70”Mに変更される。
仮予約帯域更新メッセージを受信したノードは、当該メッセージを前ノードへ転送する。これによって、ノードaから送信元ノードSNへ仮予約帯域更新メッセージが転送される。送信元ノードSNは、当該メッセージに従ってノードaとの間の仮予約帯域を“70M”に更新する(図5参照)。
このように、Pathメッセージの転送経路上の或る中継ノードRNで予約帯域情報が更新された場合には、当該中継ノードRNから送信先ノードDNの間にある各中継ノードRNは、Pathメッセージの予約帯域情報を用いて必要帯域の一部を仮予約する。一方、当該中継ノードから送信元ノードSNまでの区間は、仮予約帯域更新メッセージによって、必要帯域の一部が仮予約された状態に変更される。このようにして、必要帯域の一部がPathメッセージが転送される経路(或る経路)で確保された状態となる。
<手順8>
実施形態1に係るネットワークトポロジでは、ノードbはノードcへの経路以外に送信先ノードDNへ向かう経路を有していない。このため、ノードbは、手順3で説明したロードバランシング実施可否判断処理(別経路探索処理)の結果、ロードバランシングを実行できない(別の経路が発見されない)ことを検知する。
この場合、ノードbは、前ノードに対して、ロードバランシング実施可否判断実行指示メッセージを送信する(図4)。ロードバランシング実施可否判断実行指示メッセージは、Pathメッセージ中のPathID及び不足予約帯域情報を含む。不足予約帯域情報は、仮予約帯域が必要帯域に対して不足している帯域を示す情報であり、必要帯域から仮予約帯域を減じて算出される。
<手順9>
ロードバランシング実施可否判断実行指示メッセージを受信したノードは、ロードバラ
ンシング実施可否判断処理を実行する。ロードバランシング実施可否判断の結果、ロードバランシングを実行できないと判断した場合は、更に送信元ノードSNに近い隣接ノードにロードバランシング実施可否判断実行指示メッセージを送信する。なお、ロードバランシング実施可否判断を実行するノードが送信元ノードSNとなり、送信元ノードSNもロードバランシングを実行できない場合には、複数経路を用いた帯域予約を止める。
<手順10>
図5において、ロードバランシング実行可否判断実行指示メッセージをノードbから受け取ったノードaは、ロードバランシング実施可否判断処理を行う。ノードaは、送信先ノードDNへ向かう別経路(他の経路)として、ノードe,ノードf及びノードdを経由する経路を有している。
このため、経路表から上記別経路が発見される。これにより、ノードaは、ロードバランシングを実行できると判断し、経路表から発見された送信先ノードDN宛の別経路向けに、ロードバランシング終端発見メッセージを送信する(図6)。
ロードバランシング終端発見メッセージは、ロードバランシング実施可否判断実行指示メッセージに含まれていたPathIDが含められる。また、不足予約帯域情報は、ロードバランシング終端発見メッセージを送信した中継ノードRN(ノードa)で保持される。
<手順11>
ロードバランシング終端発見メッセージを受信した中継ノードRNは、以下のような処理を行う。すなわち、中継ノードRNは、そのメッセージの持つPathIDを確認する。このとき、過去に何らかのPathメッセージが自ノードを経由したことがある場合には、過去に自身を経由したPathメッセージから得られたPathID(自ノードで記憶強いる)と、ロードバランシング終端発見メッセージ中のPathIDとを比較する。
比較の結果、MACアドレス(送信元ノードの識別情報)が一致するPathIDがない場合には、当該中継ノードRNは、ロードバランシング終端発見メッセージを次ノードへ送信する。
これに対し、比較の結果、MACアドレス(送信元ノードの識別情報)が一致するPathIDがある場合には、中継ノードRNは、過去におけるロードバランシング実施可否判断の実行履歴が記憶されているか否かを調査する。
ロードバランシング実施可否判断の実行履歴がなかった場合には、当該中継ノードRNは、ロードバランシング終端発見メッセージの送信元ノード向けに、別経路メンバパス発見成功メッセージを送信する。
別経路メンバパス発見成功メッセージには、当該中継ノードRNで受信されたロードバランシング終端発見メッセージ中のPathIDが設定される。このPathIDは、ロードバランシング終端発見メッセージを送信したノードが、無事にロードバランシング終端ノードが発見されたことを認識するために使用される。
手順11を図6の例に倣って説明する。ノードeは、ノードaからロードバランシング終端発見メッセージを受信する。ノードeは、上記で説明したPathIDに係る処理を行う。このとき、同一のMACアドレスを有するPathIDがないため、ノードeは、ロードバランシング終端発見メッセージをノードfへ転送する。ノードfも、ノードeと同様の処理を行い、ロードバランシング終端発見メッセージをノードdに転送する。
ノードeは、手順5でPathメッセージを受信し、当該PathメッセージのPathIDを記憶している。一方、ロードバランシング実行可否判断処理の実行履歴は記憶していない。このため、ノードeは、自ノードがロードバランシング終端ノードとなると判断し、別経路メンバパス発見成功メッセージを、ロードバランシング終端発見メッセージの送信元ノード(ノードa)向けに送信する。別経路メンバパス発見成功メッセージは、ノードf及びノードeを経由して、ノードaで受信される(図7)。
<手順12>
手順11において、MACアドレス(送信元ノードの識別情報)が一致するPathIDがあり、且つ過去におけるロードバランシング実施可否判断の実行履歴が記憶されている場合には、中継ノードRNは以下の処理を行う。すなわち、当該中継ノードRNは、ロードバランシング終端発見メッセージを送信した前ノードに対して別経路メンバパス発見指示メッセージを送信する。
別経路メンバパス発見指示メッセージを受信したノードは、ロードバランシング実施可否判断を実行し、送信先ノードDNへ向かう別経路を探す。別経路が存在する場合には、送信先ノードDNへ向けて別経路の隣接ノードにロードバランシング終端発見メッセージを送信する。但し、当該ロードバランシング終端発見メッセージの送信元IPアドレスは、本来のロードバランシング終端発見メッセージの送信元ノードとする。
別経路が存在しない場合は、別経路メンバパス発見指示メッセージを受信したノードは、更にロードバランシング終端発見メッセージの送信元に1ホップ近い隣接ノードに対して、別経路メンバパス発見指示メッセージを転送する。なお、別経路メンバパス発見指示メッセージがロードバランシング終端発見メッセージを送信したノードで受信され、当該ノードで別経路が発見されない場合には、送信元ノードSNに1ホップ近いノードに対してロードバランシング実施可否判断実行指示メッセージが送信される。
手順12を図8〜図10を用いて説明する。図8〜図10は、ネットワークトポロジが図1〜図7と異なり、ノードbとノードeとが接続されている。また、ノードeからノードbを経由して送信先ノードDNへ向かう経路のコストが、ノードeからノードfを経由して送信先ノードDNへ向かう経路のコストより小さいと仮定する。
図8において、ノードeは、ロードバランシング終端発見メッセージを受信し、別メンバパス発見成功メッセージを送信しない判断結果を得ると、経路のコストに従ってノードbへロードバランシング終端発見メッセージを送信する。
図9において、ノードbでは、過去にPathメッセージを転送しており、さらに、ロードバランシング実行可否判断処理の実行履歴を記憶している(手順3)。このため、ノードbは、ロードバランシング終端発見メッセージの前ノードに該当するノードeへ別経路メンバパス発見指示メッセージを送信する。
別経路メンバパス発見指示メッセージを受信したノードeは、ロードバランシング実施可否判断処理を行う。この結果、別経路として、ノードfを経由する経路が発見される。すると、ノードeは、ノードfへロードバランシング終端発見メッセージを送信する(図10)。このとき、ロードバランシング終端発見メッセージの送信元IPアドレスには、本来のロードバランシング終端発見メッセージを送信したノードaのIPアドレスが設定される。
ノードfは、手順11と同様に、ロードバランシング終端発見メッセージをノードdへ
転送する(図10)。そして、ノードdが別経路メンバパス発見指示メッセージをノードfへ送信し、図7に示した状態、すなわち、別経路メンバパス発見指示メッセージをノードaが受信した状態となる。
<手順13>
手順12にて別経路メンバパス発見成功メッセージを送信するノード(ノードd)は、ノードdが備える経路表に、ロードバランシング終端発見メッセージを受信した方路へパケット送信を行うための経路を新たに設ける。例えば、ノードdは、不等コストロードバランシングのバリアンスを強制的に上昇させて、当該経路(ノードfを経由して送信元ノードSNへ向かう経路)を経路表に新規に作成する。結果として、ノードdの経路表には、送信元ノードSNへ向かう複数の経路が存在する状態になる。
<手順14>
図11に示すように、ロードバランシング終端発見メッセージを送信したノード(ノードa)は、別経路メンバパス発見成功メッセージを受信した場合には、以下の処理を行う。すなわち、ノードaは、ロードバランシング終端発見メッセージを送信した隣接ノード(ノードe)を経由して送信先ノードDNへ向かう経路に識別番号を設ける。
このため、ノードaは、送信元ノードSNに識別番号問い合わせメッセージを送信する。送信元ノードSNは、当該メッセージに対して識別番号を含む応答メッセージをノードaに送信する。問い合わせに応答する識別番号として、例えば、問い合わせに含まれた識別番号に1を加えた値が設定される。
図11の例では、ノードaからノードbに向かう経路に識別番号“1”が設定されており、ノードaが問合せの結果、識別番号“2”を得て、経路表中のノードeへ向かう経路に識別番号“2”を設定した様子が図示されている。
<手順15>
その後、図12に示すように、ロードバランシング終端発見メッセージを送信したノード(ノードa)は、送信元ノードSNに対して第xPathメッセージ送信指示メッセージを送信する。xの値は、識別番号問い合わせメッセージにより取得した識別番号に1を加算した値である。
送信元ノードSNは、識別番号問い合わせメッセージを受信した時点で最大の“x”の値を応答としてノードaに返す。図12の例では、送信元ノードSNは、識別番号“1”を含むPathメッセージのみを送信している。このため、最大の“x”の値は“1”であり、識別番号“1”を含む応答をノードaに送る。ノードaは、応答中の識別番号1に1を加えて識別番号“2”を得る。従って、図12の例では、第xPathメッセージ送信指示メッセージは、第2Pathメッセージ送信指示メッセージとなる。識別番号は、「経路と他の経路とを識別するための識別情報」の一例である。
第xPathメッセージ送信指示メッセージには、予約帯域情報と、必要帯域情報と、PathIDと、送信先ノードDNのIPアドレスとが含められる。予約帯域情報の値として、手順10にて保持した不足予約帯域情報“30M”と同値が設定される。必要帯域情報は、Pathメッセージ(第1Pathメッセージ)における必要帯域情報の値“100M”が設定される。PathIDとして、送信元ノードSNのMACアドレスと、問い合わせにより得た識別番号“2”とが設定される。
ノードaは、送信元ノードSNから新たに受信する第xPathメッセージを含めたメッセージやパケット(宛先同一で識別番号が異なるPathIDを有するメッセージやパ
ケット)を受信した場合には、PathIDの識別番号を確認する。PathIDの識別番号が“2”以上である場合には、同一の送信先ノードDNへ向かう複数経路の中から、同じ識別番号が設定された経路を選択してメッセージやパケットを転送する。第x(x≧2)Pathメッセージは、「残帯域用帯域予約要求メッセージ」の一例である。
なお、上述した一連の流れにより新たに作成された経路(識別番号“2”以降が割り当てられる経路)を「メンバパス」と呼ぶ。本来の送受信ノード間の経路(識別番号1の経路)は「ファーストパス(ベストパス)」と呼ぶ。
<手順16>
第x Pathメッセージ送信指示メッセージを受信した送信元ノードSNは、当該送
信指示メッセージに含まれたPathIDを有する新規のPathメッセージ(第xPathメッセージ)を作成し、送信先ノードDNへ向けて送信する(図13参照)。図13に示す例では、第2Pathメッセージに含まれる必要帯域情報及び予約帯域情報の各値として、第2Pathメッセージ送信指示メッセージ中の必要帯域情報の値“100M”及び予約帯域情報の値“30M”が適用される。
図13に示す例では、第2Pathメッセージは、ノードa,ノードe,ノードf,ノードdを経由して送信先ノードDNへ到達する。このとき、各ノードa,e,fは、次ノードとの間で、予約帯域情報“30M”に従い、30Mの帯域を仮予約する。送信元ノードSN及びノードdは、さらに30Mの帯域を仮予約することで、合計100Mの帯域を仮予約した状態となる。
なお、第xPathメッセージを受信したノードが次ノードとの間で予約帯域情報の値を下回る帯域しか確保(仮予約)できない場合には、当該ノードにおいて、別経路で不足の帯域を確保する処理(ロードバランシング実施可否判断以降の処理)が実行される。以降の動作はこれまでの手順と同様である。
<手順17>
送信先ノードDNは、第2Pathメッセージを受信すると、第2Pathメッセージ中の予約帯域情報“30M”と、先のPathメッセージ中の予約帯域情報“70M”との合計値が必要帯域情報“100”であることを確認する。すると、送信先ノードDNは、ノードdとの間で仮予約された100Mの帯域を本予約に変更する。
さらに、送信先ノードDNは、Pathメッセージに対応するResvメッセージと、第2Pathメッセージに対応するResvメッセージ(第2Resvメッセージと称する)とを送信する(図14参照)。
Resvメッセージは、ノードd,ノードc,ノードb及びノードaを経由して送信元ノードSNに到達する。また、第2Resvメッセージは、ノードd,ノードf,ノードe及びノードaを経由して送信元ノードSNに到達する。このとき、各ノードで仮予約された帯域の本予約が行われる。
その結果、図15に示すように、送信元ノードSNとノードaとの間、及びノードdと送信先ノードDNとの間でそれぞれ“100M”の帯域が予約(確保)された状態となる。また、ノードaとノードbとの間,ノードbとノードcとの間,及びノードcとノードdとの間でそれぞれ“70M”の帯域が確保された状態となる。さらに、ノードaとノードeとの間,ノードeとノードfとの間,及びノードfとノードdとの間でそれぞれ“30M”の帯域が確保された状態となる。
すなわち、複数の経路を用いて送信元ノードSNと送信先ノードSNとの間で必要帯域“100M”が予約された状態となる。送信元ノードSNと送信先ノードDNとは、予約された帯域を用いて通信(データの送受信)を行うことができる。これによって、QoSが保証された通信を送受信間で行うことができる。
<手順18>
本実施形態において、送信元ノードSNと送信先ノードDNとの間で確立された複数経路を用いてデータ(パケット)の送受信を開始するときには、全てのパケットにPathIDを含める。PathIDとして、複数経路の確立に用いた複数のPathメッセージ中のPathIDの一つが設定される。
各パケットにどのPathIDを割り当てるかは、各予約帯域情報の割合に従う。例えば、実施形態1のように、Pathメッセージと第2Pathメッセージとで2つの経路(“70M”,“30M”)が確立された場合では、以下のようになる。すなわち、送信元ノードSNから10個のパケットを送信するときに、10個のうちの7個には、識別番号“1”を含むPathIDが設定され、残りの3個には識別番号“2”が設定される。ノードaは、パケット中のPathIDを参照してパケットの転送先をノードbとノードeとに振り分ける。送信先ノードDNから送信先ノードSNに対して送信されるパケットに関しても同様の処理が行われる。
<手順19>
上記の手順において、送信先ノードDNは、Pathメッセージに係るxの値が所定値(例えば6)に達した場合には、複数経路での必要帯域確保を中止して、第1〜第5Pathメッセージにより仮予約された各帯域を開放するためのメッセージを各経路に送信する。
<実施形態1の効果>
実施形態1によれば、或る経路で必要帯域を確保できない場合には、複数経路で必要帯域が確保される。すなわち、送受信ノード間にある複数の経路の空き帯域を用いて必要帯域を確保する。このため、1つの経路で必要帯域を予約する場合よりも、必要帯域を確保し易い。これによって、送受信間の通信におけるQoSを保証することができる。
また、実施形態1に係る帯域予約方法では、Pathメッセージで必要帯域を仮予約してからResvメッセージを送信する。このため、関連技術として説明した「待時式帯域予約通信方式」において、Resvメッセージに基づく処理が待機される現象は発生しない。これによって、帯域予約により使用されない帯域が長時間存在し、他の通信に影響を及ぼす可能性を低減することが可能となる。
実施形態1では、仮予約された帯域についてパケットが流れていないのに他の通信がリソースを使用できない現象が発生する。しかし、実施形態1では、手順がリソアルタイム性を有している。すなわち、複数経路を用いた帯域予約の手順の中で、システム全体の動作が止まることはなく、或る一定時間の内に必要帯域の予約完了又は予約処理の終了(予約を行わない)となる。このため、関連技術のように、いつまでも他の通信がリソースを使用できない状況を回避し得る。
[〔実施形態2〕]
次に、実施形態2として、実施形態1で説明したネットワークシステム及び帯域予約方法の詳細について説明する。
〔ネットワークシステムの構成例〕
図16は、実施形態2に係るネットワークシステムの構成例を示す。図16に示すネットワークには、複数のノードが図示されている。複数のノードは、通信のQoSを保証するための帯域を予約するRSVPにおける送信元ノードSNと、送信先(宛先)ノードDNとを含む、さらに、複数のノードは、送信元ノードSNと送信先ノードDNとの間にある少なくとも1つの中継ノードRNとを含む。
図16に示す例では、中継ノードRNとして、複数のノードA〜Eが例示されている。送信元ノードSNは、ノードAとリンクを介して接続されている。ノードAは、リンクを介してノードB,ノードC,及びノードDのそれぞれと接続されている。ノードBは、リンクを介してノードCと接続されている。ノードCは、リンクを介してノードEと接続されている。ノードDは、リンクを介してノードEと接続されている。ノードEは、リンクを介して送信先ノードDNと接続されている。
図16に示すネットワークシステムにおいて、送信元ノードSNと送信先ノードDNとの間で最もコストの小さい経路(パス)は、“SN→A→B→C→E→DN”であると仮定する。送信元ノードSNと送信先ノードDNとの間(送受信ノード間)で予約を所望する帯域幅(必要帯域)は100Mbpsであると仮定する。
また、ノードCとノードEとの間の空き帯域は70Mbpsであり、他の区間では、100Mbps以上の十分な空き帯域があると仮定する。また、送受信ノード間で複数の経路を用いた100Mbpsの帯域予約が完了するまでの間、各経路の空き帯域の大きさは変化しないものとする。
さらに、ノードAの経路表には、送信先ノードDNへ向かう複数の経路が登録されている。複数の経路をコストが小さい順で並べると、次ホップがノードBの経路、次ホップがノードCの経路、次ホップがノードDの経路の順となる。
<ノードの構成例>
図17は、実施形態1及び2における各ノード(送信元ノードSN,送信先ノードDN,及び中継ノードRN)として使用可能な情報処理装置(コンピュータ)のハードウェア構成例を示す。本実施形態におけるノードのハードウェア構成としては、既存のルータやレイヤ3スイッチのような通信装置が有するハードウェアアーキテクチャを適用可能である。情報処理装置10は、例えばルータである。
図17において、情報処理装置10は、バスB(内部通信路)を介して接続された1以上の通信インタフェース(通信I/F)11と、Central Processing Unit(CPU)1
2と、Digital Signal Processor(DSP)13と、メモリ14とを含む。メモリ14は、Random Access Memory(RAM)15と、Read Only Memory(ROM)16とを含む。通信I/F11は、他のノードと接続される物理回線(物理リンク)を収容する。
通信I/F11は、LAN(例えば、イーサネット(登録商標))をサポートする通信機器である。通信I/F11として、例えば、ネットワークインタフェースカード(NIC)やLAN(構内交換網)カードを適用することができる。通信I/Fは、「受信部」,「送信部」の一例である。
メモリ14のROM16は、オペレーティングシステム(OS)及び様々なアプリケーションプログラムを含む複数のコンピュータプログラムと、各プログラムの実行に際して使用されるデータとを記憶する。RAM15は、CPU12やDSP13の作業領域とし使用される。
メモリ14は、「記憶装置」、「記憶媒体」、「記憶部」の一例であり、ROM15は、不揮発性記憶媒体の一例であり、RAM16は揮発性記憶媒体の一例である。不揮発性記憶媒体としては、EEPROM,フラッシュメモリ,Solid State Drive(SSD)な
どの少なくとも1つを用いることもできる。
CPU12及びDSP13は、ROM16に記憶されたプログラムをRAM15にロードして実行する。これによって、情報処理装置10は、パケットのルーティング,フォワーディング,RSVPに基づく帯域予約処理のような様々な処理を実行する。CPU12は、情報処理装置10が所望の動作を行うための全体的な制御を行う。DSP13は、例えば、経路探索に係る計算のような、高速処理が求められる処理をCPU12の制御下で行う。CPU12及びDSP13のそれぞれは、「プロセッサ」、「制御装置」、「制御部」の一例である。
なお、CPU12及びDSP13によって実行される処理の一部又は全部は、例えば、集積回路(IC,LSI,ASIC),プログラマブルロジックデバイス(PLD,例えばField Programmable Gate Array(FPGA))を用いたハードウェアロジックによっ
て実装されることもできる。
<ノードにおける処理>
図18は、CPU12がプログラムを実行することによってノードで行われる処理を模式的に示す図である。CPU12がプログラム実行によって行う処理は、CPU12の制御下でDSP13が実行する処理も含む。以下の説明では、CPU12が実行する処理とDSP13が実行する処理とを区別せず、CPU12が行う処理として説明する。以下に説明する複数の処理のうち、DSP13に実行させる処理は、適宜選択可能である。
図18において、CPU12は、受信メッセージ分析処理20と、Pathメッセージ処理21と、仮予約帯域更新メッセージ処理22と、ロードバランシング実行可否判断実行指示メッセージ処理23とを行う。さらに、CPU12は、ロードバランシング終端発見メッセージ処理24と、別経路メンバパス発見成功メッセージ処理25と、第xPathメッセージ送信指示メッセージ処理26とを行う。さらに、CPU12は、別経路メンバパス発見指示メッセージ処理27と、第xPathメッセージ処理28と、仮帯域予約全開放メッセージ処理29と、Resvメッセージ処理30とを行う。
<<受信メッセージ分析処理>>
受信メッセージ分析処理20は、通信I/F11にて隣接ノードから受信されるメッセージの種別を分析し、メッセージの種別に応じた処理にメッセージを渡す。
<<Pathメッセージ処理>>
図19は、Pathメッセージ処理21の詳細を模式的に示す図である。Pathメッセージ処理21は、カーネル(Kernel)空間とアプリケーション(APL)空間とを用いて処理を行う。すなわち、Pathメッセージ処理21は、カーネル及びアプリケーションで形成される。カーネルは、複数の通信I/F11(eth)が接続された状態となっており、各種のメッセージを含んだIPパケットが各通信I/F11(eth)から受信(入力)される状態となっている。
また、カーネルは、APL空間でなされた処理に基づく命令に従ったメッセージを含むIPパケットを生成する。さらに、カーネルは、経路表RTを有し、経路表RTを用いてIPパケット(メッセージ)をその宛先に対応する通信I/F11(eth)から送出する。これによって、隣接ノードへのIPパケット(メッセージ)の送信や転送がなされる。
アプリケーションでは、Pathメッセージ分析制御処理32と、帯域仮予約処理33と、OSPF−TE34と、予約帯域情報更新処理35と、ロードバランシング実施可否判断処理36とが実行される。さらに、Pathメッセージ処理21では、APL空間において、転送元IPカプセル化処理37と、ロードバランシング実施可否判断指示処理38と、仮予約帯域幅更新処理39と、ロードバランシング処理40と、終端制御41とが実行される。さらに、Pathメッセージ処理21では、APL空間において、Resv制御42と、仮予約帯域全開放処理43とが実行される。
なお、以下に説明する図19〜図28中における実線矢印は制御メッセージを示し、破線矢印は、アプリケーションからカーネルへの命令を示し、一点鎖線矢印は、条件付き制御メッセージ(条件によっては発生しない場合がある)を示す。
[Pathメッセージ及びResvメッセージ]
実施形態2におけるPathメッセージ及びResvメッセージのそれぞれのデータ構造は、図1に例示した各メッセージと同様のデータ構造を有する。このため、詳細な説明は省略する。
[Pathメッセージ分析制御処理]
図19に戻って、Pathメッセージ分析制御処理32では、カーネルに含まれる受信メッセージ分析処理20からPathメッセージを得る。Pathメッセージ分析制御処理32は、Pathメッセージ中のPathID,予約帯域情報,必要帯域情報,送信元ノードSNのIPアドレス,送信先ノードDNのIPアドレスを取得する。
Pathメッセージは、当該Pathメッセージを送信(転送)した1つ前のホップ(前ノード(previous node))中の通信機器(通信I/F11)のIPアドレス(「前ホ
ップIPアドレス」と称する)を含んでいる。
Pathメッセージ分析制御処理32は、当該前ホップIPアドレスも取得する。Pathメッセージ分析制御処理32は、取得したPathIDをRAM16に記憶する(図19<1>)。また、Pathメッセージ分析制御処理32は、不足予約帯域情報をRAM16に記憶する。以下の説明において、「保持する」「保存する」との表現は、例えば、対象の情報をRAM16などの所定の記憶領域に記憶しておくことを意味する。
Pathメッセージ分析制御処理32は、PathID中の識別番号を、経路表RT内にある送信元ノードSNへ向かう経路と、送信先ノードDNに向かう経路のそれぞれに設定(マーキング)する(図19<2>)。このとき、送信元ノードへ向かう複数の経路が経路表にある場合には、Pathメッセージが進入してきた(受信された)通信I/F11の先にある隣接ノード(中継ノードRN)経由で送信元ノードSNへ向かう経路に識別番号が付与される。
但し、Pathメッセージを受信したノードがロードバランシング実行ノードに該当する場合には、既に経路表RTに識別番号が設定(付与)されている可能性がある。典型的には、Pathメッセージが第x(xは自然数、但しここでは2以上の)であるときには、ネットワーク上に既にロードバランシング開始ノードが存在している。そして、ロードバランシング実行ノードの経路表RTには識別番号が付与されている。この場合には、Pathメッセージ分析制御処理32は、送信先ノードDNへ向かう経路に対する識別番号のマーキングを実施しない。
経路表RTには、例えば等コストロードバランシングによって複数の送信先ノードDN
へ向かう経路が存在する場合がある。この場合、Pathメッセージ分析制御処理32は、OSPF−TE34との連携によって、複数の経路の中から1つの経路をPathメッセージの転送先として決定する。
このとき、Pathメッセージ分析制御処理32は、複数の経路のうち空き帯域に余裕のある(例えば、空き帯域が大きい)経路をPathメッセージの転送先として決定する。複数の経路間で空き帯域が同じである場合には、Pathメッセージ分析制御処理32は、複数の経路からランダムにPathメッセージを転送する経路を決定する。
また、Pathメッセージ分析制御処理32は、Pathメッセージから得られた予約帯域情報を帯域仮予約処理33に与える(図19<3>)。Pathメッセージ分析制御処理32は、帯域仮予約処理33で実行される次ノードとの間での帯域の仮予約処理の結果を示す通知を受け取る(図19<4>)。仮予約がなされた場合、Pathメッセージ分析制御処理32は仮予約がなされた旨の通知を受け取る。
また、Pathメッセージ分析制御処理32は、Pathメッセージに含まれた予約帯域情報を予約帯域情報更新処理35に送る(図19<5>)。また、Pathメッセージ分析制御処理32は、予約帯域情報更新処理35から、更新予約帯域情報を受け取る(図19<6>)。当該処理は、Pathメッセージを送信先ノードDNへ向けて送信するにあたり、次ノードとの間でPathメッセージに含まれた予約帯域情報中の帯域値をカバーできる空き帯域があるかどうかをチェックするために実行される。このため、自ノードが送信先ノードDNである場合には、当該処理は実行されない。
Pathメッセージ分析制御処理32は、予約帯域情報更新処理35から更新予約帯域情報を受信すると、Pathメッセージに含まれていた予約帯域情報で示される帯域の値と更新予約帯域情報で示される帯域の値との差分を計算する。計算の結果、差分が0の場合には、Pathメッセージ分析制御処理32は、Pathメッセージ中の予約帯域情報中の帯域の値を更新しない。これに対し、差分がある場合には、Pathメッセージ分析制御処理32は、Pathメッセージ中の予約帯域情報中の帯域の値を更新予約帯域情報で示される帯域の値に更新する。
その後、Pathメッセージ分析制御処理32は、次ノードへPathメッセージを送信する前に、転送元IPカプセル化処理37へカプセル化依頼を実行する(図19<7>)。カプセル化依頼は、Pathメッセージを送信する通信I/F11(eth)のIPアドレスをカプセル化するために行われる。但し、Pathメッセージの宛先が自身のノードでない場合には、カプセル化依頼は実行されない。
Pathメッセージ分析制御処理32は、転送元IPカプセル化処理37から応答メッセージ(カプセル化の結果)を受け取る(図19<8>)。また、差分が算出された場合には、差分値の帯域を不足予約帯域情報としてRAM16に記憶する(図19<9>)。
また、Pathメッセージ分析制御処理32は、自ノードがロードバランシング実行ノードとなる場合には、Pathメッセージに含まれたPathIDの識別番号を用いて、Pathメッセージを送信先ノードDNへ送るための次ノードを決定する。次ノードの決定は、経路表RTの参照によって行われる。自ノードがロードバランシング実行ノードである場合には、経路表RTに送信先ノードDNへ向かう複数の経路が登録されている。複数の経路から1つの経路を選択するために、識別番号が使用される。
また、Pathメッセージ分析制御処理32は、自ノードがPathメッセージの終端ノード(送信先ノードDN)である場合には、Pathメッセージ中の必要帯域情報及び
予約帯域情報を終端制御処理41へ送る(図19<10>)。
また、Pathメッセージ分析制御処理32は、ロードバランシング実施可否判断指示処理38から、Pathメッセージを送信した前ノードの通信I/F11のIPアドレスの問合せを受け取る(図19<11>)。この場合、Pathメッセージ分析制御処理32は、該当するIPアドレスを含んだ応答をロードバランシング実施可否判断指示処理38へ返す(図19<12>)。但し、帯域仮予約処理33によって次ノードとの間で仮予約帯域が生成されていない場合には、Pathメッセージ分析制御処理32は、仮予約帯域が生成されるまで応答を控える。
また、Pathメッセージ分析制御処理32は、仮予約帯域幅更新処理39から送信元ノードSNのIPアドレスの問合せを受け取る(図19<13>)。問合せは、仮予約帯域更新メッセージを送信元ノードSNへ送信するために行われる。問合せを受けたPathメッセージ分析制御処理32は、該当するIPアドレスを含んだ応答を仮予約帯域幅更新処理39に返す(図19<14>)。
また、Pathメッセージ分析制御処理32は、仮予約帯域全開放処理43に対し、仮予約帯域全開放指示を与える(図19<15>)。
[帯域仮予約処理]
帯域仮予約処理33は、Pathメッセージから受け取る予約帯域情報(図19<3>)を元に、次ノードとの間で帯域の仮予約(仮予約帯域の生成)を実行する。このとき、仮予約のためのメッセージのやりとりがカーネルを介して行われる(図19<3a>)。帯域仮予約処理33は、次ノードとの間で帯域の仮予約がなされた場合、仮予約がなされた旨の応答をPathメッセージ分析制御処理32に通知する(図19<4>)。
[OSPF-TE]
OSPF-TE34は、自ノードと次ノードまでの間の空き帯域の計算を行う。
[予約帯域情報更新処理]
予約帯域情報更新処理35は、Pathメッセージ分析制御処理32からPathメッセージ中の予約帯域情報を受け取る(図19<5>)。また、予約帯域情報更新処理35は、OSPF−TE34で計算された次ノードまでの空き帯域情報を受け取る(図19<16>)。予約帯域情報更新処理35は、予約帯域情報中の帯域値と空き帯域値との差分を計算する。
上記計算の結果、差分が0の場合には、予約帯域情報更新処理35は、予約帯域情報中の帯域値の更新は行わず、予約帯域情報の帯域値と同じ値を格納した更新予約帯域情報をPathメッセージ分析制御処理32に送信する(図19<6>)。差分がある場合には、予約帯域情報更新処理35は、OSPF−TE34から受け取った空き帯域の値を更新予約帯域情報の帯域値にセットしてPathメッセージ分析制御処理32に送信する(図19<6>)。また、予約帯域情報更新処理35は、更新予約帯域情報をロードバランシング実施可否判断処理36へ送る(図19<6a>)
[RAM]
RAM16は、PathIDと不足予約帯域情報を記憶する。但し、自ノードが送信先ノードDNである場合には、必要帯域情報及び予約帯域情報も記憶する。もっとも、Pathメッセージの識別番号が“2”以上である場合(第xPathメッセージである場合)には、当該Pathメッセージ中の必要帯域情報は保持しない。
[ロードバランシング実施可否判断処理]
ロードバランシング実施可否判断処理36は、ロードバランシング実施可否判断を実行する。自ノードがロードバランシング実行ノードとして動作できない場合には、ロードバランシング実施可否判断処理36は、ロードバランシング実施可否判断指示処理38に対してロードバランシング実施可否判断実行指示を送る(図19<17>)。また、ロードバランシング実施可否判断処理36は、仮予約帯域幅更新処理39に対して仮予約更新指示を送る(図19<18>)。自ノードがロードバランシング実行ノードとして動作可能である場合には、ロードバランシング実施可否判断処理36は、ロードバランシング処理40に対して、ロードバランシング指示を与える(図19<19>)。
[転送元IPカプセル化処理]
転送先IPカプセル化処理37は、Pathメッセージ分析制御処理32からカプセル化依頼を受け取る(図19<7>)。すると、転送先IPカプセル化処理37は、Pathメッセージを次ノードに転送するときに、転送元となる通信I/F11のIPアドレスをカプセル化する。転送先IPカプセル化処理37は、既に別のノードによってIPアドレスが1回以上カプセル化されている場合は、当該IPアドレスの値を更新する。
[ロードバランシング実施可否判断指示処理]
ロードバランシング実施可否判断指示処理38は、Pathメッセージ分析制御処理32に対し、前ノードにおいてPathメッセージを送信した通信I/F11のIPアドレスを問い合わせる(図19<11>)。問い合わせに応じたIPアドレスがPathメッセージ分析制御処理32から得られると(図19<12>)、ロードバランシング実施可否判断指示処理38は、得られたIPアドレスを宛先として、カーネルに対して、ロードバランシング実施可否判断指示メッセージの送信を指示する(図19<20>)。カーネルは、ロードバランシング実施可否判断指示メッセージを生成して送信する。
ロードバランシング実施可否判断指示メッセージには、Pathメッセージが有する送信先ノードDNのIPアドレス情報、PathID、不足予約帯域情報が付与される。不足予約帯域情報は、ロードバランシング実施可否判断実行指示メッセージの送信元となったPathメッセージの中継ノードRNが必要帯域に対して不足する帯域の大きさを示す情報である。
[仮予約帯域幅更新処理]
仮予約帯域幅更新処理39は、ロードバランシング実施可否判断処理36からの仮予約帯域幅更新指示の受信(図19<18>)を契機として、Pathメッセージ分析制御処理32からPathメッセージの送信元IPアドレスを取得する(図19<13>,<14>)。仮予約帯域幅更新処理39は、カーネルに対して取得したIPアドレスを宛先とする仮予約帯域更新メッセージの送信を指示する(図19<21>)。カーネルは、仮予約帯域更新メッセージを生成して送信する。
[ロードバランシング処理]
ロードバランシング処理40は、ロードバランシング指示を受けて(図19<19>)、不等コストロードバランシングのバリアンス値を上げる。これによって、既存の送信先ノードDNへ向かう経路の次に小さいコスト値を持つ送信先ノードDN行きの経路が経路表RTに出現する。その後、ロードバランシング処理40は、新しく経路表RTに出現した経路を利用して、ロードバランシング終端発見メッセージの送信指示をカーネルに与える(図19<22>)。カーネルはロードバランシング終端発見メッセージを生成して送信する。
[終端制御処理]
終端制御処理41は、Pathメッセージの受信ノードがPathメッセージの終端ノ
ードである場合、すなわち、自ノードが送信先ノードDNである場合に起動する。終端制御処理41は、Pathメッセージ分析制御処理32からPathメッセージ中の予約帯域情報及び必要帯域情報を受けて起動する(図19<10>)。
終端制御処理41は、必要帯域情報で示される帯域値(必要帯域)と予約帯域情報で示される帯域値(仮予約帯域)とが同じ値であり、且つPathIDの識別番号が“1”である場合には、Resv制御処理42へResvメッセージ送信指示を送る(図19<23>)。これに対し、必要帯域が仮予約帯域より大きい場合、或いは、識別番号が“2”以上で必要帯域と仮予約帯域とが同値である場合は、終端制御処理41は、以下の処理を行う。
すなわち、終端制御処理41は、過去に自ノードを経由したPathメッセージのうち、同一のMACアドレスを有し且つ識別番号が異なるPathIDを有していた複数のPathメッセージの情報をRAM16から得る(図19<24>)。続いて、終端制御部41は、各Pathメッセージが有していた各予約帯域情報の帯域値(仮予約帯域)を加算し、加算結果(合計値)と必要帯域情報の帯域値(必要帯域)とを比較する。
比較結果において、仮予約帯域の合計値と必要帯域とが同値である場合には、終端制御処理41は、Resv制御処理42へResvメッセージ送信指示を与える(図19<23>)。これに対し、上記の比較結果において、仮予約帯域の合計値より必要帯域が大きい場合には、仮予約帯域の合計値及びPathIDをRAM16に記憶する(図19<25>)。このとき、必要帯域もRAM16に記憶されるようにしても良い。そして、終端制御処理41は、同一のMACアドレスを有し且つ識別番号が異なる他のPathメッセージが受信されるのを待機し、該当のPathメッセージが受信されると上記処理を行う。
[Resv制御処理]
Resv制御処理42は、カーネルに対し、送信元ノードSN向けのResvメッセージの送信指示を与える(図19<26>)。
なお、本実施形態では、既存のResvメッセージにPathID情報が付加される(図5参照)。Resvメッセージがロードバランシングを実施している中継ノードRNで受信された場合には、以下の処理が行われる。すなわち、当該中継ノードRNの経路表RTに送信元ノードSNへ向かう経路が2以上登録されている場合には、Resvメッセージに含まれたPathIDの識別番号がチェックされ、Resvメッセージの転送に利用する経路が選定される。
[仮予約帯域全開放処理]
仮予約帯域全開放処理43は、自ノードがPathメッセージの終端ノード(送信先ノードDN)であり、且つPathメッセージのPathIDの識別番号が所定値(例えば5)を超過する場合に実行される。なお、自ノードが終端ノードで、且つPathIDの識別番号が所定値以上のPathメッセージが受信された場合には、Pathメッセージ分析制御処理32は、仮予約帯域全開放指示を仮予約帯域全開放処理43に与えるだけで、他の処理を行わない。所定値は適宜設定可能である。
仮予約帯域全開放処理43は、これまでに終端ノードで受信された所定値の各Pathメッセージの通過経路を辿る形式で、送信元ノードSNへ所定値と同数の仮予約帯域全開放メッセージの送信指示をカーネルに与える(図19<27>)。
仮予約帯域全開放メッセージには、これまで受信してきた所定値のPathメッセージ
に含まれていたPathIDを含める。仮予約帯域全開放メッセージを受信した各中継ノードRNは、仮予約帯域全開放メッセージから対応するPathIDを取得して、取得したPathID用に仮予約した帯域を全開放する。
仮予約帯域全開放メッセージを受信した中継ノードRNがロードバランシング実行ノードである場合には、当該中継ノードRNは、仮予約帯域の開放に加えて不等コストロードバランシングの停止も行う。
なお、送信元ノードSNは、仮予約帯域全開放メッセージを受信した場合には、所定の処理を行う。例えば、上述した“待時式帯域予約通信方式”を採用する、或いはベストエフォート型の通信に移行することが考えられる。
<<仮予約帯域更新メッセージ処理>>
図20は、仮予約帯域更新メッセージ処理22の詳細を模式的に示す図である。仮予約帯域更新メッセージ処理22では、APL空間において、仮予約帯域更新メッセージ分析制御処理45と、仮予約帯域更新処理39と、帯域仮予約機能33とが実行される。
[仮予約帯域更新メッセージ分析制御処理]
仮予約帯域更新メッセージ分析制御処理45は、カーネル中の受信メッセージ分析処理20から仮予約帯域更新メッセージを得る。仮予約帯域更新メッセージ分析制御処理45は、仮予約帯域更新メッセージから仮予約帯域更新情報、PathIDを取り出し、仮予約帯域更新処理39に送る(図20<1>)。当該処理は、仮予約帯域更新メッセージの宛先が自ノードであるか否かと無関係に実行される。
[仮予約帯域更新処理]
仮予約帯域更新処理39は、OSPF−TE34に対して空き帯域更新指示を送る(図20<2>)。空き帯域更新指示は、仮予約帯域幅を更新する経路と、仮予約帯域の減少分とを含む。減少分は空き帯域となる。このため、空き帯域更新指示を受け取ったOSPF−TE34は、該当する経路に関して減少分だけ空き帯域を増加させる。
また、仮予約帯域更新処理39は、帯域仮予約処理33に対して、仮予約帯域更新指示を送る(図20<3>)。仮予約帯域の識別はPathIDで行う。このため、仮予約帯域更新指示には、仮予約帯域情報と更新対象のPathIDとが含まれる。
[帯域仮予約処理]
帯域仮予約処理33は、仮予約帯域更新指示を受けると、PathIDを用いて、仮予約帯域を変更するやりとりを次ノードとの間で行う。すなわち、帯域仮予約処理33は、カーネルを介して、次ノードとの間で仮予約帯域を変更するためのメッセージのやりとりを行う(図20<4>)。
<<ロードバランシング実施可否判断実行指示メッセージ処理>>
図21は、ロードバランシング実施可否判断実行指示メッセージ処理23(以下、「メッセージ処理23」と表記)の詳細を模式的に示す図である。メッセージ処理23では、ロードバランシング実施可否判断実行指示メッセージ分析制御処理46(以下、「分析制御処理46」と表記)と、ロードバランシング実施可否判断処理36とが実行される。
また、メッセージ処理23では、ロードバランシング実施可否判断指示処理38と、ロードバランシング処理40と、ロードバランシング終端発見メッセージ送信処理47と、バリアンス値強制変更処理48と、経路表チェック処理49とが実行される。
[ロードバランシング実施可否判断実行指示メッセージ分析制御処理]
分析制御処理46は、ロードバランシング実施可否判断実行指示メッセージからPathメッセージに含まれていた送信先ノードDNのIPアドレス及び不足予約帯域情報を取得する。分析制御処理46は、送信先ノードDNのIPアドレスをロードバランシング実施可否判断処理36に送る(図21<1>)。また、分析制御処理46は、不足予約帯域情報をRAM16に記憶する(図21<2>)。
[ロードバランシング実施可否判断処理]
ロードバランシング実施可否判断処理38は、分析制御処理46から送信先ノードDNのIPアドレスを取得すると、バリアンス値強制変更処理48にロードバランシング指示を与える(図21<3>)。ロードバランシング実施可否判断処理38は、バリアンス値を強制的に大きくする不等コストロードバランシングを実施する。
これによって、経路表RTに送信先ノードDNへ向かう経路が新規に出現した場合には、バリアンス値強制変更処理48からの応答を受けて(図21<4>)、ロードバランシング機能に対して、ロードバランシング指示を出す(図21<5>)。
経路表RTにおいて、送信先ノードDNへ向かう経路が新しく1つ出現した時点でバリアンス値の上昇は停止する。バリアンス値が上限まで上昇しても経路表RTに送信先ノードDNへ向かう経路が出現しない場合には、ロードバランシング実施可否判断処理36は、以下の処理を行う。
すなわち、ロードバランシング実施可否判断処理36は、ロードバランシング実施可否判断指示処理38に対して、ロードバランシング実施可否判断実行指示メッセージ送信指示を送る(図21<6>)。これにより、Pathメッセージの経路上の前ノードにロードバランシング実施可否判断実行指示メッセージが送信される。
なお、バリアンス値強制変更処理48によってバリアンス値が上昇する前に、送信先ノードDNへ向かう経路が既に経路表RTに存在することがある。例えば、等コストロードバランシングが実施されていた場合に、複数の経路が存在することが考えられる。このような場合、ロードバランシング実施可否判断処理36は、バリアンス値の変更は行わず、既に経路表RTにある別経路を利用することを決定する。
[ロードバランシング実施可否判断指示処理]
ロードバランシング実施可否判断指示処理38は、分析制御処理46から前ノードのIPアドレスを問い合わせ(図21<7>)、該当IPアドレスを取得する(図21<8>)。すると、ロードバランシング実施可否判断指示処理38は、カーネルに対して、該当IPアドレス(前ノード)へロードバランシング実施可否判断指示メッセージを送信するように指示する(図21<9>)。
[ロードバランシング処理]
ロードバランシング処理40は、ロードバランシング実施可否判断処理36からのロードバランシング指示を受けて、ロードバランシング終端発見メッセージ送信処理47にロードバランシング終端発見メッセージの送信指示を送る(図21<10>)。
[ロードバランシング終端発見メッセージ送信処理]
ロードバランシング終端発見メッセージ送信処理47は、ロードバランシング処理40から、ロードバランシング終端発見メッセージの送信指示を受け取る(図21<10>)。すると、ロードバランシング終端発見メッセージ送信処理47は、別経路を利用して送信先ノードDNへロードバランシング終端発見メッセージの送信する指示をカーネルに与
える(図21<11>)。
別経路は、バリアンス値の上昇によって経路表RTに出現した別経路、或いはバリアンス値変更前に経路表RTに存在していた別経路である。なお、ロードバランシング終端発見メッセージには、ロードバランシング実施可否判断実行指示メッセージに含まれていたPathIDが含められる。
<<ロードバランシング終端発見メッセージ処理>>
図22は、ロードバランシング終端発見メッセージ処理24(以下、「メッセージ処理24」と表記)の詳細を模式的に示す図である。メッセージ処理24では、ロードバランシング終端発見メッセージ分析制御処理50(以下、「分析制御処理50」と表記)と、PathID問い合わせ処理51とが実行される。
また、メッセージ処理24では、ロードバランシング実行履歴チェック処理52と、経路表チェック処理53と、強制バリアンス変更処理48と、別経路メンババス発見成功メッセージ送信指示処理54とが実行される。さらに、メッセージ処理では、ロードバランシング終端発見メッセージ転送処理55と、別経路メンバパス発見指示メッセージ送信処理56とが実行される。
[ロードバランシング終端発見メッセージ分析制御処理]
分析制御処理50は、受信メッセージ分析部20からロードバランシング終端発見メッセージ(以下、「終端発見メッセージ」ともいう)を得る。分析制御処理50は、終端発見メッセージ中のPathIDを取得し、PathID問い合わせ処理51(以下「問い合わせ処理51」とも表記)に送る(図22<1>)。分析制御処理50は、問い合わせ処理51、又はロードバランシング実行履歴チェック処理52(以下、「チェック処理52」とも表記)から問合せの応答を受け取る(図22<2>,図22<3>)。
分析制御処理50は、応答の内容に従って、バリアンス値強制変更処理48,ロードバランシング終端発見メッセージ転送処理55,及び別経路メンバパス発見指示メッセージ送信処理56へ指示を送信する。
すなわち、分析制御処理50は、バリアンス値強制変更処理48(以下、「変更処理48」とも表記)に対しては、終端発見メッセージの送信元IPアドレスを含む指示を与える(図22<4>)。また、分析制御処理50は、ロードバランシング終端発見メッセージ転送処理55(以下、「転送処理55」とも表記)に対しては、終端発見メッセージの転送指示を与える(図22<5>)。そして、分析制御処理50は、別経路メンバパス発見指示メッセージ送信処理56(以下、「送信処理56」とも表記)に対しては、ロードバランシング終端発見メッセージの送信元IPアドレスを含む指示を与える(図22<6>)。
[PathID問い合わせ処理]
問い合わせ処理51は、分析制御処理50から受けたPathID、すなわち、終端発見メッセージ中のPathIDと同値のPathIDがRAM16に記憶されているか否かを確認する(図22<7>,<8>)。
同値のPathIDが記憶されていた場合には、問い合わせ処理51は、チェック処理52(以下、「チェック処理52」とも表記)に対して、実行履歴の有無のチェックを要求する(図22<7a>)。対象の実行履歴は、同一のPathIDを有するPathメッセージに基づき過去に実行されたロードバランシング実施可否判断処理(以下、「実施可否判断」とも表記)の実行履歴である。
問い合わせ処理51は、同値のPathIDが記憶されていなかったときには、分析制御処理50に対して、転送処理55へ終端発見メッセージの転送を要求する旨の指示を送る(図22<2>)。
[ロードバランシング実行履歴チェック処理]
チェック処理52は、対象の実行履歴の有無をチェックする。実行履歴がない場合には、変更処理48へ終端発見メッセージの送信元ノードのIPアドレスを送信する旨の指示を分析制御処理50に送る(図22<3>)。自ノードをロードバランシングの終端とするためである。
実行履歴があった場合には、チェック処理52は、別経路メンバパス発見指示メッセージ送信処理56(以下、「送信処理56」とも表記)へ終端発見メッセージの送信元ノードのIPアドレスを送信する旨の指示を分析制御処理50に送る(図22<3>)。
[ロードバランシング終端発見メッセージ転送処理]
転送処理55は、経路表RTを参照して、終端発見メッセージを次ノードへ転送する命令をカーネルに与える(図22<5a>)。転送の際には、転送処理55は、当該終端発見メッセージの転送の履歴を当該終端発見メッセージ中のPathIDとセットで保持する。
[バリアンス値強制変更処理]
変更処理48は、不等コストロードバランシングのバリアンス値を強制的に上昇させる(図22<9a>)。ただし、変更処理48は、バリアンス値の上昇前に経路表RTに登録されていた送信元ノードDNへ向かう経路を記憶しておく。バリアンス値の上昇は、所望の別経路が経路表RTに出現するまで継続される。変更処理48は、所望の別経路が経路表RTに出現したか否かは、経路表チェック処理53の経路表のチェック結果を随時受け取ることを通じて判断する(図22<9b>,<9c>)。
[経路表チェック処理]
経路表チェック処理53は、変更処理48によるバリアンス値の上昇中における経路表RTを監視し、終端発見メッセージの送信元ノード及びPathメッセージの送信元ノードSNへそれぞれ向かう別経路が経路表RTに出現しているかをチェックする。別経路が経路表RTに出現すると、その旨を変更処理48に伝える(図22<9c>)。
変更処理48は、別経路の出現がチェック処理53から通知されると、別経路メンバパス発見成功メッセージ送信指示処理54(以下、「送信指示処理54」とも表記)へ別経路メンバパス発見成功メッセージの送信指示を与える(図22<10>)。
[別経路メンバパス発見成功メッセージ送信指示処理]
送信指示処理54は、送信指示を変更処理48から受け取ると、別経路メンバパス発見成功メッセージ(以下、「発見成功メッセージ」とも表記)の送信命令をカーネルに与える(図22<11>)。カーネルは、発見成功メッセージを別経路(終端発見メッセージを送信した中継ノードRN)へ送信する。
発見成功メッセージは、Pathメッセージの経由してきた経路を通って終端発見メッセージを送信した中継ノードRNに到達する可能性がある。もっとも、発見成功メッセージが終端発見メッセージを送信した中継ノードRNで受信されれば良いので、経路の相違は問題とならない。発見成功メッセージには、終端発見メッセージ中のPathIDが含められる。
[別経路メンバパス発見指示メッセージ送信処理]
送信処理56は、分析制御処理50からの指示を受けて(図22<6>)、終端発見メッセージの送信元の中継ノードRNへ別経路メンバパス発見指示メッセージ(以下、「発見指示メッセージ」とも表記)へ送る命令をカーネルに与える(図22<12>)。このとき、発見指示メッセージには、終端発見メッセージ中のPathIDが含められる。
<<別経路メンバパス発見成功メッセージ処理>>
図23は、別経路メンバパス発見成功メッセージ処理25(以下、「メッセージ処理25」と表記)の詳細を模式的に示す図である。メッセージ処理25では、別経路メンバパス発見成功メッセージ分析制御処理58(以下、「分析制御処理58」と表記)と、経路表識別番号付与処理59(以下、「付与処理59」とも表記)とが実行される。
また、メッセージ処理25では、識別番号問い合わせ処理60(以下、「問い合わせ処理60」とも表記)と、第xPathメッセージ送信指示処理61(以下、「送信指示処理61」とも表記)とが実行される。
[別経路メンバパス発見成功メッセージ分析制御処理]
分析制御処理58は、自ノード宛ての発見成功メッセージを受信メッセージ分析処理20から得る。分析制御処理58は、経路表RTにある送信先ノードDNへ向かう経路のうち、終端発見メッセージの送信元のノード経由で送信先ノードDNへ向かう経路(別経路)に対して識別番号を割り振る指示を付与処理59に与える(図23<1>)。
また、分析制御処理58は、発見成功メッセージ中のPathIDと関連づけられた不足予約帯域情報をRAM16から読み出す(図23<2>,<3>)。続いて、分析制御処理58は、発見成功メッセージ中のPathID,送信元ノードSNのIPアドレス,及び不足予約帯域情報を送信指示処理61に通知する(図23<4>)。
[経路表識別番号付与処理]
付与処理59は、分析制御処理58からの指示を得て、別経路に設定する識別番号を問い合わせ処理60に問い合わせる(図23<5>)。付与処理59は、問い合わせに対する応答として、識別番号を得る(図23<6>)。付与処理は、経路表RT上の別経路に対して識別番号を付与する命令をカーネルに与える(図23<7>)。これによって、別経路に識別番号が付与(設定)される(図11参照)。なお、経路表RTにおけるPathメッセージの転送経路に該当する経路には、既に識別番号が付与されているものとする。
[識別番号問い合わせ処理]
問い合わせ処理60は、付与処理59からの問合せを受けて、識別番号問い合わせメッセージの送信命令をカーネルに与える(図23<8>)。カーネルは、識別番号問い合わせメッセージを送信元ノードSNに送り、識別番号を含む応答を受信すると、問い合わせ処理60に与える(図23<9>)。問い合わせ処理60は、カーネルから得た識別番号の値に1を加算した新たな識別番号を生成し、問い合わせに対する応答として付与処理59に送る(図23<6>)。
[第xPathメッセージ送信指示処理]
送信指示処理61は、PathID、送信元ノードSNのIPアドレス,不足予約帯域情報を分析制御処理58から受け取ったときに、送信元ノードSNへ第xPathメッセージ送信指示メッセージへ送信する命令をカーネルに与える(図23<10>)。カーネルは、第xPathメッセージ送信指示メッセージを送信元ノードSNへ送信する。第x
Pathメッセージ送信指示メッセージには、PathID,必要帯域情報と予約帯域情報とが含まれる。必要帯域情報及び予約帯域情報として、不足予約帯域情報の値が設定される。
<<第xPathメッセージ送信指示メッセージ処理>>
図24は、第xPathメッセージ送信指示メッセージ処理26の詳細を模式的に示す図である。図24において、第xPathメッセージ送信指示メッセージ処理26(以下、「メッセージ処理26」とも表記)では、第xPathメッセージ送信指示メッセージ分析制御処理63(以下、「分析制御処理63」とも表記)が実行される。
また、メッセージ処理26では、Pathメッセージ送信処理64(以下、「送信処理64」とも表記)と、第xPathメッセージ送信指示メッセージ転送処理65(以下、「転送処理65」とも表記)とが実行される。
[第xPathメッセージ送信指示メッセージ分析制御処理]
分析制御処理63は、受信メッセージ分析処理20から第xPathメッセージ送信指示メッセージを得る。分析制御処理は、第xPathメッセージ送信指示メッセージの宛先をチェックする。当該メッセージの宛先が自ノードである場合には、分析制御処理63は、当該メッセージからPathIDを取り出して送信処理64へ送信する(図24<1>)。当該メッセージの宛先が自ノードでない場合には、分析制御処理63は、当該メッセージに対して何らの処理を行うことなく、第xPathメッセージ転送処理65へ送信する(図24<2>)。
[Pathメッセージ送信処理]
Pathメッセージ送信処理64は、分析制御処理63から受け取ったPathIDを含む新規のPathメッセージ(第xPathメッセージ)を作成し、第xPathメッセージの送信命令をカーネルに与える(図24<3>)。第xPathメッセージの必要帯域情報及び予約帯域情報の各値として、第xPathメッセージ送信指示メッセージに含まれていた必要帯域情報及び予約帯域情報の各値が設定される。
[第xPathメッセージ送信指示メッセージ転送処理]
転送処理65は、分析制御処理63から第xPathメッセージ送信指示メッセージを受信すると、当該メッセージの転送命令をカーネルに与える。これによって、第xPathメッセージ送信指示メッセージは次ノードへ転送される。
<<別経路メンバパス発見指示メッセージ処理>>
図25は、別経路メンバパス発見指示メッセージ処理27の詳細を模式的に示す図である。図25において、別経路メンバパス発見指示メッセージ処理27(以下、「メッセージ処理27」とも表記する)では、別経路メンバパス発見指示メッセージ分析制御処理67(以下、「分析制御処理67」とも表記する)が実行される。
また、メッセージ処理27では、ロードバランシング実施可否判断処理36(以下、「判断処理36」とも表記)と、参照経路選定処理69(以下、「選定処理69」とも表記)と、変更処理48と、チェック処理53とが実行される。
さらに、メッセージ処理27では、ロードバランシング終端発見メッセージ送信処理70(以下、「送信処理70」とも表記)と、別経路メンバパス発見指示メッセージ転送処理71(以下、「転送処理71」とも表記)と、送信元IP隠蔽処理72とが実行される。
[別経路メンバパス発見指示メッセージ分析制御処理]
分析制御処理67は、別経路メンバパス発見指示メッセージ(発見指示メッセージ)を受信メッセージ分析処理20から得る。分析処理部67は、自ノードで保持されている、自ノードが過去に送信したロードバランシング終端発見メッセージ(終端発見メッセージ)の送信履歴を取得する(例えばRAM16から読み出す)。
分析制御処理67は、発見指示メッセージ中のPathメッセージと送信履歴に残っている終端発見メッセージのPathIDとを照合し、両者が一致したら、終端発見メッセージの送信に利用した送信先ノードDNのIPアドレスを得る。分析制御処理67は、当該IPアドレスを判断処理36へ送る(図25<1>)。
[ロードバランシング実施可否判断処理]
分析制御処理67から得られたIPアドレスへ向かうセグメント(経路)は、既に経路表RTにある。このため、判断処理36は、当該経路と別経路をバリアンス値強制変更処理48によって経路表RTに出現させることを試行する(図25<2>,<3>)。変更処理48及びチェック処理53の内容は、メッセージ処理24での処理と同様であるので説明を省略する。
経路表RTに別経路が出現した場合には、判断処理36は、参照経路選定処理69に参照経路選定指示を送る(図25<4>)。これに対し、別経路が出現しなかった場合には、判断処理36は、転送処理71に対し、別経路メンバパス発見指示メッセージ転送要求を送る(図25<5>)。
[別経路メンバパス発見指示メッセージ転送処理]
転送処理71は、判断処理36からの別経路メンバパス発見指示メッセージ転送要求を受けると、終端発見メッセージの送信元ノードのIPアドレスを分析制御処理67に問い合わせ(図25<6>)、該当するIPアドレスを分析制御処理67から得る(図25<7>)。転送処理71は、別経路メンバパス発見指示メッセージの転送指示をカーネルに与える(図25<8>)。転送指示は、終端発見メッセージの送信元ノード、すなわち終端発見メッセージを送信したノードに1ホップ近いノード(終端発見メッセージの転送経路における前ノード)へ送られる。
[参照経路選定処理]
参照経路選定処理69は、参照経路選定指示を受信したとき、バリアンス値の上昇によって経路表RTに出現した経路へのロードバランシング終端発見メッセージの送信指示を送信処理70に与える(図25<9>)。
但し、参照経路選定処理69は、送信指示を送る前に、送信先IP隠蔽処理72を利用して、これから送信するロードバランシング終端発見メッセージの送信元IPアドレスを、本来のロードバランシング終端発見メッセージを送信した中継ノードRNのIPアドレスに設定する(図25<10>,<11>)。
このような処理を行う理由は以下の通りである。すなわち、送信元IPアドレスの変更を行わない場合には、ロードバランシング終端ノードと本来のロードバランシング終端発見メッセージを送信したノード(ロードバランシング開始ノード)との間でロードバランシングが実行できなくなってしまうからである。
[送信元IP隠蔽処理]
送信元IP隠蔽処理72は、ロードバランシング終端発見メッセージの送信元IPアドレスを、本来の(元々の)ロードバランシング終端発見メッセージを送信したノードのI
Pアドレスに変更する処理を行う。
[ロードバランシング終端発見メッセージ送信処理]
送信処理70は、選定処理69からの送信指示を受け取ったときに、ロードバランシング終端発見メッセージの送信命令をカーネルに送る(図25<12>)。これによって、ロードバランシング終端発見メッセージが送信される(図10参照)。
<<第xPathメッセージ処理>>
図26は、第xPathメッセージ処理28の詳細を模式的に示す図である。第xPathメッセージ処理28は、Pathメッセージ処理21(図19)の一部であり、第xPathメッセージ(x≧2)を受信したロードバランシング開始ノードで実行を要する処理群である。
第xPathメッセージ処理28(以下、「メッセージ処理28」とも表記する)では、第xPathメッセージ分析制御処理74(以下、「分析制御処理74」とも表記する)が実行される。また、メッセージ処理28では、経路表送信先セグメント数確認処理75(以下、「確認処理75」とも表記)と、PathID識別番号確認処理76(以下、「確認処理76」とも表記)と、参照経路表選定処理77(以下、「選定処理77」とも表記)とが実行される。
[第xPathメッセージ分析制御処理]
分析制御処理74は、受信メッセージ分析処理20から第xPathメッセージを得る。分析制御処理74は、第xPathメッセージを得ると、自ノードの経路表RTに存在する、送信先ノードDNへ向かうセグメント(経路)数の確認指示を確認処理75に与える(図26<1>)。
分析制御処理74は、確認処理75からの応答(経路数)を受ける(図26<2>)。経路数が2以上である場合には、第xPathメッセージ中のPathIDの識別番号(識別番号≧2)を確認処理76に送る(図26<3>)。このとき、確認処理75からの応答内容が“経路数=1”である場合には、当該経路(セグメント)を用いて送信先ノードDN宛ての第xPathメッセージを転送するようにカーネルに命令を出す(図24<4>)。経路数が2以上であるノードは、ロードバランシング開始ノードとなっている。
[経路表送信先セグメント数確認処理]
確認処理75は、分析制御処理74からの確認指示を受けて、経路表RT上にある第xPathメッセージの送信先に対応するセグメント(経路)の数を計数し、計数結果を応答として分析制御処理に返す。
[PathID識別番号確認処理]
確認処理76は、分析制御処理74から識別番号を受信すると、識別番号の値を確認し、当該識別番号がマーキングされている経路を参照して送信先ノードDN宛ての第xPathメッセージを送信する旨の指示を選定処理77に与える(図26<5>)。
[参照経路表選定処理]
選定処理77は、確認処理76からの指示を受けて、第xPathメッセージの転送に用いる経路を選定する。選定処理77は、選定した経路で第xPathメッセージを転送する旨の命令をカーネルに与える(図26<6>)。これによって、第xPathメッセージは、選定された経路を通って送信先ノードDNへ転送される。
<<Resvメッセージ処理>>
図27は、Resvメッセージ処理30の詳細を模式的に示す図である。図27において、Resvメッセージ処理30では、Resvメッセージ分析制御処理78(以下、「分析制御処理78」とも表記が実行される。また、Resvメッセージ処理30では、経路表確認処理80(以下、「確認処理80」とも表記)と、仮予約帯域→本予約帯域変更処理81(以下、「予約形式変更処理81」とも表記)とが実行される。
[Resvメッセージ分析制御処理]
分析制御処理78は、受信メッセージ分析処理20からResvメッセージを得る。分析制御処理78は、Resvメッセージの送信先IPアドレスを取得し、経路表確認処理80に送信する(図27<1>)。
分析制御処理78は、経路表確認処理80から自ノードにおけるResvメッセージの送信先(送信元ノードSN)に向かう経路が1つである旨の応答を得た場合(図27<2>)には、Resvメッセージ次ノードへ転送する命令をカーネルに与える(図27<3>)。
このとき、分析制御処理78は、予約形式変更処理81を利用して仮予約帯域を本予約帯域に変更する(図27<4>,<5>)。複数の仮予約帯域がある場合には、分析制御処理78は、Resvメッセージ中のPathIDと同一のPathIDを有するResvメッセージが過去に自ノードで受信されていないか確認する。当該確認は、RAM16に保持された情報を参照することによって行われる(図27<6>,<7>)。
同一のPathIDを有するResvメッセージが過去に受信されていることを確認した場合には、分析制御処理78は、選定処理79に対してResvメッセージ中のPathIDの識別番号を通知する(図27<8>)。
[経路表確認処理]
確認処理80は、分析制御処理78からの確認指示を受けて(図27<1>)、経路表RTを参照し、送信先IPアドレスに対応する経路の数を分析制御処理に応答する(図27<2>)。
[参照経路選定処理]
選定処理79は、分析制御処理78から識別番号を受信すると、当該識別番号が付与されている経路を利用してResvメッセージを転送する命令をカーネルに与える(図27<9>)。また、選定処理79は、仮予約帯域を本予約帯域に変更する指示を予約形式変更処理81に与える(図27<10>)。
[仮予約帯域→本予約帯域変更処理]
予約形式変更処理81は、仮予約されている帯域を本予約に変更することをカーネルに命令する(図27<11>)。必要に応じて、隣接ノードとの間で、仮予約を本予約にするためのメッセージのやりとりが行われる。
<<仮予約帯域全開放メッセージ処理>>
図28は、仮予約帯域全開放メッセージ処理29の詳細を模式的に示す図である。仮予約帯域全開放メッセージ処理29(以下、「メッセージ処理29」とも表記)では、仮予約帯域全開放メッセージ分析制御処理83(以下、「分析制御処理83」とも表記)が実行される。
また、メッセージ処理29では、仮予約帯域全開放処理84(以下、「開放処理84」とも表記)と、ベストエフォート型遷移処理85(以下、「遷移処理85」とも表記)と
が実行される。
[仮予約帯域全開放メッセージ分析制御処理]
分析制御処理83は、受信メッセージ分析処理20から仮予約帯域全開放メッセージ(以下、「開放メッセージ」とも表記)を得る。分析制御処理83は、開放メッセージ中のPathIDを得て、当該PathIDと同値のPathIDを有するPathメッセージが過去に受信されていないかを、RAM16に記憶されたPathIDの参照によって確認する(図28<1>,<2>)。
調査の結果、該当するPathIDがRAM16に記憶されていない場合には、分析制御処理83は、仮予約帯域全開放メッセージを次ノードへ転送する命令をカーネルに与える(図28<2a>)。該当するPathIDがRAM16に記憶されている場合には、分析制御処理83は、開放処理84を用いて自ノードが当該PathIDを有するPathメッセージに従って仮予約した全ての帯域を開放する(図28<3>,<4>)。自ノードが開放メッセージの終端ノードである場合には、分析制御処理83は、遷移処理85に対して、ロードバランシング経路確立失敗指示を送信する(図28<5>)。
[ベストエフォート型遷移処理]
ベストエフォート型遷移処理85は、分析制御処理83からロードバランシング経路確立失敗指示を受信したとき、送受信ノード間でロードバランシングを利用したQoSを保障する複数経路の確立処理を停止し、現在ネットワークで使われているベストエフォート型通信や、待時式帯域予約通信方式などへ移行する。
[仮予約帯域全開放処理]
開放処理84は、分析制御処理84から開放指示を受信したとき、開放メッセージ中のPathIDと同一のPathIDを有するPathメッセージによって仮予約された帯域の全てを開放する処理を行う。開放処理84は、必要に応じて、仮予約解除のための命令をカーネルに与える(図28<7>)。
<動作例>
図29〜図33は、実施形態2におけるネットワークシステム(図16)の動作例を示すシーケンス図である。図29において、送信元ノードSNは、送信先ノードDNとの間で100Mbpsの必要帯域を予約した通信を行う場合、次ノード(ノードA)との間の空き帯域が予約帯域(=必要帯域)以上か否かを判定する(01)。
空き帯域が予約帯域(=必要帯域)以上であるので、送信元ノードSNは、送信元ノードSNとノードAとの間で“100M”の帯域を仮予約する(02)。次に、送信元ノードSNは、送信先ノードDN向けのPathメッセージを送信し、PathメッセージはノードAで受信される(03)。
Pathメッセージを受信したノードAは、Pathメッセージ処理21を実行し、次ノード(ノードB)との間の空き帯域が予約帯域以上か否かを調査する(04)。このとき、空き帯域が予約帯域以上であるので、ノードAは、ノードAとノードBとの間で必要帯域“100M”の仮予約を行う(05)。ノードAは、PathメッセージをノードBに転送する(06)。
Pathメッセージを受信したノードBは、Pathメッセージ処理21を実行し、次ノード(ノードC)との間の空き帯域が予約帯域以上か否かを調査する(07)。このとき、空き帯域が予約帯域以上であるので、ノードBは、ノードBとノードCとの間で必要帯域“100M”の仮予約を行う(08)。ノードBは、PathメッセージをノードC
に転送する(09)。
Pathメッセージを受信したノードCは、Pathメッセージ処理21を実行し、次ノード(ノードE)との間の空き帯域が予約帯域以上か否かを調査する(07)。このとき、空き帯域が予約帯域未満であるので、ノードCは、予約帯域“100M”を、例えば予約帯域“70[Mbps]”に更新する(11)。次に、ノードCは、ノードCとノードEとの間で予約帯域“70M”の仮予約を行う(12)。ノードCは、PathメッセージをノードEに転送する(13)。
また、ノードCは、仮予約帯域更新メッセージを生成し、前ノード(ノードB)へ送信する(14)。ノードBは、仮予約帯域更新メッセージ処理22を実行し、ノードBとノードCとの間の仮予約帯域を“100M”から“70M”に変更する(15)。
Pathメッセージを受信したノードEは、Pathメッセージ処理21を実行し、次ノード(送信先ノードDN)との間の空き帯域が予約帯域“70M”以上か否かを調査する(16)。このとき、空き帯域が予約帯域未満であるので、ノードEは、予約帯域“70M”をノードEと送信先ノードDNとの間で仮予約する(17)。ノードEは、Pathメッセージを送信先ノードSNに転送する(18)。
図30において、Pathメッセージを受信した送信先ノードDNは、Pathメッセージ処理21を実行する。このとき、Pathメッセージの必要帯域情報が予約帯域情報を上回る。このため、送信先ノードDNは、Pathメッセージ中のPathIDにおけるMACアドレスが同一で識別番号が異なる別のPathメッセージ(第2以降のPathメッセージ)の到着を持つ状態となる(19)。
一方、仮予約帯域を変更したノードBは、仮予約帯域更新メッセージを生成し、前ノード(ノードA)へ送信する(20)。ノードAは、仮予約帯域更新メッセージ処理22を実行し、ノードAとノードBとの間の仮予約帯域を“100M”から“70M”に変更する(21)。
ノードAは、仮予約帯域更新メッセージを生成し、前ノード(送信元ノードSN)へ送信する(22)。送信元ノードSNは、仮予約帯域更新メッセージ処理22を実行し、送信元ノードSNとノードAとの間の仮予約帯域を“100M”から“70M”に変更する(23)。
予約帯域情報の更新を行ったノードCは、ロードバランシング実施可否判断を行う(24)。図16に示したネットワークトポロジでは、バリアンス値を変更しても別経路が経路表RTに出現しないので、ノードCはロードバランシングを実施することができない。このため、ノードCは、ロードバランシング実施可否判断実行指示メッセージを生成し、前ノード(ノードB)へ送信する(25)。
ノードBは、ロードバランシング実施可否判断実行指示メッセージ処理23を実行し、ロードバランシング実施可否判断処理を行う(26)。ノードBも、別経路を有しないので、ロードバランシングを実施することはできない。このため、ノードBは、ロードバランシング実施可否判断実行指示メッセージを前ノード(ノードA)へ転送する(27)。
ノードAは、ロードバランシング実施可否判断実行指示メッセージ処理23を実行し、ロードバランシング実施可否判断処理を行う(28)。ノードAでは、経路表RTから別経路が見つかるので、ロードバランシングを実施可能と判断する。
ノードAは、ロードバランシング終端発見メッセージを生成し、別経路上の次ノード(送信先ノードDNへ向かう別経路上の隣接ノード)であるノードCへロードバランシング終端発見メッセージを送信する(29)。
ノードCは、ロードバランシング終端発見メッセージ処理24を実行し、PathIDの比較を行う。比較の結果、PathIDが一致するので、ノードCは、過去におけるロードバランシング実施可否判断の実行履歴があるか否かを判定する(30)。ここでは、24で実行したロードバランシング実施可否判断処理の実行履歴が発見される。このため、ノードCは、ノードAに対して、別経路メンバパス発見指示メッセージを送信する(31)。
ノードAは、別経路メンバパス発見指示メッセージ処理27を実行し、ロードバランシング実施可否判断処理を行う(32)。この結果において、ノードAはロードバランシングを実施可能と判断する。すると、ノードAは、ロードバランシング終端発見メッセージを別経路上の次ノードであるノードDへ送信する(33)。
ノードDは、ロードバランシング終端発見メッセージ処理24を実行し、PathIDの比較を行う(34)。このとき、PathIDは不一致(或いは比較するPathIDが保持されていない)となる。すなわち、同一PathIDを有するPathメッセージの受信履歴がないことをノードDは検知する。すると、ノードDは、ロードバランシング終端発見メッセージを次ノードであるノードEへ転送する(35)。
図31において、ノードEは、ロードバランシング終端発見メッセージ処理24を実行し、PathIDの比較を行う(36)。ノードEは、ロードバランシング終端発見メッセージ中のPathIDと同一のPathIDを有するPathメッセージを受信している(図29の13参照)。しかし、ノードAは、ロードバランシング実施可否判断処理を実行していないので、当該処理の実行履歴は存在しない。
このため、ノードEは、自ノードがロードバランシング終端ノードとして動作することを決定する(37)。さらに、ノードEは、別経路メンバパス発見成功メッセージを生成し、前ノードであるノードDへ送信する(38)。
ノードDは、別経路メンバパス発見成功メッセージ処理25を実行し、別経路メンバパス発見成功メッセージを前ノードであるノードAへ転送する(39)。ノードAは、別経路メンバパス発見成功メッセージ処理25において、自ノードがロードバランシング開始ノードとして動作することを決定する(40)。
ノードAは、識別番号問い合わせメッセージを生成し、送信元ノードSNへ送信する(41)。その後、ノードAは、送信元ノードSNから識別番号を受け取ると(42)、受け取った識別番号に1を加算して識別番号の更新を行う(43)。続いて、ノードAは、第2Pathメッセージ送信指示メッセージを送信元ノードSNへ送信する(44)。
送信元ノードSNは、第xPathメッセージ送信指示メッセージ処理26を実行し、次ノード(ノードA)までの空き帯域を調査する(45)。このとき、空き帯域が第xPathメッセージ送信指示メッセージ中の必要帯域情報(=予約帯域情報=“30M”)以上であれば、送信元ノードSNは、送信元ノードSNとノードAとの間について“30M”の帯域の仮予約を行う(46)。
その後、送信元ノードSNは、第2Pathメッセージを生成し、次ノードであるノードAへ送信する(47)。ノードAは、第2Pathメッセージを受信すると、ノードA
とノードDとの間で予約帯域“30M”以上の空き帯域があるかを判定する(48)。空き帯域がある場合には、ノードAは、ノードAとノードDとの間で“30M”の帯域の仮予約を行い(49)、第2PathメッセージをノードDへ転送する(50)。
ノードDは、第2Pathメッセージに対するPathメッセージ処理21を実行し、ノードDとノードE(次ノード)との間の空き帯域が予約帯域“30M”以上であるか否かを判定する。予約帯域以上の空き帯域があれば、ノードDは、図32に示すように、予約帯域分(不足予約帯域分)の帯域“30M”の仮予約を行う(52)。ノードDは、第2PathメッセージをノードEへ転送する(53)。
ノードEは、第2Pathメッセージに対するPathメッセージ処理21を実行し、ノードEと送信先ノードDN(次ノード)との間の空き帯域が予約帯域“30M”以上であるか否かを判定する(54)。予約帯域以上の空き帯域があれば、ノードEは、予約帯域分(不足予約帯域分)の帯域“30M”の仮予約を行う(55)。ノードEは、第2Pathメッセージを送信先ノードDNへ転送する(56)。
送信先ノードDNは、第2Pathメッセージに対するPathメッセージ処理21を行い、過去に受信したPathメッセージ(送信元ノードの識別情報が第2Pathメッセージと同一)の予約帯域情報“70M”と第2Pathメッセージの予約帯域情報“30M”とを加算する(57)。加算結果“100M”は、Pathメッセージの必要帯域情報“100M”と同値であるので、送信先ノードDNは、複数経路による必要帯域の確保(仮予約状態)を確認する(58)。
送信先ノードDNは、PathID(識別番号1)を有するResvメッセージと、PathID(識別番号2)を有するResvメッセージとを生成し、ノードEへ送信する(59)。
ノードEでは、各Resvメッセージに対するResvメッセージ処理30が実行され、識別番号1の経路に対して仮予約された“70M”の帯域と識別番号2の経路に対して仮予約された“30M”の帯域とが本予約状態に変更される(60)。これによって、ノードEと送信先ノードDNとの間で100Mの帯域が本予約された状態となる。
識別番号2を有するResvメッセージは、ノードEによりノードDへ転送される(61)。ノードDは、Resvメッセージ処理30の実行を通じてノードDとノードEとの間で仮予約された30Mの帯域を本予約状態に変更する(62)。識別番号2を有するResvメッセージは、ノードDによりノードAへ転送される(63)。ノードAは、Resvメッセージ処理30の実行を通じてノードAとノードDとの間で仮予約された30Mの帯域を本予約状態に変更する(64)。
図33において、ノードEは、識別番号1を有するResvメッセージをノードCへ送る(65)。ノードCは、Resvメッセージ処理30の実行を通じてノードCとノードEとの間で仮予約された70Mの帯域を本予約状態に変更する(66)。識別番号1を有するResvメッセージは、ノードCによりノードBへ転送される(67)。ノードBは、Resvメッセージ処理30の実行を通じてノードBとノードCとの間で仮予約された70Mの帯域を本予約状態に変更する(68)。
識別番号1を有するResvメッセージは、ノードBによりノードAへ転送される(69)。ノードAは、Resvメッセージ処理30の実行を通じてノードAとノードBとの間で仮予約された70Mの帯域を本予約状態に変更する(70)。
識別番号1を有するResvメッセージと識別番号2を有するResvメッセージとのそれぞれは、最終的に送信元ノードSNへ到達する(71)。図33では、各Resvメッセージの到着タイミングが同時であるように図示されている。しかし、タイミングを合わせる必要はなく、各Resvメッセージは、各経路のコストに応じた相互に無関係なタイミングで送信元ノードSNへ到着する。
送信元ノードSNは、各Resvメッセージに基づき、識別番号1のPathメッセージに関して仮予約した70Mの帯域と識別番号2のPathメッセージに関して仮予約した30Mの帯域とを本予約状態に変更する(72)。これによって、送信元ノードSNとノードAとの間で必要帯域である100Mの帯域が予約された状態となる。
その後、送信元ノードSNと送信先ノードDNとの間で、パケット通信が開始される(73)。パケット通信は、100Mの帯域が予約された状態で行われる。このため、当該パケット通信で要求されるQoSを保証した通信を実行することができる。
実施形態1の作用効果は、実施形態1と同様である。実施形態1の構成と実施形態2の構成とは適宜組み合わせることができる。
<変形例>
実施形態1及び2において、Pathメッセージには、予約帯域情報を格納するフィールドが形成されており、送信元ノードSNでは、予約帯域情報に必要帯域情報と同値が設定される。そして、Pathメッセージを受信する各ノードは、予約帯域情報に示された帯域の仮予約を行う。
上記構成に代えて、以下の構成を採用可能である。送信元ノードSNは、予約帯域情報を記憶しない。Pathメッセージを受信する各ノードは、Pathメッセージに予約帯域情報が含まれているか否かを判定し、予約帯域情報があれば、ノードは、予約帯域情報に従って空き帯域調査及び帯域の仮予約を行う。予約帯域情報が無ければ、ノードは、必要帯域情報に従って空き帯域調査及び帯域の仮予約を行う。空き帯域調査で必要帯域が確保できない場合、ノードは、空き帯域調査結果に基づき決定した予約帯域を示す予約帯域情報をPathメッセージに新規に含める。
また、実施形態1及び2において、帯域の仮予約は、Pathメッセージを受信したノードが次ノードとの間に帯域について実施する。このような構成に代えて、仮予約が、Pathメッセージを受信したノードが前ノードとの間の帯域について実施するようにしても良い。
また、実施形態1及び2において、送信先ノードDNが、所定値(例えば6)の第xPathメッセージを受信したときに、全開放メッセージが送信されるようにしている。このような構成に代えて以下の構成を採用することができる。送信元ノードSNが、識別番号の問い合わせに対して応答を予定する識別番号が適宜設定可能な所定値(6)に達したときには、送信元ノードSNが、第1〜第5Pathメッセージを送信した各経路宛てに、仮予約帯域全開放メッセージを送信する。
また、送信元ノードSNは、Pathメッセージを送信してから所定期間内に対応するResvメッセージを受信できない場合(待ちタイマがタイムアウトになった場合)には、以下のような動作を行うようにしても良い。
すなわち、所定時間が経過すると、送信元ノードSNは、当該時点までにPathメッセージ及び第xPathメッセージを送信した経路に対し、仮予約の帯域開放メッセージ
を送信する。これによって、帯域予約処理(第1Pathメッセージの送信)開始から一定期間内に必要帯域の予約が完了しないときには、仮予約帯域が開放される。これによって、仮予約の影響が他の通信(トラフィック)に及ぶ可能性を低減することができる。
上記のようなタイムアウト処理は、送信先ノードDNにおいて実行されるようにしても良い。例えば、送信元ノードDNは、最初のPathメッセージを受信して残りのPathメッセージを待機する状態になると、タイマの計時を開始する。タイマが満了すると、送信元ノードDNは、各Pathメッセージを受信した経路(将来においてPathメッセージを受信する経路を含む)に対して仮予約帯域全開放メッセージを送信する。
以上説明した実施形態の構成は、適宜組み合わせることができる。
DN・・・送信先ノード
SN・・・送信元ノード
RN・・・中継ノード
10・・・情報処理装置(ルータ)
11・・・通信インタフェース
12・・・CPU
14・・・メモリ

Claims (11)

  1. 送信元ノードと送信先ノードとの間で帯域予約要求メッセージが転送される経路上にある中継ノードであって、
    前記送信元ノードと前記送信先ノードとの間の通信に関して予約を要求する帯域を示す予約要求帯域を含んだ前記帯域予約要求メッセージを受信する受信部と、
    前記経路上にある隣接ノードとの間で前記予約要求帯域を確保可能であるときに前記帯域予約要求メッセージを前記経路上の次ノードに転送する送信部と、
    前記予約要求帯域を前記隣接ノードとの間で確保できないときに前記予約要求帯域の一部の帯域を前記経路上で確保するための情報を含めた前記帯域予約要求メッセージを前記送信部から前記次ノードへ転送する処理と前記経路と異なる他の経路で残りの帯域を確保するための処理とを行う制御部と、を含み、
    前記制御部は、前記予約要求帯域を確保できない場合において自ノードが前記他の経路を有するときに前記送信元ノードに対して前記他の経路で前記残りの帯域を予約するための残帯域用帯域予約要求メッセージの送信を依頼する
    中継ノード。
  2. 前記制御部は、前記経路上にある隣接ノードとの間で前記予約要求帯域を確保可能であるときには前記予約要求帯域の仮予約を行い、前記予約要求帯域を確保できないときには前記予約要求帯域の一部の仮予約を行う
    請求項1に記載の中継ノード。
  3. 前記制御部は、前記送信先ノードから前記帯域予約要求メッセージに対応する帯域予約メッセージが前記受信部で受信されたときに前記仮予約した帯域を本予約に変更する
    請求項2に記載の中継ノード。
  4. 前記制御部は、前記残帯域用帯域予約要求メッセージが前記送信元ノードから送信される前に前記他の経路と前記経路とを識別するための識別情報を前記送信元ノードから取得し、前記送信元ノードから受信される前記残帯域用帯域予約要求メッセージを前記識別情報を用いて前記他の経路へ転送する
    請求項1から3のいずれか1項に記載の中継ノード。
  5. 前記制御部は、自ノードが前記他の経路を有するときに前記経路上に存在し且つ前記他の経路の終端点となる他の中継ノードに前記経路と前記他の経路とを登録させるための終端点探索メッセージを前記他の経路へ送信する
    請求項1から4のいずれか1項に記載の中継ノード。
  6. 前記制御部は、隣接ノードから受信し転送先に転送した終端点探索メッセージに関して前記転送先からの指示に応じて別経路の探索処理を行い発見した別経路に新たな終端点探索メッセージを送信するときに、前記新たな終端点探索メッセージの送信元アドレスとして元の終端点探索メッセージに含まれた送信元アドレスを設定する
    請求項5に記載の中継ノード。
  7. 前記制御部は、前記別経路の探索処理で別経路が発見できないときに別経路の探索処理を前記隣接ノードに依頼する
    請求項6に記載の中継ノード。
  8. 前記制御部は、自ノードが前記他の経路を有しないときに前記経路上で前記送信元ノード側にある隣接ノードに他の経路を有するか否かの判定処理を依頼する
    請求項1から7のいずれか1項に記載の中継ノード。
  9. 前記制御部は、受信された仮予約の解除指示に応じて仮予約した帯域を開放する
    請求項2から8のいずれか1項に記載の中継ノード。
  10. 送信元ノードと送信先ノードとの間で帯域予約要求メッセージが転送される経路上にある中継ノードの帯域予約支援方法であって、
    前記送信元ノードと前記送信先ノードとの間の通信に関して予約を要求する帯域を示す予約要求帯域を含んだ前記帯域予約要求メッセージを受信し、
    前記経路上にある隣接ノードとの間で前記予約要求帯域を確保可能であるときに前記帯域予約要求メッセージを前記経路上の次ノードに転送し、
    前記予約要求帯域を前記隣接ノードとの間で確保できないときに前記予約要求帯域の一部の帯域を前記経路上で確保するための情報を含めた前記帯域予約要求メッセージを前記次ノードへ転送し、
    前記予約要求帯域を前記隣接ノードとの間で確保できない場合において前記中継ノードが前記経路と異なる他の経路を有するときに前記他の経路で残りの帯域を予約するための残帯域用帯域予約要求メッセージの送信を前記送信元ノードに依頼する
    ことを含む中継ノードの帯域予約支援方法。
  11. 帯域予約要求メッセージを送信する送信元ノードと、
    前記帯域予約要求メッセージの宛先である送信先ノードと、
    前記送信元ノードと前記送信先ノードとの間の複数の経路上にある複数の中継ノードとを含み、
    前記各中継ノードは、
    前記送信元ノードと前記送信先ノードとの間の通信に関して予約を要求する帯域を示す予約要求帯域を含んだ前記帯域予約要求メッセージを受信する受信部と、
    前記帯域予約要求メッセージが転送される経路上にある隣接ノードとの間で前記予約要求帯域を確保可能であるときに前記帯域予約要求メッセージを前記経路上の次ノードに転送する送信部と、
    前記予約要求帯域を前記隣接ノードとの間で確保できないときに前記予約要求帯域の一部の帯域を前記経路上で確保するための情報を含めた前記帯域予約要求メッセージを前記送信部から前記次ノードへ転送する処理と前記経路と異なる他の経路で残りの帯域を確保
    するための処理とを行う制御部と、
    を含み、
    前記送信元ノードは、前記経路と異なる他の経路で残りの帯域を確保するための処理によって前記複数の中継ノードの1つから受信される指示に応じて他の経路で前記残りの帯域を確保するための残帯域用帯域予約要求メッセージを送信し、
    前記送信先ノードは、自ノードに到達した前記帯域予約要求メッセージの内容から予約要求帯域の全てが確保可能であるときに前記帯域予約要求メッセージの転送経路上にある中継ノードに前記予約要求帯域を予約させるための帯域予約メッセージを送信し、自ノードに到達した前記予約要求メッセージの内容から前記予約要求帯域の一部が確保可能であるときに前記残帯域用帯域予約要求メッセージの受信を待機し、受信された前記残帯域用帯域予約要求メッセージの内容から前記残り帯域が確保可能であるときに前記帯域予約要求メッセージの転送経路上にある中継ノードに前記予約要求帯域の一部を予約させるための帯域予約メッセージを送信するとともに前記残帯域用帯域予約要求メッセージの転送経路上にある中継ノードに前記残り帯域を予約させるための帯域予約メッセージを送信するネットワークシステム。
JP2014083347A 2014-04-15 2014-04-15 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム Expired - Fee Related JP6303750B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014083347A JP6303750B2 (ja) 2014-04-15 2014-04-15 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014083347A JP6303750B2 (ja) 2014-04-15 2014-04-15 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム

Publications (2)

Publication Number Publication Date
JP2015204542A JP2015204542A (ja) 2015-11-16
JP6303750B2 true JP6303750B2 (ja) 2018-04-04

Family

ID=54597757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014083347A Expired - Fee Related JP6303750B2 (ja) 2014-04-15 2014-04-15 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム

Country Status (1)

Country Link
JP (1) JP6303750B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139738A (ja) * 1995-11-13 1997-05-27 Matsushita Electric Ind Co Ltd Atm通信網
JP4507400B2 (ja) * 2000-12-13 2010-07-21 沖電気工業株式会社 ネットワークリソース予約方法及びノード装置
US8218553B2 (en) * 2009-02-25 2012-07-10 Juniper Networks, Inc. Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering

Also Published As

Publication number Publication date
JP2015204542A (ja) 2015-11-16

Similar Documents

Publication Publication Date Title
JP7039707B2 (ja) ネットワークにおけるパケット伝送のための方法及びノード
JP4328478B2 (ja) ラベル転送ネットワークにおける経路変更方法並びにラベルスイッチングノード及び管理ノード
JP2022532729A (ja) スライスベースルーティング
US7978596B2 (en) Connection-oriented network node
CN110890994B (zh) 一种报文转发路径的确定方法、设备和系统
US10623326B2 (en) Jitter compensation along multiple-path deterministic network segment
WO2015010518A1 (zh) 确定业务传输路径的方法、装置及系统
JP6443864B2 (ja) パケット紛失検出を実装するための方法、装置、およびシステム
US9736066B2 (en) Method, apparatus and system for establishing optical bypass
US20090070468A1 (en) Communication system and communication method
US7133402B2 (en) Link identifier assignment system in connection-oriented communication network
US20220124023A1 (en) Path Switching Method, Device, and System
KR20220018065A (ko) 패킷 포워딩 방법 및 디바이스, 그리고 컴퓨터가 판독 가능한 저장 매체
US20060036892A1 (en) Apparatus and method for establishing tunnel routes to protect paths established in a data network
JP5493965B2 (ja) 帯域制御システム、帯域制御装置、帯域制御方法および帯域制御プログラム
JP4567758B2 (ja) QoSリソースを確保し、マルチキャストネットワークリソースを設定する方法および装置
US20140185607A1 (en) Communication system, communication path establishing method and management server
EP1418716A1 (en) Communication control system, communication control method, routing controller and router suitably used for the same
JP2007074055A (ja) 動的制御用ネットワークリソース制御方法および動的制御用ネットワークリソース制御装置
JP2006287549A (ja) 帯域制御方法およびそれを利用したmplsルータ
US9288133B2 (en) Routing device, communications system, and routing method
JP6042838B2 (ja) 管理システム、管理サーバ、および管理方法
JP6303750B2 (ja) 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム
US20090016277A1 (en) Mobile communication system, packet transfer device, and path re-establishing method
US8732335B2 (en) Device communications over unnumbered interfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180125

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: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180219

R150 Certificate of patent or registration of utility model

Ref document number: 6303750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees