JP4477073B2 - リソース検索システムおよびリソース検索用情報処理装置 - Google Patents

リソース検索システムおよびリソース検索用情報処理装置 Download PDF

Info

Publication number
JP4477073B2
JP4477073B2 JP2008096504A JP2008096504A JP4477073B2 JP 4477073 B2 JP4477073 B2 JP 4477073B2 JP 2008096504 A JP2008096504 A JP 2008096504A JP 2008096504 A JP2008096504 A JP 2008096504A JP 4477073 B2 JP4477073 B2 JP 4477073B2
Authority
JP
Japan
Prior art keywords
resource
end server
node
label switching
resource search
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
JP2008096504A
Other languages
English (en)
Other versions
JP2009253463A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008096504A priority Critical patent/JP4477073B2/ja
Publication of JP2009253463A publication Critical patent/JP2009253463A/ja
Application granted granted Critical
Publication of JP4477073B2 publication Critical patent/JP4477073B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ラベルスイッチングネットワークを用いたリソース検索システムおよびこのリソース検索システムに使用されるフロントエンドサーバやバックエンドサーバなどのリソース検索用情報処理装置に関する。
一般に、計算機システムにより使用されるリソース、例えばメモリ、ストレージブロック、文書などのリソースの検索は、高速な専用バス、SAN、或いは、LANにより接続されたサーバ(データベースサーバ、メタデータサーバ、ファイルシステムサーバ等)と、実際のリソースを格納している装置、例えば、ストレージ装置、メモリ装置などで構成されたシステムにて実行される。そのほか、リソース検索に用いるネットワーク技術としては、P2P技術(非特許文献1〜3を参照)やDHTネットワーク技術、MPLS(Multi Protocol Label Switching)技術(非特許文献4〜7を参照)等が考えられる。
「P2P技術の基礎知識(1)」, UNIX(登録商標) MAGAZINE 2005/09, 株式会社アスキー, 2005年9月 「P2P技術の基礎知識(2)」, UNIX(登録商標) MAGAZINE 2005/10, 株式会社アスキー, 2005年10月 「P2P技術の基礎知識(3)」, UNIX(登録商標) MAGAZINE 2005/11, 株式会社アスキー, 2005年11月 「Multi Protocol Label Switching Architecture」, RFC3031, 2001年1月 「MPLS Label Stack Encoding」, RFC3032, 2001年1月 「LDP Specification」, RFC5036, 2001年1月 「RSVP-TE: Extensions to RSVP for LSP Tunnels」, RFC3209, 2001年12月
冒頭で述べた高速な専用バス等を用いる技術は、高速化・高信頼性を実現するが、高コストを招き、また、広域分散・拡張性を実現する上で難点がある。
一方、P2P技術やDHTネットワーク技術などでは、広域分散が可能で、拡張性も合わせ持つが、アルゴリズムの特性上、リソース自体は存在するにも関わらず検索が失敗する可能性があり(失敗を許容する場合があり)、信頼性に不安を残す。また、これらの技術は、一般的に検索性能(応答時間)は高くないことが指摘されている。
本発明は上記実情に鑑みてなされたものであり、高速化・高信頼性と広域分散・拡張性の双方を実現するリソース検索システムおよびリソース検索用情報処理装置を提供することを目的とする。
本発明に係るリソース検索システムは、固定ビット長のリソース識別子で識別されるリソースをラベルスイッチングネットワークを経由して検索するリソース検索システムであって、一定範囲の連続したリソース識別子で識別されるリソースを保持するリソース保持装置と、クライアントとクライアントアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとフロントエンドネットワークを介して接続するフロントエンドサーバであって、クライアントからリソース識別子を含むリソース検索要求を受信し、当該リソース識別子或いはその一部を用いて、当該リソース検索要求が属するべきFEC(Forwarding Equivalence Class)の特定が可能なヘッダ情報を有するリソース検索要求に変換し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワーク或いはバックエンドサーバからリソース検索結果を受信し、それを、対応するリソース検索要求を送信してきたクライアントへ送信する処理を行うフロントエンドサーバと、前記リソース保持装置とリソースアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとバックエンドネットワークを介して接続するバックエンドサーバであって、前記リソース保持装置が保持するリソースの範囲を示すリソース識別子或いはその一部を用いて、前記ラベルスイッチングネットワークでのLSP(Label Switched Path)の設定に用いる情報を生成し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワークからリソース検索要求を受信し、当該リソース検索要求に含まれるリソース識別子を検索キーとして、前記リソース保持装置にアクセスしてリソースを検索、取得し、当該検索、取得したリソースを、リソース検索結果として、前記ラベルスイッチングネットワーク経由で、或いは、別の手段により直接、前記フロントエンドサーバへ送信する処理を行うバックエンドサーバと、前記ラベルスイッチングネットワークを構成するLSR(Label Switching Router)群であって、前記バックエンドサーバから送信された情報から各LSRがLSR間の経路情報を生成し、当該経路情報をFECとしてLSPを設定する処理を行うとともに、前記フロントエンドサーバから送信されたリソース検索要求に対し、当該リソース検索要求のヘッダ情報により特定されるFECに対応するLSPを経由するラベルスイッチング処理を行って前記バックエンドサーバに送信する処理を行うLSR群とを具備することを特徴とする。
本発明によれば、高速化・高信頼性と広域分散・拡張性の双方を実現することが可能となる。
以下、図面を参照して、本発明の実施の形態について説明する。
本発明の実施の形態では、ラベルスイッチングネットワークに関する標準化された技術の特徴を利用し、上記相反する要求である、高速化・高信頼性と広域分散・拡張性、更には、高可用性をも実現するリソース検索システムを実現する。その実現のためには、例えば次のような技術を採用する。なお、それらの詳細については後で述べる。
・広域分散処理を前提にした高速スイッチングネットワーク技術
・明示的なLSP生成、及び、それらへのリソース割り当て技術
・LSPの冗長構成技術
・高速リルート技術
まず、各実施形態に共通する事項について説明する。
[ラベルスイッチングネットワークの概要]
最初に、本発明の各実施形態に適用するラベルスイッチングネットワーク(MPLS:マルチプロトコルラベルスイッチング)で使用される用語について説明する。なお、これらは一般的なものにより、詳細には言及しない。
・FEC(Forwarding Equivalence Class)
同一の転送処理が行なわれるべきパケット群が属すクラス。例えば、IPパケットの場合、同じプレフィックス(ネットワークアドレス)を持つパケット群は、同じFECに属す可能性がある。
・LSP(Label Switched Path)
Ingressノード、Egressノード、及び、それらの間の中間ノード群で構成されるスイッチングパスで、同じFECに属すパケット群が辿るパスである。
・NHLFE(Next Hop Label Forwarding Entry)
LSR(後述)がラベルに基づきスイッチング処理を行なう時に、ラベル操作(下記スワップ、プッシュ、ポップ参照)、出力インタフェース(次ホップ)の決定等を行なうためのエントリである。
・FTN(FEC to NHLFE Map)
FECとNHLFEのマッピングを保持し、Ingressノードが、受信したパケットの属性により決定したFECからNHLFEを特定するために使用する。
・ILM(Incoming Label Map)
入力ラベルとNHLFEのマッピングを保持し、ラベルスイッチングルータが、受信したパケットのラベル(入力ラベル)からNHLFEを特定するために使用する。
・LSR(Label Switching Router)
パケットに付与されたラベルの値に基づき、パケットのスイッチングを行なうルータ群で、その役割により、以下の3種類が存在する。
- イングレスノード(以下、Ingressノードと称す。)
LSPの入口に位置し、パケットの属性(例えば宛先アドレス)とFTNからNHLFEを特定し、その内容に基づき、パケットへのラベルのプッシュ処理、次ホップへのパケットの送信処理を行なう。
- イーグレスノード(以下、Egressノードと称す。)
LSPの出口に位置し、入力ラベルとILMからNHLFEを特定し、その内容に基づき、パケットからのラベルのポップ処理を行なった後、パケットの属性に基づいた処理を行なう(例えば、パケットがIPパケットであれば、IPヘッダの宛先アドレスに基づいた転送処理等を行なう)。
- それ以外
LSP上のIngressノード、Egressノード以外のLSRであり、入力ラベルとILMからNHLFEを特定し、その内容に基づき、ラベルのスワップ等の処理を行なった後、次ホップへのパケットの送信処理を行なう。
・ラベルスタック
ラベルは複数付与可能で、それらはスタック(ラストイン-ファーストアウト)を構成する。これをラベルスタックと呼ぶ。ラベルスタックのうち、最初に付与されたものをボトムラベル(ボトムレベルのラベル)と呼び、最後に付与されたものをトップラベル(トップレベルのラベル)と呼ぶ。
なお、上記LSPとは、同一レベルのラベルを処理するLSR群で構成されるパスのことであり、各レベル毎にLSPが存在し、それぞれのレベルのLSPでは、Ingressノード、Egressノードは異なるLSRとなる。つまり、ある(レベルの)LSPではIngressノードであるLSRは、他のレベル、例えば一つ下のレベルのLSPでは中間ノードであるかもしれない。
・ラベル操作
- プッシュ(push)
パケットにラベルを付与する
- スワップ(swap)
トップレベルのラベルを置き換える。
具体的には、入力ラベルをキーとしてNHLFEを特定し、その内容に従い、トップレベルのラベルを新しいラベル(出力ラベル)に置き換える。
- ポップ(pop)
トップレベルのラベルを取り除く。
- PHP(Penultimate Hop Popping)
Egressノードの一つ前のLSRにて、ポップ処理を行なう。
・上流ノード
あるLSPにて、Ingressノードを上流、Egressノードを下流とし、そのLSP上のある2つのLSRを考えた場合に、より上流側(Ingress ノードに近い)LSRが上流ノードである。
・下流ノード
上記と同様に、あるLSP上のある2つのLSRを考えた場合に、より下流側(Egressノードに近い)LSRが下流ノードである。
・LDP(Label Distribution Protocol)
LSR間で、スイッチングに使用するラベルその他情報を配布し、LSPを設定するためのプロトコル(シグナリングプロトコル)である。
なお、LDPとは、RFC5036で規定される特定のシグナリングプロトコルを意味する場合と、その他シグナリングプロトコル(例えばRSVP−TE等)を含め、シグナリングプロトコル全般のことを指し示す場合とがある。
本明細書では、特に明記しないかぎり、LDPと記載した場合は、シグナリングプロトコル全般のことを意味することとする。
図1は、ラベルスイッチングネットワークの一般的な構成の一例を示す図である。なお、これは一般的なものであるため、詳細には言及せず、簡単な説明だけに留める。
同図に示されるラベルスイッチングネットワーク100は、各種のLSR群として、Ingressノード、Egressノード、それ以外のノードを複数台含んでいる。
例えば、LSR「A」は、パケットを受信すると、そのパケットのトップラベルが「10」であれば、ILM(入力ラベルとNHLFEとのマッピング)に基づいて「NHLFE0」を特定し、その内容に基づき、トップラベル「10」を新しいラベル「11」に置き換えるスワップ処理を行い、LSR「A」(自分自身)へパケットを出力する。また、LSR「A」は、パケットの属性(宛先IPアドレスなど)からFEC「B/32」を判定し、これよりFTN(FECとNHLFEとのマッピング)に基づいて「NHLFE1」を特定し、その内容に基づき、パケットへのラベル「101」のプッシュ処理を行い、次ホップであるLSR「C」へパケットを送信する。
また、LSR「B」は、例えばLSR「C」からパケットを受信すると、そのパケットのトップラベルが「102」であれば、ILM(入力ラベルとNHLFEとのマッピング)に基づいて「NHLFE0」を特定し、その内容に基づき、トップラベル「102」のポップ処理を行い、次ホップであるLSR「B」(自分自身)へパケットを送信する。さらに、LSR「B」は、パケットのトップラベルが「11」であれば、ILM(入力ラベルとNHLFEとのマッピング)に基づいて「NHLFE1」を特定し、その内容に基づき、トップラベル「11」をPHP処理し、次ホップであるLSR「F」へパケットを送信する。
[第1の実施形態]
図2に、本発明の第1の実施形態に係るリソース検索システムの構成の一例を示す。
リソース検索システムは、クライアントアクセスネットワーク11、フロントエンドネットワーク12、バックエンドネットワーク13、リソースアクセスネットワーク14、ラベルスイッチングネットワーク100などの各種のネットワークを有するほか、これらのネットワークを構成するクライアント15、フロントエンドサーバ16、Ingressノード17、Egressノード18、中間ノード19、バックエンドサーバ20、リソース保持装置21などの各種の情報処理装置もしくは機能要素を有する。
この例では、フロントエンドサーバ16−バックエンドサーバ20間にあるラベルスイッチングネットワーク100が、Ingressノード17、Egressノード18、及び、4段の中間ノード19で構成されるが、これは、リソース識別子の分割方法(詳細は後述)に依存するものであり、ここに示す構成に限定されるものではない。
一般的に、リソース識別子をN個のフィールドに分割した場合、ラベルスイッチングネットワーク100は、Ingressノード17、Egressノード18、及び、N段の中間ノード19で構成されることになる。
また、図3〜図6に、同システムに含まれるフロントエンドサーバ16、Ingressノード17、Egressノード18、バックエンドサーバ20の構成の一例をそれぞれ示す。
以下、図2〜図6を参照して、リソース検索システムを構成する要素11〜21について説明する。
・「クライアントアクセスネットワーク11」
クライアントアクセスネットワーク11は、クライアント15−フロントエンドサーバ16間の通信手段を提供する。なお、通信手段の例としては、以下のようなものが想定されるが、具体的手段は本実施形態の特徴的な部分ではないため、詳細は割愛し、以後、IPネットワークの使用を前提とする。
- データリンク層プロトコル
イーサネット(登録商標)、PPP等。
- ネットワーク層/トランスポート層プロトコル
TCP/IP等。
- ストレージ用バス
FC、SCSI、SAS、ATA、SATA等。
- その他、デバイス用接続バス
PCI、PCI-Express、InfiniBand等。
- その他
・「フロントエンドネットワーク12」
フロントエンドネットワーク12は、フロントエンドサーバ16−Ingressノード17間の通信手段を提供する。通信手段の例としては、上記クライアントアクセスネットワーク11で使用される通信手段と同様な例に加え、OSが提供するプロセス間通信、共有メモリ、共有ファイル等が考えられる。これらは、フロントエンドサーバ16とIngressノード17が同一マシン上で動作している場合に使用が想定されるものである。これらについても、具体的手段は本実施形態の特徴的な部分ではないため、詳細は割愛し、以後、IPネットワークの使用を前提とする。
・「バックエンドネットワーク13」
バックエンドネットワーク13は、Egressノード18−バックエンドサーバ20間の通信手段を提供する。通信手段の例としては、上記クライアントアクセスネットワーク11、或いは、上記フロントエンドネットワーク12で使用される通信手段の例と同様である。特に後者は、Egressノード18とバックエンドサーバ20が同一マシン上で動作している場合に使用が想定されるものである。これらについても、具体的手段は本実施形態の特徴的な部分ではないため、詳細は割愛し、以後、IPネットワークの使用を前提とする。
・「リソースアクセスネットワーク14」
リソースアクセスネットワーク14は、バックエンドサーバ20がリソース保持装置21にアクセスする手段を提供する。具体的な通信手段としては、アクセスするリソースの種類に依存するが、代表的なものとして以下のものが挙げられる。
- ストレージ用バス
FC、SCSI、SAS、ATA、SATA等。
リソースがブロックデバイス(ストレージデバイス)の場合に使用。
- FSB等のメモリアクセスに使用されるバス
リソースがメモリの場合に使用。
- その他、デバイス用接続バス
PCI、PCI-Express、InfiniBand等。
- その他
・「クライアント15」
クライアント15は、クライアントアクセスネットワーク11により、リソース検索要求をフロントエンドサーバ16に送信し、また、フロントエンドサーバ16からリソース検索結果を受信する。フロントエンドサーバ16との通信手段(クライアントアクセスネットワーク11)の例としては、上記の通り各種のものが挙げられるが、本実施形態では、広く使用されているTCP/IPベースのネットワークの使用を前提とする。
・「フロントエンドサーバ16」
フロントエンドサーバ16は、本実施形態の特徴的な部分である。このフロントエンドサーバ16は、図3に示されるように、クライアントアクセスネットワーク送受信処理部161、フロントエンドネットワーク送受信処理部162、リソース検索要求処理部163、リソース検索結果処理部164、リソースキャッシュ部165などの機能を有する。これら機能161〜165の概要を以下に示す。
- クライアントアクセスネットワーク送受信処理部161
クライアントアクセスネットワーク送受信処理部161は、クライアントアクセスネットワーク11を介して、クライアント15との通信(リソース検索要求の受信、リソース検索結果の送信)を行なう。このクライアントアクセスネットワーク送受信処理部161は、クライアントアクセスネットワーク11で使用される通信プロトコルに依存する処理を他機能要素から隠蔽する。
- フロントエンドネットワーク送受信処理部162
フロントエンドネットワーク送受信処理部162は、リソース検索要求処理部163により変換されたリソース検索要求をIngressノード17に送信する。Ingressノード17が複数存在する場合には、ラウンドロビン、その他のアルゴリズムを使用し、クライアント15からのリソース検索要求を各Ingressノード17に振り分ける(負荷分散する)処理も行なう。
- リソース検索要求処理部163
リソース検索要求処理部163は、クライアント15からのリソース検索要求をラベルスイッチングネットワーク100が解釈可能な形式に変換する。また、このリソース検索要求処理部163は、リソース検索要求とリソース検索結果のマッチングに必要な情報をリソースキャッシュ部165に保存する。なお、Ingressノード17は、フロントエンドサーバ16と同一マシン上で動作することも可能であり、この場合、ここでの変換処理に影響が出てくる。これに関しては、後で説明する。
- リソース検索結果処理部164
リソース検索結果処理部164は、フロントエンドネットワーク12を介してラベルスイッチングネットワーク100から受信したリソース検索結果を、クライアントアクセスネットワーク11によりクライアント15に送信する。また、このリソース検索結果処理部164は、受信したリソース検索結果をリソースキャッシュ部165に保存する。
- リソースキャッシュ部165
リソースキャッシュ部165は、リソース検索要求に含まれるクライアント15のIPアドレス、リソース識別子を保持し、リソース検索結果とのマッチングに使用する。また、このリソースキャッシュ部165は、バックエンドサーバ20からのリソース検索結果、つまり、リソースを保持し、キャッシュとして使用する。
・「Ingressノード17」
Ingressノード17は、下流ノード、つまり、中間ノード19とLDPメッセージをやりとりし、FTN、NHLFEの設定を行なう。また、このIngressノード17は、上流ノードからのパケットを、FTN、NHLFEの内容に従い、ラベル処理(プッシュ等)後、次ホップへ送信する。なお、一般的なラベルスイッチングネットワークでは、Ingressノード17はLSPの入口のLSRを指すが、ここでは、ラベルスイッチングネットワークの入口のノードを指すこととする。
上記Ingressノード17は、図4に示されるように、フロントエンドネットワーク送受信処理部171、ラベルスイッチングネットワーク送受信処理部172、ラベルスイッチング処理部173、ルーティングプロトコル処理部174などの機能を有する。これら機能171〜174の概要を以下に示す。
- フロントエンドネットワーク送受信処理部171
フロントエンドネットワーク送受信処理部171は、フロントエンドサーバ16との通信処理を行なう。フロントエンドネットワーク12のプロトコル依存の処理を他のモジュールから隠蔽することが主たる役割となる。
- ラベルスイッチングネットワーク送受信処理部172
ラベルスイッチングネットワーク送受信処理部172は、中間ノード19との通信処理を行なう。ラベルスイッチングネットワーク100のプロトコル依存の処理を他のモジュールから隠蔽することが主たる役割となる。
- ラベルスイッチング処理部173
ラベルスイッチング処理部173は、ラベルスイッチング処理を行なう。詳細は後述する。
- ルーティングプロトコル処理部174
ルーティングプロトコル処理部174は、中間ノード19との経路情報のやりとり等を行なう。
・「Egressノード18」
Egressノード18は、上流ノード、つまり、中間ノード19とLDPメッセージをやりとりし、ILM/NHLFEの設定を行なう。また、上流ノードからのパケットを、ILM/NHLFEの内容に従い、ラベル処理(ポップ等)後、次ホップへ送信する。なお、一般的なラベルスイッチングネットワークでは、Egressノード18はLSPの出口のLSRを指すが、ここでは、ラベルスイッチングネットワークの出口のノードを指すこととする。
上記Egressノード18は、図5に示されるように、ラベルスイッチングネットワーク送受信処理部181、バックエンドネットワーク送受信処理部182、ラベルスイッチング処理部183、ルーティングプロトコル処理部184などの機能を有する。これら機能181〜184の概要を以下に示す。
- ラベルスイッチングネットワーク送受信処理部181
ラベルスイッチングネットワーク送受信処理部181は、中間ノード19との通信処理を行なう。ラベルスイッチングネットワーク100のプロトコル依存の処理を他のモジュールから隠蔽することが主たる役割となる。
- バックエンドネットワーク送受信処理部182
バックエンドネットワーク送受信処理部182は、バックエンドサーバ20との通信処理を行なう。バックエンドネットワーク13のプロトコル依存の処理を他のモジュールから隠蔽することが主たる役割となる。
- ラベルスイッチング処理部183
ラベルスイッチング処理部183は、ラベルスイッチング処理を行なう。詳細は後述する。
- ルーティングプロトコル処理部184
ルーティングプロトコル処理部184は、中間ノード19、バックエンドサーバ20との経路情報のやりとり等を行なう。
・「中間ノード19」
中間ノード19は、下流ノード、つまり、より下流の中間ノード或いはEgressノード18、及び、上流ノード、つまり、より上流の中間ノード或いはIngressノード17とLDPメッセージをやりとりし、ILM/NHLFEの設定を行なう。また、中間ノード19は、上流ノードからのパケットを、ILM/NHLFEの内容に従い、ラベル処理(スワップ等)後、次ホップへ送信する。
上記中間ノード19は、図示しないラベルスイッチングネットワーク送受信処理部191、ラベルスイッチング処理部193、ルーティングプロトコル処理部194など(Ingressノード17やEgressノード18の中にあるものと同等の機能)を有するが、これらは本実施形態の特徴的な部分ではないため、詳細は割愛する。そのほか、図示しない構成情報管理部を有するが、これについては後で述べる。
なお、一般的なラベルスイッチングネットワークでは、LSPの入口、出口をそれぞれIngressノード17、Egressノード18と定義するため、場合によっては、ここでの中間ノード19がIngressノード17、Egressノード18となる(LSPの入口、或いは、出口になる)場合が考えられるが、ここでは、前述したIngressノード17及びEgressノード18の間のLSRを中間ノード19とする。
・「バックエンドサーバ20」
バックエンドサーバ20は、フロントエンドサーバ16とともに、本実施形態の特徴的な部分である。このバックエンドサーバ20は、図6に示されるように、バックエンドネットワーク送受信処理部201、リソースアクセスネットワーク送受信処理部202、リソース検索要求処理部203、リソース検索結果処理部204、リソースキャッシュ部205などの機能を有する。これら機能201〜205の概要を以下に示す。そのほか、図示しない構成情報管理部を有するが、これについては後で述べる。
- バックエンドネットワーク送受信処理部201
バックエンドネットワーク送受信処理部201は、Egressノード18との通信処理を行なう。バックエンドネットワーク13のプロトコル依存の処理を他のモジュールから隠蔽することが主たる役割となる。
- リソースアクセスネットワーク送受信処理部202
リソースアクセスネットワーク送受信処理部202は、リソースアクセスネットワーク14を介して、リソース保持装置21との通信を行なう。リソースアクセスネットワーク14で使用される通信プロトコルに依存する処理を他のモジュールから隠蔽することが主たる役割となる。
- リソース検索要求処理部203
リソース検索要求処理部203は、リソース検索要求とリソース検索結果のマッチングに必要な情報をリソースキャッシュ部205に渡す。
- リソース検索結果処理部204
リソース検索結果処理部204は、検索、獲得したリソースからリソース検索結果を生成し、以下の処理を行なう。
1. リソース識別子をキーとしてリソースキャッシュ部205から対応するリソース検索要求の送信元IPアドレスを検索、獲得する。
2. 上記送信元IPアドレスをリソース検索結果の宛先IPアドレスに設定する。
3. リソース検索結果をバックエンドネットワーク送受信処理部201に渡す。
- リソースキャッシュ部205
リソースキャッシュ部205は、リソース検索要求の送信元IPアドレス、リソース検索要求に含まれるリソース識別子を保持し、リソース検索結果とのマッチングに使用する。また、検索、獲得したリソースの内容を保持し、キャッシュとして使用される。
- ルーティングプロトコル処理部(図示せず)
ルーティングプロトコル処理部は、Egressノード18との経路情報のやりとり等を行なう。
・「リソース保持装置21」
リソース保持装置21は、検索対象となるリソースを保持する。このリソース保持装置21は、バックエンドサーバ20からリソースアクセスネットワーク14によりアクセスされる。
次に、リソース識別子の分割方法、及び、分割後のそれぞれのフィールドの使用方法について説明する。
図7に、リソース識別子の分割の一例を示す。リソース識別子は48ビット長で、上位32ビットをラベルスイッチング識別子、下位16ビットをバックエンドサーバ内識別子とする。
ラベルスイッチング識別子は、リソースを格納するバックエンドサーバ20を識別するために使用されるが、本実施形態では、これを更にそれぞれ8ビットの4つのフィールドに分割し、これらのフィールドが、後に詳述する通り、ラベルスイッチングネットワーク100でのラベルスイッチング処理におけるFEC特定処理に使用される。
一方、バックエンドサーバ内識別子は、あるバックエンドサーバ20の中でのリソースの識別に使用される。
上記のリソース識別子のビット長(48ビット)、ラベルスイッチング識別子、バックエンドサーバ内識別子のビット長(それぞれ32ビット、16ビット)、更には、ラベルスイッチング識別子の分割数(4つ)、分割したフィールドのそれぞれのビット長(8ビット)は一例であり、これらの数値に限定されるものではなく、サポートするリソース数、バックエンドサーバ20のストレージ容量、ラベルスイッチングネットワーク100の構成規模などにより決定されるべきものである。
なお、一般的に、ラベルスイッチング識別子をN個のフィールドに分割した場合、ラベルスイッチングネットワーク100の中間ノード19がN段の構成となり、Ingressノード17でのリソース検索要求へのラベル付与時、ラベルスタックがN段となる(詳細は後述)。
以降、図7に示すようにリソース識別子を定義、分割した場合の、
・「運用開始時のシステム構築」
・「システム増設」
・「リソース検索」
のそれぞれについて順に詳細を説明し、最後に、リソース検索が失敗した場合の処理概要を説明する。
なお、以下の実施形態では、8ビット毎に4つのフィールドに分割した32ビットのラベルスイッチング識別子を、IPアドレス(IPプレフィックス)にマッピングし、それをFECと見なすことにより、経路情報の設定、LSPの設定、リソースの検索を行うが、これは、現状広く使用されているIPネットワークに関する既存技術を流用するためであり、本来はIPネットワーク技術、IPアドレスの使用に限定される性質のものではなく、ラベルスイッチング識別子を有効なFECとして定義可能な別の方法を採用することが可能である。
以下の説明では、48ビットのリソース識別子を便宜上、
hh.hh.hh.hh:hhhh
(hは16進数)
或いは、
n.n.n.n.hhhh
(nは0〜255の10進数、hは16進数)
と表記する。“.”で4つのフィールドに区切られている32ビット(“:”より左側部分)はラベルスイッチング識別子であり、“:”より右側部分の16ビットはバックエンドサーバ内識別子である。
また、中間ノードを、IngressノードからEgressノード方向の順に、それぞれレベル0、レベル1、レベル2、レベル3の中間ノードとし、各レベルの中間ノードを以下のように表記する。
中間ノードli j
ここで、lは0〜3、i,jは0〜255であり、jで識別されるレベルl−1のノードに収容されるi番目のレベルlのノードを表す。
例えば、
中間ノード2i j
は、jで識別されるレベルlの中間ノードに収容されているi番目のレベル2の中間ノードを表す。
なお、iはjで識別されるレベルl−1の中間ノードに収容されているレベルlの中間ノードを識別するためのものであり、中間ノードli 0と中間ノードli 1とは別のノードを表す。
また、レベル0の中間ノードは、単に中間ノード0iのように記す。
同様に、Egressノード、バックエンドサーバを以下のように表記する。
Egressノードi j、バックエンドサーバi j
ここで、i,jは0〜255であり、jで識別されるレベル3の中間ノードに収容されるi番目のEgressノード、及び、そのEgressノードに収容されるバックエンドサーバをそれぞれ表す。
上記と同様に、iはjで識別されるレベル3の中間ノードに収容されているEgressノード、バックエンドサーバを識別するためのものであり、例えば、Egressノードi 0とEgressノードi 1とは別のEgressノードを表す。
・「運用開始時のシステム構築」
システム運用開始時に想定されるリソース識別子の使用量に応じて、フロントエンドサーバ、LSR(Ingressノード、中間ノード、Egressノード)、バックエンドサーバを配置する。
ここでは、具体的に、リソース識別子がK.L.M.N:0000〜K.L.M.N:ffff(0〜216−1)の範囲のリソースをサポートするシステムを前提とする。
K、L、M、Nは、0〜255の間の定数値である。
この範囲をサポートするためには、図8に示すように、Ingressノード、各レベルの中間ノード、Egressノード、バックエンドサーバがそれぞれ1台ずつ必要となる(本実施形態での最小構成)。
なお、図8ではフロントエンドサーバが複数台存在するが、これは負荷分散、対障害性等を考慮した場合であり、機能的には1台でも問題は無い。
また、本実施形態では、サポートするリソース識別子の範囲を最小構成としたが、システム運用開始時からより広い範囲をサポートするように、同一レベルの中間ノードを複数、及び、それに応じた数のEgressノード、バックエンドサーバ等を設置することも可能である。
1. 経路情報の配信と設定
(a) レベル1の中間ノードの経路情報の配信と設定
i. 中間ノード1K 0の構成情報管理部は、自身がリソース識別子のK.00.00.00:0000〜K.ff.ff.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPプレフィックスK.0.0.0/8への経路を自身の経路表(後述)に設定する。また、中間ノード1K 0のルーティングプロトコル処理部は、K.0.0.0/8への経路を中間ノード00に配信する。
ii. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
iii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(b) レベル2の中間ノードの経路情報の配信と設定
i. 中間ノード2L Kの構成情報管理部は、自身がリソース識別子のK.L.00.00:0000〜K.L.ff.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPプレフィックスK.L.0.0/16への経路を自身の経路表(後述)に設定する。また、中間ノード2L Kのルーティングプロトコル処理部は、K.L.0.0/16への経路を中間ノード1K 0に配信する。
ii. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iii. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
iv. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(c) レベル3の中間ノードの経路情報の配信と設定
i. 中間ノード3M Lの構成情報管理部は、自身がリソース識別子のK.L.M.00:0000〜K.L.M.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPプレフィックスK.L.M.0/24への経路を自身の経路表(後述)に設定する。また、中間ノード3M Lのルーティングプロトコル処理部は、K.L.M.0/24への経路を中間ノード2L Kに配信する。
ii. 中間ノード2L Kのルーティングプロトコル処理部は、中間ノード3M Lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
iii. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iv. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
v. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(d) バックエンドサーバ(Egressノード)の経路情報の配信と設定
i. バックエンドサーバN Mの構成情報管理部は、自身がリソース識別子のK.L.M.N:0000〜K.L.M.N:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPプレフィックスK.L.M.N/32への経路を自身の経路表(後述)に設定する。また、バックエンドサーバN Mのルーティングプロトコル処理部は、K.L.M.N/32への経路をEgressノードN Mに配信する。
ii. EgressノードN Mのルーティングプロトコル処理部は、バックエンドサーバN Mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を中間ノード3M Lに配信する。
iii. 中間ノード3M Lのルーティングプロトコル処理部は、Egressノードから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード2L Kに配信する。
iv. 中間ノード2L Kのルーティングプロトコル処理部は、中間ノード3M Lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
v. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
vi. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
vii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
最終的に、EgressノードN M、中間ノード3M L、中間ノード2L K、中間ノード1K 0、中間ノード00、Ingressノードは、それぞれ、図9(a)〜(f)に示すような経路表を持つこととなる。これらが、以下のLSP設定時のFECとなる。
2. LSPの設定
LSPの設定は一般的な処理で、本実施形態の特徴的な部分ではないが、本実施形態の理解のため、ここで一通り説明することとする。
(a) EgressノードN MのLDPは、{FEC, 入力ラベル}={K.L.M.N/32, NULL}を中間ノード3M Lに通知するとともに、自身のILM/NHLFEを図10(a)のように設定する。
(b) 中間ノード3M LのLDPは、{FEC, 入力ラベル}={K.L.M.0/24, NULL}を中間ノード2L Kに、{FEC, 入力ラベル}={K.L.M.N/32, L3_0}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図10(b)のように設定する。
(c) 中間ノード2L KのLDPは、{FEC, 入力ラベル}={K.L.0.0/16, NULL}を中間ノード1K 0に、{FEC, 入力ラベル}={K.L.M.0/24, L2_1}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図10(c)のように設定する。
(d) 中間ノード1K 0のLDPは、{FEC, 入力ラベル}={K.0.0.0/8, NULL}を中間ノード00に、{FEC, 入力ラベル}={K.L.0.0/16, L1_2}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図10(d)のように設定する。
(e) 中間ノード00のLDPは、{FEC, 入力ラベル}={K.0.0.0/8, L0_3}をIngressノードに通知するとともに、自身のILM/NHLFEを図10(e)のように設定する。
(f) IngressノードのLDPは、中間ノード00、中間ノード1K 0、中間ノード2L K、中間ノード3M Lから受け取った情報を元に、自身のFTN、NHLFEを図10(f)のように設定する。
なお、ここでは、いわゆる“Downstream Unsolicited”モードによるLSPの設定を説明したが、他のモードによるものでも問題は無い。これらMPLSの一般的な内容により、ここでは詳細は割愛する。
・「システム増設」
- Egressノード、バックエンドサーバの増設
上記システム運用開始時では、サポートするリソース識別子の範囲はK.L.M.N:0000〜K.L.M.N:ffffであったが、これをK.L.M.n:0000〜K.L.M.n:ffff(n=0〜255、N以外)に拡大する必要が生じた場合について、機器増設に伴う処理の詳細を説明する。
1. 経路情報の配信と設定
(a) バックエンドサーバ(Egressノード)の経路情報の配信と設定
i. バックエンドサーバn Mの構成情報管理部は、自身がリソース識別子のK.L.M.n:0000〜K.L.M.n:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPプレフィックスK.L.M.n/32への経路を自身の経路表に設定する。また、バックエンドサーバのルーティングプロトコル処理部は、K.L.M.n/32への経路をEgressノードn Mに配信する。
ii. Egressノードn Mのルーティングプロトコル処理部は、バックエンドサーバn Mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を中間ノード3M Lに配信する。
iii. 中間ノード3M Lのルーティングプロトコル処理部は、Egressノードn Mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード2L Kに配信する。
iv. 中間ノード2L Kのルーティングプロトコル処理部は、中間ノード3M Lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
v. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
vi. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
vii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
2. LSPの設定
(a) Egressノードn MのLDPは、{FEC, 入力ラベル}={K.L.M.n/32, NULL}を中間ノード3M Lに通知するとともに、自身のILM/NHLFEを図11(a)のように設定する。
(b) 中間ノード3M LのLDPは、{FEC, 入力ラベル}={K.L.M.n/32, L3_n0}をIngressノードに通知するとともに、自身のILM/NHLFEを図11(b)のように設定する。
(c) IngressノードのLDPは、中間ノード3M Lから受け取った情報を元に、自身のFTN、NHLFEを図11(c)のように設定する。
- レベル3の中間ノード、Egressノード、バックエンドサーバの増設
上記Egressノードn M、バックエンドサーバn Mの増設によるシステム増設完了時点では、サポートするリソース識別子の範囲は最大K.L.M.00:0000〜K.L.M.ff:ffffであったが、これをK.L.00.00:0000〜K.L.m.ff:ffff(m=0〜255、M以外)に拡大する必要が生じた場合について、機器増設に伴う処理の詳細を説明する。
1. 経路情報の配信と設定
(a) レベル3の中間ノードの経路情報の配信と設定
i. 中間ノード3m Lの構成情報管理部は、自身がリソース識別子のK.L.m.00:0000〜K.L.m.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのK.L.m.0/24への経路を自身の経路表に設定する。また、中間ノード3m Lのルーティングプロトコル処理部は、K.L.m.0/24への経路を中間ノード2L Kに配信する。
ii. 中間ノード2L Kのルーティングプロトコル処理部は、中間ノード3m Lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
iii. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iv. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
v. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(b) バックエンドサーバ(Egressノード)の経路情報の配信と設定
上記中間ノード3m L(m=0〜255、M以外)に接続しているEgressノード、及び、そのEgressノードに接続しているバックエンドサーバについて説明する。
i. バックエンドサーバn m(n=0〜255)の構成情報管理部は、自身がリソース識別子のK.L.m.n:0000〜K.L.m.n:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのK.L.m.n/32への経路を自身の経路表に設定する。また、バックエンドサーバn mのルーティングプロトコル処理部は、K.L.m.n/32への経路をEgressノードn mに配信する。
ii. Egressノードn mのルーティングプロトコル処理部は、バックエンドサーバn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を中間ノード3m Lに配信する。
iii. 中間ノード3m Lのルーティングプロトコル処理部は、Egressノードn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード2L Kに配信する。
iv. 中間ノード2L Kのルーティングプロトコル処理部は、中間ノード3m Lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
v. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2L Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
vi. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
vii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
2. LSPの設定
(a) Egressノードn mのLDPは、{FEC, 入力ラベル}={K.L.m.n/32, NULL}を中間ノード3m Lに通知するとともに、自身のILM/NHLFEを図12(a)のように設定する。
(b) 中間ノード3m LのLDPは、{FEC, 入力ラベル}={K.L.m.0/24, NULL}を中間ノード2L Kに、{FEC, 入力ラベル}={K.L.m.n/32, L3_n1}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図12(b)のように設定する。
(c) 中間ノード2L KのLDPは、{FEC, 入力ラベル}={K.L.m.0/24, L2_m0}をIngressノードに通知するとともに、自身のILM/NHLFEを図12(c)のように設定する。
(d) IngressノードのLDPは、中間ノード2L K、中間ノード3m Lから受け取った情報を元に、自身のFTN、NHLFEを図12(d)のように設定する。
- レベル2/3の中間ノード、Egressノード、バックエンドサーバの増設
更に、K.00.00.00:0000〜K.l.ff.ff:ffff(l=0〜255、L以外)に拡大する必要が生じた場合について、機器増設に伴う処理の詳細を説明する。
1. 経路情報の配信と設定
(a) レベル2の中間ノードの経路情報の配信と設定
i. 中間ノード2l Kの構成情報管理部は、自身がリソース識別子のK.l.00.00:0000〜K.l.ff.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのK.l.0.0/16への経路を自身の経路表に設定する。また、中間ノード2l Kのルーティングプロトコル処理部は、K.l.0.0/16への経路を中間ノード1K 0に配信する。
ii. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2l Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iii. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
iv. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(b) レベル3の中間ノードの経路情報の配信と設定
上記中間ノード2l Kに接続しているレベル3の中間ノードについて説明する。
i. 中間ノード3m l(m=0〜255)の構成情報管理部は、自身がリソース識別子のK.l.m.00:0000〜K.l.m.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのK.l.m.0/24への経路を自身の経路表に設定する。また、中間ノード3m lのルーティングプロトコル処理部は、K.l.m.0/24への経路を中間ノード2l Kに配信する。
ii. 中間ノード2l Kのルーティングプロトコル処理部は、中間ノード3m lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
iii. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2l Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iv. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
v. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(c) バックエンドサーバ(Egressノード)の経路情報の配信と設定
上記中間ノード3m lに接続しているEgressノード、及び、そのEgressノードに接続しているバックエンドサーバについて説明する。
i. バックエンドサーバn m(n=0〜255)の構成情報管理部は、自身がリソース識別子のK.l.m.n:0000〜K.l.m.n:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのK.l.m.n/32への経路を自身の経路表に設定する。また、バックエンドサーバn mのルーティングプロトコル処理部は、K.l.m.n/32への経路をEgressノードn mに配信する。
ii. Egressノードn mのルーティングプロトコル処理部は、バックエンドサーバn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を中間ノード3m lに配信する。
iii. 中間ノード3m lのルーティングプロトコル処理部は、Egressノードn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード2l Kに配信する。
iv. 中間ノード2l Kのルーティングプロトコル処理部は、中間ノード3m lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1K 0に配信する。
v. 中間ノード1K 0のルーティングプロトコル処理部は、中間ノード2l Kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
vi. 中間ノード00のルーティングプロトコル処理部は、中間ノード1K 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
vii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
2. LSPの設定
(a) Egressノードn mのLDPは、{FEC, 入力ラベル}={K.l.m.n/32, NULL}を中間ノード3m lに通知するとともに、自身のILM/NHLFEを図13(a)のように設定する。
(b) 中間ノード3m lのLDPは{FEC, 入力ラベル}={K.l.m.0/24, NULL}を中間ノード2l Kに、{FEC, 入力ラベル}={K.l.m.n/32, L3_n2}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図13(b)のように設定する。
(c) 中間ノード2l KのLDPは、{FEC, 入力ラベル}={K.l.0.0/16, NULL}を中間ノード1K 0に、{FEC, 入力ラベル}={K.l.m.0/24, L2_m1}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図13(c)のように設定する。
(d) 中間ノード1K 0のLDPは、{FEC, 入力ラベル}={K.l.0.0/16, L1_l0}をIngressノードに通知するとともに、自身のILM/NHLFEを図13(d)のように設定する。
(e) IngressノードのLDPは、中間ノード1K 0、中間ノード2l K、中間ノード3m lから受け取った情報を元に、自身のFTN、NHLFEを図13(e)のように設定する。
- レベル1/2/3の中間ノード、Egressノード、バックエンドサーバの増設
更に、00.00.00.00:0000〜k.ff.ff.ff:ffff(k=0〜255、K以外)に拡大する必要が生じた場合について、機器増設に伴う処理の詳細を説明する。
1. 経路情報の配信と設定
(a) レベル1の中間ノードの経路情報の配信と設定
i. 中間ノード1k 0の構成情報管理部は、自身がリソース識別子のk.00.00.00:0000〜k.ff.ff.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのk.0.0.0/8への経路を自身の経路表に設定する。また、中間ノード1k 0のルーティングプロトコル処理部は、k.0.0.0/8への経路を中間ノード00に配信する。
ii. 中間ノード00のルーティングプロトコル処理部は、中間ノード1k 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
iii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(b) レベル2の中間ノードの経路情報の配信と設定
上記中間ノード1k 0に接続しているレベル2の中間ノードについて説明する。
i. 中間ノード2l k(l=0〜255)の構成情報管理部は、自身がリソース識別子のk.l.00.00:0000〜k.l.ff.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのk.l.0.0/16への経路を自身の経路表に設定する。また、中間ノード2l kのルーティングプロトコル処理部は、k.l.0.0/16への経路を中間ノード1k 0に配信する。
ii. 中間ノード1k 0のルーティングプロトコル処理部は、中間ノード2l kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iii. 中間ノード00のルーティングプロトコル処理部は、中間ノード1k 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
iv. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(c) レベル3の中間ノードの経路情報の配信と設定
上記中間ノード2l kに接続しているレベル3の中間ノードについて説明する。
i. 中間ノード3m l(m=0〜255)の構成情報管理部は、自身がリソース識別子のk.l.m.00:0000〜k.l.m.ff:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのk.l.m.0/24への経路を自身の経路表に設定する。また、中間ノード3m lのルーティングプロトコル処理部は、k.l.m.0/24への経路を中間ノード2l kに配信する。
ii. 中間ノード2l kのルーティングプロトコル処理部は、中間ノード3m lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1k 0に配信する。
iii. 中間ノード1k 0のルーティングプロトコル処理部は、中間ノード2l kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
iv. 中間ノード00のルーティングプロトコル処理部は、中間ノード1k 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
v. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
(d) バックエンドサーバ(Egressノード)の経路情報の配信と設定
上記中間ノード3m lに接続しているEgress、及び、そのEgressノードに接続しているバックエンドサーバについて説明する。
i. バックエンドサーバn m(n=0〜255)の構成情報管理部は、自身がリソース識別子のk.l.m.n:0000〜k.l.m.n:ffffの範囲のリソースをサポートする必要があるので、ラベルスイッチング識別子部分をIPアドレスにマッピングした結果、IPのk.l.m.n/32への経路を自身の経路表に設定する。また、バックエンドサーバn mのルーティングプロトコル処理部は、k.l.m.n/32への経路をEgressノードn mに配信する。
ii. Egressノードn mのルーティングプロトコル処理部は、バックエンドサーバn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を中間ノード3m lに配信する。
iii. 中間ノード3m lのルーティングプロトコル処理部は、Egressノードn mから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード2l kに配信する。
iv. 中間ノード2l kのルーティングプロトコル処理部は、中間ノード3m lから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード1k 0に配信する。
v. 中間ノード1k 0のルーティングプロトコル処理部は、中間ノード2l kから受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約し中間ノード00に配信する。
vi. 中間ノード00のルーティングプロトコル処理部は、中間ノード1k 0から受け取った上記経路情報を自身の経路表に反映するとともに、その情報を集約しIngressノードに配信する。
vii. Ingressノードのルーティングプロトコル処理部は、中間ノード00から受け取った上記経路情報を自身の経路表に反映する。
2. LSPの設定
(a) Egressノードn mのLDPは、{FEC, 入力ラベル}={k.l.m.n/32, NULL}を中間ノード3m lに通知するとともに、自身のILM/NHLFEを図14(a)のように設定する。
(b) 中間ノード3m lのLDPは{FEC, 入力ラベル}={k.l.m.0/24, NULL}を中間ノード2l kに、{FEC, 入力ラベル}={k.l.m.n/32, L3_n3}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図14(b)のように設定する。
(c) 中間ノード2l kのLDPは、{FEC, 入力ラベル}={k.l.0.0/16, NULL}を中間ノード1k 0に、{FEC, 入力ラベル}={k.l.m.0/24, L2_m2}をIngressノードに、それぞれ通知するとともに、自身のILM/NHLFEを図14(c)のように設定する。
(d) 中間ノード1k 0のLDPは、{FEC, 入力ラベル}={k.0.0.0/8, NULL}を中間ノード00に、{FEC, 入力ラベル}={k.l.0.0/16, L1_l1}をIngressノードに通知するとともに、自身のILM/NHLFEを図14(d)のように設定する。
(e) 中間ノード00のLDPは、{FEC, 入力ラベル}={k.0.0.0/8, L0_k0}をIngressノードに通知するとともに、自身のILM/NHLFEを図14(e)のように設定する。
(f) IngressノードのLDPは、中間ノード00、中間ノード1k 0、中間ノード2l k、中間ノード3m lから受け取った情報を元に、自身のFTN、NHLFEを図14(f)のように設定する。
- Ingressノード、レベル0の中間ノードの増設
リソース識別子の全範囲をサポートするためには、上記の通り、Ingressノード、及び、レベル0の中間ノードは1台のまま、レベル1、レベル2、レベル3の中間ノード、Egressノード、バックエンドサーバを増設すれば良い。
ただし、このような構成では、Ingressノード、レベル0の中間ノードが性能上のボトルネックとなり得る。そこで、これらを増設することで、性能上のボトルネックを回避することが可能である。
この場合、レベル1の中間ノードが、増設されたレベル0の中間ノード(中間ノード0j、j=1以上の整数)に対して、経路情報の配信、LSPの設定を行なう。
その結果、例えば図15のような構成となり、レベル1の中間ノード1k jが、複数のレベル0の中間ノード0jからのラベルの“マージポイント”となる。
また、図16に示すように、Ingressノードとレベル0の中間ノード間も複数LSP構成にすることも同様に可能である。
なお、このようなマージポイントを作成することは、Ingressノード−レベル0の中間ノード−レベル1の中間ノード間以外でも可能であり、あるリソースへの冗長経路を確立することとなり、対障害性を高めることが可能である。
・「リソース検索」
上記設定されたLSPを使用したリソース検索処理について説明する。
システム全体のリソース検索処理の中でも、特に本実施形態の特徴的な部分であるフロントエンドサーバ16及びバックエンドサーバ20におけるリソース検索処理シーケンスの一例を図17及び図18に示す。図17(a),(b)は、それぞれ、フロントエンドサーバ16内のリソース検索要求処理部163によるリソース検索要求処理と、リソース検索結果処理部164によるリソース検索結果処理とを示している。一方、図18(a),(b)は、それぞれ、バックエンドサーバ20内のリソース検索要求処理部203によるリソース検索要求処理と、リソース検索結果処理部204によるリソース検索結果処理とを示している。
以下、LSR(Ingressノード、中間ノード、Egressノード)におけるデータの送受信は、特に言及しない限り、該当するノードのフロントエンドネットワーク送受信処理部、ラベルスイッチングネットワーク送受信処理部、バックエンドネットワーク送受信処理部にて行ない、ラベルスイッチング処理はラベルスイッチング処理部が行なう。更に、LSRにおける“ラベル処理”(プッシュ等)、“出力”処理は、IPパケット、ラベル付けされたパケットに対するものである。
リソース検索処理は、以下の手順1〜10からなる。
1. クライアント15は、クライアントアクセスネットワーク11にて接続されているフロントエンドサーバ16にリソース検索要求を送信する。図19に示すように、宛先IPアドレスはフロントエンドサーバ16のIPアドレスであり、リソース検索要求をIPパケットにて送信する。リソース検索要求に格納するリソース識別子は、“k.l.m.n:OFFSET”(k,l,m,n=0〜255, OFFSET=0x0000〜0xffff)である。
2. フロントエンドサーバ16は、クライアントアクセスネットワーク11にて接続されているクライアント15からリソース検索要求を受信すると(図17(a)中のステップS11)、以下の処理を行なう。
(a) クライアントアクセスネットワーク送受信処理部161は、クライアントアクセスネットワーク11を介してクライアント15からリソース検索要求を受信すると、それをリソース検索要求処理部163へ渡す。
(b) リソース検索要求処理部163は、クライアントアクセスネットワーク送受信処理部161からリソース検索要求を受け取ると、リソース検索要求のリソース識別子を検索キーとして、リソースキャッシュ部165に該当リソースがあるかどうか問い合わせ(ステップS12)、その結果に応じて以下の処理を行なう。
- リソース検索要求のリソース識別子で識別されるリソースがリソースキャッシュ部165にある場合(ステップS12のYES)
i. リソースキャッシュ部165が保持しているリソースをリソース検索結果に格納し、クライアントアクセスネットワーク送受信処理部161に渡す(ステップS13)。
- リソース検索要求のリソース識別子で識別されるリソースがリソースキャッシュ部165にない場合(ステップS12のNO)
i. リソース検索要求の送信元IPアドレス、及び、リソース識別子をリソースキャッシュ部165に登録する(ステップS14)。
ii. リソース検索要求に格納されているリソース識別子のラベルスイッチング識別子、“k.l.m.n”をIPアドレスと見なし、リソース検索要求の宛先IPアドレスに設定する(ステップS15)。
iii. 自身のIPアドレスをリソース検索要求の送信元IPアドレスに設定する(ステップS16)。
iv. 上記設定したリソース検索要求をフロントエンドネットワーク送受信処理部162に渡す。
(c) フロントエンドネットワーク送受信処理部162は、リソース検索要求処理部163からリソース検索要求を受け取ると、それをフロントエンドネットワーク12により、Ingressノード17へ送信する(ステップS17)。
(d) クライアントアクセスネットワーク送受信処理部161は、リソース検索要求処理部163からリソース検索結果を受け取ると、それをクライアントアクセスネットワーク11により、クライアント15へ送信する。
3. Ingressノード17のラベルスイッチング処理部173は、フロントエンドサーバ16からリソース検索要求を受信すると、以下の処理を行なう。
(a) リソース検索要求の宛先IPアドレス“k.l.m.n”、及び、FTNから、当該IPパケットがFEC“k.l.m.n/32”に属すと判定し、NHLFEの内容に基づき、ラベルL3_n3をプッシュし、自分自身へ出力する。
(b) 再度、FTNの設定により、該当IPパケットがFEC”k.l.m.0/24”に属すと判定しNHLFEの内容に基づき、ラベルL2_m2をプッシュし、自分自身へ出力する。
(c) 同様に、FTNの設定により、該当IPパケットがFEC”k.l.0.0/16”に属すと判定しNHLFEの内容に基づき、ラベルL1_l1をプッシュし、自分自身へ出力する。
(d) 同様に、FTNの設定により、該当IPパケットがFEC”k.0.0.0/8”に属すと判定しNHLFEの内容に基づき、ラベルL0_k0をプッシュし、中間ノード00が接続されているポートへ出力する。この時点でのラベル付けされたパケット(ラベルスタックの状態)は図20のようになっている。
4. 中間ノード00は、Ingressノードから上記ラベル付けされたパケットを受信すると、ILM/NHLFEの内容に基づき、トップレベルのラベルL0_k0をポップし、中間ノード1k 0が接続されているポートへ出力する。
5. 中間ノード00に収容される中間ノード1k 0は、中間ノード00から上記ラベル付けされたパケットを受信すると、ILM/NHLFEの内容に基づき、トップレベルのラベルL1_l1をポップし、中間ノード2l kが接続されているポートへ出力する。
6. 中間ノード1k 0に収容される中間ノード2l kは、中間ノード1k 0から上記ラベル付けされたパケットを受信すると、ILM/NHLFEの内容に基づき、トップレベルのラベルL2_m2をポップし、中間ノード3m lに収容される中間ノード3m lが接続されているポートへ出力する。
7. 中間ノード2l kに収容される中間ノード3m lは、中間ノード2l kから上記ラベル付けされたパケットを受信すると、ILM/NHLFEの内容に基づき、トップレベルのラベルL3_n3をポップし、Egressノードn mが接続されているポートへ出力する。
8. 中間ノード3m lに収容されるEgressノードn mは、中間ノード3m lから上記ラベルが除去されたパケットを受信すると、それを自身と接続しているバックエンドサーバn mへ送信する。
9. 上記バックエンドサーバn mは、上記Egressノードn mから上記IPパケット、すなわち、リソース検索要求を受信すると(図18(a)中のステップS31)、以下の処理を行なう。
(a) バックエンドネットワーク送受信処理部182は、リソース検索要求を受信すると、それをリソース検索要求処理部203へ渡す。
(b) リソース検索要求処理部203は、バックエンドネットワーク送受信処理部201からリソース検索要求を受け取ると、リソース検索要求のリソース識別子を検索キーとして、リソースキャッシュ部205に該当リソースがあるかどうか問い合わせ(ステップS32)、その結果に応じて以下の処理を行なう。
- リソース検索要求のリソース識別子で識別されるリソースがリソースキャッシュ部205にある場合(ステップS32のYES)
i. リソースキャッシュ部205が保持しているリソースをリソース検索結果に格納し、バックエンドネットワーク送受信処理部201に渡す(ステップS33)。
- リソース検索要求のリソース識別子で識別されるリソースがリソースキャッシュ部205にない場合(ステップS32のNO)
i. リソース検索要求の送信元IPアドレス、及び、リソース識別子をリソースキャッシュ部205に登録する(ステップS34)。
ii. リソース検索要求をリソースアクセスネットワーク送受信処理部202に渡す。
(c) リソースアクセスネットワーク送受信処理部202は、リソース検索要求処理部203からリソース検索要求を受け取ると、それに格納されているリソース識別子のバックエンドサーバ内識別子をキーとして、リソースを検索、獲得し(ステップS35)、その結果をリソース検索結果に格納し、リソース検索結果処理部204に渡す(ステップS36)。図21にリソース検索結果の詳細を示す。
(d) リソース検索結果処理部204は、リソースアクセスネットワーク送受信処理部202からリソース検索結果を受け取ると(図18(b)中のステップS41)、以下の処理を行なう。
i. リソース検索結果のリソース識別子とリソースをリソースキャッシュ部205に保存する。
ii. リソース検索結果のリソース識別子をキーとしてリソースキャッシュ部205から対応するリソース検索要求の送信元IPアドレスを検索、獲得する(ステップS42)。
iii. 上記送信元IPアドレスをリソース検索結果の宛先IPアドレスに設定する(ステップS43)。
iv. リソース検索結果をバックエンドネットワーク送受信処理部201に渡す。
(e) バックエンドネットワーク送受信処理部201は、リソース検索結果処理部204或いはリソース検索要求処理部203からリソース検索結果を受け取ると、以下のいずれかの方法により、リソース検索結果をフロントエンドサーバ16へ送信する(ステップS44)。
- リソース検索結果送信用専用ネットワークが存在する場合
バックエンドサーバn mは、専用ネットワークで使用されるプロトコルに従い、フロントエンドサーバ16にリソース検索結果を送信する。
- リソース検索結果送信用専用ネットワークが存在しない場合
* ラベルスイッチングネットワーク100がIPパケットを転送可能な場合
バックエンドサーバn mは、ラベルスイッチングネットワーク100をIPネットワークと見なし、IPレベルで直接フロントエンドサーバ16にリソース検索結果を送信する(宛先IPアドレスとしてフロントエンドサーバ16のIPアドレスを指定する)。
* ラベルスイッチングネットワーク100がIPパケットを転送不可の場合
バックエンドサーバn mが接続するEgressノードn mと、フロントエンドサーバ16が接続するIngressノード17間に別途LSPを生成し、バックエンドサーバn mはそのLSPを使用してフロントエンドサーバ16にリソース検索結果を送信する。
10. フロントエンドサーバ16は、上記バックエンドサーバn mからリソース検索結果を受信すると(図17(b)中のステップS21)、以下の処理を行なう。
(a) フロントエンドネットワーク送受信処理部は、リソース検索結果を受信すると、それをリソース検索結果処理部へ渡す。
(b) リソース検索結果処理部は、フロントエンドネットワーク送受信処理部からリソース検索結果を受け取ると、以下の処理を行なう。
i. リソース検索結果のリソース識別子とリソースをリソースキャッシュ部に保存する。
ii. リソース検索結果のリソース識別子をキーとしてリソースキャッシュ部から対応するリソース検索要求の送信元IPアドレスを検索、獲得する(ステップS22)。
iii. 上記送信元IPアドレスをリソース検索結果の宛先IPアドレスに設定する(ステップS23)。
iv. 自身のIPアドレスをリソース検索結果の送信元IPアドレスに設定する(ステップS24)。
v. リソース検索結果をクライアントアクセスネットワーク送受信処理部に渡す。
(c) クライアントアクセスネットワーク送受信処理部は、リソース検索結果処理部からリソース検索結果を受け取ると、それをクライアントに送信する(ステップS25)。
なお、上記では、初期設定(運用開始時のシステム構築時の設定)では、リソース識別子のある連続した部分空間(K.L.M.N:0000〜K.L.M.N:ffff)に対して行ない、システム増設時は、既設の空間を包含するより大きな連続した部分空間に対して行なっている。
しかし、初期設定時、システム増設時ともに、不連続の複数の部分空間に対して設定することも、既存の空間を包含しない形で(既存空間とは独立して)設定することも、もちろん可能である。
更に、上記実施形態ではIPv4を前提として処理の詳細を記述したが、ラベルスイッチング識別子をIPv6のネットワークアドレスの上位部分にマッピングして同様の処理を行なうことも可能である。
引続き、リソース検索が失敗した場合の処理について説明する。なお、リソース検索は以下の場合に失敗する。
・リソース検索要求のリソース識別子に該当するリソースが、そのリソース識別子を含むリソース識別子の範囲をサポートするリソース保持装置に存在しない場合
・リソース検索要求のリソース識別子を含むリソース識別子の範囲をサポートするであろうバックエンドサーバ20、リソース保持装置21、或いは、それへの経路を保持するLSRが存在しない場合
以下、上記の理由によりリソース検索が失敗した場合の各ノードの処理について説明する。
・リソース保持装置21
リソース保持装置21は、バックエンドサーバからの検索アクセスで指定されたリソース識別子に対応するリソースを保持していない場合、バックエンドサーバに対してエラーを返す。
エラーを返す具体的手順は、リソース保持装置21の種類、或いは、それが扱うリソースの種類、更には、リソースアクセスネットワーク14のプロトコルに依存するため、ここでは詳細は割愛する。
・バックエンドサーバ20
バックエンドサーバ20のリソースアクセスネットワーク送受信処理部201は、リソース保持装置21からエラーを受け取ると、検査失敗を示すマジックナンバーをリソースとして、また、検索キーとして使用したリソース識別子をリソース識別子としてそれぞれ設定したリソース検索結果を、リソース検索結果処理部204に渡す。以後の処理は、上述したバックエンドサーバのリソース検索処理の9(d)以降の処理と同様である。
また、バックエンドサーバ20のリソースアクセスネットワーク送受信処理部201は、リソース保持装置21へのリソース検索アクセス時、検索結果待ちタイマを起動し、そのタイマが所望のリソース検索結果を受信する前にタイムアウトした場合、あらかじめ定めた回数(リトライ回数)に到達するまでは、リソース検索アクセスを再実行する。再実行回数がリトライ回数に到達した場合はリトライアウトと判断し、検索失敗を示すマジックナンバーをリソースとして、また、検索キーとして使用したリソース識別子をリソース識別子としてそれぞれ設定したリソース検索結果を、リソース検索結果処理部204に渡す。以後の処理は、上述したバックエンドサーバのリソース検索処理の9(d)以降の処理と同様である。
なお、後に、検索失敗したリソースがリソース保持装置21に格納されると、バックエンドサーバ20は、リソースキャッシュ部205が保持する該当リソース(検索失敗を示すマジックナンバー)及びそのリソース識別子を消去すると同時に、全フロントエンドサーバに対して、当該リソース識別子とそれに対応するリソースをリソースキャッシュ部205から消去するための要求を送信する。リソースの格納を検出する方法は、リソース保持装置21やリソースアクセスネットワーク14に依存する処理のため、ここでは詳細は割愛する。
・ラベルスイッチングネットワーク100のLSR群
ラベルスイッチングネットワーク100のLSRが、パケットを下流ノードへ転送することが出来なかった場合に到達不可能の通知をパケットの送信元に送信する能力を有している場合、それをパケットの送信元、すなわち、フロントエンドサーバ16へ送信する。一方、その能力を有していない場合、パケットを廃棄し、エラー処理その他の処理は一切行なわない。
・フロントエンドサーバ16
フロントエンドサーバ16のフロントエンドネットワーク送受信処理部162は、ラベルスイッチングネットワーク100から、パケットの到達不可能の通知(例えば“ICMP Destination Unreachable Message”)を受け取った場合、検索失敗を示すマジックナンバーをリソースとして、また、前記通知で示されたリソース識別子をリソース識別子としてそれぞれ設定したリソース検索結果を、リソース検索結果処理部164に渡す。以後の処理は、上述したフロントエンドサーバのリソース検索処理の10(b)以降の処理と同様である。
また、フロントエンドサーバ16のフロントエンドネットワーク送受信処理部162は、リソース検索要求送信時、リソース検索結果受信待ちタイマを起動し、そのタイマが所望のリソース検索結果を受信する前にタイムアウトした場合、あらかじめ定めた回数(リトライ回数)に到達するまでは、リソース検索要求をフロントエンドネットワーク12によりIngressノード17へ再送する。再送回数がリトライ回数に到達した場合はリトライアウトと判断し、検索失敗を示すマジックナンバーをリソースとして、また、リソース検索要求のリソース識別子をリソース識別子としてそれぞれ設定したリソース検索結果を、リソース検索結果処理部164に渡す。以後の処理は、上述したフロントエンドサーバのリソース検索処理の10(b)以降の処理と同様である。
なお、フロントエンドサーバ16のフロントエンドネットワーク送受信処理部162は、バックエンドサーバ20から特定のリソース識別子を持つリソースの消去要求を受信すると、該当リソースをリソースキャッシュ部165から消去する。
なお、フロントエンドサーバ16及びバックエンドサーバ20の検索失敗時の処理のタイムアウト処理、リトライ処理、リトライアウト判定処理は、本実施形態のリソース検索システムにおけるリソースが存在する場合(検索成功した場合)の検索応答時間(検索要求を発行してから検索結果を受け取るまでの時間)を、あらかじめ定めた有限の値以下に収まるように構築する(見積もる)ことが可能であることを前提としている。
[第2の実施形態]
第1の実施形態のリソース識別子の分割方法を一般化すると、リソース識別子のビット長L、その上位Mビットがラベルスイッチング識別子(結果的にバックエンドサーバ内識別子はL−Mビット)で、更にラベルスイッチング識別子をN個のフィールドに分割し、それぞれのフィールド長はMn(n=0〜N−1)ビットである。
第1の実施形態では、M=32、N=4、Mn=8で、これらはリソース識別子の全空間で一定であることを前提としたが、これらをリソース識別子の各部分空間でそれぞれ異なる値にすることも可能である。
この場合、上記M、N、Mnに依存する処理、或いは、構成が、リソース識別子を構成する各部分空間毎に異なる。例えば、図22の構成例に示されるように、以下の点が異なる。
・各リソース保持装置が保持するリソースの範囲(最大個数)
・中間ノードの段数
・各ノードが保持、配信する経路のIPv4プレフィックス長、及び、それに基づくFECとLSPの粒度
[第3の実施形態]
第1の実施形態では、フロントエンドサーバ16とIngressノード17、或いは、Egressノード19とバックエンドサーバ20が別ノードであることを前提としたが、フロントエンドサーバ16とIngressノード17を、或いは、Egressノード19とバックエンドサーバ20を同一ノード(同一物理マシン)上で動作させることも可能である。
・同一ノード上の仮想マシンとしてそれぞれを動作させる場合
通常、同一ノード上の仮想マシン間はIPにより通信可能であることから、第1の実施形態と同じ処理で本実施形態の機能を実現可能である。
・同一ノード上のプロセスとしてそれぞれを動作させる場合
プロセス間通信を用いることが想定されるが、この場合、IPをベースとする場合は、第1の実施形態と同じ処理で本実施形態の機能を実現可能である。一方、IPをベースとしない場合、例えば、UNIX(登録商標)ドメインを使用する場合等は、第1の実施形態ではフロントエンドサーバ16がリソース識別子のラベルスイッチング識別子を宛先IPアドレスとしてIPパケットに設定してIngressノード17に送信する部分を、例えば、フロントエンドサーバ16はリソース識別子をIngressノード17にプロセス間通信のペイロードとして(或いは別の手段で)そのまま渡し、それを受け取ったIngressノード17がペイロードに格納されているリソース識別子のラベルスイッチング識別子をIPアドレスと解釈してFECの特定を行なう、といった方法で対処可能である。
・同一ノード上の単一プロセスとしてそれぞれを動作させる場合
この場合、上記プロセス間通信による部分を、例えば、関数呼び出し及びそのパラメータによる情報の受渡しや、大域変数等による情報の受渡しに置き換えれば、同等の機能を実現可能である。
・その他
上記と同様の方法で、以下の方法をとることも可能である。
- 同一ノード上の独立した論理パーティション内の機能ブロックとして動作
- 同一ノード上の同一プロセス内の単一スレッドとして動作
- 同一ノード上の同一プロセス内の独立したスレッドとしてそれぞれ動作
- 同一ノード上のOS内の単一カーネルスレッドとして動作
- 同一ノード上のOS内の独立したカーネルスレッドとしてそれぞれ動作
[第4の実施形態]
第1〜第3の実施形態では、図23の概念図に示されるように、LSPの生成は、リソース保持装置21が保持するリソースのリソース識別子(の一部)に基づき、ラベルスイッチングネットワーク100にFECが定義され(ステップ(1), (2))、更に、そのFECに基づき、LSPが生成される(ステップ(3))ものであった。いわば、リソースの配置場所のみに基づいたLSPの生成であると言える。更に、一旦、LSPが生成されると、それが固定的に使用されることとなる。
一方、本実施形態は、図24の概念図に示されるように、フロントエンドサーバ16、バックエンドサーバ20がそれぞれ、以下に示すような属性を取得又は計測し(ステップ(1), (1’), (1”))、それら情報に基づき、Ingressノード17へ各種LSPに関わる処理を指示(ポリシーを注入)することで(ステップ(2))、“リソースそのものの属性”、“リソースへのアクセスの属性”、“リソースを保持する装置に関わる属性”を、LSPの制御に動的に反映させることを可能とする(ステップ(3))ものである。
なお、図23および図24の中には共通するステップ(4)〜(7)が存在するが、既に説明した事項と重複するため、その説明を省略する。
以下、フロントエンドサーバ16とバックエンドサーバ20に関して詳細に説明する。
フロントエンドサーバ16は、以下の情報を計測又は取得し、保持する。
・リソースへのアクセス属性
- アクセス元(クライアント)
- その他リソースへのアクセスに関わる属性
・リソース検索の属性
- 応答時間(リソース検索要求送信からリソース検索結果受信までの時間)
- その他リソース検索に関わる属性
一方、バックエンドサーバ20は、以下の情報を計測又はリソース保持装置21から取得し、保持する。
・リソースの属性
- 種類(文書、静止画、動画、ブロック、メモリなど)
- 重要度、機密度
- サイズ
- サイズの変動(増加、減少等の傾向)
- その他リソースに関わる属性
・リソースへのアクセス属性
- アクセス元(フロントエンドサーバ)
- アクセス頻度(単位時間当たり、累積)
- 最終アクセス時刻
- 読み出し、書き込み
- シーケンシャルアクセス、ランダムアクセス
- その他リソースへのアクセスに関わる属性
・リソース保持装置の属性
- リソース格納領域のサイズ、残量
- CPU使用率
- メモリ使用率
- IO(アクセス)頻度、IO量(単位時間当たり、累積)
- その他リソース保持装置に関わる属性
また、バックエンドサーバ20は、上記計測又は取得した情報をフロントエンドサーバ16へ定期的、或いは、不定期に送信し、フロントエンドサーバ16は、バックエンドサーバ20からのそれら情報を受信、保持する。
更に、フロントエンドサーバ16は、管理者からの、LSP生成、削除、属性変更等に関わる情報の入力を受け付ける。入力手段としては、フロントエンドサーバ16上で動作するCLI、GUI、リモートアクセスのCLI、GUI、更には、HTTP(Web)経由などが想定されるが、入力手段そのものは、本実施形態の本質的な部分では無いため、詳細は割愛する。
フロントエンドサーバ16は、上記計測、取得した各種属性を元に、以下に示すようなLSPに対する処理をラベルスイッチングネットワーク100に対して行なわせるための指示を、Ingressノード17へ送信する。
なお、フロントエンドサーバ16によるIngressノード17への指示送信の手段であるが、これは、Ingressノード17の仕様によるところが大きく、手段そのものは本実施形態の本質的な部分では無いため、詳細は割愛する。
・明示的LSP生成
第1〜第3の実施形態に示したようにリソース識別子から導出されたFECに基づきLSPを生成するのではなく、LSPが辿るべきIngressノード17、中間ノード19、Egressノード18を特定するための情報(例えばノードのIPアドレス、ノードが属すIPプレフィックス/AS番号)を指定し、LSPを生成する。なお、明示的LSP生成は、新規に生成する時だけでなく、以下に示すように、LSPの経路変更、冗長LSP生成、既存LSPの属性変更時にも適用されるものである。
・LSPの経路変更
例えば、アクセス頻度が高いリソース群に対する既存LSP(第1〜第3の実施形態の方法で生成されたLSPも含む)が、同一経路を辿っているような場合、これらの負荷を分散させるために、一部LSPを別経路に変更する、というような場合に適用される。
・冗長LSP生成
例えば、リソースへのアクセス頻度、機密度などを考慮し、既存LSP(第1〜第3の実施形態の方法で生成されたLSPも含む)に加え、冗長LSPを生成する。これら複数LSP間での負荷分散も考えられる。
・既存LSPの属性変更(優先度、帯域)
上記生成、または、経路変更時に、LSPの属性を指定する。或いは、第1〜第3の実施形態の方法で生成されたLSPも含め、既存のLSPの属性を変更する。例えば、以下のような指定、変更が想定される。
- アクセス元のクライアント15やフロントエンドサーバ16の情報を元に、LSPの優先度、帯域を増減させる。
- アクセス頻度の多いリソースに対するLSPの帯域を増やす、優先度を上げる。
- アクセスされるリソースが、例えば、ストリーミングデータであれば、そのリソースに対するLSPでは一定帯域を保証し、文書のようなものであれば、一定帯域は保証しない(ベストエフォート)。
[応用例]
各実施形態で説明したリソース検索システムは、以下に示すような、シーケンシャルに識別子を付与可能なリソースの検索、取得、管理に広く応用可能である。
・文書、静止画、動画、音声など
・メモリ
・ストレージ(ブロックデバイス)
・CPU、デバイス
また、各実施形態で説明したラベルスイッチングネットワークは、例えば1台のパーソナルコンピュータの中のデバイス群がバスで接続される一定範囲(例えば基板上でCPUに接続されるブリッジ装置とNIC(Network Interface Card)等のリソースへのアクセスが可能なデバイス群とがPCIバス等により接続される範囲など)に実現することが可能である。
[まとめ]
上述した各実施形態で説明した各種のシステムに備えられる各種の機能や情報などの概念をまとめると以下の通りとなる。
(1) 第1の実施形態のリソース検索システムは、以下の特徴を有する。
・リソース識別子
リソースを検索するためのキー情報であり、あらかじめ定義された固定ビット長の、0から前述のビット長で定まる最大値まで連続単調増加する整数。
・リソース保持装置
バックエンドサーバに接続され、あらかじめ定義された範囲の連続したリソース識別子で識別されるリソースを保持する。
・フロントエンドサーバ
- リソース検索・取得を要求するクライアントと、ラベルスイッチングネットワークの間に位置する。
- クライアントとクライアントアクセスネットワークを介して接続する。
- ラベルスイッチングネットワークとフロントエンドネットワークを介して接続する。
- クライアントからリソース識別子を含むリソース検索要求を受信し、リソース識別子、或いはその一部を用いて、当該リソース検索要求を、ラベルスイッチングネットワークによるリソース検索要求が属すべきFEC(Forwarding Equivalence Class)の判定処理に適した形式に変換し、それをラベルスイッチングネットワークに注入する。
- ラベルスイッチングネットワーク、或いはバックエンドサーバからリソース検索結果を受信し、それを、対応するリソース検索要求を送信してきたクライアントへ送信する。
・バックエンドサーバ
- ラベルスイッチングネットワークとリソース保持装置との間に位置する。
- リソース保持装置とリソースアクセスネットワークを介して接続する。
- ラベルスイッチングネットワークとバックエンドネットワークを介して接続する。
- 自身が接続するリソース保持装置が保持するリソースの範囲を示すリソース識別子、或いはその一部を、それらリソースに対するリソース検索要求が自身に正しく転送されるためのLSP(Label Switched Path)をラベルスイッチングネットワークに生成するトリガとなる情報、つまり、FECを定義するための情報源に適した形に変換し、それをラベルスイッチングネットワークに注入する。
- ラベルスイッチングネットワークからリソース検索要求を受信し、リソース検索要求に含まれるリソース識別子を検索キーとして、リソース保持装置にアクセスしてリソースを検索、取得する。
- 上記検索、取得したリソースを、リソース検索結果として、ラベルスイッチングネットワーク経由で、或いは、別の手段により直接フロントエンドサーバへ送信する。
・ラベルスイッチングネットワークを構成するLSR(Label Switching Router)群
- フロントエンドサーバとフロントエンドネットワークを介して接続する。
- バックエンドサーバとバックエンドネットワークを介して接続する。
- バックエンドサーバから注入された上記LSPをラベルスイッチングネットワークに生成するトリガとなる情報、及び、その情報から導出された更なるLSP生成トリガの情報、つまり、FECを定義するための情報をLSR群の間で配信、共有する。
- 上記FECを定義する情報に基づき、LSR群の間でLSPを生成する。
- リソース検索要求と共にフロントエンドサーバから注入された、リソース検索要求が属すべきFECの判定処理に適した情報に基づき、リソース検索要求が属すべきFECを判定し、リソース検索要求に対してラベル処理を行ない、そのラベル値に基づきリソース検索要求に対してラベルスイッチング処理を行ない、リソース検索要求を、リソース検索要求に含まれるリソース識別子が指し示すリソースを保持するリソース保持装置を収容するバックエンドサーバに配送する。
(2) 上述の(1)に示したリソース検索システムの特徴をより具体化すると、以下の通りとなる。
すなわち、上述の項目(1)のリソース検索システムにおいて、リソース検索キー、リソース保持装置、フロントエンドサーバ、バックエンドサーバ、ラベルスイッチングネットワークのLSR群がそれぞれ、以下の特徴を有する。
・リソース識別子
- Lビット長で構成される。
- リソース保持装置、フロントエンドサーバ、バックエンドサーバ、ラベルスイッチングネットワークの各ノードは、上記Lビット長のリソース識別子を以下のように取り扱う。
* Lビット長のリソース識別子の上位Mビット(M≦L)をIPアドレスの上位Mビットと見なす。
* 上記上位MビットをN(≦M)個のフィールドに分割する。また、Mi(i=0〜N−1)を分割したそれぞれのフィールドの長さ、Pj(j=0〜N)を最上位フィールドからj番目までのフィールドのフィールド長の積算値とする。
0=0
j=Σi=0 j-1i、j=1〜N
N=M0+M1+...+MN-1=M
ここで、最上位フィールドからj番目までのフィールドで構成されるフィールドをIPプレフィックス、その長さPjをIPプレフィックス長、或いは、ネットマスク長とする。
・リソース保持装置
- リソース識別子b〜b+(2L-M−1)の範囲で識別される最大2L-M個のリソースを保持する。
ここで、
b=2L-M×d、d=0〜2M−1
- 長さPNのネットマスクとdとのビット毎の論理積であるIPプレフィックス値への経路を持つバックエンドサーバと接続する。
・フロントエンドサーバ
- クライアントからリソース識別子を含むリソース検索要求を受信すると、リソース検索要求に含まれるリソース識別子の上位MビットをIPプレフィックスとして、リソース検索要求の宛先アドレス(下位32−Mビットは任意)に設定し、リソース検索要求をIngressノードに送信する。
・バックエンドサーバ
- PNのネットマスクとdとのビット毎の論理積であるIPプレフィックス値への経路を持つ。
- リソース識別子b〜b+(2L-M−1)の範囲で識別される最大2L-M個のリソースを保持するリソース保持装置と接続する。
- 同一の経路情報を共有するEgressノードと接続する。
- 上記自身が持つ経路情報をEgressノードに注入する。
・ラベルスイッチングネットワークを構成するLSR群
- ラベルスイッチングネットワークは、Ingressノード、Egressノード、及び、N段の中間ノードで構成される。
なお、N段の中間ノードを中間ノードn(n=0〜N−1)と表記する。ここで、IngressノードからEgressノードへの方向を下流方向とし、nは下流ノードになるにつれ0からN−1まで増加する。
- Egressノード
* 長さPNのネットマスクとdとのビット毎の論理積であるIPプレフィックス値への経路を持つ。
* 同じ経路を持つバックエンドサーバと接続する。
* 長さPN-1のネットマスクと上記IPプレフィックス値とのビット毎の論理積である、より短いIPプレフィックスへの経路を持つ中間ノードN−1と接続する。
* 上記自身が持つ経路情報を中間ノードN−1に注入する。
* 上記自身が持つ経路情報をFECとして、LSP設定処理を行なう。
* 中間ノードN−1から受信したパケットに対して、ラベルスイッチング処理を行なう(バックエンドサーバへ配送する)。
- 中間ノードn(n=1〜N−1)
* 長さPnのネットマスクとdとのビット毎の論理積であるIPプレフィックス値への経路を持つ。
* 上位PnビットのIPプレフィックス値が、上記IPプレフィックス値と同じ値を持つ長さPn+1ビットのIPプレフィックスへの経路を持つ、最大2Mn個(注意:左記の“2”の右側に記載されている上付き文字は、実際には“Mn”である。つまり、“M”に対して“n”は下付き文字となっている。)の中間ノードn+1、或いは、Egressノードと接続する。
* 長さPn-1のネットマスクと上記IPプレフィックス値とのビット毎の論理積である、より短いIPプレフィックスへの経路を持つ中間ノードn−1と接続する。
* 上記自身が持つ経路情報を中間ノードn−1に注入する。
* 上記自身が持つ経路情報をFECとして、LSP設定処理を行なう。
* 中間ノードn−1から受信したパケットに対して、ラベルスイッチング処理を行なう(より下流ノードへ配送する)。
- 中間ノード0
* 長さP0のネットマスクとdとのビット毎の論理積であるIPプレフィックス値への経路を持つ。つまり、全てのIPアドレスへの経路を持つ。
* 最大2M0個(注意:左記の“2”の右側に記載されている上付き文字は、実際には“M0”である。つまり、“M”に対して“0”は下付き文字となっている。)の中間ノード1と接続する。
* 同じ経路を持つIngressノードと接続する。
* 上記自身が持つ経路情報をIngressノードに注入する。
* 上記自身が持つ経路情報をFECとして、LSP設定処理を行なう。
* 中間ノード1から受信したパケットに対して、ラベルスイッチング処理を行なう(より下流ノードへ配送する)。
- Ingressノード
* 同じ経路を持つ中間ノード0と接続する。
* フロントエンドサーバと接続する。
* 上記経路情報をFECとして、LSP設定処理を行なう。
* フロントエンドサーバから受信したパケットに対して、ラベルスイッチング処理を行なう。具体的には、上記パケットの宛先IPアドレスに対して、IPアドレスの最上位からネットマスクのビット長をM0からMN-1まで順に増加させながらIPプレフィックスを決定し、それぞれのIPプレフィックスに対してFEC判定処理、ラベルスイッチング処理を行なう(中間ノード0へ出力する)。
(3) 第2の実施形態のリソース検索システム(分割フィールド数、フィールド長を一般化した例、つまり、これらが全空間で一定という前提を取り払った例)は、以下の特徴を有する。
すなわち、リソース識別子の複数フィールドへの分割方法に関して、以下の特徴を有する。
・Lビット長のリソース識別子の上位MビットをN個のフィールドに分割する場合において、M、N、及び、分割後のそれぞれのフィールドの長さMn(n=0〜N−1)が、リソース識別子を構成する部分空間毎に異なる。よって、各部分空間毎に、以下に示すようなM、N、Mnに依存する処理、或いは、機器構成が異なる。
- 各リソース保持装置が保持するリソースの範囲(最大個数)
- 中間ノードの段数
- 各ノードが保持、配信する経路のIPプレフィックス長、及び、それに基づくFECとLSPの粒度
(4) 上述の(1)〜(3)に示したリソース検索システムの冗長構成に関しては、以下の特徴を有する。
・複数のフロントエンドサーバ、Ingressノード、中間ノード0が存在する。
・フロントエンドサーバ
- 複数のIngressノードとの通信手段を有する。
- クライアントからのリソース検索要求を複数Ingressノードのいずれかに振り分ける手段を有する。
・Ingressノード
- 複数のフロントエンドサーバとの通信手段を有する。
- 複数の中間ノード0との通信手段、及び、経路情報の交換手段、LSPの設定手段を有する。
- フロントエンドサーバからのリソース検索要求を複数中間ノード0のいずれかに振り分ける手段を有する。
・中間ノード0
- 複数のIngressノード、複数の中間ノード1との通信手段、及び、経路情報の交換手段、LSPの設定手段を有する。
- 複数Ingressノードからの入力ラベルを下流方向の単一ラベルに集約する手段を有する。
- Ingressノードからのリソース検索要求を複数中間ノード1のいずれかに振り分ける手段を有する。
・中間ノード1
- 複数の中間ノード0との通信手段、及び、経路情報の交換手段、LSPの設定手段を有する。
- 複数中間ノード0からの入力ラベルを下流方向の単一ラベルに集約する手段を有する。
(5) 上述の(1)〜(4)に示したリソース検索システムにおけるキャッシュの仕組みに関しては、以下の特徴を有する。
すなわち、フロントエンドサーバ、或いは、バックエンドサーバ、或いは、フロントエンドサーバとバックエンドサーバの双方が以下の特徴を有する。
・リソース検索結果(リソース)のキャッシュを保持する。
・リソース検索要求を受信した場合、その要求にマッチするリソースがキャッシュに存在する場合には、以降、リソース検索要求のラベルスイッチングネットワークへの送信、或いは、リソース保持装置へのリソース検索、取得のためのアクセスを行なわずに、キャッシュに保持している内容をリソース検索結果として使用する。
(6) 上述の(1)〜(4)に示したリソース検索システムにおける機能モジュールの動作場所に関しては、以下の特徴を有する(第3の実施形態の構成を含む)。
すなわち、フロントエンドサーバとIngressノード、Egressノードとバックエンドサーバの動作場所に関して、以下の特徴を有する。
・フロントエンドサーバとIngressノードが異なる装置(計算機)上、或いは、同一の装置(計算機)上で動作する。
・Egressノードとバックエンドサーバが異なる装置上、或いは、同一装置上で動作する。
更に、2つの機能が同一装置上で動作する場合、動作形態として以下のいずれかの特徴を有する。
・当該装置で仮想マシン環境が提供されており、それぞれ独立した仮想マシンとして動作する。
・当該装置で論理パーティション環境が提供されており、それぞれ独立した論理パーティション内の機能ブロックとして動作する。
・当該装置が提供するOS環境にて、それぞれ独立したプロセス(タスク)として動作する。
・当該装置が提供するOS環境にて、単一プロセスとして動作する。
・当該装置が提供するOS環境にて、それぞれ、単一プロセス内の独立したスレッドとして動作する。
・当該装置が提供するOS環境にて、カーネル内の単一機能モジュールとして動作する。
・当該装置が提供するOS環境にて、カーネル内の単一スレッドとして動作する。
・当該装置が提供するOS環境にて、それぞれ独立したカーネルスレッドとして動作する。
(7) 上述の(1)〜(4)に示したリソース検索システムにおける各機能モジュールの接続方法に関しては、以下の特徴を有する。
すなわち、クライアントアクセスネットワーク、リソースアクセスネットワーク、フロントエンドネットワーク、バックエンドネットワークが、それぞれ以下の特徴を有する。
・イーサネット(登録商標)、FR、ATM等による接続
上記をそのまま使用するか、或いは、更に、TCP/IP等の上位プロトコルを使用する。
・FC、SCSI、SAS、ATA、SATA等のストレージ接続用バスによる接続
・PCI、PCI-Express、InfiniBand等のデバイス接続用バスによる接続
・FSB等のメモリアクセスに使用されるバスによる接続
・プロセス間通信、共有メモリ、共有ファイル等のOS内の通信による接続
例えばクライアント、フロントエンドサーバ、LSR群の各々、バックエンドサーバ、リソース保持装置が、それぞれ異なる計算機に備えられ、計算機間が上記イーサネット(登録商標)のような通信規格に準拠するネットワークで接続されるように構成してもよい。
(8) 上述の(1)〜(4)に示したリソース検索システムに、上述の(5)〜(7)の特徴のいずれかを組み合わせる、或いは、全てをの組み合わせるようにしてもよい。
(9)上述の(1)〜(8)に示したリソース検索システムに適用される検索対象のリソースの例としては、以下のものが可能である。
・文書、静止画像、動画像ファイル、及び、それらの集合体、或いは、断片
・ストレージ領域(ブロック、ボリューム、パーティション、スライス、オブジェクト)
・メモリ、メモリページ
・CPU、IOデバイス
・その他、有限の最大値まで連続単調増加する整数で識別可能なリソース
(10) 第4の実施形態のリソース検索システムは、以下の特徴を有する。
すなわち、フロントエンドサーバ、バックエンドサーバが以下の特徴を有する。
・フロントエンドサーバ
- 以下の情報を計測又は取得し、保持する手段を有する。
* リソースへのアクセス属性
・アクセス元(クライアント)
・その他リソースへのアクセスに関わる属性
* リソース検索の属性
・応答時間(リソース検索要求送信からリソース検索結果受信までの時間)
・その他リソース検索に関わる属性
- バックエンドサーバから、リソース属性、リソースへのアクセス属性、リソース保持装置の属性を受信し、保持する手段を有する。なお、この手段は省略が可能である。管理者から指示をもらえれば、自身でも上述の各種属性を計測することができるからである。
- 管理者からの、LSP生成、削除、属性変更等に関わる情報の入力を受け付ける手段を有する。
- 上記計測又は取得した各種属性を元に、以下に示すようなLSPに対する処理をラベルスイッチングネットワークに対して行なわせるための指示を、Ingressノードへ送信する手段を有する。
* 明示的LSP生成
* LSPの経路変更
* 冗長LSP生成
* 既存LSPの属性変更(優先度、帯域)
・バックエンドサーバ
以下の情報を計測又はリソース保持装置から取得し、保持する手段を有する。
* リソースの属性
・種類(文書、静止画、動画、ブロック、メモリなど)
・サイズ
・サイズの変動(増加、減少等の傾向)
・その他リソースに関わる属性
* リソースへのアクセス属性
・アクセス元(フロントエンドサーバ)
・アクセス頻度(単位時間当たり、累積)
・最終アクセス時刻
・読み出し、書き込み
・シーケンシャルアクセス、ランダムアクセス
・その他リソースへのアクセスに関わる属性
* リソース保持装置の属性
・リソース格納領域のサイズ、残量
・CPU使用率
・メモリ使用率
・IO(アクセス)頻度、IO量(単位時間当たり、累積)
・その他リソース保持装置に関わる属性
- 上記計測又は取得し、保持した情報をフロントエンドサーバへ定期的、或いは、不定期に送信する手段を有する。
以上詳述したように、本発明の実施の形態によれば、ラベルスイッチングネットワークに関する標準化された技術の特徴を利用することにより、高速化・高信頼性と広域分散・拡張性、更には、高可用性をも実現するリソース検索システムを実現することができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
ラベルスイッチングネットワークの一般的な構成の一例を示す図。 本発明の第1の実施形態に係るリソース検索システムの構成の一例を示す図。 図2中に示されるフロントエンドサーバ16の構成の一例を示す図。 図2中に示されるIngressノード17の構成の一例を示す図。 図2中に示されるEgressノード18の構成の一例を示す図。 図2中に示されるバックエンドサーバ20の構成の一例を示す図。 リソース検索システムで使用されるリソース識別子の分割の一例を示す図。 運用開始時のシステム構築を説明するための図。 運用開始時のシステム構築において設定される経路表の一例を示す図。 運用開始時のシステム構築において設定されるILM/NHLFEの一例を示す図。 システム増設において設定されるILM/NHLFEの一例を示す図。 レベル3の中間ノード、Egressノード、バックエンドサーバの増設において設定されるILM/NHLFEの一例を示す図。 レベル2/3の中間ノード、Egressノード、バックエンドサーバの増設において設定されるILM/NHLFEの一例を示す図。 レベル1/2/3の中間ノード、Egressノード、バックエンドサーバの増設において設定されるILM/NHLFEの一例を示す図。 Ingressノード、レベル0の中間ノードの増設時の構成の一例を示す図。 図15とは異なる構成の一例を示す図。 フロントエンドサーバ16におけるリソース検索処理シーケンスの一例を示す図。 バックエンドサーバ20におけるリソース検索処理シーケンスの一例を示す図。 リソース検索要求のパケットの一例を示す図。 ラベル付けされたパケットの一例を示す図。 リソース検索結果のパケットの一例を示す図。 リソース識別子の分割数やフィールド長が部分空間毎に異なる場合の構成の一例を示す図。 第1〜第3の実施形態でのLSP生成等を説明するための図。 第4の実施形態でのLSP生成等を説明するための図。
符号の説明
11…クライアントアクセスネットワーク、12…フロントエンドネットワーク、13…バックエンドネットワーク、14…リソースアクセスネットワーク、15…クライアント、16…フロントエンドサーバ、17…Ingressノード、18…Egressノード、19…中間ノード、20…バックエンドサーバ、21…リソース保持装置、100…ラベルスイッチングネットワーク。

