JPWO2004088938A1 - 通信装置及び通信方法 - Google Patents

通信装置及び通信方法 Download PDF

Info

Publication number
JPWO2004088938A1
JPWO2004088938A1 JP2004570152A JP2004570152A JPWO2004088938A1 JP WO2004088938 A1 JPWO2004088938 A1 JP WO2004088938A1 JP 2004570152 A JP2004570152 A JP 2004570152A JP 2004570152 A JP2004570152 A JP 2004570152A JP WO2004088938 A1 JPWO2004088938 A1 JP WO2004088938A1
Authority
JP
Japan
Prior art keywords
packet
processor
buffer
reception
token
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
JP2004570152A
Other languages
English (en)
Other versions
JP4049777B2 (ja
Inventor
克彦 山津
克彦 山津
信彦 江口
信彦 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004088938A1 publication Critical patent/JPWO2004088938A1/ja
Application granted granted Critical
Publication of JP4049777B2 publication Critical patent/JP4049777B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/54Loss aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • 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/12Protocol engines
    • 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

Abstract

複数のプロセッサユニットを有する通信装置であって,各プロセッサユニットは,パケットをバッファリングするためのバッファと,受信プロセッサと,送信プロセッサとを有する。受信プロセッサは,受信トークンを受け取ると,外部からパケットを受信し,バッファが空いていれば,受信したパケットをバッファにバッファリングし,バッファが空いていなければ,受信したパケットを廃棄して廃棄パケット数をインクリメントして,他のプロセッサユニットに受信トークンを渡して巡回させる。送信プロセッサは,送信トークンを受け取ると,廃棄パケット数に基づいて,バッファ内のパケットを外部に送信する。

Description

本発明は、通信技術に関し、特に複数のプロセッサユニットがトークンを用いてパケットを通信する技術に関する。
高速なパケット(Gigabit Ether等)を処理する為に、複数のプロセッサを用いて、互いに並列処理させる事により処理の高速化を図っている。又、その複数プロセッサ間でトークンを用いる事によって、複数プロセッサ間での負荷分散、処理高速化及びパケット順序整合を実現している。
図15は、従来技術によるマルチプロセッサシステムによる通信装置を示す。この通信装置は、第1〜第4のプロセッサユニット1501〜1504が並列に接続され、パケット1531を入力し、パケット1532を出力する。第1のプロセッサユニット1501は、第1の受信プロセッサ1511a、第1の受信バッファ1512a及び第1の処理プロセッサ1513aを有する。第2のプロセッサユニット1502は、第2の受信プロセッサ1511b、第2の受信バッファ1512b及び第2の処理プロセッサ1513bを有する。第3のプロセッサユニット1503は、第3の受信プロセッサ1511c、第3の受信バッファ1512c及び第3の処理プロセッサ1513cを有する。第4のプロセッサユニット1504は、第4の受信プロセッサ1511d、第4の受信バッファ1512d及び第4の処理プロセッサ1513dを有する。
以下、第1〜第4の受信プロセッサ1511a〜1511dの個々又はすべてを受信プロセッサ1511、第1〜第4の受信バッファ1512a〜1512dの個々又はすべてを受信バッファ1512、第1〜第4の処理プロセッサ1513a〜1513dの個々又はすべてを処理プロセッサ1513という。
受信プロセッサ1511は、パケットの受信を主機能とする。処理プロセッサ1513は、受信されたパケットの処理やパケット送信を主機能とする。受信バッファ1512は、受信プロセッサ1511及び処理プロセッサ1513間のインタフェース機能を有し、例えば2個のパケット分のバッファリング容量を有する。
受信トークン1541及び送信トークン1542は、非同期にプロセッサユニット1501〜1504間を巡回している。受信プロセッサ1511は、受信トークン1541を受け取ると、受信パケット1531を受信し、受信トークン1541を次のプロセッサユニットに渡す。処理プロセッサ1513は、送信トークン1542を受け取ると、送信パケット1532を送信し、送信トークン1542を次のプロセッサユニットに渡す。
動作の流れとしては、パケット1531が入力されると、受信トークン1541を所持している受信プロセッサ1511がパケット1531を受信し、受信されたパケットは受信バッファ1512へ格納される。処理プロセッサ1513は、受信バッファ1512にパケットが格納された事を知ると、そのパケットに対して処理を開始し、送信トークン1542を所持していればパケット送信して、処理終了時に受信バッファ1512を解放する。
上記は、理想的な処理の流れであるが、昨今の通信の高速化や、搭載機能の複雑化によって必ずしも上記の処理が守られるとは限らない。パケットが入力され、受信バッファ1512がパケットを受信しようとするが、処理プロセッサ1513が輻輳状態で受信バッファ1512の解放がパケット入力に間に合わない様な過負荷が掛かった場合、パケットは受信出来ない。すなわち、パケットが廃棄される事になる。
ネットワークプロセッサ等では、処理プロセッサ1513はプログラマブルであり、プログラマが任意のプログラムで構成することが可能である。このプログラムの規模が大きくなるにつれ、処理時間が長くなり、受信バッファ1512の解放が遅くなり、パケットの廃棄数も増える。このパケットの廃棄が発生する事によって、トークンでのパケット順序整合では解決出来ない、パケットの順序逆転が起こってしまう。以下に、この時の動作を示す。
図16に示すように、パケットP1〜P8が連続で入力された場合、まず受信トークン1541を所持している第1の受信プロセッサ1511aは、パケットP1を受信し、第1の受信バッファ1512aに格納し、受信トークン1541を第2の受信プロセッサ1511bに渡す。次に、受信トークン1541を所持する第2の受信プロセッサ1511bは、パケットP2を受信し、受信バッファ1512bに格納し、受信トークン1541を第3の受信プロセッサ1511cに渡す。以降、第3の受信プロセッサ1511c→第4の受信プロセッサ1511d→第1の受信プロセッサ1511a・・・と受信トークン1541が巡回され、パケットが受信される。
これにより、第1の受信バッファ1512aはパケットP1及びP5を記憶し、第2の受信バッファ1512bはパケットP2及びP6を記憶し、第3の受信バッファ1512cはパケットP3及びP7を記憶し、第4の受信バッファ1512dはパケットP4及びP8を記憶する。第1の処理プロセッサ1513aは第1の受信バッファ1512a内のパケットP1の処理を行い、第2の処理プロセッサ1513bは第2の受信バッファ1512b内のパケットP2の処理を行い、第3の処理プロセッサ1513cは第3の受信バッファ1512c内のパケットP3の処理を行い、第4の処理プロセッサ1513dは第4の受信バッファ1512d内のパケットP4の処理を行う。
次に、図17に示すように、第1の処理プロセッサ1513aは、送信トークン1542を所持しているので、処理したパケットP1を送信し、第1の受信バッファ1512a内のパケットP1を解放する。その後、第1の処理プロセッサ1513aは、送信トークン1542を第2の処理プロセッサ1513cに渡し、第1の受信バッファ1512a内のパケットP5を処理する。
続いて、パケットP9〜P12が連続で入力された場合、受信トークン1541を所持している第1の受信プロセッサ1511aは、パケットP9を受信し、第1の受信バッファ1512aに格納し、受信トークン1541を第2の受信プロセッサ1511bに渡す。次に、受信トークン1541を所持する第2の受信プロセッサ1511bは、パケットP10を受信するが、受信バッファ1512bが一杯であるので、パケットP10を廃棄し、受信トークン1541を第3の受信プロセッサ1511cに渡す。同様に、第3及び第4の受信プロセッサ1511c及び1511dは、受信バッファ1512c及び1512dが一杯であるので、パケットP11及びP12を廃棄する。
次に、図18に示すように、第2の処理プロセッサ1513bは、送信トークン1542を所持しているので、処理したパケットP2を送信し、第2の受信バッファ1512b内のパケットP2を解放する。その後、第2の処理プロセッサ1513bは、送信トークン1542を第3の処理プロセッサ1513cに渡し、第2の受信バッファ1512b内のパケットP6を処理する。同様に、第3及び第4の処理プロセッサ1513c及び1513dは、それぞれ、パケットP3及びP4を送信し、続いてパケットP7及びP8を処理する。次に、第1の処理プロセッサ1513aは、パケットP5を送信し、続いてパケットP9を処理する。
次に、パケットP13〜P16が連続で入力された場合、受信トークン1541を所持している第1の受信プロセッサ1511aは、パケットP13を受信し、第1の受信バッファ1512aに格納し、受信トークン1541を第2の受信プロセッサ1511bに渡す。同様に、第2〜第4の受信プロセッサ1511b〜1511dは、それぞれ、パケットP14〜P16を受信し、受信バッファ1512b〜1512dに格納する。
次に、図19に示すように、第2の処理プロセッサ1513bは、送信トークン1542を所持しているので、処理したパケットP6を送信し、第2の受信バッファ1512b内のパケットP6を解放する。その後、第2の処理プロセッサ1513bは、第2の受信バッファ1512b内のパケットP14を処理する。次に、同様に、第3及び第4の処理プロセッサ1513c及び1513dは、それぞれ、パケットP7及びP8を送信し、続いてパケットP15及びP16を処理する。次に、第1の処理プロセッサ1513aは、パケットP9を送信し、続いてパケットP13を処理する。
次に、図20に示すように、第2の処理プロセッサ1513bは、送信トークン1542を所持しているので、処理したパケットP14を送信し、第2の受信バッファ1512b内のパケットP14を解放する。次に、同様に、第3及び第4の処理プロセッサ1513c及び1513dは、それぞれ、パケットP15及びP16を送信する。次に、第1の処理プロセッサ1513aは、パケットP13送信する。
以上のように、送信トークン1542が巡回し、第1の処理プロセッサ→第2の処理プロセッサ→第3の処理プロセッサ→第4の処理プロセッサ→第1の処理プロセッサ→・・・の順番で送信を行う。また、パケット自体に入力順序が識別可能な番号等がない為、受信バッファ1512に格納されているパケットが何番目のパケットなのかは、各処理プロセッサ1513側から知ることは出来ず、単純に受信バッファ1512に格納された順に処理を行っている。そのため、パケットP10〜P12の廃棄が生ずると、パケットP13の送信順序が逆転してしまう問題がある。すなわち、パケット順序が、P14→P15→P16→P13になってしまう。この場合でも、パケットP13を適正な順番で送信することが好ましい。
もし、パケットの順序が逆転したままパケット送信を実施すると、宛先によって正しく受け取れなくなり、そのリカバリの為に不要なトラフィックの増大にも繋がる。また、プロセッサの処理能力への影響を最小に抑える必要がある為、パケット順序逆転を回避する方法は極力簡素化する必要がある。
また、下記の特許文献1が開示されている。
特開平9−162927号公報
本発明の目的は、簡素化した構成で送信パケットの順序逆転を防止することができる通信技術を提供することである。
本発明の一観点によれば、複数のプロセッサユニットを有する通信装置であって、各プロセッサユニットは、パケットをバッファリングするためのバッファと、受信プロセッサと、送信プロセッサとを有する通信装置が提供される。受信プロセッサは、受信トークンを受け取ると、外部からパケットを受信し、受信したパケットをバッファにバッファリングし、他のプロセッサユニットに受信トークンを渡して巡回させる。送信トークンは、送信トークンを受け取ると、バッファ内のパケットを外部に送信し、他のプロセッサユニットに送信トークンを渡して巡回させる。また、受信プロセッサは、受信トークンを受け取ったときに、バッファが空いているときには受信したパケットをバッファにバッファリングし、バッファが空いていないときには受信したパケットを廃棄して廃棄パケット数をインクリメントし、受信トークンを他のプロセッサユニットに渡す。送信プロセッサは、カウントした廃棄パケット数を基に受信したパケットの順番でパケットを外部に送信する。
本発明によれば、各プロセッサユニットが、廃棄パケット数をカウントし、その廃棄パケット数を基にパケットを送信することにより、輻輳状態により受信パケットが廃棄された場合にも、送信パケット順序逆転を防止することができる。また、他のプロセッサユニットの状態等を考慮する必要がなく、簡単な構成で送信パケット順序逆転を防止することができ、通信装置の処理能力への影響を最小限に留めることができる。
図1は、本発明の実施形態による通信装置であるルータの構成例を示すブロック図である。
図2は、本実施形態による入力プロセッサの構成例を示す図である。
図3は、入力プロセッサの第1の処理例を示す図である。
図4は、入力プロセッサの第1の処理例を示す図である。
図5は、入力プロセッサの第1の処理例を示す図である。
図6は、入力プロセッサの第1の処理例を示す図である。
図7は、入力プロセッサの第1の処理例を示す図である。
図8は、入力プロセッサの第1の処理例を示す図である。
図9は、入力プロセッサの第2の処理例を示す図である。
図10は、入力プロセッサの第2の処理例を示す図である。
図11は、入力プロセッサの第3の処理例を示す図である。
図12は、入力プロセッサの第3の処理例を示す図である。
図13は、入力プロセッサの第3の処理例を示す図である。
図14は、入力プロセッサの処理手順を示すフローチャートである。
図15は、従来技術による入力プロセッサの構成を示す図である。
図16は、従来技術による入力プロセッサの処理例を示す図である。
図17は、従来技術による入力プロセッサの処理例を示す図である。
図18は、従来技術による入力プロセッサの処理例を示す図である。
図19は、従来技術による入力プロセッサの処理例を示す図である。
図20は、従来技術による入力プロセッサの処理例を示す図である。
図1は、本発明の実施形態による通信装置であるルータの構成例を示す。ルータ100は、例えば入力プロセッサ101及び出力プロセッサ102,103を有する。入力プロセッサ101は、MAC(media access control)フレームを有するパケット110を入力し、パケットのアドレスを解析し、適切な順序でパケット111を出力する。出力プロセッサ102及び103は、それぞれ、入力プロセッサ101により送信されたパケット111を受信し、上記の解析されたアドレスに応じて、パケット112及び113を出力する。すなわち、アドレスに応じて適切な宛先にパケットを送信するため、パケット112を第1のポートに出力又はパケット113を第2のポートに出力する。パケット112及び113は、MACフレームを有するパケットである。このように、ルータ100は、アドレスに応じて、パケットの出力先を制御する。
図2は、上記の入力プロセッサ(通信装置)101の構成例を示す。この入力プロセッサは、第1〜第4のプロセッサユニット201〜204が並列に接続され、パケット231を入力し、パケット232を出力する。第1のプロセッサユニット201は、第1の受信プロセッサ211a、第1の受信バッファ212a及び第1の処理プロセッサ213aを有する。第2のプロセッサユニット202は、第2の受信プロセッサ211b、第2の受信バッファ212b及び第2の処理プロセッサ213bを有する。第3のプロセッサユニット203は、第3の受信プロセッサ211c、第3の受信バッファ212c及び第3の処理プロセッサ213cを有する。第4のプロセッサユニット204は、第4の受信プロセッサ211d、第4の受信バッファ212d及び第4の処理プロセッサ213dを有する。
以下、第1〜第4の受信プロセッサ211a〜211dの個々又はすべてを受信プロセッサ211、第1〜第4の受信バッファ212a〜212dの個々又はすべてを受信バッファ212、第1〜第4の処理プロセッサ213a〜213dの個々又はすべてを処理プロセッサ(送信プロセッサ)213という。
さらに、受信プロセッサ211は、廃棄パケットカウンタ221を有する。また、処理プロセッサ213は、アイドルカウンタ222及び廃棄パケットカウンタ223を有する。
受信プロセッサ211は、パケットの受信を主機能とする。処理プロセッサ213は、受信されたパケットの処理やパケット送信を主機能とする。受信バッファ212は、受信プロセッサ211及び処理プロセッサ213間のインタフェース機能を有し、例えば2個のパケット分のバッファリング容量を有する。
受信トークン241及び送信トークン242は、非同期にプロセッサユニット201〜204間を巡回している。受信プロセッサ211は、受信トークン241を受け取ると、受信パケット231を受信し、受信トークン241を次のプロセッサユニットに渡す。処理プロセッサ213は、送信トークン242を受け取ると、送信パケット232を送信し、送信トークン242を次のプロセッサユニットに渡す。
パケット231が入力されると、受信トークン241を所持している受信プロセッサ211がパケット231を受信し、受信されたパケットは受信バッファ212へ格納される。処理プロセッサ213は、受信バッファ212にパケットが格納された事を知ると、そのパケットに対して処理を開始し、送信トークン242を所持していればパケット送信して、処理終了時に受信バッファ212を解放する。
図3に示すように、パケットP1〜P8が連続で入力された場合、まず受信トークン241を所持している第1の受信プロセッサ211aは、パケットP1を受信し、第1の受信バッファ212aに格納し、受信トークン241を第2の受信プロセッサ211bに渡す。次に、受信トークン241を所持する第2の受信プロセッサ211bは、パケットP2を受信し、受信バッファ212bに格納し、受信トークン241を第3の受信プロセッサ211cに渡す。次に、同様に、第3及び第4の受信プロセッサ211c及び211dは、それぞれ、パケットP3及びP4を受信し、受信バッファ212c及び212dに格納する。受信トークン241は、第3の受信プロセッサ211c→第4の受信プロセッサ211d→第1の受信プロセッサ211a・・・と巡回される。次に、第1〜第4の受信プロセッサ211a〜211dは、それぞれパケットP5〜P8を受信し、受信バッファ212a〜212dに格納する。
第1の受信バッファ212aはパケットP1及びP5を記憶し、第2の受信バッファ212bはパケットP2及びP6を記憶し、第3の受信バッファ212cはパケットP3及びP7を記憶し、第4の受信バッファ212dはパケットP4及びP8を記憶する。第1の処理プロセッサ213aは第1の受信バッファ212a内のパケットP1の処理を行い、第2の処理プロセッサ213bは第2の受信バッファ212b内のパケットP2の処理を行い、第3の処理プロセッサ213cは第3の受信バッファ212c内のパケットP3の処理を行い、第4の処理プロセッサ213dは第4の受信バッファ212d内のパケットP4の処理を行う。
次に、図4に示すように、第1の処理プロセッサ213aは、送信トークン242を所持しているので、処理したパケットP1を送信し、第1の受信バッファ212a内のパケットP1を解放する。その後、第1の処理プロセッサ213aは、送信トークン242を第2の処理プロセッサ213bに渡し、第1の受信バッファ212a内のパケットP5を処理する。
続いて、パケットP9〜P12が連続で入力された場合、受信トークン241を所持している第1の受信プロセッサ211aは、パケットP9を受信し、第1の受信バッファ212aに格納し、受信トークン241を第2の受信プロセッサ211bに渡す。次に、受信トークン241を所持する第2の受信プロセッサ211bは、パケットP10を受信するが、受信バッファ212bが一杯であるので、パケットP10を廃棄して廃棄パケットカウンタ221をインクリメント(+1)し、受信トークン241を第3の受信プロセッサ211cに渡す。同様に、第3及び第4の受信プロセッサ211c及び211dは、受信バッファ212c及び212dが一杯であるので、パケットP11及びP12を廃棄し、廃棄パケットカウンタ221をインクリメントする。第2〜第4の受信プロセッサ211b〜211dの廃棄パケットカウンタ221の値は「1」になる。
次に、図5に示すように、第2の処理プロセッサ213bは、送信トークン242を所持しているので、処理したパケットP2を送信し、第2の受信バッファ212b内のパケットP2を解放する。その後、第2の処理プロセッサ213bは、送信トークン242を第3の処理プロセッサ213cに渡し、第2の受信バッファ212b内のパケットP6を処理する。同様に、第3及び第4の処理プロセッサ213c及び213dは、それぞれ、パケットP3及びP4を送信し、続いてパケットP7及びP8を処理する。次に、第1の処理プロセッサ213aは、パケットP5を送信し、続いてパケットP9を処理する。
次に、パケットP13〜P16が連続で入力された場合、受信トークン241を所持している第1の受信プロセッサ211aは、パケットP13を受信し、第1の受信バッファ212aに格納し、受信トークン241を第2の受信プロセッサ211bに渡す。同様に、第2〜第4の受信プロセッサ211b〜211dは、それぞれ、パケットP14〜P16を受信し、受信バッファ212b〜212dに格納する。第2〜第4の受信バッファ212b〜212dは、パケットP14〜P16を格納すると共に、第2〜第4の受信プロセッサ211b〜211dの廃棄パケットカウンタ221の値「1」を格納する。
次に、図6に示すように、第2の処理プロセッサ213bは、送信トークン242を所持しているので、処理したパケットP6を送信し、第2の受信バッファ212b内のパケットP6を解放する。その後、第2の処理プロセッサ213bは、第2の受信バッファ212b内のパケットP14を処理すると共に、受信バッファ212b内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、それぞれ、パケットP7及びP8を送信し、続いてパケットP15及びP16を処理すると共に、受信バッファ212c及び212d内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。次に、第1の処理プロセッサ213aは、パケットP9を送信し、続いてパケットP13を処理する。
次に、図7に示すように、第2の処理プロセッサ213bは、送信トークン242を所持しているが、廃棄パケットカウンタ223の値が「1」でありアイドルカウンタ222の値「0」よりも大きいので、パケット送信をせずに廃棄パケットカウンタ223をデクリメント(−1)し、送信トークン242を第3の処理プロセッサ213cに渡す。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、それぞれ、パケット送信せずに、廃棄パケットカウンタ223をデクリメントし、送信トークン242を次の処理プロセッサ213に渡す。次に、第1の処理プロセッサ213aは、パケットP13送信し、送信トークン242を第2の処理プロセッサ213bに渡す。
次に、図8に示すように、第2の処理プロセッサ213bは、廃棄パケットカウンタ223の値が「0」でありアイドルカウンタ222の値「0」以下であるので、パケットP14を送信し、第2の受信バッファ212bのパケットP14を解放する。同様に、第3及び第4の処理プロセッサ213c及び213dは、廃棄パケットカウンタ223の値が「0」でありアイドルカウンタ222の値「0」以下であるので、パケットP15及びP16を送信し、受信バッファ212c及び212dのパケットP15及びP16を解放する。
以上のように、受信プロセッサ211において、パケット廃棄が発生した場合に廃棄パケットカウンタ221をインクリメントしておき、次に受信パケットを受信バッファ212に格納する際、同時に廃棄パケットカウンタも格納しておくことによって、処理プロセッサ213は現在のパケット受信以前に幾つのパケットが廃棄されたかを認識する事が可能となる。
パケットの廃棄が発生しない状況であれば、トークンでパケット順序の整合を取っている以上、順序逆転の発生はありえない。廃棄されたパケットは、本来その処理プロセッサで処理されるべきパケットであった事に着目し、各処理プロセッサにて廃棄パケットカウンタの数だけ送信トークンを空回しし、廃棄されたパケットを、あたかも処理及び送信したかの如く扱う事で、順序逆転を回避する事が可能となる。
上記の場合には、アイドルカウンタ222は、必ずしも必要でない。処理プロセッサ213は、送信トークン242を受け取ったときに、廃棄パケットカウンタ223が0であれば受信バッファ212内のパケットを送信し、廃棄パケットカウンタ223が1以上であれば送信せずに廃棄パケットカウンタをデクリメントし、送信トークンを次の処理プロセッサ213に渡す。
次に、図9及び図10を参照しながら、アイドルカウンタ222を設けない場合の問題点を説明する。図3及び図4の処理の後、アイドル状態が生じた場合を説明する。ここで、アイドル状態は、上記のパケットP1〜P8の入力後、パケット入力がない状態をいう。具体的には、処理プロセッサ213が送信トークン242を受け取ったときに、受信バッファ212が空である状態をいう。
上記のアイドル状態後、図9に示すように、パケットQ1〜Q8が連続で入力された場合、受信トークン241を所持している第1の受信プロセッサ211aは、パケットQ1を受信し、第1の受信バッファ212aに格納し、受信トークン241を第2の受信プロセッサ211bに渡す。同様に、第2〜第4の受信プロセッサ211b〜211dは、それぞれ、パケットQ2〜Q4を受信し、受信バッファ212b〜212dに格納すると共に、第2〜第4の受信プロセッサ211b〜211dの廃棄パケットカウンタ221の値「1」を受信バッファ212b〜212dに格納する。その後、廃棄パケットカウンタ221は、0にリセットされる。次に、第1〜第4の受信プロセッサ211a〜211dは、それぞれパケットQ5〜Q8を受信し、受信バッファ212a〜212dに格納する。
第1の受信バッファ212aはパケットQ1及びQ5を記憶し、第2の受信バッファ212bはパケットQ2及びQ6を記憶し、第3の受信バッファ212cはパケットQ3及びQ7を記憶し、第4の受信バッファ212dはパケットQ4及びQ8を記憶する。第1の処理プロセッサ213aは、第1の受信バッファ212a内のパケットQ1の処理を行う。次に、第2の処理プロセッサ213bは、第2の受信バッファ212b内のパケットQ2の処理を行うと共に、それに対応する受信バッファ212b内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、受信バッファ212c及び212d内のパケットQ3及びQ4の処理を行うと共に、それらに対応する受信バッファ212c及び212d内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。
次に、第1の処理プロセッサ213aは、パケットQ1を送信し、受信バッファ212aのパケットQ1を解放し、受信バッファ212a内の次のパケットQ5を処理する。次に、第2の処理プロセッサ213bは、廃棄パケットカウンタ223が「1」であるので、パケット送信をせずに廃棄パケットカウンタ223をデクリメントし、送信トークン242を第3の処理プロセッサ213cに渡す。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、廃棄パケットカウンタ223が「1」であるので、パケット送信をせずに廃棄パケットカウンタ223をデクリメントし、送信トークン242を次に渡す。第2〜第4の処理プロセッサ213b〜213d内の廃棄パケットカウンタ223は「0」になる。
次に、図10に示すように、第1の処理プロセッサ213aは、パケットQ5を送信し、受信バッファ212aのパケットQ5を解放する。次に、第2の処理プロセッサ213bは、パケットQ2を送信し、受信バッファ212b内のパケットQ2を解放する。その後、第2の処理プロセッサ213bは、受信バッファ212b内のパケットQ6を処理する。同様に、第3及び第4の処理プロセッサ213c及び213dは、それぞれ、パケットQ3及びQ4を送信し、続いてパケットQ7及びQ8を処理する。
以上のように、連続パケットの最後のパケットP10〜P12が廃棄されていた場合(図4の状態でパケット入力が終わった場合)で、アイドル状態を挟んでも、次に処理プロセッサ213に渡される最初のパケットQ2〜Q4には、廃棄パケットカウンタ223の値「1」が付加されて来ている為、パケット順序逆転を引き起こしてしまう。すなわち、パケット順序が、Q5→Q2→Q3→Q4になってしまう。このような問題点は、上記のアイドルカウンタ222を用いることにより解決することができる。以下、その説明を行う。
上記と同様に、図3及び図4の処理の後、アイドル状態が生じる場合を説明する。図11に示すように、処理プロセッサ213は、送信トークンを受け取ったときに、受信バッファ212が空であるときには、アイドル状態であるとして、アイドルカウンタ222をインクリメントし、送信トークンを次の処理プロセッサ213に渡す。この処理により、例えば、処理プロセッサ213a〜213dのアイドルカウンタ222には「n」がセットされる。「n」は、例えば1以上の値とする。
次に、パケットQ1〜Q8が連続で入力された場合、受信トークン241を所持している第1の受信プロセッサ211aは、パケットQ1を受信し、第1の受信バッファ212aに格納し、受信トークン241を第2の受信プロセッサ211bに渡す。同様に、第2〜第4の受信プロセッサ211b〜211dは、それぞれ、パケットQ2〜Q4を受信し、バッファ212b〜212dに格納すると共に、廃棄パケットカウンタ221の値「1」を受信バッファ212b〜212dに格納する。その後、廃棄パケットカウンタ221は、0にリセットされる。次に、第1〜第4の受信プロセッサ211a〜211dは、それぞれパケットQ5〜Q8を受信し、受信バッファ212a〜212dに格納する。
第1の受信バッファ212aはパケットQ1及びQ5を記憶し、第2の受信バッファ212bはパケットQ2及びQ6を記憶し、第3の受信バッファ212cはパケットQ3及びQ7を記憶し、第4の受信バッファ212dはパケットQ4及びQ8を記憶する。第1の処理プロセッサ213aは、第1の受信バッファ212a内のパケットQ1の処理を行う。次に、第2の処理プロセッサ213bは、第2の受信バッファ212b内のパケットQ2の処理を行うと共に、それに対応する受信バッファ212b内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、受信バッファ212c及び212d内のパケットQ3及びQ4の処理を行うと共に、それらに対応する受信バッファ212c及び212d内の廃棄パケットカウンタ値「1」を廃棄パケットカウンタ223にセットする。
次に、図12に示すように、第1の処理プロセッサ213aは、パケットQ1を送信する。次に、第2の処理プロセッサ213bは、廃棄パケットカウンタ223の値「1」がアイドルカウンタ222の値「n」以下であるので、パケットQ2を送信し、送信トークン242を第3の処理プロセッサ213cに渡す。次に、同様に、第3及び第4の処理プロセッサ213c及び213dは、廃棄パケットカウンタ223の値「1」がアイドルカウンタ222の値「n」以下であるので、パケットQ3及びQ4を送信し、送信トークン242を次に渡す。
次に、図13に示すように、第1〜第4の処理プロセッサ213a〜213dは、上記の送信後、アイドルカウンタ222及び廃棄パケットカウンタ223を0にリセットする。その後、第1の処理プロセッサ213aは、受信バッファ212a内のパケットQ1を解放し、パケットQ5を処理する。第2の処理プロセッサ213bは、受信バッファ212b内のパケットQ2を解放し、パケットQ6を処理する。第3及び第4の処理プロセッサ213c及び213dは、受信バッファ212c及び212d内のパケットQ3及びQ4を解放し、パケットQ7及びQ8を処理する。その後、パケットQ5,Q6,Q7及びQ8が順に送信される。
以上のように、処理プロセッサ213は、送信トークンを受け取ったときに、受信バッファ212内にパケットがなければアイドルカウンタ222をインクリメントして他の処理プロセッサ213に送信トークンを渡し、受信バッファ212内にパケットがあれば、廃棄パケットカウンタ223がアイドルカウンタ222以下であるときには受信バッファ212内のパケットを送信し、アイドルカウンタ222をリセットする。また、送信プロセッサ213は、廃棄パケットカウンタ223がアイドルカウンタ222より大きいときには受信バッファ212内のパケットを送信せずに廃棄パケットカウンタ223をデクリメントし、他の処理プロセッサ213に送信トークンを渡す。これにより、連続パケットの最後のパケットP10〜P12が廃棄されていた後、アイドル状態になり、パケットQ1〜Q8が入力されても、適切な順序でパケットを送信することができる。
図14は、本発明の実施形態による上記の入力プロセッサ(通信装置)101の処理手順を示すフローチャートである。ステップS1401では、パケットを受信したか否かをチェックする。具体的には、処理プロセッサが受信バッファ内にパケットがあるか否かをチェックする。受信バッファ内にパケットがあればステップS1405へ進み、パケットがなければステップS1402へ進む。なお、受信プロセッサは、受信バッファが空いていればそのパケットを受信バッファに格納し、空いていなければそのパケットを廃棄する。
ステップS1402では、送信トークンを所有しているか否かをチェックする。所有していなければステップS1401へ戻り、所有していればステップS1403へ進む。ステップS1403では、送信トークンを解放し、次の処理プロセッサに渡す。次に、ステップS1404では、アイドルカウンタをインクリメントする。その後、ステップS1401へ戻る。
ステップS1405では、受信パケット処理を行う。すなわち、送信プロセッサは、受信バッファ内のパケット処理を行う。例えば、パケットのアドレス解析を行い、宛先を確定する。次に、ステップS1406では、送信トークンを所有しているか否かをチェックする。所有していなければ待機し、所有していればステップS1407へ進む。
ステップS1407では、廃棄パケットカウンタがアイドルカウンタ以下であるか否かの条件をチェックする。条件を満たさなければステップS1408へ進み、条件を満たしていればステップS1410へ進む。
ステップS1408では、送信トークンを解放し、次の処理プロセッサに渡す。次に、ステップS1409では、廃棄パケットカウンタをデクリメントする。その後、ステップS1406へ戻る。
ステップS1410では、処理プロセッサがパケット送信処理を行う。次に、ステップS1411では、送信トークンを解放し、次の処理プロセッサに渡す。次に、ステップS1412では、アイドルカウンタを0にリセットする。以上で、処理を終了する。このような処理を繰り返し行う。
本実施形態は、マルチプロセッサシステム(ネットワークプロセッサ等)において、特にトークンを用いて高速パケット処理を行うものである。以上のように、受信プロセッサは、受信トークンを受け取ったときに、受信バッファが空いているときには受信したパケットを受信バッファにバッファリングし、受信バッファが空いていないときには受信したパケットを廃棄して廃棄パケット数をインクリメントし、受信トークンを他の受信プロセッサに渡す。処理プロセッサは、カウントした廃棄パケット数を基に上記受信したパケットの順番でパケットを外部に送信する。
また、処理プロセッサは、送信トークンを受け取ったときに、受信バッファ内にパケットがなければアイドル数をインクリメントして他の処理プロセッサに送信トークンを渡し、受信バッファ内にパケットがあれば廃棄パケット数及びアイドル数に応じて受信バッファ内のパケットを送信する。
本実施形態によれば、トークンを使用したネットワークプロセッサ等のマルチプロセッサシステムにおいて、パケットの廃棄による、パケット順序逆転が発生し得る状況においても、これを回避する事が可能であり、他のプロセッサの状態等を考慮する必要がなく、わずかなアルゴリズム追加で実現可能である為、処理能力への影響を最小限に留める事が可能である。
なお、廃棄パケットは、上位階層のソフトウエアが再送要求し、廃棄パケットをリカバリすることができる。また、本実施形態は、上記のプロセッサ構成数等に限定されるものではなく、トークン制御により動作している種々のマルチプロセッサシステムにおいて実施可能である。
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明によれば、各プロセッサユニットが、廃棄パケット数をカウントし、その廃棄パケット数を基にパケットを送信することにより、輻輳状態により受信パケットが廃棄された場合にも、送信パケット順序逆転を防止することができる。また、他のプロセッサユニットの状態等を考慮する必要がなく、簡単な構成で送信パケット順序逆転を防止することができ、通信装置の処理能力への影響を最小限に留めることができる。

Claims (24)

  1. 複数のプロセッサユニットを有する通信装置であって、
    各プロセッサユニットは、
    パケットをバッファリングするためのバッファと、
    受信トークンを受け取ると、外部からパケットを受信し、受信したパケットを前記バッファにバッファリングし、他のプロセッサユニットに受信トークンを渡して巡回させる受信プロセッサと、
    送信トークンを受け取ると、前記バッファ内のパケットを外部に送信し、他のプロセッサユニットに送信トークンを渡して巡回させる送信プロセッサとを有し、
    前記受信プロセッサは、受信トークンを受け取ったときに、前記バッファが空いているときには受信したパケットを前記バッファにバッファリングし、前記バッファが空いていないときには受信したパケットを廃棄して廃棄パケット数をインクリメントし、受信トークンを他のプロセッサユニットに渡し、
    前記送信プロセッサは、前記カウントした廃棄パケット数を基に前記受信したパケットの順番でパケットを外部に送信する通信装置。
  2. 前記送信プロセッサは、送信トークンを受け取ったときに、前記廃棄パケット数が0であれば前記バッファ内のパケットを送信し、前記廃棄パケット数が1以上であれば送信せずに前記廃棄パケット数をデクリメントし、送信トークンを他のプロセッサユニットに渡す請求項1記載の通信装置。
  3. 前記受信プロセッサは、MAC(media access control)フレームを有するパケットを受信する請求項2記載の通信装置。
  4. 前記送信プロセッサは、さらに前記バッファ内のパケットのアドレスを解析する請求項3記載の通信装置。
  5. さらに、前記複数のプロセッサユニットにより送信されたパケットを受信し、前記解析されたアドレスに応じて、該受信したパケットを出力するための出力装置を有する請求項4記載の通信装置。
  6. 前記送信プロセッサは、送信トークンを受け取ったときに、前記バッファ内にパケットがなければアイドル数をインクリメントして他のプロセッサユニットに送信トークンを渡し、前記バッファ内にパケットがあれば前記廃棄パケット数及び前記アイドル数に応じて前記バッファ内のパケットを送信する請求項1記載の通信装置。
  7. 前記送信プロセッサは、前記廃棄パケット数が前記アイドル数以下であるときには前記バッファ内のパケットを送信する請求項6記載の通信装置。
  8. 前記送信プロセッサは、前記廃棄パケット数が前記アイドル数以下であるときには前記バッファ内のパケットを送信し、前記アイドル数をリセットする請求項6記載の通信装置。
  9. 前記送信プロセッサは、前記廃棄パケット数が前記アイドル数より大きいときには前記バッファ内のパケットを送信せずに前記廃棄パケット数をデクリメントし、他のプロセッサユニットに送信トークンを渡す請求項8記載の通信装置。
  10. 前記受信プロセッサは、MAC(media access control)フレームを有するパケットを受信する請求項9記載の通信装置。
  11. 前記送信プロセッサは、さらに前記バッファ内のパケットのアドレスを解析する請求項10記載の通信装置。
  12. さらに、前記複数のプロセッサユニットにより送信されたパケットを受信し、前記解析されたアドレスに応じて、該受信したパケットを出力するための出力装置を有する請求項11記載の通信装置。
  13. 複数のプロセッサユニットを用いる通信方法であって、
    各プロセッサユニットが、受信トークンを受け取ると、外部からパケットを受信し、受信したパケットをバッファにバッファリングし、他のプロセッサユニットに受信トークンを渡して巡回させる受信ステップと、
    各プロセッサユニットが、送信トークンを受け取ると、バッファ内のパケットを外部に送信し、他のプロセッサユニットに送信トークンを渡して巡回させる送信ステップとを有し、
    前記受信ステップは、受信トークンを受け取ったときに、バッファが空いているときには受信したパケットをバッファにバッファリングし、バッファが空いていないときには受信したパケットを廃棄して廃棄パケット数をインクリメントし、受信トークンを他のプロセッサユニットに渡し、
    前記送信ステップは、前記カウントした廃棄パケット数を基に前記受信したパケットの順番でパケットを外部に送信する通信方法。
  14. 前記送信ステップは、送信トークンを受け取ったときに、前記廃棄パケット数が0であればバッファ内のパケットを送信し、前記廃棄パケット数が1以上であれば送信せずに前記廃棄パケット数をデクリメントし、送信トークンを他のプロセッサユニットに渡す請求項13記載の通信方法。
  15. 前記受信ステップは、MAC(media access control)フレームを有するパケットを受信する請求項14記載の通信方法。
  16. 前記送信ステップは、さらにバッファ内のパケットのアドレスを解析するステップを含む請求項15記載の通信方法。
  17. さらに、前記複数のプロセッサユニットにより送信されたパケットを受信し、前記解析されたアドレスに応じて、該受信したパケットを出力する出力ステップを有する請求項16記載の通信方法。
  18. 前記送信ステップは、送信トークンを受け取ったときに、バッファ内にパケットがなければアイドル数をインクリメントして他のプロセッサユニットに送信トークンを送信し、バッファ内にパケットがあれば前記廃棄パケット数及び前記アイドル数に応じてバッファ内のパケットを送信する請求項13記載の通信方法。
  19. 前記送信ステップは、前記廃棄パケット数が前記アイドル数以下であるときにはバッファ内のパケットを送信する請求項18記載の通信方法。
  20. 前記送信ステップは、前記廃棄パケット数が前記アイドル数以下であるときにはバッファ内のパケットを送信し、前記アイドル数をリセットする請求項18記載の通信方法。
  21. 前記送信ステップは、前記廃棄パケット数が前記アイドル数より大きいときにはバッファ内のパケットを送信せずに前記廃棄パケット数をデクリメントし、他のプロセッサユニットに送信トークンを渡す請求項20記載の通信方法。
  22. 前記受信ステップは、MAC(media access control)フレームを有するパケットを受信する請求項21記載の通信方法。
  23. 前記送信ステップは、さらにバッファ内のパケットのアドレスを解析するステップを含む請求項22記載の通信方法。
  24. さらに、前記複数のプロセッサユニットにより送信されたパケットを受信し、前記解析されたアドレスに応じて、該受信したパケットを出力する出力ステップを有する請求項23記載の通信方法。
JP2004570152A 2003-03-31 2003-03-31 通信装置及び通信方法 Expired - Fee Related JP4049777B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/004057 WO2004088938A1 (ja) 2003-03-31 2003-03-31 通信装置及び通信方法

Publications (2)

Publication Number Publication Date
JPWO2004088938A1 true JPWO2004088938A1 (ja) 2006-07-06
JP4049777B2 JP4049777B2 (ja) 2008-02-20

Family

ID=33105334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004570152A Expired - Fee Related JP4049777B2 (ja) 2003-03-31 2003-03-31 通信装置及び通信方法

Country Status (3)

Country Link
US (1) US7796618B2 (ja)
JP (1) JP4049777B2 (ja)
WO (1) WO2004088938A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4957604B2 (ja) * 2008-03-24 2012-06-20 沖電気工業株式会社 通信制御装置
EP2979407B1 (en) 2013-03-28 2018-09-12 British Telecommunications public limited company Re-marking of packets for queue control
EP3332519B8 (en) * 2015-08-06 2019-07-31 British Telecommunications public limited company Data packet network
US10469393B1 (en) 2015-08-06 2019-11-05 British Telecommunications Public Limited Company Data packet network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261826A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd 入力回線インタフェース装置及びパケット通信装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361372A (en) * 1991-12-27 1994-11-01 Digital Equipment Corporation Memory management for data transmission networks
JPH09162927A (ja) 1995-12-11 1997-06-20 Toshiba Corp ネットワークシステム及びこれに使用される情報通信機器、情報通信方法
EP0877985B1 (en) * 1996-11-04 2000-03-01 Koninklijke Philips Electronics N.V. Signal processing device, using more than one processing element
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
JP3045715B2 (ja) * 1998-01-23 2000-05-29 松下電器産業株式会社 伝送システム、送信装置、記録再生装置、および記録装置
JPH11234331A (ja) * 1998-02-19 1999-08-27 Matsushita Electric Ind Co Ltd パケット並列処理装置
US20020107903A1 (en) * 2000-11-07 2002-08-08 Richter Roger K. Methods and systems for the order serialization of information in a network processing environment
US6925055B1 (en) * 2001-03-05 2005-08-02 Advanced Micro Devices, Inc. Systems and methods for traffic shaping
US6772244B2 (en) * 2002-04-03 2004-08-03 Sun Microsystems, Inc. Queuing delay limiter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261826A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd 入力回線インタフェース装置及びパケット通信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吉居伸幸 他2名: "ネットワークプロセッサによるメディアコンバータの実現", 電子情報通信学会技術研究報告NS2001−204, vol. 第101巻,第509号, JPN6007008085, 11 December 2001 (2001-12-11), pages 29 - 34, ISSN: 0000928034 *

Also Published As

Publication number Publication date
US7796618B2 (en) 2010-09-14
JP4049777B2 (ja) 2008-02-20
WO2004088938A1 (ja) 2004-10-14
US20060013241A1 (en) 2006-01-19

Similar Documents

Publication Publication Date Title
JP5028431B2 (ja) ネットワーク中継装置およびパケット振り分け方法
US7519067B2 (en) Method, system, and computer product for controlling input message priority
US7346707B1 (en) Arrangement in an infiniband channel adapter for sharing memory space for work queue entries using multiply-linked lists
US7499470B2 (en) Sequence-preserving deep-packet processing in a multiprocessor system
US10015112B2 (en) Memory-efficient handling of multicast traffic
EP1729462A1 (en) Policy based routing using a fast filter processor
US7706277B2 (en) Selective flow control
US10263893B2 (en) Application-level dynamic scheduling of network communication for efficient re-partitioning of skewed data
WO2012080170A1 (en) Network processor and method for accelerating data packet parsing
EP1384356A1 (en) Selective data frame dropping in a network device
US5864553A (en) Multiport frame exchange system
US20210029052A1 (en) Methods and apparatuses for packet scheduling for software- defined networking in edge computing environment
WO2008057830A2 (en) Using a pool of buffers for dynamic association with a virtual channel
EP3563535B1 (en) Transmission of messages by acceleration components configured to accelerate a service
JP4049777B2 (ja) 通信装置及び通信方法
CN114189368B (zh) 一种多推理引擎兼容的实时流量检测系统和方法
CN110838979A (zh) 流量转发控制方法、装置、系统和计算机可读存储介质
US7830901B2 (en) Reliable network packet dispatcher with interleaving multi-port circular retry queue
JP2007259374A (ja) ネットワーク送受信装置
Levitin et al. Computer interconnection networks with virtual cut-through routing
US20070266127A1 (en) Internal virtual local area network (lan)
Kaisina et al. Vestnik IzhGTU imeni MT Kalashnikova
US20090034429A1 (en) Packet communication apparatus and communication line quality analyzing method
US20070011359A1 (en) Multi-class data transmission apparatus and related method thereof
CN109347678B (zh) 一种路由环路的确定方法及装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131207

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees