JP6933535B2 - 通信装置、通信方法及びプログラム - Google Patents

通信装置、通信方法及びプログラム Download PDF

Info

Publication number
JP6933535B2
JP6933535B2 JP2017180860A JP2017180860A JP6933535B2 JP 6933535 B2 JP6933535 B2 JP 6933535B2 JP 2017180860 A JP2017180860 A JP 2017180860A JP 2017180860 A JP2017180860 A JP 2017180860A JP 6933535 B2 JP6933535 B2 JP 6933535B2
Authority
JP
Japan
Prior art keywords
frame
unit
information
communication control
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017180860A
Other languages
English (en)
Other versions
JP2019057817A (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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP2017180860A priority Critical patent/JP6933535B2/ja
Priority to US15/894,434 priority patent/US11018986B2/en
Priority to EP18156546.6A priority patent/EP3461086B1/en
Publication of JP2019057817A publication Critical patent/JP2019057817A/ja
Application granted granted Critical
Publication of JP6933535B2 publication Critical patent/JP6933535B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

本発明の実施形態は通信装置、通信方法及びプログラムに関する。
TSN(Time−Sensitive Networking)規格等に対応したネットワークを介してリアルタイム通信する通信装置が従来から知られている。また、通信装置のホストプロセッサで複数の仮想マシンを動作させ、各仮想マシンがネットワークを介して通信する技術が従来から知られている。
特表2002−520950号公報
しかしながら、従来の技術では、通信制御部で行われる通信の優先度制御を行うことが難しかった。
実施形態の通信装置は、複数の仮想マシンが稼働し、記憶部と振り分け部と第1の内部通信制御部とを備える。記憶部は、送信又は受信対象のフレームが記憶される第1記憶領域を参照するためのフレーム情報を、前記フレームの優先度に応じて異なる複数の第2記憶領域に記憶する。振り分け部は、前記フレームの優先度に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる。第1の内部通信制御部は、前記フレームの宛先に応じて、前記仮想マシン間で前記フレームの送信又は受信処理を実行する。前記フレーム情報は、前記フレームが記憶される領域の先頭位置を示すアドレス、前記フレームの長さ、及び、前記フレームの参照権限情報を含む。前記参照権限情報は、対向の第2の内部通信制御部を含む仮想マシンから前記フレームを参照する権限を示す。
第1実施形態の通信装置のハードウェア構成の例を示す図。 第1実施形態の通信装置の主要部の機能構成の例を示す図。 第1実施形態のトラヒッククラステーブルの例を示す図。 第1実施形態のゲート制御リストの例を示す図。 第1実施形態のフレームプリエンプションテーブルの例を示す図。 第1実施形態の振り分け処理の例を説明するための図。 第1実施形態の送信用ディスクリプタリングについて説明するための図。 第1実施形態の受信用ディスクリプタリングについて説明するための図。 第1実施形態の内部通信用ディスクリプタリングについて説明するための図。 第1実施形態の第1仮想マシンの通信制御の例を説明するための図。 第1実施形態の第2仮想マシンの通信制御の例を説明するための図。 第1実施形態の第3仮想マシンの通信制御の例を説明するための図。 第1実施形態の各仮想マシンの転送情報記憶部に記憶される転送情報の例を示す図。 第1実施形態の転送先テーブルの例を示す図。 第1実施形態の内部転送先アドレスリストの例を示す図。 第1実施形態の外部転送先アドレスリストの例を示す図。 第1実施形態の第2仮想マシンのフレーム送信要求処理の例を示すフローチャート。 第1実施形態の第1仮想マシンのフレーム受信処理の例を示すフローチャート。 第1実施形態の第1仮想マシンのフレーム転送処理の例を示すフローチャート。 第1実施形態の第1仮想マシンのフレーム送信処理の例を示すフローチャート。 第1実施形態の第3仮想マシンのフレーム受信処理の例を示すフローチャート。 第2実施形態の通信装置の主要部の機能構成の例を示す図。 第2実施形態の振り分け処理の例を説明するための図。 第2実施形態の第1仮想マシンの通信制御の例を説明するための図。 第2実施形態の第2仮想マシンの通信制御の例を説明するための図。 第2実施形態の第3仮想マシンの通信制御の例を説明するための図。 第2実施形態の第2仮想マシンのフレーム送信要求処理の例を示すフローチャート。 第2実施形態の第3仮想マシンのフレーム受信処理の例を示すフローチャート。 実施形態の変形例の各仮想マシンの転送情報記憶部に記憶されるデータの例1を示す図。 実施形態の変形例の第1仮想マシンの通信制御の例を説明するための図。 実施形態の変形例の第2仮想マシンの通信制御の例を説明するための図。 実施形態の変形例の第3仮想マシンの通信制御の例を説明するための図。 実施形態の変形例の各仮想マシンの転送情報記憶部に記憶されるデータの例2を示す図。
以下に添付図面を参照して、通信装置、通信方法及びプログラムの実施形態を詳細に説明する。
(第1実施形態)
はじめに第1実施形態について説明する。
[ハードウェア構成の例]
図1は第1実施形態の通信装置100のハードウェア構成の例を示す図である。第1実施形態の通信装置100は、メモリ1、ホストプロセッサ2、ストレージ3及びネットワークインタフェースコントローラ4を備える。
メモリ1は、ホストプロセッサ2内のメモリコントローラを介してホストプロセッサ2に接続される。メモリ1は、例えばDRAM(Dynamic Random Access Memory)等により実現される。
ホストプロセッサ2は、PCI Express(登録商標)等のバスを用いて、ストレージ3と接続される。同様に、ホストプロセッサ2は、PCI Express(登録商標)等のバスを用いて、ネットワークインタフェースコントローラ4と接続される。
ホストプロセッサ2は、ストレージ3に格納された実行プログラムのイメージをメモリに展開し、メモリ上の命令及びデータを読みながら処理を実行する。処理は、ホストプロセッサ2に備えられた1つまたは複数のコアにより実行される。また、ホストプロセッサ2は、ハードウェア仮想化支援機能を備えており、仮想化対応命令セット及びIOMMU(Input/Output Memory Management Unit)等により、効率的に仮想マシンを実行することができる。
ストレージ3は、例えばHDD(Hard Disk Drive)及びSSD(Solid State Drive)等により実現される。
ネットワークインタフェースコントローラ4は、ホストプロセッサ2をネットワーク200に接続する。
ネットワーク200は、例えばEthernet(登録商標)である。ネットワーク200は、IEEE 802.1で定義されるAVB(Audio Video Bridging)及びTSN規格等に対応したネットワークである。ネットワーク200の種類は任意でよい。ネットワーク200は、例えばオフィスネットワーク、データセンタ内部のネットワーク、車載ネットワーク、工場内ネットワーク、及び、携帯基地局のネットワーク等である。
ネットワークインタフェースコントローラ4は、例えばASIC(Application Specific Integrated Circit)、または、FPGA(Field−Programmable Gate Array)等により実現される。また、ネットワークインタフェースコントローラ4は、ASIC、FPGA及び汎用プロセッサの組み合わせによって実現してもよい。また、ネットワークインタフェースコントローラ4は、ホストプロセッサ2とは別のチップとして実装されてもよいし、SoC(System−on−a−Chip)として1つのチップとして実装されてもよい。
[機能構成の例]
図2は第1実施形態の通信装置100の主要部の機能構成の例を示す図である。第1実施形態の通信装置100の主要部の機能は、上述のホストプロセッサ2(メモリ1によって実現される機能も含む)及びネットワークインタフェースコントローラ4により実現される。
第1実施形態のホストプロセッサ2では、第1仮想マシン22a、第2仮想マシン22b及び第3仮想マシン22cが、ハイパバイザ21上で動作する。
以下、第1仮想マシン22a、第2仮想マシン22b及び第3仮想マシン22cを区別しない場合は、単に仮想マシン22という。なお、以下、同じ機能を有する機能ブロックが複数あり、それらを区別しない場合は、同様の省略表記をする。
ハイパバイザ21により制御される仮想マシン22の数は任意でよい。ハイパバイザ21は、転送情報共有処理要求通知部31及び内部通信処理要求通知部32を備える。
転送情報共有処理要求通知部31は、転送情報の共有処理の要求を通知する。転送情報の詳細な説明については、図10を参照して後述する。
内部通信処理要求通知部32は、内部通信の処理要求を通知する。
各仮想マシン22では、OS23が動作する。OS23は、例えばリアルタイムOS及び汎用OS等である。なお各仮想マシン22で動作するOSの種類は、同一である必要はなく、仮想マシン22毎に異なるOSを動作させてもよい。
第1仮想マシン22aは、フレーム記憶部26a、内部通信制御部(#1)27a−1、内部通信制御部(#2)27a−2、転送情報記憶部28a、フレーム転送部29及び物理通信制御部(#1)30を備える。
フレーム記憶部26aは、送信又は受信対象のフレームを記憶する。フレーム記憶部26aは例えばホストプロセッサ2に接続されたメモリ1で実現される。
内部通信制御部(#1)27a−1は、第2仮想マシン22bとの通信を制御する。内部通信制御部(#2)27a−2は、第3仮想マシン22cとの通信を制御する。仮想マシン22間の通信は、内部通信制御部を介して行われる。内部通信制御部27は、対になるようにそれぞれの仮想マシン22に備えられている。片方の内部通信制御部27がフレームを送信すると、対となる内部通信制御部27でフレームが受信される。内部通信制御部27間の通知には、上述の内部通信処理要求通知部32が使用される。内部通信処理要求通知部32は、内部通信制御部27から内部通信処理要求を受け付けると、割り込み等を用いて対となる内部通信制御部27に通知する。
転送情報記憶部28aは転送情報を記憶する。転送情報の詳細な説明については、図10を参照して後述する。転送情報記憶部28aは、例えばホストプロセッサ2に接続されたメモリ1によって実現される。
フレーム転送部29は転送情報を参照してフレームを転送する。
物理通信制御部(#1)30は、ネットワークインタフェースコントローラ4との通信を制御する。なお、ネットワークインタフェースコントローラの数は複数であってもよい。複数の場合には、ネットワークインタフェースコントローラの数と同じ物理通信制御部が備えられる。
第2仮想マシン22bは、アプリケーション24b、フレーム送受信インタフェース部25b、フレーム記憶部26b、内部通信制御部27b及び転送情報記憶部28bを備える。
アプリケーション24bは任意でよい。図2の例では、簡単のため、OS23bで動作するアプリケーション24bを1つ示しているが、OS23bで動作するアプリケーション24bは複数でもよい。また、OSなしでアプリケーション24bを動作させてもよい。
フレーム送受信インタフェース部25bは、アプリケーション24bからフレームを送受信するためのインタフェースである。
フレーム記憶部26b、内部通信制御部27b及び転送情報記憶部28bは、上述の内部通信制御部(#1)27a−1、転送情報記憶部28a、フレーム転送部29と同様なので、説明を省略する。
第3仮想マシン22cは、アプリケーション24c、フレーム送受信インタフェース部25c、フレーム記憶部26c、内部通信制御部27c及び転送情報記憶部28cを備える。第3仮想マシン22cは、上述の第2仮想マシン22bと同様なので、説明を省略する。
上述の内部通信制御部27及び物理通信制御部30等の通信制御部は、例えばデバイスドライバの機能等によって実現される。第1実施形態では、第2仮想マシン22b上でアプリケーション24bが動作し、第3仮想マシン22c上でアプリケーション24cが動作している。第1仮想マシン22aでは、第2仮想マシン22b、第3仮想マシン22c、及び、ネットワークインタフェースコントローラ4を介して接続される外部ホストとの間でフレーム転送を行うソフトウェアスイッチ(ブリッジ)が動作している。
ネットワークインタフェースコントローラ4は、ホストプロセッサ2とPCI Express(登録商標)等のバスにより接続される。ネットワークインタフェースコントローラ4は、ホストプロセッサ2の指示に従って、ネットワーク200を介してEthernet(登録商標)フレームを送受信する。
ネットワークインタフェースコントローラ4は、IEEE 802.1で規定されるTSN(Time−Sensitive Networking)規格に対応している。TSN規格には様々な種類がある。第1実施形態のネットワークインタフェースコントローラ4は、IEEE 802.1Qbuのフレームプリエンプション、及び、IEEE 802.1Qbvのゲート送信制御に対応している。
ここで、図3乃至図5を参照して、TSNで用いられる制御情報の例について説明する。
図3は第1実施形態のトラヒッククラステーブルの例を示す図である。TSN規格では、図3に示すようなトラヒッククラステーブルが定義されている。受信フレーム振り分け部43は、トラヒッククラステーブルを参照することにより、フレームに含まれる優先度(PCP:Priority Code Point)とトラヒッククラスとを対応させることができる。PCPの値は、IEEE 802.1Qで定義される。トラヒッククラスは、各ブリッジ及びエンドノード等におけるTSNの優先度を示す。トラヒッククラステーブルは各ブリッジやエンドノードのポート毎に定義されてもよい。
図4は第1実施形態のゲート制御リストの例を示す図である。ゲート制御リストは、IEEE 802.1Qbvによる送信制御で用いられる。各トラヒッククラスに対応するゲートは、ゲート制御リストにより定められた周期で、出力可能(Open)/出力不可(Close)を切り替える。この制御はポート単位で行うことができる。複数のトラヒッククラスがOpenの場合に、どのようにフレームを送信するかを選択するにはいくつかの方式がある。例えばStrict Priorityと呼ばれる方式では、トラヒッククラスによって定義される優先度の高い順に、送信対象のトラヒッククラスが選択される。
図5は第1実施形態のフレームプリエンプションテーブルの例を示す図である。フレームプリエンプションテーブルは、フレームの送信を中止して、他のフレームの送信を優先させることができるか否かを示す情報を含む優先度情報の例である。具体的には、フレームプリエンプションテーブルは、IEEE 802.1Qbuでフレームプリエンプションを行う場合に、どのトラヒッククラスがプリエンプションによってフレーム送信が中止されるトラヒッククラス(preemptable)かを示す。また、フレームプリエンプションテーブルは、IEEE 802.1Qbuでフレームプリエンプションを行う場合に、どのトラヒッククラスが他のトラヒッククラスのフレーム送信を中止して、先にフレームを送信できるトラヒッククラス(express)かを示す。これらの設定は、ユーザによって予め与えられてもよいし、CNC(Centralized Network Configuration)によって与えられてもよい。
図2に戻り、第1実施形態のネットワークインタフェースコントローラ4は、物理層処理部41、データリンク層処理部42、受信フレーム振り分け部43、物理通信インタフェース部44及び送信制御部45を備える。
物理層処理部41は、ネットワーク200と接続され、物理層に関わる送受信処理を実行する。
データリンク層処理部42は、データリンク層に係わる送受信処理を実行する。
受信フレーム振り分け部43は、データリンク層処理部42からフレームを受け付けると、当該フレームを振り分ける。
図6は第1実施形態の振り分け処理の例を説明するための図である。受信フレーム振り分け部43は、上述のトラヒッククラステーブルを使用して、フレーム中のIEEE802.1Qで定義されるPCP値をトラヒッククラスに変換し、当該トラヒッククラスにより、当該フレームを振り分ける。具体的には、受信フレーム振り分け部43は、物理通信制御部30のフレーム情報記憶部305の受信用のトラヒッククラス毎に異なるディスクリプタリング(記憶領域)に、フレームのフレーム情報を振り分ける。受信フレーム振り分け部43は、物理通信インタフェース部44を介して、ディスクリプタに書かれている転送先アドレスに受信フレームを転送し、割り込み等により、物理通信制御部30にフレームの受信処理が完了したことを通知する。なお、フレーム情報及びディスクリプタリングの詳細な説明については、図7A乃至図8を参照して後述する。
図2に戻り、物理通信インタフェース部44は、ホストプロセッサ2の物理通信制御部30とやり取りするためのインタフェースである。例えば、ホストプロセッサ2への割り込み通知や、ホストプロセッサ2に提供するレジスタインタフェース、ディスクリプタリングを読んでメモリ1との間のデータを転送する機能などを提供する。
送信制御部45は、送信の優先度制御等の送信制御を行う。送信制御部45は、物理通信制御部30のフレーム情報記憶部305の送信用のトラヒッククラス毎のディスクリプタリングにフレームの転送元アドレス及び長さが書き込まれると、当該フレームの送信制御を行う。送信制御部45は、例えばIEEE 802.1Qbv及びIEEE 802.1Qbu等の送信制御を行う。フレームは、送信が許可されると、データリンク層処理部42で、データリンク層に関わる送信処理が行われ、物理層処理部41で、物理層に関わる送信処理が行われた後、ネットワーク200に送信される。
図7Aは第1実施形態の送信用ディスクリプタリングについて説明するための図である。図7Bは第1実施形態の受信用ディスクリプタリングについて説明するための図である。
図7Aは、物理通信制御部30のフレーム情報記憶部305に記憶される送信用ディスクリプタリングの構成の例を示す。図7Bは、物理通信制御部30のフレーム情報記憶部305に記憶される受信用ディスクリプタリングの構成の例を示す。ディスクリプタリングは、リングバッファで構成されており、1つのエントリをディスクリプタ(descriptor、記述子)と呼ぶ。
ディスクリプタリングは、ホストプロセッサ2と接続されたメモリ1上に記憶される。ディスクリプタリングは、ネットワークインタフェースコントローラ4からはDMA(Direct Memory Access)によりアクセスされる。
ディスクリプタリングは、HeadとTailという2つの変数により管理される。図7A及びBに示すように、HeadからTail−1のディスクリプタは、HW(ハードウェア)、すなわちネットワークインタフェースコントローラ4が所有しているディスクリプタを示す。また、TailからHead−1のディスクリプタは、SW(ソフトウェア)、すなわちホストプロセッサ2上で動作するソフトウェア(物理通信制御部30)が所有しているディスクリプタを示す。
転送処理が送信処理である場合と、転送処理が受信処理である場合とでは、ディスクリプタに含まれる情報が異なる。
送信用ディスクリプタは、転送元アドレス、長さ及びステータスを含むフレーム情報を記憶する。転送元アドレスは、送信対象のフレームが記憶されている記憶領域の先頭位置を示すフレーム記憶部26aの先頭アドレスを示す。長さは、送信対象のフレームの長さを示す。ステータスは、送信処理の状態を示す情報が格納される。
受信用ディスクリプタは、転送先アドレス、長さ及びステータスを含むフレーム情報を記憶する。転送先アドレスは、受信対象のフレームを記憶する記憶領域の先頭位置を示すフレーム記憶部26aの先頭アドレスを示す。長さは、受信対象のフレームの長さを示す。ステータスは、受信処理の状態を示す情報が格納される。
上述のステータスには、例えばエラービット及びDONEビット(完了ビット)等が含まれる。エラービットは、転送エラーの有無を示す。DONEビットは、ネットワークインタフェースコントローラ4で処理が終わったことを示す。送信用ディスクリプタのDONEビットが1の場合、送信処理が終わったことを示し、受信用ディスクリプタのDONEビットが1の場合、受信処理が終わったことを示す。送信または受信の処理(例えばフレームのデータ転送)が終わる(完了する)と、ネットワークインタフェースコントローラ4が、各ビット(エラービット及びDONEビット)に1を書き込む。そして、ホストプロセッサ2が、各ビットを確認した後に、各ビットに0を書き込むことにより、各ビットをクリアする。
図8は第1実施形態の内部通信制御部27の間でやり取りを行う内部通信用ディスクリプタリングについて説明するための図である。内部通信制御部27間のやり取りはハイパバイザ21を介して行われる。ディスクリプタリングはリングバッファで構成される。それぞれのディスクリプタには、フレーム情報が記憶される。図8のフレーム情報は、フレームの先頭アドレス、フレームの長さ、及び、フレームの参照権限情報を含む。フレームの参照権限情報は、他の仮想マシン22のメモリに記憶されているフレームを参照するために用いられる情報である。
内部通信用ディスクリプタリングは4つのポインタで管理される。まず、処理要求を行う仮想マシン22の処理部(Request Producer)は、ディスクリプタに処理要求を書き込み、ハイパバイザ21に処理を依頼する。ハイパバイザ21の処理部(Request Consumer)は、処理要求を受け付けると、応答処理を行う仮想マシン22の処理部(Response Consumer)に処理を依頼する。応答処理を行う仮想マシン22の処理部は、ハイパバイザ21の処理部から依頼を受けると、処理を行う。
Req_prodからReq_cons−1までが処理要求の貯まる領域である。Req_consからRsp_prod−1までがハイパバイザ21の処理待ちの領域である。Rsp_prodからRsp_cons−1までが処理応答の貯まる領域である。Rsp_consからReq_prod−1までが未使用の領域である。
Req_prodは、処理要求を行う仮想マシン22の処理部によって更新される。Req_cons及びRsp_prodは、ハイパバイザ21の処理部により更新される。Rsp_consは応答処理を行う仮想マシン22の処理部によって更新される。各処理部は、内部通信処理要求通知部32からの通知を受けて、これらのポインタ情報を参照することで、処理すべきデータがあるか否かを判定することができる。
次に、第1実施形態の通信制御の例について説明する。
図9Aは第1実施形態の第1仮想マシン22aの通信制御の例を説明するための図である。図9Bは第1実施形態の第2仮想マシン22bの通信制御の例を説明するための図である。図9Cは第1実施形態の第3仮想マシン22cの通信制御の例を説明するための図である。
第1実施形態の仮想マシン22間のフレーム転送は、フレームの優先度を考慮し、IEEE 802.1 TSNで規定される転送を行うことが可能である。TSN規格は様々ある。ここでは、ネットワークインタフェースコントローラ4の場合と同様に、ゲート制御送信及びフレームプリエンプションをサポートしている場合について説明する。
図9A乃至Cに示すように、内部通信制御部27は、第1仮想マシン22aと第2仮想マシン22bで機能が異なる。ここでは、説明のため、第2仮想マシン22bの内部通信制御部27b、及び、第3仮想マシン22cの内部通信制御部22cをフロントエンド内部通信制御部と呼び、第1仮想マシン22aの内部通信制御部27a−1及び27a−2を、バックエンド内部通信制御部と呼ぶ。
フロントエンド内部通信制御部は、送信フレーム振り分け部271、フレーム送信完了通知部272、フレーム受信完了通知部273、受信フレーム記憶領域確保部274、送信フレーム記憶領域解放部275、フレーム情報記憶部276、内部通信処理要求部277、内部通信処理部278及び受信フレーム選択部279を備える。
送信フレーム振り分け部271は、送信対象のフレームのフレーム情報を、フレーム情報記憶部276に記憶された送信方向のディスクリプタリングに振り分ける。
フレーム送信完了通知部272は、フレーム送受信インタフェース部25にフレームの送信完了を通知する。
フレーム受信完了通知部273は、フレーム送受信インタフェース部25にフレームの受信完了を通知する。
受信フレーム記憶領域確保部274は、受信フレームを記憶するための領域をフレーム記憶部26に確保する。また、受信フレーム記憶領域確保部274は、フレーム参照権限情報を生成し、当該フレーム参照権限情報をバックエンド側に伝達する。フレーム参照権限情報は、対向の内部通信制御部27が動作する仮想マシン22からフレームを参照するため権限を示す情報である。
送信フレーム記憶領域解放部275は、バックエンド側で送信されたフレームの処理が終わった時に、当該フレームが記憶されていたフレーム記憶部26の記憶領域を解放する。
フレーム情報記憶部276は、内部通信用ディスクリプタリング(図8参照)を用いてフレーム情報を記憶する。
内部通信処理要求部277は、内部通信処理要求通知部32を介して、対向のバックエンド内部通信制御部に処理要求を通知する。例えば、内部通信処理要求通知部32はハイパバイザ21の機能によって実現される。
内部通信処理部278は、内部通信処理要求通知部32から通知を受け付けると、内部通信のための処理を行う。
受信フレーム選択部279は、フレーム情報記憶部276に記憶された受信方向のディスクリプタリングから、受信対象フレームのフレーム情報を記憶するディスクリプタリングを選択する。
バックエンド内部通信制御部は、フレーム送信完了通知部272、フレーム受信完了通知部273、内部通信処理要求部277、内部通信処理部278、送信フレームマップ部280及び受信フレーム複製部281を備える。
フレーム送信完了通知部272は、フレーム転送部29にフレームの送信完了を通知する。
フレーム受信完了通知部273は、フレーム転送部29にフレームの受信完了を通知する。
内部通信処理要求部277は、内部通信処理要求通知部32を介して対向のフロントエンド内部通信制御部に処理要求を通知する。
内部通信処理部278は、内部通信処理要求通知部32から通知を受け付けると、内部通信のための処理を行う。
送信フレームマップ部280は、フロントエンド側から送信されたフレームを参照できるようにするため、当該フレームの記憶領域を第1仮想マシン22aのメモリ領域にマップする。
受信フレーム複製部281は、受信したフレームをフロントエンド側へ伝達する場合に、フロントエンド側で確保された記憶領域に当該フレームのデータをコピーし、第1仮想マシン22a側で確保された当該フレームの記憶領域を解放する。
また、第1仮想マシン22aの物理通信制御部30は、フレーム受信完了通知部301、フレーム送信完了通知部302、受信フレーム記憶領域確保部303、送信フレーム記憶領域解放部304、フレーム情報記憶部305、物理通信処理要求部306及び物理通信処理部307を備える。
フレーム受信完了通知部301は、フレーム転送部29にフレームの受信完了を通知する。
フレーム送信完了通知部302は、フレーム転送部29にフレームの送信完了を通知する。
受信フレーム記憶領域確保部303は、受信されたフレームを記憶するためのフレーム記憶部26aの記憶領域を確保する。
送信フレーム記憶領域解放部304は、送信されたフレームが記憶されていたフレーム記憶部26aの記憶領域を解放する。
フレーム情報記憶部305、送信用ディスクリプタリング(図7A参照)、及び、受信用ディスクリプタリング(図7B参照)を用いてフレーム情報を記憶する。
物理通信処理要求部306は、物理通信インタフェース部44に処理要求を通知する。
物理通信処理部307は、物理通信インタフェース部44から通知を受けると、物理通信処理を実行する。
上述の物理通信制御部30は、フレーム転送部29と接続される。
フレーム転送部29は、受信フレーム選択部291、転送情報書き込み部292及び送信フレーム振り分け部293を備える。
受信フレーム選択部291は、受信対象フレームのフレーム情報を記憶するディスクリプタリングを選択する。
転送情報書き込み部292は、転送情報記憶部28aに転送情報を書き込む。転送情報の詳細は、図10を参照して後述する。
送信フレーム振り分け部293は、送信対象フレームのフレーム情報を記憶するディスクリプタリングを選択する。
上述のフロントエンド内部通信制御部、及び、上述のバックエンド内部通信制御部は、フロントエンド内部通信制御部のフレーム情報記憶部276を用いてフレーム情報をやり取りする。
例えば、第2仮想マシン22bでは、図9Bに示すように、送信方向及び受信方向それぞれに、トラヒッククラス毎に異なるディスクリプタリングを備える。また、送信方向のディスクリプタリングは2種類用意されている。1つは、同一のホストプロセッサ2で動作する第2仮想マシン22b用の内部宛のディスクリプタリングであり、もう1つは、それ以外の外部宛のディスクリプタリングである。
また、フレーム情報記憶部276bに記憶された各ディスクリプタリング(記憶領域)は、上述の4つのポインタの値で管理される(図8参照)。フレーム情報記憶部276bは、第2仮想マシン22bで確保された共有メモリである。この共有メモリの記憶領域は、バックエンド内部通信制御部(すなわち第1仮想マシン22a)に対して、読み出し及び書き込みの許可が与えられている。第1仮想マシン22aで動作するバックエンド内部通信制御部は、ハイパバイザ21を介して、この共有メモリの記憶領域に対して読み出し及び書き込みを行うことができる。
次に、受信方向のディスクリプタについて説明する。受信フレーム記憶領域確保部274が、フロントエンド側のMTU(Maximum Transmission Unit)のサイズで、フレーム記憶部26の記憶領域を確保する。次に、受信フレーム記憶領域確保部274は、バックエンド側の第1仮想マシン22aからフレームを参照できるように、フレーム参照権限情報を生成して、ハイパバイザ21に通知する。次に、受信フレーム記憶領域確保部274が、受信方向のディスクリプタにフレーム参照権限情報を記憶する。次に、内部通信処理要求部277が、ハイパバイザ21の内部通信処理要求通知部32を介して、バックエンド側に通知する。
通知を受けたバックエンド側では、内部通信処理部278aが、フレーム情報記憶部276の受信方向のディスクリプタに記憶されたフレーム情報を取得する。次に、バックエンド側からフレームをフロントエンド側に送る要求があった場合、受信フレーム複製部281aが、送信対象のフレームをフロントエンド側から伝えられた確保済みのフレーム記憶部26の記憶領域に書き込む(コピーする)。次に、受信フレーム複製部281aが、コピーされたフレームの先頭アドレス、長さ及び参照権限情報を含むフレーム情報を、受信方向のディスクリプタに書き込む。次に、内部通信処理要求部277が、内部通信処理要求通知部32を介してフロントエンド側に通知する。
次に、送信方向のディスクリプタについて説明する。フロントエンド側からバックエンド側へのフレーム送信要求があった場合、送信フレーム振り分け部271が、送信方向のディスクリプタにフレーム情報を書き込む。次に、内部通信処理要求部277が、ハイパバイザ21の内部通信処理要求通知部32を介して、バックエンド側の内部通信処理部278に通知する。
バックエンド側では、送信フレームマップ部280が、送信方向のディスクリプタに書き込まれたフレーム情報に含まれるフレーム参照権限情報を用いて、第1仮想マシン22aの仮想メモリに、フレーム情報から特定されるフレームをマップして参照できるようにする。次に、送信フレームマップ部280は、マップして参照できるようにしたフレームの使用が終わったら、当該フレームの参照に使用されていた第1仮想マシン22aのアドレス空間をアンマップする。次に、送信フレームマップ部280は、バックエンド側からフロントエンド側に伝達されるフレーム情報をフレーム情報記憶部276に書き込む。次に、バックエンド側の内部通信処理要求部277が、内部通信処理要求通知部32を介して、フロントエンド側の内部通信処理部278に通知する。次に、送信フレーム記憶領域解放部275が、通知を受けたフレームが記憶されていたフレーム記憶部26の記憶領域を解放する。
図10は第1実施形態の各仮想マシン22の転送情報記憶部28に記憶される転送情報の例を示す。なお、ここでは仮想マシン22aと仮想マシン22bを例に説明するが、仮想マシン22aと仮想マシン22cも、仮想マシン22aと仮想マシン22bの場合と同様である。
第1仮想マシン22aの転送情報記憶部28aは、転送先テーブル、第1仮想マシン22aの物理通信制御部(#0)30の優先制御情報、第1仮想マシン22aの各バックエンド内部通信制御部の優先制御情報、及び、第1仮想マシン22aの各バックエンド内部通信制御部の対向である各フロントエンド内部通信制御部の優先制御情報を記憶する。
転送先テーブルの詳細については、図11を参照して後述する。優先制御情報は、上述のトラヒッククラステーブル(図3参照)、上述のゲート制御リスト(図4参照)、及び、上述のプリエンプションテーブル(図5参照)を含む。優先制御情報は、例えばユーザの操作入力、及び、CNC等により、予め与えられる。このようにポート毎(通信制御部毎、すなわち、ネットワークインタフェース毎)に優先制御情報が与えられる。
第2仮想マシン22bの転送情報記憶部28bは、内部転送先アドレスリスト、第1仮想マシン22aの内部通信制御部(#1)27a−1の優先制御情報、及び、第2仮想マシン22bの内部通信制御部27bの優先制御情報を記憶する。内部転送先アドレスリストについては、図12Aを参照して後述する。
転送情報記憶部28は、共有メモリで構成される。転送情報記憶部28の転送情報は、転送情報共有処理要求によって、図中の矢印の方向へ送信される。この転送情報共有処理要求によって、転送情報を同期させることができる。同期は、例えば、転送情報記憶部28aまたは転送情報記憶部28bのいずれかの情報が変更された時に行われる。この際、差分のみを共有するようにしてもよい。
図11は第1実施形態の転送先テーブルの例を示す図である。転送先テーブル(転送先情報)の各エントリは、フレーム転送部29の転送情報書き込み部292によって、作成、更新又は消去される。具体的には、転送情報書き込み部292は、フレームを受信した際に、当該フレームの送信元MACアドレス(送信元アドレス情報)と、フレームの受信処理で使用されたネットワークインタフェース(通信制御部、ポート)とを関連付けて記録する。各エントリはタイマによって管理され、一定時間使用されないエントリは削除される。このため、図示しないが各エントリで残りタイマ値を記録し、転送情報書き込み部292でタイマを用いて減算して管理するようにしてもよい。また、図示しないが転送先テーブルは別途、IEEE802.1Qで定義されるVLANに対応し、各出力先インタフェースが属するVLANの識別子であるVLAN ID(図6中のVID)を管理してもよい。各出力先インタフェース(ポート)が属するVLAN IDは予めユーザなどから与えられ、これにより、VLAN IDによってネットワークの分離を実現することができる。
図12Aは第1実施形態の内部転送先アドレスリストの例を示す図である。内部転送先アドレスリストは、転送先テーブルからホストの外への通信、すなわち物理通信制御部30を介した通信を除外したMACアドレスのリストである。ソフトウェアスイッチの動作する第1仮想マシン22aの送信フレーム振り分け部293は、第1仮想マシン22aの各通信制御部の転送情報を用いて送信フレームを振り分ける。内部通信制御部27bの送信フレーム振り分け部271bは、内部転送先アドレスリストと、当該内部通信制御部27bの優先制御情報とを用いて、送信フレームを振り分ける。受信フレーム選択部279bは、各通信制御部のディスクリプタリングに記憶されたフレーム情報の有無と、各通信制御部のトラヒッククラステーブル、対向の内部通信制御部の優先制御情報とを用いて、フレーム情報を取得するディスクリプタリングを選択する。
図12Bは第1実施形態の外部転送先アドレスリストの例を示す図である。外部転送先アドレスリストは、転送先テーブルからホスト内への通信、すなわち内部通信制御部27を介した通信を除外したMACアドレスのリストである。転送情報記憶部28bは、内部転送先アドレスリストではなく、外部転送先アドレスリストを記憶してもよい。転送情報記憶部28bが、外部転送先アドレスリストを記憶する場合の例は、図23を用いて、実施形態の変形例として説明する。
次に、図13乃至図17を参照して、第1実施形態の通信方法の例について説明する。第2仮想マシン22bのアプリケーション24bから、第1仮想マシン22aのフレーム転送部29を通って、第3仮想マシン22cのアプリケーション24cに到達するまでの動作を例にして説明する。
図13は第1実施形態の第2仮想マシン22bのフレーム送信要求処理の例を示すフローチャートである。
はじめに、内部通信制御部27bが、フレーム情報を生成する(ステップS1)。具体的には、第2仮想マシン22bのアプリケーション24bからフレームの送信が指示されると、フレーム送受信インタフェース部25bの送信フレーム記憶領域確保部251bが、送信されるフレームが格納されるフレーム記憶部26bの記憶領域を確保する。次に、送信フレーム記憶領域確保部251bが、フレームが記憶された記憶領域の先頭アドレスと、フレームの長さとを内部通信制御部27bに伝える。次に、内部通信制御部27bは、対向の内部通信制御部27a−1が動作する第1仮想マシン22aからフレームにアクセスできるようにするため、フレーム参照権限情報を生成し、ハイパバイザ21に通知する。そして、内部通信制御部27bは、フレームが記憶された記憶領域の先頭アドレス、当該フレームの長さ、及び、フレーム参照権限情報を含むフレーム情報を生成する。
次に、送信フレーム振り分け部271bが、転送情報記憶部28aに記憶された上述の内部転送先アドレスリスト(図12A参照)を使用して、フレームの宛先MACアドレスが内部宛か否かを判定する(ステップS2)。具体的には、送信されるフレームの宛先MACアドレスが、内部転送先アドレスリストに含まれていれば、当該フレームは内部宛と判定される。
宛先MACアドレスが内部宛の場合(ステップS2,Yes)、送信フレーム振り分け部271bは、内部宛のディスクリプタリングにフレーム情報を追加する(ステップS3)。具体的には、送信フレーム振り分け部271bは、内部宛の複数のディスクリプタリングのうち、トラヒッククラス(優先度)に応じて選択されたディスクリプタリングにフレーム情報を追加し、ポインタを更新する。
ここで、トラヒッククラスは、例えばアプリケーション24bから指定されてもよい。アプリケーション24bにより指定される場合には、内部通信制御部27bが、トラヒッククラスを更に含むフレーム情報を生成してもよい。また例えば、トラヒッククラスは、フレームに含まれるPCP値から、トラヒッククラステーブルを用いて変換することにより得られたトラヒッククラスの値でもよい。
宛先MACアドレスが内部宛でない場合(ステップS2,No)、送信フレーム振り分け部271bは、外部宛のディスクリプタリングにフレーム情報を追加する(ステップS4)。具体的には、送信フレーム振り分け部271bは、外部宛の複数のディスクリプタリングのうち、トラヒッククラス(優先度)に応じて選択されたディスクリプタリングにフレーム情報を追加し、ポインタを更新する。
なお、ディスクリプタリングは、PCP値に応じて用意されていてもよい。この場合、上述のステップS3及びステップS4の処理では、トラヒッククラスでなく、フレームに含まれるPCP値がそのまま利用される。
また、トラヒッククラスの分だけディスクリプタリングが確保できない場合等では、送信フレーム振り分け部27bが、フレームプリエンプションテーブル(図5参照)を参照し、expressに設定されているトラヒッククラスと、preemptableに設定されているトラヒッククラスとを、それぞれ1つ又は複数にまとめてディスクリプタリングに割り当ててもよい。なお、本実施形態においてトラヒッククラスの数は8の場合を図示したが、トラヒッククラスの数はIEEE 802.1Qで定められる任意の数を用いてよい。
次に、内部通信処理要求部277bが、内部通信処理要求通知部32に通知要求を送信して、対向の第1仮想マシン22aの内部通信制御部27a−1に通知する(ステップS5)。
図14は第1実施形態の第1仮想マシン22aのフレーム受信処理の例を示すフローチャートである。はじめに、内部通信処理部278a−1が、内部通信処理要求通知部32から通知を受け付けると、フレーム情報を確認し、処理すべきディスクリプタリングを特定する(ステップS11)。上述の図13のフローチャートの送信要求処理により、送信方向のディスクリプタリングに処理すべきフレーム情報が入っている。
次に、送信フレームマップ部280a−1が、ステップS11の処理により特定されたディスクリプタリングに記憶されたフレーム情報に含まれるフレーム参照権限情報を用いて、フレームが格納されている第2仮想マシン22bのメモリを、第1仮想マシン22aのアドレス空間にマップするように、ハイパバイザ21に依頼する(ステップS12)。
次に、フレーム受信完了通知部273a−1が、フレームの受信を完了したことをフレーム転送部29に通知する(ステップS13)。
図15は第1実施形態の第1仮想マシン22aのフレーム転送処理の例を示すフローチャートである。
はじめに、受信フレーム選択部291が、第1仮想マシン22aの内部通信制御部27aのフレーム受信完了通知部273a(または物理通信制御部30のフレーム受信完了通知部301)からフレーム受信完了通知を受け付けると、対応する通信制御部のフレーム情報記憶部276(またはフレーム情報記憶部305)のディスクリプタリングの状態を確認する(ステップS21)。具体的には、受信フレーム選択部291は、対応する通信制御部が物理通信制御部30の場合、受信方向のトラヒッククラス毎に分けられたディスクリプタリングの状態を確認する。また、受信フレーム選択部291は、対応する通信制御部が内部通信制御部27の場合、送信方向の内部宛及び外部宛の各トラヒッククラスのディスクリプタリングの状態を確認する。
次に、受信フレーム選択部291は、優先度に従って、フレームの受信処理を行うディスクリプタリングを選択する(ステップS22)。内部宛よりも外部宛のフレームのほうが転送に時間がかかる。そのため、受信フレーム選択部291は、例えば外部宛のフレームを優先して選択してもよい。この際、受信フレーム選択部291は、物理通信制御部30の受信方向のディスクリプタは内部宛として扱うことができる。また例えば、受信フレーム選択部291は、外部宛のフレームと内部宛のフレームとで分けた後、それぞれにおいて、トラヒッククラスの値が大きいもの、すなわち優先度の高いものから受信するように選択してもよい。また例えば、受信フレーム選択部291は、フレームが外部宛であるか内部宛であるかに関わらず、トラヒッククラスの値が大きいものから選択するようにしてもよい。また例えば、受信フレーム選択部291は、転送情報記憶部28aに記憶された対向の内部通信制御部27の優先制御情報のフレームプリエンプションテーブルを参照して、expressに設定されているトラヒッククラスを優先して選択してもよい。また、場合によっては逆に外部宛よりも内部宛を優先するように選択してもよい。また、転送情報記憶部28aから第2仮想マシンの内部通信制御部の優先制御情報からゲート制御リストを参照し、ホストプロセッサ2で管理される現在時刻を用いて、出力可能(Open)状態のトラヒッククラスからStrict Priority方式で選択してもよい。
次に、転送情報書き込み部292が、転送情報記憶部28aの転送先テーブルにエントリを書き込む(ステップS23)。具体的には、まず、転送情報書き込み部292が転送情報記憶部28aの転送先テーブルに受信したフレームの宛先MACアドレスに対応するエントリが既に作成されているかを確認する。既にある場合、そのエントリがタイマによって削除されないように、残りタイマ値を規定の値に更新する。まだない場合には、転送情報書き込み部292が、受信したフレームの送信元MACアドレスを、宛先MACアドレスとし、フレームを受信したネットワークインタフェースを、出力先ネットワークインタフェースとして含むエントリを、転送情報記憶部28aに記憶された転送先テーブルに作成する。
次に、送信フレーム振り分け部293が、フレームの宛先アドレスから出力する通信制御部を決定し(ステップS24)、当該通信制御部に対応する複数のディスクリプタリングから、当該フレームのフレーム情報を書き込むディスクリプタリングを選択する(ステップS25)。具体的には、送信フレーム振り分け部293は、まず、転送先テーブルを参照して、送信対象のフレームの宛先MACアドレスに一致するエントリがあるか否かを確認する。送信フレーム振り分け部293は、宛先MACアドレスが一致するエントリがあれば、そのエントリの出力先ネットワークインタフェースに記載されている通信制御部からフレームを送信することを決定する。また、送信フレーム振り分け部293は、宛先MACアドレスに一致するエントリがなければ、同じVLANに属する全ての通信制御部からフレームを送信することを決定する(フラッディング)。次に、送信フレーム振り分け部293は、フレームを出力すると決定した通信制御部の複数のディスクリプタから、送信対象のフレームのトラヒッククラスに応じたディスクリプタリングを選択する。
なお、ステップS25の処理において、送信フレーム振り分け部293は、必要であれば、転送情報記憶部28aの各通信制御部のトラヒッククラステーブルを参照し、PCPの値をトラヒッククラスの値に書き換えてもよい。
また、ディスクリプタリングは、PCP値に応じて用意されていてもよい。この場合、ステップS25の処理では、トラヒッククラスでなく、フレームに含まれるPCPの値がそのまま利用される。
また、トラヒッククラスの分だけディスクリプタリングが確保できない場合等では、送信フレーム振り分け部293が、フレームプリエンプションテーブル(図5参照)を参照し、expressに設定されているトラヒッククラスと、preemptableに設定されているトラヒッククラスとを、それぞれ1つ又は複数にまとめてディスクリプタリングに割り当ててもよい。
図16は第1実施形態の第1仮想マシン22aのフレーム送信処理の例を示すフローチャートである。はじめに、受信フレーム複製部281a−2が、前述の送信フレーム振り分け部293により選択されたディスクリプタリングからフレーム記憶部26cに確保済みの受信フレームの記憶領域を取得し、その受信フレームの記憶領域にフレームを複製する(ステップS31)。
次に、受信フレーム複製部281a−2が、ステップS31の処理により複製されたフレームのフレーム情報を受信方向のディスクリプタリングに書き込む(ステップS32)。具体的には、出力先が対向の内部通信制御部27cの場合、受信フレーム複製部281a−2が、対向の内部通信制御部27cのフレーム情報記憶部276cの受信方向のディスクリプタリングに書き込みを行い、ポインタを更新する。
次に、内部通信処理要求部277a−2が、ステップS32の処理により書き込まれたフレーム情報の処理を、内部通信処理要求通知部32に要求する(ステップS33)。
次に、送信フレームマップ部280a−1が、書き込み元のフレームの参照を解除し、伝達されてきた送信方向のディスクリプタを使用して、フレーム情報を第2仮想マシン22bに伝達する(ステップS34)。第2仮想マシン22bの送信フレーム記憶領域解放部275bは、フレームの記憶領域を解放する。
なお、出力先が物理通信制御部30の場合、ステップS32の処理では、送信フレーム振り分け部293が、物理通信制御部30のフレーム情報記憶部305の送信方向のディスクリプタに書き込みを行い、ポインタを更新する。ステップS33の処理では、物理通信処理要求部306が、ステップS32の処理により書き込まれたフレーム情報の処理を、物理通信インタフェース部44に要求する。
なお、本実施形態では、フレーム転送部29がフレーム受信完了通知部273a−1やフレーム受信完了通知部301からフレーム受信完了通知を受けて動作する例を示したが、フレーム転送部29がタイマなどにより動作するようにし、受信フレーム選択部がフレーム情報記憶部276bやフレーム情報記憶部305のディスクリプタリングをポーリングしてフレームの転送を行うようにしてもよい。また、フレーム転送部29と内部通信制御部27aが一体となって動作するようにしてもよい。
図17は第1実施形態の第3仮想マシン22cのフレーム受信処理の例を示すフローチャートである。はじめに、内部通信処理部278cが、内部通信処理要求通知部32から通知を受け付けると、フレーム情報記憶部276cに処理すべきディスクリプタリングがあるか否かを判定する(ステップS41)。
上述の図16のフローチャートのフレーム送信処理により、受信方向のディスクリプタリングに処理すべきフレーム管理情報が入っているため、処理はステップS42に進む(ステップS41,Yes)。なお、処理すべきディスクリプタリングがない場合(ステップS41,No)、処理は終了する。
次に、フレーム受信完了通知部273cが、受信処理完了をフレーム送受信インタフェース部25cに通知する(ステップS42)。
次に、受信フレーム選択部279cが、フレーム送受信インタフェース部25cから、フレーム受信の要求を受け付けると、優先度に基づき選択された受信方向のディスクリプタリングから、フレーム情報を取得する(ステップS43)。
なお、優先度は、例えばトラヒッククラスの値が大きいほど高い。また例えば、受信フレーム選択部279cは、転送情報記憶部28cに記憶された対向の内部通信制御部27a−2の優先制御情報のフレームプリエンプションテーブル(図5参照)を参照して、expressに設定されているトラヒッククラスを優先して選択してもよい。また、転送情報記憶部28cから第1仮想マシンの内部通信制御部(#2)27a−2の優先制御情報からゲート制御リストを参照し、ホストプロセッサ2で管理される現在時刻を用いて、出力可能(Open)状態のトラヒッククラスからStrict Priority方式で選択してもよい。
次に、受信フレーム選択部279cは、ステップS43の処理により取得されたフレーム情報を参照して、フレーム記憶部26cからフレームを取得し、当該フレームを、フレーム送受信インタフェース部25cを介して、アプリケーション24cにより指定されたバッファ等にコピーする(ステップS44)。
次に、受信フレーム記憶領域解放部252cが、フレーム記憶部26cに記憶されていたコピー元のフレームの記憶領域を解放する(ステップS45)。
次に、受信フレーム記憶領域確保部252cが、次のフレーム受信に備え、次のフレームが記憶されるフレーム記憶部26cの記憶領域を確保する(ステップS46)。
次に、受信フレーム記憶領域確保部252cが、ステップS46の処理により確保された記憶領域に記憶されるフレームのフレーム情報を、受信方向のディスクリプタリングを用いて、対向の内部通信制御部27a−2に伝達する(ステップS47)。また、受信フレーム記憶領域確保部252cは、ステップS47の処理により伝達されるフレーム情報に含まれるフレーム参照権限情報をハイパバイザ21に伝える。これにより、対向の内部通信制御部27a−2が動作する第1仮想マシン22aが、次のフレームの記憶に使用されるフレーム記憶部26cの記憶領域にアクセスできるようにする。
以上説明したように、第1実施形態の通信装置100では、送信フレーム振り分け部271bが、フレームの優先度に基づいて、当該フレームのフレーム情報を各通信制御部(内部通信制御部27及び物理通信制御部30)のフレーム情報記憶部276(305)の異なるディスクリプタリング(記憶領域)に振り分けて記憶させる。これにより第1実施形態の通信装置100によれば、通信制御部で行われる通信の優先度制御を行うことができる。
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
図18は第2実施形態の通信装置100の主要部の機能構成の例を示す図である。第2実施形態では、ネットワークインタフェースコントローラ4−2が、各仮想マシン22に対して通信インタフェースを提供する。また、第2実施形態の通信装置100は、ネットワークインタフェースコントローラ4−2で入出力の調停を行う仮想化技術であるSingle Root I/O Virtualization(SR−IOV)に対応している。
第2実施形態のホストプロセッサ2−2は、仮想通信制御部33b及び33cを更に備える。また、第2実施形態のネットワークインタフェースコントローラ4−2は、仮想通信インタフェース部46b及び46cを更に備える。
第2実施形態の第2仮想マシン22b−2では、仮想通信制御部33bが、仮想通信インタフェース部46bと通信する。これにより、第2仮想マシン22b−2が、ネットワークインタフェースコントローラ4−2と直接、通信する。これはPCI Passthroughなどによって実現される。
同様に、第2実施形態の第3仮想マシン22c−2では、仮想通信制御部33cが、仮想通信インタフェース部46cと通信する。これにより、第3仮想マシン22c−2が、ネットワークインタフェースコントローラ4−2と直接、通信する。
図19は第2実施形態の振り分け処理の例を説明するための図である。第2実施形態の受信フレーム振り分け部43−2は、フレームの送信先MACアドレスを使用して、宛先の通信制御部(物理通信制御部30、仮想通信制御部33b又は仮想通信制御部33c)を選択する。次に、受信フレーム振り分け部43−2は、第1実施形態と同様にして、フレームのトラヒッククラスに応じて、当該フレームのフレーム情報をディスクリプタリングに振り分ける。
次に、第2実施形態の通信制御の例について説明する。
図20Aは第2実施形態の第1仮想マシンの通信制御の例を説明するための図である。図20Bは第2実施形態の第2仮想マシンの通信制御の例を説明するための図である。図20Cは第2実施形態の第3仮想マシンの通信制御の例を説明するための図である。
図20Aの説明は、図9Aの説明と同様であるので省略する。
図20Bについて説明する。第2実施形態の第2仮想マシン22b−2は、仮想通信制御部33bを更に備える。また、第2実施形態の第2仮想マシン22b−2の内部通信制御部27bのフレーム情報記憶部276b−2は、送信方向が外部宛のフレームのフレーム情報を記憶するディスクリプタがない点が、第1実施形態のフレーム情報記憶部276bとは異なる。第2実施形態の送信フレーム振り分け部271b−2は、送信方向が外部宛のフレームのフレーム情報を、仮想通信制御部33bのフレーム情報記憶部335bの送信方向のディスクリプタに振り分ける。
図20Cの説明は、図20Bの説明と同様であるので省略する。
図21は第2実施形態の第2仮想マシン22b−2のフレーム送信要求処理の例を示すフローチャートである。送信フレーム振り分け部271b−2の動作が、上述の第1実施形態の説明(図13参照)とは異なる。送信フレーム振り分け部271b−2は、転送情報を参照し、送信対象のフレームの宛先MACアドレスが外部宛の場合(ステップS2,No)、外部宛のディスクリプタとして、仮想通信制御部33bのフレーム情報記憶部335bの送信方向のディスクリプタを選択し、当該フレームのフレーム情報を追加する(ステップS4)。次に、仮想通信処理要求部336bが、ステップS4の処理により追加されたフレーム情報から特定されるフレームの送信処理要求を仮想通信インタフェース部46bに通知する(ステップS6)。
図22は第1実施形態の第3仮想マシン22c−2のフレーム受信処理の例を示すフローチャートである。ステップS41−2及びステップS43−2の動作が、上述の第1実施形態の説明(図17参照)とは異なる。
はじめに、内部通信処理部278cが、内部通信処理要求通知部32から通知を受け付けると、フレーム情報記憶部276c−2の受信方向のディスクリプタリング、又は、フレーム情報記憶部335cの受信方向のディスクリプタリングに処理すべきディスクリプタリングがあるか否かを判定する(ステップS41−2)。
処理すべきディスクリプタリングがない場合(ステップS41−2,No)、処理は終了する。
処理すべきディスクリプタリングがある場合(ステップS41−2,Yes)、フレーム受信完了通知部273c又は332cが、受信処理完了をフレーム送受信インタフェース部25cに通知する(ステップS42)。
次に、受信フレーム選択部279c−2が、フレーム送受信インタフェース部25cから、フレーム受信の要求を受け付けると、優先度に基づき選択された受信方向のディスクリプタリングから、フレーム情報を取得する(ステップS43−2)。
ステップS44〜ステップS47の説明は、上述の図17の説明と同様なので省略する。
以上説明したように、第2実施形態の通信装置100は、送信対象のフレームの宛先が外部宛の場合、仮想通信制御部33を用い、送信対象のフレームの宛先が内部宛の場合、内部通信制御部27を用いて通信を行う。これにより、第2実施形態の通信装置100によれば、第1実施形態の通信装置100と同様の効果を得ることができる。また、第2実施形態の通信装置100によれば、CPUの処理負荷を下げ、より効率的な通信を行うことが可能となる。
なお、上述の第1及び第2実施形態の通信装置100は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、上述の第1及び第2実施形態の通信装置100の機能構成のうち、プログラムにより実現させることができる機能を、コンピュータ装置に搭載されたプロセッサに当該プログラムを実行させることにより実現させることができる。このとき、通信装置100は、例えばプログラムをコンピュータ装置にあらかじめインストールすることで実現されてもよい。また例えば、通信装置100は、CD−ROM等の記憶媒体に記憶されたプログラムをコンピュータ装置に適宜インストールすることで実現されてもよい。また例えば、通信装置100は、ネットワークを介して配布されたプログラムをコンピュータ装置に適宜インストールすることで実現されてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、上述の実施形態では、フレーム情報記憶部276、305及び335がリングバッファ(ディスクリプタリング)である場合について説明したが、フレーム情報記憶部276、305及び335はキュー(FIFO:First In First Out)によって実現されていてもよい。
また例えば、上述の実施形態では、フレーム転送部29を第1仮想マシン22a内で動作させる場合について説明したが、フレーム転送部29はハイパバイザ21で動作させてもよい。
また例えば、上述の実施形態では、第2仮想マシン22bの転送情報記憶部28b、及び、第3仮想マシン22cの転送情報記憶部28cが、内部転送先アドレスリスト(図12A参照)を記憶する場合について説明した。しかしながら、第2仮想マシン22bの転送情報記憶部28b、及び、第3仮想マシン22cの転送情報記憶部28cは、図23に示すように、外部転送先アドレスリスト(図12B参照)を記憶してもよい。この場合、送信フレーム振り分け部271b及び271cは、フレームの送信先MACアドレスが外部転送先アドレスリストに含まれていない場合、当該フレームのフレーム情報を内部宛のディスクリプタリングに振り分ける。
また、上述の実施形態では、第2仮想マシン22b、及び、第3仮想マシン22cにおいて、フレーム情報記憶部276の受信方向にトラヒッククラス毎のディスクリプタリング、および、受信フレーム選択部279、を備える場合について説明した。しかしながら、図24A乃至24Cに示すように、第1仮想マシン22aにおいて、受信フレーム選択部279、及び、受信方向にトラヒッククラス毎のディスクリプタリングを含むフレーム情報記憶部282aを内部通信制御部27毎に備える場合には、第2仮想マシン22b、及び、第3仮想マシン22cにおいて、フレーム情報記憶部276の受信方向に1つのディスクリプタリングを備えるようにしてもよい。なお、図では、受信フレーム選択部279とフレーム情報記憶部282aは内部通信制御部27内に備えるようにしたが、内部通信制御部27外でもよい。また、この場合、受信フレーム選択部279は第1仮想マシン22aの転送情報記憶部28aに含まれる第1仮想マシン22aの内部通信制御部(#1)27a−1の優先制御情報を参照して受信フレームを選択する。これにより、第2仮想マシン22b、及び、第3仮想マシン22cの受信フレーム選択部279において受信フレームを選択する必要がなくなるため、図25に示すように、第2仮想マシン22bの転送情報記憶部28b−3に第1仮想マシンの内部通信制御部(#1)の優先制御情報を記憶する必要がなくなる。これにより、第1仮想マシン22aの内部通信制御部(#1)27a−1の優先制御情報に関する仮想マシン22間での共有処理をする必要がなくなる。なお、図24B、及び、図24Cでは、フレーム情報記憶部276の受信方向に1つのディスクリプタリングを備える場合を示したが、図9B、及び、図9Cと同様に、フレーム情報記憶部276の受信方向に2つまたは、それ以上のディスクリプタリングを備えるようにし、受信フレーム選択部279を備えてもよい。この場合、例えば、フレームプリエンプションテーブルを参照して、expressに設定されているトラヒッククラスと、それ以外というように分け、受信フレーム選択部276で受信するディスクリプタリングを選択してもよい。
1 メモリ
2 ホストプロセッサ
3 ストレージ
4 ネットワークインタフェースコントローラ
21 ハイパバイザ
22 仮想マシン
23 OS
24 アプリケーション
25 フレーム送受信インタフェース部
26 フレーム記憶部
27 内部通信制御部
28 転送情報記憶部
29 フレーム転送部
30 物理通信制御部
31 転送情報共有処理要求通知部
32 内部通信処理要求通知部
33 仮想通信制御部
41 物理層処理部
42 データリンク層処理部
43 受信フレーム振り分け部
44 物理通信インタフェース部
45 送信制御部
46 仮想通信インタフェース部
100 通信装置
200 ネットワーク
251 送信フレーム記憶領域確保部
252 受信フレーム記憶領域解放部
271 送信フレーム振り分け部
272 フレーム送信完了通知部
273 フレーム受信完了通知部
274 受信フレーム記憶領域確保部
275 送信フレーム記憶領域解放部
276 フレーム情報記憶部
277 内部通信処理要求部
278 内部通信処理部
279 受信フレーム選択部
280 送信フレームマップ部
281 受信フレーム複製部
282 フレーム情報記憶部
291 受信フレーム選択部
292 転送情報書き込み部
293 送信フレーム振り分け部
301 フレーム受信完了通知部
302 フレーム送信完了通知部
303 受信フレーム記憶領域確保部
304 送信フレーム記憶領域解放部
305 フレーム情報記憶部
306 物理通知処理要求部
307 物理通信処理部
331 フレーム送信完了通知部
332 フレーム受信完了通知部
333 受信フレーム記憶領域確保部
334 送信フレーム記憶領域解放部
335 フレーム情報記憶部
336 仮想通信処理要求部
337 仮想通信処理部

Claims (12)

  1. 複数の仮想マシンが稼働し、
    送信又は受信対象のフレームが記憶される第1記憶領域を参照するためのフレーム情報を、前記フレームの優先度に応じて異なる複数の第2記憶領域に記憶する記憶部と、
    前記フレームの優先度に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる振り分け部と、
    前記フレームの宛先に応じて、前記仮想マシン間で前記フレームの送信又は受信処理を実行する第1の内部通信制御部と、を備え、
    前記フレーム情報は、前記フレームが記憶される領域の先頭位置を示すアドレス、前記フレームの長さ、及び、前記フレームの参照権限情報を含み、
    前記参照権限情報は、対向の第2の内部通信制御部を含む仮想マシンから前記フレームを参照する権限を示す、
    通信装置。
  2. 前記フレーム情報から特定される前記フレームの送信又は受信処理を要求する通信処理要求部、
    を更に備える請求項1に記載の通信装置。
  3. 前記フレームの優先度は、前記フレームの送信を中止して、他のフレームの送信を優先させることができるか否かを示す情報を含み、
    前記振り分け部は、前記フレームの送信を中止して、他のフレームの送信を優先させることができるか否かを示す情報に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる、
    請求項1に記載の通信装置。
  4. 前記振り分け部は、前記フレームに含まれる情報から前記フレームの優先度を特定し、特定された前記フレームの優先度に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる、
    請求項1に記載の通信装置。
  5. 前記フレームの優先度は、前記フレームに含まれる情報を使用して判定されたトラヒッククラスであり、
    前記振り分け部は、前記トラヒッククラスに応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる、
    請求項4に記載の通信装置。
  6. 前記フレームの宛先に応じて、前記フレームの送信又は受信処理を実行する複数の通信制御部を備え、
    前記記憶部は、前記複数の通信制御部毎にあり、
    前記振り分け部は、前記フレームの宛先に応じて、前記通信制御部を選択し、選択された前記通信制御部の前記記憶部が有する前記複数の第2記憶領域のいずれかに、前記フレームの優先度に応じて、前記フレームのフレーム情報を振り分けて記憶させ、
    前記振り分け部は、前記フレームの宛先が内部宛の場合、前記第1の内部通信制御部を選択する、
    請求項1に記載の通信装置。
  7. 前記振り分け部は、前記フレームの受信処理で記録された、前記フレームの送信元アドレス情報と、前記フレームの受信処理で使用された前記通信制御部とが関連付けられた転送先情報を使用して、前記フレームの宛先に応じた前記通信制御部を選択する、
    請求項6に記載の通信装置。
  8. 記複数の通信制御部は、前記仮想マシンと他の通信装置との間の通信に使用される物理通信制御部を更に含み、
    前記振り分け部は、前記フレームの宛先が外部宛の場合、前記物理通信制御部を選択する、
    請求項6に記載の通信装置。
  9. 記複数の仮想マシンは、ネットワークインタフェースコントローラの物理通信インタフェース部と直接接続される第1仮想マシンと、ネットワークインタフェースコントローラの物理通信インタフェース部と直接接続されない1以上の第2仮想マシンとを含み、
    前記複数の通信制御部は、前記第1仮想マシンと他の通信装置との間の前記物理通信インタフェース部を介した通信に使用される物理通信制御部と、前記第2仮想マシンと他の通信装置との間の仮想通信インタフェース部を介した通信に使用される仮想通信制御部とを更に含む、
    請求項6に記載の通信装置。
  10. 前記複数の仮想マシンは、前記フレームの送信又は受信を行う、
    請求項1に記載の通信装置。
  11. 複数の仮想マシンが稼働し、送信又は受信対象のフレームが記憶される第1記憶領域を参照するためのフレーム情報を、前記フレームの優先度に応じて異なる複数の第2記憶領域に記憶する記憶部を備える通信装置の通信方法であって、
    前記フレームの優先度に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させるステップと、
    前記フレームの宛先に応じて、前記仮想マシン間で前記フレームの送信又は受信処理を実行するステップと、を含み、
    前記フレーム情報は、前記フレームが記憶される領域の先頭位置を示すアドレス、前記フレームの長さ、及び、前記フレームの参照権限情報を含み、
    前記参照権限情報は、対向の第2の内部通信制御部を含む仮想マシンから前記フレームを参照する権限を示す、
    通信方法。
  12. 複数の仮想マシンが稼働し、送信又は受信対象のフレームが記憶される第1記憶領域を参照するためのフレーム情報を、前記フレームの優先度に応じて異なる複数の第2記憶領域に記憶する記憶部を備えるコンピュータを、
    前記フレームの優先度に応じて、前記フレームのフレーム情報を前記複数の第2記憶領域のいずれかに振り分けて記憶させる振り分け部と、
    前記フレームの宛先に応じて、前記仮想マシン間で前記フレームの送信又は受信処理を実行する第1の内部通信制御部、として機能させ、
    前記フレーム情報は、前記フレームが記憶される領域の先頭位置を示すアドレス、前記フレームの長さ、及び、前記フレームの参照権限情報を含み、
    前記参照権限情報は、対向の第2の内部通信制御部を含む仮想マシンから前記フレームを参照する権限を示す、
    プログラム。
JP2017180860A 2017-09-21 2017-09-21 通信装置、通信方法及びプログラム Active JP6933535B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017180860A JP6933535B2 (ja) 2017-09-21 2017-09-21 通信装置、通信方法及びプログラム
US15/894,434 US11018986B2 (en) 2017-09-21 2018-02-12 Communication apparatus, communication method, and computer program product
EP18156546.6A EP3461086B1 (en) 2017-09-21 2018-02-13 Communication apparatus, communication method and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017180860A JP6933535B2 (ja) 2017-09-21 2017-09-21 通信装置、通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019057817A JP2019057817A (ja) 2019-04-11
JP6933535B2 true JP6933535B2 (ja) 2021-09-08

Family

ID=61563091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017180860A Active JP6933535B2 (ja) 2017-09-21 2017-09-21 通信装置、通信方法及びプログラム

Country Status (3)

Country Link
US (1) US11018986B2 (ja)
EP (1) EP3461086B1 (ja)
JP (1) JP6933535B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818671B (zh) * 2019-07-05 2022-02-01 维沃移动通信有限公司 支持端口控制的方法及设备
JP7309579B2 (ja) * 2019-11-14 2023-07-18 株式会社東芝 通信装置、通信方法及びプログラム
EP3866442B1 (en) * 2020-02-17 2023-06-07 ABB Schweiz AG Interface apparatus between tsn-devices and non-tsn-devices
JP7337750B2 (ja) * 2020-06-01 2023-09-04 株式会社東芝 通信制御装置、通信制御方法、情報処理装置、情報処理方法、および、プログラム
WO2022003882A1 (ja) 2020-07-01 2022-01-06 日本電信電話株式会社 L2スイッチ、通信制御方法、および、通信制御プログラム
JP2022139706A (ja) * 2021-03-12 2022-09-26 株式会社東芝 通信装置、プロセッサ、通信方法およびプログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483846B1 (en) 1998-07-10 2002-11-19 Honeywell Inc. Middleware-based real-time communication system
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
JP2005115603A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 記憶デバイス制御装置及びその制御方法
US7958255B1 (en) 2003-11-04 2011-06-07 Advanced Micro Devices, Inc. Partial coalescing of transmit buffers
JP2005269134A (ja) * 2004-03-18 2005-09-29 Matsushita Electric Ind Co Ltd 構内交換機
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US7333430B2 (en) 2005-07-06 2008-02-19 Fortinet, Inc. Systems and methods for passing network traffic data
EP1791305A1 (en) 2005-11-25 2007-05-30 Alcatel Lucent Storing and processing a data unit in a network device
JP4884402B2 (ja) * 2008-01-10 2012-02-29 アラクサラネットワークス株式会社 中継装置とその制御方法
KR101127598B1 (ko) * 2008-12-10 2012-03-23 한국전자통신연구원 센서네트워크에서 다중 안테나 정합과 dma 기반 데이터 전달 방법 및 이를 위한 싱크노드
JP5174747B2 (ja) 2009-06-18 2013-04-03 株式会社日立製作所 計算機システムおよび管理装置
JP5347811B2 (ja) * 2009-07-31 2013-11-20 富士通株式会社 伝送装置、伝送方法及び制御プログラム
US8325713B2 (en) * 2010-03-02 2012-12-04 Dell Products, Lp System and method to enable large MTUs in data center ethernet networks
US9306849B2 (en) 2010-05-03 2016-04-05 Pluribus Networks, Inc. Methods and systems for managing distribute media access control address tables
US8625597B2 (en) * 2011-01-07 2014-01-07 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
US9166917B2 (en) 2011-07-17 2015-10-20 Broadcom Corporation Link layer preemption
CN103947167B (zh) * 2011-11-15 2017-05-17 日本电气株式会社 网络通信装置和传输帧的优先频带限制的方法
US9092269B2 (en) * 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
JP6287864B2 (ja) 2012-06-29 2018-03-07 日本電気株式会社 QoS制御システム、QoS制御方法及びプログラム
US9544348B2 (en) * 2013-01-04 2017-01-10 Google Inc. Cloud-based rendering
JP6337437B2 (ja) * 2013-09-30 2018-06-06 富士通株式会社 情報処理装置、情報処理システム、及びプログラム
EP3075134B1 (en) * 2013-11-26 2019-01-09 Telefonaktiebolaget LM Ericsson (publ) A method and system of supporting service chaining in a data network
JP2015126499A (ja) * 2013-12-27 2015-07-06 日本電気株式会社 送信装置、受信装置、パケット送信方法、及びパケット受信方法
JP6175389B2 (ja) * 2014-03-13 2017-08-02 株式会社東芝 通信装置、情報処理装置、通信方法および通信プログラム
US9531847B2 (en) * 2014-05-22 2016-12-27 International Business Machines Corporation Skipping and parsing internet protocol version 6 (IPv6) extension headers to reach upper layer headers
US9603052B2 (en) * 2014-07-31 2017-03-21 Imagination Technologies Limited Just in time packet body provision for wireless transmission
JP6352869B2 (ja) 2015-08-21 2018-07-04 日本電信電話株式会社 帯域制御システムおよび帯域制御方法
KR102164032B1 (ko) * 2016-12-19 2020-10-12 엘지전자 주식회사 네트워크 장치 및 네트워크 장치의 전송 선택 방법

Also Published As

Publication number Publication date
EP3461086A1 (en) 2019-03-27
US20190089646A1 (en) 2019-03-21
JP2019057817A (ja) 2019-04-11
US11018986B2 (en) 2021-05-25
EP3461086B1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
JP6933535B2 (ja) 通信装置、通信方法及びプログラム
JP4740897B2 (ja) 仮想ネットワーク構成方法及びネットワークシステム
EP3361387B1 (en) Data transmission method, equipment and system
US10084647B2 (en) Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
WO2013136522A1 (ja) 計算機システム及び計算機間のデータ通信方法
CN107846443B (zh) 网络中的分布式处理
WO2015058377A1 (zh) 一种创建虚拟机的方法和装置
CN110162378B (zh) 一种资源调度的方法、装置、设备及***
US10761859B2 (en) Information processing system, management device, and method for controlling information processing system
US11336725B2 (en) Communication apparatus, communication method, and computer program product
JP7354361B2 (ja) 処理装置、処理方法及びプログラム
CN104731635A (zh) 一种虚拟机访问控制方法,及虚拟机访问控制***
US9858096B2 (en) Communication device migration method of extension function and communication system
US11625199B2 (en) Communication apparatus, communication method, and computer program product
JP2020088514A (ja) 送信装置、通信装置、通信システム、送信方法、およびプログラム
JP7451438B2 (ja) 通信装置、通信システム、通知方法及びプログラム
JP6036445B2 (ja) 通信システム、中継装置、通信方法、及びプログラム
US11409553B1 (en) System and method for isolating work within a virtualized scheduler using tag-spaces
KR101634672B1 (ko) 네트워크 인터페이스 가상화 장치, 방법 및 이를 실행하기 위한 컴퓨터 프로그램
CN111865794A (zh) 一种逻辑端口的关联方法、***、设备及数据传输***
JP4905255B2 (ja) Ioアダプタとそのデータ転送方法
JP2022022059A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JP2005043940A (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210819

R151 Written notification of patent or utility model registration

Ref document number: 6933535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151