Claims (16)

  1. 固定ビット長のリソース識別子で識別されるリソースをラベルスイッチングネットワークを経由して検索するリソース検索システムであって、
    一定範囲の連続したリソース識別子で識別されるリソースを保持するリソース保持装置と、
    クライアントとクライアントアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとフロントエンドネットワークを介して接続するフロントエンドサーバであって、クライアントからリソース識別子を含むリソース検索要求を受信し、当該リソース識別子或いはその一部を用いて、当該リソース検索要求が属するべきFEC(Forwarding Equivalence Class)の特定が可能なヘッダ情報を有するリソース検索要求に変換し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワーク或いはバックエンドサーバからリソース検索結果を受信し、それを、対応するリソース検索要求を送信してきたクライアントへ送信する処理を行うフロントエンドサーバと、
    前記リソース保持装置とリソースアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとバックエンドネットワークを介して接続するバックエンドサーバであって、前記リソース保持装置が保持するリソースの範囲を示すリソース識別子或いはその一部を用いて、前記ラベルスイッチングネットワークでのLSP(Label Switched Path)の設定に用いる情報を生成し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワークからリソース検索要求を受信し、当該リソース検索要求に含まれるリソース識別子を検索キーとして、前記リソース保持装置にアクセスしてリソースを検索、取得し、当該検索、取得したリソースを、リソース検索結果として、前記ラベルスイッチングネットワーク経由で、或いは、別の手段により直接、前記フロントエンドサーバへ送信する処理を行うバックエンドサーバと、
    前記ラベルスイッチングネットワークを構成するLSR(Label Switching Router)群であって、前記バックエンドサーバから送信された情報から各LSRがLSR間の経路情報を生成し、当該経路情報をFECとしてLSPを設定する処理を行うとともに、前記フロントエンドサーバから送信されたリソース検索要求に対し、当該リソース検索要求のヘッダ情報により特定されるFECに対応するLSPを経由するラベルスイッチング処理を行って前記バックエンドサーバに送信する処理を行うLSR群と
    を具備することを特徴とするリソース検索システム。
  2. 前記リソース識別子の一部は、複数のFECの特定が可能な情報をそれぞれ含む複数のフィールドから構成されることを特徴とする請求項1に記載のリソース検索システム。
  3. 前記バックエンドサーバは、前記リソース保持装置が保持するリソースのリソース識別子或いはその一部に基づき、前記ラベルスイッチングネットワークにFECを定義するための情報を配信することを特徴とする請求項1又は2に記載のリソース検索システム。
  4. 前記フロントエンドサーバは、前記リソース識別子の一部を構成する前記複数のフィールドの情報をIPプレフィックスとした宛先IPアドレスを有するリソース検索要求を前記ラベルスイッチングネットワークに送信することを特徴とする請求項1乃至3のいずれか1項に記載のリソース検索システム。
  5. 前記バックエンドサーバは、前記リソース識別子の一部を構成する前記複数のフィールドの情報をIPプレフィックスとした宛先IPアドレスを有するリソース検索要求を前記ラベルスイッチングネットワークから受信することを特徴とする請求項4に記載のリソース検索システム。
  6. 前記LSR群の中のあるノードは、前記フロントエンドサーバから送信されたリソース検索要求の宛先IPアドレスに基づき、当該リソース検索要求のラベルスイッチングに使用するラベルスタックを生成することを特徴とする請求項4に記載のリソース検索システム。
  7. 前記リソース識別子の一部は、そのビット数、フィールドの個数、及び、それぞれのフィールドの長さが可変であることを特徴とする請求項1乃至6のいずれか1項に記載のリソース検索システム。
  8. 前記ラベルスイッチングネットワークは、あるリソース検索要求が経由する既存のLSPに加え、当該リソース検索要求が経由する別のLSPを生成することが可能であることを特徴とする請求項1乃至7のいずれか1項に記載のリソース検索システム。
  9. 前記フロントエンドサーバ及び前記バックエンドサーバの少なくとも一方は、
    あるリソースを保持するキャッシュを備え、
    受信したリソース検索要求が求めているリソースが前記キャッシュに存在する場合には、当該キャッシュに保持されているリソースをリソース検索結果として使用することを特徴とする請求項1乃至8のいずれか1項に記載のリソース検索システム。
  10. 前記LSR群の中のあるノードと前記フロントエンドサーバとが、もしくは、前記LSR群の中のあるノードと前記バックエンドサーバとが、同一装置上で動作することが可能であることを特徴とする請求項1乃至9のいずれか1項に記載のリソース検索システム。
  11. 前記クライアント、前記フロントエンドサーバ、前記LSR群の各々、前記バックエンドサーバ、前記リソース保持装置が、それぞれ異なる計算機に備えられ、計算機間が所定の通信規格に準拠するネットワークで接続されることを特徴とする請求項1乃至10のいずれか1項に記載のリソース検索システム。
  12. 前記ラベルスイッチングネットワークは、1台のコンピュータの中のデバイス群がバスで接続される一定範囲に実現されたものであることを特徴とする請求項1乃至9のいずれか1項に記載のリソース検索システム。
  13. 前記フロントエンドサーバは、
    リソースへのアクセス属性及びリソース検索の属性を含む各種属性を計測又は取得する手段と、
    前記計測又は取得した各種属性を元に、LSPに対する処理を前記ラベルスイッチングネットワークに対して行なわせるための指示を、前記LSR群の中のあるノードへ送信する手段と
    を具備することを特徴とする請求項1乃至12のいずれか1項に記載のリソース検索システム。
  14. 前記バックエンドサーバは、
    リソースの属性、リソースへのアクセス属性、及びリソース保持装置の属性を含む各種属性を計測又は前記リソース保持装置から取得する手段と、
    前記計測又は取得した各種属性を前記フロントエンドサーバへ送信する手段と
    を具備することを特徴とする請求項13に記載のリソース検索システム。
  15. 固定ビット長のリソース識別子で識別されるリソースをラベルスイッチングネットワークを経由して検索するリソース検索システムに適用されるフロントエンドサーバであって、
    クライアントとクライアントアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとフロントエンドネットワークを介して接続する手段と、
    クライアントからリソース識別子を含むリソース検索要求を受信し、当該リソース識別子或いはその一部を用いて、当該リソース検索要求が属するべきFEC(Forwarding Equivalence Class)の特定が可能なヘッダ情報を有するリソース検索要求に変換し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワーク或いはバックエンドサーバからリソース検索結果を受信し、それを、対応するリソース検索要求を送信してきたクライアントへ送信する処理を行う手段と
    を具備することを特徴とするフロントエンドサーバ。
  16. 固定ビット長のリソース識別子で識別されるリソースをラベルスイッチングネットワークを経由して検索するリソース検索システムに適用されるバックエンドサーバであって、
    一定範囲の連続したリソース識別子で識別されるリソースを保持するリソース保持装置とリソースアクセスネットワークを介して接続するとともに、前記ラベルスイッチングネットワークとバックエンドネットワークを介して接続する手段と、
    前記リソース保持装置が保持するリソースの範囲を示すリソース識別子或いはその一部を用いて、前記ラベルスイッチングネットワークでのLSP(Label Switched Path)の設定に用いる情報を生成し、それを前記ラベルスイッチングネットワークに送信する処理を行うとともに、前記ラベルスイッチングネットワークからリソース検索要求を受信し、当該リソース検索要求に含まれるリソース識別子を検索キーとして、前記リソース保持装置にアクセスしてリソースを検索、取得し、当該検索、取得したリソースを、リソース検索結果として、前記ラベルスイッチングネットワーク経由で、或いは、別の手段により直接、フロントエンドサーバへ送信する処理を行う手段と
    を具備することを特徴とするバックエンドサーバ。
JP2008096504A 2008-04-02 2008-04-02 リソース検索システムおよびリソース検索用情報処理装置 Expired - Fee Related JP4477073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008096504A JP4477073B2 (ja) 2008-04-02 2008-04-02 リソース検索システムおよびリソース検索用情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008096504A JP4477073B2 (ja) 2008-04-02 2008-04-02 リソース検索システムおよびリソース検索用情報処理装置

Publications (2)

Publication Number Publication Date
JP2009253463A JP2009253463A (ja) 2009-10-29
JP4477073B2 true JP4477073B2 (ja) 2010-06-09

Family

ID=41313751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008096504A Expired - Fee Related JP4477073B2 (ja) 2008-04-02 2008-04-02 リソース検索システムおよびリソース検索用情報処理装置

Country Status (1)

Country Link
JP (1) JP4477073B2 (ja)

Also Published As

Publication number Publication date
JP2009253463A (ja) 2009-10-29

Similar Documents

Publication Publication Date Title
US11533248B2 (en) Method and system of resiliency in cloud-delivered SD-WAN
US9866479B2 (en) Technologies for concurrency of cuckoo hashing flow lookup
US9614930B2 (en) Virtual machine mobility using OpenFlow
EP4075738A1 (en) Failure protection method for service function chain, device, apparatus, system, and storage medium
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US20140280823A1 (en) Wire-speed pending interest table
US8356078B2 (en) Multi-homed data forwarding storage
KR20150037938A (ko) 고속 콘텐츠 라우팅
US8989193B2 (en) Facilitating insertion of device MAC addresses into a forwarding database
US11165693B2 (en) Packet forwarding
CN105993161B (zh) 用于解析地址的元件、方法、系统和计算机可读存储设备
US8984114B2 (en) Dynamic session migration between network security gateways
US20050111483A1 (en) Method and system of teamed network adapters with offloaded connections
JP2014504484A (ja) ロードバランサーコンポーネント間の状態の同期
WO2016054818A1 (zh) 数据处理方法和装置
EP2919426B1 (en) Concurrent hashes and sub-hashes on data streams
WO2018099394A1 (zh) 报文传输
US20140040477A1 (en) Connection mesh in mirroring asymmetric clustered multiprocessor systems
CN108337116B (zh) 消息保序方法及装置
Robin et al. P4KP: QoS-Aware Top-K best path using programmable switch
CN109120556B (zh) 一种云主机访问对象存储服务器的方法及系统
JP4477073B2 (ja) リソース検索システムおよびリソース検索用情報処理装置
CN116566933A (zh) 报文处理方法、网关设备及存储系统
CN115955505B (zh) 基于算力网络的sdn控制系统、控制方法及平台
US10484304B2 (en) Determining actions to be immediately performed on a network packet with an application specific integrated circuit

Legal Events

Date Code Title Description
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: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100310

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees