JP5968841B2 - ネットワーク装置及びプロセッサの監視方法 - Google Patents

ネットワーク装置及びプロセッサの監視方法 Download PDF

Info

Publication number
JP5968841B2
JP5968841B2 JP2013174058A JP2013174058A JP5968841B2 JP 5968841 B2 JP5968841 B2 JP 5968841B2 JP 2013174058 A JP2013174058 A JP 2013174058A JP 2013174058 A JP2013174058 A JP 2013174058A JP 5968841 B2 JP5968841 B2 JP 5968841B2
Authority
JP
Japan
Prior art keywords
health check
packet
processor
network
check packet
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
JP2013174058A
Other languages
English (en)
Other versions
JP2015043479A (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2013174058A priority Critical patent/JP5968841B2/ja
Priority to US14/309,247 priority patent/US9323596B2/en
Publication of JP2015043479A publication Critical patent/JP2015043479A/ja
Application granted granted Critical
Publication of JP5968841B2 publication Critical patent/JP5968841B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)

Description

本発明はパケットを転送するネットワーク装置に関する。
近年、将来の機能拡張に対応するため、ネットワークプロセッサを搭載するネットワーク装置(ルータ、スイッチ)があり、ネットワークプロセッサにも複数個のプロセッサコアを有するマルチコアプロセッサが用いられる。特に、ユーザパケットを直接扱うパケット転送部においては、汎用プロセッサの機能の他に、イーサネット(イーサネットは登録商標)などのI/F、暗号機能、ハードウェアによるL2パーサを有するマルチコア・ネットワークプロセッサが用いられることがある。
また、ワイヤスピードを確保するために、入力されたパケットを各コアに振り分けるパケットスケジューラをハードウェアロジックのみで構成し、リソースのアイドル状態によって各プロセッサコアへのパケットの振り分けを判定するネットワークプロセッサがある。
本技術分野の背景技術として特開2012−80426号公報(特許文献1)がある。特許文献1には、制御部と処理部とを備える通信装置が記載されており、前記制御部は、前記処理部に対して監視パケットを送信する監視パケット送信部と、前記監視パケットに対する応答を受信する監視パケット応答受信部と、前記監視パケット応答受信部が前記監視パケットに対する応答エラーを検知し、前記監視周期内に検知した前記応答エラーの数が閾値以上である場合に、前記処理部で障害が発生していることを検知する障害検知部と、を備え、前記処理部は、前記監視パケットを受信した場合に、前記制御部に対して応答を返す監視パケット応答部を備える。
特開2012−80426号公報
前述したネットワークプロセッサにおいて、プロセッサコアのサイレント故障を検出するためのヘルスチェック技術が重要である。また、ヘルスチェックにおいて、ユーザトラフィックが無い場合も考慮する必要がある。
前述した特許文献1に記載された技術では、ラウンドロビンによってパケットをプロセッサコアに割り当てる。このため、ヘルスチェックの対象となるプロセッサコアを指定することができないので、一部のプロセッサコアがヘルスチェックの対象にならない場合があった。また、ヘルスチェックパケットが返信されるかによって、プロセッサコアの障害を検出するので、ヘルスチェックパケットとユーザパケットとが混在した場合、障害を検出できないプロセッサコアが生じることがあった。
また、通常、パケットスケジューラはハードウェアロジックで構成されているので、プログラマブルでなく、ヘルスチェックパケットを所望のプロセッサコアに振り分ける機能を実装することは困難であった。このため、パケットスケジューラによらないで、全てのプロセッサコアにヘルスチェックパケットを振り分ける方法が必要となっている。
このように、従来技術では全てのプロセッサコアの死活監視を確実に実行することが困難であり、全てのコアの障害を確実に検出できるシンプルなヘルスチェック方法が求められている。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、パケットを転送するネットワーク装置であって、制御装置と、ネットワークから入力されたパケットの転送処理を行う複数のプロセッサコアを有するネットワークプロセッサと、を備え、前記制御装置は、前記ネットワークプロセッサにヘルスチェックパケットを送信し、前記各プロセッサコアのパケットの処理に関する統計情報及び前記ヘルスチェックパケットの処理に関する統計情報を監視情報として取得し、前記取得した監視情報によって、前記各プロセッサコアの状態を監視する。
本発明の代表的な実施の形態によれば、各コアの故障を的確に検出することができる。
前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明の第1の実施例のネットワーク装置の構成を示すブロック図である。 第1の実施例のヘルスチェックパケットの処理を説明する図である。 第1の実施例のヘルスチェックパケットのフレームフォーマットを説明する図である。 第1の実施例のネットワークプロセッサがヘルスチェックパケットを処理するフローチャートである。 第1の実施例のコアの障害検出・判定処理のフローチャートである。 本発明の第2の実施例のヘルスチェックパケットの処理を説明する図である。 第2の実施例のネットワークプロセッサがヘルスチェックパケットを処理するフローチャートである。 第2の実施例のネットワーク装置のヘルスチェックを説明する図である。 第2の実施例のネットワーク装置を含むネットワークにおけるヘルスチェックを説明する図である。
<実施例1>
図1は、本発明の第1の実施例のネットワーク装置の構成を示すブロック図である。
第1の実施例のネットワーク装置1は、制御部100、転送制御部110、ネットワークプロセッサ120、140及びネットワーク回線ポート150を有する。
制御部100は、制御用プロセッサ101、メモリ102、制御バスブリッジ103、制御バス104、メモリバス105及び装置内回線ポート106を有する。
制御用プロセッサ101は、メモリ102に格納されたプログラムを実行することによって、ネットワーク装置1の動作を制御する。
メモリ102は、メモリバス105を介して、制御用プロセッサ101と接続されている。メモリ102は、制御用プロセッサ101が実行するプログラム及び当該プログラムを実行する際に使用されるデータを格納する。例えば、メモリ102は、ヘルスチェックパケット送受信プログラム1021、NP内コア監視プログラム1022及び部分回復/部分縮退プログラム1023を格納する。また、メモリ102は、ヘルスチェックパケット宛先検索情報1024、ヘルスチェックパケットルーティング情報1025及び統計カウンタ情報テーブル1026を格納する。
メモリ102は、揮発性の記憶装置(例えば、DRAM)で構成されても、不揮発性の記憶装置(例えば、フラッシュメモリ)で構成されてもよい。すなわち、制御用プロセッサ101が実行するプログラムは、メモリ102の内部又は外部の不揮発性の記憶装置(フラッシュメモリ、磁気記憶装置など)から読み出されて、揮発性の記憶装置にロードされて、制御用プロセッサ101によって実行される。
制御用プロセッサ101が実行するプログラムは、ネットワークを介して又はリムーバブルメディア(フラッシュメモリ、CD−ROMなど)によって提供され、非一時的記憶媒体であるメモリ102に格納される。このため、ネットワーク装置1は、リムーバブルメディアを読み込むインタフェース(例えば、USBポートなど)を有するとよい。
制御用プロセッサ101が所定のプログラムを実行することによって、制御部100の機能が実装される。なお、ロジック回路による専用のLSIによって制御部100を構成してもよい。
ヘルスチェックパケット送受信プログラム1021は、プロセッサコア122の死活監視をするためのヘルスチェックパケットを生成し、生成したヘルスチェックパケットを所定時間(T)間隔でネットワークプロセッサ120に送信する。また、ヘルスチェックパケット送受信プログラム1021は、ネットワークプロセッサ120から返信されたヘルスチェックパケットを受信し、送信したヘルスチェックパケットと照合する。
NP内コア監視プログラム1022は、プロセッサコア122の動作状態を監視する。このため、NP内コア監視プログラム1022は、統計カウンタ121から計数値(例えば、プロセッサコア毎のパケットの処理数)を取得する。または、NP内コア監視プログラム1022は、ヘルスチェックパケット送受信プログラム1021が送信したヘルスチェックパケットの返信を照合する。NP内コア監視プログラム1022は、一つのプログラムで全てのプロセッサコア#0〜#nを監視しても、プログラム毎に動作する複数のスレッドによって各プロセッサコアを監視してもよい。NP内コア監視プログラム1022が実行する障害検出・判定処理の詳細は、図5を用いて後述する。
部分回復/部分縮退プログラム1023は、プロセッサコアの障害が検出された場合、障害の程度に応じてプロセッサコアを回復又は停止する。
ヘルスチェックパケット宛先検索情報1024は、ヘルスチェックパケットによって死活監視がされるプロセッサコアの情報(例えば、プロセッサコアの識別情報)を格納する。
ヘルスチェックパケットルーティング情報1025は、ヘルスチェックパケットによって死活監視がされるプロセッサコアの宛先(例えば、プロセッサコアの識別情報、装置内回線ポートの番号)を格納する。
統計カウンタ情報テーブル1026は、統計カウンタ121から読み出した計数値(例えば、プロセッサコア毎のパケットの処理数)を格納する。第1の実施例では、所定時間(T)毎の統計カウンタ1221の計数値を比較するため、統計カウンタ情報テーブル1026が1サイクル前の計数値を記憶する。
制御バスブリッジ103は、制御部100内の制御バス104とネットワーク装置1内の制御バス115とを接続する。装置内制御バス115は、ネットワークプロセッサ120、140と接続されている。制御部100は、装置内制御バス115を介して統計カウンタ121から計数値を取得する。
装置内回線ポート106は、他の回路(例えば、ネットワークプロセッサ120)と接続されている。制御部100は、装置内回線ポート106を介してヘルスチェックパケットを送受信する。
転送制御部110は、ネットワーク装置1に入力されたパケットの転送先を決定する制御部であって、経路情報111を有する。経路情報111は、入力されたパケットを出力するポートを決定するために使用される情報で、ヘルスチェックパケットを転送するための出力ポートの情報も含む。
ネットワークプロセッサは、複数のネットワークプロセッサが実装されている。図1では、運用系ネットワークプロセッサ120及び待機系ネットワークプロセッサ140の二つのネットワークプロセッサを図示するが、二つより多いネットワークプロセッサを実装してもよい。
各ネットワークプロセッサは、同じ構成を有するので、ここでは、運用系ネットワークプロセッサ120の構成及び機能について説明し、待機系ネットワークプロセッサ140の説明は省略する。
ネットワークプロセッサ120は、統計カウンタ121、プロセッサコア122、宛先検索部123、コア振分部124、優先キュー125、キュー振分部126及び装置内回線ポート127を有する。
統計カウンタ121は、ネットワーク装置1に関する統計情報を計数するカウンタである。統計カウンタ121は、例えば、プロセッサコア毎のパケットの処理数や、プロセッサコア毎のヘルスチェックパケットの処理数を計数する。各プロセッサコア#0〜#nは、処理すべきパケットが入力されると、統計カウンタ121に割り当てられた所定のアドレスの値を加算するように統計カウンタ121に要求する。
プロセッサコア122は、複数のプロセッサコア#0〜#nを有する。各プロセッサコア#0〜#nがメモリ(図示省略)に格納されたプログラムを実行することによって、ネットワークプロセッサ120の機能が実装される。プロセッサコア122が実行するプログラムは、ネットワークを介して又はリムーバブルメディア(フラッシュメモリ、CD−ROMなど)によって提供され、非一時的記憶媒体であるメモリに格納される。
宛先検索部123は、ヘルスチェックパケット宛先検索情報1024及びヘルスチェックパケットルーティング情報1025を参照し、プロセッサコア122に入力されるパケットの宛先を検索し、入力されたパケットの出力先ポートを決定する。
具体的には、ヘルスチェックパケットと判定した場合に、宛先アドレスから自装置宛か他装置宛かを判定し、出力先ポ−トを決定する。
キュー振分部126は、ネットワーク回線ポート150及び装置内回線ポート127に入力されたパケットの優先度を所定の規則に従って決定し、決定された優先度毎に設けられたキューにパケットを振り分ける。例えば、キュー振分部126は、入力されたパケットに付されたイーサタイプに従ってヘルスチェックパケットを判定し、ヘルスチェックパケットを所定のキュー(例えば、第1の実施例では最低優先キュー、第2の実施例では最高優先キュー)に振り分ける。
また、キュー振分部126は、ネットワーク回線ポート150及び装置内回線ポート127に入力されたパケットの優先度を所定の規則に従って決定し、決定された優先度毎に設けられたキューにパケットを振り分ける。例えば、キュー振分部126は、入力されたユーザパケットの優先度を所定のルールに従って決定し、決定された優先度毎に設けられたキューにパケットを振り分ける。
優先キュー125は、複数の優先度を持つキューを有する。なお、優先度が高いキューからは単位時間に多数のパケットが取り出され、優先度が低いキューからは単位時間に少数のパケットが取り出される。
コア振分部124は、優先キュー125に格納されたパケットを各プロセッサコア#0〜#nに振り分ける。特に、コア振分部124は、ヘルスチェックパケットを全てのプロセッサコアに振り分ける。例えば、コア振分部124は、ラウンドロビン、プロセッサコアの負荷、パケットの種類、パケット内の情報などの振り分けルールに従ってパケットを振り分ける。
装置内回線ポート127は、他の回路(例えば、制御部100)と接続されており、装置内回線ポート127を介してヘルスチェックパケットを送受信する。
なお、宛先検索部123、優先キュー125、キュー振分部126及び装置内回線ポート127は、第1の実施例では必要なく、後述する第2の実施例で必要な構成である。
ネットワーク回線ポート150は、パケットがネットワーク装置1に入力され、パケットがネットワーク装置1から出力されるインターフェースであり、他の装置から転送されるユーザパケット及びネットワーク装置間で転送されるヘルスチェックパケットを送受信する。
図2は、第1の実施例のヘルスチェックパケットの処理を説明する図である。
制御部100のヘルスチェックパケット送受信プログラム1021は、ヘルスチェックパケットを所定時間(T)間隔でプロセッサコア122に送信する。図中、ヘルスチェックパケットは「H」の符号で表し、ユーザパケットは「P」の符号で表す。プロセッサコア122が制御部100に返信するヘルスチェックパケットは、装置内転送用の宛先がネットワークプロセッサ120で、装置内転送用の送信元が制御部100である。
ヘルスチェックパケット送受信プログラム1021が送信したヘルスチェックパケットは、装置内回線ポート106、127を経由して、入力キューの最低優先キュー1311に入力される。これは、ヘルスチェックパケットによって、ユーザデータの転送に遅延などの影響が生じないように、ヘルスチェックパケットを低い優先度で処理するためである。なお、転送部は、ネットワークプロセッサ120が実行するプログラムによって実装され、ネットワーク装置1内のパケットの転送先を決定する。
第1の実施例では、後述する第2の実施例と異なり、ヘルスチェックパケットは、装置内回線ポート127から入力される。よって、ヘルスチェックパケットとネットワーク回線ポート150から入力されるユーザパケットとを容易に識別することができる。このため、第1の実施例のヘルスチェックパケットは、装置内転送用の宛先及び送信元が制御部100又はネットワークプロセッサ120となっているだけでよく、その他にヘルスチェックパケットを識別するための情報は含む特殊なヘルスチェックパケットを使用する必要がない。
コア振分部124は、最低優先キュー1311に所定数(例えば、コアの数と同数)のヘルスチェックパケットが格納された後に、H/Wパケットスケジューラ128にヘルスチェックパケットをバースト送信する。
H/Wパケットスケジューラ128は、コア振分部124から送られたヘルスチェックパケットを、各プロセッサコア#0〜#nに送る。なお、プロセッサコア122で動作するプログラムによって、ヘルスチェックパケットがプロセッサコア122にバースト送信されたと同じ状態を作ることもできる。
各プロセッサコア#0〜#nは、受信したパケットがヘルスチェックパケットであれば、制御部100にヘルスチェックパケットを返信する。このプロセッサコアが実行する処理の詳細は、図4を用いて後述する。各プロセッサコア#0〜#nは、制御部100に返信するヘルスチェックパケットをH/Wパケットスケジューラ128に送ることによって、ヘルスチェックパケットを制御部100に返信する。
プロセッサコア122は、ヘルスチェックパケットの出力先ポートを判定するために、宛先アドレスを参照するが、宛先アドレス及び送信元アドレスは変更しない。なお、第一の実施例では必要ないが、他装置発のヘルスチェックパケットを返信する際は、宛先アドレスと送信元アドレスとを入れ替える必要がある。(アドレスの入れ替えは、制御部100にて行う)。
H/Wパケットスケジューラ128は、プロセッサコア122から送られたヘルスチェックパケットを、装置内回線ポート127に対応する出力ポートキュー1331に格納する。出力ポートキュー1331に格納されたヘルスチェックパケットは、装置内回線ポート127、106を経由して、制御部100に送られる。
第1の実施例では、統計カウンタ121は、プロセッサコア毎のパケットの処理数を計数している。NP内コア監視プログラム1022は、ヘルスチェックパケットの送信周期(T)毎に、プロセッサコア毎のパケットの処理数を統計カウンタ121から取得する。そして、取得したパケットの処理数から、各プロセッサコアが動作しているか、障害が生じているかを判定する。すなわち、所定時間での統計カウンタの計数値の増加によって、プロセッサコアの障害を監視する(所定時間でパケット処理数が増加していないプロセッサコアを障害と判定する)。障害検出・判定処理の詳細は、図5を用いて後述する。
なお、NP内コア監視プログラム1022は、統計カウンタ121から取得したパケットの処理数と各プロセッサコアから返信されるヘルスチェックパケットを併用してプロセッサコアの障害を検出してもよい。第1の実施例において、返信されるヘルスチェックパケットを用いた判定より、統計カウンタ121を用いた判定の方が、高精度で障害を判定することができる。これは、ヘルスチェックパケットの処理期間中に、ネットワーク装置1がオーバーサブスクリプション状態になることがあり、ヘルスチェックパケットが一部のプロセッサコアに振り分けられない場合があるからである。
NP内コア監視プログラム1022が、統計カウンタ121から取得したパケットの処理数を用いてプロセッサコアの障害を検出する場合、プロセッサコア122は、統計カウンタ121を更新すれば、制御部100にヘルスチェックパケットを返信しなくてもよい。
次に、ヘルスチェックパケットを各プロセッサコア#0〜#nに振り分ける方法の変形例を説明する。以下に説明する変形例では、最低優先キュー1311に所定数のヘルスチェックパケットが格納された後に、ヘルスチェックパケットを各コアに送るのではなく、各プロセッサコア内でヘルスチェックパケットの処理を遅延させることによって、ヘルスチェックパケットを全プロセッサコアに送る。
すなわち、H/Wパケットスケジューラ128は、プロセッサコアがパケットを処理中である場合、新たにパケットを送らない。このため、各プロセッサコア内でヘルスチェックパケットの処理時間をn倍(nはプロセッサコアの数)に延ばすことによって、空いているプロセッサコアにヘルスチェックパケットが送られることから、ヘルスチェックパケットを全プロセッサコアに送ることができる。
なお、変形例において、ヘルスチェックパケットを空きプロセッサコア122に送るための特別なキュー(例えば、ペンディングキュー)を設けてもよい。ヘルスチェックパケットのキューとユーザパケットのキューとを分離することによって、ヘルスチェックパケットとユーザパケットとを異なるタイミングでプロセッサコアに送ることができる。
この変形例では、ユーザパケットが入力されていない状態において、ヘルスチェックパケットが全プロセッサコアに振り分けられる。一方、ユーザパケットが入力されている状態において、ユーザパケット及びヘルスチェックパケットのいずれかが、各プロセッサコアに入力される。全プロセッサコアがヘルスチェックパケットを処理中に、ネットワーク装置1がオーバーサブスクリプション状態になることがある。
また、各プロセッサコアは、ユーザパケットが送られた場合、ヘルスチェックパケットの処理を中止し、処理中のヘルスチェックパケットを廃棄してもよい。これは、本実施例のヘルスチェックがプロセッサコアが動作しているかを確認するためのものであり、ヘルスチェックパケットが正常に処理されなくても、ユーザパケットが処理されれば、プロセッサコアは動作しているからである。すなわち、プロセッサコアがパケットを処理する時間より、全プロセッサコア分のヘルスチェックパケットを入力する時間の方が短ければ、全てのプロセッサコアにパケットを振り分けることができる。
また、制御部100が統計カウンタ121の計数値によって、各プロセッサコアの死活監視をする場合、各プロセッサコアは、統計カウンタ121の計数値を更新すれば、ヘルスチェックパケットの処理を中止し(又は、処理をすることなく)、処理中のヘルスチェックパケットを廃棄してもよい。ヘルスチェックパケットを廃棄することによって、ヘルスチェックパケットを処理するために、プロセッサコアのリソースを消費することがない。
図3は、第1の実施例のヘルスチェックパケットのフレームフォーマットを説明する図である。
ヘルスチェックパケットは、ネットワーク装置1内で制御部100とプロセッサコア122との間で送受信されるパケットであり、宛先アドレス301、送信元アドレス302、イーサタイプ303、ペイロード304及び誤り訂正符号305を含む。
宛先アドレス301及び送信元アドレス302は、ヘルスチェックパケットの宛先の装置及び送信元の装置であり、本実施例では制御部100及び各プロセッサコア122である。ネットワークプロセッサ120は、宛先MACアドレスを用いてパケットを出力するポートを決定する。
イーサタイプ303は、上位層のプロトコルを識別するために使用されるフィールドである。第2の実施例において、ヘルスチェックパケットを識別するためのコードが格納するためにイーサタイプ303を用いる。例えば、ヘルスチェックパケットを識別するために、IEEE802に定義された以外の番号(例えば、0x9999)を用いることができる。なお、ヘルスチェックパケットを識別するためにイーサタイプを用いず、ヘルスチェックパケット専用に定められたIPアドレスやVLAN−IDを用いてもよい。
ペイロード304は、通常はユーザデータを格納するが、第2の実施例のヘルスチェックパケットは、ペイロード内の所定位置(例えば、先頭の4バイト)にヘルスチェックの対象となるプロセッサコアの番号を格納する。
図4は、第1の実施例のネットワークプロセッサ120がヘルスチェックパケットを処理するフローチャートである。
プロセッサコア122は、パケットを受信すると、統計カウンタ121に格納された統計情報(カウント値)を更新する(S101)。具体的には、プロセッサコア毎に処理したパケット数(ヘルスチェックパケット数とユーザパケット数との和)を更新する。
なお、プロセッサコア122は、パケット受信時に統計カウンタ121を更新せず、パケットの処理完了時に統計カウンタ121を更新してもよい。また、受信した(処理した)パケットがヘルスチェックパケットである場合に統計カウンタ121を更新してもよい。
次に、プロセッサコア122は、受信したパケットがヘルスチェックパケットであるかを判定する(S102)。受信したパケットがヘルスチェックパケットであれば、ヘルスチェックパケットを装置内回線ポート127から送信する(S103)。
一方、受信したパケットがヘルスチェックパケットでなければ(ユーザパケットであれば)、当該ユーザパケットの宛先に対応するネットワーク回線ポート150からユーザパケットを送信する(S104)。
このように、プロセッサコア122は、処理すべきユーザパケットがない場合も、所定時間間隔で送信されるヘルスチェックパケットを処理している。
図5は、第1の実施例のコアの障害検出・判定処理のフローチャートである。障害検出・判定処理は、制御部100の制御用プロセッサ101によって実行される。
制御用プロセッサ101は、ヘルスチェックパケット送受信プログラム1021によって、ヘルスチェックパケットを所定時間(T)間隔でプロセッサコア122内の各コアに送信する。そして、NP内コア監視プログラム1022は、各プロセッサコア122の障害を判定する(S111)。具体的には、所定時間間隔で統計カウンタ121から受信パケット数の計数値を取得し、統計カウンタ情報テーブル1026に格納された計数値と比較し、パケット数が変化しているか否かを判定する(S112)。その結果、前回取得したパケット数からパケット数が増加している場合、当該プロセッサコアは動作していると判定し、ステップS111に戻る。一方、前回取得したパケット数から増加していない場合、障害であると判定し、ステップS113に進む。
ステップS113では、3回目連続して当該コアの処理パケット数が増加しているかを判定する。その結果、3回連続して当該コアの処理パケット数が増加していない場合、ステップS115に進み、部分回復/部分縮退プログラム1023を起動し、部分縮退処理を実行する。一方、当該コアの受信パケット数が増加していない回数が3回連続まで至っていない場合、ステップS114に進み、部分回復/部分縮退プログラム1023を起動し、部分回復処理を実行する。
部分回復処理(S114)では、コア振分部124がパケットを振り分ける対象から当該障害が検出されたコアを除外することによって、当該コアを切り離す。その後、制御部100は、当該コアをリセットし、初期設定をして、プログラムを再ロードし、コアの動作を再開する。その後、コア振分部124がパケットを振り分ける対象から当該コアを戻し、当該コアを組み込む。このようにして、部分回復処理によって、障害が検出されたコアを再起動することができる。
また、部分縮退処理(S115)では、コア振分部124がパケットを振り分ける対象から当該障害が検出されたコアを除外することによって、当該コアを切り離す。その後、制御部100は、当該コアをリセットし、コアの動作を停止する。なお、部分縮退処理によって動作を停止したプロセッサコアの数によって、ネットワーク装置1の動作を停止する閾値を設けてもよい。すなわち、部分縮退処理によってプロセッサコアが動作を停止し、ネットワーク装置の処理能力が低下した場合、ネットワーク装置の動作を停止する。
すなわち、制御部100は一つのプロセッサコアのパケットカウンタの値が3回連続して増加していない(所定時間(4T)内にパケットカウンタが増加していない)場合、障害であると判定し、当該プロセッサコアを停止する。一方、所定時間(4T)内で1回でもパケットカウンタの値が増加すれば、正常と判定し、当該プロセッサコアを再起動する。
以上に説明したように、本発明の第1の実施例では、全てのプロセッサコアにパケット(ユーザパケット又はヘルスチェックパケット)を振り分け、各プロセッサコアのパケットの処理状況を監視するので、全てのコアの死活監視を的確かつ迅速にすることができる。このため、部分縮退処理及び部分回復処理が迅速に行えるため、装置の可用性を向上することができる。
また、ネットワークプロセッサ120は、制御部100から送信されたヘルスチェックパケットを所定のキューに格納するので、ヘルスチェックパケットとユーザパケットとを異なるルールで処理することができる。
特に、ネットワークプロセッサ120は、ヘルスチェックパケットを最低優先キュー1311に格納し、各プロセッサコアにバースト送信するので、全てのプロセッサコアに確実にヘルスチェックパケットを振り分けることができる。
また、制御部100は、各プロセッサコアのヘルスチェックパケットの処理数の統計情報によって、各プロセッサコアの死活監視をするので、ヘルスチェックパケットが一部のプロセッサコアに振り分けられない場合でもプロセッサコアの障害を的確に判定することができる。
また、ネットワークプロセッサ120は、受信したヘルスチェックパケットの統計情報を更新し、受信したヘルスチェックパケットを廃棄するので、ヘルスチェックパケットの処理のためにプロセッサコアのリソースを消費を抑制し、ユーザパケットの処理の遅延を抑制することができる。
<実施例2>
次に、本発明の第2の実施例について説明する。
第2の実施例では、前述した第1の実施例と異なり、制御部100が、ヘルスチェックパケットを処理すべきプロセッサコアを決定し、プロセッサコアからヘルスチェックパケットが返信されるかによってプロセッサコアの障害を判定する。
なお、第2の実施例は、図8に示すように、1台のネットワーク装置内でのプロセッサコアの死活監視に適用できるが、図9に示すように、1台のネットワーク装置が複数のネットワーク装置のプロセッサコアの死活監視をする場合にも適用できる。
図6は、第の実施例のヘルスチェックパケットの処理を説明する図である。
制御部100のヘルスチェックパケット送受信プログラム1021は、ヘルスチェックパケットを所定時間(T)間隔でプロセッサコア122に送信する。前述したように、第2の実施例では、ヘルスチェックパケット送受信プログラム1021が、ヘルスチェックパケットを処理すべきプロセッサコアを決定し、ヘルスチェックパケットの種別及びヘルスチェックパケットを処理すべきプロセッサコアの番号をヘルスチェックパケットに含める。
第2の実施例では、前述した第1の実施例と異なり、ヘルスチェックパケットは、装置内回線ポート127及びネットワーク回線ポート150から入力される。このため、パケットが入力されるポートによって、ユーザパケットとヘルスチェックパケットとを識別することができない。このため、ヘルスチェックパケットを識別するための識別情報を付す。
例えば、図中、ヘルスチェックパケットは「H」の符号で表し、ユーザパケットは「P」の符号で表す。ヘルスチェックパケットの数字の一桁目はヘルスチェックパケットの種別であり、二桁目の数字はヘルスチェックパケットを処理すべきプロセッサコアの番号である。
例えば、第2の実施例では、ヘルスチェックパケットの種別は下記の4種類が設定される。
タイプ0:当該装置発−当該装置宛(当該ネットワーク装置がMasterかつTargetである)
タイプ1:当該装置発−他装置宛(当該ネットワーク装置がMasterである)
タイプ2:他装置発−当該装置宛(当該ネットワーク装置がTargetである)
タイプ3:他装置発−他装置宛(当該ネットワーク装置がTransitである)
上記の種別は、ヘルスチェックパケットのフレームフォーマット内に特別なフィールドを設けて種別を定義するものではなく、ヘルスチェックパケットが各ネットワーク装置を転送される過程において、相対的に変化するものである。
なお、宛先アドレス、送信元アドレスとの関係は、以下となる。
タイプ0では、宛先は自装置アドレス、送信元は自装置アドレス、
タイプ1では、宛先は他装置アドレス、送信元は自装置アドレス、
タイプ2では、宛先は自装置アドレス、送信元は他装置アドレス
タイプ3では、宛先は他装置アドレス、送信元は他装置アドレス(宛先とは違うアドレス)。
ヘルスチェックパケット送受信プログラム1021が送信したヘルスチェックパケットは、装置内回線ポート106、127を経由して、転送部の入力キュー1341に入力される。また、第2の実施例では、他のネットワーク装置が送信したヘルスチェックパケットが、ネットワーク回線ポート150を経由して、転送部の入力キュー1342に入力される。
キュー振分部126は、入力キュー1341、1342に格納されたパケットのイーサタイプ303を読み出して、入力キュー1341、1342に格納されたパケットがヘルスチェックパケットであるかを判定する。そして、キュー振分部126は、入力キュー1341、1342に格納されたパケットがヘルスチェックパケットであれば、入力キュー1341、1342に格納されたヘルスチェックパケットを優先キュー125の最高優先キューに格納する。これは、ヘルスチェックパケットが廃棄され障害と判定されることを避けるためである。しかし、プロセッサコアがヘルスチェックパケットを優先して処理すると、ユーザパケットの処理が遅延する可能性がある。このため、優先キュー125が、プロセッサコア毎のシェーピング機能を有し、所定レートを超えるパケットがプロセッサコアに入力されないように制御してもよい。この場合、ヘルスチェックパケットの処理が遅延して、プロセッサコアが障害と判定されないレートを設定するとよい。
なお、第2の実施例においても、前述した第1の実施例のように、ヘルスチェックパケットを最低優先キューに格納し、プロセッサコア毎の統計情報によってプロセッサコアの死活監視を行ってもよい。
コア振分部124は、優先キュー125に格納されたパケットを各キューの優先度に応じて読み出して、H/Wパケットスケジューラ128に送る。
H/Wパケットスケジューラ128は、コア振分部124から送られたヘルスチェックパケットのペイロード304からヘルスチェックの対象となるプロセッサコアの番号を読み出して、ヘルスチェックパケットを処理すべきプロセッサコアを特定し、特定されたプロセッサコアにヘルスチェックパケットを送る。
宛先検索部123は、プロセッサコア122が受信したヘルスチェックパケットの宛先を検索する。
各プロセッサコア#0〜#nは、パケットタイプからパケットのタイプ、すなわち、ヘルスチェックパケットの宛先を判定し、受信したヘルスチェックパケットが自宛であれば、ヘルスチェックパケットを装置内回線ポート127から制御部100に返信する。制御部100は、受信したヘルスチェックパケットの送信アドレスから、自装置発のヘルスチェックパケットか他装置発のヘルスチェックパケットかを判定し、他装置発のヘルスチェックパケットである場合、宛先アドレスと送信元アドレスを入れ替えることによって、他のパケット転送装置に返信するヘルスチェックパケットを生成する。なお、自装置発のヘルスチェックパケットである場合、返信するヘルスチェックパケットを生成する必要は無い。
また、他宛であれば、ヘルスチェックパケットを転送する。このプロセッサコアが実行する処理の詳細は、図7を用いて後述する。各プロセッサコア#0〜#nは、受信したヘルスチェックパケットをH/Wパケットスケジューラ128に送る。
H/Wパケットスケジューラ128は、プロセッサコア122から送られたヘルスチェックパケットを、その宛先に応じて、装置内回線ポート127に対応する出力ポートキュー1331又はネットワーク回線ポート150に対応する出力ポートキュー1332に格納する。
出力ポートキュー1331に格納されたヘルスチェックパケットは、装置内回線ポート127、106を経由して、制御部100に送られる。出力ポートキュー1332に格納されたヘルスチェックパケットは、ネットワーク回線ポート150から、他のネットワーク装置に送られる。
NP内コア監視プログラム1022は、各プロセッサコアからヘルスチェックパケットが返信されるかによって、プロセッサコアの障害を検出する。すなわち、NP内コア監視プログラム1022は、ヘルスチェックパケットを返信しないプロセッサコアを障害と判定する。
なお、NP内コア監視プログラム1022は、各プロセッサコアから返信されるヘルスチェックパケットと統計カウンタ121から取得したパケットの処理数を併用してプロセッサコアの障害を検出してもよい。この場合、統計カウンタ121は、プロセッサコア毎のヘルスパケットの処理数を計数する。NP内コア監視プログラム1022は、ヘルスチェックパケットの送信周期(T)毎に、プロセッサコア毎のヘルスチェックパケットの処理数を統計カウンタ121から取得する。そして、取得したヘルスチェックパケットの処理数から、各プロセッサコアが動作しているか、障害が生じているかを判定する。すなわち、所定時間での統計カウンタの増加によって、プロセッサコアの障害を監視する(所定時間でヘルスチェックパケットの処理数が増加していないプロセッサコアを障害と判定する)。
例えば、図9に示すように、ネットワークを経由して他のネットワーク装置のプロセッサコアの死活監視をする場合、各プロセッサコアから返信されるヘルスチェックパケットと統計カウンタ121から取得したパケットの処理数を併用すると、他のネットワーク装置とネットワークとを同時に監視することができる。
図7は、第2の実施例のネットワークプロセッサ120がヘルスチェックパケットを処理するフローチャートである。
プロセッサコア122は、受信したパケットがヘルスチェックパケットであるかを判定する(S121)。受信したパケットがヘルスチェックパケットであれば、統計カウンタ121に格納された統計情報(カウント値)を更新する(S122)。具体的には、プロセッサコア毎に処理したヘルスチェックパケットの数を更新する。
なお、プロセッサコア122は、パケット受信時に統計カウンタ121を更新せず、パケットの処理完了時に統計カウンタ121を更新してもよい。
その後、宛先検索部123は、宛先アドレス301を参照して、受信したヘルスチェックパケットの宛先を判定する(S123)。
プロセッサコア122は、検索された宛先が自装置であれば(S124でYes)、ヘルスチェックパケットを装置内回線ポート127から送信する(S125)。
なお、制御部100は、受信したヘルスチェックパケットが、自装置(制御部100)から送信されたヘルスチェックパケットであれば、ヘルスチェックパケットの種別がタイプ0に該当するため、返信するヘルスチェックパケットを生成する必要は無い。受信したヘルスチェックパケットが他のパケット転送装置から送信されたヘルスチェックパケットであれば、ヘルスチェックパケットの種別がタイプ2に該当するため、他のパケット転送装置に返信するヘルスチェックパケット(宛先アドレスと送信元アドレスを入れ替えたもの)を生成する。
一方、プロセッサコア122は、検索された宛先が他のネットワーク装置であれば(S124でNo)、ヘルスチェックパケットの種別がタイプ1又はタイプ3に該当するため、受信したヘルスチェックパケットを、当該他のネットワーク装置に対応するネットワーク回線ポート150から送信する(S126)。
一方、ステップS121で受信したパケットがヘルスチェックパケットではない(ユーザパケットである)と判定されれば、当該ユーザパケットの宛先に対応するネットワーク回線ポート150からユーザパケットを送信する(S127)。
このように、プロセッサコア122は、所定時間間隔で送信されるヘルスチェックパケットを処理している。
第2の実施例の障害検出・判定処理は、前述した第1の実施例の障害検出・判定処理(図5)を採用することができる。また、第2の実施例では、以下に説明する障害検出・判定処理の変形例を採用してもよい。第2の実施例の障害検出・判定処理の変形例では、前述した第1の実施例の障害検出・判定処理とステップS111〜S113の処理が異なる。
なお、第1の実施例の障害検出・判定処理は、第2の実施例において1台のネットワーク装置が自装置のプロセッサコアの死活監視をする場合(図8)に適用できるが、ネットワークを経由して他のネットワーク装置のプロセッサコアの死活監視をする場合(図9)に適用できない。ネットワークを経由して他のネットワーク装置のプロセッサコアの死活監視をする場合は、以下に説明する変形例の障害検出・判定処理を適用することができる。
図5を用いて、第2の実施例の障害検出・判定処理の変形例について説明する。
まず、NP内コア監視プログラム1022は、各プロセッサコア122の障害を判定する(S111)。具体的には、プロセッサコア122からヘルスチェックパケットが返信されたか否かを判定する(S112)。その結果、ヘルスチェックパケットを返信したプロセッサコアは障害でないと判定し、ステップS111に戻る。一方、所定時間経ってもヘルスチェックパケットが返信されない場合、当該プロセッサコアは障害であると判定し、ステップS113に進む。
ステップS113では、所定時間内で3回目の障害が検出されたかを判定する。その結果、3回連続してヘルスチェックパケットが返信されない場合、ステップS115に進み、部分回復/部分縮退プログラム1023を起動し、部分縮退処理を実行する。一方、ヘルスチェックパケットが返信されない回数が3回連続まで至っていない場合、ステップS114に進み、部分回復/部分縮退プログラム1023を起動し、部分回復処理を実行する。
すなわち、第2の実施例の障害検出・判定処理の変形例では、制御部100は、一つのプロセッサコアから3回連続してヘルスチェックパケットが返信されるかを判定し、一つのプロセッサコアから3回連続してヘルスチェックパケットが返信されない(所定時間(4T)にヘルスチェックパケットが返信されない)場合、障害であると判定し、当該プロセッサコアを停止する。一方、所定時間(4T)内で1回でも当該プロセッサコアからヘルスチェックパケットが返信されれば、正常と判定し、当該プロセッサコアを再起動する。
図8は、第2の実施例のネットワーク装置1のヘルスチェックを説明する図である。
制御部100(ヘルスチェックパケット送受信プログラム1021)は、宛先アドレスが自装置宛のヘルスチェックパケットを生成し、装置内回線ポート106、127を経由して、ネットワークプロセッサ120に送る。
ネットワークプロセッサ120の宛先検索部123は、ヘルスチェックパケットの宛先アドレス301が自装置のMACアドレスなので、このヘルスチェックパケットは制御部100に返信するものと判定する。そして、プロセッサコア122は、ヘルスチェックパケットを制御部100に送る。
制御部100(NP内コア監視プログラム1022)は、返信されたヘルスチェックパケットを受信することによって、プロセッサコア122の死活監視をする。
図9は、第2の実施例のネットワーク装置を含むネットワークにおけるヘルスチェックを説明する図である。
ネットワーク装置#1(11)、ネットワーク装置#2(12)及びネットワーク装置#3(13)が接続され、ユーザパケットを転送している。
プロセッサコアの死活監視において、ネットワーク装置#1(11)がマスター装置として機能し、ヘルスチェックパケットを生成し、ターゲット装置宛に送信する。ネットワーク装置#2(12)は、トランジット装置として機能し、ネットワーク装置#1(11)から送信されたヘルスチェックパケットをターゲット装置宛に転送する。ネットワーク装置#3(13)は、ターゲット装置として機能し、ネットワーク装置#1(11)から送信されたヘルスチェックパケットを処理する。
具体的には、マスター装置であるネットワーク装置#1(11)のネットワークプロセッサ120は、ヘルスチェックパケットの宛先アドレス301が他のネットワーク装置なので、ヘルスチェックパケットをネットワーク回線ポート150から出力する。次の、トランジット装置であるネットワーク装置#2(12)のネットワークプロセッサ120は、ヘルスチェックパケットの宛先アドレス301が他のネットワーク装置なので、ヘルスチェックパケットをネットワーク回線ポート150から出力する。
次の、ターゲット装置であるネットワーク装置#3(13)のネットワークプロセッサ120は、ヘルスチェックパケットの宛先アドレス301が自装置なので、ヘルスチェックパケットを制御部100に転送する。ネットワーク装置#3(13)の制御部100は、ヘルスチェックパケットの宛先アドレスと送信元アドレスとを入れ替えたヘルスチェックパケットを生成し、ネットワークプロセッサ120に送る。ネットワークプロセッサ120は、返信用のヘルスチェックパケットの宛先アドレス301が他のネットワーク装置なので、ヘルスチェックパケットをネットワーク回線ポート150から出力する。
なお、制御部100が返信用のヘルスチェックパケットを生成せず、ネットワークプロセッサ120が生成してもよい。
次の、トランジット装置であるネットワーク装置#2(12)のネットワークプロセッサ120は、ヘルスチェックパケットの宛先アドレス301が他のネットワーク装置なので、ヘルスチェックパケットをネットワーク回線ポート150から出力する。次の、マスター装置であるネットワーク装置#1(11)のネットワークプロセッサ120は、ヘルスチェックパケットの宛先アドレス301が自装置なので、ヘルスチェックパケットを制御部100に転送する。ネットワーク装置#1(11)の制御部100は、返信されたヘルスチェックパケットによって、ネットワーク装置#3(13)のプロセッサコア122の死活監視をする。
なお、マスター装置であるネットワーク装置#1(11)及びトランジット装置であるネットワーク装置#2(12)に第1の実施例を適用し、マスター装置又は当該装置が統計カウンタ121のカウント値を取得することによって、プロセッサコア122の死活監視をすることができる。
以上に説明したように、本発明の第2の実施例によると、制御部100は、各プロセッサコアから返信されるヘルスチェックパケットによって、各プロセッサコアの状態を監視するので、確実に各プロセッサコアの障害を検出することができる。
また、制御部100は、監視されるプロセッサコアを指定したヘルスチェックパケットを生成するので、全てのプロセッサコアに確実にヘルスチェックパケットを振り分けることができる。さらに、ネットワークプロセッサ120は、ヘルスチェックパケットを最高優先キューに格納し、各プロセッサコアに振り分けるので、ヘルスチェックパケットの廃棄を防止することができる。
また、制御部100は、他のネットワーク装置に送信するヘルスチェックパケットを他のネットワーク装置に転送し、各プロセッサコアから返信されるヘルスチェックパケットによって、他のネットワーク装置のプロセッサコアの状態を監視するので、ネットワークを経由して他のネットワーク装置を監視することができるので、他のネットワーク装置のプロセッサコアの障害を検出することができる。
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
1 ネットワーク装置
100 制御部
101 制御用プロセッサ
102 メモリ
103 制御バスブリッジ
104 制御バス
105 メモリバス
106 装置内回線ポート
110 転送制御部
120、140 ネットワークプロセッサ
121 統計カウンタ
122 プロセッサコア
123 宛先検索部
124 コア振分部
125 優先キュー
126 キュー振分部
127 装置内回線ポート
150 ネットワーク回線ポート

Claims (5)

  1. パケットを転送するネットワーク装置であって、
    制御装置と、ネットワークから入力されたパケットの転送処理を行う複数のプロセッサコアを有するネットワークプロセッサと、を備え、
    前記制御装置は、
    前記ネットワークプロセッサにヘルスチェックパケットを送信し、
    前記各プロセッサコアのパケットの処理に関する統計情報及び前記ヘルスチェックパケットの処理に関する統計情報を監視情報として取得し、
    前記取得した監視情報によって、前記各プロセッサコアの状態を監視することを特徴とするネットワーク装置。
  2. 請求項1に記載のネットワーク装置であって、
    前記ネットワークプロセッサは、前記制御装置が送信するパケットを所定のキューに格納することを特徴とするネットワーク装置。
  3. 請求項2に記載のネットワーク装置であって、
    前記ネットワークプロセッサは、
    前記ヘルスチェックパケットを最低優先キューに格納し、
    前記最低優先キューに格納されたヘルスチェックパケットを各プロセッサコアにバースト的に送信することを特徴とするネットワーク装置。
  4. 請求項1に記載のネットワーク装置であって、
    前記ネットワークプロセッサは、受信したヘルスチェックパケットに関する統計情報を更新し、受信したヘルスチェックパケットを廃棄することを特徴とするネットワーク装置。
  5. パケットを転送するネットワーク装置におけるプロセッサの監視方法であって、
    前記ネットワーク装置は、制御装置と、ネットワークから入力されたパケットの転送処理を行う複数のプロセッサコアを有するネットワークプロセッサと、を有し、
    前記方法は、
    前記制御装置が、前記ネットワークプロセッサにヘルスチェックパケットを送信し、
    前記制御装置が、前記各プロセッサコアのパケットの処理に関する統計情報及び前記ヘルスチェックパケットの処理に関する統計情報を監視情報として取得し、
    前記制御装置が、前記取得した監視情報によって、前記各プロセッサコアの状態を監視することを特徴とする監視方法。
JP2013174058A 2013-08-26 2013-08-26 ネットワーク装置及びプロセッサの監視方法 Active JP5968841B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013174058A JP5968841B2 (ja) 2013-08-26 2013-08-26 ネットワーク装置及びプロセッサの監視方法
US14/309,247 US9323596B2 (en) 2013-08-26 2014-06-19 Network apparatus and method of monitoring processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174058A JP5968841B2 (ja) 2013-08-26 2013-08-26 ネットワーク装置及びプロセッサの監視方法

Publications (2)

Publication Number Publication Date
JP2015043479A JP2015043479A (ja) 2015-03-05
JP5968841B2 true JP5968841B2 (ja) 2016-08-10

Family

ID=52481507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174058A Active JP5968841B2 (ja) 2013-08-26 2013-08-26 ネットワーク装置及びプロセッサの監視方法

Country Status (2)

Country Link
US (1) US9323596B2 (ja)
JP (1) JP5968841B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606879B2 (en) * 2014-09-29 2017-03-28 Nxp Usa, Inc. Multi-partition networking device and method therefor
US20160378628A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Hardware processors and methods to perform self-monitoring diagnostics to predict and detect failure
US20190243698A1 (en) * 2018-02-02 2019-08-08 Robert Bosch Gmbh Electronic Control Unit for Flexible Replacement of Replaceable Components in a Vehicle
KR102710601B1 (ko) * 2019-03-27 2024-09-27 삼성전자주식회사 네트워크 패킷 처리 방법 및 이를 위한 전자 장치
DE102020205146A1 (de) * 2020-04-23 2021-10-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines technischen Systems
US20220038443A1 (en) * 2020-08-03 2022-02-03 KELVIN r. FRANKLIN Methods and systems of a packet orchestration to provide data encryption at the ip layer, utilizing a data link layer encryption scheme
US12093212B2 (en) * 2022-09-15 2024-09-17 Ampere Computing Llc External quiesce of a core in a multi-core system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3823284B2 (ja) * 1999-12-10 2006-09-20 富士通株式会社 機能分散及び負荷分散処理マルチプロセッサシステム
US20020120741A1 (en) * 2000-03-03 2002-08-29 Webb Theodore S. Systems and methods for using distributed interconnects in information management enviroments
WO2008126471A1 (ja) * 2007-04-06 2008-10-23 Nec Corporation 半導体集積回路およびその試験方法
JP2012080426A (ja) * 2010-10-05 2012-04-19 Nec Corp 通信装置、通信システム、通信方法、および通信プログラム
JP5665723B2 (ja) * 2011-11-29 2015-02-04 アラクサラネットワークス株式会社 パケット中継装置およびシステム、障害検出方法
US9208124B2 (en) * 2011-12-29 2015-12-08 Intel Corporation Reset of processing core in multi-core processing system
WO2013126066A1 (en) * 2012-02-24 2013-08-29 Hewlett-Packard Development Company, L.P. Wear-leveling cores of a multi-core processor
US9071537B2 (en) * 2012-06-15 2015-06-30 Citrix Systems, Inc. Systems and methods for propagating health of a cluster node

Also Published As

Publication number Publication date
JP2015043479A (ja) 2015-03-05
US9323596B2 (en) 2016-04-26
US20150058682A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
JP5968841B2 (ja) ネットワーク装置及びプロセッサの監視方法
CN108353082B (zh) 用于处理虚拟网络驱动器的恶意活动的技术
US10257066B2 (en) Interconnect congestion control in a storage grid
CN108712459B (zh) 协议报文跨层通信方法、装置及电子设备
US10122623B2 (en) Control device and control method in SDN network
US9819590B2 (en) Method and apparatus for notifying network abnormality
CN108206753B (zh) 一种检测时延的方法、装置及系统
JP2015503274A (ja) 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法
US8174980B2 (en) Methods, systems, and computer readable media for dynamically rate limiting slowpath processing of exception packets
US10411742B2 (en) Link aggregation configuration for a node in a software-defined network
US10348683B2 (en) Network packet filtering via media access control (MAC) address learning
US20140040514A1 (en) Adaptive interrupt moderation
US11843615B2 (en) Attack response point selecting apparatus and attack response point selecting method
WO2011029358A1 (zh) 报文调度方法和装置
US20160373346A1 (en) Data processing system, data processing method and computer readable medium
US20180167337A1 (en) Application of network flow rule action based on packet counter
US11632288B2 (en) Determining the impact of network events on network applications
EP3270552B1 (en) Method, system, and apparatus for reducing the size of route updates
US20080059620A1 (en) Method and apparatus for persisting SNMP MIB integer indexes across multiple network elements
US9608888B2 (en) Transmitting device, method for monitoring memory, and transmission system
US9621487B2 (en) Method and apparatus for protection switching based on memory control in packet transport system
CN108781170B (zh) 一种配置装置及方法
EP3136251B1 (en) Flit transmission method and device of network on chip
WO2022160206A1 (zh) 一种片上系统异常处理方法、片上系统及其装置
Li et al. Triton: A Flexible Hardware Offloading Architecture for Accelerating Apsara vSwitch in Alibaba Cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160706

R150 Certificate of patent or registration of utility model

Ref document number: 5968841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250