JP2015176607A - デバイス間のフロー制御 - Google Patents

デバイス間のフロー制御 Download PDF

Info

Publication number
JP2015176607A
JP2015176607A JP2015050846A JP2015050846A JP2015176607A JP 2015176607 A JP2015176607 A JP 2015176607A JP 2015050846 A JP2015050846 A JP 2015050846A JP 2015050846 A JP2015050846 A JP 2015050846A JP 2015176607 A JP2015176607 A JP 2015176607A
Authority
JP
Japan
Prior art keywords
data
priority
cpu
processing device
load state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015050846A
Other languages
English (en)
Other versions
JP6104970B2 (ja
Inventor
クリシュナ バベラパティ シャム
Krishna Babbellapati Syam
クリシュナ バベラパティ シャム
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.)
Intel Germany Holding GmbH
Original Assignee
Lantiq Deutschland GmbH
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 Lantiq Deutschland GmbH filed Critical Lantiq Deutschland GmbH
Publication of JP2015176607A publication Critical patent/JP2015176607A/ja
Application granted granted Critical
Publication of JP6104970B2 publication Critical patent/JP6104970B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】補助処理装置から主処理装置へデータを転送する装置及び方法を提供する。
【解決手段】主処理装置11は、主処理装置の負荷状態について補助処理装置10に通知する。補助処理装置は、主処理装置の負荷状態及びデータの優先度に基づいて、データを選択的に破棄するか、あるいは主処理装置に転送する。
【選択図】図1

Description

発明の詳細な説明
〔技術分野〕
本出願は、処理装置間に構築されたフロー制御を有する処理装置と、対応する方法に関する。
〔背景技術〕
データを処理するにあたって、多くの場合、2つ以上の処理装置が使用される。例えば、多くのアプリケーションにおいては、主処理装置(例えば、汎用プロセッサ)以外に、補助処理装置が使用される。当該補助処理装置は、データ処理における特定のタスク(例えば、特定の演算やその他の特定のタスク)を行うために設計されていてもよい。これらの特定のタスクを行うために、上記の補助処理装置は、例えば、ハードウェアに組み込まれていてもよく、それゆえ非常に高速に処理を行うことができる。一方、多くの場合、上記の補助処理装置は主処理装置ほど多目的に使えないことがある。
或る一連の流れにおいては、データが処理される時、当該データは最初に補助処理装置によって処理され、必要な場合は、さらなる処理のために、続いて主処理装置に転送される。しかしながら、補助処理装置は処理が高速であると共に、さらに、アプリケーションによっては、主処理装置は他のタスクにも使用されることがあるため、主処理装置の過負荷状態、データキュー(data queue)過多、および/またはデータ処理における大幅な遅れを招来することがある。アプリケーションによっては、例えば大幅な遅れは望ましくないことがある(特にデータがリアルタイムで処理される場合)。
〔図面の簡単な説明〕
図1は実施形態に係る装置のブロック図である。
図2は他の実施形態に係る装置のブロック図である。
図3は実施形態に係る方法を示すフローチャートである。
図4は他の実施形態に係る方法を示すフローチャートである。
〔詳細な説明〕
添付図面を参照して種々の実施形態を下記に詳細に説明する。なお、これらの実施形態は、例示にすぎず、本出願の範囲を限定するものであると解釈されるべきではない。
例えば、幾つかの実施形態においては、複数の特徴または構成要素を含んでいると説明されているが、他の実施形態においては、これらの特徴または構成要素のうちのいくつかが省略されていてもよく、または、代わりの特徴または構成要素と取り換えられていてもよい。つまり、実施形態に関して説明されている特徴または構成要素は、実施にあたって必須または不可欠なものであると解釈されるべきではない。他の実施形態においては、追加の特徴または構成要素が存在してもよい。
種々の実施形態から得られる特徴は、特に明記しない限り、互いに組み合わせてもよい。実施形態は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実施してもよい。接続または結合の通常機能(例えば、特定の種類のデータまたは特定の情報を転送する)が大きく変更されない限り、種々の要素間の任意の結合または接続を、直接的な接続または結合(つまり、介在要素を用いない接続または結合)として実施してもよいし、あるいは、間接的な接続または結合(つまり、1つ以上の介在要素を用いる接続または結合)として実施してもよい。
接続または結合は、有線結合または無線結合として実施してもよい。
幾つかの実施形態においては、主処理装置と、補助処理装置とを備えている装置を設けてもよい。上記の補助処理装置は、データを受信し、当該データに処理を施し、このように処理を施したデータ(以下、「前処理済みデータ」とも称す)の少なくとも一部を主処理装置に転送してもよい。上記の主処理装置は、当該主処理装置の負荷状態(例えば、補助処理装置から受信したデータを処理する主処理装置の能力)について補助処理装置に通知してもよい。高い負荷状態にある場合、主処理装置に転送される代わりに、幾つかのデータは破棄されることもある。幾つかの実施形態においては、このデータの破棄は、例えばデータの優先度に基づいて、補助処理装置によって直接行われてもよい。
ここで図面を参照すると、図1には、一実施形態に係る装置を示すブロック図が示されている。図1の実施形態に係る装置は、補助処理装置と主処理装置とを備えている。本出願との関係において、処理装置は、データを処理し、処理したデータをアウトプットすることができる任意の種類の装置に関する。処理装置は、しかるべくプログラミングされたマイクロプロセッサまたはマイクロコントローラーのようなプログラム可能な装置であってもよく、フィールド・プログラマブル・ゲートアレイ(field programmably gate array)(FPGA))を含むか、あるいは、ハードウェアに組み込まれたデバイス(例えば、特定用途向け集積回路(ASIC)、または数値演算ユニット(ALU))に組み込まれた装置であってもよいが、これらは例にすぎない。
補助処理装置10は、入力データdiを受信し、当該入力データdiを部分的に処理されたデータdppに処理する。補助処理装置10は、入力データdiを高速に処理するために必要な特定のタスクを実行するように構成されていてもよい。つまり、補助処理装置10は、データを処理するための限られた一連の機能を備えていてもよい。例えば、補助処理装置10は、ハードウェアに組み込まれて特定の処理を行うようにしてもよい。幾つかの実施形態においては、補助処理装置10は、そのような特定のタスクに限定されているのに対し、主処理装置は、例えば所望の種々の種類の処理を行うようにプログラム可能であってもよい。主処理装置11は、幾つかの実施形態においては、部分的に処理されたデータdppを完全に処理されたデータdfpに処理してもよい。例えば、補助処理装置10によって行われるタスクは、ハードウェアに組み込まれた場合に高速に処理可能な特定の演算を含んでいてもよい。幾つかのデータについては、補助処理装置10による処理の後、主処理装置11によってさらに処理される必要はなく、そのようなデータは、処理済みデータdapとして、補助処理装置10からアウトプットされてもよい。
なお、補助処理装置10から受信したデータの処理に加えて、主処理装置11は、上記装置内の他のタスクを行ってもよい。例えば、主処理装置11は、補助処理装置10から受信した前処理済みデータdpp以外のデータの処理や、他の構成要素の制御等を行ってもよい。
上記のように、複数の実施形態においては、補助処理装置10は当該補助処理装置10に割り当てられたタスクを非常に高速に実行するように構成されていてもよい。これに対し、上記のように、主処理装置11は、より多目的に使えるが、データの処理が比較的遅くてもよい、および/または前処理済みデータdppの処理以外の他のタスクに従事してもよい。したがって、入力データdiの速度が速く、補助処理装置10によって高速に処理された場合、大量の前処理済みデータdppが主処理装置11に負荷をかけ過ぎてしまい、例えば、大幅な遅れを招来することがある。
図1の実施形態においては、主処理装置11は、フィードバック経路を介して、当該主処理装置11の負荷状態を負荷状態通知lnと共に補助処理装置10に通知する。例えば、負荷状態通知lnは、補助処理装置10に対して、主処理装置11中に低い負荷状態、中程度の負荷状態、または高い負荷状態にあるかどうかを通知してもよく、あるいは、例えば、主処理装置11の負荷状態をパーセント値で表してもよい。また、その他の負荷状態の値(measure of the load)を用いて負荷状態通知lnを作成してもよい。
複数の実施形態においては、負荷状態通知lnに応じて、補助処理装置10は、データdiのうちの幾つかのデータを破棄すると共に、当該データのうちの幾つかのデータのみを前処理済みデータdppとして、主処理装置11に転送するように決定してもよい。例えば、幾つかの実施形態においては、負荷状態通知lnが、主処理装置11が低い負荷状態にあることを示している場合、全ての入力データdiをベースとする全ての前処理済みデータdppが、主処理装置11に転送されてもよい。負荷状態通知lnが、主処理装置11が高い負荷状態にあることを示している場合、高い優先度を有するデータ(例えば、リアルタイムデータ)のみが補助処理装置10によって処理され、部分的に処理されたデータdppとして主処理装置11に転送されてもよい。負荷状態通知lnが、主処理装置11が中程度の負荷状態にあることを示している場合、高い優先度を有するデータおよび中程度の優先度を有するデータが転送される一方、低い優先度を有するデータは破棄されるようにしてもよい。他の体系を同様に用いてもよい。
幾つかの実施形態においては、データへの優先度の割り当てが補助処理装置10内で実行されてもよい。他の幾つかの実施形態においては、入力データdi自体がその優先度に関する指標を含んでいてもよい。
したがって、図1の構成によれば、幾つかの実施形態においては、高い優先度のデータは、主処理装置11が高い負荷状態にある場合でも、確実に処理されるのに対し、その他のデータは、主処理装置11にさらなる負荷が加わらないように破棄されてもよい。
図1の装置は、特定の種類のデータの場合に限定されるものではないが、幾つかの実施形態においては、データdiは通信接続(例えば、無線通信接続、または有線通信接続)を介して受信されるデータの場合であってもよい。幾つかの実施形態においては、入力データdiとして、例えばフレーム、パケット、セル、または、種々の通信規格において用いられるその他の種類のデータユニットを挙げてもよい。
例えば、図2には、パケットを処理するように構成された装置の一実施形態が示されている。図2の装置は、システム・オン・チップ(SoC)20(つまり、下記に記載する構成要素21〜23がシングルチップ上で一体化されている)として実施される。他の実施形態においては、構成要素21〜23が別々のチップに設けられていてもよい。また、幾つかの実施形態においては、追加の構成要素(図2に不図示)がSoC20上に設けられてもよい。SoC20は、入力パケットpiを受信するパケット処理エンジン21を備えている。パケット処理エンジン21は、補助処理装置の例であり、例えばハードウェアに組み込まれて上記入力パケットpiに対して限定的な処理を行うように構成されていてもよい。そのような限定的な処理として、例えば、ヘッダ抽出、巡回冗長検査、および/または、パケットに対して行われるその他の処理が含まれていてもよい。入力パケットpiは、無線通信規格(WLAN規格、またはセルラーネットワーク規格(GPRS、UMTS、LTE等)に準拠したパケット、または有線通信規格(送電線規格(power line standards)、xDSL規格(例えば、ADSL、ADSL2、VDSL、VDSL2、SHDSL等)、ホームネットワーク規格またはそれに類似の規格)に準拠したパケットであってもよい。他の実施形態においては、上記のパケットは、規格外のパケットであってもよい。パケット処理エンジンは、例えば、ハードウェア、ファームウェア、またはハードウェアとファームウェアとの組み合わせとして実施されてもよいが、ソフトウェアを用いて少なくとも部分的に実施されてもよい。
パケット処理エンジン21による処理後、当該パケット処理エンジン21は、部分的に処理されたパケットpppとして、少なくとも幾つかのパケットをCPUキュー(queue)22に転送する。当該CPUキュー22にて、上記少なくとも幾つかのパケットは中央処理装置(CPU)23による処理を待つ。
CPUキュー22は、例えば、一定数のパケットの収容力を備えたメモリを備えていてもよい。
CPU23は、プログラム可能な主処理装置の例であり、前処理済みパケットpppの所望の処理を実行するようにプログラムされていてもよい。なお、図2に明示はしていないが、図1について説明されたことと同様に、幾つかのパケットは、CPU23による処理を受けなくてもよく、パケット処理エンジン21によって直接アウトプットされてもよい。その他のパケットは、パケット処理エンジン21による処理を受けずに、CPUキュー22に直接転送されてもよい。前処理済みパケットpppの処理以外に、CPU23はその他タスク(例えば、種々の機能やユーザーインターフェース機能等の制御)を実行してもよい。
パケット処理エンジン21は、自身が非常に高速に実行できる限定的なタスクを実行するよう設計されてもよい。但し、CPU23が高い負荷状態(例えば、入力パケットの高速、および/または、CPU23が行う必要がある大量のその他のタスクによって引き起こされる)にある場合、CPUキュー22および/またはCPU23の過負荷状態を招来することがある。
CPU23は、負荷状態通知lnと共に、当該CPU23の負荷状態についてパケット処理エンジン21に通知してもよい。例えば、CPUの負荷状態は3つの区分に分類されていてもよい。低い負荷状態または最小の負荷状態(説明の便宜上、「緑色」として可視化してもよい)にある第1区分は、CPUがわずかな負荷状態にあることを示している。第2区分は、CPUが中程度の負荷状態にある(説明の便宜上、「黄色の」負荷状態と称されてもよい)ことを示してもよい。第3区分は、CPUが高い負荷状態(例えば、80%を超える負荷状態、または90%を超える負荷状態)にあることを示し、説明の便宜上、「赤色」負荷状態と称されてもよい。規則的間隔で、または不規則的間隔で、CPU23は、一定数のパケットの後に、各パケットの後、またはその他の通知体系に従って、パケット処理エンジン21に当該CPU23の負荷状態について通知してもよい。
なお、3つの異なる負荷状態区分に分類することは例に過ぎず、いずれの負荷状態区分数(例えば、2つのみの負荷状態区分、または4つ以上の負荷状態区分)を用いてもよい。幾つかの実施形態においては、例えば、CPUの負荷状態のパーセンテージ値を用いて負荷状態が通知されてもよい。
負荷状態の通知にもよるが、パケット処理エンジン21は、受信したパケットの優先度に基づいて、当該パケットのうちの幾つかのパケットを破棄してもよい。例えば、3つの異なる優先度(低、中、高)にパケットを分類してもよいが、他の実施形態においては、他の異なる数の優先度を用いてもよい。上記に挙げた例を用いると、例えば、CPUの負荷状態が「緑」である実施形態においては、全ての優先度のパケットが、パケット処理エンジン21によって処理され、前処理済みパケットとして、CPUキュー22に転送されてもよい。CPUの負荷状態が「黄色」の場合、パケット処理エンジン21は、例えば、低い優先度を有するパケットを破棄する一方、中程度の優先度および高い優先度を有するパケットのみを処理して、それらを前処理済みパケットpppとしてCPUキュー22に転送してもよい。CPUの負荷状態が「赤」の場合、パケット処理エンジン21は、低い優先度および中程度の優先度を有するパケットを破棄する一方、高い優先度を有するパケットのみを処理し、当該パケットを前処理済みパケットとしてCPUキュー22に転送してもよい。
幾つかの実施形態においては、パケット処理エンジン21が、入力パケットpiに優先度を割り当てるための分類エンジン24を備えていてもよい。他の実施形態においては、入力パケットpi自体(例えば、ヘッダ自体)に優先度をつけていてもよい。例えば、優先度はパケットの種類に基づいて割り当てられてもよい。
例えば、電話通信を可能にするリアルタイムパケット(ボイスオーバーIP(VoIP)パケット等)には高い優先度が割り当てられてもよい。その他のリアルタイムパケット(ビデオストリームパケット等)には、高い優先度、または中程度の優先度が割り当てられてもよい。リアルタイムパケットではないパケット(例えば、ファイルのダウンロードのみに関するパケット)には低い優先度が割り当てられてもよい。そのようなパケットは、破棄され、後で再送されてもよい。そのため、ダウンロードの時間が長くなってしまうが、こうすることで、例えば、ボイスオーバーIPを利用する通話が妨げられることはない。さらに、または、代わりに、優先度は、例えばパケットの送信者または受信者に割り当てられたサービスの質(QoS)の等級に基づいて割り当てられてもよい。例えば、通信サービスの或るユーザーはより高価なサービス契約をしている。そのようなユーザーから送られたパケット、またはそのようなユーザーに送られるパケットには、より安価なサービス契約のユーザーから送られたパケット、またはそのようなユーザーに送られるパケットよりも高い優先度が割り当てられてもよい。分類用の他の基準も同様に使用してもよい。
幾つかの実施形態においては、パケット処理エンジン21は、パケットが破棄された場合、パケットの送信者に通知してもよい。他の実施形態においては、さらに、または、代わりに、パケット処理エンジン、またはSoC20のその他の構成要素は、送信者にパケットの処理を知らせてもよい。
図2においては、例として複数のパケットを用いたが、他の実施形態においては、他の種類のデータユニット(例えば、セル、シンボル、またはフレーム等)も同様に用いることができる。
次に、図3および4を参照して、幾つかの実施形態に係る例示的な方法を説明する。当該方法は一連の動作または事象として説明されるが、そのような動作または事象が説明されている順番は、これらに限定して解釈されるべきではない。それどころか、他の実施形態においては、順番が、図に示された順番、および/または説明された順番とは異なっていてもよい。種々の動作または事象は、繰り返し(例えば、周期的に、または非周期的に)行われてもよく、幾つかの動作または事象は、他の動作または事象(明確に説明されていない動作または事象を含む)と並行に行われてもよく、幾つかの動作または事象は省略されてもよく、および/または、追加の動作または事象が設けられてもよい。
説明された方法は、図1または図2の装置を用いて実施されてもよいが、他の装置またはデバイスを用いて実施されてもよい。
ここで図3を参照すると、図3の30に示された実施形態においては、上記の方法は、補助処理装置にてデータを受信する工程を含んでいる。当該データは、処理されるデータ(例えば、通信システムで用いられるパケット化されたデータ)であれば種類を問わない。
さらに、図3の実施形態においては、図3の31にて、上記の方法は、主処理装置の負荷状態に関する情報を補助処理装置にて受信する工程を含んでいる。幾つかの実施形態においては、上記の補助処理装置および主処理装置は、図1を参照して説明されたように実施されてもよい。
図3の32にて、負荷状態に関する情報に応じて、上記の補助処理装置は、受信したデータを破棄、または前処置する。例えば、上記の情報が主処理装置が低い負荷状態にあることを示している場合、補助処理装置によって全データが前処理されてもよい。上記の情報が、主処理装置が高い負荷状態にあることを示している場合、高い優先度を有するデータのみが前処理されると共に、その他のデータは破棄されてもよい。他の実施形態においては他の基準が使用されてもよい。
図3の33にて、図3の32で前処理されたデータは、さらなる処理のため、主処理装置に転送される。その他のデータはさらに処理される必要がなく、直接アウトプットされてもよい。なお、他の実施形態においては、例えばデータの優先度を決定するために、全てのデータが少なくとも部分的に補助処理装置にて前処理されてもよい。そのため、データを破棄すべきかどうかの決定は、図3の33にて転送される前に決定されてもよい。例えば、主処理装置が低い負荷状態にあることを上記の情報が示している場合、全データが主処理装置に転送されてもよい。上記の情報が、主処理装置が高い負荷状態にあることを示している場合、高い優先度を有するデータのみが転送され、その他のデータは破棄されてもよい。他の実施形態においては他の基準が使用されてもよい。
図4を参照して、更に他の実施形態に係る方法をここに説明する。図4の方法に関して、説明の便宜上、データの例として、パケットが処理されることとする。他の実施形態においては、他の種類のデータ(例えば、セルまたはフレーム)が処理されてもよい。
図4の実施形態においては、図4の40にて、パケット処理エンジン(例えば、図2のパケット処理エンジン21、またはその他のパケット処理エンジン)がパケットを受信する。図4の41にて、上記のパケット処理エンジンは、中央処理装置(CPU)の負荷状態に関する情報をさらに受信する。幾つかの実施形態においては、図4の41でのCPUの負荷状態の受信が、図4の40にて受信されるパケットごとに行われてもよい。他の実施形態においては、CPUの負荷状態の受信が、規則的間隔でまたは不規則的間隔で行われてもよい。例えば、幾つかの実施形態においては、CPUは、負荷状態が変化した場合のみ、当該CPUの負荷状態に関する情報を送信してもよい。
図4の42にて、上記のパケット処理エンジンによってパケットが前処理されてもよい。パケットの前処理は、パケット前処理エンジン用に設計されている任意のタスク(例えば、巡回冗長検査、ヘッダ抽出、またはパケットの処理(例えば、ルーティングあるいは転送)に関するその他の動作を含んでいてもよい。さらに、図4の43にて、パケットの優先度が随意に決定される。例えば、パケット処理エンジンは、パケット中のデータの種類(例えば、リアルタイムデータ、非リアルタイムデータ、音声データ、ビデオデータ等)、またはパケットの送信者、および/または受信者が必要とするサービスの質(QoS)に基づいて、パケットの優先度を決定してもよい。他の実施形態においては、パケット自体が、当該パケットの優先度の指標を含んでいてもよく、当該指標は、例えばパケットの送信者において付加されてもよい。この場合、パケット処理エンジンにおける優先度を更に決定する工程が必要とされなくてもよい。
図4の44にて、上記のパケット処理エンジンは、CPUの負荷状態が図4の41で受信した負荷状態にあると仮定した場合、パケットの優先度が、当該CPUで処理するのに十分であるか否かを確認する。例えば、CPUが低い負荷状態にある場合、パケットの優先度に関係なく、全てのパケットが処理されると共に、図4の45においてCPUキュー(CPU queue)に転送されてもよい。例えば、CPUが高い負荷状態にある場合、パケット処理エンジンは、図4の45にて、高い優先度を有するパケットのみをCPUに転送する一方、図4の46にて、低い優先度を有するパケットを破棄してもよい。CPUが中程度の負荷状態にある場合、例えば、パケット処理エンジンは、図4の46にて、低い優先度を有するパケットを破棄する一方、図4の45にて、高い優先度または中程度の優先度を有するパケットをCPUキューに転送してもよい。
図4の実施形態においては、各パケットが図4の42において前処理されてもよいが、他の実施形態においては、当該前処理が図4の44と45の間で全体にまたは部分的に前処理が行われてもよい。つまり、幾つかの実施形態においては、優先度およびCPUの負荷状態に基づいてCPUキューに転送されるのであれば、パケット処理エンジンは前処理パケットのみをCPUキューに転送してもよい。そうでなければ、そのようなケットは前処理されずに破棄されてもよい。
他の試み(例えば、2つの優先度レベルのみを使用する試み)を採用してもよい。他の実施形態においては、4つ以上の負荷状態レベル(例えば、負荷状態がパーセント値で与えられる)、および/またはパケットの3つ以上の優先度レベルを使用してもよい。他の実施形態においては、パケット以外のデータユニット(例えばセル)を使用してもよい。
上記の実施形態は、説明に役立つ例を示しているにすぎないと共に、これらに限定されると解釈されるべきではない。
実施形態に係る装置のブロック図である。 他の実施形態に係る装置のブロック図である。 実施形態に係る方法を示すフローチャートである。 他の実施形態に係る方法を示すフローチャートである。

Claims (20)

  1. 処理されるデータを受信するように構成された補助処理装置と、
    主処理装置と、
    上記主処理装置から上記補助処理装置へのフィードバック経路とを備え、
    上記主処理装置は、上記フィードバック経路を介して、上記主処理装置の負荷状態について上記補助処理装置に通知するように構成され、
    上記補助処理装置は、上記主処理装置の負荷状態および上記データの優先度に基づいて、受信したデータを選択的に破棄するように構成されていることを特徴とする装置。
  2. 上記補助処理装置は、さらに、上記優先度および上記負荷状態に基づいて、前処理したデータを上記主処理装置に転送するように構成されていることを特徴とする請求項1に記載の装置。
  3. 上記補助処理装置は、データを処理するための限定的な一連の機能を備えていることを特徴とする請求項1に記載の装置。
  4. 上記補助処理装置は、限定的な一連の処理を実行するためのハードウェア、ファームウェア、またはハードウェアとファームウェアとの組み合わせを備えていることを特徴とする請求項3に記載の装置。
  5. 上記補助処理装置は、受信したデータに優先度を割り当てるための分類エンジンを備えていることを特徴とする請求項1に記載の装置。
  6. 上記主処理装置は、少なくとも2つの異なる負荷状態区域のうちの1つを示すことによって当該主処理装置の負荷状態についての情報を送信するように構成されていることを特徴とする請求項1に記載の装置。
  7. 上記補助処理装置は、上記主処理装置が高い負荷状態にある場合、低い優先度のデータを破棄するように構成されていることを特徴とする請求項1に記載の装置。
  8. 入力データユニットを受信するためのデータユニット処理エンジンと、
    中央処理装置(CPU)と、
    上記データユニット処理エンジンと上記CPUとの間で動作可能に結合されたCPUキューと、
    上記CPUから上記データユニット処理エンジンへのフィードバック経路とを備え、
    上記CPUは、上記フィードバック経路を介して、上記CPUの負荷状態について上記データ処理エンジンに通知するように構成され、
    上記データユニット処理エンジンは、受信したデータユニットの優先度および上記CPUから受信した負荷状態情報に基づいて、上記受信したデータユニットを選択的に上記CPUキューに転送するように構成されていることを特徴とするシステム・オン・チップ。
  9. 上記データユニット処理エンジンは、上記CPUキューに上記データユニットを転送する前に、当該データユニットを前処理するように構成されていることを特徴とする請求項8に記載のシステム・オン・チップ。
  10. 上記データユニット処理エンジンは、上記負荷状態情報および上記データユニットの優先度に基づいて上記CPUキューに転送されないデータユニットのうち、少なくとも幾つかを破棄するように構成されていることを特徴とする請求項8に記載のシステム・オン・チップ。
  11. 上記データユニットがパケットであることを特徴とする請求項8に記載のシステム・オン・チップ。
  12. 上記データユニット処理エンジンは、上記データユニットに優先度を割り当てるための分類エンジンをさらに備えていることを特徴とする請求項8に記載のシステム・オン・チップ。
  13. 上記負荷状態情報は、低い負荷状態にあることを示す第1情報、中程度の負荷状態にあることを示す第2情報、および高い負荷状態にあることを示す第3情報から選択されることを特徴とする請求項8に記載のシステム・オン・チップ。
  14. 上記優先度は、高い優先度、中程度の優先度、または低い優先度から選択され、
    低い負荷状態にある場合には、上記データユニットの優先度に関わらず、全データユニットが上記CPUキューに転送され、
    中程度の負荷状態にある場合には、高い優先度または中程度の優先度のデータユニットのみが上記CPUキューに転送される一方、低い優先度のデータユニットは破棄され、
    高い負荷状態にある場合には、高い優先度のデータユニットのみが上記CPUキューに転送される一方、中程度の優先度または低い優先度のデータユニットは破棄されることを特徴とする請求項13に記載のシステム・オン・チップ。
  15. 補助処理装置にてデータを受信するステップと、
    上記補助処理装置にて主処理装置の負荷状態を受信するステップと、
    受信した負荷状態および上記データの優先度に応じて、選択的にデータを破棄するステップとを含んでいることを特徴とする方法。
  16. 上記負荷状態および上記データの優先度に基づいて、前処理されたデータを選択的に上記主処理装置へ転送するステップをさらに含んでいることを特徴とする請求項15に記載の方法。
  17. 上記データを受信するステップが、パケットデータを受信するステップを含んでいることを特徴とする請求項15に記載の方法。
  18. 受信したデータに優先度を割り当てるステップをさらに含んでいることを特徴とする請求項15に記載の方法。
  19. 上記優先度を割り当てるステップは、データの種類に基づいて優先度を割り当てるステップおよび上記データの送信者または受信者のサービスのクラスに基づいて優先度を割り当てるステップの少なくとも1つを含んでいることを特徴とする請求項18に記載の方法。
  20. 上記データを上記主処理装置に転送するステップは、上記主処理装置に割り当てられたキューに上記データを転送するステップを含んでいることを特徴とする請求項15に記載の方法。
JP2015050846A 2014-03-13 2015-03-13 デバイス間のフロー制御 Expired - Fee Related JP6104970B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/207,695 2014-03-13
US14/207,695 US20150261721A1 (en) 2014-03-13 2014-03-13 Flow control between processing devices

Publications (2)

Publication Number Publication Date
JP2015176607A true JP2015176607A (ja) 2015-10-05
JP6104970B2 JP6104970B2 (ja) 2017-03-29

Family

ID=52745855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015050846A Expired - Fee Related JP6104970B2 (ja) 2014-03-13 2015-03-13 デバイス間のフロー制御

Country Status (7)

Country Link
US (1) US20150261721A1 (ja)
EP (1) EP2919117A3 (ja)
JP (1) JP6104970B2 (ja)
KR (1) KR20150107681A (ja)
CN (2) CN104917693A (ja)
BR (1) BR102015005315A2 (ja)
TW (1) TWI573020B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019244312A1 (ja) * 2018-06-21 2019-12-26 三菱電機株式会社 データ処理装置、データ処理システム、データ処理方法及びプログラム
US20210184977A1 (en) * 2019-12-16 2021-06-17 Citrix Systems, Inc. Cpu and priority based early drop packet processing systems and methods
WO2024025235A1 (ko) * 2022-07-29 2024-02-01 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121667A (ja) * 2004-09-27 2006-05-11 Matsushita Electric Ind Co Ltd パケット受信制御装置及びパケット受信制御方法
JP2007124118A (ja) * 2005-10-26 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> 通信処理回路、通信処理方法
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
JP2009171408A (ja) * 2008-01-18 2009-07-30 Oki Electric Ind Co Ltd パケット処理装置、及びパケット処理方法
JP2009194504A (ja) * 2008-02-13 2009-08-27 Iwatsu Electric Co Ltd コンピュータ装置およびパケット受信制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548533A (en) * 1994-10-07 1996-08-20 Northern Telecom Limited Overload control for a central processor in the switching network of a mobile communications system
US6442139B1 (en) * 1998-01-29 2002-08-27 At&T Adaptive rate control based on estimation of message queuing delay
US6092108A (en) * 1998-03-19 2000-07-18 Diplacido; Bruno Dynamic threshold packet filtering of application processor frames
CN1153427C (zh) * 1999-01-26 2004-06-09 松下电器产业株式会社 数据中继处理方法和装置
US6473086B1 (en) * 1999-12-09 2002-10-29 Ati International Srl Method and apparatus for graphics processing using parallel graphics processors
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US6738378B2 (en) * 2001-08-22 2004-05-18 Pluris, Inc. Method and apparatus for intelligent sorting and process determination of data packets destined to a central processing unit of a router or server on a data packet network
CN1430376A (zh) * 2001-12-30 2003-07-16 深圳市中兴通讯股份有限公司上海第二研究所 自动过负荷控制系统
JPWO2004059914A1 (ja) * 2002-12-26 2006-05-11 松下電器産業株式会社 ネットワーク端末装置、通信過負荷回避方法およびプログラム
DE10327545B4 (de) * 2003-06-18 2005-12-01 Infineon Technologies Ag Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
GB0413482D0 (en) * 2004-06-16 2004-07-21 Nokia Corp Packet queuing system and method
CN1756164A (zh) * 2004-09-27 2006-04-05 松下电器产业株式会社 数据包接收控制装置及方法
CA2594967A1 (en) * 2005-01-13 2006-07-20 Vyyo Inc. Device, system and method of communicating between circuit switch interfaces over an analog modulation communication network
WO2007034935A1 (en) * 2005-09-21 2007-03-29 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US7876696B2 (en) * 2006-01-27 2011-01-25 Texas Instruments Incorporated Adaptive upstream bandwidth estimation and shaping
CN101316194B (zh) * 2007-05-31 2011-04-06 华为技术有限公司 提高监听用户面数据上报可靠性的方法及装置
EP2372962B1 (en) * 2010-03-31 2017-08-16 Alcatel Lucent Method and system for reducing energy consumption in packet processing linecards

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121667A (ja) * 2004-09-27 2006-05-11 Matsushita Electric Ind Co Ltd パケット受信制御装置及びパケット受信制御方法
JP2007124118A (ja) * 2005-10-26 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> 通信処理回路、通信処理方法
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
JP2009171408A (ja) * 2008-01-18 2009-07-30 Oki Electric Ind Co Ltd パケット処理装置、及びパケット処理方法
JP2009194504A (ja) * 2008-02-13 2009-08-27 Iwatsu Electric Co Ltd コンピュータ装置およびパケット受信制御方法

Also Published As

Publication number Publication date
US20150261721A1 (en) 2015-09-17
CN113285887A (zh) 2021-08-20
KR20150107681A (ko) 2015-09-23
TWI573020B (zh) 2017-03-01
BR102015005315A2 (pt) 2015-12-01
EP2919117A3 (en) 2015-11-25
TW201535121A (zh) 2015-09-16
CN104917693A (zh) 2015-09-16
EP2919117A2 (en) 2015-09-16
JP6104970B2 (ja) 2017-03-29

Similar Documents

Publication Publication Date Title
EP3278514B1 (en) Data transmission
US10594609B2 (en) System and method of providing improved throughput control under delay-based congestion situation in a network
KR100988745B1 (ko) Ev-do 네트워크를 통한 서비스 품질 패킷 송신을 위한우선순위화 기술
US8582465B2 (en) System and method for facilitating network performance analysis
US7760629B2 (en) Aggregate data frame generation
CN111801915B (zh) 用于在多径场景中对数据分组进行高效重新排序的技术
CN110557342B (zh) 用于分析和减轻丢弃的分组的设备
US7680039B2 (en) Network load balancing
CN103281257B (zh) 一种协议报文处理方法和设备
EP3751774A1 (en) Dual connectivity flow control
CN103299675B (zh) 用于tcp依赖的流控制的自适应相对比特率管理器
JP2021158664A (ja) 間接通信用のエラー処理のための方法、装置、およびコンピュータプログラム製品
JP6104970B2 (ja) デバイス間のフロー制御
EP2730051B1 (en) Network congestion control with adaptive qos bit-rate differentiation
JP6449347B2 (ja) アプリケーション内フローの優先順位付けをサポートするシステム、方法及びデバイス
KR101348620B1 (ko) 무선 근거리통신망에서 a-mpdu 전송 방법
WO2016061987A1 (zh) 报文处理方法及装置
US8441953B1 (en) Reordering with fast time out
US10547549B2 (en) Processing data flows based on information provided via beacons
WO2024067452A1 (zh) 信息处理方法及通信设备
WO2014131198A1 (zh) 拥塞上行控制方法和设备及系统
JP3896056B2 (ja) フレーム処理方法及びフレーム処理装置
JP5751077B2 (ja) 信号処理装置および信号処理方法
CN115996418A (zh) Bh rlc ch重映射方法及装置
JP2014017705A (ja) 中継装置及びメッセージ中継方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170301

R150 Certificate of patent or registration of utility model

Ref document number: 6104970

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees