JP5028431B2 - ネットワーク中継装置およびパケット振り分け方法 - Google Patents

ネットワーク中継装置およびパケット振り分け方法 Download PDF

Info

Publication number
JP5028431B2
JP5028431B2 JP2009001576A JP2009001576A JP5028431B2 JP 5028431 B2 JP5028431 B2 JP 5028431B2 JP 2009001576 A JP2009001576 A JP 2009001576A JP 2009001576 A JP2009001576 A JP 2009001576A JP 5028431 B2 JP5028431 B2 JP 5028431B2
Authority
JP
Japan
Prior art keywords
packet
distribution
processing unit
counter
information table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009001576A
Other languages
English (en)
Other versions
JP2010161546A (ja
JP2010161546A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009001576A priority Critical patent/JP5028431B2/ja
Priority to US12/627,380 priority patent/US8300526B2/en
Publication of JP2010161546A publication Critical patent/JP2010161546A/ja
Publication of JP2010161546A5 publication Critical patent/JP2010161546A5/ja
Application granted granted Critical
Publication of JP5028431B2 publication Critical patent/JP5028431B2/ja
Expired - Fee Related 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/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • 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/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワーク中継装置およびパケット振り分け方法に係り、特に、入力されたパケットを複数のパケット処理部に振り分けることで並列に処理し、高速にパケットを転送するネットワーク中継装置およびパケット振り分け方法に関する。
近時、映像配信、P2P(Peer to Peer)を用いたデータ共有等、インターネットを用いた通信サービスの高度化により、トラフィック量の増加が急激に進行している。また、通信速度の高速化は今まで以上に要求されており、ネットワーク内におけるルータや、ゲートウェイ等のネットワーク中継装置の処理負荷が一層大きくなってきている。このため、ネットワーク中継装置の処理能力向上が急務となっている。
ネットワーク中継装置にてパケット処理能力を向上する手法の一つとして、並列処理方法がある。並列処理技術は、複数のパケット処理部と、これらの前段に配置されるパケット振り分け部とを設け、複数のパケット処理部にパケットを振り分けて並列処理させることにより、装置全体でのパケット処理能力を向上させる手法である。
パケットの振り分けを実現する第一の方法として、ラウンドロビン法がある。ラウンドロビン法とは、パケットを到着した順番で振り分ける方法である。この方式では、パケット長またはパケット処理内容によって処理速度が異なる場合があり、処理負荷を均等に分散できないという問題がある。
そこで、第二の方法として、アウトオブオーダ法がある。アウトオブオーダ法は、空いているパケット処理部にパケットを振り分ける方法である。この方法では、均等な負荷分散がされるが、ラウンドロビン法も含め、パケットの転送元から転送先に連続して送られる一連のパケットの間で処理負荷の低いパケット処理部を通過したパケットが処理負荷の高いパケット処理部を通過したパケットを追い越して順序が逆転することが有り得る。
そのため、第三の方法として、ハッシュ法がある。ハッシュ法は、ヘッダ情報を元に計算したハッシュ値にしたがって、パケットを振り分ける方法である。例えば、フローを表すヘッダ情報となるパケットの送信元IPアドレスや宛先IPアドレス、プロトコル番号等の組を引数として、ハッシュ関数を計算し、得られた値(ハッシュ値)にしたがって、パケットの振り分け先を決定する方法であり、この方法によれば同一フロー内のパケットの順序性が保証される。
特許文献1では上記三つの方法を挙げている。また、ラウンドロビン法、アウトオブオーダ法を用いて負荷を分散する際は、パケットの順序逆転を防止するために、出力段に転送パケット再配列処理部を設けて、パケット振り分け時の順序に並べ直してから出力している。
特許文献2は、ネットワーク装置に於けるパケット処理を開示している。特許文献2のネットワーク装置は、並列処理による負荷分散を開示しているが、パケットが順序逆転しないことは保証していない。
特許文献3は、パケット通信処理部に於ける負荷分散を開示している。特許文献3に記載の負荷分散は、統計情報に基づいた負荷分散である。しかし、パケットの順序逆転しないことに付いて保証していない。
特許文献4は、パケット転送装置を開示している。しかし、このパケット転送装置は、ヘッダ処理の並列化に関するのみである。
図1を参照して、ハッシュ法を用いたパケット振り分け方法を説明する。ここで、図1はハッシュ法を用いたパケット振り分け方法を説明するブロック図である。図1において、図示の簡便のため、パケット処理部105は、2個のみ記載する。また、ネットワーク中継装置の、パケット振り分け処理部103、処理待ちキュー104、パケット処理部105のみ抜きで出している。図1Aの処理待ちキュー104−1を参照して、円形で示すパケットを説明する。処理キュー104−1には、パケットA1、C1、A2、C2がこの順に保持されている。AはフローA、CはフローCを意味する。AまたはCに続く数字は、フローのシーケンス番号である。また処理待ちキュー104は、いわゆるFIFO(First In First Out)メモリであり、左から入力され、右から出力される。
図1において、パケット振り分け処理部103は、受信パケットのヘッダ情報を基にハッシュ値を求める。パケット振り分け処理部103は、さらにハッシュ値から振り分け先パケット処理部105−1〜2を特定する。ここでは、フローAとフローCに属すパケットは処理待ちキュー104−1に振り分けられ、フローBに属すパケットは処理待ちキュー104−2に振り分けられる。
図1Bは、図1Aから比べて少し時間が経過し、フローAのトラヒックが増加した様子を表している。ハッシュ法では、一度割り振られたパケットは同一のパケット処理部105−1で処理され続け、他のパケット処理部105−2で処理されることはない。このため、パケット処理部105−2は比較的負荷が軽いにもかかわらず、フローCを処理することはない。よって、フローCはフローAの影響で、遅延や、パケットをロストしてしまう可能性がある。
特開2001−211203号公報 特開2008−167305号公報 特開2004−221805号公報 特開2003−018198号公報
ラウンドロビン法、アウトオブオーダ法の単純な実装ではパケットの順序逆転が起きてしまう問題がある。前述したとおり、出力段に転送パケット再配列処理部を設けることでこの問題を回避することも可能であるが、この処理は、パケット受信時にパケットに付与する内部ヘッダにおいてシーケンス番号を付与し、パケット送信時にシーケンス番号の順序再配列をしてからパケットを送信することで解決しているため、遅延時間の発生や、実装のコストが増す。
一方ハッシュ法では、生成されるハッシュ値によって、同一フローのパケットは同一のパケット処理部に割り振られる。このため、ハッシュ法では、フロー内での順序逆転は発生しない。しかし、複数のフローにおいてハッシュ値から求められる振り分け先パケット処理部が同一になるなど、特定パケット処理部に集中することが有り得る。この場合、空いているパケット処理部を有効に利用できない。
本発明では、上記に鑑みて、特別なパケット再配列処理部を必要とせずにパケットのフロー内での順序逆転が起きないことを保証し、かつ、負荷状況に応じてパケット振り分け先を移すことを可能とするパケット振り分け方法と、複数のパケット処理部を有し、上記パケット振り分け方法によって、パケットを並列に処理可能なネットワーク中継装置を得ることを目的とする。
上述した課題は、受信キューと、この受信キューからパケットを取り出すパケット振り分け処理部と、複数の処理待ちキューと、これらの処理待ちキューとに対応する複数のパケット処理部と、送信キューとからなり、複数のパケット処理部の負荷状態を定期的に収集する統計情報収集部と、この統計情報収集部が収集した負荷状況と、ハッシュ値とパケット処理部とカウンタとを対応付ける振り分け情報テーブルとを保持する振り分け情報保持部とをさらに備え、パケット振り分け処理部は、処理待ちキューにパケットを送信した後、振り分け情報テーブルの該当するハッシュ値のカウンタをインクリメントし、パケット処理部は、送信キューにパケットを送信した後、振り分け情報テーブルの該当するハッシュ値のカウンタをデクリメントし、パケット振り分け処理部は、受信キューからパケットを取得したとき、振り分け情報テーブルの該当するハッシュ値のカウンタを参照し、カウンタ値が予め定めた値のとき、振り分け情報テーブルの該当するハッシュ値のパケット処理部を更新するネットワーク中継装置により、達成できる。
また、入力されたパケットをハッシュ値に基づいて振り分けることによりパケット処理の負荷分散を図るパケット振り分け処理部と、パケット振り分け先を特定するために用いる各パケット処理部の負荷状態を定期的に収集する統計情報収集部と、パケットを振り分ける際に振り分け先を特定するための情報を管理する振り分け情報保持部と、振り分けられたパケットを処理する複数のパケット処理部を備え、情報保持部は、ハッシュ値とパケット処理部とカウンタとを対応付ける振り分け情報テーブルを備え、パケット振り分け処理部は、パケット処理が終了した後、振り分け情報テーブルの該当するハッシュ値のカウンタをインクリメントし、パケット処理部は、パケット処理が終了した後、振り分け情報テーブルの該当するハッシュ値のカウンタをデクリメントするネットワーク中継装置により、達成できる。
さらに、受信キューからパケットを取り出すステップと、このパケットのハッシュ値を計算するステップと、このハッシュ値に基づいて、振り分け情報テーブルを参照するステップと、この振り分け情報テーブルのカウンタ値が予め定めた値か確認するステップと、パケットを処理待ちキューに振り分けるステップと、カウンタ値をインクリメントするステップと、処理待ちキューからパケットを取り出すステップと、パケットを出力するステップと、カウンタ値をインクリメントするステップと、からなるパケット振り分け方法により、達成できる。
本発明によれば、パケット中継装置において、フローごとのパケットの振り分け先を、実際のトラヒックの状況に応じて、動的に変更することが可能になる。
以下、本発明の実施の形態について、実施例を用い図面を参照しながら、詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
まず、図2を参照して、ネットワーク中継装置が適用されるネットワークシステムを説明する。ここで、図2はネットワークシステムのハードウェアブロック図である。
図2において、ネットワークシステム500は、住宅に設置されたホームゲートウェイ(HGW)520と、HGW520と接続された地域IP網530と、インターネット550と、地域IP網530とインターネット550を接続するゲートウェイ540とで構成される。HGW520には、端末10が接続される。インターネット550にはサーバ60が接続される。地域IP網530と、インターネット550とは、それぞれメッシュ状に接続されたルータで構成する。HGW520、GW540、ルータ50は、いずれもネットワーク中継装置である。
図3を参照して、ネットワーク中継装置の構成を説明する。ここで、図3はネットワーク中継装置の機能ブロック図である。図3において、ネットワーク中継装置400は、受信キュー102と、パケット振り分け処理部103と、N台の処理待ちキュー104と、N台のパケット処理部105と、送信キュー108と、統計情報収集部107と、振り分け情報保持部106とから構成される。
パケット中継装置400がパケットを受信したとき、受信キュー102は、パケットを一時的に保持する。パケット振り分け処理部103は、受信キュー102からパケットを一つ取り出す。パケット振り分け処理部103は、振り分け情報保持部106を参照して、振り分け先パケット処理部105−1〜Nの一つを特定する。パケット振り分け処理部103は、特定した振り分け先パケット処理部105に対応する処理待ちキュー104にパケットを振り分ける。なお、パケット振り分け処理部103は、ハッシュ演算により、振り分け先パケット処理部105を特定する。また、パケット振り分け処理部103は、パケットを振り分けた後、振り分け情報テーブル200の当該ハッシュ値の参照カウンタをインクリメントする。
各パケット処理部105は、処理待ちキュー104からパケットを取り出す。パケット処理部105は、ルーティング処理や、プロトコル処理など、当該中継装置に要求される処理を行なう。処理が完了したパケットは、順次送信キュー108に渡され送信される。またパケット処理部105は、単位時間あたりの処理パケット数などにより負荷状態を示すカウンタ情報を計数する。なお、各パケット処理部105は、パケットを送信キュー108に送信した後、振り分け情報テーブル200の当該ハッシュ値の参照カウンタをデクリメントする。ハッシュ値は、パケット処理部105で再計算してもよいし、パケット振り分け処理部103がパケットに付与してもよい。
統計情報収集部107は、各パケット処理部105が計数する単位時間当たりのパケット処理数など、パケット処理部105の負荷状態を表すカウンタ情報を定期的に収集する。その情報を基に、統計情報収集部107は、負荷の軽い順にパケット処理部105−1〜Nを特定するインデックスを並べて、負荷状態リスト300を作成、更新する。振り分け情報保持部106は、振り分け情報テーブル200と、負荷状態リスト300を保持する。
図4と図5を参照して、振り分け情報テーブルと、負荷状態リストを説明する。ここで、図4は振り分け情報テーブルを説明する図である。また、図5は負荷状態リストを説明する図である。
図4において、振り分け情報テーブル200は、フローを特定するハッシュ値201と、パケットの振り分け先パケット処理部105−1〜Nを示すインデックス202と、処理待ちキュー104に当該フローに属するパケットがいくつ存在するかを示す参照カウンタ203からなる。
フローを特定するためのハッシュ値201は、受信したパケットのヘッダ情報にある情報を基にハッシュ計算を行ない求める。具体的には、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル番号を組み合わせて用いてハッシュ計算を行なう。
振り分け先パケット処理部のインデックス202は、パケットを受信し、フローを特定した際に参照し、対応するフローをどのパケット処理部105に振り分けるかを示している。参照カウンタ203は、パケット振り分け処理部103にてパケットを処理待ちキュー104に送った時点で加算し、振り分け先の各パケット処理部105で処理が完了した際に減算を行う。
図5において、負荷状態リスト300は、負荷順序301と、パケット処理部インデックス302とから構成される。負荷状態リスト300において、負荷順序301が小さいほど、負荷が軽いことを意味し、該当するパケット処理部105は、そのインデックス302で判定される。
図6を参照して、ネットワーク中継装置のハードウェア構成を説明する。ここで、図6はネットワーク中継装置のハードウェアブロック図である。図6において、ネットワーク中継装置400は、バス404で相互接続されたマルチコアCPU405と、入力IF401と、出力IF402と、メモリ403とで構成される。さらに、マルチコアCPU405のコア1は、パケット振り分け処理部103として動作する。また、マルチコアCPU405のコア2は、パケット処理部105−1として動作する。同様に、マルチコアCPU405のコアN+1は、パケット処理部105−Nとして動作する。さらに、マルチコアCPU405のコアN+2は、統計情報収集部107として動作する。
入力IF401は、外部から受信した信号を装置内部で扱う信号形式に変換し、パケットとして受信キュー102に入力する。出力IF402は、送信キュー108よりパケットを取り出し、外部回線で扱う信号形式へ変換し出力する。なお、図6で示す入力IF401、出力IF402の数は各々一つであるが、IF401、402の数は、複数でもよい。
メモリ403は、受信キュー102と、送信キュー108と、処理待ちキュー104と、振り分け情報保持部106が割当てられている。
図3と図6との対比から明らかなように、パケット振り分け処理部103、パケット処理部105、統計情報収集部107は、メモリ上のプログラムを、各コアが実行することで実現している。しかし、パケット振り分け処理部103、パケット処理部105および統計情報処理部107は、それぞれLSIでハードウェアとして実現することも可能である。
図7を参照して、パケット振り分け処理部の処理内容について、説明する。ここで、図7はパケット振り分け処理部の動作のフローチャートである。図7において、受信キュー102にパケットがあるとき、パケット振り分け処理部103は、まず、受信キュー102からパケットを取り出す(S501)。パケット振り分け処理部103は、次にパケットのヘッダ情報を基にハッシュ計算を行ない(S502)、フローを特定するハッシュ値を得る。そのハッシュ値を基にパケット振り分け処理部103は、振り分け情報テーブル200を参照し(S503)、パケット振り分け処理部103は、そのフローに対応する参照カウンタ203が0で有るか否かを見る(S504)。0でなかった場合(NO)、パケット振り分け処理部103は、同じく振り分け情報テーブル200を参照し、振り分け先パケット処理部105−1〜Nに対応する処理待ちキュー104−1〜Nにパケットを移す(S508)。パケット振り分け処理部103は、振り分け情報テーブル200上のフローに対応する参照カウンタ203の値を加算して(S509)、終了する。
一方、ステップ504で参照カウンタの値が0であった場合、パケット振り分け処理部103は、負荷状態リスト300を参照する(S505)。パケット振り分け処理部103は、負荷の軽いパケット処理部105−1〜Nを特定する(S506)。このとき、パケット振り分け処理部103は、特定した振り分け先のパケット処理部105−1〜Nを示すインデックスで、振り分け情報テーブル200上の当該フローの振り分け先を更新して(S507)、ステップ508に遷移する。ここまでが一連の処理であり、パケット振り分け処理部103は、パケットを受信するたびに、この処理を繰り返し行なう。
図8を参照して、パケット処理部の処理内容について、説明する。ここで、図8はパケット処理部の動作フローチャートである。図8において、パケット処理部105は、処理待ちキュー104からパケットを取り出す(S601)。パケット処理部105は、そのパケットに対して必要な、ルーティング処理、プロトコル処理等の、パケット処理を行なう(S602)。パケット処理が完了した後、パケット処理部105は、パケットを出力するため、送信キュー108にパケットを移す(S603)。またその際、パケット処理部105は、振り分け情報テーブル200上のフローに対応する参照カウンタの値を減算する(S604)。ここまでが一連の処理であり、パケット処理部105は、パケットを受信キュー102から取り出すたびに、この処理を繰り返し行なう。
図9を参照して、統計情報収集部の処理内容を、説明する。ここで、図9は統計情報収集部の動作のフローチャートである。図9において、統計情報収集部107は、まず、各パケット処理部105−1〜Nで計数している負荷状態を示すカウンタ情報を収集する(S701)。次に、統計情報収集部107は、収集した情報を基に、負荷状態の軽い順にパケット処理部105−1〜Nを示すインデックスを並べて、負荷状態リスト300を更新する(S702)。統計情報の収集は定期的に行うため、統計情報収集部107は、一定時間経過するのを待って(S703)、再びステップ701に戻る。統計情報収集部107は、ここまでの処理を繰り返し行なう。
図10を参照して、本実施例でのパケットの振り分け先の動的に変更を説明する。ここで、図10はパケット振り分け方法を説明するブロック図および振り分け情報テーブルを説明する図である。
図10Aは、比較のため、図1Aと同様にパケット振り分けられている様子を表している。右側にはその時点での振り分け情報テーブル200の様子を示している。説明のため、各フローに対応するハッシュ値を次のように定めている。フローAに対応するハッシュ値を1256、フローBに対応するハッシュ値を219、フローCに対応するハッシュ値を2378とする。振り分け先のパケット処理部105はこの時点で、フローA、Bがパケット処理部105−1であり、フローCはパケット処理部105−2である。参照カウンタは、フローAが2、フローBが3、フローCが2である。
図10Bはフローを他のパケット処理部105に移す契機となる、フローCの参照カウンタが0となった状態を示している。処理待ちキュー104−1からフローCのパケットが無くなり、それに併せて、振り分け情報テーブル200上の参照カウンタも0を示している。
この状態で次にフローCのパケット受信した際に、負荷状態リスト300を基にパケットの振り分け先を移す。ここでは、パケット処理部105−1に比べて、パケット処理部105−2の負荷が軽い。よって、フローCはパケット処理部105−2で処理されるように、振り分け先を移す。図10CはフローAのトラヒックが増した様子であるが、フローCはすでにパケット処理部105−2に振り分け先を移しているため、パケット処理に関して、フローAの影響を受けることなく処理することが可能である。
このように、パケットの振り分け先を変えることで、複数個あるパケット処理部105を有効に利用することが可能となり、パケット処理を並列化することで、パケット転送処理を高めることができる。
振り分け先を変更した場合においても、フロー内でのパケット順序逆転が起きないことを図11を参照して説明する。ここで、図11はパケットの送信順序を説明するブロック図である。図11において、図10で示したと同様にパケット処理部105は2つに限定して説明する。また、扱うフローもフローA、B、Cの3つとする。ただし、図10に加えて送信キュー108も図示する。
図11において、初めに、フローA、Cは、パケット処理部105−1で処理されるように処理待ちキュー104−1に入れられている。フローBは、処理待ちキュー104−2に入っている。この状態でパケットC2が処理待ちキュー104−1からパケット処理部105−1に移り、パケット処理を施して、送信キュー108に入れられたとする。
この時点でフローCの参照カウンタは、0となる。この場合、フローCのパケットはどの処理待ちキュー104、パケット処理部105にも存在しない状態となる。参照カウンタ0の状態で、再度フローCのパケットを受信した場合、どのパケット処理部105で処理を行っても、順序逆転が起きない。なぜならば、処理待ちキュー104−1〜2とパケット処理部105−1〜2の並列処理区間で同一フローが並列に処理されることがないため、パケットの追越しによる順序逆転が起きないことが保証される。
一つのフローだけに着目すると、一つのパケット処理部105で順序処理されるのと変わりないことになる。よって、参照カウンタが0の状態であれば、順序逆転することなく、パケット処理部105−1から、パケット処理部105−2へ、振り分け先を移すことが可能である。
本実施例によるネットワーク中継装置は、複数種の多数フローを扱うネットワーク上の中継装置において、より高速な転送処理が要求される場合に有用である。本実施例によれば、パケット中継装置において、フローごとのパケットの振り分け先を、実際のトラヒックの状況に応じて、動的に変更することが可能になる。これにより、トラヒックの変動によって、負荷に偏りが生じた場合も、パケットの振り分け先を動的に変更することで、複数のパケット処理部を有効に使用することができ、装置全体として、パケット処理能力が向上するという効果がある。また、本実施例のパケット振り分け方法を用いることで、内部でシーケンス番号を付与し、出力段で再配列を行うようなパケット再配列処理部を必要とせずにフロー内のパケット順序逆転が起きないことを保証できる。
ハッシュ法を用いたパケット振り分け方法を説明するブロック図である(その1)。 ハッシュ法を用いたパケット振り分け方法を説明するブロック図である(その2)。 ネットワークシステムのハードウェアブロック図である。 ネットワーク中継装置の機能ブロック図である。 振り分け情報テーブルを説明する図である。 負荷状態リストを説明する図である。 ネットワーク中継装置のハードウェアブロック図である。 パケット振り分け処理部の動作のフローチャートである。 パケット処理部の動作フローチャートである。 統計情報収集部の動作のフローチャートである。 パケット振り分け方法を説明するブロック図および振り分け情報テーブルを説明する図である(その1)。 パケット振り分け方法を説明するブロック図および振り分け情報テーブルを説明する図である(その2)。 パケット振り分け方法を説明するブロック図および振り分け情報テーブルを説明する図である(その3)。 パケットの送信順序を説明するブロック図である。
10…端末、50…ルータ、60…サーバ、101…パケット、102…受信キュー、103…パケット振り分け処理部、104…処理待ちキュー、105…パケット処理部、106…振り分け情報、107…統計情報収集部、108…送信キュー、200…振り分け情報テーブル、300…負荷状態リスト、401…入力IF、402…出力IF、403…メモリ、404…バス、500…ネットワークシステム、520…HGW、530…地域IP網、540…GW、550…インターネット。

Claims (5)

  1. 受信キューと、この受信キューからパケットを取り出すパケット振り分け処理部と、複数の処理待ちキューと、これらの処理待ちキューとに対応する複数のパケット処理部と、送信キューとからなるネットワーク中継装置において、
    前記複数のパケット処理部の負荷状態を定期的に収集する統計情報収集部と、
    この統計情報収集部が収集した負荷状況と、ハッシュ値とパケット処理部とカウンタとを対応付ける振り分け情報テーブルとを保持する振り分け情報保持部とをさらに備え、
    前記パケット振り分け処理部は、前記処理待ちキューにパケットを送信した後、前記振り分け情報テーブルの該当するハッシュ値のカウンタをインクリメントし、
    前記パケット処理部は、前記送信キューにパケットを送信した後、前記振り分け情報テーブルの該当するハッシュ値のカウンタをデクリメントし、
    前記前記パケット振り分け処理部は、前記受信キューからパケットを取得したとき、前記振り分け情報テーブルの該当するハッシュ値のカウンタを参照し、カウンタ値が予め定めた値のとき、前記振り分け情報テーブルの該当するハッシュ値のパケット処理部を更新することを特徴とするネットワーク中継装置。
  2. 入力されたパケットをハッシュ値に基づいて振り分けることによりパケット処理の負荷分散を図るパケット振り分け処理部と、パケット振り分け先を特定するために用いる各パケット処理部の負荷状態を定期的に収集する統計情報収集部と、パケットを振り分ける際に振り分け先を特定するための情報を管理する振り分け情報保持部と、振り分けられたパケットを処理する複数のパケット処理部を備えるネットワーク中継装置において、
    前記情報保持部は、ハッシュ値とパケット処理部とカウンタとを対応付ける振り分け情報テーブルを備え、
    前記パケット振り分け処理部は、パケット処理が終了した後、前記振り分け情報テーブルの該当するハッシュ値のカウンタをインクリメントし、
    前記パケット処理部は、パケット処理が終了した後、前記振り分け情報テーブルの該当するハッシュ値のカウンタをデクリメントすることを特徴とするネットワーク中継装置。
  3. 請求項2に記載のネットワーク中継装置であって、
    前記前記パケット振り分け処理部は、パケットを取得したとき、前記振り分け情報テーブルの該当するハッシュ値のカウンタを参照し、カウンタ値が予め定めた値のとき、前記振り分け情報テーブルの該当するハッシュ値のパケット処理部を更新することを特徴とするネットワーク中継装置。
  4. 受信キューからパケットを取り出すステップと、
    このパケットのハッシュ値を計算するステップと、
    このハッシュ値に基づいて、振り分け情報テーブルを参照するステップと、
    この振り分け情報テーブルのカウンタ値が予め定めた値か確認するステップと、
    前記パケットを処理待ちキューに振り分けるステップと、
    前記カウンタ値をインクリメントするステップと、
    前記処理待ちキューから前記パケットを取り出すステップと、
    前記パケットを出力するステップと、
    前記カウンタ値をインクリメントするステップと、
    からなるパケット振り分け方法。
  5. 請求項4に記載のパケット振り分け方法であって、
    前記確認するステップで、前記カウンタ値が前記予め定めた値のとき、前記振り分け情報テーブルを更新するステップをさらに含むパケット振り分け方法。
JP2009001576A 2009-01-07 2009-01-07 ネットワーク中継装置およびパケット振り分け方法 Expired - Fee Related JP5028431B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009001576A JP5028431B2 (ja) 2009-01-07 2009-01-07 ネットワーク中継装置およびパケット振り分け方法
US12/627,380 US8300526B2 (en) 2009-01-07 2009-11-30 Network relay apparatus and packet distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001576A JP5028431B2 (ja) 2009-01-07 2009-01-07 ネットワーク中継装置およびパケット振り分け方法

Publications (3)

Publication Number Publication Date
JP2010161546A JP2010161546A (ja) 2010-07-22
JP2010161546A5 JP2010161546A5 (ja) 2011-09-15
JP5028431B2 true JP5028431B2 (ja) 2012-09-19

Family

ID=42311663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001576A Expired - Fee Related JP5028431B2 (ja) 2009-01-07 2009-01-07 ネットワーク中継装置およびパケット振り分け方法

Country Status (2)

Country Link
US (1) US8300526B2 (ja)
JP (1) JP5028431B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464397B1 (ko) 2007-03-29 2014-11-28 더 닐슨 컴퍼니 (유에스) 엘엘씨 마케팅 및 엔터테인먼트 효과의 분석
US9886981B2 (en) 2007-05-01 2018-02-06 The Nielsen Company (Us), Llc Neuro-feedback based stimulus compression device
US8392253B2 (en) 2007-05-16 2013-03-05 The Nielsen Company (Us), Llc Neuro-physiology and neuro-behavioral based stimulus targeting system
WO2009018374A1 (en) 2007-07-30 2009-02-05 Neurofocus, Inc. Neuro-response stimulus and stimulus attribute resonance estimator
US8386313B2 (en) 2007-08-28 2013-02-26 The Nielsen Company (Us), Llc Stimulus placement system using subject neuro-response measurements
US8392255B2 (en) 2007-08-29 2013-03-05 The Nielsen Company (Us), Llc Content based selection and meta tagging of advertisement breaks
US20090083129A1 (en) 2007-09-20 2009-03-26 Neurofocus, Inc. Personalized content delivery using neuro-response priming data
US8151292B2 (en) 2007-10-02 2012-04-03 Emsense Corporation System for remote access to media, and reaction and survey data from viewers of the media
US20090133047A1 (en) 2007-10-31 2009-05-21 Lee Hans C Systems and Methods Providing Distributed Collection and Centralized Processing of Physiological Responses from Viewers
US20100250325A1 (en) 2009-03-24 2010-09-30 Neurofocus, Inc. Neurological profiles for market matching and stimulus presentation
US10987015B2 (en) 2009-08-24 2021-04-27 Nielsen Consumer Llc Dry electrodes for electroencephalography
US8209224B2 (en) 2009-10-29 2012-06-26 The Nielsen Company (Us), Llc Intracluster content management using neuro-response priming data
US20110106750A1 (en) 2009-10-29 2011-05-05 Neurofocus, Inc. Generating ratings predictions using neuro-response data
US9560984B2 (en) 2009-10-29 2017-02-07 The Nielsen Company (Us), Llc Analysis of controlled and automatic attention for introduction of stimulus material
CN102696201B (zh) * 2009-12-04 2016-01-06 纳派泰克股份公司 对读取和排序数据分组的多个分析装置进行操作的设备、组件和方法
US8684742B2 (en) 2010-04-19 2014-04-01 Innerscope Research, Inc. Short imagery task (SIT) research method
US8655428B2 (en) 2010-05-12 2014-02-18 The Nielsen Company (Us), Llc Neuro-response data synchronization
US8369216B2 (en) * 2010-10-19 2013-02-05 Silver Spring Networks, Inc. System and method of monitoring packets in flight for optimizing packet traffic in a network
US20120290409A1 (en) * 2011-05-11 2012-11-15 Neurofocus, Inc. Marketing material enhanced wait states
JP5742549B2 (ja) * 2011-07-28 2015-07-01 富士通株式会社 パケットキャプチャ処理方法及び装置
JP5611171B2 (ja) * 2011-11-02 2014-10-22 株式会社日立製作所 パケット処理方法及びパケット処理装置
US9569986B2 (en) 2012-02-27 2017-02-14 The Nielsen Company (Us), Llc System and method for gathering and analyzing biometric user feedback for use in social media and advertising applications
US9060671B2 (en) 2012-08-17 2015-06-23 The Nielsen Company (Us), Llc Systems and methods to gather and analyze electroencephalographic data
WO2014038582A1 (ja) * 2012-09-04 2014-03-13 日本電気株式会社 パケット振分装置、パケット振分方法、およびパケット振分プログラム
JP2014138399A (ja) * 2013-01-18 2014-07-28 Oki Electric Ind Co Ltd パケット処理装置及び方法
US9320450B2 (en) 2013-03-14 2016-04-26 The Nielsen Company (Us), Llc Methods and apparatus to gather and analyze electroencephalographic data
JP2014212407A (ja) * 2013-04-18 2014-11-13 富士通株式会社 伝送装置およびパス切替方法
JP2015149577A (ja) * 2014-02-06 2015-08-20 株式会社日立製作所 帯域制御装置
US9622702B2 (en) 2014-04-03 2017-04-18 The Nielsen Company (Us), Llc Methods and apparatus to gather and analyze electroencephalographic data
US9565032B2 (en) * 2014-12-03 2017-02-07 Qualcomm Incorporated Monitoring and controlling bus ring performance
US9936250B2 (en) 2015-05-19 2018-04-03 The Nielsen Company (Us), Llc Methods and apparatus to adjust content presented to an individual
WO2017183564A1 (ja) * 2016-04-21 2017-10-26 日本電気株式会社 通信装置、通信方法、およびプログラム
US10423511B2 (en) * 2016-11-29 2019-09-24 International Business Machines Corporation Packet flow tracing in a parallel processor complex
US10855606B2 (en) 2018-03-07 2020-12-01 Fujitsu Limited Information processing apparatus and information processing system
JP7188206B2 (ja) 2019-03-20 2022-12-13 富士通株式会社 通信装置、通信システム、及び通信方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4294821B2 (ja) 2000-01-26 2009-07-15 株式会社日立製作所 ネットワーク中継装置
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
JP2002300193A (ja) * 2001-03-30 2002-10-11 Hitachi Ltd ルータ
JP3965283B2 (ja) 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
JP4019884B2 (ja) * 2002-09-27 2007-12-12 日本電気株式会社 パケット振り分け装置
US7397762B1 (en) * 2002-09-30 2008-07-08 Nortel Networks Limited System, device and method for scheduling information processing with load-balancing
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US7802001B1 (en) * 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
JP4431315B2 (ja) 2003-01-14 2010-03-10 株式会社日立製作所 パケット通信方法およびパケット通信装置
JP2004254132A (ja) * 2003-02-20 2004-09-09 Telecommunication Advancement Organization Of Japan パケット伝送方法及びパケット伝送装置
US7688838B1 (en) * 2004-10-19 2010-03-30 Broadcom Corporation Efficient handling of work requests in a network interface device
US20080101233A1 (en) * 2006-10-25 2008-05-01 The Governors Of The University Of Alberta Method and apparatus for load balancing internet traffic
US7697519B2 (en) * 2006-10-31 2010-04-13 Hewlett-Packard Development Company, L.P. Packet processing
JP4648290B2 (ja) * 2006-11-21 2011-03-09 日本電信電話株式会社 パケット転送装置、パケット分配方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム
JP2008167305A (ja) 2006-12-28 2008-07-17 Mitsubishi Electric Corp パケット並列処理装置およびパケット並列処理方法
JP4771988B2 (ja) * 2007-04-12 2011-09-14 アラクサラネットワークス株式会社 負荷分散装置及びネットワーク装置
US8259715B2 (en) * 2007-07-25 2012-09-04 Hewlett-Packard Development Company, L.P. System and method for traffic load balancing to multiple processors

Also Published As

Publication number Publication date
JP2010161546A (ja) 2010-07-22
US8300526B2 (en) 2012-10-30
US20100172348A1 (en) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5028431B2 (ja) ネットワーク中継装置およびパケット振り分け方法
US8989017B2 (en) Network congestion management by packet circulation
US20030037154A1 (en) Protocol processor
CN103312807B (zh) 数据传输方法、装置及系统
CN111769998B (zh) 一种网络时延状态的探测方法及装置
WO2013042219A1 (ja) データ通信装置,データ送信方法及び計算機システム
WO2011089899A1 (ja) 半導体システム、中継器およびチップ回路
US20120177036A1 (en) Simple fairness protocols for daisy chain interconnects
JP5821624B2 (ja) 通信制御装置、並列計算機システム及び通信制御方法
JP5307745B2 (ja) トラヒック制御システムと方法およびプログラムならびに通信中継装置
CN110838979B (zh) 流量转发控制方法、装置、系统和计算机可读存储介质
Cavalieri Modelling and analysing congestion in KNXnet/IP
CN109995658B (zh) 发送、接收以及转发报文的方法和装置
JP2016163087A (ja) 通信装置、末端装置、中央サーバ装置、情報処理システム、電文処理方法及び電文生成方法
JP2009124237A (ja) 中継装置および帯域制御プログラム
Zhang et al. Modeling Distributed Communication for Smart Factory
JP6082330B2 (ja) 許容待機時間を考慮して経路毎の集約パケットの収容効率を高める通信装置、プログラム及び方法
JP2002164924A (ja) パケット処理装置
Jelenkovic et al. Buffer Scalability of Wireless Networks.
WO2022127154A1 (zh) 一种路由通告的方法及设备
EP4184887A1 (en) Method for sending data packet, and network device
JP2012050025A (ja) 経路制御装置、経路制御方法、およびプログラム
Koptchev et al. Traffic and congestion control in a publish/subscribe network
CN117834546A (zh) 一种面向时间敏感网络的队列调度系统及方法
JP2013110665A (ja) バッファ装置、通信装置およびフレーム送信方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120509

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees