[go: up one dir, main page]

JP2006121667A - パケット受信制御装置及びパケット受信制御方法 - Google Patents

パケット受信制御装置及びパケット受信制御方法 Download PDF

Info

Publication number
JP2006121667A
JP2006121667A JP2005264201A JP2005264201A JP2006121667A JP 2006121667 A JP2006121667 A JP 2006121667A JP 2005264201 A JP2005264201 A JP 2005264201A JP 2005264201 A JP2005264201 A JP 2005264201A JP 2006121667 A JP2006121667 A JP 2006121667A
Authority
JP
Japan
Prior art keywords
packet
reception control
unit
control device
processor
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.)
Ceased
Application number
JP2005264201A
Other languages
English (en)
Inventor
Tatsuro Ikoma
達郎 生駒
Masaro Tamai
昌朗 玉井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005264201A priority Critical patent/JP2006121667A/ja
Priority to US11/232,905 priority patent/US20060067231A1/en
Publication of JP2006121667A publication Critical patent/JP2006121667A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

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

Abstract

【課題】 パケットを受信する装置の過負荷状態を改善し、その装置のパケット受信以外の機能を保つことができるようにする。
【解決手段】 パケット受信制御装置として、プロセッサの負荷を検出して出力する負荷検出部と、前記負荷検出部における検出結果に基づいて、受信されたパケットを前記プロセッサが受信すべきか否かを判断し、その結果を出力する受信制御部とを備え、前記受信制御部における判断の結果に従って、前記受信されたパケットを前記プロセッサが受信するように構成される。
【選択図】 図2

Description

本発明は、ネットワークからのパケットの受信を制御する技術に関する。
従来から存在する機器に、インターネット等のネットワークに接続する機能を追加する傾向が年々強まっている。これに伴って、従来の機器設計にネットワークインタフェース機能を追加する際の課題が明らかになってきた。
ネットワークの代表例として、IEEE(institute of electrical and electronics engineers)802.3規格準拠のイーサネット(登録商標)が挙げられる。これはパケット送受信網であり、本質的には、どのような受信パケットが到来するかを予見したり、保障することができない。
例えば、ネットワークに何らかの装置が接続され、その装置からの、もしくはその装置宛てのマルチキャストやブロードキャストによって、パケットが大量に発生する状況が起こり得る。また、ポートスキャン、サービス拒否攻撃、コンピュータウィルス等、セキュリティを脅かすためのトラフィックが発生し、予測不能なパケットが大量に到来する可能性もある。
このような状況において、その機器の能力を超える数の受信パケットが到来すると、この機器のプロセッサは、その処理能力を受信パケット処理にほとんど費やしてしまう過負荷状態になりやすい。この結果、その機器の本来の機能の実現が阻害されてしまうことがある。
一例として、機器がAV(audio-visual)機能等のリアルタイム性が要求される通信処理を行う場合には、一般に、通信処理の優先度は他の処理に比べて高く設定される。このため、受信パケットが大量に到来すると、機器のプロセッサは通信処理にその能力の過半を費やしてしまうので、例えばボタンの押下を検出する程度の処理にさえ、遅延をきたす恐れがある。
このような事態に対処するための技術として、例えば以下のような技術が知られている。特許文献1には、システム負荷を検出する機能を設けたファクシミリ装置が開示されている。このファクシミリ装置では、システムの負荷があらかじめ定められたしきい値を超えない場合には、最高速度でデータ転送処理を行い、通信制御や記録制御を同時に実行していること等によりシステム負荷が重い場合には、データ転送速度を低下させる。このように、システム負荷を分散させることにより、効率的なデータ転送を実現している。
また、別の例として、特許文献2には、ネットワーク組込み用システムが開示されている。図23は、従来のネットワーク組込み用システムのブロック図であり、特許文献2に記載されているものである。ここでネットワークインタフェースチップ(NIC)ドライバ92には、プロトコルスタック93を介して複数のアプリケーション94が接続されている。
プロトコルスタック93は、NICドライバ92を使用して通信をする端点ノードとの間の通信機能を提供する部分である。アプリケーション94は、それぞれ、プロトコルスタック93を使用して、より高度な通信機能を提供するコンピュータプログラムにより構成される。メモリ96は、NIC91とプリンタ制御部95の両方からアクセスされるメモリであり、動作レデュースフラグ保持部97を備える。
ここで、図23のシステムは、緊急の処理が開始されたことを認識すると、動作レデュースフラグ保持部97のフラグをオンに設定する。動作レデュースフラグがオンの間には、NICドライバ92は、NIC91に対して、通常動作時に受信するパケットのうち、特定の種類のパケット受信を停止するようにフィルタ動作を実行させる。これによって、緊急動作中に不必要な受信パケットをCPU(central processing unit)が処理しなくてもよくなる。
特開平9−116731号公報 特開平11−328068号公報
しかしながら、特許文献1で開示されている技術は、特定のコマンド発生元との間で、コマンドの発生を止める、或いはその通達を遅らせることが可能であることを前提としている。一方、イーサネットのようなパケット通信網を利用する場合、パケットを受け取るシステムの負荷を増大させているパケットの発生元に対して、発生を停止させたり、通信速度を低減させたりすることは、必ずしも可能ではない。また、そもそもそのようなパケット発生元は、システムを利用する目的を持っていない場合もある。
また、特許文献2で開示されている技術では、あらかじめ固定された緊急処理の期間において受信パケットの負荷を軽減するものであり、それ以外の期間にはそのような対処ができない。実際のマルチタスクOS下で動作するシステムは、緊急処理に相当するプログラムでさえ、間欠的に動作することが要求されており、そのため、そのような緊急処理期間を固定することは困難である。
本発明は、過大な数の受信パケットの到来による、パケットを受信する装置の過負荷状態を改善し、その装置のパケット受信以外の機能を保つことができるようにすることを目的とする。
前記課題を解決するため、請求項1の発明が講じた手段は、パケット受信制御装置として、プロセッサの負荷を検出して出力する負荷検出部と、前記負荷検出部における検出結果に基づいて、受信されたパケットを前記プロセッサが受信すべきか否かを判断し、その結果を出力する受信制御部とを備え、前記受信制御部における判断の結果に従って、前記受信されたパケットを前記プロセッサが受信するように構成されたものである。
これによると、パケットを受信すべきか否かを判断した結果に従って、プロセッサがパケットを受信するので、パケットの受信に起因するプロセッサの過負荷状態を改善することができる。したがって、プロセッサが、パケット受信以外の処理を確実に行うことができる。
請求項2の発明は、請求項1に記載のパケット受信制御装置において、パケットを受信し、受信されたパケットを、指示に従って前記プロセッサに出力する受信パケット転送部を更に備え、前記負荷検出部は、前記負荷の程度に応じた値を処理負荷量として検出するものであり、前記受信制御部は、前記処理負荷量に応じて設定された1つ以上のフィルタルールを格納し、かつ、前記受信パケット転送部に対して、前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを出力するように指示をするものである。
これによると、負荷検出部が検出した処理負荷量に応じてフィルタルールが設定されるので、受信パケットに関して、処理負荷量の変化に応じた適切なフィルタ効果を得ることができる。
請求項3の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、前記処理負荷量が多いほど、より多くの受信パケットが適合するように設定された規則を、前記フィルタルールとして格納するものである。
これによると、処理負荷量が増大するに従って、より大きなフィルタ効果を得ることができる。
請求項4の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、受信パケットを複数の種類に分類して、種類毎に、単位時間当たりのパケットの受信頻度を測定する統計取得部を備え、かつ、前記複数の種類のうち、単位時間当たりの受信頻度が最も多い種類から順に選択された種類の受信パケットが適合するように設定された規則を、前記フィルタルールとして格納するものである。
これによると、受信パケットの統計的性質に従って、プロセッサに負荷を与えている受信パケットに対象を絞ってフィルタ効果を得ることができる。
請求項5の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、特定の種類の受信パケットが適合しないように設定された規則を、前記フィルタルールとして格納するものである。
これによると、重要な受信パケットは、たとえその処理負荷が大きくとも、フィルタの対象からはずすことができる。例えば、機器の動作に欠かすことのできないパケットは必ず受信するようにすることができる。
請求項6の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、前記処理負荷量が所定の閾値を超えた場合には、ブロードキャストパケット及びマルチキャストパケットが適合するように設定された規則を、前記フィルタルールとして格納するものである。
これによると、ブロードキャスト及びマルチキャストされた全ての受信パケットをフィルタの対象とするので、大きなフィルタ効果を期待することができる。
請求項7の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、前記処理負荷量が所定の閾値を超えた場合には、全てのパケットが適合するように設定された規則を、前記フィルタルールとして格納するものである。
これによると、全ての受信パケットをフィルタの対象とするので、プロセッサの負荷を大きく抑えることができる。
請求項8の発明では、請求項2に記載のパケット受信制御装置において、前記受信制御部は、前記処理負荷量が減少した場合には、その後所定の期間は前記フィルタルールを変更せず、前記所定の期間経過後に、前記処理負荷量に応じて設定された規則を、前記フィルタルールとして格納するものである。
これによると、処理負荷量が減少しても、所定の期間は過負荷時用のフィルタルールを維持するので、処理負荷量の変動に過敏に反応することを抑えることができる。
請求項9の発明は、請求項2に記載のパケット受信制御装置において、前記受信制御部による受信パケットの破棄の単位時間当たりの発生頻度を測定する破棄数計測部を更に備え、前記受信制御部は、前記処理負荷量が減少した場合には、前記発生頻度が所定の閾値以上であるときには前記フィルタルールを変更せず、前記発生頻度が前記所定の閾値未満になると、前記処理負荷量に応じて設定された情報を、前記フィルタルール情報として格納するものである。
これによると、破棄される受信パケットの減少を確認してから過負荷時用のフィルタルールを解除するので、過負荷が発生し得る間は過負荷時用のフィルタルールを維持することができる。
請求項10の発明では、請求項1に記載のパケット受信制御装置において、前記負荷検出部は、前記負荷の程度に応じた値を処理負荷量として検出するものであり、前記受信制御部は、パケットが受信されたことに関連して生成されたイベント信号を受け取った場合であって、前記処理負荷量が所定の値を超えないときには、受信されたパケットを前記プロセッサが受信するように、前記イベント信号を受け取ったことを前記プロセッサに対して通知する通知信号を出力し、前記処理負荷量が前記所定の値を超えるときには、前記通知信号の出力を停止するものである。
これによると、処理負荷量が所定の値を超えた場合には、パケットが受信されたことに関する通知を全て禁止するので、プロセッサがパケット受信以外の処理を確実に行うことができるようになる。
請求項11の発明では、請求項10に記載のパケット受信制御装置において、前記通知信号は、前記プロセッサに対する割込み信号であることを特徴とする。
これによると、パケットが受信されたことに関する通知信号による割込みを禁止することにより、プロセッサがパケットを受信するための割込み処理を行わないようにすることができる。
請求項12の発明では、請求項10に記載のパケット受信制御装置において、前記受信制御部は、前記通知信号の出力を停止してからの経過時間を計測し、計測された経過時間が所定の値を超えると、前記通知信号の出力の停止を解除するものである。
これによると、所定の期間はプロセッサに対する通知を禁止する設定を維持して、その後、自動的に通常時の動作を行うようにすることができる。
請求項13の発明では、請求項10に記載のパケット受信制御装置において、前記受信制御部は、前記イベント信号の単位時間当たりの発生頻度を測定し、前記通知信号の出力を停止後、前記発生頻度が所定の値よりも小さくなると、前記通知信号の出力の停止を解除するものである。
これによると、イベント信号の減少を確認してから通知信号の出力の停止を解除するので、過負荷が発生し得る間は通知信号の出力の停止を維持し、その後、自動的に通常時の動作を行うようにすることができる。
請求項14の発明では、請求項1に記載のパケット受信制御装置において、前記負荷検出部は、前記負荷の程度に応じた値を処理負荷量として検出するものであり、かつ、前記負荷検出部は、起動されてからの時間を計測するタイマカウンタと、前記プロセッサからアクセスされると、前記タイマカウンタのカウント値を読み出して出力し、前記タイマカウンタを再起動する監視部と、所定の予定値と、読み出された前記カウント値とに基づいて、前記処理負荷量を求めて出力する負荷算出部とを有するものである。
これによると、処理負荷量をタイマカウンタのカウント値と予定値とから求めるので、プロセッサやプログラムの性質によらずに処理負荷量を数値化することができる。
請求項15の発明では、請求項14に記載のパケット受信制御装置において、前記監視部は、前記プロセッサにおいてマルチタスクOS(operating system)上で周期的に起動されるタスクによって、アクセスされるものである。
これによると、負荷検出部は、マルチタスクOS上のタスクによる処理負荷を検出することができる。
請求項16の発明では、請求項1に記載のパケット受信制御装置において、前記負荷検出部は、前記負荷の程度に応じた値を処理負荷量として検出するものであり、かつ、前記負荷検出部は、クリア信号が入力されてからの時間を計測し、計測された時間が所定の時間に達すると、タイムアウト信号を出力するタイマカウンタと、前記プロセッサからアクセスされると、前記タイマカウンタに前記クリア信号を出力する監視部と、前記タイムアウト信号に基づいて、前記処理負荷量を求めて出力する負荷算出部とを有するものである。
これによると、タイムアウト信号はプロセッサの負荷が大きいときに出力されるので、処理負荷量を求めることができる。
請求項17の発明では、請求項16に記載のパケット受信制御装置において、前記負荷算出部は、前記タイムアウト信号の単位時間当たりの発生頻度に応じた値を前記処理負荷量として求めるものである。
これによると、タイムアウトの発生頻度から処理負荷量を算出するので、単位時間内で平均化された処理負荷量を得ることができる。
請求項18の発明では、請求項16に記載のパケット受信制御装置において、前記負荷算出部は、前記タイムアウト信号の連続して出力された回数に応じた値を前記処理負荷量として求めるものである。
これによると、単位時間等よりも短い期間における最大の処理負荷量を得ることができる。
請求項19の発明では、請求項18に記載のパケット受信制御装置において、前記タイマカウンタは、タイムアウトした場合にはより大きな値が、クリアされた場合にはより小さな値が、前記所定の時間として設定されるものである。
これによると、処理負荷量の変動を緩やかにすることができる。
請求項20の発明では、請求項16に記載のパケット受信制御装置において、前記監視部は、前記プロセッサにおいてマルチタスクOS上で周期的に起動されるタスクによって、アクセスされるものである。
請求項21の発明は、請求項1に記載のパケット受信制御装置において、パケットを受信し、受信されたパケットを、指示に従って前記プロセッサに出力する受信パケット転送部を更に備え、前記負荷検出部は、前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、前記受信制御部は、設定された1つ以上のフィルタルールを格納し、かつ、前記受信パケット転送部に対して、前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを出力するように指示をし、前記プロセッサが過負荷状態である場合には、通常時よりも多くのパケットが適合する過負荷時用のフィルタルールを前記フィルタルールとして格納するものである。
これによると、プロセッサの過負荷状態を簡易に検知し、フィルタルールを過負荷時用のものに速やかに切り替えることができる。
請求項22の発明は、請求項21に記載のパケット受信制御装置において、過負荷対策部を更に備え、前記受信パケット転送部は、パケットを出力することを前記プロセッサに対して通知するものであり、前記過負荷対策部は、前記プロセッサに対する通知の単位時間当たりの発生頻度を求め、前記負荷検出部によって前記プロセッサが過負荷状態であることが検出された場合において、前記通知の発生頻度が所定の値以上であるときには、前記受信制御部に対して過負荷状態であることの通知を行うものであり、前記受信制御部は、前記過負荷状態であることの通知を受けた場合には、前記過負荷時用のフィルタルールを前記フィルタルールとして格納するものである。
これによると、パケットの受信処理によってプロセッサが過負荷状態となっている場合には、フィルタルールを過負荷時用のものに速やかに切り替えることができる。
請求項23の発明では、請求項22に記載のパケット受信制御装置において、前記過負荷対策部は、前記プロセッサが過負荷状態から過負荷ではない状態になった場合には、所定の条件が成立した後に、前記プロセッサが過負荷状態ではないことの通知を前記受信制御部に行うものであり、前記受信制御部は、前記過負荷状態ではないことの通知を受けた場合には、通常時用のフィルタルールを前記フィルタルールとして格納するものである。
これによると、所定の条件が成立するまでは過負荷時用のフィルタルールを維持して、その後、自動的に通常時の動作を行うようにすることができる。
請求項24の発明では、請求項23に記載のパケット受信制御装置において、前記所定の条件は、前記プロセッサが過負荷状態ではなくなってから、所定の時間が経過することである。
これによると、所定の時間が経過するまでは過負荷時用のフィルタルールを維持して、その後、自動的に通常時の動作を行うようにすることができる。
請求項25の発明は、請求項23に記載のパケット受信制御装置において、前記受信制御部による受信パケットの破棄の単位時間当たりの発生頻度を測定する破棄数計測部を更に備え、前記所定の条件は、前記発生頻度が所定の値よりも小さくなることである。
これによると、受信パケットの破棄の発生頻度が所定の値を下回ることを確認してから過負荷時用の設定を解除するので、過負荷が発生し得る間は過負荷時用のフィルタルールを維持し、その後、自動的に通常時の動作を行うようにすることができる。
請求項26の発明では、請求項21に記載のパケット受信制御装置において、前記過負荷時用のフィルタルールは、全てのパケットが適合するように設定されていることを特徴とする。
これによると、過負荷時には全ての受信パケットを破棄するので、直接的にプロセッサの負荷を最小に抑えることができる。
請求項27の発明では、請求項21に記載のパケット受信制御装置において、前記受信制御部は、受信パケットを複数の種類に分類して、種類毎に、単位時間当たりのパケットの受信頻度を測定する統計取得部を更に備えるものであり、前記過負荷時用のフィルタルールは、前記複数の種類のうち、単位時間当たりの受信頻度が最も多い種類から順に選択された種類の受信パケットが適合するように設定されていることを特徴とする。
これによると、受信パケットの統計的性質に従って、プロセッサに負荷を与えている受信パケットに対象を絞ってフィルタ効果を得ることができる。
請求項28の発明では、請求項21に記載のパケット受信制御装置において、前記過負荷時用のフィルタルールは、特定の種類の受信パケットが適合しないように設定されていることを特徴とする。
これによると、重要な受信パケットは、たとえその処理負荷が大きくとも、フィルタの対象からはずすことができる。
請求項29の発明では、請求項1に記載のパケット受信制御装置において、前記負荷検出部は、前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、前記受信制御部は、パケットが受信されたことに関連して生成されたイベント信号の単位時間当たりの発生頻度を求め、前記イベント信号を受け取ったことを前記プロセッサに対して通知する通知信号を出力することができるものであり、前記プロセッサが過負荷状態であり、かつ、前記イベント信号の発生頻度が所定の値を超える場合には、前記通知信号の出力を停止するものである。
これによると、プロセッサの過負荷状態を簡易に検知し、イベント信号の発生頻度が高い場合には、パケット受信に関する通知信号の出力を停止するので、プロセッサはパケットの受信を行わず、プロセッサはパケット受信以外の処理を確実に行うことができる。
請求項30の発明では、請求項29に記載のパケット受信制御装置において、前記通知信号は、前記プロセッサに対する割込み信号であることを特徴とする。
請求項31の発明では、請求項29に記載のパケット受信制御装置において、前記受信制御部は、前記通知信号の出力を停止してからの経過時間を計測し、計測された経過時間が所定の値を超えると、前記通知信号の出力の停止を解除するものである。
請求項32の発明では、請求項29に記載のパケット受信制御装置において、前記受信制御部は、前記イベント信号の単位時間当たりの発生頻度を測定し、前記通知信号の出力を停止後、前記発生頻度が所定の値よりも小さくなると、前記通知信号の出力の停止を解除するものである。
請求項33の発明は、請求項29に記載のパケット受信制御装置において、所定時間内に前記プロセッサからアクセスされない場合に、前記プロセッサに対して初期化要求信号を出力するウォッチドッグタイマを更に備え、前記受信制御部は、ウォッチドッグタイマが前記初期化要求信号を出力するまでの残り時間が所定の時間よりも短い場合には、前記通知信号の出力を停止するものである。
これによると、ウォッチドッグタイマがタイムアウトする前に、パケットの受信に起因する通知信号の出力を差し止めるので、パケットの受信処理に起因してプロセッサがウォッチドッグタイマにアクセスできず、ウォッチドッグタイマが正常な監視動作を行えなくなることを避けることができる。
請求項34の発明では、請求項1に記載のパケット受信制御装置において、前記負荷検出部は、クリア信号が入力されてからの時間を計測し、計測された時間が所定の時間に達したことを示すタイムアウト信号を、前記検出結果として出力するタイマカウンタと、前記プロセッサからアクセスされると、前記タイマカウンタにクリア信号を出力する監視部とを有するものである。
これによると、プロセッサが過負荷であるか否かを示す信号を、負荷検出部の検出結果として得ることができる。
請求項35の発明では、請求項34に記載のパケット受信制御装置において、前記タイマカウンタは、前記所定の時間を変更することができるように構成されているものである。
これによると、タイムアウト信号を出力するまでの時間と監視部にアクセスする周期との比を変更することにより、過負荷状態を検知する感度を調整することができる。
請求項36の発明では、請求項34に記載のパケット受信制御装置において、前記監視部は、前記プロセッサにおいてマルチタスクOS上で周期的に起動されるタスクによって、アクセスされるものである。
請求項37の発明では、請求項36に記載のパケット受信制御装置において、前記周期的に起動されるタスクのスケジュール優先度は、パケット通信プロトコルの処理タスク及びリアルタイム通信アプリケーションの処理タスクよりも低く設定されていることを特徴とする。
これによると、パケット通信プロトコルの処理タスク及びリアルタイム通信アプリケーションの処理タスクに起因してプロセッサが過負荷状態になっているか否かを、監視部が検知することができる。
請求項38の発明では、請求項37に記載のパケット受信制御装置において、前記周期的に起動されるタスクのスケジュール優先度は、リアルタイム制御アプリケーションの処理タスクよりも低く設定されていることを特徴とする。
これによると、パケット通信プロトコルの処理タスク、リアルタイム通信アプリケーションの処理タスク、及びリアルタイム制御アプリケーションの処理タスクに起因してプロセッサが過負荷状態になっているか否かを、監視部が検知することができる。
請求項39の発明では、請求項37に記載のパケット受信制御装置において、前記周期的に起動されるタスクのスケジュール優先度は、リアルタイム性を必要としないアプリケーションの処理タスクよりも高く設定されていることを特徴とする。
これによると、リアルタイム性を必要としないアプリケーションの処理タスク以外に起因してプロセッサが過負荷状態になっているか否かを、監視部が検知することができる。
請求項40の発明は、請求項1に記載のパケット受信制御装置において、パケットを受信し、受信パケットを、指示に従ってメモリに格納させて前記プロセッサに出力できるようにする受信パケット転送部と、前記メモリに格納されたことがある受信パケットの情報を走査し、これらの受信パケットの種類毎の受信頻度を示す頻度情報を求めるパケット解析部とを更に備え、前記負荷検出部は、前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、前記受信制御部は、フィルタルールを格納する破棄フィルタテーブル格納部と、前記負荷検出部から、前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、所定の種類のパケットを破棄すべきであることを示すフィルタルールを含む第1のフィルタルールセットを破棄フィルタテーブル格納部に格納させるフィルタルール設定部と、前記フィルタルールのいずれかに適合する受信パケットを破棄し、かつ、前記フィルタルールのいずれにも適合しない受信パケットを、前記メモリを介して前記プロセッサに出力するように、受信パケット転送部に対して指示する破棄/通過決定部とを備えるものであり、前記フィルタルール設定部は、前記メモリに格納されたことがある受信パケットについて求められた前記頻度情報に基づいて、破棄すべきパケットの種類を決定し、前記決定された破棄すべきパケットの種類を示すフィルタルールを含む第2のフィルタルールセットを前記第1のフィルタルールセットに代えて破棄フィルタテーブル格納部に格納させるものである。
これによると、メモリ上の受信パケットの走査結果から破棄すべきパケットの種類を決定し、このようなパケットを破棄する第2のフィルタルールを設定するので、プロセッサの負荷を抑えつつ、過負荷状態を引き起こしたパケットの種類以外のパケットを受信することが可能となる。
請求項41の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、前記頻度情報に基づいて、受信頻度が所定の値を超えるパケットの種類を、破棄すべきパケットの種類として決定するものである。
これによると、所定の受信頻度を超えるパケットの種類に該当するパケットを破棄することにより、効果的にプロセッサの負荷を下げることができる。
請求項42の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、所定のパケットの種類を、破棄すべきパケットの種類として決定しないものである。
これによると、パケット受信制御装置にとって送受信が必須であるパケットを破棄しないように設定することができる。
請求項43の発明では、請求項40に記載のパケット受信制御装置において、前記受信制御部は、前記プロセッサが実行している通信アプリケーションが使用するパケットの種類を示す情報を保持するセション管理部を更に備え、前記フィルタルール設定部は、前記セション管理部が保持する情報が示すパケットの種類を、破棄すべきパケットの種類として決定しないものである。
これによると、通信アプリケーションが通信に使用しているパケットの種類を、破棄すべきパケットの種類に含めないようにすることができる。
請求項44の発明では、請求項43に記載のパケット受信制御装置において、前記セション管理部は、前記通信アプリケーションが通信を終了すると、前記通信アプリケーションが使用していたパケットの種類を示す情報を出力するものであり、前記フィルタルール設定部は、前記通信アプリケーションが使用していたパケットの種類を、破棄すべきパケットの種類として決定するものである。
これによると、通信アプリケーションによる通信が終了し、受信する必要が無くなった受信パケットを受信した場合には、これを破棄することが可能となる。
請求項45の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、前記プロセッサが過負荷状態であることを示す検出結果を所定の時間内に再び受け取ると、より多くの種類のパケットを破棄するように、前記第2のフィルタルールセットを変更するものである。
これによると、第2のフィルタルールを格納した後、再びプロセッサが過負荷となった場合には、前回よりも多くのパケットの種類を破棄するので、プロセッサの負荷を低減することが可能となる。
請求項46の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、前記プロセッサが過負荷状態であることを示す検出結果を所定の時間内に再び受け取ると、前回用いた前記頻度情報に基づいて破棄すべきパケットの種類を決定するものである。
これによると、第2のフィルタルールを格納した後、再びプロセッサが過負荷となった場合には、メモリ上の受信パケットを再び走査する処理を省くことが可能となる。
請求項47の発明では、請求項40に記載のパケット受信制御装置において、前記受信制御部は、閾値を格納する学習結果格納部を更に備え、前記フィルタルール設定部は、前記頻度情報に基づいて破棄すべきパケットの種類を決定する際に、前記学習結果格納部に格納された閾値を用いて前記第2のフィルタルールセットを求めるものであり、前記学習結果格納部は、前記プロセッサが過負荷状態であることを示す検出結果を受け取る間隔に応じて、格納する閾値を変更するものである。
これによると、使用形態に応じて適切に、破棄すべきパケットの種類を決定することが可能となる。
請求項48の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、前記頻度情報に基づいて、受信パケットの種類のうち、受信頻度が大きいものから順に所定の数の種類を選択し、前記破棄すべきパケットの種類として決定するものである。
これによると、受信頻度が大きいパケットの種類を優先的に破棄することにより、効果的にプロセッサの負荷を下げることが可能となる。
請求項49の発明では、請求項40に記載のパケット受信制御装置において、前記受信制御部は、前記メモリ内に格納可能な受信パケットの数を保持するキュー管理部を更に備え、前記フィルタルール設定部は、前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、前記キュー管理部に保持された前記メモリに格納可能な受信パケットの数を増加させるものである。
これによると、メモリに格納する受信パケットの数が増加するので、破棄すべき受信パケットの種類を決定する際の精度が向上する。
請求項50の発明では、請求項40に記載のパケット受信制御装置において、前記受信パケット転送部は、受信パケットの少なくともヘッダ情報を前記メモリに格納させるものであり、前記パケット解析部は、前記メモリに格納されたヘッダ情報を走査して、前記頻度情報を求めるものである。
これによると、過去に受信したパケットのヘッダ情報に基づいて、破棄すべきパケットの種類を決定することが可能となる。
請求項51の発明では、請求項40に記載のパケット受信制御装置において、前記フィルタルール設定部は、全てのパケットが廃棄されるように、前記第1のフィルタルールセットを設定するものである。
これによると、プロセッサが過負荷となった場合に一旦全てのパケットを破棄することにより、パケットの受信に要する処理負荷が軽減されるので、破棄すべきパケットを特定する処理を確実に実行することが可能となる。
請求項52の発明では、請求項1に記載のパケット受信制御装置において、前記パケットは、イーサネットのMACフレームであることを特徴とする。
請求項53の発明は、半導体集積回路として、請求項1に記載のパケット受信制御装置と、前記パケット受信制御装置における判断の結果に従って、パケットを受信するプロセッサとを備えるものである。
請求項54の発明は、受信パケットをメモリに格納させてからプロセッサに出力するパケット受信制御方法であって、前記プロセッサが過負荷状態であるか否かを検出する負荷検出ステップと、前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、所定の種類のパケットを破棄すべきであることを示すフィルタルールを含む第1のフィルタルールセットを格納するステップと、前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを、前記メモリを介して前記プロセッサに出力するステップと、前記第1のフィルタルールセットに従って前記メモリに格納されたことがある受信パケットについての情報を走査し、これらの受信パケットの種類毎の受信頻度を示す頻度情報を求めるステップと、前記頻度情報に基づいて破棄すべきパケットの種類を決定するステップと、前記決定された破棄すべきパケットの種類を示すフィルタルールを含む第2のフィルタルールセットを前記第1のフィルタルールセットに代えて格納するステップとを備えるものである。
請求項55の発明では、請求項54に記載のパケット受信制御方法において、前記破棄すべきパケットの種類を決定するステップは、前記頻度情報に基づいて、受信頻度が所定の値を超えるパケットの種類を、破棄すべきパケットの種類として決定するものである。
請求項56の発明では、請求項54に記載のパケット受信制御方法において、前記破棄すべきパケットの種類を決定するステップは、決定するために用いられる閾値を、前記プロセッサが過負荷状態であることを示す検出結果が得られる間隔に応じて変更するものである。
請求項57の発明は、請求項54に記載のパケット受信制御方法において、前記プロセッサが過負荷状態であることを示す検出結果が得られると、前記メモリに格納可能な受信パケットの数を増加させるステップを更に備え、前記頻度情報を求めるステップは、前記メモリに格納された受信パケットを走査して、前記頻度情報を求めるものである。
請求項58の発明では、請求項54に記載のパケット受信制御方法において、前記頻度情報を求めるステップは、前記メモリに格納されたことがある受信パケットのヘッダ情報を走査して、前記頻度情報を求めるものである。
本発明によると、パケットを受信する装置の過負荷状態を改善することができるので、短期間に多くのパケットが到来する場合であっても、その装置がパケット受信以外の処理をリアルタイムで行うことができるようになる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るパケット通信システムのブロック図である。図1のパケット通信システムは、メモリ8と、半導体集積回路10とを備えている。半導体集積回路10は、通信部2と、プロセッサ4と、パケット受信制御装置100とを備えている。プロセッサ4は、例えばCPUやDSP(digital signal processor)である。
通信部2は、ネットワークとの間でパケットを送受信し、受信したパケットをパケット受信制御装置100に出力する。また、通信部2は、必要に応じて、バス6を介してプロセッサ4及びメモリ8との間でパケット等の転送を行う。
パケット受信制御装置100は、通信部2から受け取ったパケットを、バス6を介してメモリ8に出力する。プロセッサ4は、メモリ8からパケットを読み出す。パケット受信制御装置100は、プロセッサ4の状態に応じて、このような通信部2からプロセッサ4へのパケットの転送を制御する。
図2は、図1のパケット受信制御装置の構成を示すブロック図である。図2のパケット受信制御装置100は、負荷検出部20と、受信制御部としての受信パケットフィルタ40と、受信パケット転送部60とを備えている。
負荷検出部20は、タイマカウンタ22と、監視部24と、予定値レジスタ26と、負荷算出部28とを備えている。受信パケットフィルタ40は、フィルタルール設定部42と、統計取得部44と、ヘッダ分類部46と、破棄フィルタテーブル格納部52と、通過フィルタテーブル格納部54と、破棄/通過決定部56と、破棄数計測部58とを備えている。受信パケット転送部60は、受信パケットバッファ62を備えている。
プロセッサ4は、監視部24にアクセスするタスクを実行する。このタスクは、プロセッサ4において、マルチタスクOS上で周期的に起動される。予定値レジスタ26には、この周期的に起動されるタスクの周期を、タイマカウンタ22のカウントアップの時間間隔を単位として表した値が、予定値として、あらかじめプロセッサ4から設定されている。
タイマカウンタ22は、クロックに従ってインクリメントするカウンタであり、起動時に値が0にクリアされる。タイマカウンタ22は、カウント値が予定値レジスタ26の値の2倍に達すると、カウントを停止する。
プロセッサ4からのアクセスがあると、監視部24は、タイマカウンタ22のカウント値を読み出して負荷算出部28に出力し、タイマカウンタ22を再起動する。負荷算出部28は、入力されたカウント値と予定値レジスタ26から読み出した予定値とに基づいて、処理負荷量を検出し、フィルタルール設定部42に出力する。処理負荷量は、プロセッサ4の負荷の程度に応じた値となる。
具体的には、負荷算出部28は、入力されたカウント値から予定値を減じ、これを予定値で割って得られた値を、処理負荷量として求める。ただし、入力されたカウント値が予定値を越えていない場合には、処理負荷量は0%とする。処理負荷量は、プロセッサ4の負荷を表す値であって、プロセッサ4に処理負荷がない場合や、プロセッサ4の処理能力に余裕がある場合には、0%となり、プロセッサ4の処理能力が足りない場合には、正の値となる。
図3は、図1のパケット通信システムが受信するパケットのフォーマットを示す説明図である。図3のパケットは、イーサネットのMAC(media access control)フレームであって、ヘッダ(MACヘッダ)とその他の部分とを有している。ヘッダは、宛先アドレスと、送信元アドレスと、プロトコルを示す値とを含んでいる。以下、本明細書においては、受信パケットはMACフレームであるとする。
受信パケット転送部60は、通信部2から受信パケットを受け取り、これの少なくとも一部を受信パケットバッファ62に蓄え、受信パケットフィルタ40の破棄/通過決定部56から指示を受ける。受信パケット転送部60は、パケットを通過させるように指示された場合には、プロセッサ4にパケットを受信したことの通知INFを行ってメモリ8に受信パケットを出力し、パケットを破棄するように指示された場合には、受信パケットバッファ62をクリアして受信パケットを出力しない。また、受信パケット転送部60は、受信パケットの少なくともヘッダを取り出して、ヘッダ分類部46に出力する。なお、パケットを通過させる場合には、パケットを受信したことの通知INFに従って、プロセッサ4がパケットを受信パケットバッファ62から読み出すようにしてもよい。
ヘッダ分類部46は、受け取ったヘッダを解析して、宛先アドレスとプロトコル値とを取り出し、統計取得部44及び破棄/通過決定部56に出力する。
通過フィルタテーブル格納部54は、通過フィルタテーブルを格納している。通過フィルタテーブルには、状況に拘わらず通過させるべきパケットの、宛先アドレスとプロトコルとの組合せが、必要に応じた数だけ、プロセッサ4からフィルタルール設定部42を介してフィルタルールとして設定されている。
破棄フィルタテーブル格納部52は、破棄フィルタテーブルを格納している。破棄フィルタテーブルには、その時点で破棄すべきパケットの、宛先アドレスとプロトコル値との組合せが、必要に応じた数だけ、フィルタルール設定部42からフィルタルールとして設定されている。通常、このような組合せは、ある範囲の値が該当するように設定されたり、通過させたいパケットに対する値を論理反転して記述されることが多い。特別なケースでは、破棄フィルタテーブル格納部52には、全ての宛先アドレスとプロトコル値が一致する特殊値、或いは、特定の種別の宛先アドレス値が一致する特殊値が設定されることがある。
破棄/通過決定部56は、受け取った宛先アドレスとプロトコル値との組合せを、まず、通過フィルタテーブル格納部54に設定された組合せと比較する。比較した結果、一致するものがあると判定した場合には、破棄/通過決定部56は、受信パケット転送部60に対して、パケットを通過させるように指示する。
比較した結果、一致するものがないと判定した場合には、破棄/通過決定部56は、受け取った宛先アドレスとプロトコル値との組合せを、破棄フィルタテーブル格納部52に設定された組合せと比較する。破棄/通過決定部56は、一致するものがないと判定した場合には、パケットを通過させるように、受信パケット転送部60に対して指示し、一致するものがあると判定した場合には、パケットを破棄するように、受信パケット転送部60に対して指示する。
廃棄数計測部58は、破棄/通過決定部56が破棄するように指示した単位時間当たりの回数を計測し、この計測された単位時間当たりの破棄回数をフィルタルール設定部42に出力する。
統計取得部44は、ヘッダ分類部46から与えられた宛先アドレスとプロトコル値との組合せを分類して、単位時間当たりの発生数や発生割合を統計テーブルとして求める。図4は、統計テーブルの一例を示す図である。
フィルタルール設定部42は、負荷算出部28から出力された処理負荷量に応じて、破棄フィルタテーブル格納部52に設定する値を変更する。フィルタルール設定部42は、処理負荷量が例えば+50%を示している場合には、統計テーブルを参照し、発生割合が多いものから順に、処理負荷量の値(50%)を上回るように分類を選択し、選択された分類に相当するフィルタルールを破棄フィルタテーブルに設定する。
図5は、破棄フィルタテーブルの一例を示す図である。図5は、図4の統計テーブルにおいて、フィルタルール設定部42が汎用のマルチキャストと非IPユニキャストとを選択した場合について示している。破棄/通過決定部56は、図5の破棄フィルタテーブルにおいて、負論理と記載された行の条件を全て満たさず、かつ、正論理と記載された行の条件のいずれかを満たすパケットについて、「一致する」と解釈し、このようなパケットを破棄するように指示する。
更に、フィルタルール設定部42は、処理負荷量が以前の測定値から減少した際には、破棄数計測部58により計測された単位時間当たりの破棄回数を参照する。フィルタルール設定部42は、単位時間当たりの破棄回数が、あらかじめ定められた閾値以上である場合には、破棄フィルタテーブルの設定を変更せず、閾値以下である場合には、破棄フィルタテーブルの内容を更新する。破棄フィルタテーブルの更新は、既に説明したように、処理負荷量に応じて行われる。
以上のように、図2のパケット受信制御装置100は、負荷検出部20が検出した処理負荷量に応じて破棄フィルタテーブルの内容を設定するので、処理負荷量の変化に合わせて適切なフィルタルールを動的に選択することができる。
また、受信パケットの統計的性質に合わせて、負荷を与えている受信パケットに絞ったフィルタルールを得ることができる。
また、機器の動作において重要な受信パケットは、たとえその処理負荷が大きくとも、フィルタルールの対象からはずすことができる。
また、処理負荷量の減少とフィルタで破棄される受信パケットの減少とを確認してから、破棄フィルタテーブルの設定を変更するので、過負荷が発生している場合には、過負荷状態のフィルタの設定を維持できる。
また、マルチタスクOS上のタスクにおける処理負荷量を、プロセッサやプログラムの性質によらずに簡易に数値化して取り扱うことができる。
なお、本実施の形態では、図4のように、受信するパケットの種類を統計的に測定した結果である統計テーブルに基づいて、破棄されるべきパケットの種類を、その割合が大きい種類のパケットから順に選択したが、他の順に選択するようにしてもよい。つまり、処理負荷量の増大に従ってより多くの受信パケットが適合するように、破棄フィルタテーブルの内容が設定されるようにすればよく、パケット受信制御装置の本来の効果を同様に得ることができる。また、選択の際、パケットの重要度や必要性を考慮にいれてもよい。例えば、重要ではないものから順に選択するようにしてもよい。
また、処理負荷量が一定値を上回れば、破棄フィルタテーブルに特別な内容を設定するようにしてもよい。例えば、処理負荷量が80%を超えた場合には、全てのマルチキャストパケットとブロードキャストパケットとを破棄するように設定し、90%を越えた場合には、全受信パケットを破棄するように設定するようにしてもよい。これによって、特にプロセッサの処理が重くなった場合に、速やかに、受信パケットを処理する負荷からプロセッサを解放することが可能となる。
また、本実施の形態では、処理負荷量が減少した際に、破棄数計測部58の計測値を参照することとしたが、代わりに、処理負荷量が減少してから一定の期間、破棄フィルタテーブルの設定を変更せずに維持するようにしてもよい。すると、プロセッサの処理負荷量の変動に過敏に反応することを防止できる。
(第2の実施形態)
図6は、本発明の第2の実施形態に係るパケット受信制御装置のブロック図である。図6のパケット受信制御装置200は、負荷検出部220と、受信制御部としての受信通知部270とを備えている。パケット受信制御装置200は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。
負荷検出部220は、タイマカウンタ222と、監視部224と、負荷算出部228とを備えている。受信通知部270は、上限値レジスタ272と、受信通知停止制御部274と、カウンタ276とを備えている。
プロセッサ4は、監視部224にアクセスするタスクを実行する。このタスクは、プロセッサ4において、マルチタスクOS上で周期的に起動される。タスクの周期は、タイマカウンタ222のタイムアウト時間よりも短い時間が設定される。タイムアウト時間は、タイマカウンタ222がカウントを開始してから、クリアされることなくタイムアウト信号を出力するまでの時間である。
タイマカウンタ222は、クロックをカウントしており、カウント値が所定値(タイムアウト値)に達した場合には、タイムアウト信号を負荷算出部228に出力し、初期値からカウントを再開する。このタイムアウト値は、タイムアウト時間が単位時間より短い時間になるような値であって、プロセッサ4から設定可能であってもよい。
監視部224は、プロセッサ4からのアクセスがあると、クリア信号を生成して、タイマカウンタ222に出力する。タイマカウンタ222は、クリア信号を受け取ると、クリアされ、再び初期値からクロックのカウントを開始する。
負荷算出部228は、タイマカウンタ222からのタイムアウト信号の単位時間当たりの発生回数を計測し、得られた計測値を、処理負荷量として出力する。処理負荷量は、プロセッサ4の負荷を表す値であって、プロセッサ4に処理すべき負荷がない場合や、プロセッサ4の処理能力に余裕がある場合には、0となり、プロセッサ4の処理能力が足りない場合には、正の値となる。処理負荷量は、プロセッサ4の負荷が大きいほど大きな値となる。処理負荷量の最大値は、単位時間をタイムアウト時間で除した値である。負荷算出部228は、得られた計測値に対して演算を行った結果を、処理負荷量として出力してもよい。
通信部2は、ネットワークからパケットを受信すると、受信関連のイベント信号EVRを発生し、受信通知停止制御部274及びカウンタ276に出力する。通信部2は、パケットを正常に受信した場合だけではなく、誤ったパケットを受信したり、通信部2でオーバフローが生じた場合等にも、イベント信号EVRを発生させる。イベント信号EVRは、イベントの要因の通知も含み得る。
カウンタ276は、受信関連のイベント信号EVRの単位時間当たりの発生回数をカウントし、カウント値を受信通知停止制御部274に出力する。このカウント値は、イベント信号EVRの発生頻度を表す。
受信通知停止制御部274は、受信関連のイベント信号EVRを受け取ると、プロセッサ4が停止されていなければ、基本的には、受信系通知信号INTRによってプロセッサ4に通知する処理を行う。受信系通知信号INTRは、プロセッサ4に対する割込み信号である。ここで、必要であれば、プロセッサ4から確認できるように、受信通知停止制御部274は、その通知の要因を記録する。通知を受けたプロセッサ4は割込み処理プログラムを起動し、割込み処理プログラムでは通知の要因を解析して、必要であれば通信部2から受信パケットのデータをメモリ8に転送させる。
上限値レジスタ272には、上限値がプロセッサ4から設定されている。受信通知停止制御部274は、負荷検出部220から出力される処理負荷量と上限値レジスタ272に設定された上限値とを比較し、処理負荷量が上限値を上回っている場合には、受信系通知信号INTRによるプロセッサ4への通知を停止する。
更に、受信通知停止制御部274は、負荷検出部220から出力される処理負荷量が上限値を上回っている状態から下回った状態に変化したことを検出した場合には、カウンタ276のカウント値があらかじめ定められた閾値以下であれば、受信系通知信号INTRによるプロセッサ4への通知の停止を解除し、カウント値が閾値を越えていれば、通知の停止を維持する。
以上のように、図6のパケット受信制御装置200は、処理負荷量が上限値を超えた際には、受信パケットに関わる通知を要因とする割込みの発生を禁止することにより、プロセッサの能力を、過大な割込み処理と受信処理から保全することができる。特に、通信部2からの受信エラーに関わる通知による負荷からもプロセッサ能力を保全することができる。
また、過負荷が発生している場合には、割込み信号による通知を停止する設定を維持でき、その後、イベント信号EVRの発生頻度が減少したことを確認してから、自動で通常の状態に復旧することができる。
また、単位時間内におけるタイムアウトの発生頻度から処理負荷量を算出するので、単位時間内で平均化された処理負荷量を用いて安定した判定を行うことができる。
なお、本実施の形態における受信通知停止制御部274は、イベント信号EVRの発生頻度があらかじめ定められた閾値以下であることを確認してから、プロセッサ4に対する通知を停止する設定を解除するとして説明したが、通知停止の状態になったときから一定時間後に設定を解除するようにしてもよい。この場合には、パケット受信制御装置の過敏な反応を防止しつつ、自動的に通常の状態に復旧することができる。
また、本実施の形態における負荷算出部228は、単位時間当たりのタイムアウト回数を計測しているが、その代わりに、単位時間内に発生するタイムアウト信号の連続数の最大値を計測するものであってもよい。この場合には、最近の単位時間内での瞬間的な最大の処理負荷量が測定され、単位時間内の最も負荷が大きいときについて、過負荷であるか否かを判定することが可能になる。
また、本実施の形態におけるタイマカウンタ222のタイムアウト値は常に一定であったが、これをタイムアウトの度、又はクリアする度に変更してもよい。タイムアウトの度にタイムアウト値を大きくし、クリアの度にタイムアウト値を小さくすると、連続したタイムアウト信号の数を、処理負荷量の変動に速やかに追従する値として、負荷算出部228で用いることができる。
また、受信通知部270が、プロセッサ4に対する受信系通知信号INTRを生成するものとして説明したが、これに代えて、通信部が受信系通知信号INTRを生成し、受信通知部が通信部を操作して、受信系通知信号INTRの発生を停止させるようにしてもよい。
また、図6の負荷検出部220に代えて図2の負荷検出部20を用いるようにしてもよく、第1の実施形態において、負荷検出部20に代えて負荷検出部220を用いるようにしてもよい。
(第3の実施形態)
図7は、本発明の第3の実施形態に係るパケット受信制御装置のブロック図である。図7のパケット受信制御装置300は、負荷検出部320と、過負荷対策部330と、受信制御部としての受信パケットフィルタ340と、受信パケット転送部360とを備えている。パケット受信制御装置300は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。
負荷検出部320は、タイマカウンタ322と、監視部324とを備えている。過負荷対策部330は、過負荷制御部332と、カウンタ334と、破棄数計測部336とを備えている。受信パケットフィルタ340は、フィルタルール設定部342と、統計取得部344と、ヘッダ分類部346と、破棄フィルタテーブル格納部352と、通過フィルタテーブル格納部354と、破棄/通過決定部356とを備えている。
受信パケット転送部360は、受信パケットバッファ362を備え、次の点以外は、図2の受信パケット転送部60とほぼ同様である。すなわち、受信パケット転送部360は、受信に起因して発生するイベントを、受信系通知信号INTRとしてプロセッサ4に通知する。受信系通知信号INTRは、プロセッサ4に対する割込み信号である。これと同時に、受信パケット転送部360は、イベントの種類を記憶して、プロセッサ4からのアクセスが可能となるようにする。
監視部324は、プロセッサ4からのアクセスを受けると、クリア信号を生成してタイマカウンタ322に出力する。タイマカウンタ322は、クロックをカウントしており、クリア信号を受け取ると、クリアされ、再び初期値からクロックのカウントを開始する。
タイマカウンタ322は、カウント値が一定値に達すると、タイムアウト信号を過負荷通知として過負荷制御部332に出力して停止するように動作している。この一定値はプロセッサ4から設定可能であってもよく、固定値であってもよい。
プロセッサ4は、監視部324にアクセスするタスクを実行する。このタスクは、プロセッサ4において、マルチタスクOS上で周期的に起動される。タスクが起動される周期は、タイマカウンタ322のタイムアウト時間より小さくなるように設定される。この周期とタイムアウト時間との比率を調整することによって、タスクの起動間隔の変動を検出する際の鋭敏さを変更でき、過負荷検出の感度を変更することができる。
統計取得部344、ヘッダ分類部346、及び破棄/通過決定部356は、それぞれ図2の統計取得部44、ヘッダ分類部46、及び破棄/通過決定部56とほぼ同様であるので、その説明を省略する。
破棄フィルタテーブル格納部352は、破棄フィルタテーブルを格納し、通過フィルタテーブル格納部354は、通過フィルタテーブルを格納している。
フィルタルール設定部342は、プロセッサ4又は過負荷制御部332からの指示に従って、通過フィルタテーブル格納部354が格納する通過フィルタテーブル、及び破棄フィルタテーブル格納部352が格納する破棄フィルタテーブルの内容を設定する。このときに設定されるフィルタルールは、通常時用のフィルタルールである。
カウンタ334は、受信系通知信号INTRの単位時間当たりの発生頻度を計測し、得られた計測値を過負荷制御部332に出力している。
負荷検出部320から過負荷通知を受けると、過負荷制御部332は、カウンタ334の計測値を参照する。計測値があらかじめ定められた閾値以上であれば、過負荷制御部332は、通知された過負荷がパケット受信時の割込みに関連して発生したものとみなし、破棄フィルタテーブルに過負荷時用のフィルタルールを設定する。すなわち、過負荷制御部332は、フィルタルール設定部342を介して、破棄フィルタテーブルの内容を、全ての受信パケットが適合する特殊値に設定する。
廃棄数計測部336は、破棄/通過決定部356が破棄を指示した回数を単位時間当たりの値として計測しており、得られた計測値を過負荷制御部332に出力する。過負荷制御部332は、この計測値があらかじめ定められた閾値以上である間は過負荷状態であるとして、破棄フィルタテーブルの内容の設定を維持する。ただし、破棄フィルタテーブルの内容を変更した場合には、過負荷制御部332は、変更後に破棄数計測部336によって計測された結果を用いる。
過負荷制御部332は、破棄数計測部336の計測値があらかじめ定められた閾値未満であれば、破棄フィルタテーブルの内容を元の設定値(通常時のフィルタルール)に戻す。元の設定値は、過負荷制御部332が保存していてもよいし、受信パケットフィルタ340が保存していてもよい。
図8は、複数のタスクについてのスケジュール優先度の例を示す説明図である。プロセッサ4上では、マルチタスクOSを用いることによって種々のソフトウェアがタスクとして動作している。それぞれのタスクにはスケジュール優先度がつけられており、マルチタスクOSは、起動可能なタスクのうち、スケジュール優先度の高いタスクから順に起動する。図8においては、タスクのスケジュール優先度が高いほど、小さい値が示されている。
監視部324にアクセスするタスクのスケジュール優先度は、処理負荷量として計測の対象となるタスク群の優先度よりも低く設定しなければならない。一方、処理負荷量として計測の対象としないタスクの優先度よりは高く設定する必要がある。
図8におけるデータ通信用アプリタスク、及び非通信データ処理アプリタスクは、リアルタイム性を必要としないタスクである。図8において、これらのタスクは、監視部324にアクセスするタスクよりもスケジュール優先度が低いので、処理負荷量として計測の対象にはされていない。このように、リアルタイム性が必要とされないタスクの処理を犠牲にすることによって、それ以外のタスクの処理が可能な場合には、たとえ全体としてはプロセッサの処理能力を最大限使用していても、パケット受信制御装置300は、プロセッサが過負荷になったとは判定しない。
以上のように、本実施形態のパケット受信制御装置は、パケットを受信したことによるプロセッサへの過負荷発生を簡易に検知し、フィルタルール情報を過負荷時用のものに速やかに切り替えることができる。また、過負荷時には全ての受信パケットを破棄することによって、直接的に処理負荷を最小に抑えることができる。一方、機器の動作において重要な受信パケットは、たとえその処理負荷が大きくとも、フィルタの対象からはずすことができる。
また、フィルタでパケット破棄量が一定の閾値を下回ることを確認してから、過負荷時用のフィルタ設定を解除するので、過負荷が発生している状態においては過負荷時用のフィルタ設定を維持できる。
また、タイムアウト値や監視タスクの起動周期を変更することによって、タイムアウト時間と監視タスクの起動周期との比を変更し、過負荷状態を検知する感度を調整することが可能になる。
また、負荷検出部は、マルチタスクOS上のタスクのうち、パケット受信及びリアルタイムアプリケーションタスクに対象を絞って、プロセッサの過負荷状態を検知することができる。
なお、本実施形態においては、過負荷時には破棄フィルタテーブルに全てのパケットが適合するフィルタルールを設定することとしたが、受信パケットを分類して、受信頻度が大きいものだけが適合するようなフィルタルールを設定するようにしてもよい。
また、本実施形態では、過負荷制御部332は、単位時間当たりのパケットの破棄数が減少したことを確認してから、破棄フィルタテーブルの設定を元に戻すこととしたが、これに代えて、一定時間後に破棄フィルタテーブルの設定を元に戻すようにしてもよい。
(第4の実施形態)
図9は、本発明の第4の実施形態に係るパケット受信制御装置のブロック図である。図9のパケット受信制御装置400は、負荷検出部320と、受信制御部としての受信通知部470とを備えている。パケット受信制御装置400は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。受信通知部470は、受信通知停止制御部474と、カウンタ476とを備えている。負荷検出部320は、第3の実施形態において説明したものと同様であるので、その説明を省略する。
カウンタ476は、第2の実施形態において説明した、受信関連のイベント信号EVRの単位時間当たりの発生回数をカウントし、カウント値を受信通知停止制御部474に出力する。
受信通知停止制御部474は、受信関連のイベント信号EVRを受け取ると、プロセッサ4が停止されていなければ、基本的には、受信系通知信号INTRによってプロセッサ4に通知する処理を行う。受信系通知信号INTRは、プロセッサ4に対する割込み信号である。ここで、必要であれば、プロセッサ4から確認できるように、受信通知停止制御部474は、その通知の要因を記録する。通知を受けたプロセッサ4は割込み処理プログラムを起動し、割込み処理プログラムでは通知の要因を解析して、必要であれば通信部2から受信パケットのデータをメモリ8に転送させる。
受信通知停止制御部474は、タイマカウンタ322から過負荷通知を受け取ると、カウンタ476のカウント値と所定の上限値とを比較する。カウント値が所定の上限値以上である場合には、受信通知停止制御部474は、受信系通知信号INTRによるプロセッサ4への通知を停止する。
更に、受信通知停止制御部474は、タイマカウンタ322からの過負荷通知が停止すると、カウンタ476のカウント値と所定の下限値とを比較する。受信通知停止制御部474は、カウント値が所定の下限値未満であれば、受信系通知信号INTRによるプロセッサ4への通知の停止を解除し、カウント値が下限値以上であれば、通知の停止を維持する。このとき用いられる下限値は、過負荷通知を受け取ったときに比較される上限値と同じ値であってもよいし、違う値であってもよい。
以上のように、本実施形態のパケット受信制御装置400は、過負荷状態を簡易に検知し、受信パケットに関する通知を要因とする割込みの発生を禁止することにより、プロセッサの能力を過大な割込み処理と受信処理から保全することができる。特に、通信部からの受信エラーに関する通知による負荷からも、プロセッサ能力を保全することができる。
また、過負荷状態においては、受信系通知信号INTRによるプロセッサ4への通知を停止する設定を維持でき、その後通知数が減少したことを確認してから、自動的に通常の状態、すなわち、通知を行う設定に戻すことができる。
なお、本実施形態における受信通知停止制御部474は、イベント信号EVRの単位時間当たりの発生回数(カウンタ476のカウント値)があらかじめ定められた閾値未満であることを確認して通知停止の設定を解除するものであったが、これは、通知停止の状態になったときから一定時間後に設定を解除するものであってもよい。この場合には、過負荷遮断装置の過敏な反応を防止しつつ、自動的に通常の状態に復旧することができる。
なお、受信通知部470が、プロセッサ4に対する受信系通知信号INTRを生成するものとして説明したが、これに代えて、通信部が受信系通知信号INTRを生成し、受信通知部が通信部を操作して、受信系通知信号INTRの発生を停止させるようにしてもよい。
(第5の実施形態)
図10は、本発明の第5の実施形態に係るパケット受信制御装置のブロック図である。図10のパケット受信制御装置500は、負荷検出部320と、受信制御部としての受信通知部570と、ウォッチドッグタイマ582と、タイマ値評価部584とを備えている。パケット受信制御装置500は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。受信通知部570は、受信通知停止制御部574と、カウンタ476とを備えている。負荷検出部320は、第3の実施形態において説明したものと同様であるので、その説明を省略する。
ウォッチドッグタイマ582は、クロックをカウントしており、カウント値が一定値に達すると、プロセッサ4に対して初期化信号INITを発生して停止する。この一定値はプロセッサ4から設定可能であってもよいし、固定値であってもよい。プロセッサ4は、初期化信号INITを受けると、プロセッサ4自身及びシステムの初期化動作を行う。カウント値が一定値に達する前にプロセッサ4からのアクセスがあると、ウォッチドッグタイマ582は、クリアされ、再び初期値からクロックのカウントを開始する。
プロセッサ4は、マルチタスクOS上で周期的に起動するタスクにウォッチドッグタイマ582へのアクセスを行わせる。タスクの周期時間はウォッチドッグタイマ582がタイムアウトするより小さく設定される。このタスクは、「ウォッチドック監視タスク」として図8に図示されているものである。そのスケジュール優先度は、他のタスクよりは高いが、割込み処理(スケジュール対象のタスクではない)よりは低い。
タイマ値評価部584は、ウォッチドッグタイマ582のカウント値を読み出し、ウォッチドッグタイマ582がタイムアウトするカウント値までの残値が所定の閾値以下であるか否かを評価する。閾値以下であれば、タイマ値評価部584は、受信通知停止制御部574に対して、割込み信号である受信系通知信号INTRによるプロセッサ4への通知を停止するように指示をする。受信通知停止制御部574は、この指示を受けると、受信系通知信号INTRによるプロセッサ4への通知を停止する。
カウンタ476は、図9を参照して説明したものと同様であって、受信系通知信号INTRによる通知の停止の解除については、第4の実施形態と同様である。
なお、タイマ値評価部584を備えず、その処理をプロセッサ4が行うようにしてもよい。この場合、プロセッサ4は、受信通知停止制御部574から受信系通知信号INTRを受けると、受信割込み処理プログラムを起動させ、このプログラムを実行することにより、タイマ値評価部584と同様の処理を行う。
以上のように、本実施形態のパケット受信制御装置500によると、パケットの受信に起因する割込みが、ウォッチドッグタイマによる正常な監視動作を阻害している場合には、パケットの受信に起因する受信系通知信号INTRの発生を差し止めることができる。これにより、割込み信号が頻繁に発生する場合に、プロセッサの処理能力に余裕がなくなり、ウォッチドッグタイマをクリアするタスクをプロセッサが行うことすらできなくなり、ウォッチドッグタイマが初期化信号を発生してしまう事態を回避することができる。
(第6の実施形態)
図11は、本発明の第6の実施形態に係るパケット受信制御装置のブロック図である。図11のパケット受信制御装置600は、負荷検出部620と、受信制御部640と、受信パケット転送部660と、パケット解析部670とを備えている。パケット受信制御装置600は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。
受信制御部640は、フィルタルール設定部642と、セション管理部644と、ヘッダ分類部646と、破棄フィルタテーブル格納部652と、破棄/通過決定部656とを備えている。受信パケット転送部660は、受信パケットバッファ662を備えている。パケット解析部670は、頻度計測部672と、パケット走査部674とを備えている。
負荷検出部620は、プロセッサ4の負荷を検出して、その結果をフィルタルール設定部642に出力する。負荷検出部620は、プロセッサ4が過負荷状態であるか否かを検出するものであればよく、例えば、図2、図6、図7をそれぞれ参照して説明した負荷検出部20,220,320等と同様のものである。
受信パケット転送部660は、通信部2から受信パケットを受け取り、これの少なくとも一部を受信パケットバッファ662に蓄え、受信制御部640の破棄/通過決定部656から指示を受ける。受信パケット転送部660は、パケットを通過させるように指示された場合には、受信パケットをメモリ8に出力して格納させ、プロセッサ4に出力できるようにし、パケットを破棄するように指示された場合には、受信パケットバッファ662をクリアして受信パケットを出力しない。また、受信パケット転送部660は、受信パケットの少なくともヘッダを取り出して、ヘッダ分類部646に出力する。
メモリ8は、受け取ったパケットを受信キューとして格納する。プロセッサ4は、メモリ8の受信キューから受信パケットを読み出す。
ヘッダ分類部646は、受け取ったヘッダを解析して、宛先アドレスとプロトコル値とを取り出し、破棄/通過決定部656に出力する。破棄フィルタテーブル格納部652は、図2の破棄フィルタテーブル格納部52と同様に、破棄フィルタテーブルを格納する。
破棄/通過決定部656は、受け取った宛先アドレスとプロトコル値との組み合わせを、破棄フィルタテーブル格納部652に設定された組み合わせと比較する。破棄/通過決定部656は、設定された組み合わせの中に、受け取った組み合わせと一致するものがないと判断した場合には、パケットを通過させるように、受信パケット転送部660に対して指示し、一致するものがあると判断した場合には、パケットを破棄するように、受信パケット転送部660に対して指示する。
セション管理部644は、プロセッサ4からの通知を受け、プロセッサ4が実行している1つ以上の通信アプリケーションが使用するパケットの種類と、その通信アプリケーションの識別子との組をセション管理表として保持する。また、セション管理部644は、通信アプリケーションが終了すると、その通信アプリケーションが通信に使用していたパケットの種類をセション管理表から削除する。また、セション管理部644は、通信アプリケーションによる通信セションが終了すると、その通信セションにおいて使用していたパケットの種類をセション管理表から削除する。更に、セション管理部644は、フィルタルール設定部642からの指示を受けると、通信アプリケーションが使用しているパケットの種類をフィルタルール設定部642に通知する。
フィルタルール設定部642は、負荷検出部620から、プロセッサ4が過負荷状態であることを示す出力を受け取ると、所定のフィルタルールを破棄フィルタテーブル格納部652に格納させる。また、フィルタルール設定部642は、パケット解析部670の頻度計測部672から出力された頻度情報と、セション管理部644から出力された、通信アプリケーションが使用しているパケットの種類とに応じて、新たなフィルタルールを生成し、破棄フィルタテーブル格納部652に格納させる。
頻度計測部672は、フィルタルール設定部642からの指示を受けると、メモリ8に格納された受信キュー内の受信パケットの宛先アドレスとプロトコル値との組を出力するように、パケット走査部674に指示する。更に頻度計測部672は、メモリ8に格納された受信キュー内の全ての受信パケットについて、宛先アドレスとプロトコル値との組をパケット走査部674から受け取ると、これらを分類して、受信パケットの種類毎の受信頻度を頻度情報としてフィルタルール設定部642に出力する。
パケット走査部674は、頻度計測部672からの指示を受けると、メモリ8に格納された受信キュー内の受信パケットのヘッダを走査して解析し、宛先アドレスとプロトコル値とを取り出し、頻度計測部672に出力する。
図12は、図11のパケット受信制御装置における動作の流れを示すフローチャートである。図12を参照して、図11のパケット受信制御装置の動作を説明する。
ステップS10では、負荷検出部620は、プロセッサ4が過負荷状態であるか否かを検出し、その結果を受信制御部640のフィルタルール設定部642に通知する。
ステップS20では、フィルタルール設定部642は、プロセッサ4が過負荷状態であるか否かを判定する。負荷検出部620から、プロセッサ4が過負荷状態であるとの通知を受けた場合には、ステップS30に進む。プロセッサ4が過負荷状態ではないとの通知を受けた場合は、処理を終了する。
図13は、第1のフィルタルールセットを格納した破棄フィルタテーブルの一例を示す図である。ステップS30では、フィルタルール設定部642は、過負荷状態用の第1のフィルタルールセットを生成し、これを第1のフィルタテーブルとして破棄フィルタテーブル格納部652に格納させる。ここでは、第1のフィルタルールセットとして、図13のように、全てのパケットを破棄すべきであることを示すフィルタルールを用いることとする。
ここで、破棄/通過決定部656の動作について説明する。破棄/通過決定部656は、図13の破棄フィルタテーブルにおいて、負論理と記載された行の条件を全て満たさず、かつ、正論理と記載された行の条件のいずれかを満たすパケットについて、「一致する」と解釈し、このようなパケットを破棄するように指示する。図13の場合、破棄/通過決定部656は全てのパケットを「一致する」と解釈するので、受信パケット転送部660に対して、全てのパケットを破棄するように指示する。
ステップS40では、フィルタルール設定部642は、頻度計測部672に対して、受信パケットの頻度情報を出力するよう指示する。頻度計測部672は、パケット走査部674に対して、各受信パケットについて宛先アドレスとプロトコルとの組を出力するよう指示する。パケット走査部674は、メモリ8の受信キューを走査し、格納されている全ての受信パケットについての宛先アドレスとプロトコルとの組を頻度計測部672に出力する。頻度計測部672は、パケット走査部674からの出力を分類し、得られた結果を頻度情報としてフィルタルール設定部642に出力する。頻度情報は、例えば図4のように得られる。
ステップS50は、破棄すべきパケットを決定するステップであって、破棄除外を決定するステップS52と、破棄を決定するステップS54とを有している。
図14は、セション管理表の一例を示す図である。ステップS52では、フィルタルール設定部642は、セション管理部644に、通信アプリケーションが使用中のパケットの種類を出力するよう指示する。セション管理部644は指示を受けると、例えば図14のようなセション管理表を出力する。プロセッサ4が2つの通信アプリケーションを実行しており、通信アプリケーションA1(識別子は1)がIPv4ユニキャストパケットを、通信アプリケーションA2(識別子は2)がIPv6ユニキャストパケットを使用していることを、図14のセション管理表は示している。
更に、フィルタルール設定部642は、所定のパケットの種類と、セション管理部644から出力されたパケットの種類を破棄フィルタルールの候補から取り除く。ここでは所定のパケットの種類の一例として、UPnP(IPv4)マルチキャストパケットを候補から取り除く。また、フィルタルール設定部642は、セション管理部644から出力されたセション管理表に基づいて、IPv4ユニキャストパケットとIPv6ユニキャストパケットとを、破棄フィルタルールの候補から取り除く。
ステップS54では、フィルタルール設定部642は、頻度計測部672から出力された頻度情報に基づき、受信頻度が所定の頻度を超えるパケットの種類を、破棄すべきパケットの種類として決定し、破棄フィルタルールを作成する。フィルタルール設定部642は、例えば、閾値を予め10%に設定して、頻度が全体の10%以上であるパケットの種類を破棄すべきパケットの種類として決定し、この種類のパケットを破棄するように破棄フィルタルールを作成する。この結果、フィルタルール設定部642は、UPnP(IPv6)マルチキャスト、非IPユニキャスト、及び汎用のマルチキャストのパケットを破棄すると決定し、そのための第2のフィルタルールセットを生成する。
ステップS60では、フィルタルール設定部642は、以上のようにして作成した第2のフィルタルールセットを、第1のフィルタルールセットに代えて、破棄フィルタテーブル格納部652に格納させる。
図15は、第2のフィルタルールセットを格納した破棄フィルタテーブルの一例を示す図である。破棄/通過決定部656は、図15の破棄フィルタテーブルにおいて、負論理と記載された行の条件を全て満たさず、かつ、正論理と記載された行の条件のいずれかを満たすパケットについて、「一致する」と解釈し、このようなパケットを破棄するように指示する。
次に、通信アプリケーションが通信を終了した場合の動作について説明する。通信アプリケーションが通信を終了すると、プロセッサ4は、セション管理部644に対して通信が終了したことを通知する。セション管理部644は、プロセッサ4からの通知を受けると、通知内容に基づき、セション管理表を更新すると共に、フィルタルール設定部642に対し、セション管理表を更新したことを通知する。一例として、通信アプリケーションA2が通信を終了した場合、図14のセション管理表は、通信アプリケーションA1が使用しているIPv4ユニキャストのみに更新される。
フィルタルール設定部642は、セション管理部644からの通知を受け取ると、図12のステップS52,S54,S60を順に実行する。以上を実行した結果、通信アプリケーションA2が通信を終了する前の破棄フィルタルールに加えて、新たにIPv6ユニキャストパケットも破棄すべきパケットの種類であると定め、これを破棄するようフィルタルールを設定する。この結果、破棄フィルタテーブルには、IPv6ユニキャスト、UPnP(IPv6)マルチキャスト、非IPユニキャスト、及び汎用のマルチキャストのパケットを破棄するようにフィルタルールが格納される。
このように、通信アプリケーションが通信を終了すると、パケット受信制御装置600は、その通信に用いていたパケットの種類を破棄するように破棄フィルタルールを設定する。
以上のように、図11のパケット受信制御装置600は、負荷検出部620がプロセッサ4の過負荷を検出すると、まず全ての種類のパケットを破棄すべきであることを示す第1のフィルタルールセットを設定し、次に受信キューに格納された受信パケットを解析して過負荷の原因となるパケットの種類を特定し、この種類のパケットを破棄すべきであることを示す第2のフィルタルールセットを、第1のフィルタルールセットに代えて設定する。これにより、プロセッサの過負荷を引き起こした種類のパケットを破棄しつつ、正常に受信しているパケットを引き続き受信し続けることが可能となる。
また通信アプリケーションが通信を終了すると、パケット受信制御装置600は、その通信に用いていた種類のパケットを破棄すべきであることを示すフィルタルールを設定する。これにより、通信の終了に伴い、受信が不要となった種類のパケットを破棄することが可能となる。
また、受信頻度が所定の値を超えている種類のパケットを破棄するので、効果的にプロセッサ4の負荷を低減することができる。
また、プロセッサ4が実行している通信アプリケーションが使用中のパケットの種類は、その処理負荷が大きい場合であっても、破棄すべきパケットを示すフィルタルールの対象からはずすことができる。
図16は、図11のパケット受信制御装置における動作の流れの他の例を示すフローチャートである。図16のステップS240,S250は、図11のステップS40,S50の代わりにそれぞれ実行される。
図16のステップS242では、フィルタルール設定部642は、負荷監視部620からプロセッサ4が過負荷状態であると通知された場合、前回の過負荷の通知から所定の時間以内であるか、所定の時間を越えているのかを判定する。所定の時間以内であった場合はステップS244へ進み、所定の時間を越えていた場合はステップS246へ進む。
ステップS244では、フィルタルール設定部642は、新たな頻度情報を出力するように指示せずに、頻度計測部672が前回出力した頻度情報を最新の頻度情報であるとみなす。頻度計測部672が例えば図4のような頻度情報を前回出力した場合には、フィルタルール設定部642は、再び図4に示す頻度情報を用いる。その後、ステップS52へ進む。
ステップS246では、フィルタルール設定部642は、頻度計測部672に対して、最新の頻度情報を通知するように指示する。頻度計測部672は、フィルタルール設定部642からの指示を受けると、パケット走査部674に各受信パケットの宛先アドレスとプロトコルの組を出力するように指示する。パケット走査部674は、頻度計測部672からの指示を受けると、メモリ8に格納されている受信キューの全ての受信パケットを走査し、各受信パケットについて、宛先アドレスとプロトコルの組を順に求めて頻度計測部672に出力する。
頻度計測部672は、パケット走査部674からの出力を分類し、頻度情報として格納する。頻度計測部672は、全ての受信パケットからの頻度情報が求められると、これをフィルタルール設定部642へ出力する。またフィルタルール設定部642は、頻度情報を受け取ると、これを保持するとともに、フラグを立てる。このフラグは、所定の時間以内に再びプロセッサ4の過負荷が検出されたことを示すフラグである。その後、ステップS52へ進む。
ステップS52は、図12を参照して説明したものと同じなので、説明を省略する。ステップS254は、図12のステップS54の代わりに実行される。
ステップS255では、フィルタルール設定部642は、前回の過負荷の通知から所定の時間以内であるか否かを判断する。すなわち、フラグがセットされているか否かを確認する。フラグがセットされている場合にはステップS256へ進み、フラグがセットされていない場合にはステップS257へ進む。
ステップS256では、フィルタルール設定部642は、より多くの種類のパケットを破棄するように、頻度情報に基づいて、破棄するパケットの種類を選択する際の基準である頻度の閾値を引き下げる。一例として、頻度の閾値を10%から5%に引き下げる。
ステップS257では、フィルタルール設定部642は、破棄すべきパケットの種類を決定する。すなわち、頻度情報に基づいて、所定の頻度を超える種類のパケットを破棄するように、フィルタルールを生成する。ステップS256において閾値を5%に引き下げた場合、UPnP(IPv4)マルチキャスト、UPnP(IPv6)マルチキャスト、非IPユニキャストに加え、新たにブロードキャストパケットも破棄するように決定し、これらを破棄するフィルタルールを生成する。
以上のように、フィルタルール設定部642は、所定の時間以内に再びプロセッサが過負荷状態となった場合には、頻度の閾値を引き下げて、より多くの種類のパケットを破棄するようにフィルタルールを生成する。
このように、図16の処理によると、プロセッサ4が過負荷状態であることが続く場合には、プロセッサ4の負荷を軽くするようにフィルタテーブルを設定することができる。
(第7の実施形態)
図17は、本発明の第7の実施形態に係るパケット受信制御装置のブロック図である。図17のパケット受信制御装置700は、図11のパケット受信制御装置600において、受信制御部640に代えて受信制御部740を備えたものである。受信制御部740は、図11の受信制御部640において、フィルタルール設定部642に代えてフィルタルール設定部742を備え、更に学習結果格納部748を備えたものである。その他の点については、図11のパケット受信制御装置と同様であるので、詳細な説明は省略する。パケット受信制御装置700は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。
学習結果格納部748は、タイマを有している。タイマは、過負荷状態が検出されたことを示す通知をフィルタルール設定部742から受け取る毎に、タイマ値を出力し、タイマ値が0にクリアされる。
図18は、図17のパケット受信制御装置における動作の流れの一部分を示すフローチャートである。図19は、図17のパケット受信制御装置における動作の流れの図18に続く部分を示すフローチャートである。図18及び図19のフローチャートは、図12のフローチャートにおいて、ステップS22,S370を更に備え、ステップS40,S50に代えてステップS240,S350をそれぞれ備えたものである。ステップS10,S30,S60は、図12を参照して説明したものと同様であるので、これらについての説明は省略する。
図18のステップS20において、負荷検出部620から、プロセッサ4が過負荷状態であることを通知された場合には、ステップS372に進み、通知されない場合にはステップS22に進む。
ステップS372では、学習結果格納部748は、前回、過負荷状態であることを通知されてからの時間が、所定の時間以内であるか否かを判断する。具体的には、学習結果格納部748は、閾値を格納しており、タイマ値をこの閾値と比較する。学習結果格納部748は、タイマ値が閾値よりも小さい場合には、ステップS374において、閾値を下げ、タイマ値が閾値と同じ又は閾値よりも大きい場合には、閾値を変更しない(ステップS375)。すなわち、所定の時間以内に再び過負荷状態が検出されると、より多くのパケットを破棄するように閾値を設定する。
ステップS22では、学習結果格納部748は、フィルタルール設定部742からの通知に基づいて、プロセッサ4が過負荷ではない状態が一定期間連続しているか否かを判断する。一定期間連続している場合にはステップS378に進み、一定期間連続していない場合には処理を終了する。ステップS378では、学習結果格納部748は、閾値を上げる。すなわち、過負荷ではない状態が一定期間連続している場合には、破棄対象となるパケットの種類を少なくする。ステップS376では、学習結果格納部748は、格納する閾値を新たな閾値に更新する。
図19のステップS240は、図16を参照して説明したものと同様である。なお、ステップS22で判定の際に用いられる一定期間は、ステップS242で判定の際に用いられる所定の時間よりも短くなければならない。その結果、以前に求められた頻度情報を再び用いて、破棄対象とするパケットの割合を変更することができる。
ステップS351では、フィルタルール設定部742は、学習結果格納部748から閾値を受け取る。この閾値は、図18を参照して説明したように、過負荷状態の検出間隔に基づいて、学習結果格納部748が学習して得た値である。学習結果格納部748は、例えば10%という値を閾値として出力するものとする。
ステップS352,S354における処理は、フィルタルール設定部742が、予め設定された閾値ではなく、学習結果格納部748から受け取った閾値を用いる点の他は、図12のステップS52,S54とほぼ同様であるので、説明を省略する。
以上のように、フィルタルール設定部742は、学習結果格納部748によって更新された閾値に基づいて破棄フィルタテーブルを設定するので、図17のパケット受信制御装置700によると、プロセッサ4の負荷の度合いやユーザの使用条件に応じて、適切な割合のパケットを破棄することができる。
(第8の実施形態)
図20は、本発明の第8の実施形態に係るパケット受信制御装置のブロック図である。図20のパケット受信制御装置800は、図11のパケット受信制御装置600において、受信制御部640及び受信パケット転送部660に代えて受信制御部840及び受信パケット転送部860をそれぞれ備え、キュー管理部882を更に備えたものである。受信制御部840は、図11の受信制御部640において、フィルタルール設定部642に代えてフィルタルール設定部842を備えたものである。その他の点については、図11のパケット受信制御装置と同様であるので、詳細な説明は省略する。パケット受信制御装置800は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。
キュー管理部882は、メモリ8内に受信キューとして格納可能な受信パケットの数と、格納されている受信パケットの数とを、キュー管理表として保持している。受信パケット転送部860は、受信パケットバッファ862を備えている。受信パケット転送部860は、受信パケットをメモリ8の受信キューに転送した場合には、キュー管理表に記録されている受信キュー内の受信パケットの数を更新する。また、プロセッサ4は、受信キューから受信パケットを取り出した場合には、キュー管理表に記録されている受信キュー内の受信パケットの数を更新する。
図21は、図20のパケット受信制御装置における動作の流れを示すフローチャートである。図21のフローチャートは、図12のフローチャートにおいて、ステップS472,S474を更に備えたものである。その他のステップについては、図12を参照して説明したものと同様であるので、詳細な説明は省略する。
負荷検出部620から、プロセッサ4が過負荷状態であるとの通知を受けると、フィルタルール設定部842は、ステップS472の処理を行う。ステップS472では、フィルタルール設定部842は、キュー管理部882が保持する、メモリ8に受信キューとして格納可能な受信パケットの数を増加させる。
ステップS474では、キュー管理部882は、キュー管理表を参照し、格納可能な受信パケットの数と受信キュー内の受信パケットの数とに基づいて、受信キューが受信パケットで一杯になっているか否かを判断する。
受信キューが受信パケットで一杯になっている場合には、キュー管理部882は、このことをフィルタルール設定部842に通知し、受信パケットを破棄させてステップS30に進む。
受信キューが受信パケットで一杯になっていない場合には、キュー管理部882は、受信パケットをメモリ8内の受信キューに格納させ、キュー管理表に記録されている受信キュー内の受信パケットの数を更新する。その後、再びステップS474の処理を行う。
このように、ステップS472、S474の処理によって、受信キュー内の受信パケット数が増加しているので、パケット解析部670は、より正確な頻度情報を出力することができる。この結果、フィルタルール設定部842は、破棄すべきパケットの種類をより正確に求めることが可能となる。
(第9の実施形態)
図22は、本発明の第9の実施形態に係るパケット受信制御装置のブロック図である。図22のパケット受信制御装置900は、図11のパケット受信制御装置600において、受信パケット転送部660及びパケット解析部670に代えて受信パケット転送部960及びパケット解析部970をそれぞれ備えたものである。パケット解析部970は、図11のパケット解析部670において、パケット走査部674に代えてパケット走査部974を備えたものである。その他の点については、図11のパケット受信制御装置と同様であるので、詳細な説明は省略する。パケット受信制御装置900は、図1のパケット通信システムにおいて、パケット受信制御装置100に代えて用いられる。メモリ8には、受信キューに加え、ヘッダ情報テーブルが格納されている。
受信パケット転送部960は、通信部2より受信パケットを受け取ると、受信制御部640の指示に従って、このパケットをメモリ8の受信キューに転送する。また、受信パケット転送部960は、受信パケットのヘッダ情報をコピーし、これをメモリ8内にヘッダ情報テーブルとして格納する。ヘッダ情報テーブルは、一例としてキューの構造を持ち、格納されたヘッダ情報を先頭から順に参照することが可能である。ヘッダ情報テーブルは、メモリ8に格納されたことがある受信パケット(メモリ8内の受信パケットだけではなく)のヘッダ情報を有している。
パケット解析部970のパケット走査部974は、頻度計測部672からの指示があると、受信キューではなく、メモリ8内のヘッダ情報テーブルのヘッダ情報を順に走査し、格納されている全ての宛先アドレスとプロトコルとの組を頻度計測部672に出力する。頻度計測部672は、パケット走査部974からの出力を分類し、得られた頻度情報をフィルタルール設定部642に出力する。
このように、パケット解析部970は、ヘッダ情報テーブルに保持されたヘッダ情報から頻度情報を求めるので、情報を格納するために必要な1パケット当たりの容量が小さくて済み、受信キューの受信パケットから頻度情報を求める場合よりも多くの受信パケットに基づいて頻度情報を求めることが可能となる。これにより、フィルタルール設定部642は、破棄すべきパケットの種類をより正確に求めることが可能となる。
なお、以上の実施形態において、パケット解析部670は、例えば、プロセッサ4がプログラムを実行することによって実現される。また、これには限らず、他のプロセッサがプログラムを実行することによってパケット解析部670を実現するようにしてもよい。
また、フィルタルール設定部は、頻度計測部672から出力された頻度情報に基づき、受信パケットの種類のうち、受信頻度が大きい物から順に所定の数の種類を選択し、破棄すべきパケットの種類として決定してもよい。
また、以上の実施形態では、受信パケットフィルタは、MACフレームの宛先アドレスとプロトコルの部分のみを参照しているが、受信パケットの他の部分を参照してフィルタ動作を行うようにしてもよい。例えば、高位レイヤのIPヘッダ、TCP/UDPヘッダなどを参照してフィルタ動作を行うことにより、より細かく破棄対象の受信パケットを選択することができる。
また、本明細書において、単位時間は、あらかじめ定められた一定の長さの時間であって、どのような長さの時間であってもよい。
また、本発明の実施形態の各々は、それぞれ本発明の一例に過ぎず、本発明のパケット受信制御装置の構成はこれらには限られない。
また、本発明のパケット受信制御装置を、パケットフィルタ装置や半導体集積回路、ネットワークプロセッサを構成する要素として用いることも可能である。
以上説明したように、本発明のパケット受信制御装置は、受信パケットによるプロセッサ等の負荷を適切に判断して、過負荷になればその負荷を適切に遮断することができる。このため、ネットワークに接続され、通信処理を行いつつ、リアルタイムの処理を行う機器に有用である。
本発明の第1の実施形態に係るパケット通信システムのブロック図である。 図1のパケット受信制御装置の構成を示すブロック図である。 図1のパケット通信システムが受信するパケットのフォーマットを示す説明図である。 統計テーブルの一例を示す図である。 破棄フィルタテーブルの一例を示す図である。 本発明の第2の実施形態に係るパケット受信制御装置のブロック図である。 本発明の第3の実施形態に係るパケット受信制御装置のブロック図である。 複数のタスクについてのスケジュール優先度の例を示す説明図である。 本発明の第4の実施形態に係るパケット受信制御装置のブロック図である。 本発明の第5の実施形態に係るパケット受信制御装置のブロック図である。 本発明の第6の実施形態に係るパケット受信制御装置のブロック図である。 図11のパケット受信制御装置における動作の流れを示すフローチャートである。 第1のフィルタルールセットを格納した破棄フィルタテーブルの一例を示す図である。 セション管理表の一例を示す図である。 第2のフィルタルールセットを格納した破棄フィルタテーブルの一例を示す図である。 図11のパケット受信制御装置における動作の流れの他の例を示すフローチャートである。 本発明の第7の実施形態に係るパケット受信制御装置のブロック図である。 図17のパケット受信制御装置における動作の流れの一部分を示すフローチャートである。 図17のパケット受信制御装置における動作の流れの図18に続く部分を示すフローチャートである。 本発明の第8の実施形態に係るパケット受信制御装置のブロック図である。 図20のパケット受信制御装置における動作の流れを示すフローチャートである。 本発明の第9の実施形態に係るパケット受信制御装置のブロック図である。 従来のネットワーク組込み用システムのブロック図である。
符号の説明
2 通信部
4 プロセッサ
8 メモリ
10 半導体集積回路
20,220,320,620 負荷検出部
40,340 受信パケットフィルタ(受信制御部)
44,344 統計取得部
58,336 破棄数計測部
60,360,660,860,960 受信パケット転送部
100,200,300,400,500,600,700,800,900 パケット受信制御装置
270,470,570 受信通知部(受信制御部)
330 過負荷対策部
582 ウォッチドッグタイマ
640,740,840 受信制御部
670,970 パケット解析部

Claims (58)

  1. プロセッサの負荷を検出して出力する負荷検出部と、
    前記負荷検出部における検出結果に基づいて、受信されたパケットを前記プロセッサが受信すべきか否かを判断し、その結果を出力する受信制御部とを備え、
    前記受信制御部における判断の結果に従って、前記受信されたパケットを前記プロセッサが受信するように構成された
    パケット受信制御装置。
  2. 請求項1に記載のパケット受信制御装置において、
    パケットを受信し、受信されたパケットを、指示に従って前記プロセッサに出力する受信パケット転送部を更に備え、
    前記負荷検出部は、
    前記負荷の程度に応じた値を処理負荷量として検出するものであり、
    前記受信制御部は、
    前記処理負荷量に応じて設定された1つ以上のフィルタルールを格納し、かつ、前記受信パケット転送部に対して、前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを出力するように指示をするものである
    ことを特徴とするパケット受信制御装置。
  3. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記処理負荷量が多いほど、より多くの受信パケットが適合するように設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  4. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    受信パケットを複数の種類に分類して、種類毎に、単位時間当たりのパケットの受信頻度を測定する統計取得部を備え、かつ、前記複数の種類のうち、単位時間当たりの受信頻度が最も多い種類から順に選択された種類の受信パケットが適合するように設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  5. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    特定の種類の受信パケットが適合しないように設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  6. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記処理負荷量が所定の閾値を超えた場合には、ブロードキャストパケット及びマルチキャストパケットが適合するように設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  7. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記処理負荷量が所定の閾値を超えた場合には、全てのパケットが適合するように設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  8. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記処理負荷量が減少した場合には、その後所定の期間は前記フィルタルールを変更せず、前記所定の期間経過後に、前記処理負荷量に応じて設定された規則を、前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  9. 請求項2に記載のパケット受信制御装置において、
    前記受信制御部による受信パケットの破棄の単位時間当たりの発生頻度を測定する破棄数計測部を更に備え、
    前記受信制御部は、
    前記処理負荷量が減少した場合には、前記発生頻度が所定の閾値以上であるときには前記フィルタルールを変更せず、前記発生頻度が前記所定の閾値未満になると、前記処理負荷量に応じて設定された情報を、前記フィルタルール情報として格納するものである
    ことを特徴とするパケット受信制御装置。
  10. 請求項1に記載のパケット受信制御装置において、
    前記負荷検出部は、
    前記負荷の程度に応じた値を処理負荷量として検出するものであり、
    前記受信制御部は、
    パケットが受信されたことに関連して生成されたイベント信号を受け取った場合であって、前記処理負荷量が所定の値を超えないときには、受信されたパケットを前記プロセッサが受信するように、前記イベント信号を受け取ったことを前記プロセッサに対して通知する通知信号を出力し、前記処理負荷量が前記所定の値を超えるときには、前記通知信号の出力を停止するものである
    ことを特徴とするパケット受信制御装置。
  11. 請求項10に記載のパケット受信制御装置において、
    前記通知信号は、前記プロセッサに対する割込み信号である
    ことを特徴とするパケット受信制御装置。
  12. 請求項10に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記通知信号の出力を停止してからの経過時間を計測し、計測された経過時間が所定の値を超えると、前記通知信号の出力の停止を解除するものである
    ことを特徴とするパケット受信制御装置。
  13. 請求項10に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記イベント信号の単位時間当たりの発生頻度を測定し、前記通知信号の出力を停止後、前記発生頻度が所定の値よりも小さくなると、前記通知信号の出力の停止を解除するものである
    ことを特徴とするパケット受信制御装置。
  14. 請求項1に記載のパケット受信制御装置において、
    前記負荷検出部は、
    前記負荷の程度に応じた値を処理負荷量として検出するものであり、かつ、
    前記負荷検出部は、
    起動されてからの時間を計測するタイマカウンタと、
    前記プロセッサからアクセスされると、前記タイマカウンタのカウント値を読み出して出力し、前記タイマカウンタを再起動する監視部と、
    所定の予定値と、読み出された前記カウント値とに基づいて、前記処理負荷量を求めて出力する負荷算出部とを有するものである
    ことを特徴とするパケット受信制御装置。
  15. 請求項14に記載のパケット受信制御装置において、
    前記監視部は、
    前記プロセッサにおいてマルチタスクOS(operating system)上で周期的に起動されるタスクによって、アクセスされるものである
    ことを特徴とするパケット受信制御装置。
  16. 請求項1に記載のパケット受信制御装置において、
    前記負荷検出部は、
    前記負荷の程度に応じた値を処理負荷量として検出するものであり、かつ、
    前記負荷検出部は、
    クリア信号が入力されてからの時間を計測し、計測された時間が所定の時間に達すると、タイムアウト信号を出力するタイマカウンタと、
    前記プロセッサからアクセスされると、前記タイマカウンタに前記クリア信号を出力する監視部と、
    前記タイムアウト信号に基づいて、前記処理負荷量を求めて出力する負荷算出部とを有するものである
    ことを特徴とするパケット受信制御装置。
  17. 請求項16に記載のパケット受信制御装置において、
    前記負荷算出部は、
    前記タイムアウト信号の単位時間当たりの発生頻度に応じた値を前記処理負荷量として求めるものである
    ことを特徴とするパケット受信制御装置。
  18. 請求項16に記載のパケット受信制御装置において、
    前記負荷算出部は、
    前記タイムアウト信号の連続して出力された回数に応じた値を前記処理負荷量として求めるものである
    ことを特徴とするパケット受信制御装置。
  19. 請求項18に記載のパケット受信制御装置において、
    前記タイマカウンタは、
    タイムアウトした場合にはより大きな値が、クリアされた場合にはより小さな値が、前記所定の時間として設定されるものである
    ことを特徴とするパケット受信制御装置。
  20. 請求項16に記載のパケット受信制御装置において、
    前記監視部は、
    前記プロセッサにおいてマルチタスクOS上で周期的に起動されるタスクによって、アクセスされるものである
    ことを特徴とするパケット受信制御装置。
  21. 請求項1に記載のパケット受信制御装置において、
    パケットを受信し、受信されたパケットを、指示に従って前記プロセッサに出力する受信パケット転送部を更に備え、
    前記負荷検出部は、
    前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、
    前記受信制御部は、
    設定された1つ以上のフィルタルールを格納し、かつ、前記受信パケット転送部に対して、前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを出力するように指示をし、前記プロセッサが過負荷状態である場合には、通常時よりも多くのパケットが適合する過負荷時用のフィルタルールを前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  22. 請求項21に記載のパケット受信制御装置において、
    過負荷対策部を更に備え、
    前記受信パケット転送部は、
    パケットを出力することを前記プロセッサに対して通知するものであり、
    前記過負荷対策部は、
    前記プロセッサに対する通知の単位時間当たりの発生頻度を求め、前記負荷検出部によって前記プロセッサが過負荷状態であることが検出された場合において、前記通知の発生頻度が所定の値以上であるときには、前記受信制御部に対して過負荷状態であることの通知を行うものであり、
    前記受信制御部は、
    前記過負荷状態であることの通知を受けた場合には、前記過負荷時用のフィルタルールを前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  23. 請求項22に記載のパケット受信制御装置において、
    前記過負荷対策部は、
    前記プロセッサが過負荷状態から過負荷ではない状態になった場合には、所定の条件が成立した後に、前記プロセッサが過負荷状態ではないことの通知を前記受信制御部に行うものであり、
    前記受信制御部は、
    前記過負荷状態ではないことの通知を受けた場合には、通常時用のフィルタルールを前記フィルタルールとして格納するものである
    ことを特徴とするパケット受信制御装置。
  24. 請求項23に記載のパケット受信制御装置において、
    前記所定の条件は、
    前記プロセッサが過負荷状態ではなくなってから、所定の時間が経過することである
    ことを特徴とするパケット受信制御装置。
  25. 請求項23に記載のパケット受信制御装置において、
    前記受信制御部による受信パケットの破棄の単位時間当たりの発生頻度を測定する破棄数計測部を更に備え、
    前記所定の条件は、前記発生頻度が所定の値よりも小さくなることである
    ことを特徴とするパケット受信制御装置。
  26. 請求項21に記載のパケット受信制御装置において、
    前記過負荷時用のフィルタルールは、全てのパケットが適合するように設定されている
    ことを特徴とするパケット受信制御装置。
  27. 請求項21に記載のパケット受信制御装置において、
    前記受信制御部は、
    受信パケットを複数の種類に分類して、種類毎に、単位時間当たりのパケットの受信頻度を測定する統計取得部を更に備えるものであり、
    前記過負荷時用のフィルタルールは、前記複数の種類のうち、単位時間当たりの受信頻度が最も多い種類から順に選択された種類の受信パケットが適合するように設定されている
    ことを特徴とするパケット受信制御装置。
  28. 請求項21に記載のパケット受信制御装置において、
    前記過負荷時用のフィルタルールは、特定の種類の受信パケットが適合しないように設定されている
    ことを特徴とするパケット受信制御装置。
  29. 請求項1に記載のパケット受信制御装置において、
    前記負荷検出部は、
    前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、
    前記受信制御部は、
    パケットが受信されたことに関連して生成されたイベント信号の単位時間当たりの発生頻度を求め、前記イベント信号を受け取ったことを前記プロセッサに対して通知する通知信号を出力することができるものであり、前記プロセッサが過負荷状態であり、かつ、前記イベント信号の発生頻度が所定の値を超える場合には、前記通知信号の出力を停止するものである
    ことを特徴とするパケット受信制御装置。
  30. 請求項29に記載のパケット受信制御装置において、
    前記通知信号は、前記プロセッサに対する割込み信号である
    ことを特徴とするパケット受信制御装置。
  31. 請求項29に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記通知信号の出力を停止してからの経過時間を計測し、計測された経過時間が所定の値を超えると、前記通知信号の出力の停止を解除するものである
    ことを特徴とするパケット受信制御装置。
  32. 請求項29に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記イベント信号の単位時間当たりの発生頻度を測定し、前記通知信号の出力を停止後、前記発生頻度が所定の値よりも小さくなると、前記通知信号の出力の停止を解除するものである
    ことを特徴とするパケット受信制御装置。
  33. 請求項29に記載のパケット受信制御装置において、
    所定時間内に前記プロセッサからアクセスされない場合に、前記プロセッサに対して初期化要求信号を出力するウォッチドッグタイマを更に備え、
    前記受信制御部は、
    ウォッチドッグタイマが前記初期化要求信号を出力するまでの残り時間が所定の時間よりも短い場合には、前記通知信号の出力を停止するものである
    ことを特徴とするパケット受信制御装置。
  34. 請求項1に記載のパケット受信制御装置において、
    前記負荷検出部は、
    クリア信号が入力されてからの時間を計測し、計測された時間が所定の時間に達したことを示すタイムアウト信号を、前記検出結果として出力するタイマカウンタと、
    前記プロセッサからアクセスされると、前記タイマカウンタにクリア信号を出力する監視部とを有するものである
    ことを特徴とするパケット受信制御装置。
  35. 請求項34に記載のパケット受信制御装置において、
    前記タイマカウンタは、
    前記所定の時間を変更することができるように構成されているものである
    ことを特徴とするパケット受信制御装置。
  36. 請求項34に記載のパケット受信制御装置において、
    前記監視部は、
    前記プロセッサにおいてマルチタスクOS上で周期的に起動されるタスクによって、アクセスされるものである
    ことを特徴とするパケット受信制御装置。
  37. 請求項36に記載のパケット受信制御装置において、
    前記周期的に起動されるタスクのスケジュール優先度は、パケット通信プロトコルの処理タスク及びリアルタイム通信アプリケーションの処理タスクよりも低く設定されている
    ことを特徴とするパケット受信制御装置。
  38. 請求項37に記載のパケット受信制御装置において、
    前記周期的に起動されるタスクのスケジュール優先度は、リアルタイム制御アプリケーションの処理タスクよりも低く設定されている
    ことを特徴とするパケット受信制御装置。
  39. 請求項37に記載のパケット受信制御装置において、
    前記周期的に起動されるタスクのスケジュール優先度は、リアルタイム性を必要としないアプリケーションの処理タスクよりも高く設定されている
    ことを特徴とするパケット受信制御装置。
  40. 請求項1に記載のパケット受信制御装置において、
    パケットを受信し、受信パケットを、指示に従ってメモリに格納させて前記プロセッサに出力できるようにする受信パケット転送部と、
    前記メモリに格納されたことがある受信パケットの情報を走査し、これらの受信パケットの種類毎の受信頻度を示す頻度情報を求めるパケット解析部と
    を更に備え、
    前記負荷検出部は、
    前記プロセッサが過負荷状態であるか否かを検出し、その結果を出力するものであり、
    前記受信制御部は、
    フィルタルールを格納する破棄フィルタテーブル格納部と、
    前記負荷検出部から、前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、所定の種類のパケットを破棄すべきであることを示すフィルタルールを含む第1のフィルタルールセットを破棄フィルタテーブル格納部に格納させるフィルタルール設定部と、
    前記フィルタルールのいずれかに適合する受信パケットを破棄し、かつ、前記フィルタルールのいずれにも適合しない受信パケットを、前記メモリを介して前記プロセッサに出力するように、受信パケット転送部に対して指示する破棄/通過決定部とを備えるものであり、
    前記フィルタルール設定部は、
    前記メモリに格納されたことがある受信パケットについて求められた前記頻度情報に基づいて、破棄すべきパケットの種類を決定し、前記決定された破棄すべきパケットの種類を示すフィルタルールを含む第2のフィルタルールセットを前記第1のフィルタルールセットに代えて破棄フィルタテーブル格納部に格納させるものである
    ことを特徴とするパケット受信制御装置。
  41. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    前記頻度情報に基づいて、受信頻度が所定の値を超えるパケットの種類を、破棄すべきパケットの種類として決定するものである
    ことを特徴とするパケット受信制御装置。
  42. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    所定のパケットの種類を、破棄すべきパケットの種類として決定しないものである
    ことを特徴とするパケット受信制御装置。
  43. 請求項40に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記プロセッサが実行している通信アプリケーションが使用するパケットの種類を示す情報を保持するセション管理部を更に備え、
    前記フィルタルール設定部は、
    前記セション管理部が保持する情報が示すパケットの種類を、破棄すべきパケットの種類として決定しないものである
    ことを特徴とするパケット受信制御装置。
  44. 請求項43に記載のパケット受信制御装置において、
    前記セション管理部は、
    前記通信アプリケーションが通信を終了すると、前記通信アプリケーションが使用していたパケットの種類を示す情報を出力するものであり、
    前記フィルタルール設定部は、
    前記通信アプリケーションが使用していたパケットの種類を、破棄すべきパケットの種類として決定するものである
    ことを特徴とするパケット受信制御装置。
  45. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    前記プロセッサが過負荷状態であることを示す検出結果を所定の時間内に再び受け取ると、より多くの種類のパケットを破棄するように、前記第2のフィルタルールセットを変更するものである
    ことを特徴とするパケット受信制御装置。
  46. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    前記プロセッサが過負荷状態であることを示す検出結果を所定の時間内に再び受け取ると、前回用いた前記頻度情報に基づいて破棄すべきパケットの種類を決定するものである
    ことを特徴とするパケット受信制御装置。
  47. 請求項40に記載のパケット受信制御装置において、
    前記受信制御部は、
    閾値を格納する学習結果格納部を更に備え、
    前記フィルタルール設定部は、
    前記頻度情報に基づいて破棄すべきパケットの種類を決定する際に、前記学習結果格納部に格納された閾値を用いて前記第2のフィルタルールセットを求めるものであり、
    前記学習結果格納部は、
    前記プロセッサが過負荷状態であることを示す検出結果を受け取る間隔に応じて、格納する閾値を変更するものである
    ことを特徴とするパケット受信制御装置。
  48. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    前記頻度情報に基づいて、受信パケットの種類のうち、受信頻度が大きいものから順に所定の数の種類を選択し、前記破棄すべきパケットの種類として決定するものである
    ことを特徴とするパケット受信制御装置。
  49. 請求項40に記載のパケット受信制御装置において、
    前記受信制御部は、
    前記メモリ内に格納可能な受信パケットの数を保持するキュー管理部を更に備え、
    前記フィルタルール設定部は、
    前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、前記キュー管理部に保持された前記メモリに格納可能な受信パケットの数を増加させるものである
    ことを特徴とするパケット受信制御装置。
  50. 請求項40に記載のパケット受信制御装置において、
    前記受信パケット転送部は、
    受信パケットの少なくともヘッダ情報を前記メモリに格納させるものであり、
    前記パケット解析部は、
    前記メモリに格納されたヘッダ情報を走査して、前記頻度情報を求めるものである
    ことを特徴とするパケット受信制御装置。
  51. 請求項40に記載のパケット受信制御装置において、
    前記フィルタルール設定部は、
    全てのパケットが廃棄されるように、前記第1のフィルタルールセットを設定するものである
    ことを特徴とするパケット受信制御装置。
  52. 請求項1に記載のパケット受信制御装置において、
    前記パケットは、イーサネットのMAC(media access control)フレームである
    ことを特徴とするパケット受信制御装置。
  53. 請求項1に記載のパケット受信制御装置と、
    前記パケット受信制御装置における判断の結果に従って、パケットを受信するプロセッサとを備える
    半導体集積回路。
  54. 受信パケットをメモリに格納させてからプロセッサに出力するパケット受信制御方法であって、
    前記プロセッサが過負荷状態であるか否かを検出する負荷検出ステップと、
    前記プロセッサが過負荷状態であることを示す検出結果を受け取ると、所定の種類のパケットを破棄すべきであることを示すフィルタルールを含む第1のフィルタルールセットを格納するステップと、
    前記フィルタルールのいずれかに適合する受信パケットを破棄し、前記フィルタルールのいずれにも適合しない受信パケットを、前記メモリを介して前記プロセッサに出力するステップと、
    前記第1のフィルタルールセットに従って前記メモリに格納されたことがある受信パケットについての情報を走査し、これらの受信パケットの種類毎の受信頻度を示す頻度情報を求めるステップと、
    前記頻度情報に基づいて破棄すべきパケットの種類を決定するステップと、
    前記決定された破棄すべきパケットの種類を示すフィルタルールを含む第2のフィルタルールセットを前記第1のフィルタルールセットに代えて格納するステップと
    を備えるパケット受信制御方法。
  55. 請求項54に記載のパケット受信制御方法において、
    前記破棄すべきパケットの種類を決定するステップは、
    前記頻度情報に基づいて、受信頻度が所定の値を超えるパケットの種類を、破棄すべきパケットの種類として決定するものである
    ことを特徴とするパケット受信制御方法。
  56. 請求項54に記載のパケット受信制御方法において、
    前記破棄すべきパケットの種類を決定するステップは、
    決定するために用いられる閾値を、前記プロセッサが過負荷状態であることを示す検出結果が得られる間隔に応じて変更するものである
    ことを特徴とするパケット受信制御方法。
  57. 請求項54に記載のパケット受信制御方法において、
    前記プロセッサが過負荷状態であることを示す検出結果が得られると、前記メモリに格納可能な受信パケットの数を増加させるステップを更に備え、
    前記頻度情報を求めるステップは、
    前記メモリに格納された受信パケットを走査して、前記頻度情報を求めるものである
    ことを特徴とするパケット受信制御方法。
  58. 請求項54に記載のパケット受信制御方法において、
    前記頻度情報を求めるステップは、
    前記メモリに格納されたことがある受信パケットのヘッダ情報を走査して、前記頻度情報を求めるものである
    ことを特徴とするパケット受信制御方法。
JP2005264201A 2004-09-27 2005-09-12 パケット受信制御装置及びパケット受信制御方法 Ceased JP2006121667A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005264201A JP2006121667A (ja) 2004-09-27 2005-09-12 パケット受信制御装置及びパケット受信制御方法
US11/232,905 US20060067231A1 (en) 2004-09-27 2005-09-23 Packet reception control device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004279981 2004-09-27
JP2005264201A JP2006121667A (ja) 2004-09-27 2005-09-12 パケット受信制御装置及びパケット受信制御方法

Publications (1)

Publication Number Publication Date
JP2006121667A true JP2006121667A (ja) 2006-05-11

Family

ID=36098924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005264201A Ceased JP2006121667A (ja) 2004-09-27 2005-09-12 パケット受信制御装置及びパケット受信制御方法

Country Status (2)

Country Link
US (1) US20060067231A1 (ja)
JP (1) JP2006121667A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016775A (ja) * 2008-07-07 2010-01-21 Hitachi Communication Technologies Ltd フレーム転送装置
JP2010220098A (ja) * 2009-03-18 2010-09-30 Canon Inc ネットワークインターフェイス制御装置及び制御方法
JP2012195723A (ja) * 2011-03-16 2012-10-11 Nec Commun Syst Ltd パケット交換装置、マルチコアプロセッサ、パケット交換方法、パケット制御方法、プログラム
JP2013110586A (ja) * 2011-11-21 2013-06-06 Hitachi Ltd 通信システム、通信装置及び通信方法
JP2014526814A (ja) * 2011-09-21 2014-10-06 日本電気株式会社 通信装置、制御装置、通信システム、通信制御方法及びプログラム
JP2015026929A (ja) * 2013-07-25 2015-02-05 日本電信電話株式会社 信号バッファ蓄積信号振分装置
WO2015029157A1 (ja) * 2013-08-28 2015-03-05 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP2015176607A (ja) * 2014-03-13 2015-10-05 ランティック ドイチュラント ゲーエムベーハー デバイス間のフロー制御
JP2016504810A (ja) * 2012-11-14 2016-02-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) コンテンツベースの過負荷保護
JP2016511948A (ja) * 2012-12-20 2016-04-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated 共有媒体ブリッジング
JP6080968B2 (ja) * 2013-09-30 2017-02-15 三菱電機株式会社 受信装置および通信装置
WO2018139195A1 (ja) * 2017-01-30 2018-08-02 富士通株式会社 制御装置、転送装置、および、制御方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251556A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Continuous feedback-controlled deployment of message transforms in a distributed messaging system
US20050251811A1 (en) * 2004-05-07 2005-11-10 International Business Machines Corporation Distributed messaging system supporting stateful
US7886180B2 (en) * 2004-05-14 2011-02-08 International Business Machines Corporation Recovery in a distributed stateful publish-subscribe system
WO2007122495A2 (en) * 2006-04-21 2007-11-01 Axalto Sa A framework for protecting resource-constrained network devices from denial-of-service attacks
US20070297327A1 (en) * 2006-06-27 2007-12-27 International Business Machines Corporation Method for applying stochastic control optimization for messaging systems
US8036127B2 (en) * 2006-07-20 2011-10-11 Oracle America, Inc. Notifying network applications of receive overflow conditions
US7852756B2 (en) * 2007-06-13 2010-12-14 02Micro International Limited Network interface system with filtering function
US7808894B2 (en) * 2007-11-09 2010-10-05 International Business Machines Corporation Managing bursts of traffic in such a manner as to improve the effective utilization of session servers
US7916643B2 (en) * 2007-11-09 2011-03-29 International Business Machines Corporation Limiting extreme loads at session servers
JP4946902B2 (ja) * 2008-02-08 2012-06-06 富士通株式会社 通信制御装置、通信制御方法、通信制御プログラム
US8315256B2 (en) * 2008-04-17 2012-11-20 Gigamon Llc State-based filtering on a packet switch appliance
JP5233504B2 (ja) * 2008-08-25 2013-07-10 富士通株式会社 経路制御装置およびパケット廃棄方法
US20110196964A1 (en) * 2008-10-14 2011-08-11 Srikanth Natarajan Managing event traffic in a network system
US8797866B2 (en) * 2010-02-12 2014-08-05 Cisco Technology, Inc. Automatic adjusting of reputation thresholds in order to change the processing of certain packets
JP2011199638A (ja) * 2010-03-19 2011-10-06 Fuji Xerox Co Ltd 通信制御装置、画像形成装置、及びプログラム
US20130163417A1 (en) * 2011-12-27 2013-06-27 Mitel Networks Corporation Application level admission overload control
US20150033336A1 (en) * 2013-07-24 2015-01-29 Fortinet, Inc. Logging attack context data
KR102266007B1 (ko) 2013-08-22 2021-06-16 콘티넨탈 테베스 아게 운트 코. 오하게 수신된 신호 강도에 기반하여 차량 대 사물 네트워크에서 수신된 데이터의 감축
US9398118B2 (en) * 2013-09-24 2016-07-19 Innovask, Inc. Processing apparatus for bus data
US10356014B2 (en) * 2013-09-24 2019-07-16 Innovasic, Inc. Method of processing bus data
US9705921B2 (en) * 2014-04-16 2017-07-11 Cisco Technology, Inc. Automated synchronized domain wide transient policy
CN104506383A (zh) * 2014-12-22 2015-04-08 深圳市博瑞得科技有限公司 衡量服务器在tcp传输中对数据处理效率的方法及系统
US10334085B2 (en) * 2015-01-29 2019-06-25 Splunk Inc. Facilitating custom content extraction from network packets
CN109391559B (zh) * 2017-08-10 2022-10-18 华为技术有限公司 网络设备
JP7037035B2 (ja) * 2017-09-01 2022-03-16 富士通株式会社 データ伝送装置、演算処理装置及びデータ伝送装置の制御方法
US20190319933A1 (en) * 2018-04-12 2019-10-17 Alibaba Group Holding Limited Cooperative tls acceleration

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120104A (ja) * 1997-10-17 1999-04-30 Nec Corp ネットワーク異常時の負荷低減方法及び方式
JPH11328068A (ja) * 1998-05-15 1999-11-30 Oki Data Corp ネットワーク組込み用システム
JP2000115249A (ja) * 1998-10-09 2000-04-21 Fuji Xerox Co Ltd データ通信端末およびデータ通信方法
JP2000112756A (ja) * 1998-10-08 2000-04-21 Toshiba Corp Cpu動作制御装置および方法
JP2001014243A (ja) * 1999-07-01 2001-01-19 Mitsubishi Electric Corp 受信割込処理装置
JP2001249866A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd ファイアウォール機能を分散させたネットワーク、ファイアウォール分散機能を有するファイアウォールサーバ、及びファイアウォール機能を有するエッジノード
JP2002344510A (ja) * 2001-05-15 2002-11-29 Nec Commun Syst Ltd ネットワーク管理システムと装置及び方法並びにプログラム
WO2003003753A2 (en) * 2001-05-14 2003-01-09 Telefonaktiebolaget Lm Ericsson Method for protecting against overload of a packet switching network node of a communication network
JP2003124963A (ja) * 2001-10-10 2003-04-25 Furukawa Electric Co Ltd:The ネットワーク中継装置、ネットワーク中継方法およびその方法をコンピュータに実行させるプログラム
WO2003063002A1 (fr) * 2002-01-24 2003-07-31 Fujitsu Limited Ordinateur permettant de determiner dynamiquement un delai d'interruption
JP2003288132A (ja) * 2002-03-28 2003-10-10 Ntt Comware Corp ルータ、ルータ制御方法、及びルータ制御プログラム
JP2004199423A (ja) * 2002-12-19 2004-07-15 Hitachi Kokusai Electric Inc 処理監視装置
WO2004059914A1 (ja) * 2002-12-26 2004-07-15 Matsushita Electric Industrial Co., Ltd. ネットワーク端末装置、通信過負荷回避方法およびプログラム
JP2004208178A (ja) * 2002-12-26 2004-07-22 Matsushita Electric Ind Co Ltd 負荷制御方法及び負荷制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2315635B (en) * 1996-07-19 2000-10-11 Ericsson Telefon Ab L M Dynamic load limiting
EP0903670A1 (en) * 1997-09-19 1999-03-24 Hewlett-Packard Company Improved peripheral device control in data processing systems
US6188670B1 (en) * 1997-10-31 2001-02-13 International Business Machines Corporation Method and system in a data processing system for dynamically controlling transmission of data over a network for end-to-end device flow control
JP3234573B2 (ja) * 1998-08-31 2001-12-04 松下電器産業株式会社 パケットフィルタリング装置
US6370125B1 (en) * 1998-10-08 2002-04-09 Adtran, Inc. Dynamic delay compensation for packet-based voice network
US6868061B1 (en) * 1998-12-10 2005-03-15 Nokia Corporation System and method for pre-filtering low priority packets at network nodes in a network service class utilizing a priority-based quality of service
GB9827825D0 (en) * 1998-12-17 1999-02-10 Sgs Thomson Microelectronics Interrupt management system
US6643260B1 (en) * 1998-12-18 2003-11-04 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
US6480471B1 (en) * 1998-12-21 2002-11-12 Hewlett-Packard Company Hardware sampler for statistical monitoring of network traffic
US6453360B1 (en) * 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US7277384B1 (en) * 2000-04-06 2007-10-02 Cisco Technology, Inc. Program and method for preventing overload in a packet telephony gateway
JP3687501B2 (ja) * 2000-07-05 2005-08-24 日本電気株式会社 パケット交換機の送信キュー管理システム及び管理方法
US6816455B2 (en) * 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
TW567418B (en) * 2002-04-24 2003-12-21 Via Tech Inc Interrupt signal generating method and media access controller utilizing same
US7274665B2 (en) * 2002-09-30 2007-09-25 Intel Corporation Packet storm control
US7313093B1 (en) * 2002-11-26 2007-12-25 Cisco Technology, Inc. Methods and apparatus for selectively discarding packets during overload conditions
US7480241B2 (en) * 2003-09-02 2009-01-20 Arris International, Inc. Method for processor overload control in a voice over internet protocol cable modem termination system
US7391725B2 (en) * 2004-05-18 2008-06-24 Christian Huitema System and method for defeating SYN attacks
US7706261B2 (en) * 2004-08-27 2010-04-27 Jinshen Sun Queue-based active queue management process

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11120104A (ja) * 1997-10-17 1999-04-30 Nec Corp ネットワーク異常時の負荷低減方法及び方式
JPH11328068A (ja) * 1998-05-15 1999-11-30 Oki Data Corp ネットワーク組込み用システム
JP2000112756A (ja) * 1998-10-08 2000-04-21 Toshiba Corp Cpu動作制御装置および方法
JP2000115249A (ja) * 1998-10-09 2000-04-21 Fuji Xerox Co Ltd データ通信端末およびデータ通信方法
JP2001014243A (ja) * 1999-07-01 2001-01-19 Mitsubishi Electric Corp 受信割込処理装置
JP2001249866A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd ファイアウォール機能を分散させたネットワーク、ファイアウォール分散機能を有するファイアウォールサーバ、及びファイアウォール機能を有するエッジノード
WO2003003753A2 (en) * 2001-05-14 2003-01-09 Telefonaktiebolaget Lm Ericsson Method for protecting against overload of a packet switching network node of a communication network
JP2002344510A (ja) * 2001-05-15 2002-11-29 Nec Commun Syst Ltd ネットワーク管理システムと装置及び方法並びにプログラム
JP2003124963A (ja) * 2001-10-10 2003-04-25 Furukawa Electric Co Ltd:The ネットワーク中継装置、ネットワーク中継方法およびその方法をコンピュータに実行させるプログラム
WO2003063002A1 (fr) * 2002-01-24 2003-07-31 Fujitsu Limited Ordinateur permettant de determiner dynamiquement un delai d'interruption
JP2003288132A (ja) * 2002-03-28 2003-10-10 Ntt Comware Corp ルータ、ルータ制御方法、及びルータ制御プログラム
JP2004199423A (ja) * 2002-12-19 2004-07-15 Hitachi Kokusai Electric Inc 処理監視装置
WO2004059914A1 (ja) * 2002-12-26 2004-07-15 Matsushita Electric Industrial Co., Ltd. ネットワーク端末装置、通信過負荷回避方法およびプログラム
JP2004208178A (ja) * 2002-12-26 2004-07-22 Matsushita Electric Ind Co Ltd 負荷制御方法及び負荷制御装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016775A (ja) * 2008-07-07 2010-01-21 Hitachi Communication Technologies Ltd フレーム転送装置
JP2010220098A (ja) * 2009-03-18 2010-09-30 Canon Inc ネットワークインターフェイス制御装置及び制御方法
JP2012195723A (ja) * 2011-03-16 2012-10-11 Nec Commun Syst Ltd パケット交換装置、マルチコアプロセッサ、パケット交換方法、パケット制御方法、プログラム
JP2014526814A (ja) * 2011-09-21 2014-10-06 日本電気株式会社 通信装置、制御装置、通信システム、通信制御方法及びプログラム
JP2013110586A (ja) * 2011-11-21 2013-06-06 Hitachi Ltd 通信システム、通信装置及び通信方法
JP2016504810A (ja) * 2012-11-14 2016-02-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) コンテンツベースの過負荷保護
JP2016511948A (ja) * 2012-12-20 2016-04-21 クゥアルコム・インコーポレイテッドQualcomm Incorporated 共有媒体ブリッジング
JP2015026929A (ja) * 2013-07-25 2015-02-05 日本電信電話株式会社 信号バッファ蓄積信号振分装置
WO2015029157A1 (ja) * 2013-08-28 2015-03-05 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP6080968B2 (ja) * 2013-09-30 2017-02-15 三菱電機株式会社 受信装置および通信装置
US10897426B2 (en) 2013-09-30 2021-01-19 Mitsubishi Electric Corporation Reception apparatus and communication apparatus
JP2015176607A (ja) * 2014-03-13 2015-10-05 ランティック ドイチュラント ゲーエムベーハー デバイス間のフロー制御
WO2018139195A1 (ja) * 2017-01-30 2018-08-02 富士通株式会社 制御装置、転送装置、および、制御方法
US11115325B2 (en) 2017-01-30 2021-09-07 Fujitsu Limited Control device, transfer device, and control method

Also Published As

Publication number Publication date
US20060067231A1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
JP2006121667A (ja) パケット受信制御装置及びパケット受信制御方法
US6958998B2 (en) Traffic management in packet-based networks
JP4219818B2 (ja) 割込み遅延を動的に決定する計算機
EP4175232A1 (en) Congestion control method and device
US6981084B2 (en) Apparatus and method for packet ingress interrupt moderation
US20040117791A1 (en) Apparatus, system and method for limiting latency
US8009561B1 (en) Systems and methods for permitting queues to oversubscribe
CN106506392B (zh) 一种网络拥塞处理方法及装置
JP2004534460A (ja) 通信ネットワークのパケット交換ネットワークノードを過負荷から保護するための方法
CN111970211A (zh) 一种基于ipfix的大象流处理方法及装置
US7684422B1 (en) Systems and methods for congestion control using random early drop at head of buffer
JP4763715B2 (ja) 携帯インターネットシステムの端末装置と端末装置でのアップリンクデータ伝送方法
CN119544632A (zh) 一种数据中心网络中基于流量和延时感知的传输控制方法
CN115002009A (zh) 一种流量采样方法、装置、系统、电子设备及介质
JP2001014243A (ja) 受信割込処理装置
JP2011250310A (ja) 通信制御装置及び通信制御方法
US8788735B2 (en) Interrupt control apparatus, interrupt control system, interrupt control method, and interrupt control program
JP4849270B2 (ja) コンピュータ装置
EP4195616A1 (en) Network processor with external memory protection
US11895029B2 (en) Network processor with external memory protection
EP3754918B1 (en) Packet backpressure detection method, apparatus, and device
JP2016012801A (ja) 通信装置、通信システム及び通信装置制御方法
JP4364682B2 (ja) フレーム転送装置
TWI429230B (zh) 處理資訊系統的方法
US11451998B1 (en) Systems and methods for communication system resource contention monitoring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100806

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20110222