JP2010098369A - レート監視装置 - Google Patents

レート監視装置 Download PDF

Info

Publication number
JP2010098369A
JP2010098369A JP2008265362A JP2008265362A JP2010098369A JP 2010098369 A JP2010098369 A JP 2010098369A JP 2008265362 A JP2008265362 A JP 2008265362A JP 2008265362 A JP2008265362 A JP 2008265362A JP 2010098369 A JP2010098369 A JP 2010098369A
Authority
JP
Japan
Prior art keywords
unit
token
packet
identification information
storage unit
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
JP2008265362A
Other languages
English (en)
Other versions
JP5093043B2 (ja
Inventor
Makoto Shimizu
真 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008265362A priority Critical patent/JP5093043B2/ja
Priority to US12/561,512 priority patent/US8422396B2/en
Publication of JP2010098369A publication Critical patent/JP2010098369A/ja
Application granted granted Critical
Publication of JP5093043B2 publication Critical patent/JP5093043B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • 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/22Traffic shaping
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows

Landscapes

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

Abstract

【課題】大容量処理および細やかなレート監視ができるレート監視装置を提供する。
【解決手段】パケットからパケット情報を抽出するパケット情報抽出部と、パケット情報を格納する第1パケット情報記憶部及び第2パケット情報記憶部と、トークン供給用の識別情報を生成するトークン識別情報生成部と、トークン供給用の識別情報を格納する第1トークン識別情報記憶部及び第2トークン識別情報記憶部と、パケット情報記憶部からパケット情報を読み出し、トークン識別情報記憶部からトークン識別情報を読み出す演算部とを備え、パケット情報抽出部はパケット情報を一方のパケット情報記憶部に格納し、演算部は他方のパケット情報記憶部からパケット情報を読み出し、トークン識別情報生成部はトークン供給用の識別情報を一方のトークン識別情報記憶部に格納し、演算部は他方のトークン識別情報記憶部からトークン供給用の識別情報を読み出す、レート監視装置とした。
【選択図】図6

Description

本件は、トークンバケット方式のレート監視装置に関する。
従来パケット転送装置において、入力レート/出力レートの監視を行っているが、今後データの大容量化及び細やかなレート監視の要求が予想される為、要求に対応可能なアーキテクチャが求められている。
パケット転送を行う装置等のインタフェースユニット(Interface Unit)で集線されるデータ容量は年々増大している。
数年前まではFE(Fast Ether:100 Mbps)及びGbE(Giga Bit Ether:1 Gbps)が主流を占めていたが、近年ではネットワークの大容量化が進みバックボーン(Backbone)を中心に10GbE(10 Giga Bit Ether:10 Gbps)のインタフェース(Interface)も
増えている。
Interface UnitではQoS(Quality of Service)機能を具備し、ユーザ毎に転送・廃棄のようなPolicing(レート監視)を行っている。
数年前の集線では、FE及びGbEを束ねるようなインタフェースユニット(Interface Unit)が主流であり、ユニット(Unit)で集線後のデータレートも10GbE程度であったが、近年の大容量化で10GbEさらには20GbEを束ねるユニット(Unit)が求められると共に、集線したデータの細やかなレート監視が求められている。
一般的なポリシング(Policing)方式では、パケット単位での演算処理及びメモリアクセスを行うことで、レート監視を実現している。しかしながら演算処理速度/メモリアクセスには限界がある為、データの大容量化及び細やかなレート監視の要求に対応できなくなる問題があった。
特開2001−308881号公報
演算処理速度/メモリアクセスには限界がある為、大容量化したデータの処理及び細やかなレート監視においてパケット単位での処理を実現するには、デバイスの進化を待つ必要があった。
本件は、大容量処理および細やかなレート監視ができるレート監視装置を提供することを課題とする。
上記課題を解決するために、開示のレート監視装置が、提供される。
開示の態様は、
パケット情報を含むパケットを受信し、前記パケットからパケット情報を抽出するパケット情報抽出部と、
前記パケット情報を格納する第1パケット情報記憶部と、
前記パケット情報を格納する第2パケット情報記憶部と、
トークン供給用の識別情報を生成するトークン識別情報生成部と、
前記トークン識別情報生成部が生成した前記トークン供給用の識別情報を格納する第1トークン識別情報記憶部と、
前記トークン識別情報生成部が生成した前記トークン供給用の識別情報を格納する第2トークン識別情報記憶部と、
前記第1パケット情報記憶部または第2パケット情報記憶部から前記パケット情報を読み出し、第1トークン識別情報記憶部または第2トークン識別情報記憶部から前記トークン供給用の識別情報を読み出す演算部とを、備え、
前記パケット情報抽出部は、前記抽出したパケット情報を、前記第1パケット情報記憶部および前記第2パケット情報記憶部のうちの一方に格納し、
前記演算部は、前記パケット情報抽出部が前記第1パケット情報記憶部に前記パケット情報を書き込んでいる場合は前記第2パケット情報記憶部から前記パケット情報を読み出し、前記パケット情報抽出部が前記第2パケット情報記憶部に前記パケット情報を書き込んでいる場合は前記第1パケット情報記憶部から前記パケット情報を読み出し、
前記トークン識別情報生成部は、前記生成したトークン供給用の識別情報を、前記第1トークン識別情報記憶部および前記第2トークン識別情報記憶部のうちの一方に格納し、
前記演算部は、前記トークン識別情報生成部が前記第1トークン識別情報記憶部に前記トークン供給用の識別情報を書き込んでいる場合は前記第2トークン識別情報記憶部から前記トークン供給用の識別情報を読み出し、前記トークン識別情報生成部が前記第2トークン識別情報記憶部に前記トークン供給用の識別情報を書き込んでいる場合は前記第1トークン識別情報記憶部から前記トークン供給用の識別情報を読み出す、
レート監視装置とした。
開示の態様によると、パケット情報記憶部およびトークン識別情報記憶部を複数備えることで、一方で書き込みをしつつ、他方で読み出しをすることができる。
開示の実施形態によれば、大容量処理および細やかなレート監視ができるレート監視装置を提供することができる。
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、開示の実施形態の構成に限定されない。
〔実施形態〕
《標準の構成例》
(構成)
図1は、ネットワーク構成の例を示す図である。
図1のネットワークは、バックボーンネットワーク100、メトロアクセスネットワーク200、L2SW(Layer 2 Switch)300、ASW(Aggregate Switch)400、および、端末(TR: Terminal)500を含む。L2SW300は、バックボーンネット
ワーク100とメトロアクセスネットワーク200とを接続し得る。L2SW300は、メトロアクセスネットワーク200と端末(TR: Terminal)500とを接続し得る。
L2SW300は、メトロアクセスネットワーク200とASW(Aggregate Switch)400とを接続し得る。ASW400は、L2SW300と端末(TR)500とを接続する。端末(TR)500は、L2SW300等を経由して、メトロアクセスネットワーク200、バックボーンネットワーク100等と通信する。
L2SW(Layer 2 Switch)300は、イーサフレーム(Ether Frame)10の転送処
理、および、レート監視等を行うことができる。イーサフレーム10は、送信先アドレス(DA: Destination Address)、送信元アドレス(SA: Source Address)、および
、VLAN(Virtual Local Area Network)タグを含む。
図2は、L2SWの装置の全体構成の例を示す図である。
図2のL2SW(Layer 2 Switch)300は、4つのLIU Card(LIU Card#0乃至#4)310、および、SW(Switch)370を有する。各LIU Card310は、Ingress機能部322、Egress機能部332、IF(Interface)342、および、4つのポート(P0乃至P3)352を有する。Ingress機能部322は、入力信
号に対する処理を行う。Ingress機能部322は、入力レート監視機能(ポリサ、policer)部324を有する。Egress機能部332は、出力信号に対する処理を行う。Egress機能部332は、出力レート監視機能(シェーパ、shaper)部334を有する。L2SW300における、LIU Card310、および、ポート352の数は、上記の例に限られず、設置形態等に応じて、任意の数とすることができる。
入力レート監視機能部、および、出力レート監視機能部は、それぞれ、独立した入力レート監視機能(ポリシング、Policing)装置、出力レート監視機能(シェーピング、Shaping)装置とすることもできる。
LIU Card310の各ポート352で入出力されるL2 Frameは、Frame多重される。Ingress方向では、Ingress機能部のポリサ機能部が入力レート監視(ポリサ)を行う。Egress方向では、Egress機能部のシェーパ機能部が出力レート監視(シェーパ)を行う。
以下、Ingress機能部の入力レート監視(ポリサ)機能部について説明するが、Egress
機能部の出力レート監視(シェーパ)機能部に対しても同様に適用することができる。
〈入力レート監視機能部〉
図3は、入力レート監視機能部の構成の例を示す図である。入力レート監視機能部は、それぞれ、入力レート監視機能(ポリシング、Policing)装置とすることもできる。
入力レート監視機能部324は、タイマ(Timer)部1010、パケット(Packet)情
報抽出部1030、リソース(Resource)供給部1040、パケットバッファ(Packet Buffer)部1050、演算部1080、トークン(Token)供給設定部1110、トークン(Token)カウンタ部1120を有する。
これらの処理部のうち、任意の複数を、1つの処理部としてもよい。また、これらの処理部のうち任意の1つが、複数の処理部としての処理を行ってもよい。これらの各処理部は、ハードウェアとしても、ソフトウェアとしても実現され得る。以後に記載される構成要素についても同様である。
タイマ部1010は、トークン供給タイミング情報及びパケット演算タイミング情報を生成する。
パケット情報抽出部1030は、パケットデータからパケット情報を抽出する。パケット情報抽出部1030は、パケットデータをパケットバッファ部1050に送信する。パケット情報抽出部1030は、パケット情報を演算部1080に送信する。パケット情報は、PID(Policer ID)およびパケット長を含む。
リソース供給部1040は、トークン供給設定部1110から許容バースト量及びトークン供給量を受信する。リソース供給部1040は、トークンカウンタ部1120から現在の疎通可能データ量を受信する。リソース供給部1040は、トークン供給設定部1110及びトークンカウンタ部1120から受信したデータを基に、トークン演算処理(トークン加算処理)を行い、トークンカウンタ部1120の現在の疎通可能データ量の更新を行う。
パケットバッファ部1050は、パケット情報抽出部1030からパケットデータ受信後ポリシング(Policing)処理を行うまでの間、パケットデータを保持する。ポリシング処理は、パケットの廃棄の要否を決定する処理である。
演算部1080は、パケット情報抽出部1030からパケット情報を受信する。演算部1080は、受信したパケット情報のPIDに対応する現在の疎通可能データ量を、トークンカウンタ部1120から読み出す。演算部1080は、パケット演算処理(ポリシング処理)を行う。
トークン供給設定部1110は、PID毎に許容バッファ量およびトークン供給量を格納する。図3の例では、入力レート監視機能部324は、トークン供給設定部1110を8個有し、8個のPIDを同時に処理できる。トークン供給部1110は、内部RAM(Random Access Memory)で実現され得る。
トークンカウンタ部1120は、PID毎に現在の疎通可能データ量を管理する。図3の例では、入力レート監視機能部324は、トークンカウンタ部1120を8個有し、8個のPIDを同時に処理できる。トークンカウンタ部1120は、内部RAM(Random Access Memory)で実現され得る。
(動作)
ネットワーク内のトラフィック(流量)を測定する方式として、トークンバケット方式と呼ばれる方式がある。トークンは、定期的にバケットに補充される流量である。
〈パケットデータ処理〉
パケット情報抽出部1030は、パケットデータ(Packet Data、主信号データ)を受
信すると、該パケットデータからパケット情報を抽出する。パケット情報は、PIDおよびパケット長を含む。パケット情報抽出部1030は、抽出したパケット情報を、ポリシング処理を行う演算部1080に送信する。また、パケット情報抽出部1030は、受信したパケットデータをパケットバッファ部1050に格納する。演算部1080は、ポリシング処理(ポリシング演算処理)が終了したパケットデータを、パケットバッファ部1050から読み出し、後段に送出する。
〈トークン演算処理〉
トークン供給設定部1110は、外部からのCPU設定に従い、PID毎に一定期間(トークン周期)内に通過可能なデータ量(トークン供給量)、許容バースト量、PID有効/無効設定を、書き込み、保持する。
タイマ部1010は、トークン供給設定部1110及びトークンカウンタ部1120がリソース供給部1040にデータを送信するタイミングを指示するトークン供給タイミング情報を生成する。タイマ部1010は、トークン供給タイミング情報をトークン供給設定部1110及びトークンカウンタ部1120に送信する。
トークン供給設定部1110は、トークン供給タイミング情報に従い、リソース供給部
1040に許容バースト量及びトークン供給量に送信する。トークンカウンタ部1120は、トークン供給タイミング情報に従い、リソース供給部1040に現在の疎通可能データ量を送信する。
リソース供給部1040は、現在の疎通可能データ量にトークン供給量を加算し、新たな現在の疎通可能データ量とする。新たな現在の疎通可能データ量が許容バースト量を超える場合は、リソース供給部1040は、許容バースト量を新たな現在の疎通可能データ量とする。リソース供給部1040は、新たな現在の疎通可能データ量をトークンカウンタ部1120に書き込む。
〈パケット演算処理〉
演算部1080は、パケット情報抽出部1030からパケット情報を受信する。タイマ部1010は、パケット演算を行うタイミングを指示するパケット演算タイミング情報を、演算部1080に送信する。演算部1080は、パケット演算タイミング情報に従い、トークンカウンタ部1120からパケット情報のPIDに対応する現在の疎通可能データ量を読み出す。演算部1080は、現在の疎通可能データ量からパケット情報に含まれるパケット長を減算し、新たな現在の疎通可能データ量とする。現在の疎通可能データ量がパケット長よりも小さい場合は、演算部1080は、減算を行わない。現在の疎通可能データ量が負である場合に、演算部1080は減算を行わないとすることもできる。演算部1080は、新たな現在の疎通可能データ量を、トークンカウンタ部1120に書き込む。
演算部1080は、減算を行わなかった場合、当該パケットに対する廃棄フラグと、パケットバッファ部1050に格納した当該パケットのパケットデータと、を後段に送出する。廃棄フラグは、対応するパケットを廃棄することが必要であることを意味する。
演算部1080は、減算を行った場合、パケットバッファ部1050に格納した当該パケットのパケットデータを後段に送出する。このとき、演算部1080は、疎通フラグを後段に送出してもよい。疎通フラグは、対応するパケットを廃棄することが不要であることを意味する。
〈タイムチャート〉
図4は、標準の構成例のタイムチャートの例を示す図である。図4の例では、データ容量10Gbps、クロック(Clock、CLK)速度200MHzのポリシング装置(もしくは、入力レート監視機能部)の例を示す。図4のポリシング装置では、パケットの入力間隔、および、トークン供給間隔が、それぞれ8クロックに1回となる。
図4のタイムチャートの横方向は、時間を示す。クロック速度が200MHzであることから、1つのタイムスロットは、200,000,000分の1秒となる。内部クロック(内部CLK)は、装置内で、200,000,000分の1秒毎に時間を刻む。パケットのFPは、入力パケットのフレームパルスを表す。パケットは、フレームパルスに合わせてポリシング装置に入力される。パケットのPIDは、入力パケットのPIDを示す。図4の例では、PIDが「a」のパケット、「b」のパケットの順に入力される。トークンのFPは、トークンのフレームパルスを表す。トークンのPIDは、これから処理するトークンのPIDを示す。ここでは、内部RAMが8個あるので、8個のトークンを同時に処理できる。図4の例では、PIDが0乃至7のトークンを同時に処理する。タイマは、タイマ部1010が生成する演算タイミング情報を示す。
トークン供給部1110の「Write DATA」「Write XEN (Write enable)」「Read DATA
」「Read XEN (Read enable)」は、トークン供給部1110に対する読み書きのメモリア
クセスの帯域(タイミング)を示す。
トークンカウンタ部1120の「Write DATA」「Write XEN (Write enable)」「Read DATA」「Read XEN (Read enable)」は、トークン供給部1120に対する読み書きのメモ
リアクセスの帯域(タイミング)を示す。
書き込みの場合、「Write XEN」が0であるタイムスロットで「Write DATA」を行う。
つまり、メモリアクセスと同時に書き込みが行われる。一方、読み込みの場合、「Read XEN」が0であるタイムスロットの次のタイムスロットで「Read DATA」が行われる。つま
り、メモリアクセスした次のタイムスロットで読み込みが行われる。
図4の最下行のタイムスロット番号を使用して、メモリアクセス帯域割り当てについて説明する。
タイムスロット1で、PIDが「a」の、現在の疎通可能データ量を読み込む。タイムスロット2で、外部から現在の疎通可能データ量を確認する。タイムスロットは、使用不可である。タイムスロット4で、トークン供給部1110及びトークンカウンタ部1120から、PIDが0乃至7の、トークン供給量、現在の疎通可能データ量等を読み込む。タイムスロット5は、使用不可である。タイムスロット6で、これから書き込むPIDのトークンカウンタ部1120の疎通可能データ量をクリアする。タイムスロット7で、PIDが「a」の、演算処理後の現在の疎通可能データ量を書き込む。タイムスロット8で、PIDが0乃至7の、演算処理後の現在の疎通可能データ量を書き込む。
よって、入力パケットに対応する現在の疎通可能データ量の更新には、読み出し後5クロック必要である。また、入力パケット及びトークン供給による現在の疎通可能データ量の更新(トークンカウンタ部1120の更新)には、3クロック必要である。また、これらの1連のサイクルには、8クロック必要となる。トークン供給間隔は、8クロックに1回であり、内部RAMが8個存在するので、8クロックに8PIDを処理できる。
《構成例1》
次に構成例1について説明する。構成例1は、上記の標準の構成例との共通点を有する。従って、主として相違点について説明する。
図5は、標準の構成例のタイムチャートの他の例を示す図である。図4の例では、データ容量10Gbps、クロック速度200MHzのポリシング装置の例であったが、図5の例では、データ容量20Gbps、クロック速度200MHzのポリシング装置(もしくは、入力レート監視機能部)の例である。図5の例では、図4の例に対し、2倍のパケットが入力される。図5のポリシング装置では、パケットの入力間隔は4クロックに1回となる。
しかしながら、上述のように、入力パケットに対応する現在の疎通可能データ量の更新には読み出し後5クロック必要である。したがって、図5の例では、現在の疎通可能データ量の更新前に、次の入力パケットが読み込まれる。すると、例えば、PID「a」とPID「b」とが同じである場合、現在の疎通可能データ量の更新をうまくできなくなる。同じPIDの現在の疎通可能データ量で、トークンカウンタ部への書き込みの前に、別の読み込みを行うことになるからである。
よって、標準の構成では、データ容量20Gbps、クロック速度200MHzのポリシング装置を実現できない。
構成例1では、インフォキャッシュ、キャッシュレジスタを使用することにより、より大容量及びより細やかなレート監視を実現する。
(構成)
構成例1のネットワーク構成は、図1の標準の構成のネットワーク構成と同様である。また、構成例1のL2SWの装置の全体構成は、図2のL2SWの装置の全体構成と同様である。
〈入力レート監視機能部〉
図6は、構成例1の入力レート監視機能部の構成の例を示す図である。入力レート監視機能部は、それぞれ、入力レート監視機能(ポリシング、Policing)装置とすることもできる。
入力レート監視機能部324は、タイマ(Timer)部2010、トークンPID(Token
PID)生成部2020、パケット(Packet)情報抽出部2030、パケットバッファ(Packet Buffer)部2050、A面インフォキャッシュ(InfoCash@A)部2061、B面イ
ンフォキャッシュ(InfoCash@B)部2062、A面キャッシュレジスタ(CashRegister@A)部2071、B面キャッシュレジスタ(CashRegister@B)部2072、演算部2080、インフォバッファ部2090、トークン(Token)供給設定部2110、トークン(Token)カウンタ部2120を有する。トークン供給設定部2110およびトークンカウンタ部2120は、内部メモリにより実現され得る。
タイマ部2010は、各種タイミング情報を生成する。演算部2080等はタイマ部が生成したタイミング情報に従って、動作する。
トークンPID生成部2020は、トークン供給を行うトークンのトークンPIDを生成する。
パケット情報抽出部2030は、パケットデータからパケット情報を抽出する。パケット情報抽出部2030は、パケットデータをパケットバッファ部2050に送信する。パケット情報抽出部2030は、パケット情報を、A面インフォキャッシュ部2061またはB面インフォキャッシュ部2061に書き込む。書き込み先は、タイマ部2010が生成するタイミング情報によって決定される。
パケットバッファ部2050は、パケット情報抽出部2030からパケットデータ受信後ポリシング処理を行うまでの間、パケットデータを保持する。
A面インフォキャッシュ部2061及びB面インフォキャッシュ部2062は、パケット情報を保持する。タイマ部2010が生成するタイミング情報が、パケット情報を保持するインフォキャッシュ部(A面またはB面)を決定する。
A面キャッシュレジスタ部2071及びB面キャッシュレジスタ部2072は、トークンPID生成部2020が生成したトークンPIDを保持する。トークンPIDは、トークン供給を行うトークンのPIDである。タイマ部2010が生成するタイミング情報が、トークンPIDを保持するキャッシュレジスタ部(A面またはB面)を決定する。
演算部2080は、パケット情報、トークンPID、トークン供給部2110からのデータ、トークンカウンタ部2120からのデータを基に、ポリシング演算処理を行う。
インフォバッファ部2090は、演算部2080の演算結果により、パケットの疎通情
報又は廃棄情報を格納する。パケットの疎通情報又は廃棄情報は、疎通フラグ又は廃棄フラグとして、後段に送出される。
トークン供給設定部2110は、PID毎に許容バッファ量およびトークン供給量を格納する。図6の例では、入力レート監視機能部324は、トークン供給設定部2110を8個有し、8個のPIDを同時に処理できる。トークン供給部2110は、内部RAM(Random Access Memory)で実現され得る。
トークンカウンタ部2120は、PID毎に現在の疎通可能データ量を管理する。図6の例では、入力レート監視機能部324は、トークンカウンタ部2120を8個有し、8個のPIDを同時に処理できる。トークンカウンタ部2120は、内部RAM(Random Access Memory)で実現され得る。
(動作)
〈パケットデータ処理〉
パケット情報抽出部2030は、パケットデータ(Packet Data、主信号データ)を受
信すると、該パケットデータからパケット情報を抽出する。パケット情報抽出部2030は、抽出したパケット情報を、タイマ部2010で生成されるタイミング情報に従って、A面インフォキャッシュ部2061又はB面インフォキャッシュ部2062に、書き込む。また、パケット情報抽出部2030は、受信したパケットデータをパケットバッファ部2050に格納する。
バケットバッファ部2050に格納されたパケットデータは、当該パケットデータに対応する疎通フラグ又は廃棄フラグと共に、後段に送出される。
〈ポリシング演算処理〉
トークン供給設定部2110は、外部からのCPU設定に従い、PID毎に一定期間(トークン周期)内に通過可能なデータ量(トークン供給量)、許容バースト量、PID有効/無効設定を、書き込み、保持する。
インフォキャッシュ部は、A面インフォキャッシュ部2061及びB面インフォキャッシュ部2062の2面構成である。パケット情報抽出部2030がA面インフォキャッシュ部2061にパケット情報を書き込んでいるタイミングでは、演算部2080は、B面インフォキャッシュ部2062のパケット情報を使用して、演算を行う。逆に、パケット情報抽出部2030がB面インフォキャッシュ部2062にパケット情報を書き込んでいるタイミングでは、演算部2080は、A面インフォキャッシュ部2061のパケット情報を使用して、演算を行う。
また、キャッシュレジスタ部も、A面キャッシュレジスタ部2071及びB面キャッシュレジスタ部2072の2面構成である。トークンPID生成部2020がA面キャッシュレジスタ部2071にトークンPIDを書き込んでいるタイミングでは、演算部2080は、B面キャッシュレジスタ部2072のトークンPIDを使用して、演算を行う。逆に、トークンPID生成部2020がB面キャッシュレジスタ部2072にトークンPIDを書き込んでいるタイミングでは、演算部2080は、A面キャッシュレジスタ部2071のトークンPIDを使用して、演算を行う。
演算部2080は、インフォキャッシュ部から読み込んだパケット情報のPIDと、キャッシュレジスタ部から読み込んだトークンPIDとを比較して、一致/不一致フラグを生成する。
また、演算部2080は、パケットのPID(Packet PID、PPID)と、トークンPID(Token PID、TPID)とを使用して、トークン供給設定部2110及びトークン
カウンタ部2120に連続アクセスし、PID毎に、許容バースト量、トークン供給量、および、現在の疎通可能データ量を読み出す。
演算部2080は、PPIDとTPIDとの一致/不一致フラグと、PPID毎のパケット長、許容バースト量、トークン供給量、および、現在の疎通可能データ量とを使用して、ポリシング演算を行う。
演算部2080は、PID毎に、現在の疎通可能データ量(Aとする)に、トークン供給量を加算し、新たな現在の疎通可能データ量(Bとする)とする。新たな現在の疎通可能データ量が許容バースト量を超える場合は、演算部2080は、許容バースト量を新たな現在の疎通可能データ量(B)とする。
さらに、演算部2080は、入力されたパケットのPID毎に、演算した現在の疎通可能データ量(B)から、パケット長を減算し、新たな現在の疎通可能データ量(Cとする)とする。現在の疎通可能データ量(B)がパケット長よりも小さい場合は、演算部2080は、減算を行わない。現在の疎通可能データ量(B)が負である場合に、演算部2080は減算を行わないとすることもできる。減算を行わなかったときは、現在の疎通可能データ量(B)が、新たな現在の疎通可能データ量(C)となる。
演算部2080は、新たな現在の疎通可能データ量(C)を、トークンカウンタ部2120に書き込む。
演算部2080は、減算を行わなかった場合、当該パケットに対する廃棄情報をインフォバッファ部2090に通知する。演算部2080は、減算を行った場合、当該パケットに対する疎通情報をインフォバッファ部2090に格納する。
インフォバッファ部2090は、タイマ部2010からのタイミング情報に従い、パケットの疎通情報又は廃棄情報を、それぞれ、疎通フラグ又は廃棄フラグとして、後段に送出する。
〈処理フロー〉
図7は、全体の処理フローの例を示す図である。
入力レート監視部324は、入力されたパケットに対してパケット処理を行い(S100)、トークン供給をするトークン処理(S200)を行い、これらを基にポリシング処理を行う(S300)。パケット処理(S100)とトークン処理(S200)との順序は、逆になってもよい。また、並行して処理することも可能である。
図8は、図7のパケット処理のフローの例を示す図である。
タイマ部2010は、入力パケットの処理のタイミング情報をインフォキャッシュ部に通知する。当該タイミング情報は、入力パケットのパケット情報をA面インフォキャッシュ部2061に格納するか、B面インフォキャッシュ部2062に格納するかの情報である。
パケット情報抽出部2030は、インフォキャッシュ部に通知されたタイミング情報を確認する(S102)。タイミング情報がB面の場合(S102;NO)、以下に記載するA面の場合と同様に処理する。タイミング情報がA面の場合(S102;YES)、パ
ケット情報抽出部2030は、パケットデータの入力があるか否かを確認する(S104)。パケットデータの入力がない場合(S104;NO)、ステップS110に進む。
パケットの入力がある場合(S104;YES)、パケット情報抽出部2030は、パケットデータをパケットバッファ部2050に格納する(S106)。また、パケット情報抽出部2030は、入力されたパケットデータからパケット情報を抽出し、A面インフォキャッシュ部2061に格納する。
演算部2080は、B面インフォキャッシュ部2062にパケット情報が格納されているか否かを確認する(S110)。パケット情報が格納されていない場合(S110;NO)、パケット処理を終了する。パケット情報が格納されている場合(S110;YES)、演算部2080は、B面インフォキャッシュ部2062からパケット情報を取得する。パケット情報は、パケットのPIDとパケット長を含む。
以上が、パケット処理(図7;S100)である。
図9は、図7のトークン処理のフローの例を示す図である。
タイマ部2010は、トークン供給の処理のタイミング情報をトークンPID生成部2020に通知する。当該タイミング情報は、トークンPIDをA面キャッシュレジスタ部2071に格納するか、B面キャッシュレジスタ部2072に格納するかの情報である。
トークンPID生成部2030は、タイマ部2010から通知されたタイミング情報を確認する(S202)。タイミング情報がB面の場合(S202;NO)、以下に記載するA面の場合と同様に処理する。タイミング情報がA面の場合(S202;YES)、トークンPID生成部2020は、トークン供給があるか否かを確認する(S204)。トークン供給がない場合(S104;NO)、ステップS210に進む。
トークン供給がある場合(S204;YES)、トークンPID生成部2020は、トークンPIDを生成する(S106)。トークンPID生成部2020は、生成したトークンPIDを、A面キャッシュレジスタ部2071に格納する。
演算部2080は、B面キャッシュレジスタ部2072にトークンPIDが格納されているか否かを確認する(S210)。トークンPIDが格納されていない場合(S210;NO)、トークン処理を終了する。トークンPIDが格納されている場合(S210;YES)、演算部2080は、B面キャッシュレジスタ部2062からトークンPIDを取得する。
以上が、トークン処理(図7;S200)である。
図10は、図7のポリシング処理のフローの例を示す図である。
演算部2080は、インフォキャッシュ部から取得したパケット情報のPIDと、キャッシュレジスタ部から取得したトークンPIDと、を比較して、一致不一致フラグを生成する(S302)。
演算部2080は、取得した各PIDについて、トークン供給設定部2110及びトークンカウンタ部2120に連続アクセスし、許容バースト量、トークン供給量、および、現在の疎通可能データ量を読み出す(S304)。
演算部2080は、一致/不一致フラグと、PPID毎のパケット長、許容バースト量、トークン供給量、および、現在の疎通可能データ量とを使用して、ポリシング演算を行う(S306)。
演算部2080は、トークンカウンタ部2120に、PID毎に、演算結果である現在の疎通可能データ量を、書き込む(S308)。
演算部2080は、インフォバッファ部2090に、疎通情報、廃棄情報を書き込む(S310)。現在の疎通可能データ量から、パケットのパケット長を減算できなかった場合、そのパケットは、廃棄と判断される。
インフォバッファ部2090は、タイマ部2010からのタイミング情報に従って、インフォバッファ部2090に格納される疎通情報または廃棄情報を、疎通フラグ又は廃棄フラグとして後段に送出する。同時に、このフラグに対応するパケットデータは、パケットバッファ部から後段に送出される(S312)。
以上が、ポリシング処理(図7;S300)である。
(具体例)
図11、図12、図13、および、図14は、パケット入力の動作の具体例を示す図である。
パケットが4つ連続入力する場合について説明する。このときのパケットのPID(PPID)を、それぞれ入力順に「4」、「120」、「10」、「4」であるとする。このときのトークン供給用のPID(TPID)を「0」、「1」、...、「14」、「15」であるとする。
入力パケットの処理のタイミング情報がA面である場合、図12のようにPPIDはA面インフォキャッシュ部2061に格納される。また、トークンの処理のタイミング情報がA面である場合、トークン供給用のTPIDは、図13のように、A面キャッシュレジスタ部2071に格納される。PPIDとTPIDとは、それぞれ、格納された際に格納フラグを立てる。
入力パケットの処理のタイミング情報およびトークンの処理のタイミング情報が、B面に変わったとき、演算部2080は、A面インフォキャッシュ部2061からPPIDを、A面キャッシュレジスタ部2071からTPIDを読み出す。
演算部2080は、読み出したPPID及びTPIDとを比較して、図11のように、PID毎に、一致/不一致フラグを生成する。
演算部2080は、Policing回路1〜20を保有している。演算部2080は、その内、Policing回路1乃至16にTPIDを格納する。演算部2080は、格納した際に格納フラグを立てる。その後、演算部2080は、PPIDとTPIDとを比較し、同じPIDがあれば、一致フラグを立てる。同じPIDがなければPolicing回路17乃至20にTPIDを格納し格納フラグと一致フラグを立てる。
演算部2080は、一致/不一致フラグを生成した後、Policing回路1乃至16と、Policing回路17乃至20の一致フラグが立っているPIDに対し、トークン供給設定部2110及びトークンカウンタ部2120から、読み出したデータを用いてにてポリシング演算を実施する。
演算部2080は、ポリシング演算を実施した結果をトークンカウンタ部2120に書き込む。
図15は、演算部の演算結果と、インフォバッファ部の格納例を示す図である。
演算部2080は、各PPIDについて、パケットの有効/無効の情報と、パケットを廃棄するか否かの情報(疎通/廃棄情報)とを、インフォバッファ部2090に格納する。パケットの有効/無効とは、パケットの存在の有無を示す情報である。例えば、パケットが入力されていないときは、無効となる。
図16は、パケット入力の動作の別の具体例を示す図である。
パケットが4つ連続入力する場合について説明する。このときのPPIDを、それぞれ入力順に「4」、「7」、「7」、「8」であるとする。このときのトークン供給用のTPIDを「0」、「1」、...、「7」であるとする。
このとき、PPIDが「7」であるパケットが、2つ(Packet2及びPacket3)入力されている。また、TPIDが「7」であるトークンも存在する。従って、PIDが「7」の場合の一致フラグは、この2つについて立てられる。
図17は、トークン供給設定部の構成例を示す図である。
トークン供給設定部2110は、PID毎に、PIDの有効又は無効を示す「on/off」設定、許容されるバースト量を示すバースト設定、および、1回当たりのトークン供給量を示すトークン設定の情報を有する。「on/off」設定がoffの場合は、PIDが無効であることを意味し、当該PIDに対してはポリシング演算を行わない。当該PIDを有するパケットは、破棄されない。トークン供給設定部2110は、外部のCPU等からのアクセスにより、書き換えられ得る。
図18は、トークンカウンタ部の構成例を示す図である。
トークンカウンタ部2120は、PID毎に、PIDの演算中か否かを示す「on/off」設定、現在の疎通可能データ量を示すトークンカウンタの情報を有する。トークンカウンタ部2120は、演算部2080により、書き換えられ得る。
〈タイムチャート〉
図19は、構成例1のタイムチャートの例を示す図である。図19の例では、データ容量10Gbps、クロック(Clock、CLK)速度200MHzのポリシング装置(もしくは、入力レート監視機能部)の例を示す。図19のポリシング装置では、パケットの入力間隔が8クロックに1回、トークン供給間隔が8クロックに4回となる。
図19のタイムチャートの横方向は、時間を示す。最上段のタイムスロットは、内部クロック、FP、パケットのPID、トークンのPID、A面のインフォキャッシュ部およびキャッシュレジスタ部、B面のインフォキャッシュ部およびキャッシュレジスタ部に、対するタイムスロットである。中段のタイムスロットは、トークンカウンタ部2120の「Write DATA」「Write XEN (Write enable)」「Read DATA」「Read XEN (Read enable)
」に対するタイムスロットである。それぞれの列の記載は、インフォキャッシュ部またはキャッシュレジスタ部に格納されるパケット情報、トークンPIDを示す。
図19の例では、パケットが8クロック毎に入力される。また、トークンは8クロックあたり32個ずつ処理される。
入力されたパケットからパケット情報が、抽出される。抽出されたパケット情報は、2個ずつ、順に、A面インフォキャッシュ部2061、または、B面インフォキャッシュ部2062に格納される。パケット情報は、パケットのPID及びパケット長を含む。インフォキャッシュ部に格納できるパケット情報の数は、データ容量等に応じて、可変とすることができる。
また、トークン供給用のトークンPIDは、トークンPID生成部2020で生成される。生成されたトークンPIDは、32個ずつ、順に、A面キャッシュレジスタ部2071、または、B面キャッシュレジスタ部2072に格納される。
図19の例では、タイムスロット1乃至8で、PIDが「a」であるパケットが入力される。タイムスロット9乃至16では、PIDが「b」であるパケットが入力される。これらのパケットのパケット情報は、A面インフォキャッシュ部2061に入力される。タイムスロット17乃至24で、PIDが「c」であるパケットが入力される。タイムスロット25乃至32では、PIDが「d」であるパケットが入力される。これらのパケットのパケット情報は、B面インフォキャッシュ部2062に入力される。
また、タイムスロット9乃至16では、PIDが0乃至31のトークンPIDが生成され、A面キャッシュレジスタ部2071に入力される。さらに、タイムスロット17乃至24では、PIDが32乃至63のトークンPIDが生成され、B面キャッシュレジスタ部2072に入力される。
演算部2080は、タイムスロット17及び18で、トークンカウンタ部2120からPIDが「a」及び「b」のトークンカウンタ(現在の疎通可能データ量)を、読み出す。また、演算部2080は、タイムスロット19乃至22で、PIDが「0」乃至「31」のトークンカウンタを、読み出す。内部メモリは、8個ずつ存在するので、4クロックで32個のトークンカウンタを読み出すことができる。
演算部2080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部2080は、タイムスロット25乃至30で、演算結果をトークンカウンタ部2120に書き込む。
演算部2080は、タイムスロット27乃至30で、トークンPIDが「32」乃至「63」のトークンカウンタを、読み出す。ここで、先の書き込みと、タイムスロットが重なるが、トークンPIDは0から所定の値(ここでは、1023)まで順に大きくなるので、重なったタイムスロットでPIDが重複することはない。
演算部2080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部2080は、タイムスロット35乃至38で、演算結果をトークンカウンタ部2120に書き込む。
したがって、図19の例では、8クロックあたり4回、トークン供給処理ができる。よって、8クロックあたり32PIDのトークンを処理できる。
図20は、構成例1のタイムチャートの別の例を示す図である。図20の例では、データ容量20Gbps、クロック(Clock、CLK)速度200MHzのポリシング装置(もしくは、入力レート監視機能部)の例を示す。図20のポリシング装置では、パケットの入
力間隔が4クロックに1回、トークン供給間隔が8クロックに2回となる。
図20の例では、パケットが4クロック毎に入力される。また、トークンは8クロックあたり16個ずつ処理される。
入力されたパケットからパケット情報が、抽出される。抽出されたパケット情報は、4個ずつ、順に、A面インフォキャッシュ部2061、または、B面インフォキャッシュ部2062に格納される。パケット情報は、パケットのPID及びパケット長を含む。
また、トークン供給用のトークンPIDは、トークンPID生成部2020で生成される。生成されたトークンPIDは、16個ずつ、順に、A面キャッシュレジスタ部2071、または、B面キャッシュレジスタ部2072に格納される。
図20の例では、タイムスロット1乃至4で、PIDが「a」であるパケットが入力される。タイムスロット5乃至8では、PIDが「b」であるパケットが入力される。これらのパケットのパケット情報は、A面インフォキャッシュ部2061に入力される。タイムスロット9乃至12で、PIDが「c」であるパケットが入力される。タイムスロット13乃至16では、PIDが「d」であるパケットが入力される。これらのパケットのパケット情報も、A面インフォキャッシュ部2061に入力される。
また、タイムスロット9乃至16では、PIDが0乃至15のトークンPIDが生成され、A面キャッシュレジスタ部2071に入力される。さらに、タイムスロット17乃至24では、PIDが16乃至31のトークンPIDが生成され、B面キャッシュレジスタ部2072に入力される。
演算部2080は、タイムスロット17乃至20で、トークンカウンタ部2120からPIDが「a」「b」「c」「d」のトークンカウンタ(現在の疎通可能データ量)を、読み出す。また、演算部2080は、タイムスロット21および22で、PIDが「0」乃至「15」のトークンカウンタを、読み出す。内部メモリは、8個ずつ存在するので、2クロックで16個のトークンカウンタを読みだすことができる。
演算部2080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部2080は、タイムスロット25乃至30で、演算結果をトークンカウンタ部2120に書き込む。
演算部2080は、タイムスロット29および30で、トークンPIDが「16」乃至「31」のトークンカウンタを、読み出す。ここで、先の書き込みと、タイムスロットが重なるが、トークンPIDは0から所定の値(ここでは、1023)まで順に大きくなるので、重なったタイムスロットでPIDが重複することはない。
演算部2080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部2080は、タイムスロット37および38で、演算結果をトークンカウンタ部2120に書き込む。
したがって、図20の例では、8クロックあたり2回、トークン供給処理ができる。よって、8クロックあたり16PIDのトークンを処理できる。
(構成例1の作用効果)
構成例1によると、デバイス内部にキャッシュレジスタ等を具備することでメモリアクセスをバースト(連続的)で処理し
、大容量化したデータの処理に対してレート監視を行うことができる。また、構成例1によると、標準の構成に比べて、より頻度の高いトークン供給が可能となる。
構成例1によれば、より頻度の高いトークン供給を実現することで、より細やかなレート監視を行うことができる。
《構成例2》
次に構成例2について説明する。構成例2は、上記の標準の構成、構成例1との共通点を有する。従って、主として相違点について説明する。
構成例1は、内部メモリを使用する構成であったのに対し、構成例2は外部メモリを使用する構成である。
(構成)
構成例2のネットワーク構成は、図1の標準の構成のネットワーク構成と同様である。また、構成例2のL2SWの装置の全体構成は、図2のL2SWの装置の全体構成と同様である。
〈入力レート監視機能部〉
図21は、構成例2の入力レート監視機能部の構成の例を示す図である。入力レート監視機能部は、それぞれ、入力レート監視機能(ポリシング、Policing)装置とすることもできる。
入力レート監視機能部324は、タイマ(Timer)部3010、トークンPID(Token
PID)生成部3020、パケット(Packet)情報抽出部3030、パケットバッファ(Packet Buffer)部3050、A面インフォキャッシュ(InfoCash@A)部3061、B面イ
ンフォキャッシュ(InfoCash@B)部3062、A面キャッシュレジスタ(CashRegister@A)部3071、B面キャッシュレジスタ(CashRegister@B)部3072、演算部3080、インフォバッファ部3090、QDR(Quad Data Rate)メモリ(外部メモリ)によるトークン(Token)供給設定部3110、QDRメモリ(外部メモリ)によるトークン(Token)カウンタ部3120を有する。
トークン供給設定部3110、及び、トークンカウンタ部3120以外の構成要素については、構成例1の対応する構成要素と同様である。また、トークン供給設定部3110、及び、トークンカウンタ部3120についても、構成例1では内部メモリであったものが、外部メモリとする以外は同様の機能を有する。
一般に、外部メモリを使用するとメモリアクセスのレイテンシ(メモリアクセスの遅れ)の問題が発生する。そこで、外部メモリとしてQDRメモリを使用することで、外部レイテンシを吸収する。
図21の例では、4個のトークン供給設定部3110及び4個のトークンカウンタ部3120が存在し、それぞれ、4個のPIDを同時に処理できる。
(動作)
構成例2の動作は、構成例1の動作と同様であるため、説明を省略する。
〈タイムチャート〉
図22は、構成例2のタイムチャートの例を示す図である。図22の例では、データ容量20Gbps、クロック(Clock、CLK)速度200MHzのポリシング装置(もしくは
、入力レート監視機能部)の例を示す。図19のポリシング装置では、パケットの入力間隔が4クロックに1回、トークン供給間隔が8クロックに2回となる。
図22のタイムチャートの横方向は、時間を示す。最上段のタイムスロットは、内部クロック、FP、パケットのPID、トークンのPID、A面のインフォキャッシュ部およびキャッシュレジスタ部、B面のインフォキャッシュ部およびキャッシュレジスタ部に、対するタイムスロットである。中段のタイムスロットは、トークンカウンタ部3120の「Address」「RPS」「WPS」「Write DATA」「Read DATA」に対するタイムスロットである。「RPS」「WPS」は、それぞれ、内部メモリの「Read Enable」「Write Enable」に相当
する。
図22の例では、パケットが4クロック毎に入力される。また、トークンは8クロックあたり16個ずつ処理される。QDRメモリでは、1クロックあたり2個のトークンPIDを処理できるからである。
パケット情報及びトークンPIDの格納は、図20の例と同様である。
演算部3080は、タイムスロット18乃至21で、トークンカウンタ部3120からPIDが「a」「b」「c」「d」のトークンカウンタ(現在の疎通可能データ量)を、読み出す。また、演算部3080は、タイムスロット21および22で、PIDが「0」乃至「15」のトークンカウンタを、読み出す。QDRメモリ(外部メモリ)は、4個ずつ存在し、1クロックで2個の連続するトークンカウンタを読み出せるので、2クロックで合計16個のトークンカウンタを読み出すことができる。
演算部3080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部3080は、タイムスロット26乃至31で、演算結果をトークンカウンタ部3120に書き込む。
演算部3080は、タイムスロット30および31で、トークンPIDが「16」乃至「31」のトークンカウンタを、読み出す。ここで、先の書き込みと、タイムスロットが重なるが、QDRメモリでは、問題とならない。
演算部3080は、読み出した情報等に基づいて、ポリシング演算を実行する。演算部3080は、タイムスロット38および39で、演算結果をトークンカウンタ部3120に書き込む。
したがって、図22の例では、8クロックあたり2回、トークン供給処理ができる。よって、8クロックあたり16PIDのトークンを処理できる。
(構成例2の作用効果)
構成例2によると、構成例1のポリシング装置をQDRメモリ(外部メモリ)を使用して、実現することができる。
構成例2によれば、外部メモリを使用することで、PIDの数を容易に増加させることが可能となる。
図1は、ネットワーク構成の例を示す図である。 図2は、L2SWの装置の全体構成の例を示す図である。 図3は、入力レート監視機能部の構成の例を示す図である。 図4は、標準の構成例のタイムチャートの例を示す図である。 図5は、標準の構成例のタイムチャートの他の例を示す図である。 図6は、構成例1の入力レート監視機能部の構成の例を示す図である。 図7は、全体の処理フローの例を示す図である。 図8は、図7のパケット処理のフローの例を示す図である。 図9は、図7のトークン処理のフローの例を示す図である。 図10は、図7のポリシング処理のフローの例を示す図である。 図11は、パケット入力の動作の具体例を示す図である。 図12は、パケット入力の動作の具体例を示す図である。 図13は、パケット入力の動作の具体例を示す図である。 図14は、パケット入力の動作の具体例を示す図である。 図15は、演算部の演算結果と、インフォバッファ部の格納例を示す図である。 図16は、パケット入力の動作の別の具体例を示す図である。 図17は、トークン供給設定部の構成例を示す図である。 図18は、トークンカウンタ部の構成例を示す図である。 図19は、構成例1のタイムチャートの例を示す図である。 図20は、構成例1のタイムチャートの別の例を示す図である。 図21は、構成例2の入力レート監視機能部の構成の例を示す図である。 図22は、構成例2のタイムチャートの例を示す図である。
符号の説明
10 イーサフレーム
100 バックボーンネットワーク(フォトニックネットワーク)
200 メトロネットワーク(IPネットワーク)
300 L2SW
310 LIU card
322 Ingress機能部
324 入力レート監視機能(ポリサ)部
332 Egress機能部
334 出力レート監視機能(シェーパ)部
342 IF
352 ポート
370 SW
400 ASW
500 端末(TR)
1010 タイマ部
1030 パケット情報抽出部
1040 リソース供給部
1050 パケットバッファ部
1080 演算部
1110 トークン供給部(内部メモリ)
1120 トークンカウンタ部(内部メモリ)
2010 タイマ部
2020 トークンPID生成部
2030 パケット情報抽出部
2050 パケットバッファ部
2061 A面インフォキャッシュ部
2062 B面インフォキャッシュ部
2071 A面バッファレジスタ部
2072 B面バッファレジスタ部
2080 演算部
2090 インフォバッファ部
2110 トークン供給部(内部メモリ)
2120 トークンカウンタ部(内部メモリ)
3010 タイマ部
3020 トークンPID生成部
3030 パケット情報抽出部
3050 パケットバッファ部
3061 A面インフォキャッシュ部
3062 B面インフォキャッシュ部
3071 A面バッファレジスタ部
3072 B面バッファレジスタ部
3080 演算部
3090 インフォバッファ部
3110 トークン供給部(外部メモリ)
3120 トークンカウンタ部(外部メモリ)

Claims (5)

  1. パケット情報を含むパケットを受信し、前記パケットからパケット情報を抽出するパケット情報抽出部と、
    前記パケット情報を格納する第1パケット情報記憶部と、
    前記パケット情報を格納する第2パケット情報記憶部と、
    トークン供給用の識別情報を生成するトークン識別情報生成部と、
    前記トークン識別情報生成部が生成した前記トークン供給用の識別情報を格納する第1トークン識別情報記憶部と、
    前記トークン識別情報生成部が生成した前記トークン供給用の識別情報を格納する第2トークン識別情報記憶部と、
    前記第1パケット情報記憶部または第2パケット情報記憶部から前記パケット情報を読み出し、第1トークン識別情報記憶部または第2トークン識別情報記憶部から前記トークン供給用の識別情報を読み出す演算部とを、備え、
    前記パケット情報抽出部は、前記抽出したパケット情報を、前記第1パケット情報記憶部および前記第2パケット情報記憶部のうちの一方に格納し、
    前記演算部は、前記パケット情報抽出部が前記第1パケット情報記憶部に前記パケット情報を書き込んでいる場合は前記第2パケット情報記憶部から前記パケット情報を読み出し、前記パケット情報抽出部が前記第2パケット情報記憶部に前記パケット情報を書き込んでいる場合は前記第1パケット情報記憶部から前記パケット情報を読み出し、
    前記トークン識別情報生成部は、前記生成したトークン供給用の識別情報を、前記第1トークン識別情報記憶部および前記第2トークン識別情報記憶部のうちの一方に格納し、
    前記演算部は、前記トークン識別情報生成部が前記第1トークン識別情報記憶部に前記トークン供給用の識別情報を書き込んでいる場合は前記第2トークン識別情報記憶部から前記トークン供給用の識別情報を読み出し、前記トークン識別情報生成部が前記第2トークン識別情報記憶部に前記トークン供給用の識別情報を書き込んでいる場合は前記第1トークン識別情報記憶部から前記トークン供給用の識別情報を読み出す、
    レート監視装置。
  2. 識別情報毎にトークン供給情報を格納するトークン供給設定部と、
    識別情報毎に疎通可能データ量を格納する疎通可能データ量記憶部と、をさらに備え、
    前記演算部は、前記パケット情報及び前記トークン識別情報に基づいて、識別情報毎に、前記トークン供給部からトークン供給情報を読み出し、前記疎通可能データ量記憶部から疎通可能データ量を読み出す、
    請求項1に記載のレート監視装置。
  3. 前記パケット情報は、パケットの識別情報と、パケット長を含む、
    請求項1又は2に記載のレート監視装置。
  4. 前記演算部は、識別情報毎に、パケット長、トークン供給情報、疎通可能データ量に基づいて、新たな疎通可能データ量を算出する、
    請求項3に記載のレート監視装置。
  5. トークン供給設定部及び疎通可能データ量記憶部は、QDR(Quad Data Rate)メモリである、
    請求項1乃至4のいずれか1項に記載のレート監視装置。
JP2008265362A 2008-10-14 2008-10-14 レート監視装置 Expired - Fee Related JP5093043B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008265362A JP5093043B2 (ja) 2008-10-14 2008-10-14 レート監視装置
US12/561,512 US8422396B2 (en) 2008-10-14 2009-09-17 Rate monitoring apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008265362A JP5093043B2 (ja) 2008-10-14 2008-10-14 レート監視装置

Publications (2)

Publication Number Publication Date
JP2010098369A true JP2010098369A (ja) 2010-04-30
JP5093043B2 JP5093043B2 (ja) 2012-12-05

Family

ID=42098760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008265362A Expired - Fee Related JP5093043B2 (ja) 2008-10-14 2008-10-14 レート監視装置

Country Status (2)

Country Link
US (1) US8422396B2 (ja)
JP (1) JP5093043B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262505B2 (en) * 2013-05-17 2016-02-16 Amazon Technologies, Inc. Input-output prioritization for database workload
CN112073331A (zh) * 2017-05-31 2020-12-11 华为技术有限公司 一种流量控制方法、设备及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247924A (ja) * 1997-03-06 1998-09-14 Fujitsu Ltd 共通セルバッファ装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3518482B2 (ja) 2000-04-26 2004-04-12 日本電気株式会社 パケットのポリシング装置及びその方法
US7027394B2 (en) * 2000-09-22 2006-04-11 Narad Networks, Inc. Broadband system with traffic policing and transmission scheduling
JP4483535B2 (ja) * 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247924A (ja) * 1997-03-06 1998-09-14 Fujitsu Ltd 共通セルバッファ装置

Also Published As

Publication number Publication date
JP5093043B2 (ja) 2012-12-05
US8422396B2 (en) 2013-04-16
US20100091683A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
JP2630812B2 (ja) パケットフローの制御方法および装置
CN102272716B (zh) 网络分组的simd处理
TWI277324B (en) Network packet storage method and network packet transmitting apparatus using the same
US20060239194A1 (en) Monitoring a queue for a communication link
US6633576B1 (en) Apparatus and method for interleaved packet storage
US20150113209A1 (en) Embedded system controller
JPH024054A (ja) ハイブリッドパケット交換方法および装置
US20060277126A1 (en) Ring credit management
JP2000227878A5 (ja)
JP2010200264A (ja) バッファ管理方法、及びパケット通信装置
JP4419868B2 (ja) 情報処理装置および方法、メモリ制御装置および方法、記録媒体、並びにプログラム
CN108521371A (zh) 报文转发方法及装置
JP2001222465A (ja) ネットワーク・プロセッサのためのdramデータ記憶及び移動
JP5093043B2 (ja) レート監視装置
CN106603409A (zh) 一种数据处理系统、方法及设备
US7694044B2 (en) Stream under-run/over-run recovery
CN103036805A (zh) 用于改善分组共享存储器体系结构组播性能的系统和方法
FR2572871A1 (fr) Commutateur de paquets asynchrone
JP4897722B2 (ja) パケット転送装置におけるレート監視方式
CN110297785A (zh) 一种基于fpga的金融数据流控装置和流控方法
JP2009124488A (ja) データ中継処理装置及び方法
JP3767857B2 (ja) データパケットを分配および処理するためのユニット
CN115756296A (zh) 缓存管理方法和装置、控制程序及控制器
CN105099932B (zh) 基于直通转发技术的调度方法及装置
US20100106865A1 (en) Dma transfer device and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120802

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees