JP2015080175A - パケット処理装置、パケット処理方法、パケット処理プログラム - Google Patents

パケット処理装置、パケット処理方法、パケット処理プログラム Download PDF

Info

Publication number
JP2015080175A
JP2015080175A JP2013217772A JP2013217772A JP2015080175A JP 2015080175 A JP2015080175 A JP 2015080175A JP 2013217772 A JP2013217772 A JP 2013217772A JP 2013217772 A JP2013217772 A JP 2013217772A JP 2015080175 A JP2015080175 A JP 2015080175A
Authority
JP
Japan
Prior art keywords
packet
buffer
undefined
processing method
openflow
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.)
Granted
Application number
JP2013217772A
Other languages
English (en)
Other versions
JP6127900B2 (ja
Inventor
山下 真司
Shinji Yamashita
真司 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013217772A priority Critical patent/JP6127900B2/ja
Priority to US14/460,541 priority patent/US9590925B2/en
Publication of JP2015080175A publication Critical patent/JP2015080175A/ja
Application granted granted Critical
Publication of JP6127900B2 publication Critical patent/JP6127900B2/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow

Abstract

【課題】入力されたパケットによるバッファ溢れを回避するパケット処理装置を提供することを目的とする。【解決手段】パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信するパケット送信部130と、パケットを格納するバッファ110と、を有し、パケット送信部130は、フローテーブルに未定義のパケットが入力されたときに、バッファ110の利用率が閾値を超えている場合、未定義のパケットを他のパケット処理装置に送信し、バッファ110の利用率が閾値以下の場合、未定義のパケットをバッファ110に格納するとともに、未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理装置である。【選択図】図2

Description

本発明は、パケット処理装置、パケット処理方法及びパケット処理プログラムに関する。
OpenFlowを採用した通信システムが知られている。OpenFlowを採用した通信システムは、パケット処理装置としてのOpenFlowスイッチとコントローラ(以下、OpenFlowコントローラという。)とを含んでいる(例えば、非特許文献1参照)。
OpenFlowスイッチは、非特許文献1に示されるように、フローテーブルを備えている。フローテーブルは、入力されたパケットの処理方法が定義される表である。したがって、OpenFlowスイッチにパケットが入力されると、フローテーブルに定義された内容に従って、パケットが処理される。パケットの処理としては、例えば転送や破棄などがある。
一方、フローテーブルに定義されていないパケットがOpenFlowスイッチに入力されると、OpenFlowスイッチはパケットの処理方法をOpenFlowコントローラに問い合わせる。OpenFlowスイッチはOpenFlowコントローラから送信された処理方法を受信し、受信した処理方法に従ってパケットを処理する。
OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01). [online]. December 31, 2009. [retrieved on 2013-06-24]. Retrieved from the Internet:<URL:http://www.openflow.org/documents/openflow−spec−v1.0.0.pdf>.
ところで、OpenFlowスイッチがパケットの処理方法をOpenFlowコントローラに問い合わせている間、OpenFlowスイッチに入力されたパケットは、OpenFlowスイッチが備えているバッファに記憶される。バッファは、一定の記憶容量を有している。ところが、バッファがパケットを記憶している間に、フローテーブルに定義されていない別のパケットがさらにOpenFlowスイッチに入力されると、バッファの記憶容量を上回る場合がある。この場合、パケットがバッファから溢れるバッファ溢れが発生する。バッファ溢れが発生すると、入力された別のパケットは破棄される。別のパケットが破棄されると、別のパケットの送信元にその旨が通知されて別のパケットの再送が実行される。この結果、例えば転送時間の増大や転送効率の劣化といった問題が生じる。
そこで、1つの側面では、本発明は、入力されたパケットによるバッファ溢れを回避するパケット処理装置、パケット処理方法及びパケット処理プログラムを提供することを目的とする。
本明細書に開示のパケット処理装置は、パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信するパケット送信部と、パケットを格納するバッファと、を有し、前記パケット送信部は、前記フローテーブルに未定義のパケットが入力されたときに、前記バッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理装置である。
本明細書に開示のパケット処理方法は、パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップを実行するパケット処理方法であって、前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理方法である。
本明細書に開示のパケット処理プログラムは、パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップをコンピュータに実行させるためのパケット処理プログラムであって、前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理プログラムである。
本明細書に開示のパケット処理装置、パケット処理方法及びパケット処理プログラムによれば、入力されたパケットによるバッファ溢れを回避することができる。
図1は、第1実施形態における通信システムの概略的な構成を示す図である。 図2(a)は、OpenFlowスイッチのブロック図の一例である。図2(b)は、OpenFlowコントローラのブロック図の一例である。 図3(a)は、フローテーブルの一例である。図3(b)は、ルールの一例である。図3(c)は、アクションの定義の一例である。 図4は、OpenFlowスイッチのハードウェア構成の一例である。 図5は、OpenFlowコントローラのハードウェア構成の一例である。 図6は、OpenFlowスイッチの動作の一例を示すフローチャートである。 図7は、OpenFlowコントローラの動作の一例を示すフローチャートである。 図8は、第1実施形態における通信システムの動作の一例を説明するための図である。 図9は、第1実施形態における通信システムの動作の一例を説明するための図である。 図10は、第1実施形態における通信システムの動作の一例を説明するための図である。 図11は、第1実施形態における通信システムの動作の一例を説明するための図である。 図12は、第1実施形態における通信システムの動作の一例を説明するための図である。 図13は、第1実施形態における通信システムの動作の一例を説明するための図である。 図14は、第1実施形態における通信システムの動作の一例を示すシーケンス図である。 図15は、第2実施形態における通信システムの動作の一例を説明するための図である。 図16は、第2実施形態における通信システムの動作の一例を説明するための図である。 図17は、第2実施形態における通信システムの動作の一例を説明するための図である。 図18は、第2実施形態における通信システムの動作の一例を説明するための図である。
以下、本発明を実施するための形態について図面を参照して説明する。
(第1実施形態)
図1は、第1実施形態における通信システムS1の概略的な構成を示す図である。
通信システムS1は、図1に示すように、OpenFlowスイッチ100−1,100−2及びOpenFlowコントローラ200を備えている。
OpenFlowスイッチ100−1とOpenFlowスイッチ100−2は互いに通信回線によって接続されている。OpenFlowスイッチ100−1,100−2は、それぞれOpenFlowコントローラ200と制御回線によって接続されている。OpenFlowスイッチ100−1は、通信回線によって送信ホスト300とも接続されている。OpenFlowスイッチ100−2は、通信回線によって受信ホスト400とも接続されている。通信回線及び制御回線は、例えば光ファイバやメタルケーブルといったケーブル類である。このような有線接続に代えて、無線接続が利用されてもよい。
OpenFlowスイッチ100−1,100−2は、それぞれ入力されたパケットを処理する。パケットの処理としては、上述した転送や破棄のほか、例えばパケットヘッダの修正(又は書換)などがある。例えば、送信ホスト300から送信されたパケットがOpenFlowスイッチ100−1に入力された場合、OpenFlowスイッチ100−1は入力されたパケットをOpenFlowスイッチ100−2に転送する。OpenFlowスイッチ100−1から転送されたパケットがOpenFlowスイッチ100−2に入力された場合、OpenFlowスイッチ100−2は入力されたパケットを受信ホスト400に転送する。この結果、送信ホスト300から送信されたパケットは、受信ホスト400に到達する。尚、OpenFlowスイッチ100−1,100−2の詳細については、後述する。
OpenFlowコントローラ200は、OpenFlowスイッチ100−1,100−2の動作を制御する。例えば、OpenFlowコントローラ200は、OpenFlowスイッチ100−1からパケットの処理方法の問い合わせを受信すると、そのパケットの処理方法をOpenFlowスイッチ100−1,100−2に送信する。OpenFlowスイッチ100−1は、受信したパケットの処理方法に従って、パケットを処理する。OpenFlowスイッチ100−1が受信したパケットをOpenFlowスイッチ100−2に転送した場合、OpenFlowスイッチ100−2は、受信したパケットの処理方法に従って、パケットを処理する。
上述した問い合わせは、例えばPacketInメッセージに基づいて行われる。PacketInメッセージは、OpenFlowスイッチ100−1が未定義のパケットを受信したことをOpenFlowコントローラ200に通知するメッセージである。上述したパケットの処理方法の送信は、例えばFlowModメッセージに基づいて行われる。FlowModメッセージは、OpenFlowスイッチ100−1,100−2に新たなフローエントリを登録(又は追加)したり、既存のフローエントリを変更又は削除したりするメッセージである。尚、OpenFlowコントローラ200及びフローエントリの詳細については、後述する。また、PacketInメッセージ及びFlowModメッセージを含む各種メッセージは、OpenFlowプロトコルによって定められている。
送信ホスト300は、パケットを送信するホスト装置である。受信ホスト400は、パケットを受信するホスト装置である。ホスト装置としては、例えばサーバ装置がある。送信ホスト300は、パケット送信以外にも各種の処理を実行する。受信ホスト400は、パケット受信以外にも各種の処理を実行する。
続いて、図2及び図3を参照して上述したOpenFlowスイッチ100−1,100−2及びOpenFlowコントローラ200の詳細について説明する。
図2(a)は、OpenFlowスイッチ100−1,100−2のブロック図の一例である。図2(b)は、OpenFlowコントローラ200のブロック図の一例である。図3(a)は、フローテーブルの一例である。図3(b)は、ルールの一例である。図3(c)は、アクションの定義の一例である。
まず、図2(a)及び図3(a)〜図3(c)を参照してOpenFlowスイッチ100−1,100−2について説明する。尚、OpenFlowスイッチ100−1とOpenFlowスイッチ100−2は基本的に同様の構成であるため、一例としてOpenFlowスイッチ100−1をOpenFlowスイッチ100として説明する。
OpenFlowスイッチ100は、図2(a)に示すように、バッファ110、フローテーブル記憶部120、パケット送信部130パケット送信部130、及びバッファ利用率監視部150を備えている。
バッファ110は、OpenFlowスイッチ100に入力されたパケットを格納する。より詳しくは、パケット送信部130によってパケットが処理されるまで、バッファ110はパケットを記憶する。すなわち、バッファ110はパケットを一時的に記憶する。バッファ110は、一定の記憶容量を有している。このため、バッファ110が自身の記憶容量を上回るパケットを記憶しようとすると、バッファ110はパケットを記憶しきれず、バッファ溢れが発生する。バッファ溢れは例えばパケットロスとも呼ばれる。
フローテーブル記憶部120は、フローテーブルを記憶する。フローテーブルは、図3(a)に示すように、少なくとも1つのフローエントリを含んでいる。フローエントリは、フローIdentification(フローID)、ルール、アクション及び統計情報を備えている。フローIDは、フローエントリを識別する識別情報である。ルールは、パケットヘッダとのマッチング条件を表している。具体的には図3(b)に示すように、ルールは、スイッチポート、MAC送信元アドレス、・・・、TCP送信元ポート番号、TCP宛先ポート番号といった各種の属性を備えている。尚、属性が同じパケットの集合は例えばフローと呼ばれる。OpenFlowスイッチ100に入力されたパケットのパケットヘッダとルールとが属性毎に比較されて、両者が一致した場合に、後述するアクションが実行される。一致は一部一致と完全一致のいずれでもよい。アクションは、パケットヘッダとルールが一致した場合に実行されるパケット処理を定義する。アクションは、図3(c)に示すように、パケットを受信したポート以外の他のポートへの転送を定義する「ALL」、OpenFlowコントローラ200への転送を定義する「CONTROLLER」等に類別される。アクションに何も登録されていない場合、入力されたパケットは破棄される。統計情報は、フローテーブルのフローエントリ毎のマッチング状況を表している。例えば、マッチング状況は一致したパケットのバイト数を含んでいる。パケットのバイト数とともに一致したパケットのパケット数が含まれていてもよい。
パケット送信部130は、フローテーブルに基づいてOpenFlowスイッチ100に入力されたパケットを送信する。より詳しくは、パケットが入力されると、パケット送信部130はフローテーブル記憶部120を参照し、入力されたパケットのパケットヘッダがいずれかのルールと一致するか否かを判断する。パケット送信部130は、入力されたパケットのパケットヘッダがいずれかのルールと一致すると判断した場合、そのルールを含むフローエントリのアクションを実行する。すなわち、パケット送信部130は定義された処理方法に従ってパケット処理を実行する。この結果、入力されたパケットは転送されたり破棄されたりする。一方、パケット送信部130は、入力されたパケットのパケットヘッダがいずれのルールとも一致しないと判断した場合、入力されたパケットをバッファ110に格納する。その後、パケット送信部130は、未定義のパケットの処理方法を問い合わせるPacketInメッセージを所定のポートに送信する。この結果、PacketInメッセージがOpenFlowコントローラ200に送信される。
バッファ利用率監視部150は、バッファ110の利用率を監視する。利用率は例えばバッファ110の記憶容量(Bytes)に対する記憶されたパケットのバイト数(Bytes)の割合の百分率(%)で定められる。バッファ利用率監視部150は、バッファ110の利用率がバッファ溢れに近い利用率であるか否かを判断する。具体的には、まずバッファ溢れに近い利用率であるか否かを判断するための特定の閾値(%)が定められる。バッファ利用率監視部150は利用率が当該特定の閾値を越えている場合に、バッファ110の利用率がバッファ溢れに近い利用率であると判断する。バッファ利用率監視部150は利用率が特定の閾値を越えている状態から当該特定の閾値以下になった場合に、バッファ110の利用率がバッファ溢れから遠ざかった利用率であると判断する。バッファ110の利用率がバッファ溢れに近い利用率であると判断された場合、バッファ利用率監視部150はその旨をパケット送信部130に通知する。バッファ110の利用率がバッファ溢れから遠ざかった利用率であると判断された場合、バッファ利用率監視部150はその旨をパケット送信部130に通知する。尚、バッファ利用率監視部150を、OpenFlowスイッチ100に含めず、OpenFlowコントローラ200又はOpenFlowスイッチ100とは別体のサーバ装置に含めてもよい。この場合、OpenFlowコントローラ200又は別体のサーバ装置からバッファ110の利用率が監視される。
次に、図2(b)を参照してOpenFlowコントローラ200について説明する。
OpenFlowコントローラ200は、図2(b)に示すように、OpenFlowスイッチ識別部210及び経路設定部220を備えている。
OpenFlowスイッチ識別部210は、OpenFlowスイッチ100から送信されたPacketInメッセージを受信する。OpenFlowスイッチ識別部210は、受信したPacketInメッセージに含まれたパケットヘッダを経路設定部220に送信する。また、OpenFlowスイッチ識別部210は、受信したPacketInメッセージにOpenFlowスイッチ100を識別する識別情報が含まれている場合、当該識別情報に基づいて、パケットが通過したOpenFlowスイッチ100を識別する。
経路設定部220は、パケットが経由する経路を設定する。設定はOpenFlowスイッチ100に対して行われる。OpenFlowコントローラ200が複数のOpenFlowスイッチ100の動作を制御している場合には、設定はすべてのOpenFlowスイッチ100に対して行われる。これにより、パケットが経由する経路が特定される。経路設定部220はOpenFlowスイッチ識別部210からパケットヘッダを受信すると、受信したパケッドヘッダに基づいて、該パケッドヘッダを含むパケットの処理方法を生成する。例えば、通信システムS1に含まれる各OpenFlowスイッチ100の通信負荷が分散するように転送経路が生成される。経路設定部220は、生成した処理方法を含むFlowModメッセージをOpenFlowスイッチ100に送信する。FlowModメッセージは、OpenFlowスイッチ100(パケット送信部130)に受信される。パケット送信部130は、FlowModメッセージに含まれる処理方法をフローテーブル記憶部120に登録する。すなわち、パケットの処理方法を定義するフローエントリがフローテーブルに追加される。パケット送信部130は、フローテーブル記憶部120を参照し、追加されたフローエントリに基づいてバッファ110に記憶されたパケットを処理する。
続いて、図4を参照して、OpenFlowスイッチ100のハードウェア構成について説明する。
図4は、OpenFlowスイッチ100のハードウェア構成の一例である。
OpenFlowスイッチ100は、Central Processing Unit(CPU)100a、Random Access Memory(RAM)100b、Read Only Memory(ROM)100c及びネットワークインタフェース(ネットワークI/F)100dを含んでいる。これらの各機器100a〜100dは、バス100eによって互いに接続されている。少なくともCPU100aとRAM100bとが協働することによってコンピュータが実現される。コンピュータに、Application Specific Integrated Circuit(ASIC、特定用途向け集積回路)又はField Programmable Gate Array(FPGA)を含めてもよい。また、CPU100aに代えて、CPU100aとパケット処理専用のハードウェア回路とを含むNetwork Processing Unit(NPU)が利用されてもよい。
RAM100bは、バッファ110及びフローテーブル記憶部120を実現する。RAM100bがバッファ110を実現し、RAM110bと異なる別のRAMがフローテーブル記憶部120を実現してもよい。ネットワークI/F100dは、例えばポートとPhysical Layer Chip(PHYチップ)とを備えている。ネットワークI/F100dには、別のOpenFlowスイッチ100、OpenFlowコントローラ200並びに送信ホスト300もしくは受信ホスト400が接続される。
上述したRAM100bは、ROM100cに記憶されたプログラムを読み込む。読み込まれたプログラムをCPU100aが実行することにより、上述したパケット送信部130及びバッファ利用率監視部150が実現される。また、読み込まれたプログラムをCPU100aが実行することにより、後述するOpenFlowスイッチ100によるパケット処理方法が実行される。尚、プログラムは、後述するフローチャートに応じたものとすればよい。パケット送信部130は、CPU100aに代えてASIC又はFPGAによって実現されてもよい。
続いて、図5を参照して、OpenFlowコントローラ200のハードウェア構成について説明する。尚、送信ホスト300及び受信ホスト400についても基本的にOpenFlowコントローラ200の構成と同様の構成を有する。
図5は、OpenFlowコントローラ200のハードウェア構成の一例である。尚、図4に示されるOpenFlowスイッチ100の各機器と同様の構成には対応する符号を付し、その説明を省略する。
OpenFlowコントローラ200は、少なくともCPU200a、RAM200b、ROM200c及びネットワークI/F200dを含んでいる。OpenFlowコントローラ200は、必要に応じて、Hard Disc Drive(HDD)200e、入力I/F200f、出力I/F200g、入出力I/F200h及びドライブ装置200iの少なくとも1つを含んでいてもよい。これらの各機器200a〜200iは、バス200jによって互いに接続されている。
入力I/F200fには、入力装置510が接続される。入力装置としては、例えばキーボードやマウスなどがある。
出力I/F200gには、表示装置520が接続される。表示装置としては、例えばタッチパネル方式を含む液晶ディスプレイがある。
入出力I/F200hには、半導体メモリ530が接続される。半導体メモリ530としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F200hは、半導体メモリ530に記憶されたプログラムやデータを読み取る。
入力I/F200f及び入出力I/F200はそれぞれ、例えばUSBポートを備えている。出力I/F200gは、例えばディスプレイポートを備えている。
ドライブ装置200iには、可搬型記録媒体540が挿入される。可搬型記録媒体540としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置200iは、可搬型記録媒体540に記録されたプログラムやデータを読み込む。
上述したRAM200bは、ROM200c、HDD200e及び半導体メモリ530の少なくとも1つに記憶されたプログラムを読み込む。RAM200bは、可搬型記録媒体540に記録されたプログラムを読み込む。読み込まれたプログラムをCPU200aが実行することにより、上述したOpenFlowスイッチ識別部210及び経路設定部220が実現される。尚、プログラムは、後述するフローチャートに応じたものとすればよい。
続いて、図6乃至図13を参照して、通信システムS1の動作について説明する。
図6は、OpenFlowスイッチ100の動作の一例を示すフローチャートである。図7は、OpenFlowコントローラ200の動作の一例を示すフローチャートである。図8乃至図13は、第1実施形態における通信システムS1の動作の一例を説明するための図である。
まず、図6に示すように、パケット送信部130は、フローテーブルに未定義のパケットが入力されたか否かを判断する(ステップS101)。例えば、パケット送信部130はパケットを受信すると、フローテーブル記憶部120を確認する。パケット送信部130は、受信したパケットのパケッドヘッダとフローテーブルのルールとを比較し、比較した結果、一致するルールが存在しなかった場合、フローテーブルに未定義のパケットが入力されたと判断する(ステップS101:YES)。尚、一致するルールが存在した場合、パケット送信部130はフローテーブルに定義されたパケットが入力されたと判断する(ステップS101:NO)。この場合、パケット送信部130はそのルールに関連付けられたアクションを実行する。
フローテーブルに未定義のパケットが入力されたと判断された場合、次いで、バッファ利用率監視部150は、バッファ利用率がバッファ溢れに近いか否かを判断する(ステップS102)。例えば、バッファ利用率監視部150はバッファ110を確認する。確認した結果、バッファ110の利用率が特定の閾値以下の場合、バッファ利用率監視部150はバッファ利用率がバッファ溢れに近くないと判断する(ステップS102:NO)、この場合、パケット送信部130は、入力された未定義のパケットをバッファ110に格納する(ステップS103)。そして、パケット送信部130は、処理方法を問い合わせるメッセージをポートに送信する(ステップS104)。
これにより、OpenFlowスイッチ100からOpenFlowコントローラ200にパケットの処理方法を問い合わせるメッセージが送信される。OpenFlowコントローラ200では、図7に示すように、OpenFlowスイッチ識別部210が処理方法を問い合わせるメッセージを受信する(ステップS201)。次いで、経路設定部220は、処理方法を生成し(ステップS202)、生成した処理方法を送信する(ステップS203)。これにより、OpenFlowコントローラ200からOpenFlowスイッチ100にパケットの処理方法が送信される。尚、OpenFlowコントローラ200は、通信システムS1に含まれるすべてのOpenFlowスイッチ100に処理方法を送信する。OpenFlowスイッチ100は、OpenFlowコントローラ200から送信されたパケットの処理方法を受信すると、受信した処理方法に従って、パケットを処理する。
以上の動作について図8及び図9を参照して説明する。図8に示すように、フローテーブルに定義されていないパケットAがOpenFlowスイッチ100−1に入力され、バッファ利用率がバッファ溢れに近くない場合(例えばパケットが格納されていない場合)、OpenFlowスイッチ100−1に入力されたパケットAはバッファに格納される。その後、OpenFlowスイッチ100−1は、シーケンス番号(例えば「1」、「2」)を含むパケットヘッダをOpenFlowコントローラ200に送信し、パケットAの処理方法を問い合わせる。この結果、図9に示すように、OpenFlowコントローラ200は、パケットAの処理方法をOpenFlowスイッチ100−1,100−2に送信する。
ここで、図6において、バッファ110の利用率が特定の閾値を超えている場合、バッファ利用率監視部150はバッファ利用率がバッファ溢れに近いと判断する(ステップS102:YES)。バッファ利用率がバッファ溢れに近いと判断された場合、次いで、パケット送信部130は、自己(パケットが入力されたOpenFlowスイッチ100)が最終段のOpenFlowスイッチ100であるか否かを判断する(ステップS105)。当該判断は、自己が受信ホスト400に接続されているか否かに基づいて行われる。パケット送信部130は、自己が受信ホスト400に接続されているか否か不明である場合には、OpenFlowコントローラ200に問い合わせてもよい。パケット送信部130は、自己が最終段のOpenFlowスイッチ100でないと判断した場合(ステップS105:NO)、入力されたパケットを次のOpenFlowスイッチ100に送信する(ステップS106)。
以上の動作について図9乃至図13を参照して説明する。図9に示すように、バッファにパケットAが格納されており、バッファ利用率がバッファ溢れに近くなっている。この状態で、フローテーブルに定義されていないパケットBがOpenFlowスイッチ100−1に入力される。パケットBの属性はパケットAの属性と相違する。OpenFlowスイッチ100−1では、バッファ溢れを回避するために、図10に示すように、パケットBの処理方法の問い合わせが実行されず、入力されたパケットBがOpenFlowスイッチ100−2に転送される。尚、OpenFlowスイッチ100−1は、パケットAの処理を実行中である。
ここで、OpenFlowスイッチ100−2においても、図6に示すフローチャートに応じた動作が実行される。すなわち、図11に示すように、フローテーブルに定義されていないパケットBがOpenFlowスイッチ100−2に入力され、バッファ利用率がバッファ溢れに近くない場合(例えばパケットが格納されていない場合)、OpenFlowスイッチ100−2に入力されたパケットBはバッファに格納される。その後、OpenFlowスイッチ100−2は、シーケンス番号を含むパケットヘッダをOpenFlowコントローラ200に送信し、パケットBの処理方法を問い合わせる。一方、図11においてOpenFlowスイッチ100−1におけるパケットAの処理は完了し、パケットAはOpenFlowスイッチ100−2に向けて転送されている。
OpenFlowコントローラ200は、パケットBの処理方法の問い合わせを受信すると、図12に示すように、パケットBの処理方法をOpenFlowスイッチ100−1,100−2に送信する。一方、図12においてOpenFlowスイッチ100−2は、既にパケットAの処理方法を受信しているため、当該処理方法に基づいてパケットAを転送する。パケットBの処理方法を受信したOpenFlowスイッチ100−2はパケットBの処理を実行し、処理が完了すると、図13に示すように、OpenFlowスイッチ100−2はパケットBを転送する。
尚、図13において、OpenFlowスイッチ100−2は受信ホスト400と接続されている。このため、OpenFlowスイッチ100−2のバッファ利用率がバッファ溢れに近い場合にパケットBが入力されると、パケット送信部130は入力されたパケットを破棄する(ステップS107)。
さらに、図14を参照して以上説明した内容を時系列に沿って説明する。
図14は、第1実施形態における通信システムS1の動作の一例を示すシーケンス図である。
図14に示すように、時刻t0に送信ホスト300はパケットAを送信する。OpenFlowスイッチ100−1はパケットAを受信すると、時刻t1にパケットAをバッファに格納し、OpenFlowコントローラ200にパケットAの処理方法を問い合わせる。OpenFlowスイッチ100−1がパケットAを格納している間、時刻t2に送信ホスト300はパケットBを送信する。OpenFlowスイッチ100−1はパケットBを受信し、バッファ溢れに近いと判断した場合、パケットBをOpenFlowスイッチ100−2に転送する。OpenFlowスイッチ100−2はパケットBを受信すると、時刻t3にパケットBをバッファに格納し、OpenFlowコントローラ200にパケットBの処理方法を問い合わせる。
OpenFlowコントローラ200は、時刻t4にパケットAの処理方法をOpenFlowスイッチ100−1,100−2に送信する。OpenFlowコントローラ200は、時刻t5にパケットBの処理方法をOpenFlowスイッチ100−1,100−2に送信する。パケットAの処理方法を受信したOpenFlowスイッチ100−1は、時刻t6にパケットAをOpenFlowスイッチ100−2に転送する。OpenFlowスイッチ100−2はパケットAを受信すると、時刻t7にパケットAを受信ホスト400に転送する。パケットBの処理方法を受信したOpenFlowスイッチ100−2は、時刻t8にパケットBを受信ホスト400に転送する。
以上説明したように、第1実施形態によれば、フローテーブルに未定義のパケットがOpenFlowスイッチ100−1に入力され、監視されるバッファの利用率がバッファ溢れに近いと、パケットの処理方法に対する問い合わせが実行されず、入力されたパケットが次のOpenFlowスイッチ100−2に転送される。このため、OpenFlowスイッチ100−1では、入力されたパケットによるバッファ溢れを回避することができる。この結果、転送時間の増大や転送効率の劣化といった問題が解消される。特に、バッファ110の記憶容量より大きな記憶容量を有する別のバッファに取り替えるといった措置をとらないため、OpenFlowスイッチの価格高騰を抑えることができる。また、監視されるバッファの利用率がバッファ溢れから遠ざかると、パケットの処理方法に対する問い合わせが再び実行される。これにより、フローテーブルに未定義のパケットがOpenFlowスイッチ100−1に入力された場合、パケットの処理方法に対する問い合わせが再開する。
(第2実施形態)
次に、図15乃至図18を参照して本発明の第2実施形態について説明する。
図15乃至図18は、第2実施形態における通信システムS2の動作の一例を説明するための図である。
通信システムS2は、例えば図15に示すように、OpenFlowスイッチ100−1,100−2,100−3,100−4及びOpenFlowコントローラ200を備えている。OpenFlowスイッチ100−3,100−4の機能及びハードウェア構成は、OpenFlowスイッチ100−1と同様である。
OpenFlowスイッチ100−1は、通信回線によって送信ホスト300と接続されている。OpenFlowスイッチ100−4は、通信回線によって受信ホスト400と接続されている。OpenFlowスイッチ100−1は、通信回線によってOpenFlowスイッチ100−2,100−3とも接続されている。OpenFlowスイッチ100−4は、通信回線によってOpenFlowスイッチ100−2,100−3とも接続されている。OpenFlowスイッチ100−2とOpenFlowスイッチ100−3は並列に配置されている。OpenFlowスイッチ100−1,・・・,100−4は、それぞれOpenFlowコントローラ200と制御回線によって接続されている。OpenFlowコントローラ200は、OpenFlowスイッチ100−1,・・・,100−4の動作を制御する。
ここで、図15に示すように、OpenFlowスイッチ100−1のバッファにパケットAが格納され、バッファ利用率がバッファ溢れに近い場合、パケットBがOpenFlowスイッチ100−1に入力されると、パケットBの処理方法の問い合わせが実行されずに、図16に示すように、パケットBはOpenFlowスイッチ100−2に転送される。言い換えれば、パケットBはOpenFlowスイッチ100−1を通過する。尚、OpenFlowスイッチ100−1は、OpenFlowスイッチ100−2とOpenFlowスイッチ100−3のどちらを転送先とするかについて予め設定されている。また、図16に示すように、OpenFlowスイッチ100−1(パケット送信部130)は、パケットBを転送する際にパケットBに識別情報を付与する。識別情報は、OpenFlowスイッチ100−1であることを識別する情報である。図16において、パケットBには識別情報「S1」が付与されている。
OpenFlowスイッチ100−2(パケット送信部130)は、バッファ利用率がバッファ溢れに近くない場合(例えばバッファにパケットが格納されていない場合)、入力されたパケットBをバッファに格納する。OpenFlowスイッチ100−2(パケット送信部130)は、パケットBの処理方法を問い合わせる。処理方法の問い合わせの際には、識別情報も併せて送信される。
OpenFlowコントローラ200(OpenFlowスイッチ識別部210)は、処理方法の問い合わせ及び識別情報を受信する。OpenFlowスイッチ識別部210は、受信した識別情報に基づいて、パケットBが通過したOpenFlowスイッチを識別する。したがって、識別情報「S1」が識別される。OpenFlowコントローラ200(経路設定部220)は、パケットBの処理方法を生成し、図17に示すように、生成した処理方法をOpenFlowスイッチ100−1,・・・,100−4に送信する。例えば、経路設定部220によってOpenFlowスイッチ100−1,100−3,100−4を経由してパケットBを転送する処理方法が生成され送信される。この結果、図17においてシーケンス番号「2」に続くシーケンス番号「3」、「4」を含むパケットBがOpenFlowスイッチ100−1に入力されると、図18に示すように、シーケンス番号「3」、「4」を含むパケットBは、処理方法を受信したOpenFlowスイッチ100−1,100−3,100−4を経由して順に転送されていく。尚、図17において、パケットAは、パケットAの処理方法を受信したOpenFlowスイッチ100−1,100−2(又は100−3),100−4によって転送され、受信ホスト400に向かっている。
一方、経路設定部220は、上述した処理方法とは別の処理方法を生成する。具体的には、通過した識別情報を含むパケットBの処理方法を生成する。経路設定部220は、図17に示すように、生成した別の処理方法を、送信先である受信ホスト400にパケットBが到達するまでの経路上に配置されたOpenFlowスイッチ100−2,100−4に送信する。OpenFlowスイッチ100−2は、別の処理方法によってバッファに格納されたシーケンス番号「1」、「2」を含むパケットBを処理する。OpenFlowスイッチ100−4も同様に処理する。この結果、図18に示すように、OpenFlowスイッチ100−2のバッファに格納されたシーケンス番号「1」、「2」を含むパケットBは、受信ホスト400に向かって転送される。
受信ホスト400は、識別情報を含むパケットを受信した場合、その旨を最終段のOpenFlowスイッチ100−4に通知する。OpenFlowスイッチ100−4(パケット送信部130)は通知を受信すると、フローテーブルに登録された別の処理方法を削除する。すなわち、別の処理方法は、通知を受信するまで、OpenFlowスイッチ100−4に一時的に保存される処理方法である。OpenFlowスイッチ100−4(パケット送信部130)は、別の処理方法を削除すると、OpenFlowスイッチ100−2にその旨を通知する。OpenFlowスイッチ100−2は通知を受信すると、OpenFlowスイッチ100−4と同様に別の処理方法を削除する。
このように、第2実施形態によれば、パケットBが経由すべき経路と異なる経路にパケットBが転送されてバッファに格納されても、パケットBの処理方法とは異なる別の処理方法がOpenFlowコントローラ200から送信される。パケットBが到達するまでの経路上に配置されたOpenFlowスイッチ100−2,100−4は、識別情報「S1」を含む別の処理方法を受信して、識別情報「S1」を含むパケットBを処理する。この結果、識別情報「S1」を含むパケットBはOpenFlowスイッチ100−2で破棄されずに送信先である受信ホスト400に転送される。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、2つの機能を1つの装置で実現してもよいし、1つの機能を2つ以上の装置に分散してもよい。また、上述した発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けられる。さらに、上述した実施形態では利用率という用語使用して説明したが、利用量、消費率、消費量、残存容量、残存率などの用語をして説明してもよい。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信するパケット送信部と、パケットを格納するバッファと、を有し、前記パケット送信部は、前記フローテーブルに未定義のパケットが入力されたときに、前記バッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理装置。
(付記2)前記バッファの利用率を監視する監視部を備え、前記パケット送信部は、前記監視部によって監視される前記バッファの利用率が前記閾値を超えている場合、前記未定義のパケットを前記他のパケット処理装置に送信することを特徴とする付記1に記載のパケット処理装置。
(付記3)前記パケット送信部は、前記未定義のパケットを前記他のパケット処理装置に送信する場合、送信する前記未定義のパケットに前記パケット処理装置を識別する識別情報を付与し、前記他のパケット処理装置は、前記識別情報が付与された識別情報付パケットが入力された場合、前記識別情報付パケットの処理方法を問い合わせるメッセージ及び前記識別情報を所定のポートに送信し、前記メッセージ及び前記識別情報に基づいて前記識別情報付パケットが送信先に到達するまでの経路上に配置された前記パケット処理装置に送信された、前記識別情報付パケットの処理方法を受信することを特徴とする付記1又は2に記載のパケット処理装置。
(付記4)パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップを実行するパケット処理方法であって、前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理方法。
(付記5)前記バッファの利用率を監視する監視ステップを備え、前記パケット送信ステップは、前記監視ステップによって監視される前記バッファの利用率が前記閾値を超えている場合、前記未定義のパケットを前記他のパケット処理装置に送信することを特徴とする付記4に記載のパケット処理方法。
(付記6)前記パケット送信ステップは、前記未定義のパケットを前記他のパケット処理装置に送信する場合、送信する前記未定義のパケットに前記パケット処理装置を識別する識別情報を付与し、前記他のパケット処理装置は、前記識別情報が付与された識別情報付パケットが入力された場合、前記識別情報付パケットの処理方法を問い合わせるメッセージ及び前記識別情報を所定のポートに送信し、前記メッセージ及び前記識別情報に基づいて前記識別情報付パケットが送信先に到達するまでの経路上に配置された前記パケット処理装置に送信された、前記識別情報付パケットの処理方法を受信することを特徴とする付記4又は5に記載のパケット処理方法。
(付記7)パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップをコンピュータに実行させるためのパケット処理プログラムであって、前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理プログラム。
(付記8)前記バッファの利用率を監視する監視ステップを備え、前記パケット送信ステップは、前記監視ステップによって監視される前記バッファの利用率が前記閾値を超えている場合、前記未定義のパケットを前記他のパケット処理装置に送信することを特徴とする付記7に記載のパケット処理プログラム。
(付記9)前記パケット送信ステップは、前記未定義のパケットを前記他のパケット処理装置に送信する場合、送信する前記未定義のパケットに前記パケット処理装置を識別する識別情報を付与し、前記他のパケット処理装置は、前記識別情報が付与された識別情報付パケットが入力された場合、前記識別情報付パケットの処理方法を問い合わせるメッセージ及び前記識別情報を所定のポートに送信し、前記メッセージ及び前記識別情報に基づいて前記識別情報付パケットが送信先に到達するまでの経路上に配置された前記パケット処理装置に送信された、前記識別情報付パケットの処理方法を受信することを特徴とする付記7又は8に記載のパケット処理プログラム。
100,100−1〜100−4 OpenFlowスイッチ
110 バッファ
120 フローテーブル記憶部
130 パケット送信部
150 バッファ利用率監視部
200 OpenFlowコントローラ
210 OpenFlowスイッチ識別部
220 経路設定部
S1,S2 通信システム

Claims (5)

  1. パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信するパケット送信部と、
    パケットを格納するバッファと、を有し、
    前記パケット送信部は、前記フローテーブルに未定義のパケットが入力されたときに、前記バッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理装置。
  2. 前記バッファの利用率を監視する監視部を備え、
    前記パケット送信部は、前記監視部によって監視される前記バッファの利用率が前記閾値を超えている場合、前記未定義のパケットを前記他のパケット処理装置に送信することを特徴とする請求項1に記載のパケット処理装置。
  3. 前記パケット送信部は、前記未定義のパケットを前記他のパケット処理装置に送信する場合、送信する前記未定義のパケットに前記パケット処理装置を識別する識別情報を付与し、
    前記他のパケット処理装置は、前記識別情報が付与された識別情報付パケットが入力された場合、前記識別情報付パケットの処理方法を問い合わせるメッセージ及び前記識別情報を所定のポートに送信し、前記メッセージ及び前記識別情報に基づいて前記識別情報付パケットが送信先に到達するまでの経路上に配置された前記パケット処理装置に送信された、前記識別情報付パケットの処理方法を受信することを特徴とする請求項1又は2に記載のパケット処理装置。
  4. パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップを実行するパケット処理方法であって、
    前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理方法。
  5. パケットの処理方法が定義されるフローテーブルに基づいてパケットを送信する送信ステップをコンピュータに実行させるためのパケット処理プログラムであって、
    前記送信ステップは、前記フローテーブルに未定義のパケットが入力されたときに、パケットを格納するバッファの利用率が閾値を超えている場合、前記未定義のパケットを他のパケット処理装置に送信し、前記バッファの利用率が前記閾値以下の場合、前記未定義のパケットを前記バッファに格納するとともに、前記未定義のパケットの処理方法を問い合わせるメッセージを所定のポートに送信することを特徴とするパケット処理プログラム。
JP2013217772A 2013-10-18 2013-10-18 パケット処理装置、パケット処理方法、パケット処理プログラム Active JP6127900B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013217772A JP6127900B2 (ja) 2013-10-18 2013-10-18 パケット処理装置、パケット処理方法、パケット処理プログラム
US14/460,541 US9590925B2 (en) 2013-10-18 2014-08-15 Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013217772A JP6127900B2 (ja) 2013-10-18 2013-10-18 パケット処理装置、パケット処理方法、パケット処理プログラム

Publications (2)

Publication Number Publication Date
JP2015080175A true JP2015080175A (ja) 2015-04-23
JP6127900B2 JP6127900B2 (ja) 2017-05-17

Family

ID=52826065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013217772A Active JP6127900B2 (ja) 2013-10-18 2013-10-18 パケット処理装置、パケット処理方法、パケット処理プログラム

Country Status (2)

Country Link
US (1) US9590925B2 (ja)
JP (1) JP6127900B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210119939A1 (en) * 2017-07-23 2021-04-22 Barefoot Networks, Inc. Using stateful traffic management data to perform packet processing
US11677851B2 (en) 2015-12-22 2023-06-13 Intel Corporation Accelerated network packet processing
US11700212B2 (en) 2017-09-28 2023-07-11 Barefoot Networks, Inc. Expansion of packet data within processing pipeline

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210385A (ja) * 2004-01-22 2005-08-04 Fujitsu Ltd 他装置とのバッファ共有方法及び装置
WO2012056816A1 (ja) * 2010-10-28 2012-05-03 日本電気株式会社 ネットワークシステム、及び通信トラフィック制御方法
WO2012077259A1 (en) * 2010-12-10 2012-06-14 Nec Corporation Communication system, control device, node controlling method and program
WO2013108761A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ネットワークシステム、及び経路情報同期方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5483149B2 (ja) 2009-01-06 2014-05-07 日本電気株式会社 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法
JP5515649B2 (ja) 2009-11-06 2014-06-11 日本電気株式会社 通信システム、経路制御装置、経路制御方法および経路制御用プログラム
JP2011159247A (ja) 2010-02-04 2011-08-18 Nec Corp ネットワークシステム、コントローラ、ネットワーク制御方法
JP5625997B2 (ja) * 2011-02-23 2014-11-19 富士通株式会社 通信システムおよび伝送装置
JP5710418B2 (ja) * 2011-08-08 2015-04-30 アラクサラネットワークス株式会社 パケット中継装置、及び方法
US8908710B2 (en) * 2012-03-05 2014-12-09 Broadcom Corporation Routing packets through external memory
JP2013187616A (ja) * 2012-03-06 2013-09-19 Fujitsu Ltd パケット中継装置及びデータパケットの廃棄数の測定方法
US8891364B2 (en) * 2012-06-15 2014-11-18 Citrix Systems, Inc. Systems and methods for distributing traffic across cluster nodes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210385A (ja) * 2004-01-22 2005-08-04 Fujitsu Ltd 他装置とのバッファ共有方法及び装置
WO2012056816A1 (ja) * 2010-10-28 2012-05-03 日本電気株式会社 ネットワークシステム、及び通信トラフィック制御方法
WO2012077259A1 (en) * 2010-12-10 2012-06-14 Nec Corporation Communication system, control device, node controlling method and program
JP2014502796A (ja) * 2010-12-10 2014-02-03 日本電気株式会社 通信システム、制御装置、ノードの制御方法およびプログラム
WO2013108761A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ネットワークシステム、及び経路情報同期方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11677851B2 (en) 2015-12-22 2023-06-13 Intel Corporation Accelerated network packet processing
US20210119939A1 (en) * 2017-07-23 2021-04-22 Barefoot Networks, Inc. Using stateful traffic management data to perform packet processing
US11750526B2 (en) * 2017-07-23 2023-09-05 Barefoot Networks, Inc. Using stateful traffic management data to perform packet processing
US11700212B2 (en) 2017-09-28 2023-07-11 Barefoot Networks, Inc. Expansion of packet data within processing pipeline

Also Published As

Publication number Publication date
JP6127900B2 (ja) 2017-05-17
US20150109913A1 (en) 2015-04-23
US9590925B2 (en) 2017-03-07

Similar Documents

Publication Publication Date Title
US10257066B2 (en) Interconnect congestion control in a storage grid
RU2523917C2 (ru) Система управления связью и способ управления связью
JP6814041B2 (ja) データ・パケットを処理するための方法、システム、およびコンピュータ・プログラム
JP5931908B2 (ja) ルータにおけるトラフィックを管理するための技法
US10757031B2 (en) Technologies for aligning network flows to processing resources
US10826823B2 (en) Centralized label-based software defined network
US10277509B2 (en) Data processing method executed by network apparatus, and related device
JP2013115576A (ja) 受信データ処理方法、通信装置、及びプログラム
WO2003103233A1 (ja) パケット中継装置、ネットワーク接続デバイス、パケット中継方法、記録媒体、プログラム
JP6127900B2 (ja) パケット処理装置、パケット処理方法、パケット処理プログラム
CN111801911A (zh) 业务功能链拥塞跟踪
EP3384642B1 (en) Forwarding table compression
JPWO2012105677A1 (ja) パケット処理装置、パケット処理方法およびプログラム
US20200028779A1 (en) Packet processing method and apparatus
JP6193155B2 (ja) 通信装置、通信システム、通信方法およびプログラム
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP5674179B1 (ja) 効率的なネットワークアドレス変換およびアプリケーションレベルゲートウェイ処理のための装置および方法
US10367725B2 (en) Network programming
JP6895354B2 (ja) 通信中継装置
US20240039849A1 (en) Methods, systems, and computer program products for dynamic load balancing
WO2015136585A1 (ja) 制御装置、制御方法および制御プログラム
JP2016149716A (ja) アドレス情報書き換え装置、アドレス情報書き換え方法及びパケット転送システム
KR101775324B1 (ko) 적어도 하나의 노드를 포함하는 힙에서 특정 노드의 삭제를 취급하는 방법 및 이를 수행하는 컴퓨팅 장치
CN103647718A (zh) 数据包的处理方法和装置
CN117971526A (zh) 中断触发设备确定方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170327

R150 Certificate of patent or registration of utility model

Ref document number: 6127900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150