JP3498678B2 - パイプライン処理型シェーピング装置およびその方法 - Google Patents

パイプライン処理型シェーピング装置およびその方法

Info

Publication number
JP3498678B2
JP3498678B2 JP2000161349A JP2000161349A JP3498678B2 JP 3498678 B2 JP3498678 B2 JP 3498678B2 JP 2000161349 A JP2000161349 A JP 2000161349A JP 2000161349 A JP2000161349 A JP 2000161349A JP 3498678 B2 JP3498678 B2 JP 3498678B2
Authority
JP
Japan
Prior art keywords
flow
packet
pipeline processing
processing
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000161349A
Other languages
English (en)
Other versions
JP2001345813A (ja
Inventor
基夫 西原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000161349A priority Critical patent/JP3498678B2/ja
Priority to US09/864,300 priority patent/US6976256B2/en
Publication of JP2001345813A publication Critical patent/JP2001345813A/ja
Application granted granted Critical
Publication of JP3498678B2 publication Critical patent/JP3498678B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/22Traffic shaping

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパイプライン処理型
シェーピング装置およびその方法に関し、特にネットワ
ークを構成する基幹通信装置からアクセス通信装置間へ
のインタフェースにおいて個々のコネクション毎にパケ
ットもしくはセルのスケジューリング予定時刻を、パイ
プライン処理方式にて決定するためのスケジューリング
予定時刻算出方式に関するものである。
【0002】
【従来の技術】昨今のデータトラヒックの増加により、
基幹通信装置とアクセス通信装置間のインタフェースの
高速化が進んでいる。アクセス装置と接続する基幹装置
のインタフェースにおいては、ユーザとの契約に基づい
たコネクション単位に厳密なポリシングやシェーピング
を実施する必要がある。このコネクションは、ATM
(Asynchronous Transfer Mode)インタフェースの場
合、VC(Virtual Connection)に該当し、POS(Pa
cket over SONET )インタフェースの時は、IP(Inte
rnet Protocol )フローに該当する。代表的なポリシン
グ処理、シェーピング処理としては、トークンバケット
方式があげられる。
【0003】このトークンバケット方式は、アルゴリズ
ムの処理時間がかかるため、従来の基幹通信装置ではパ
イプライン処理により実現している。パイプライン処理
とは、図10に示すように、トークンバケット方式のア
ルゴリズムを複数の処理に分割し、個々の処理は最小パ
ケット長Tに該当する時間で実行するものである。
【0004】
【発明が解決しようとする課題】しかしながら、特にシ
ェーピング処理において、同じコネクションに属する最
小パケットが連続して入力すると以下の問題がある。す
なわち、シェーピングの場合、図10で処理1にあるコ
ネクションのパケットAが入力されて、パケットAの転
送予定の時刻が決定するのは処理Nが終了する時であ
る。従って、図11に示すように、同じコネクションに
属する次のパケットBのパイプライン処理を開始するた
めには、パケットAに関する処理Nの終了の後になる。
従って、パケットAとパケットBとの間隔が、処理1〜
Nまでの時間N×Tよりも短い時、個々のパケットの転
送予定時刻を実時間で判定することができず、結果とし
てパケットAとパケットBとの間隔がN×T以上になる
ような、比較的ピークレート(peak-rate )の遅いコネ
クションにしか、シェーピング処理を行うことができな
い。結果として、高速インタフェースにおいては、ピー
クレートの高いコネクションに対するパケット転送のシ
ェーピングを実現することが困難であった。
【0005】本発明の目的は、従来のシェーピングに関
するパイプライン処理を改善することで、任意の速度の
コネクションに対しても厳密なシェーピング処理を、簡
易な回路構成の追加により実現可能としたパイプライン
処理型シェーピング装置およびその方法を提供すること
である。
【0006】
【課題を解決するための手段】本発明によれば、複数フ
ローの入力パケットに関して、パイプライン処理部によ
りパイプライン処理を行いつつこれ等各フローのシェー
ピングを行ってスケジューリング予定時刻を算出するよ
うにしたパイプライン処理型シェーピング装置であっ
て、前記フロー毎に前記パイプライン処理部で仕掛かり
中のフロー情報を管理格納する格納手段と、前記パイプ
ライン処理部へ入力されたパケットのフローに対応する
前記フロー情報を参照して、当該フローに属する全ての
パケットをつないだ仮想的なパケットが入力されたもの
として前記スケジューリング予定時刻を算出する算出手
段とを含むことを特徴とするパイプライン処理型シェー
ピング装置が得られる。
【0007】そして、前記算出手段は、前記パイプライ
ン処理部へのパケットの入力に応答してこのパケットが
属するフローの前記フロー情報を前記格納手段から読出
す手段と、この読出し情報を参照して前記スケジューリ
ング予定時刻を算出する手段とを有することを特徴とす
る。また、前記パケットの前記パイプライン処理部への
入力に応答して、前記格納手段のフロー情報を前記フロ
ー毎に更新する格納情報更新手段を含むことを特徴とす
る。更に、前記格納手段は前記パイプライン処理部の処
理ブロック数に等しい内部レジスタを有し、前記内部レ
ジスタの各々は、パイプライン処理仕掛かり中の同一フ
ローに属するパケットの前記フロー情報を格納するよう
にしたことを特徴とし、そして、前記フロー情報は前記
パケット長の総和を含むことを特徴とする。
【0008】本発明によれば、前記複数フローの入力パ
ケットに関して、パイプライン処理部によりパイプライ
ン処理を行いつつこれ等各フローのシェーピングを行っ
てスケジューリング予定時刻を算出するようにしたパイ
プライン処理型シェーピング方法であって、前記フロー
毎に前記パイプライン処理部で仕掛かり中のフロー情報
を管理格納するステップと、前記パイプライン処理部へ
入力されたパケットのフローに対応する前記フロー情報
を参照して、当該フローに属する全てのパケットをつな
いだ仮想的なパケットが入力されたものとして前記スケ
ジューリング予定時刻を算出する算出ステップとを含む
ことを特徴とするパイプライン処理型シェーピング方法
が得られる。
【0009】そして、前記算出ステップは、前記パイプ
ライン処理部へのパケットの入力に応答してこのパケッ
トが属するフローの前記フロー情報を前記格納手段から
読出すステップと、この読出し情報を参照して前記スケ
ジューリング予定時刻を算出するステップとを有するこ
とを特徴とする。また、前記パケットの前記パイプライ
ン処理部への入力に応答して、前記格納手段のフロー情
報を前記フロー毎に更新するステップを含むことを特徴
とする。更に、前記格納手段は前記パイプライン処理部
の処理ブロック数に等しい内部レジスタを有し、前記内
部レジスタの各々に、パイプライン処理仕掛かり中の同
一フローに属するパケットの前記フロー情報を格納する
ようにしたことを特徴とし、前記フロー情報は前記パケ
ット長の総和を含むことを特徴とする。
【0010】本発明によれば、前記複数フローの入力パ
ケットに関して、パイプライン処理部によりパイプライ
ン処理を行いつつこれ等各フローのシェーピングを行っ
てスケジューリング予定時刻を算出するようにしたパイ
プライン処理型シェーピング方法の制御プログラムを記
録した記録媒体であって、前記制御プログラムは、前記
フロー毎に前記パイプライン処理部で仕掛かり中のフロ
ー情報を管理格納するステップと、前記パイプライン処
理部へ入力されたパケットのフローに対応する前記フロ
ー情報を参照して、当該フローに属する全てのパケット
をつないだ仮想的なパケットが入力されたものとして前
記スケジューリング予定時刻を算出する算出ステップと
を含むことを特徴とする記録媒体が得られる。
【0011】本発明の作用を述べる。パイプライン処理
と連動するキャッシュ部(格納手段)を用意し、このキ
ャッシュ部において、パイプライン処理部で仕掛かり中
のパケットのフロー情報を管理し、同じフローに属する
パケットがある場合は、キャッシュ部が該当のパケット
を全てつなぎ合わせた仮想的なパケットを想定したパラ
メータをパイプライン処理部に渡し、パイプライン処理
部では、この仮想的なパラメータを元にパイプライン処
理を実行することにより、任意のピークレート(同じフ
ローに属する入力パケット間隔の逆数)の速度を有する
フローに対しても、またどのような高速な伝送路インタ
フェースにおいても、常にシェーピングによるスケジュ
ーリング予定時刻をリアルタイムで計算できるという効
果が得られる。
【0012】
【発明の実施の形態】以下に図面を参照しつつ本発明の
実施例を説明する。図1を参照すると、本発明の一実施
例としてのスケジューリング機能を行うシェーピング判
定部の全体構成が示されている。ここで、図2を参照す
ると、本発明の目的とするシェーピング機能がネットワ
ーク内で配備される位置を示している。図2に示すよう
に、ネットワークはユーザ通信装置A,Gと、アクセス
通信装置B,Fと、バックボーンである基幹網を構築す
る基幹通信装置C,D,Eとからなる。アクセス通信装
置は、ユーザ通信装置と接続され、ユーザから来たトラ
ヒックを束ねて基幹通信装置に送る。それらのトラヒッ
クは、複数の基幹通信装置を経て対局のアクセス通信装
置に到達し、その後ユーザ通信装置に転送される。
【0013】ここで、トラヒックの種類として、IPフ
ローもしくはATMセルを想定する。本発明で述べるシ
ェーピング機能は、基幹通信装置からアクセス通信装置
に転送するトラヒック、もしくはアクセス通信装置から
ユーザ通信装置に転送するトラヒックに対して行われる
機能である。具体的には、個々のIPフローやATMコ
ネクションに属するパケットに対して、IPフローやA
TMコネクションに規定される平均速度、ピーク速度を
守るようにスケジューリングした上で伝送路に転送する
機能であり、通常はパケット単位にどの時刻に転送する
かを決定する処理である。
【0014】図3はさらに基幹通信装置(例えば、図2
のC)における本発明のシェーピング機能の適用位置を
示す。図1で示される本発明の回路は図3のシェーピン
グ判定部13に相当するものである。そもそも、基幹通
信装置は、スイッチ10とIFカード11とから構成さ
れ、IFカードを介して入力してきたパケットを適正な
出力ポートにスイッチングし、出力ポートに該当するI
Fカードではシェーピング機能を含む複数の処理を行っ
て、伝送路にパケット転送する。
【0015】図3はシェーピング機能に関するブロック
のみ示している。スイッチから転送されてくるパケット
は、図3で示すIFカード11のバッファ部12にまず
蓄積される。バッファ部12が個々のパケットの制御情
報をシェーピング判定部13にパケット情報として渡
す。シェーピング判定部13は、それらのパケット情報
を元に、個々のパケット毎に転送すべきスケジューリン
グ時刻を計算し、内部のスケジューリング予定時刻メモ
リに格納する。
【0016】図3で示すIFカード11のパケット読み
出し部14は、常に時計15の時刻と上記スケジューリ
ング予定時刻メモリとの内容を比較し、もし現在の時刻
と同じスケジューリング予定時刻を有するパケットが登
録されてあれば、そのパケットをバッファ部12から読
み出し、さらに伝送路に転送するものである。
【0017】ここで、図1のブロック図に戻ると、本発
明の実施例は、アクセス通信装置と接続される基幹通信
装置で実現されるシェーピング処理において、複数の処
理ブロックからなるパイプライン処理部20と、このパ
イプライン処理部内の処理ブロック1〜7と協調して動
作するキャッシュ部22と、パケットのスケジューリン
グ予定時刻を格納するスケジューリング予定時刻メモリ
23と、個々のパケットの属するフローに関する情報を
管理する管理メモリ21と,パイプライン処理部20に
付随する時計部24とを有している。
【0018】さらに、キャッシュ部22においては、内
部レジスタ部26と、フロー検索部25と、レジスタ更
新部27とが設けられている。内部レジスタ部26に
は、パイプライン処理部20における処理ブロック1〜
7の数と同じ数の内部レジスタ(分かりやすくするため
に、各レジスタも1〜7として示している)が設けられ
ている。
【0019】尚、図4は図1のブロック図における各ブ
ロック間の信号内容〜を説明するものであり、また
図5(A)は管理メモリ21の内容を、(B)はキャッ
シュ部22の内部レジスタの内容を、また(C)はスケ
ジューリング予定時刻メモリ23の内容を夫々示してい
る。これ等に図4,5ついては、後述する。
【0020】パイプライン処理部20において、処理ブ
ロック1〜7が図6で示されるアルゴリズムを実行す
る。またパイプライン処理に付随して、図1のキャッシ
ュ部22が図6の処理アルゴリズムに基づき動作する。
【0021】図1に示すように、キャッシュ部22は内
部レジスタ部26、フロー検索部25、レジスタ更新部
27から構成され、内部レジスタ部26はパイプライン
処理部20の処理ブロック1〜7において処理中のパケ
ットに関するフロー情報を保持する。
【0022】管理メモリ21の構成は図5(A)で示す
ように、フロー識別子をアドレスとして、「トークン加
算値」、「トークン加算間隔」、「トークン値」、「最
新スケジューリング時刻」の情報を有する。また、キャ
ッシュ部22の内部レジスタは図5(B)で示すよう
に、レジスタが空きであるか否かを示す「有効ビット
(valid-bit )」、「フロー識別子」、パイプライン処
理部内においてフローに属するパケットの数を示す「パ
ケット数」、当該パケットの長さの総和である「パケッ
ト長総和」からなる。なお「パケット数」は、パイプラ
イン処理部20内に存在する(パイプライン処理仕掛か
り中)フローに対してのみ規定される値であり、キャッ
シュ部22がすべてのフローを管理する必要はない。
【0023】パイプライン処理部20の各処理ブロック
1〜7は、入力パケットに関して、パイプライン的に図
6の処理アルゴリズムで示される演算を行う。各処理ブ
ロック1〜7は、自分より後段の処理ブロックにおい
て、自分が処理中のパケットと同じフローに属するパケ
ットが存在しない場合、管理メモリから得た同フローの
前回のパケットの最新スケジューリング時刻を元に、次
に転送できるスケジューリング予定時刻を計算する。自
分より後段の処理ブロックにおいて、自分が処理中のパ
ケットと同じフローに属するパケットが存在する場合、
それらのパケットと自分のパケットをつなぎ合わせた仮
想的なパケットを想定し、左記パケットが転送できるス
ケジューリング時刻を計算する。
【0024】このように、パイプライン処理部のみで構
成される従来のシェーピング方式に比べ、パイプライン
処理と連動するキャッシュ部を用意し、キャッシュ部に
おいてパイプライン処理部で仕掛かりのパケットのフロ
ー情報を管理し、同じフローに属するパケットがある場
合は、キャッシュ部が該当のパケットを全てつなぎ合わ
せた仮想的なパケットを想定したパラメータをパイプラ
イン処理部に渡し、パイプライン処理部では左記の仮想
的なパラメータを元にパイプライン処理を実行すること
により、任意のピークレート(同じフローに属する入力
パケット間隔の逆数)の速度を有するフローに対して
も、またどのような高速な伝送路インタフェースにおい
ても、常にシェーピングによるスケジューリング予定時
刻をリアルタイムで計算できる効果が得られる。
【0025】図3のシェーピング判定部13には、バッ
ファ部12からパケット情報が転送されてくる。このパ
ケット情報は図1のパイプライン処理部20の処理ブロ
ック1に入力される。処理ブロック1はパケット情報内
のフロー識別子を元に管理メモリ21にアクセスし、該
当のパケットのフロー情報であって、パイプライン演算
処理のための演算パラメータ(トークン加算値TK、ト
ークン加算間隔L、トークン値P、最新スケジューリン
グ時刻RT)を得る。また処理ブロック1はフロー識別
子をキャッシュ部22に通知する。
【0026】キャッシュ部22は、図6で示すように、
フロー識別子を元に、内部のフロー検索部25と内部レ
ジスタ部26の動作により、該当のフロー識別子に関す
る情報が内部レジスタに登録されてあるか否かを検索
し、登録されている場合はその登録情報であるパケット
数、パケット長総和などの情報を処理ブロック1に通知
する。
【0027】処理ブロック2は処理ブロック1から得る
フロー情報とキャッシュ部22から得るフロー情報を元
に、図6に規定される処理を行う。またそれに伴い、再
びキャッシュ部にフロー識別子と自分のパケット長bと
を送る。同時に、処理ブロック2で演算した結果を処理
ブロック3に転送する。
【0028】処理ブロック3は処理ブロック2から転送
される情報を元に図6で示す処理アルゴリズムを実行
し、結果を処理ブロック4に転送する。処理ブロック4
は処理ブロック3から転送される情報を元に図6で示す
処理アルゴリズムを実行し、結果を処理ブロック5に転
送する。
【0029】処理ブロック5は処理ブロック4から転送
される情報と時計部から転送される現在時刻NTとを元
に、図6で示す処理アルゴリズムを実行し、結果を処理
ブロック6に転送する。処理ブロック6は処理ブロック
5から転送される情報を元に図6で示す処理アルゴリズ
ムを実行し、結果を処理ブロック7に転送する。処理ブ
ロック7は処理ブロック6から転送される情報を元に、
図6で示す処理アルゴリズムを実行し、結果を管理メモ
リ21、スケジューリング予定時刻メモリ23、キャッ
シュ部22に転送する。
【0030】具体的には、管理メモリ21に対しては、
フロー識別子をアドレスとしてアクセスし、トークン加
算値、トークン加算間隔、トークン値、最新スケジュー
リング時刻を更新する。また、スケジューリング予定時
刻メモリ23に対しては、スケジューリング予定時刻と
パケット識別子を登録する。またキャッシュ部22に対
しては、内部レジスタの内容を変更するために、フロー
識別子、パケット長bを送る。時計部24は現在時刻N
Tを常に処理ブロック5に通知する。尚、図7は図6に
示したアルゴリズムに使用される変数(パラメータ)を
説明する図である。
【0031】キャッシュ部22は処理ブロック2からフ
ロー識別子、パケット長bを受け、また処理ブロック7
からフロー識別子、パケット長bを受け、図6で示す処
理アルゴリズムに基づき、フロー検索部25、レジスタ
更新部27、内部レジスタ部26の相互処理により、内
部レジスタの更新を行う。上記にあげた処理のタイミン
グとして、パイプライン中にフロー2に属する複数のパ
ケットが無い場合の処理タイミングのアクセスを図8に
示し、パイプライン中にフロー2に属する複数のパケッ
トが有る場合の処理タイミングのアクセスを図9に示し
ている。
【0032】以下、本実施例の動作につき説明する。ま
ず、キャッシュ付きパイプライン型シェーピング回路の
適用される箇所について説明する。図2で示すように、
ネットワークはユーザ通信装置A,G、アクセス通信装
置B,Fおよび基幹通信装置C,D,Eにより構成さ
れ、ユーザ装置A,G間の通信はアクセス通信装置B、
基幹通信装置C、基幹通信装置D、・基幹通信装置E、
アクセス通信装置Fを介して行われる。特に、基幹通信
装置→アクセス通信装置もしくはアクセス通信装置→ユ
ーザ通信装置の箇所においては、ユーザ装置間における
フロー単位にシェーピングの処理を行う。このシェーピ
ング機能は、図2において、斜線で示される。
【0033】次に、基幹通信装置Cの概要を図3に示
す。基幹通信装置は複数のIFカード11とスイッチ1
0とから構成される。伝送路からIFカードに入力され
たパケットもしくはセルは、スイッチ10にて交換処理
された後に、出力すべき伝送路と接続するIFカードに
転送される。スイッチ13から伝送路の送信方向におけ
るシェーピング機能の処理は、図3に示す通り、IFカ
ード内のバッファ部12、シェーピング判定部13、パ
ケット読み出し制御部14、時計15の組合せにより実
現される。
【0034】スイッチ10から転送されてきたパケット
もしくはセルは、まずバッファ部12に蓄積される。蓄
積されると同時に、バッファ部12は該当パケットに関
する情報をパケット情報としてシェーピング判定部13
に通知する。シェーピング判定部13は、ユーザ間通信
を特定するフロー識別子を元に、個々のパケットの伝送
路へのスケジューリング予定時刻を計算し、内部のスケ
ジューリング予定時刻メモリに登録する。
【0035】一方、パケット読み出し制御部14は時計
部15から現在時刻の通知を受け、現在時刻に転送する
はずのパケットがバッファ部12に滞留しているか否か
を、シェーピング判定部13内のスケジューリング予定
時刻メモリに問い合わせ、もし該当のパケットが登録さ
れてあれば、そのパケットをバッファ部から読み出し、
さらに伝送路上に転送する。以上の動作により、個々の
ユーザ通信装置間におけるフロー(フロー識別子で特定
される)毎に、シェーピング機能を実現することができ
る。
【0036】なお、スケジューリング予定時刻メモリ2
3において、同時刻に複数のフローのパケットが登録さ
れている場合、パケット読み出し制御部14はこれ等複
数のパケットの中から、一つのパケットのみを選択して
読み出しを行う必要があるが、本発明は、この様な機能
の実現に関するものではなく、シェーピング判定部13
においてスケジューリング予定時刻を決定し、スケジュ
ーリング予定時刻メモリ23に登録する処理に関するも
のであるので、その部分のみを説明する。特に、OC−
48(2.4Gbps)、OC−192(10Gbp
s)以上の高速回線を終端するIFカードにおいて、本
発明は任意のシェーピングパラメータ(ピーク速度、平
均速度等)に対して正確なスケジューリング予定時刻を
決定することができる。
【0037】以下、本発明における実施例につき説明す
る。図1で示すように、図3のシェーピング判定部13
はパイプライン処理部20、管理メモリ21、キャッシ
ュ部22、スケジューリング予定時刻メモリ23、時計
部24から構成される。図3のバッファ部12からパケ
ット情報がパイプライン処理部に転送される。パケット
情報の内容は、フロー識別子、パケット識別子、パケッ
ト長bの3つである。フロー識別子は、該当のパケット
が属するユーザ装置間におけるフローを示す識別子であ
り、シェーピング判定部13の入力において予め付与さ
れている。パケット識別子は、図3のバッファ部12内
に滞留するパケットを特定する識別子であり、シェーピ
ング判定部13の入力において予め付与されている。パ
ケット長bは該当パケットの長さを示す。
【0038】パイプライン処理部20は図1で示すよう
に、処理ブロック1〜7より構成される。処理ブロック
1〜7には一定の処理が規定されており、各処理ブロッ
クは前段の処理ブロックから処理結果を受け取り、自分
に割り当てられている規定の処理を行った後、次の処理
ブロックに結果を転送する。各ブロックの処理は、図6
に記載されている。図8,9は処理ブロックのタイミン
グを示し、処理1〜7がそれぞれ処理ブロック1〜7の
処理タイミングを示す。処理1〜7が実施された後、パ
ケットのスケジューリング予定時刻が決定される。
【0039】処理ブロック間で転送される情報は、図1
のに示す通り、パケット情報からのフロー識別子、パ
ケット識別子、パケット長bと、管理メモリ21から読
み出されるトークン加算値TK、トークン加算間隔L、
トークン値P、最新スケジューリング時刻RTと、内部
変数fbit、X、Y、Z、W、f2bit 、Y2からなる。こ
れらの情報は、図7に示されており、個々の処理ブロッ
クが自律的に処理を行う上で必要なパラメータであり、
個々の入力パケット毎に、処理ブロックを介して処理ブ
ロック1から処理ブロック7に転送される。
【0040】管理メモリ21には、アドレスとして、処
理ブロック1もしくは処理ブロック7からフロー識別子
が与えられる。データとして、システム立ち上げ時に規
定されるシェーピングパラメータであるトークン加算値
TK、トークン加算間隔Lがある。さらに、動的に変更
する値として、トークン値P、最新スケジューリング時
刻RTがある。管理メモリの内容は処理ブロック1にて
読み出され、処理ブロック7にてPとRTのみ更新され
る(図1のとのアクセス)。
【0041】スケジューリング予定時刻は連想メモリ
(CAM:Content Addressable Memory)からなり、パ
ケット識別子とそのスケジューリング予定時刻が登録さ
れている。図3のパケット読み出し制御部14は、現在
時刻と一致するスケジューリング予定時刻の登録がある
か否か、スケジューリング予定時刻メモリ23にて検索
し、登録がある場合にそのパケット識別子を元に、バッ
ファ部12からパケットを読み出す。
【0042】キャッシュ部22はフロー検索部25、レ
ジスタ更新部27、内部レジスタ部26から構成され
る。キャッシュ部22はパイプライン処理部20の各処
理ブロックで処理仕掛かり中のパケットのフロー情報を
管理する。具体的には、各処理ブロックで処理中のパケ
ットのフロー情報が、内部レジスタ部26の個々の内部
レジスタに格納されている。パイプライン処理部内で処
理中のフローの数は、個々の処理ブロックがすべて異な
るフローのパケットを処理している時、最大になる。従
って、内部レジスタ部の内部レジスタとして、処理ブロ
ックの数だけ用意すれば良い。
【0043】内部レジスタの構成は、図5(B)に示し
たように、本レジスタが有効であるか否かを示す有効ビ
ット、フローを特定するフロー識別子、左記フローに属
するパケットの数K(パイプライン処理部で処理仕掛か
り中のパケットの中において)、左記フローに属するパ
ケットのパケット長の総和Bとなる。
【0044】時計部24は、現在時刻を管理し、処理ブ
ロック5に常時、現在時刻NTを通知する。なお本時計
部の時刻NTは、図3のIFカード11上の時計の時刻
より、パイプライン処理の遅延に依存する時間τだけ進
んでいるものとする。個々の処理ブロックの処理の流れ
は図6に示す通りである。
【0045】以下に、詳細を説明する。まず、パケット
情報はパイプライン処理部の処理ブロック1に入力され
る。処理ブロック1はパケット情報内のフロー識別子を
元に管理メモリ21にアクセスし、該当のパケットのフ
ロー情報(トークン加算値TK、トークン加算間隔L、
トークン値P、最新スケジューリング時刻RT)を得る
(図1ののアクセス)。処理ブロック1はさらにフロ
ー識別子をキャッシュ部22に通知する。キャッシュ部
22のフロー検索部25は図6で示すように左記フロー
識別子を元に、内部レジスタ部26において、該当のフ
ロー識別子に関する情報が内部レジスタに登録されてあ
るか否かを検索し、登録されている場合は、登録情報で
あるパケット数K、パケット長総和Bを処理ブロック1
に通知する(図1ののアクセス)。
【0046】処理ブロック2は処理ブロック1およびキ
ャッシュ部22からパケットの属するフローの情報を受
け取り、処理ブロック2〜7において、自分の有するパ
ケットと同じフローに属するパケットがあるか否かで異
なる処理を行う。自分の有するパケットと同じフローに
属するパケットがない場合は、処理ブロック1にて管理
メモリ21から読み出された情報のみを元にしてシェー
ピングのスケジューリング予定時刻判定を行う。
【0047】自分の有するパケットと同じフローに属す
るパケットがある場合は、同様にシェーピングのスケジ
ューリング予定時刻判定を行うことができない。という
のは、管理メモリ21にはパイプライン処理部20で処
理中のフローに関する結果が反映されていないからであ
る。そこで、後段の処理ブロック3〜7に含まれる同じ
フローのパケット情報も含めた上で、スケジューリング
予定時刻を決定する。具体的には、現状のトークン値
P、最新スケジューリング時間RT、パケット長=「処
理ブロック2で処理中のパケット長b」+「処理ブロッ
ク3〜7に含まれる同じフローのパケット長の総和B」
を元にスケジューリング予定時刻を決定する。
【0048】つまり、仮想的にパケット長bではなく、
パケット長=b+Bの大きなパケットが入力したものと
して、スケジューリング予定時刻の決定を行う。これに
より、パイプライン処理部内に同じフローに属するパケ
ットがある場合でも、常に正しいスケジューリング予定
時刻を決定することができる。
【0049】また、IFカード11の伝送路速度が上が
り図8,9のパケット情報転送時間tが短くなる場合に
は、さらに細かい処理ブロック1〜N(N>8)に分割
することにより、個々の処理ブロックの処理時間tを短
くすることができる。結果として、インタフェースの高
速化に関わらずスケジューリング予定時刻を正しく判定
することができる。
【0050】処理ブロック2は、キャッシュ部から得る
パケット数Kが0の時、処理ブロック2のパケットと同
一のフローに属するパケットが、後段の処理ブロックに
存在しないことを認識する。従って、処理ブロック1に
て管理メモリから得た最新スケジューリング予定時刻R
Tの次に転送できる時刻を決定すれば良い。
【0051】まず、現状のトークン値がパケット転送を
行うのに足りているか否かの判定を行う。最新のトーク
ン値は管理メモリから得られるPであり、処理中のパケ
ットの長さはbなので、X=P−bの計算を行い、X>
0ならばトークン値が足りているので、RTの次の時間
にパケットを転送することができ、X≦0ならば、トー
クンがたまってX>0となるまでスケジューリング予定
時刻を遅らせる。またX>0ならばRTの次の時間に即
時にパケット転送できることを後段の処理ブロックに通
知するために、fbit=1とし、X≦0の時はfbit=0と
する。
【0052】また、キャッシュ部から得るパケット数K
>0の時は、後段の処理ブロックに同一のフロー識別子
を有するパケットが自分以外にK個存在するとして認識
する。K個の転送予定時刻はパイプライン処理が終了し
ていないので、決定していない。従って、管理メモリの
最新スケジューリング予定時刻RTは、同じフロー識別
子を有する直前のパケットのスケジューリング予定時刻
ではなく、K個前のパケットのスケジューリング予定時
刻である。そこで、K個前のパケットのスケジューリン
グ予定時刻から始まって、K+1個目のパケットを転送
する時刻を決定すれば良い。
【0053】まず、必要なトークン値を確認するため
に、X=P−bの代わりにX=P−(B+b)の計算を
行う。Xは該当のパケットを転送するために足りないト
ークン値を示すので、X>0ならばトークン値が足りて
おり、RTの次の時間にパケットを転送することができ
る。もしX≦0ならば、トークンがたまってX>0とな
るまで、スケジューリング予定時刻を遅らせなければな
らない。X>0ならばRTの次の時間に即時にパケット
転送できることを後段の処理ブロックに通知するため
に、fbit=1とする。X≦0の時は、fbit=0とする。
【0054】処理ブロック2が処理しているパケットに
より、パイプライン処理部内のフローの情報が変わるの
で、キャッシュ部が内部レジスタの変更を行わなければ
ならない。そこで、処理ブロック2は処理中のパケット
のフロー識別子、パケット長bをキャッシュ部に転送す
る。
【0055】処理ブロック3は処理ブロック2より通知
されるfbitおよびXを元にパケットのスケジューリング
予定時刻と、このスケジューリング予定時刻における新
たなトークン値を決定するために、まず何回トークンT
Kを足せばX>0となるかの計算を行う。この加算され
得る回数をYとする。
【0056】処理ブロック3は、fbit=0の時X≦0な
ので、X>0になるまでに何回トークン量TKの加算が
必要か知るために、Y=(|X|+1)÷TKの計算を
行う(|X|はXの絶対値を示す)。またfbit=1の
時、既にスケジューリング予定時刻はRTの次の時間R
T+1であることが決定しているので、Y=(RT+1
−RT)÷TK=1÷TKの計算を行う。
【0057】上記のYは該当のフロー識別子のパケット
に関し、X<0の時は最新スケジューリング予定時刻R
TにY回のトークン加算間隔時間Lを経た時刻にトーク
ン値Pが0以上になることを示している。
【0058】処理ブロック4はYを元に該当のパケット
のスケジューリング予定時刻とその時のトークン値を決
定する。スケジューリング予定時刻はYの定義よりZ=
Y×L+RTより得られる。また、トークン値は、fbit
=1の時(X>0の時と同義)、W=|X|+1となり
(W=Y×TK+Xと同義)、fbit=0の時(X≦0と
同義)、W=1となる(W=Y×TK+Xと同義)。
【0059】処理ブロック5は、処理ブロック4で得ら
れたスケジューリング予定時刻Zとトークン値Wの補正
を行う。また処理ブロック5は時計部から現在時刻NT
を得る。もしZが現在の時刻NTより後の時間の場合
は、ZとWの補正の必要はない。後段の処理ブロックに
補正処理の必要がないことを通知するために、f2bit=
0とする。
【0060】しかしながら、NT>Zの時、スケジュー
リング予定時刻は既に過去の時刻であるので、スケジュ
ーリング時間ZはNTに補正し、合わせてWも補正する
必要がある。そこで、新たにY2=(NT−Z)÷TK
の演算を行う。さらに、後段の処理ブロックに補正処理
の必要を通知するために、f2bit =1とする。NT≦Z
の時はf2bit =0とする。
【0061】処理ブロック6は、f2bit =1の時に、処
理ブロック5に引き続いて補正処理を進める。新たなス
ケジューリング予定時刻として、Z=NTとする。また
トークン値として、W=W+NT−Zとする。F2bi=0
の時は何も行わない。
【0062】処理ブロック7は処理ブロック6で得られ
た結果を元に各テーブルの更新を行う。まず、Zとパケ
ット識別子をスケジューリング予定時刻メモリに登録す
る。またフロー識別子をアドレスとして、管理メモリに
アクセスし、新たにTK、L、W、Zの値を書き込む。
【0063】なお、図8,9で示すように、管理メモリ
の読み出しフェース(R)・書き込みフェーズ(W)が
重ならないように、各処理時間の前半と後半とで夫々の
タイミング規定をすることにより、管理メモリにアクセ
スする処理ブロック1と処理ブロック7とがアクセス競
合を引き起こすことはない。また、処理ブロック7にて
処理中のパケットはパイプライン処理部から読み出され
るので、キャッシュ部の内部レジスタの情報を更新する
必要がある。そこで、フロー識別子、パケット長bをキ
ャッシュ部に通知する。
【0064】キャッシュ部はパイプライン処理部内の処
理ブロックと同期してパイプライン処理部内で処理中の
パケットの属するフローに関する管理を行う。キャッシ
ュ部は内部レジスタ部とフロー検索部と内部レジスタ更
新部から構成される。内部レジスタ部には、複数の内部
レジスタが存在し、この内部レジスタの数はパイプライ
ン処理部における処理ブロックの数と同じである。
【0065】内部レジスタには、パイプライン処理部内
の処理ブロックで処理中のパケットに関するフローの情
報のみ格納されている。内部レジスタは、図5(B)に
示すように、4つのフィールドから構成される。第1 に
有効ビットである。有効ビットは内部レジスタが使用中
か否かを示し、有効ビットがonの時、あるフロー識別
子が登録されており、有効ビットがoffの時は何も登
録されておらず、空き(empty )であることを示す。
【0066】第2にフロー識別子フィールドである。フ
ロー識別子フィールドには、パケットに付随して転送さ
れるフロー識別子が登録される。第3にパケット数Kで
ある。パケット数Kは、第2のフロー識別子に属するパ
ケットがパイプライン処理部に何個存在するかを示す。
第3にパケット長の総和Bである。パケット長の総和B
はパイプライン処理部内に存在するフロー識別子のフロ
ーのすべてのパケットの長さの総和である。
【0067】フロー検索部25は内部レジスタの中で特
定のフロー識別子に関するレジスタを探索する。内部レ
ジスタ更新部27は個々の内部レジスタの更新を行う。
また、各レジスタ内に保持されるパケット数フィールド
に対する演算(K=K+1の加算、K=K−1の減
算)、パケット長総和に対する演算(B=B+b、B=
B−b)等を行う。
【0068】まず、キャッシュ部が処理ブロック1から
フロー識別子を受け取ると、フロー検索部25が内部レ
ジスタ部26の内部レジスタにおいて、フロー識別子と
一致し、かつ有効ビットがonとなるエントリの検索を
行う。一致するエントリが検索できた場合は、該当エン
トリの内部レジスタの内容(パケット数K、パケット長
の総和B)を読み出し、パケット数K、パケット長の総
和Bを処理ブロック2に返す。一致するエントリが見つ
からない場合は、パケット数K=0として処理ブロック
2に返す。
【0069】またキャッシュ部22は処理ブロック2か
らフロー識別子、パケット長bを受信し、左記情報に基
づくパケット情報の追加処理を行う。また、処理ブロッ
ク7からフロー識別子、パケット長bを受信し、この情
報に基づくパケット情報の削除処理を行う。処理ブロッ
ク2からのフロー識別子をflowinfo1 、パケット長をpk
tlen1 と規定し、処理ブロック7からのフロー識別子を
flowinfo2 、パケット長をpktlen2 と規定すると、以下
の規則に元づいて行われる。
【0070】Flowinfo1=flowinfo2 の時、内部レジス
タ部には既にflowinfo1 のフロー情報が存在しており、
処理ブロック2 からの通知によるパケット追加と処理ブ
ロック7からのパケット削除により、内部レジスタのパ
ケット数Kは変わらない。パケット長の総和Bは、処理
ブロック2からのパケット長追加と処理ブロック7から
のパケット長削除を反映させる必要がある。
【0071】まず、フロー検索部は、内部レジスタ部の
内部レジスタにおいて、flowinfo1のフロー識別子と一
致し、かつ有効ビットがonとなるエントリの検索を行
う。このエントリに対して、パケット長の総和B=B+
pktlen1 −pktlen2 の計算を行い、該当エントリのレジ
スタ内容を更新する。
【0072】Flowinfo1 ≠flowinfo2 の時、処理ブロッ
ク2からの通知によるフロー情報の追加処理と、処理ブ
ロック7からの通知によるフロー情報の削除処理を同時
に行う。まず処理ブロック2からの通知によるフロー情
報の追加処理について説明する。フロー検索部は、flow
info1 とフロー識別子が一致し、かつ有効ビットがon
となるエントリを検索する。そして、レジスタ更新部
は、このエントリに対して、パケット数K=K+1、パ
ケット長の総和B=B+pktlen1 の演算を行い、レジス
タ内容の変更を行う。
【0073】もし、flowinfo1 とフロー識別子が一致
し、かつ有効ビットがonとなるエントリが無い場合
は、flowinfo1 、pktlen1 のフロー情報を新たに登録す
るために、有効ビットがoffとなる空きエントリを検
索する。このエントリに、フロー識別子、パケット数K
=1、パケット長の総和B=pktlen1 を登録する。
【0074】Flowinfo1 ≠flowinfo2 の時、処理ブロッ
ク2からの通知によるフロー情報の追加処理と、処理ブ
ロック7からの通知によるフロー情報の削除処理を同時
に行う。まず処理ブロック2からの通知によるフロー情
報の追加処理について説明する。
【0075】フロー検索部22は、flowinfo1 とフロー
識別子が一致しかつ有効ビットonとなるエントリを検
索する。そして、レジスタ更新部は、このエントリに対
して、パケット数K=K+1、パケット長の総和B=B
+pktlen1 の演算を行い、レジスタ内容の変更を行う。
もし、flowinfo1 とフロー識別子が一致し、かつ有効ビ
ットonとなるエントリが無い場合は、flowinfo1 、pk
tlen1 のフロー情報を新たに登録するために、有効ビッ
トoffとなる空きエントリを検索する。こののエント
リに、フロー識別子、パケット数K=1、パケット長の
総和B=pktlen1 を登録する。
【0076】次に、処理ブロック7からの通知によるフ
ロー情報の削除処理について説明する。フロー検索部
は、flowinfo2 とフロー識別子が一致しかつ有効ビット
onとなるエントリを検索する。そして、レジスタ更新
部は、このエントリに対して、パケット数K=K−1、
パケット長の総和B=B−pktlen2 の演算を行い、レジ
スタ内容の変更を行う。ただし、元々のパケット数K=
1の時は、パイプライン処理部からflowinfo2 のフロー
に属するパケットが無くなることを意味しているので、
単に有効ビットをoffとすれば良い。処理ブロック7
からの通知による処理は、既に内部レジスタに存在する
フロー情報の更新であるため、フロー検索部の処理でエ
ントリが無いケースを想定する必要はない。
【0077】以上の処理は、限られたフロー数(最大で
もパイプライン処理部内の処理ブロックの数)の内部レ
ジスタに関する登録、更新処理であり、キャッシュ部全
体を組合せ回路等により最適化して設計することによ
り、実時間で簡易に実現することが可能である。以上の
処理ブロック、キャッシュ部の処理のタイミングを図
8,9に示す。
【0078】図8は、パイプライン中に同一のフローに
属するパケットが1つしかない場合の処理タイミングで
ある。パケット情報として、フロー1、フロー2、フロ
ー3、フロー4、フロー5、フロー6、フロー7が連続
しているものの、パイプラインの処理段数は処理1〜処
理7の7段しかないため、個々の処理ブロックはそれぞ
れ異なるフローのパケットを処理することになる。図8
で示すように、管理メモリに関しては、読み出しフェー
ズ(1)と書き込みフェーズ(4)が処理周期の前半・
後半に明確に分離されているため、アクセス競合は発生
しない。
【0079】同様に、スケジューリング予定時刻メモリ
も処理周期の前半(6)でのみ規定されているのでアク
セス競合は発生しない。内部レジスタの場合、読み出し
フェース(処理周期の前半(2))と書き込みフェーズ
(処理周期の後半(3)または(5))は明確に分離さ
れている。しかし、書き込みフェーズにおいて、処理ブ
ロック2と処理ブロック7とがそれぞれ同時に書き込み
のアクセスを行うため、アクセス競合が発生する。この
場合でも、既に述べたように内部レジスタの数はパイプ
ライン処理部内の処理ブロック数(図中では7個)に限
られているので、内部レジスタのアクセス処理を組合せ
回路等で最適化して構成することができ、通常のメモリ
と異なり処理可能となる。
【0080】なお、図8はフロー2パケットの入力に関
するアクセスのみ記載しており、実際には個々のフロー
のパケットに対して、処理ブロック1〜処理ブロック7
が常に動作しているため、毎処理周期で常に管理メモ
リ、内部レジスタ、スケジューリング予定時刻メモリへ
のアクセスが発生している。
【0081】図9は、図8の例とは異なってパイプライ
ン中に同一のフローに属するパケットが複数ある場合の
処理タイミングの例である。図9では、斜線で示した2
個のフロー2パケットが同時にパイプライン中に存在す
る。図9の(5)で示すように、特に内部レジスタの書
き込み処理にて、フロー2に関して、処理ブロック2と
処理ブロック7とから同時に更新するアクセスが発生し
ている。この処理に関しても、既に述べたように、処理
ブロック2からのフロー識別子(flowinfo1 )と処理ブ
ロック7からのフロー識別子(flowinfo2 )が一致した
場合に、それぞれのパケット長b(処理ブロック2の場
合pktlen1 、処理ブロック7の場合pktlen2 )を元にし
た書き込みルールを規定することにより、両者の要求を
満足した内部レジスタの更新が可能である。
【0082】個々の処理ブロックの機能は、パイプライ
ン処理部に入力するパケットの速度、パイプライン処理
部におけるアルゴリズムの困難さに応じて決定される。
また実施例では処理ブロック1〜7で行っているが、必
要に応じて処理ブロック数を増やし、処理ブロック1〜
N(N≧8)としても良い。パイプライン処理部に入力
するパケットの速度が速いほど、またパイプライン処理
部におけるアルゴリズムが困難であるほど、処理ブロッ
クの数を増やす必要がある。また、内部レジスタ部にお
ける内部レジスタの数は処理ブロックの数と一致するの
で、内部レジスタの数も処理ブロックの数と同様に増え
る。
【0083】上記実施例では、内部レジスタ部の構成と
して、複数の内部レジスタが独立に存在し、フロー識別
子を元に内部レジスタを検索したり更新できる機能を規
定している。内部レジスタ部の左記機能をすべて連想メ
モリを使用して実現しても良い。上記実施例ては、シェ
ーピング処理に基づいて記述している。しかしながら、
本発明の特徴は、上述したように、イプライン処理部に
付随してキャッシュ部を設け、キャッシュ部内にはパイ
プライン処理部で仕掛かり中のパケットのフロー情報を
管理し、パイプライン処理部ではキャッシュ部のフロー
情報に基づき、仮想的なスケジューリングパラメータで
処理を行うという点にある。つまり、シェーピング処理
のアルゴリズムに依存せずに、さまざまな複雑なアルゴ
リズムに適応できる。例えば、シェーピング処理ではな
く、パケット廃棄に関するトークンバケットベースのポ
リシング処理も、同様に実現可能である。
【0084】
【発明の効果】以上述べたように、、パケットのフロー
単位にシェーピングを行う技術に関して、パケット単位
に処理が移動するパイプライン処理部に付随して連動す
るキャッシュ部を設け、このキャッシュ部においてパイ
プライン処理部内で処理中のパケットのフロー情報を管
理する内部レジスタを有し、個々のパケットのスケジュ
ーリング時間の計算において、キャッシュ部からの通知
により同一のフローに属するパケットが存在しない時は
従来方法と同様に、同フローに属する1個前のパケット
のスケジューリング予定時刻とトークン値を元に、次の
パケットのスケジューリング予定時刻を計算し、キャッ
シュ部からの通知によりパイプライン処理部に同一のフ
ローに属するパケットが存在する時は、それらのすべて
のパケットをつなげた大パケットが仮想的に入力したも
のと見なして、次のパケットのスケジューリング予定時
刻を計算することにより、同じフローに属するパケット
が連続して入力しても、常に正しいスケジューリング時
間を計算できるという効果がある。
【0085】また、本発明によれば、パイプライン処理
部のパイプラインの段数(図1におけるパイプライン処
理部内の処理ブロックの数)がいくつであっても実現可
能であるので、伝送路の高速化にあわせてパイプライン
の段数を増加させることで、将来の伝送路速度の高速化
に際しても、任意のスケジューリングパラメータによる
スケジューリング判定処理を実現することができる。
【0086】更にはまた、本発明による技術を用いずに
高速な伝送路におけるシェーピング処理を実現する場合
は、個々の高速なスケジューリング判定回路をフロー数
だけ用意せざる得ないが、一般にフロー数は数k〜数1
0kにわたるため、極めて大規模な回路が必要であった
のに比べ、本発明では、フロー単位に管理情報をメモリ
から読み出して行うパイプライン処理と、パイプライン
処理の段数のみで規定されるキャッシュ部で実現される
ため、小規模な回路で実現でき、結果として、ハードウ
ェアコストの削減、消費電力の削減を実現することがで
きるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】本発明によるシェーピング機能のシステム上の
配置位置を示す図である。
【図3】基幹装置の構成とシェーピング判定部の位置関
係を示す図である。
【図4】図1のブロック間信号の内容を示す図である。
【図5】(A)は管理メモリのフィールド構成を示し、
(B)は内部レジスタのフィールド構成を示し、(C)
はスケジューリング予定時刻メモリのフィールド構成を
示す図である。
【図6】パイプライン処理部およびキャッシュ部の処理
フローである。
【図7】図6の処理フローにおける変数(パラメータ)
を説明する図である。
【図8】本発明の実施例の動作を示すタイミングの一例
である。
【図9】本発明の実施例の動作を示すタイミングの他の
例である。
【図10】パイプライン処理を説明する図である。
【図11】シェーピングに関するパイプライン処理の問
題点を説明する図である。
【符号の説明】
10 スイッチ部 12 バッファ部 13 シェーピング判定部 14 パケット読出し制御部 15 時計 20 パイプライン処理部 21 管理メモリ 22 キャッシュ部 23 スケジューリング予定時刻メモリ 24 時計部 25 フロー検索部 26 内部レジスタ部 27 レジスタ更新部

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数フローの入力パケットに関して、パ
    イプライン処理部によりパイプライン処理を行いつつこ
    れ等各フローのシェーピングを行ってスケジューリング
    予定時刻を算出するようにしたパイプライン処理型シェ
    ーピング装置であって、前記フロー毎に前記パイプライ
    ン処理部で仕掛かり中のフロー情報を管理格納する格納
    手段と、前記パイプライン処理部へ入力されたパケット
    のフローに対応する前記フロー情報を参照して、当該フ
    ローに属する全てのパケットをつないだ仮想的なパケッ
    トが入力されたものとして前記スケジューリング予定時
    刻を算出する算出手段とを含むことを特徴とするパイプ
    ライン処理型シェーピング装置。
  2. 【請求項2】 前記算出手段は、前記パイプライン処理
    部へのパケットの入力に応答してこのパケットが属する
    フローの前記フロー情報を前記格納手段から読出す手段
    と、この読出し情報を参照して前記スケジューリング予
    定時刻を算出する手段とを有することを特徴とする請求
    項1記載のパイプライン処理型シェーピング装置。
  3. 【請求項3】 前記パケットの前記パイプライン処理部
    への入力に応答して、前記格納手段のフロー情報を前記
    フロー毎に更新する格納情報更新手段を含むことを特徴
    とする請求項1または2記載のパイプライン処理型シェ
    ーピング装置。
  4. 【請求項4】 前記格納手段は前記パイプライン処理部
    の処理ブロック数に等しい内部レジスタを有し、前記内
    部レジスタの各々は、パイプライン処理仕掛かり中の同
    一フローに属するパケットの前記フロー情報を格納する
    ようにしたことを特徴とする請求項1〜3いずれか記載
    のパイプライン処理型シェーピング装置。
  5. 【請求項5】 前記フロー情報は前記パケット長の総和
    を含むことを特徴とする請求項1〜4いずれか記載のパ
    イプライン処理型シェーピング装置。
  6. 【請求項6】 前記複数フローの入力パケットに関し
    て、パイプライン処理部によりパイプライン処理を行い
    つつこれ等各フローのシェーピングを行ってスケジュー
    リング予定時刻を算出するようにしたパイプライン処理
    型シェーピング方法であって、前記フロー毎に前記パイ
    プライン処理部で仕掛かり中のフロー情報を管理格納す
    るステップと、前記パイプライン処理部へ入力されたパ
    ケットのフローに対応する前記フロー情報を参照して、
    当該フローに属する全てのパケットをつないだ仮想的な
    パケットが入力されたものとして前記スケジューリング
    予定時刻を算出する算出ステップとを含むことを特徴と
    するパイプライン処理型シェーピング方法。
  7. 【請求項7】 前記算出ステップは、前記パイプライン
    処理部へのパケットの入力に応答してこのパケットが属
    するフローの前記フロー情報を前記格納手段から読出す
    ステップと、この読出し情報を参照して前記スケジュー
    リング予定時刻を算出するステップとを有することを特
    徴とする請求項6記載のパイプライン処理型シェーピン
    グ方法。
  8. 【請求項8】 前記パケットの前記パイプライン処理部
    への入力に応答して、前記格納手段のフロー情報を前記
    フロー毎に更新するステップを含むことを特徴とする請
    求項6または7記載のパイプライン処理型シェーピング
    方法。
  9. 【請求項9】 前記格納手段は前記パイプライン処理部
    の処理ブロック数に等しい内部レジスタを有し、前記内
    部レジスタの各々に、パイプライン処理仕掛かり中の同
    一フローに属するパケットの前記フロー情報を格納する
    ようにしたことを特徴とする請求項6〜8いずれか記載
    のパイプライン処理型シェーピング方法。
  10. 【請求項10】 前記フロー情報は前記パケット長の総
    和を含むことを特徴とする請求項6〜9いずれか記載の
    パイプライン処理型シェーピング方法。
  11. 【請求項11】 前記複数フローの入力パケットに関し
    て、パイプライン処理部によりパイプライン処理を行い
    つつこれ等各フローのシェーピングを行ってスケジュー
    リング予定時刻を算出するようにしたパイプライン処理
    型シェーピング方法の制御プログラムを記録した記録媒
    体であって、前記制御プログラムは、前記フロー毎に前
    記パイプライン処理部で仕掛かり中のフロー情報を管理
    格納するステップと、前記パイプライン処理部へ入力さ
    れたパケットのフローに対応する前記フロー情報を参照
    して、当該フローに属する全てのパケットをつないだ仮
    想的なパケットが入力されたものとして前記スケジュー
    リング予定時刻を算出する算出ステップとを含むことを
    特徴とする記録媒体。
  12. 【請求項12】 前記算出ステップは、前記パイプライ
    ン処理部へのパケットの入力に応答してこのパケットが
    属するフローの前記フロー情報を前記格納手段から読出
    すステップと、この読出し情報を参照して前記スケジュ
    ーリング予定時刻を算出するステップとを有することを
    特徴とする請求項11記載の記録媒体。
  13. 【請求項13】 前記パケットの前記パイプライン処理
    部への入力に応答して、前記格納手段のフロー情報を前
    記フロー毎に更新するステップを含むことを特徴とする
    請求項11または12記載の記録媒体。
  14. 【請求項14】 前記格納手段は前記パイプライン処理
    部の処理ブロック数に等しい内部レジスタを有し、前記
    内部レジスタの各々に、パイプライン処理仕掛かり中の
    同一フローに属するパケットの前記フロー情報を格納す
    るようにしたことを特徴とする請求項11〜13いずれ
    か記載の記録媒体。
  15. 【請求項15】 前記フロー情報は前記パケット長の総
    和を含むことを特徴とする請求項11〜14いずれか記
    載の記録媒体。
JP2000161349A 2000-05-31 2000-05-31 パイプライン処理型シェーピング装置およびその方法 Expired - Fee Related JP3498678B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000161349A JP3498678B2 (ja) 2000-05-31 2000-05-31 パイプライン処理型シェーピング装置およびその方法
US09/864,300 US6976256B2 (en) 2000-05-31 2001-05-25 Pipeline processing type shaping apparatus and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000161349A JP3498678B2 (ja) 2000-05-31 2000-05-31 パイプライン処理型シェーピング装置およびその方法

Publications (2)

Publication Number Publication Date
JP2001345813A JP2001345813A (ja) 2001-12-14
JP3498678B2 true JP3498678B2 (ja) 2004-02-16

Family

ID=18665383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000161349A Expired - Fee Related JP3498678B2 (ja) 2000-05-31 2000-05-31 パイプライン処理型シェーピング装置およびその方法

Country Status (2)

Country Link
US (1) US6976256B2 (ja)
JP (1) JP3498678B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457241B2 (en) * 2004-02-05 2008-11-25 International Business Machines Corporation Structure for scheduler pipeline design for hierarchical link sharing
KR100723831B1 (ko) * 2004-12-09 2007-05-31 한국전자통신연구원 시스템 온 칩 설계를 위한 하드웨어/소프트웨어 스케쥴링방법 및 이 기능을 실현하는 기록 매체
US8250231B2 (en) * 2004-12-22 2012-08-21 Marvell International Ltd. Method for reducing buffer capacity in a pipeline processor
JP2006279784A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd エッジスイッチ
JP2007013449A (ja) * 2005-06-29 2007-01-18 Nec Commun Syst Ltd シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置
US8645527B1 (en) 2007-07-25 2014-02-04 Xangati, Inc. Network monitoring using bounded memory data structures
US8639797B1 (en) 2007-08-03 2014-01-28 Xangati, Inc. Network monitoring of behavior probability density
JP4897722B2 (ja) * 2008-02-28 2012-03-14 富士通株式会社 パケット転送装置におけるレート監視方式
US10992555B2 (en) 2009-05-29 2021-04-27 Virtual Instruments Worldwide, Inc. Recording, replay, and sharing of live network monitoring views
CN102411492B (zh) * 2011-11-25 2014-04-23 北京创毅视讯科技有限公司 一种数据处理的方法和装置
US9338095B2 (en) 2012-05-01 2016-05-10 F5 Networks, Inc. Data flow segment optimized for hot flows
US9286450B2 (en) 2014-02-07 2016-03-15 Bank Of America Corporation Self-selected user access based on specific authentication types
US9305149B2 (en) * 2014-02-07 2016-04-05 Bank Of America Corporation Sorting mobile banking functions into authentication buckets
US9647999B2 (en) 2014-02-07 2017-05-09 Bank Of America Corporation Authentication level of function bucket based on circumstances
US9965606B2 (en) 2014-02-07 2018-05-08 Bank Of America Corporation Determining user authentication based on user/device interaction
US9223951B2 (en) 2014-02-07 2015-12-29 Bank Of America Corporation User authentication based on other applications
US9208301B2 (en) 2014-02-07 2015-12-08 Bank Of America Corporation Determining user authentication requirements based on the current location of the user in comparison to the users's normal boundary of location
US9313190B2 (en) 2014-02-07 2016-04-12 Bank Of America Corporation Shutting down access to all user accounts
US9820148B2 (en) 2015-10-30 2017-11-14 Bank Of America Corporation Permanently affixed un-decryptable identifier associated with mobile device
US10021565B2 (en) 2015-10-30 2018-07-10 Bank Of America Corporation Integrated full and partial shutdown application programming interface
US9729536B2 (en) 2015-10-30 2017-08-08 Bank Of America Corporation Tiered identification federated authentication network system
US9641539B1 (en) 2015-10-30 2017-05-02 Bank Of America Corporation Passive based security escalation to shut off of application based on rules event triggering

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2671251B1 (fr) * 1990-12-26 1993-04-16 France Etat Protocole d'acces multiple a un canal de telecommunications a partir de terminaux auxiliaires par messages d'information numerisee et systeme correspondant.
JP3147432B2 (ja) * 1991-10-09 2001-03-19 株式会社日立製作所 パイプライン処理装置
US5740164A (en) * 1993-02-09 1998-04-14 Teledesic Corporation Traffic routing for satellite communication system
US5557609A (en) * 1993-12-01 1996-09-17 Kabushiki Kaisha Toshiba Switching apparatus for ATM
US6442135B1 (en) * 1998-06-11 2002-08-27 Synchrodyne Networks, Inc. Monitoring, policing and billing for packet switching with a common time reference
US6687247B1 (en) * 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard

Also Published As

Publication number Publication date
JP2001345813A (ja) 2001-12-14
US6976256B2 (en) 2005-12-13
US20010049711A1 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
JP3498678B2 (ja) パイプライン処理型シェーピング装置およびその方法
US8270401B1 (en) Packet routing and switching device
US5557609A (en) Switching apparatus for ATM
US5297137A (en) Process for routing data packets around a multi-node communications network
US7623455B2 (en) Method and apparatus for dynamic load balancing over a network link bundle
US7647472B2 (en) High speed and high throughput digital communications processor with efficient cooperation between programmable processing components
CN103248582B (zh) 用于在网络装置中执行包流查找的流缓存器机制
US6799267B2 (en) Packet processor
US7181544B2 (en) Network protocol engine
CN1783839B (zh) 先进交换体系结构中的虚拟信道的流量控制信用更新
JPH09511105A (ja) パケット系ネットワーク用探索エンジン
CN102104541A (zh) 报头处理引擎
JP2003508954A (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
JP2001230810A (ja) パケット流量制御装置および方法
Orda et al. Distributed shortest-path protocols for time-dependent networks
US8996724B2 (en) Context switched route look up key engine
CN111277612B (zh) 一种网络报文处理策略生成方法、系统及介质
US20130100957A1 (en) Information processing system, relay device, and information processing method
EP3442172B1 (en) Network topology system and building methods for topologies and routing tables thereof
CN109379230B (zh) 一种基于广度优先搜索的服务功能链部署方法
CN104137494A (zh) 使用基于树的二进制模式匹配的数据分组分类的复合屏蔽和熵
JP4342100B2 (ja) パケット処理装置
CN1695363B (zh) 为分组处理确定时钟信号的方法和系统
JP2000349816A (ja) パケットデータ処理装置及びそれを用いたパケット中継装置
CN100484136C (zh) 网络协议引擎

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071205

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081205

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091205

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101205

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101205

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees