説明

通信装置及び通信方法、並びにコンピューター・プログラム

【課題】第2層ネットワークにおいて、送信側から受信側までのネットワーク経路間でマルチリンクによりデータ転送を可能にする。
【解決手段】送信フレーム・コントローラー212は、送信フレームのヘッダー情報などを解析し、入力条件が合致する制御ポリシーに従って、送信元MACアドレス、宛先MACアドレス、VLAN IDを変更する。この結果、単一のConversationについて、リンク・アグリゲーションを実現することができる。送信フレームを割り当てた複数のリンクの総帯域としてより高い帯域を得ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OSI(Open Systems Interconnection)参照モデルの第2層プロトコルに従ってデータ転送を行なう通信装置及び通信方法、並びにコンピューター・プログラムに係り、特に、第2層ネットワーク環境において、送信側から受信側までのネットワーク経路間でマルチリンクによりデータ転送を行なう通信装置及び通信方法、並びにコンピューター・プログラムに関する。
【背景技術】
【0002】
国際標準化機構(ISO)によって制定されたネットワーク構造の設計方針であるOSI参照モデルによれば、通信機能は7階層に分割され、このうち第2層のデータリンク層は、直接又は隣接的に接続されている通信装置間の信号の受け渡しを規定するプロトコルに相当し、TCP/IPなどの上位層からのサービス要求に応え、直下の物理層に対してサービスを要求する。イーサネット(登録商標)やトークンリングが第2層プロトコルの代表例である。
【0003】
また、第2層は、論理リンク制御(LLC:Logical Link Control)副層と、さらにその下位のメディア・アクセス制御(MAC:Media Access Control)副層に分割される。第2層に経路制御機能はなく、第2層ネットワークは、同じネットワーク・アドレス内であり、ARP(Address Resolution Protocol)コマンドを通じてMACアドレスを取得可能な範囲、あるいは、ブロードキャスト・ドメイン内のネットワークと言い換えることもできる。
【0004】
ところで、近年では高解像度動画など伝送コンテンツの大容量化に伴い、例えば40〜100Gbps程度の広帯域化が求められている。しかしながら、市場では、購入可能な価格帯として10Gbps程度の通信メディアが普及しつつあるのが現状であり、1本の通信リンクで広帯域化の要求に応えるのは難しい。本発明者らは、低コストで広帯域化を実現する解決策として、10Gbps程度の低いテクノロジーの通信リンクを束ねて40超Gbpsと同等の性能を引き出すことを考えている。
【0005】
複数の通信リンクを束ねることは、「マルチリンク」、「リンク・アグリゲーション」とも呼ばれる技術に相当する。例えば、ネットワーク層では複数の外部接続毎の経路を静的に提供し、外部接続経路毎に行なわれる通信を両端のトランスポート層で束ね、アプリケーション層に対しては1つの通信として提供するマルチリンク通信方法について提案がなされている(例えば、特許文献1を参照のこと)。
【0006】
ブロードキャスト・ドメイン内であれば、MAC層など第2層以下のネットワーク・プロトコルでマルチリンクを実現すればよい。ネットワーク・マルチリンク技術に関する標準的な規格書「IEEE802.1 AX−2008 Link Aggregattion」では、リンク・アグリゲーションは、リンク・アグリゲーション・グループの形で複数のリンクを統合し、MACクライアントが、リンク・アグリゲーション・グループを、あたかも単一のリンクのように扱えるようにするものである(Link Aggregation allows one or more links to be aggregated together to form a Link Aggregation Group,such that a Media Access Control(MAC) Client can treat the Link Aggregation Group as if it were a single link.)、と定義されている。
【0007】
リンク・アグリゲーションにより、統合した独立リンクに対し、総帯域でより高い帯域の全二重ポイント・ツー・ポイント・リンクが可能になる。また、各リンク不良の回復力向上により、ブリッジLAN環境における動作可能リンク稼働率の向上が可能となる(Link Aggregation allows the establishment of full duplex point−to−point liks that have a higher aggregation bandwidth that the individual links that form the aggregation.This allows improved utilization of available links in bridged LAN environments,along with improved resilience in the face of failure of individual links.)。
【0008】
しかしながら、上記規格書では、セグメンテーション技術や送信フレーム修正に対して制限を行なっている。このため、同一Conversationのマルチリンク転送を行なうことはできず、また、イーサネット(登録商標)・スイッチ間、イーサネット(登録商標)・スイッチと宛先の通信装置間でマルチリンク転送を行なうことはできない。
【0009】
上記規格書では、単純さとスケーラビリティーの観点から、(第2層ネットワークでは)「Collection」機能は再構築動作、受信フレームの順番並べ替えや修正を行なうべきでない。そのため、「Distribution」機能は、セグメンテーション技術を使用したり、どのような形にせよ送信フレームを修正したりしてはならず、「Collector」での受信フレーム順番が、原理的に保証されるような形で動作しなければならない(In the interest of simplicity and scalability,the collection function should not perform reassembly functions,reorder received frames.Distribution functions, therefore,do not make use of segmentation techniques,do not label or otherwise modify transmitted frames in any way,and must operate in a manner that will inherently ensure proper ordering of received frames with the specified Collector.)。
【0010】
ここで言うConversationとは、TCPにおけるセッションに相当し、アプリケーションが1つの目的を持った1本のストリームである。Conversationは、例えば、宛先IPアドレスと宛先ポート番号の組み合わせで定義することができる。従来、リンクとクライアントは1対1にのみ対応し、クライアントが複数のリンクを使用することを想定していない。セグメンテーション技術に制限がかけられていることから、1本のストリームを分割して複数のリンクに分配すること、すなわち、マルチリンクすることはできない。
【0011】
したがって、上記規格書で規定されるリンク・アグリゲーション技術では、1Conversation当たりのスループットを向上させることが困難である。
【0012】
通常のサーバー・クライアント型のモデルのように、多数のクライアントが単一のサーバーに接続される通信システム構成であれば、複数のConversationの合計スループットが向上すればよい。すなわち、Conversation毎にリンクに分配するのであって、Conversationを分割して複数のリンクに分配するのではないから、上記規格書で規定されるリンク・アグリゲーションをそのまま適用することができる。
【0013】
図10に例示するサーバー・クライアント型のネットワーク・システムでは、サーバー側で動作するアプリケーション(AP)が、ネットワーク・カード(NIC)及び第2層スイッチによって複数のリンクを介して複数のクライアントC1、C2、C3、…に接続されている。アプリケーションが各クライアントC1、C2、C3、…宛てに複数のConversation(a、b、c、…)を転送要求すると、Conversation毎に1つのリンクに分配される。
【0014】
これに対し、放送業界や映画業界などで超巨大コンテンツをネットワーク転送しなければならない場合には、Conversation当たりのスループット向上が要求される。しかしながら、上記規格書で規定されるリンク・アグリゲーションでは、Conversationを分割して複数のリンクに分配することはできないから、要求を満たすことはできない。
【0015】
例えば、図11に例示するサーバー・クライアント型のネットワーク・システムでは、1組のサーバーとクライアントが第2層スイッチ#1、#2によって複数のリンクを介して接続されている。サーバーが「a」という巨大コンテンツ(Conversation)をクライアントに送る場合、aを複数のセグメントa1、a2、a3、…に分割し、セグメント毎にリンクに分配すると、複数のリンクを束ねて広帯域化を図ることができる。しかしながら、上記の規格書では再構築動作、受信フレームの並べ替え、セグメンテーションの制限があることから、このようなリンク・アグリゲーションを行なうことはできない。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開2001−60956号公報
【発明の概要】
【発明が解決しようとする課題】
【0017】
本発明の目的は、OSI参照モデルの第2層プロトコルに従って好適にデータ通信を行なうことができる、優れた通信装置及び通信方法、並びにコンピューター・プログラムを提供することにある。
【0018】
本発明のさらなる目的は、第2層ネットワーク環境において、送信側から受信側までのネットワーク経路間でマルチリンクによりデータ転送を行なうことができる、優れた通信装置及び通信方法、並びにコンピューター・プログラムを提供することにある。
【課題を解決するための手段】
【0019】
本願は、上記課題を参酌してなされたものであり、請求項1に記載の発明は、
Conversation毎の送信ポリシーを保持する送信ポリシー保持部と、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール部と、
を具備する通信装置である。
【0020】
本願の請求項2に記載の発明によれば、請求項1に記載の通信装置は、送信フレーム・コントロール部によって変更を行なった送信フレームを、OSI参照モデルの第2層プロトコルに従ってリンク動作する第2層スイッチに出力するように構成されている。
【0021】
本願の請求項3に記載の発明によれば、請求項1に記載の通信装置において、Conversationは、アプリケーションから送信される一連のデータからなり、宛先IPアドレスと宛先ポート番号の組み合わせで定義される。
【0022】
本願の請求項4に記載の発明によれば、請求項1に記載の通信装置の送信フレーム・コントロール部は、TCP/IP層とMAC/PHY層の間で、送信フレームの変更を行なうように構成されている。
【0023】
本願の請求項5に記載の発明によれば、請求項1に記載の通信装置の送信ポリシー保持部は、Conversationの入力条件と、入力条件に適合するConversationの送信フレームに対して変更を行なう制御ポリシーを設定項目に持つ送信ポリシーを保持するように構成されている。
【0024】
本願の請求項6に記載の発明によれば、請求項5に記載の通信装置において、送信ポリシーの入力条件は、Conversationの送信元のMACアドレス、ポート番号、Conversationの宛先のMACアドレス、IPアドレス、ポート番号のうち少なくとも1つを含んでいる。
【0025】
本願の請求項7に記載の発明によれば、請求項5に記載の通信装置において、制御ポリシーは、Conversationの送信フレームに対する、VLANタグの付加、送信元のMACアドレスの変更、宛先のMACアドレスの変更のうち少なくとも1つを含んでいる。
【0026】
本願の請求項8に記載の発明によれば、請求項7に記載の通信装置において、VLANタグ、送信元のMACアドレス、MACアドレスのうち少なくとも1つを割り当てる際の割り当てルールをさらに含んでいる。
【0027】
本願の請求項9に記載の発明によれば、請求項1に記載の通信装置の送信ポリシー保持部は、動的若しくは静的、手動若しくは自動的に設定された、Conversation毎の制御ポリシーを保持するように構成されている。
【0028】
本願の請求項10に記載の発明によれば、請求項1に記載の通信装置の送信ポリシー保持部及び前記送信フレーム・コントロール部は、ネットワーク・ドライバー又はその他のソフトウェアとして実装される。
【0029】
本願の請求項11に記載の発明によれば、請求項1に記載の通信装置の送信ポリシー保持部及び前記送信フレーム・コントロール部は、ネットワーク・インターフェース・カード又はその他のハードウェアとして実装される。
【0030】
また、本願の請求項12に記載の発明は、
Conversation毎の送信ポリシーを保持する送信ポリシー保持ステップと、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール・ステップと、
を有する通信方法である。
【0031】
また、本願の請求項13に記載の発明は、OSI参照モデルの第2層プロトコルに従ってデータ通信を行なうための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
Conversation毎の送信ポリシーを保持する送信ポリシー保持部、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール部、
として機能させるコンピューター・プログラムである。
【0032】
本願の請求項13に係るコンピューター・プログラムは、コンピューター上で所定の処理を実現するようにコンピューター可読形式で記述されたコンピューター・プログラムを定義したものである。換言すれば、本願の請求項13に係るコンピューター・プログラムをコンピューターにインストールすることによって、コンピューター上では協働的作用が発揮され、本願の請求項1に係る通信装置と同様の作用効果を得ることができる。
【発明の効果】
【0033】
本発明によれば、第2層ネットワークにおいて、送信側から受信側までのネットワーク経路間でマルチリンクによるデータ転送が可能となるようにネットワーク送信制御を行なうことで、低コストでネットワーク帯域を拡大することができる、優れた通信装置及び通信方法、並びにコンピューター・プログラムを提供することができる。
【0034】
本願の請求項1乃至4、10乃至13に係る発明によれば、送信ポリシーに従って、送受信間に介在する第2層スイッチがマルチリンク動作を行なうように、送信フレームのヘッダー情報などを変更することによって、単一のConversationを転送する際のマルチリンクを実現することができる。また、送信ポリシーが未設定のConversationについては、通常のNICと同一の動作を行なうので、従来のNICとの互換性を保つことができる。
【0035】
また、本願の請求項1乃至4に係る発明によれば、より低い帯域のリンクを複数束ねて使うことで、より安価で、より容易に、より高い帯域でネットワークを運用することが可能になる。例えば、40Gbpsのネットワークに移行しなくても、40Gbpsのスループットでフレームを転送することが可能になる。あるいは、安価な1Gbpsのネットワーク環境でも、10Gbpsレベルでネットワークを運用することが可能になる。
【0036】
本願の請求項5に係る発明によれば、送信ポリシーとして、Conversationの入力条件と、入力条件に適合するConversationの送信フレームに対し変更を行なう制御ポリシーを設定するので、送信ポリシーに従って、送受信間に介在する第2層スイッチがマルチリンク動作を行なうように、送信フレームのヘッダー情報などを変更することができる。
【0037】
本願の請求項6に係る発明によれば、送信ポリシーの入力条件は、Conversationの送信元のMACアドレス、ポート番号、Conversationの宛先のMACアドレス、IPアドレス、ポート番号のうち少なくとも1つを含むので、該当するConversationの送信フレームに対して、送信ポリシーに従って適切に変更を行なうことができる。
【0038】
本願の請求項7、8に係る発明によれば、送信ポリシーの入力条件に適合するConversationの各送信フレームに対し、VLANタグの付加、送信元のMACアドレスの変更、宛先のMACアドレスの変更のうち少なくとも1つを行なうことによって、送受信間に介在する第2層スイッチがマルチリンク動作を行なうようにして、単一のConversationを転送する際のマルチリンクを実現することができる。
【0039】
本願の請求項9に係る発明によれば、動的若しくは静的、手動若しくは自動的に設定された、Conversation毎の制御ポリシーを保持することができる。
【0040】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0041】
【図1】図1は、サーバー10とクライアント60間が2つの第2層スイッチを介して接続されたネットワーク・システムの構成例を示した図である。
【図2】図2は、転送フレーム・コントロール機能の構成を模式的に示したブロック図である。
【図3A】図3Aは、図2に示した転送フレーム・コントロール機能をドライバーの形態で実装したネットワーク・システムの構成例を示した図である。
【図3B】図3Bは、図3Aに示したように、図2に示した転送フレーム・コントロール機能をドライバーの形態で実装した場合のWindows(登録商標) OS上でのプロトコル・スタック構造を例示した図である。
【図4A】図4Aは、図2に示した転送フレーム・コントロール機能をネットワーク・インターフェース・カードの形態で実装したネットワーク・システムの構成例を示した図である。
【図4B】図4Bは、図4Aに示したように、図2に示した転送フレーム・コントロール機能をネットワーク・インターフェース・カードの形態で実装した場合のWindows(登録商標) OS上でのプロトコル・スタック構造を例示した図である。
【図5A】図5Aは、図2に示した転送フレーム・コントロール機能をドライバーの形態で実装したネットワーク・システムの他の構成例を示した図である。
【図5B】図5Bは、図5Aに示したように、図2に示した転送フレーム・コントロール機能をドライバーの形態で実装した場合のWindows(登録商標) OS上でのプロトコル・スタック構造を例示した図である。
【図6A】図6Aは、図2に示した転送フレーム・コントロール機能をネットワーク・インターフェース・カードの形態で実装したネットワーク・システムの他の構成例を示した図である。
【図6B】図6Bは、図4Aに示したように、図2に示した転送フレーム・コントロール機能をネットワーク・インターフェース・カードの形態で実装した場合のWindows(登録商標) OS上でのプロトコル・スタック構造を例示した図である。
【図7】図7は、VLANを用いた転送フレーム・コントロール機能(VBP)の動作例を説明するための図である。
【図8】図8は、VLANと宛先MACアドレスを併用した転送フレーム・コントロール機能(VBP)の動作例を説明するための図である。
【図9】図9は、MACアドレスの変更のみによる転送フレーム・コントロール機能(VBP)の動作例を説明するための図である。
【図10】図10は、サーバー・クライアント型のネットワーク・システムの動作(従来例)を説明するための図である。
【図11】図11は、サーバー・クライアント型のネットワーク・システムの動作(従来例)を説明するための図である。
【図12】図12は、ファイルベースの通信システムの構成例を示した図である。
【発明を実施するための形態】
【0042】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【0043】
図1には、サーバー10とクライアント60間が2つの第2層スイッチ30、40を介して接続されたネットワーク・システムの構成例を示している。サーバー10並びにクライアント60は、例えばオペレーティング・システム(OS)として米マイクロソフト社の“Windows(登録商標)”を搭載したコンピューターで構成される場合、その通信プロトコルは、上位から順番に、アプリケーション、TCP/IP、ドライバー(Network Driver Interface Specification:NDIS)がスタックされた階層構造になっている。
【0044】
サーバー10は、N1個のネットワーク・インターフェース・カード(NIC)20−1、20−2、…を装備し、第2層スイッチ30との間はN1個の10Gbpsのイーサネット(登録商標)リンクで接続されている。サーバー10と第2層スイッチ30間を接続する個々の独立リンクの帯域は10Gbpsであるが、リンク・アグリゲーションを実現できれば、最大でN1個のリンクの総帯域として10×N1Gbpsのより高い帯域を得ることができる。
【0045】
また、第2層スイッチ30、40間は、N2個の10Gbpsのイーサネット(登録商標)リンクで接続されている。第2層スイッチ30、40間を接続する個々の独立リンクの帯域は10Gbpsであるが、リンク・アグリゲーションを実現できれば、最大でN2個のリンクの総帯域として10×N2Gbpsのより高い帯域を得ることができる。
【0046】
一方、クライアント60は、N3個の10Gbpsネットワーク・インターフェース・カード(NIC)50−1、50−2、…を装備し、第2層スイッチ40との間はN3個の10Gbpsのイーサネット(登録商標)リンクで接続されている。クライアント60と第2層スイッチ40間を接続する個々の独立リンクの帯域は10Gbpsであるが、リンク・アグリゲーションを実現できれば、最大でN3個のリンクの総帯域として10×N3Gbpsのより高い帯域を得ることができる。
【0047】
以下では、サーバー10又はクライアント60側のアプリケーションから送信される一連のデータのことをConversationと呼ぶことにする。Conversationは、例えば、宛先IPアドレスと宛先ポート番号の組み合わせで定義することができる。
【0048】
従来のリンク・アグリゲーション技術は、複数のConversationを各リンクに分配し、複数のリンクを統合して、総帯域でより高い帯域を得るものである(前述)。言い換えれば、単一のConversationを転送する際、Conversationを分割して各リンクに分配することは行なわず、サーバー10と第2層スイッチ30間、第2層スイッチ30、40間、第2層スイッチ40とクライアント60間のいずれにおいても1つのリンクしか使用されず、結果として1つのリンクが接続されているのと等価である。
【0049】
これに対し、以下では、サーバー・クライアント型のネットワーク・システムに、転送フレーム・コントロール機能を追加して、単一のConversationを転送する際のリンク・アグリゲーション若しくはマルチリンクを実現する方法について説明する。
【0050】
図2には、転送フレーム・コントロール機能の構成を模式的に示している。本明細書中では、転送フレーム・コントロール機能のことを「Virtual Big Pipe(仮想大容量導管):VBP」とも呼ぶ。図示の例では、転送フレーム・コントロール部210は、OSI参照モデルの第2層プロトコルにおいてフレーム転送のコントロール機能を提供するものであり、TCP/IP層220とMAC/PHY層230の間に配置される。なお、TCP/IP層220とMAC/PHY層230の間とは、通常はMACサービス・インターフェース221に相当する。
【0051】
転送フレーム・コントロール部210は、送信ポリシー保持部211と、送信フレーム・コントローラー212を備え、第2層プロトコルにおいてフレーム転送のコントロール機能を提供する。送信ポリシー保持部211は、各Conversationに設定された送信ポリシーを保持している。送信フレーム・コントローラー212は、送信ポリシー保持部211に設定されている送信ポリシーに従って、各Conversationの送信フレームの変更を行なう。後述するように、変更後の送信フレームは、第2層ネットワーク環境において、ネットワーク経路間でマルチリンクによりデータ転送される。
【0052】
送信ポリシー保持部211は、送信ポリシーを動的若しくは静的に保持する。また、各送信ポリシーは、手動若しくは自動的に送信ポリシー保持部211に設定される。例えば、データ・フローのモニター結果からの解析などに基づいて、送信ポリシーを自動的に設定するようにすることもできる。
【0053】
ここで言う送信ポリシーは、送信フレームの送信元や宛先の情報などからなる入力条件と、入力条件に応じて送信フレームに変更を行なう制御ポリシーの組み合わせからなる。送信フレームに行なう変更は、例えばVLAN(Virtual LAN)タグの付加、送信元MACアドレスの変更、宛先MACアドレスの変更などである。
【0054】
以下の表1には、送信ポリシー保持部211に保持されている設定項目例を示している。
【0055】
【表1】

【0056】
上表において、入力条件は、該当するConversationについて設定されている、送信元のMACアドレス及びポート番号からなるSource項と、送信フレームの宛て先のMACアドレスとIPアドレス、ポート番号からなるDestination項を含んでいる。
【0057】
また、制御ポリシーは、入力条件に合致した送信フレームに対して変更を行なうべき(割り当てるべき)送信元MACアドレス、宛先MACアドレス、VLAN IDの各項、並びに、該当する送信フレームに対して送信元MACアドレス、宛先MACアドレス、VLAN IDを割り当てる際の割り当てルールを指定するControl Rules項からなる。後述する実施例では、Control Rulesとして、順割り当て(Sequential Assignment:SA)のみを挙げているが、「不良検出時の割当」や、「プライオリティーや帯域要求に応じた割当」などのルールを記述することができる。
【0058】
送信フレーム・コントローラー212は、MACサービス・インターフェース221を介して、上位層のTCP/IP層220から送信フレームを受け取ると、そのヘッダー情報の内容などを解析するとともに、送信ポリシー保持部211に保持されている設定項目を参照する。そして、送信フレームのヘッダー情報と合致する入力条件を持つ設定項目が見つかったときには、送信フレーム・コントローラー212は、その設定項目の制御ポリシーとして記載されている割り当てルールに従って、送信フレームの送信元MACアドレス、宛先MACアドレス、VLAN IDを変更してから、下位層のMAC/PHY層230に渡す。この結果、単一のConversationを転送する際、複数の送信フレームを複数のリンクに割り当てて、リンク・アグリゲーションを実現することができる。リンク毎の帯域は10Gbpsであるが、送信フレームを割り当てた複数のリンクの総帯域としては、例えば40〜100Gbps程度のより高い帯域を得ることができる。
【0059】
図3Aには、図2に示した転送フレーム・コントロール機能を、ドライバーというソフトウェアの形態で実装したネットワーク・システムの構成例を示している。同図中のサーバー10並びにクライアント60がそれぞれ備えるVBPドライバーは、転送フレーム・コントロール(VBP)機能、すなわち、上述した送信ポリシー保持部211と、転送フレーム・コントローラー212として機能する。
【0060】
図3Bには、図3Aに示したように、転送フレーム・コントロール機能をVBPドライバーというソフトウェアの形態で実装した場合の、Windows(登録商標) OSにおけるプロトコル・スタック構造を例示している。同図では、既存のソフトウェアで構成可能な機能モジュール、新規のソフトウェアで構成される機能モジュール、並びに、ハードウェアで構成される機能モジュールを分けて示している。VBP仮想アダプター(Virtual Adaptor)、VBPマルチプレクサ/デマルチプレクサ、VBPフィルター、及び、NICアダプターからなるプロトコル・スタックはVBPドライバーを構成するが、米マイクロソフト社が定めたネットワーク・ドライバーの標準規格「NDIS」に準拠するものとする。例えば、10Gbpsのネットワーク・インターフェース・カードを4個使用する場合、マルチリンクの総帯域として40Gbpsのスループットを実現することができる。
【0061】
図4Aには、図2に示した転送フレーム・コントロール機能を、ネットワーク・インターフェース・カードというハードウェアの形態で実装したネットワーク・システムの構成例を示している。同図中のサーバー10並びにクライアント60がそれぞれ備えるVBPネットワーク・インターフェース・カードは、転送フレーム・コントロール(VBP)機能、すなわち、上述した送信ポリシー保持部211と、転送フレーム・コントローラー212として機能する。
【0062】
図4Bには、図4Aに示したように、転送フレーム・コントロール機能をVBPネットワーク・インターフェース・カードというハードウェアの形態で実装した場合の、Windows(登録商標) OSにおけるプロトコル・スタック構造を例示している。同図では、既存のソフトウェアで構成可能な機能モジュール、新規のソフトウェアで構成される機能モジュール、並びに、ハードウェアで構成される機能モジュールを分けて示している。VBP仮想アダプター、VBPマルチプレクサ/デマルチプレクサ、及び、VBP NICアダプターからなるプロトコル・スタックはVBPドライバーを構成するが、NDISに準拠するものとする(同上)。例えば、各VBPネットワーク・インターフェース・カードが1Gbpsの仮想的なリンクを5本又は10本持ち、且つ、VBPネットワーク・インターフェース・カードを4個又は8個使用する場合、マルチリンクの総帯域として40Gbpsのスループットを実現することができる。
【0063】
図5Aには、図2に示した転送フレーム・コントロール機能を、ドライバーというソフトウェアの形態で実装したネットワーク・システムの他の構成例を示している。図3Aとの主な相違は、サーバー10と第2層スイッチ20間がマルチリンク接続されていない点にある。同図中のサーバー10並びにクライアント60がそれぞれ備えるVBPドライバーは、転送フレーム・コントロール(VBP)機能、すなわち、上述した送信ポリシー保持部211と、転送フレーム・コントローラー212として機能する(同上)。
【0064】
図5Bには、図5Aに示したように、転送フレーム・コントロール機能をVBPドライバーというソフトウェアの形態で実装した場合の、Windows(登録商標) OSにおけるプロトコル・スタック構造を例示している。同図では、既存のソフトウェアで構成可能な機能モジュール、新規のソフトウェアで構成される機能モジュール、並びに、ハードウェアで構成される機能モジュールを分けて示している。サーバー10と第2層スイッチ20間がマルチリンク接続されていないことから、図3Bとは相違して、VBPマルチプレクサ/デマルチプレクサは不要となる。VBP仮想アダプター、VBPフィルター、及び、NICアダプターからなるプロトコル・スタックはVBPドライバーを構成するが、NDISに準拠するものとする(同上)。例えば、10Gbpsのネットワーク・インターフェース・カードを1個使用する場合、スループットは10Gbpsとなる。
【0065】
図6Aには、図2に示した転送フレーム・コントロール機能を、ネットワーク・インターフェース・カードというハードウェアの形態で実装したネットワーク・システムの他の構成例を示している。図4Aとの主な相違は、サーバー10と第2層スイッチ20間がマルチリンク接続されていない点にある。同図中のサーバー10並びにクライアント60がそれぞれ備えるVBPネットワーク・インターフェース・カードは、転送フレーム・コントロール(VBP)機能、すなわち、上述した送信ポリシー保持部211と、転送フレーム・コントローラー212として機能する(同上)。
【0066】
図6Bには、図6Aに示したように、転送フレーム・コントロール機能をVBPネットワーク・インターフェース・カードというハードウェアの形態で実装した場合の、Windows(登録商標) OSにおけるプロトコル・スタック構造を例示している。同図では、既存のソフトウェアで構成可能な機能モジュール、新規のソフトウェアで構成される機能モジュール、並びに、ハードウェアで構成される機能モジュールを分けて示している。サーバー10と第2層スイッチ20間がマルチリンク接続されていないことから、図4Bとは相違して、VBPマルチプレクサ/デマルチプレクサ並びにVBPフィルターは不要となる。VBP仮想アダプター、及び、VBP NICアダプターからなるプロトコル・スタックはVBPドライバーを構成するが、NDISに準拠するものとする(同上)。例えば、各VBPネットワーク・インターフェース・カードが1Gbpsの仮想的なリンクを5本又は10本持つ場合、マルチリンクの総帯域として5又は10Gbpsのスループットを実現することができる。
【0067】
VLANは、物理的な接続形態とは別に、仮想的なネットワークを構成することである。第2層では、ネットワーク・ドメイン内をVLAN ID毎に分割することができる。VLANを用いた転送フレーム・コントロール機能(VBP)(図2を参照のこと)の動作例について、図7を参照しながら説明する。但し、説明の簡素化のため、N1=N2=N3=3とする。
【0068】
サーバー10の転送フレーム・コントロール部210は、3つの出力ポートA、B、Cを有している。また、サーバー10と接続する第2層スイッチ30の3つの入力ポートのすべてにVLAN IDとして、1、2、3が割り当てられている。
【0069】
一方、第2層スイッチ20の3つの出力ポート、並びに、第2層スイッチ20と接続する第2層スイッチ40の入力ポートには、VLAN IDとして、1、2、3が1つずつ割り当てられている。また、第2層スイッチ40の出力ポートにも、VLAN IDとして、1、2、3が1つずつ割り当てられている。
【0070】
ここで、サーバー10側の転送フレーム・コントロール部210内の送信ポリシー保持部211には、以下の表2に示す設定項目が保持されている場合を例にとって、フレーム転送動作について説明する。
【0071】
【表2】

【0072】
上表に記載されている設定項目は、入力条件として、Source MAC AddressがA、すなわち、アプリケーションが出力ポートとしてAを指定したConversationの送信フレームに対して、Source MAC Address(送信元の出力ポート)にA、B、Cを、VLAN IDに1、2、3を、SAすなわち順番に割り当てる制御ポリシーを適用することを規定したものである。
【0073】
サーバー10側で、アプリケーションから出力リンク(Source MAC Address)としてAを指定したConversationが要求されたとする。送信フレーム・コントローラー212は、該当する送信ポリシー(表2を参照のこと)を送信ポリシー保持部211で参照すると、各送信フレームのヘッダーに1、2、3の順番でVLANタグを付加した上で、自らの出力リンクをA、B、Cの順番で切り替えながら、第2層スイッチ30に出力する。
【0074】
A1、B2、C3、A1、B2、C3、…
【0075】
この結果、サーバー10側からは、アプリケーションから出力リンクとしてAを指定したConversationのパケットが、A、B、C、A、B、Cの順番で出力ポートを切り替えながら送信される。そして、第2層スイッチ30、40間では、1、2、3、1、2、3、…の順番でVLAN IDを切り替えながら、パケットが転送される。また、第2層スイッチ40は、1、2、3、1、2、3、…の順番でVLAN IDを切り替えながら、パケットをクライアント60に転送する。したがって、同一Conversationの複数のパケットが、すべてのデバイス間でマルチリンク転送されるので、より高い帯域を得ることができる。
【0076】
図7に示した動作例は、VLANを用いて同一Conversationについてのマルチリンクを実現するものである。これに対し、VLANとさらに宛先MACアドレス(Destination MAC Address)を組み合わせて同一Conversationについてのマルチリンクを実現することもできる。VLANと宛先MACアドレスを併用した転送フレーム・コントロール機能(VBP)(図2を参照のこと)の動作例について、図8を参照しながら説明する。但し、説明の簡素化のため、N1=N2=N3=3とする。
【0077】
サーバー10の転送フレーム・コントロール部210は、3つの出力ポートA、B、Cを有している。また、サーバー10と接続する第2層スイッチ30の3つの入力ポートのすべてにVLAN IDとして、1、2、3が割り当てられているが、第2層スイッチ20の3つの出力ポートには、VLAN IDとして、1、2、3が1つずつ割り当てられている。
【0078】
一方、第2層スイッチ20と接続する第2層スイッチ40の入力ポートには、VLAN IDとして、1、2、3が1つずつ割り当てられるが、第2層スイッチ40の出力ポートのすべてにVLAN IDとして、1、2、3が割り当てられている。また、クライアント60の転送フレーム・コントロール部210は、3つの入力ポートa、b、cを有している。
【0079】
ここで、サーバー10側の転送フレーム・コントロール部210内の送信ポリシー保持部211には、以下の表3に示す設定項目が保持されている場合を例にとって、フレーム転送動作について説明する。
【0080】
【表3】

【0081】
上表に記載されている設定項目は、入力条件として、Source MAC AddressがA、すなわち、アプリケーションが出力ポートとしてAを指定し、且つ、宛先のデバイスのMACアドレス(入力ポート)及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationの送信フレームに対して、Source MAC Address(送信元の出力ポート)にA、B、Cを、Destination MAC Address(宛先の入力ポート)にa、b、cを、VLAN IDに1、2、3を、SAすなわち順番に割り当てる制御ポリシーを適用することを規定したものである。
【0082】
サーバー10側で、アプリケーションから出力リンク(Source MAC Address)としてAを、宛先のMACアドレス及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationが要求されたとする。送信フレーム・コントローラー212は、該当する送信ポリシー(表3を参照のこと)を送信ポリシー保持部211で参照すると、各送信フレームのヘッダーに1、2、3の順番でVLANタグを付加し、且つ、Destination MAC Address(宛先の入力ポート)をa、b、cの順番で変更した上で、自らの出力リンクをA、B、Cの順番で切り替えながら、第2層スイッチ30に出力する。
【0083】
Aa1、Bb2、Cc3、Aa1、Bb2、Cc3、…
【0084】
この結果、サーバー10側からは、アプリケーションから出力リンクとしてAを、宛先のMACアドレス及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationのパケットが、A、B、C、A、B、C、…の順番で出力ポートを切り替えながら送信される。そして、第2層スイッチ30、40間では、1、2、3、1、2、3、…の順番でVLAN IDを切り替えながら、パケットが転送される。続いて、第2層スイッチ40の各出力ポートからは、VLAN IDに拘わらず、a、b、c、a、b、c、…の順番で入力ポートを指定したパケットをクライアント60に転送される。したがって、同一Conversationの複数のパケットが、すべてのデバイス間でマルチリンク転送されるので、より高い帯域を得ることができる。
【0085】
さらに、VLANを用いず、MACアドレスの変更のみによる転送フレーム・コントロール機能(VBP)(図2を参照のこと)の動作も可能である。MACアドレスの変更のみによる転送フレーム・コントロール機能(VBP)の動作例について、図9を参照しながら説明する。
【0086】
第2層スイッチの中には、スイッチ間のマルチリンク機能(トランク機能)をサポートしている製品がある。マルチリンク転送を行なう条件は製品毎にさまざまであるが、Destination MAC AddressやSource MAC Addressが異なるとマルチリンク転送を行なうもののある。図9に示す例では、Source MAC Addressが異なるとマルチリンク転送を行なうように第2層スイッチを設定しているものとする。また、説明の簡素化のため、N1=N2=N3=3とする。
【0087】
サーバー10の転送フレーム・コントロール部210は、3つの出力ポートA、B、Cを有している。第2層スイッチ20の3つの出力ポート、並びに、第2層スイッチ20と接続する第2層スイッチ40の入力ポートには、VLAN IDとして、1、2、3が1つずつ割り当てられている。また、クライアント60の転送フレーム・コントロール部210は、3つの入力ポートa、b、cを有している。
【0088】
ここで、サーバー10側の転送フレーム・コントロール部210内の送信ポリシー保持部211には、以下の表4に示す設定項目が保持されている場合を例にとって、フレーム転送動作について説明する。
【0089】
【表4】

【0090】
上表に記載されている設定項目は、入力条件として、Source MAC AddressがA、すなわち、アプリケーションが出力ポートとしてAを指定し、且つ、宛先のデバイスのMACアドレス(入力ポート)及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationの送信フレームに対して、Source MAC Address(送信元の出力ポート)にA、B、Cを、Destination MAC Address(宛先の入力ポート)にa、b、cを、SAすなわち順番に割り当てる制御ポリシーを適用することを規定したものである。
【0091】
サーバー10側で、アプリケーションから出力リンク(Source MAC Address)としてAを、宛先のMACアドレス及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationが要求されたとする。送信フレーム・コントローラー212は、該当する送信ポリシー(表3を参照のこと)を送信ポリシー保持部211で参照すると、各送信フレームのヘッダーに、Source MAC Address(送信元の入力ポート)をA、B、Cの順番で変更するとともに、且つ、Destination MAC Address(宛先の入力ポート)をa、b、cの順番で変更した上で、自らの出力リンクをA、B、Cの順番で切り替えながら、第2層スイッチ30に出力する。
【0092】
A1a、B2b、C3c、A1a、B2b、C3c、…
【0093】
この結果、サーバー10側からは、アプリケーションから出力リンクとしてAを、宛先のMACアドレス及びIPアドレスとしてそれぞれa、X.X.X.Xを指定したConversationのパケットが、A、B、C、A、B、C、…の順番で出力ポートを切り替えながら送信される。そして、第2層スイッチ30、40間では、1、2、3、1、2、3、…の順番でVLAN IDを切り替えながら、パケットが転送される。続いて、第2層スイッチ40の各出力ポートからは、VLAN IDに拘わらず、a、b、c、a、b、c、…の順番で入力ポートを指定したパケットをクライアント60に転送される。したがって、同一Conversationの複数のパケットが、すべてのデバイス間でマルチリンク転送されるので、より高い帯域を得ることができる。
【0094】
図7〜図9で例示した転送フレーム・コントロール機能(VBP)は、基本的に、サーバー10とクライアント20間に介在する各第2層スイッチ30、40がマルチリンク動作を行なうように、各送信フレームのヘッダー情報を変更するものである。ヘッダー情報の変更は、送信ポリシー保持部211に保持されている、Conversation毎の送信ポリシー(表2〜表4を参照のこと)に従って行なわれる。また、送信ポリシーが未設定のConversationについては、転送フレーム・コントロール部210は通常のNICと同一の動作を行なうので、従来のNICとの互換性を保つことができる。
【0095】
本発明によれば、より低い帯域のリンクを複数束ねて使うことで、より安価で、より容易に、より高い帯域でネットワークを運用することが可能になる。例えば、40Gbpsのネットワークに移行しなくても、40Gbpsのスループットでフレームを転送することが可能になる。あるいは、安価な1Gbpsのネットワーク環境でも、10Gbpsレベルでネットワークを運用することが可能になる。
【0096】
ここで、通信装置に接続される複数のケーブルをマルチキューとみなすと、イーサネット(登録商標)スイッチ機能に関係なく、システム全体の帯域制御やプライオリティー制御などが可能になる。例えば、アプリケーションからの指示により、各ストリームの帯域やプライオリティーを考慮したケーブルの分散が可能になる。また、ネットワーク・インターフェースに流れるデータ・フローをモニターし、そのデータを基に顧客のワークフローに適合した帯域制御やプライオリティー制御も可能になる。
【0097】
最後に、本発明を適用可能な通信システムについて説明しておく。ファイルベースの通信システムは、通信装置同士が各種ネットワークを介して有機的に結合されるので、リアルタイムベースの通信システムと比較して、集中的で且つ効率的な運用が可能である。かかる観点から、放送局内ネットワークを始め各種の適用分野では、リアルタイムベースの通信システムから、ファイルベースの通信システムへの移行が急速に進んでいる。
【0098】
図12には、ファイルベースの通信システムの構成例を示している。単一の通信システム内で目的により何種類かのネットワークが使用されるケースは少なくないが、図示の例では、データ・ネットワークとコントロール・ネットワークの2種類のネットワークが使用されている。コントロール・ネットワークでは、コマンドやステータスといった比較的小帯域でリアルタイム性の強いデータが伝送される。一方、データ・ネットワークでは、オーディオやビデオなどの大容量、大帯域のデータが伝送されることが想定される。
【0099】
最近では、ビデオやオーディオの高品質化が進んでおり、これに伴って、この種のコンテンツのデータ・サイズが増加の一途を辿っている。以下の表5には、NTSC、2K HD、並びに4Kシネマの各ビデオ・フォーマットにおけるデータ帯域を挙げている。
【0100】
【表5】

【0101】
上表のうち4Kシネマ、すなわち4096/2160 444/16ビット 24FpSの場合、リアルタイム(1倍速)でのデータ帯域は約10.19Gbpsになる。本発明によれば、データ・ネットワークが安価な1Gbpsのネットワーク環境であっても、10Gbpsレベルでネットワークを運用することが可能になる。
【産業上の利用可能性】
【0102】
以上、特定の実施形態を参照しながら、本発明について詳細に説明してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0103】
本明細書で説明した各実施例(図7〜図9)はいずれも、ネットワークのコンフィギュレーションに対する静的なポリシーに基づく動作例を扱ったものであるが、本発明の要旨はこれに限定されるものではない。本発明を、例えば下記のように転送フレームの動的制御にも適用することができる。
【0104】
(1)各ネットワーク・リンクの状況をモニターし、リンク動作の不良を検出した場合に、そのリンクには送出しないように制御する。
(2)事前に設定された各Conversationのプライオリティーや要求帯域に応じて、各Conversationの使用リンク数を制御する。
(3)ネットワーク・データ・フロー状況をモニターし、各Conversationに最適な使用リンク数(プライオリティー/帯域)を、動的に自動制御する。
【0105】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【符号の説明】
【0106】
10…サーバー
20、50…ネットワーク・インターフェース・カード
30、40…第2層スイッチ
60…クライアント
210…転送フレーム・コントロール部
211…送信ポリシー保持部
212…送信フレーム・コントローラー
220…TCP/IP層
221…MACサービス・インターフェース
230…MAC/PHY層


【特許請求の範囲】
【請求項1】
Conversation毎の送信ポリシーを保持する送信ポリシー保持部と、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール部と、
を具備する通信装置。
【請求項2】
前記送信フレーム・コントロール部によって変更を行なった送信フレームを、OSI参照モデルの第2層プロトコルに従ってリンク動作する第2層スイッチに出力する、
請求項1に記載の通信装置。
【請求項3】
Conversationは、アプリケーションから送信される一連のデータからなり、宛先IPアドレスと宛先ポート番号の組み合わせで定義される、
請求項1に記載の通信装置。
【請求項4】
前記送信フレーム・コントロール部は、TCP/IP層とMAC/PHY層の間で、送信フレームの変更を行なう、
請求項1に記載の通信装置。
【請求項5】
前記送信ポリシー保持部は、Conversationの入力条件と、入力条件に適合するConversationの送信フレームに対して変更を行なう制御ポリシーを設定項目に持つ送信ポリシーを保持する、
請求項1に記載の通信装置。
【請求項6】
送信ポリシーの入力条件は、Conversationの送信元のMACアドレス、ポート番号、Conversationの宛先のMACアドレス、IPアドレス、ポート番号のうち少なくとも1つを含む、
請求項5に記載の通信装置。
【請求項7】
制御ポリシーは、Conversationの送信フレームに対する、VLANタグの付加、送信元のMACアドレスの変更、宛先のMACアドレスの変更のうち少なくとも1つを含む、
請求項5に記載の通信装置。
【請求項8】
制御ポリシーは、Conversationの送信フレームに対して、VLANタグ、送信元のMACアドレス、MACアドレスのうち少なくとも1つを割り当てる際の割り当てルールを含む、
請求項7に記載の通信装置。
【請求項9】
前記送信ポリシー保持部は、動的若しくは静的、手動若しくは自動的に設定された、Conversation毎の制御ポリシーを保持する、
請求項1に記載の通信装置。
【請求項10】
前記送信ポリシー保持部及び前記送信フレーム・コントロール部は、ネットワーク・ドライバー又はその他のソフトウェアとして実装される、
請求項1に記載の通信装置。
【請求項11】
前記送信ポリシー保持部及び前記送信フレーム・コントロール部は、ネットワーク・インターフェース・カード又はその他のハードウェアとして実装される、
請求項1に記載の通信装置。
【請求項12】
Conversation毎の送信ポリシーを保持する送信ポリシー保持ステップと、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール・ステップと、
を有する通信方法。
【請求項13】
OSI参照モデルの第2層プロトコルに従ってデータ通信を行なうための処理をコンピューター上で実行するようにコンピューター可読形式で記述されたコンピューター・プログラムであって、前記コンピューターを、
Conversation毎の送信ポリシーを保持する送信ポリシー保持部、
前記送信ポリシー保持部に保持されている送信ポリシーに従って、Conversationの送信フレームの変更を行なう送信フレーム・コントロール部、
として機能させるコンピューター・プログラム。


【図1】
image rotate

【図2】
image rotate

【図3B】
image rotate

【図4B】
image rotate

【図5B】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図3A】
image rotate

【図4A】
image rotate

【図5A】
image rotate

【図6A】
image rotate


【公開番号】特開2011−171869(P2011−171869A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−31985(P2010−31985)
【出願日】平成22年2月17日(2010.2.17)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】