JP2000124953A - バッファ制御方法及びバッファ制御装置 - Google Patents

バッファ制御方法及びバッファ制御装置

Info

Publication number
JP2000124953A
JP2000124953A JP29383298A JP29383298A JP2000124953A JP 2000124953 A JP2000124953 A JP 2000124953A JP 29383298 A JP29383298 A JP 29383298A JP 29383298 A JP29383298 A JP 29383298A JP 2000124953 A JP2000124953 A JP 2000124953A
Authority
JP
Japan
Prior art keywords
data
pattern
buffer
patterns
buffer memory
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
JP29383298A
Other languages
English (en)
Other versions
JP3765931B2 (ja
Inventor
Yasuo Tezuka
康夫 手塚
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 JP29383298A priority Critical patent/JP3765931B2/ja
Priority to US09/329,837 priority patent/US6826354B2/en
Publication of JP2000124953A publication Critical patent/JP2000124953A/ja
Application granted granted Critical
Publication of JP3765931B2 publication Critical patent/JP3765931B2/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • 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
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Abstract

(57)【要約】 【課題】 入力データ群のパケットプロトコル処理又は
出力レート制限等のためのバッファメモリ蓄積に際し、
バッファメモリの消費量を削減し、バッファ溢れを回避
するバッファ制御方法及びバッファ制御装置を提供する
ことを目的とする。 【解決手段】 入力データを所定のデータパターンと比
較し、入力データがデータパターンと一致した場合に、
バッファメモリに該データパターンを示す符号を記録
し、該符号に対応したデータを再生して出力するよう構
成する。更に、バッファメモリ内のデータ記録単位を細
分化してデータパターン符号を記録でき、データパター
ンを入力データとの比較結果に応じて更新でき、入力デ
ータを分割してデータパターンと比較できるよう構成す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バッファ制御技術
に関し、特に、入力データ群のパケットプロトコル処理
又は出力レート制限等のためのバッファメモリ蓄積に際
し、バッファメモリの消費量を削減し、バッファ溢れを
回避するバッファ制御方法及びバッファ制御装置に関す
る。
【0002】
【従来の技術】図1は従来の技術におけるバッファ制御
装置10の例を示すブロック図である。バッファ制御装
置10は、パケット処理部46におけるパケット処理や
バッファメモリ26におけるバッファチェーニングを制
御するバッファ管理部14、バッファ管理部14に対す
る出力指示及びデータの出力を制御する出力スケジュー
リング部12から構成されている。バッファ管理部14
は、空き先頭ポインタ16、空き最後尾ポインタ18、
各ポインタを制御するポインタ制御部20、出力先頭ポ
インタ22、出力最後尾ポインタ24を有する。本構成
における動作は次の通りである。
【0003】連続したセグメントとしてデータ2が入力
され、ポインタ制御部20においてバッファメモリ26
内のバッファチェーニングを行うと共に、バッファメモ
リ26内にセグメント単位にデータを一時蓄積する。な
お、セグメント単位はバッファメモリにおけるデータ記
録単位である。その間、パケット処理が必要であれば、
パケット処理部46にてパケット組み立て等のパケット
処理を行う。また、出力レートを調整して出力する場合
すなわちシェーピングの場合であれば、出力レート調整
のための時間の間、データはバッファメモリ26に蓄積
される。その後、出力スケジューリング部12がバッフ
ァ管理部14に出力指示することにより、ポインタが制
御されると共に、セグメント単位のデータ4またはパケ
ット組み立て後のデータ6が出力される。セグメント単
位のデータ4には出力レート調整等による空き時間があ
り、パケット組み立て後のデータ6にはパケット処理等
による空き時間がある。
【0004】図2はバッファメモリ26内の構成を示し
た図である。図1のバッファ管理部14が有する各ポイ
ンタの役割を含めて図2について説明する。同図中、バ
ッファメモリ26は空きバッファチェーン27と出力バ
ッファチェーン28を保持し、空きバッファチェーン2
7と出力バッファチェーン28はそれぞれセグメントか
ら構成されている。なお、空きバッファチェーン27内
のセグメントを空きセグメント、出力バッファチェーン
28内のセグメントを出力セグメントと称する。空き先
頭ポインタ16は空きバッファチェーン27の先頭セグ
メントアドレスを示し、空き最後尾ポインタ18は空き
バッファチェーン27の最後尾セグメントアドレスを示
す。出力先頭ポインタ22は出力バッファチェーンの先
頭セグメントアドレスを示し、出力最後尾ポインタ24
は出力バッファチェーンの最後尾セグメントアドレスを
示す。出力セグメント内の次セグメントアドレス29は
次の出力セグメントのアドレスを示している。各出力セ
グメントにデータが格納される。
【0005】図3(a)、(b)、(c)は、バッファ
メモリ26に3つのデータが蓄積される場合を示す図で
ある。図3(a)に示すように、第1データを受信する
と、空きバッファキュー、すなわち空きバッファチェー
ンから1つのセグメントが出力セグメントとして確保さ
れ、該出力セグメントにデータX−が蓄積される。空
き先頭ポインタ(空き先P)は次の空きセグメントを指
す。図3(b)、(c)に示すように、第2、第3 デー
タを受信すると、データ数に応じて空きセグメントが出
力セグメントとして確保される。すなわち、従来のバッ
ファ制御技術においては、受信したデータをそのままバ
ッファメモリに蓄積する。
【0006】
【発明が解決しようとする課題】しかしながら、近年の
ATM通信等においては高速化・高多重化が進み、マル
チキャスト等による同一内容のデータが多量に高速に転
送される場合が多くなっているので、同一内容のデータ
を連続受信した場合もその量だけバッファメモリを消費
する上記従来の技術によると、バッファリング用に多量
のメモリを必要とし、パケットプロトコル処理又は出力
レート制限等によりバッファ溢れの可能性も大きいとい
う問題点がある。
【0007】本発明は上記の点に鑑みなされたもので、
入力データ群のパケットプロトコル処理又は出力レート
制限等のためのバッファメモリ蓄積に際して、バッファ
メモリの消費を削減し、バッファ溢れを回避するバッフ
ァ制御方法及びバッファ制御装置を提供することを目的
とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
の本発明の構成は、以下の通りである。請求項1に記載
の発明は、入力データを一時記憶するバッファメモリを
制御するバッファ制御方法であって、入力データを1又
は複数のデータパターンと比較し、該入力データが、該
データパターンのうち少なくとも1つと一致した場合
に、バッファメモリに該データパターンを示す符号を記
録し、該符号に対応したデータを再生して出力すること
を特徴とするバッファ制御方法である。
【0009】請求項2に記載のバッファ制御方法は、順
次前記入力データが、前記データパターンのうち少なく
とも1つと一致した場合には、前記バッファメモリ内の
データ記録単位内に順次該データパターンを示す符号を
記録し、入力データが、前記データパターンのうち1つ
とも一致しない場合には、該バッファメモリ内の別のデ
ータ記録単位内に該入力データを記録し、データパター
ンと一致しなかった入力データの次の入力データが、前
記データパターンのうち少なくとも1つと一致した場
合、該バッファメモリ内の更に別のデータ記録単位内に
該データパターンを示す符号を記録する。
【0010】請求項1及び2に記載の発明によれば、バ
ッファメモリに対して、パターンが一致した場合には、
入力データの替わりにデータパターン符号を書き込むこ
ととしたため、バッファメモリの消費量を削減でき、従
来問題であったバッファあふれ等を回避することができ
る。請求項3に記載のバッファ制御方法は、順次前記入
力データが、前記データパターンのうち少なくとも1つ
と一致した場合、前記バッファメモリ内のデータ記録単
位を細分化した記録単位毎に順次該データパターンを示
す符号を記録し、入力データが、前記データパターンの
1つとも一致しない場合には、該バッファメモリ内の別
のデータ記録単位内に該入力データを記録し、データパ
ターンと一致しなかった入力データの次の入力データ
が、前記データパターンのうち少なくとも1つと一致し
た場合、該バッファメモリ内において、データパターン
の符号が既に記録されているデータ記録単位内に細分化
した記録単位の空きがあれば、該空きの細分化した記録
単位に該データパターンを示す符号を記録する。
【0011】本発明によれば、データ記録単位を細分化
してデータパターン符号を書き込むこととしたため、連
続的に入力データがデータパターンと一致しない場合で
も、バッファメモリの消費量の削減が可能となる。請求
項4に記載のバッファ制御方法は、前記データパターン
が、予め設定された所定のデータパターンであることと
する。
【0012】本発明によれば、定型的なデータが想定さ
れる場合に、効率的な処理を行うことができる。請求項
5に記載のバッファ制御方法は、所定の場合に、前記デ
ータパターンのうち 1つ又は複数を新たなデータパター
ンと入れ替える。請求項6に記載のバッファ制御方法
は、前記データパターンのうち、入力データと不一致で
あった回数が所定の回数以上、かつバッファメモリ内で
使用されていないデータパターンがある場合に、該デー
タパターンを新たなデータパターンと入れ替える。
【0013】請求項7に記載のバッファ制御方法は、前
記データパターンに優先順位付けすることを可能とし、
前記データパターンのうち入力データと一致したデータ
パターンがある場合には、該データパターンを最高優先
順位に遷移させ、前記データパターンのうち1つとも入
力データと一致しなかった場合には、低優先順位のデー
タパターンを、該データパターンがバッファメモリ内で
使用されていない場合に、新たなデータパターンと入れ
替え、該新たなデータパターンを最高優先順位に遷移さ
せる。
【0014】請求項5〜7に記載の発明によれば、デー
タパターンを書き換えることが可能であるため、入力デ
ータに対して、データパターンを一致させる可能性が高
くなり、バッファメモリをより有効に使用することが可
能となる。請求項8に記載のバッファ制御方法は、入力
データを複数に分割し、該分割された部分毎に対応する
1つ又は複数のデータパターンを用いることにより、該
分割された部分それぞれを入力データとしてバッファ制
御を行う。
【0015】本発明によれば、入力データを分割して処
理することができるため、入力データ内が定型部分と非
定型部分に分かれる場合等に、定型部分にデータパター
ンを使用することにより、バッファメモリの消費量を削
減でき、バッファあふれを回避できる。請求項9に記載
の発明は、入力データを一時記憶するバッファメモリを
制御するバッファ制御装置であって、入力データを1又
は複数のデータパターンと比較する手段と、該入力デー
タが、該データパターンのうち少なくとも1つと一致し
た場合に、バッファメモリに該データパターンを示す符
号を記録する手段と、該符号に対応したデータを再生し
て出力する手段とを有するバッファ制御装置である。
【0016】請求項10に記載のバッファ制御装置は、
順次前記入力データが、前記データパターンのうち少な
くとも1つと一致した場合には、前記バッファメモリ内
のデータ記録単位内に順次該データパターンを示す符号
を記録する手段と、入力データが、前記データパターン
のうち1つとも一致しない場合には、該バッファメモリ
内の別のデータ記録単位内に該入力データを記録する手
段と、データパターンと一致しなかった入力データの次
の入力データが、前記データパターンのうち少なくとも
1つと一致した場合、該バッファメモリ内の更に別のデ
ータ記録単位内に該データパターンを示す符号を記録す
る手段とを有する。
【0017】請求項9及び10に記載の発明によれば、
バッファメモリに対して、パターンが一致した場合に
は、入力データの替わりにデータパターン符号を書き込
むように構成したため、バッファメモリの消費量を削減
でき、従来問題であったバッファあふれ等を回避するこ
とができる。請求項11に記載のバッファ制御装置は、
順次前記入力データが、前記データパターンのうち少な
くとも1つと一致した場合、前記バッファメモリ内のデ
ータ記録単位を細分化した記録単位毎に順次該データパ
ターンを示す符号を記録する手段と、入力データが、前
記データパターンの1つとも一致しない場合には、該バ
ッファメモリ内の別のデータ記録単位内に該入力データ
を記録する手段と、データパターンと一致しなかった入
力データの次の入力データが、前記データパターンのう
ち少なくとも1つと一致した場合、該バッファメモリ内
において、データパターンの符号が既に記録されている
データ記録単位内に細分化した記録単位の空きがあれ
ば、該空きの細分化した記録単位に該データパターンを
示す符号を記録する手段とを有する。
【0018】本発明によれば、データ記録単位を細分化
してデータパターン符号を書き込むよう構成したため、
連続的に入力データがデータパターンと一致しない場合
でも、バッファメモリの消費量の削減が可能となる。請
求項12に記載のバッファ制御装置は、予め設定された
所定のデータパターンを、前記データパターンとして保
持する手段を有する。
【0019】本発明によれば、定型的なデータが想定さ
れる場合に、効率的な処理を行うことができる。請求項
13に記載のバッファ制御装置は、所定の場合に、前記
データパターンのうち 1つ又は複数を新たなデータパタ
ーンと入れ替える手段を有する。請求項14に記載のバ
ッファ制御装置は、前記データパターン毎にデータパタ
ーンと入力データが一致又は不一致であった回数を保持
する手段と、あるデータパターンがバッファメモリ内で
使用中かどうかを判定する手段とを有し、前記データパ
ターンのうち、入力データと不一致であった回数が所定
の回数以上、かつバッファメモリ内で使用されていない
データパターンがある場合に、該データパターンを新た
なデータパターンと入れ替える。
【0020】請求項15に記載のバッファ制御装置は、
前記データパターンに優先順位付けする手段と、あるデ
ータパターンがバッファメモリ内で使用中かどうかを判
定する手段とを有し、前記データパターンのうち入力デ
ータと一致したデータパターンがある場合には、該デー
タパターンを最高優先順位に遷移させ、前記データパタ
ーンのうち1つとも入力データと一致しなかった場合に
は、低優先順位のデータパターンを、該データパターン
がバッファメモリ内で使用されていない場合に、新たな
データパターンと入れ替え、該新たなデータパターンを
最高優先順位に遷移させる手段を有する。
【0021】請求項13〜15に記載の発明によれば、
データパターンを書き換えるよう構成したため、入力デ
ータに対して、データパターンを一致させる可能性が高
くなり、バッファメモリをより有効に使用することが可
能となる。請求項16に記載のバッファ制御装置は、入
力データを複数に分割する手段と、該分割された部分毎
に対応する1つ又は複数のデータパターンと、該データ
パターンを用いることにより、該分割された部分それぞ
れを入力データとしてバッファ制御を行う手段とを有す
る。
【0022】本発明によれば、入力データを分割して処
理するよう構成したため、入力データ内が定型部分と非
定型部分に分かれる場合等に、定型部分にデータパター
ンを使用することにより、バッファメモリの消費量を削
減でき、バッファあふれを回避できる。
【0023】
【発明の実施の形態】次に、本発明の実施の形態とし
て、図を用いて本発明の実施例を説明する。図4は、本
発明の第1の実施例を示すバッファ制御装置10のブロ
ック図である。本発明は定型的なパケットデータとして
データパターンが予想できる場合に適しており、同図
中、バッファ制御装置10は、パケット処理部(図4に
は記載していない)におけるパケット組み立てやバッフ
ァメモリ26におけるバッファチェーニングを制御する
バッファ管理部14、受信データとあらかじめ設定され
たデータパターンとの比較を行うキャッシュ制御部3
0、バッファ管理部14に対する出力指示及びパターン
データの出力を制御する出力スケジューリング部12か
ら構成されている。キャッシュ制御部30は受信データ
を一時蓄積するシフトレジスタ36、予め設定されたデ
ータパターンであるパターンR320 〜32 n 、シフト
レジスタ36の内容とパターンR320 〜32n の内容
を比較する比較部34から構成される。バッファ管理部
14は、空き先頭ポインタ16、空き最後尾ポインタ1
8、各ポインタを制御するポインタ制御部20、パター
ンNo.ライトポインタ17、出力先頭ポインタ22、
出力最後尾ポインタ24を有する。なお、データパター
ンを示す符号をパターンNo.と称する。
【0024】図4中、比較部34は例えばEOR群で構
成でき、パターンR320 〜32nはFF群もしくはメ
モリで構成でき、ソフトウェアプログラム等にて設定・
変更可能とすることもできる。バッファ管理部14の各
ポインタはFF群もしはメモリで構成できる。ポインタ
制御部20はハードロジックもしくはソフトウェアプロ
グラムで構成できる。
【0025】図5はバッファメモリ26内の構成を示し
た図である。図4のバッファ管理部14が有する各ポイ
ンタの役割を含めて図5について説明する。同図中、バ
ッファメモリ26はデータ記録単位の繋がりである空き
バッファチェーン27と出力バッファチェーン28を保
持しており、空きバッファチェーン27と出力バッファ
チェーン28はそれぞれデータ記録単位であるセグメン
トから構成されている。空き先頭ポインタ16は空きバ
ッファチェーン27の先頭セグメントアドレスを示し、
空き最後尾ポインタ18は空きバッファチェーン27の
最後尾セグメントアドレスを示す。パターンNo.ライ
トポインタ17はパターンNo.のライトアドレスを示
し、出力先頭ポインタ22は出力バッファチェーンの先
頭セグメントアドレスを示し、出力最後尾ポインタ24
は出力バッファチェーンの最後尾セグメントアドレスを
示す。出力セグメント内の次セグメントアドレス40は
次の出力セグメントのアドレスを示し、パターンNo.
出力ポインタ41はセグメント内で次に出力するパター
ンNo.の場所を示し、パターンNo.42の領域にお
いてパターンNo.を格納し、データ格納領域43は受
信データを格納し、識別フラグ(F)44はセグメント
内にパターンNo.を有するか否かを示し、ENDフラ
グ(f)45はセグメント内の最終パターンNo.を示
し、空きバッファチェーン27及び出力バッファチェー
ン28を制御する。
【0026】図6は、図1に示す実施例における受信処
理の動作を示すフローチャートである。ステップ1とし
てキャッシュ制御部30のシフトレジスタ36がデータ
受信すると、ステップ2として比較部34において受信
データとパターンR320 〜32n との比較を行い、ス
テップ3にてデータ及びパターンNo.をポインタ制御
部に送出する。ステップ4としてキャッシュ制御部30
での比較結果をポインタ制御部20にて判定し、ミスヒ
ットすなわち不一致の場合はステップ5として空き先頭
ポインタ16を更新することでセグメントを獲得し、ス
テップ6として該セグメントにデータをライトし識別フ
ラグ(F)を0 とし、ステップ7としてパターンNo.
ライトポインタを空きバッファチェーンの先頭セグメン
トアドレスとすることで初期化し、ステップ8として次
セグメントアドレスを更新することで出力セグメントチ
ェーンを更新し、出力最後尾ポインタを更新する。
【0027】ステップ4においてヒットすなわち一致の
場合は、ステップ9としてパターンNo.ライトポイン
タが初期状態か否かを判定し、初期状態の場合は前記ス
テップ5と同様に空き先頭ポインタを更新し、ステップ
10としてパターンNo.ライトポインタが示すアドレ
スを基にパターンNo.をライトし、識別フラグ(F)
を1 として識別フラグをパターンNo.を有する状態と
し、ステップ11としてENDフラグ(f)を1 とし該
当のセグメント内での最終パターンNo.であることを
示す状態とし、ステップ12としてパターンNo.出力
ポインタを設定し、ステップ13として、セグメント内
に空きがある場合にはパターンNo.ライトポインタを
更新し、セグメント内に空きがない場合にはパターンN
o.ライトポインタ初期化する。そして、前記ステップ
8と同様に出力セグメントチェーンを更新し、出力最後
尾ポインタを更新する。
【0028】ステップ9においてパターンNo.ライト
ポインタが初期状態でない場合、前記ステップ10〜1
1の処理の後、ステップ14として前ENDフラグ
(f)を0 とし、前記ステップ13とステップ8の処理
を行う。図7は、図4に示す実施例における送信処理の
動作を示すフローチャートである。図7(a)は主にポ
インタ制御部20における処理、図7(b)は出力スケ
ジューリング部12における処理を示す。図7(a)に
おいて、データ送信時、ステップ20として出力スケジ
ューリング部12がポインタ制御部20に出力を指示す
ると、ステップ21としてポインタ制御部20において
出力先頭ポインタが示すアドレスよりFをリードし、ス
テップ22としてパターンNoが有る否かを判定し、パ
ターンNo. 無しすなわちF=0の場合、ステップ23
として出力先頭ポインタが示すアドレスよりデータをリ
ードし、ステップ24として出力先頭ポインタを更新
し、ステップ25として空き最後尾ポインタを更新する
ことでセグメントを開放する。
【0029】ステップ22における判定の結果、パター
ンNo.が有る場合、ステップ26として出力先頭ポイ
ンタが示すセグメント内のパターンNo.出力ポインタ
よりパターンNo.をリードし、ステップ27としてE
NDフラグ(f)が1 か否かを判定し、1 の場合は前記
ステップ24〜25の処理、すなわち出力先頭ポインタ
を更新し、空き最後尾ポインタを更新する処理を行う。
【0030】ステップ27における判定の結果、END
フラグ(f)が0の場合はパターンNo.出力ポインタ
を更新する。図7(b)において、ステップ30として
出力スケジユーリング部12はポインタ制御部20から
データ又はパターンNo.を受信する。ステップ31に
おいてデータかパターンNo.かどうかを判定し、デー
タの場合はそのままのデータをリードし、ステップ32
としてそのデータを出力し、パターンNo.の場合は、
ステップ33として該パターンNo.に対応したデータ
パターンの内容を出力する。
【0031】図8の(a)、(b)、(c)は、図4に
示す実施例におけるデータ受信の例であり、3つのデー
タを受信し、第1データはヒット、第2データもヒッ
ト、第3データはミスヒットした場合を説明するための
図である。図8(a)において、第1 データ受信時にキ
ャッシュヒットしたがライトする領域がないため空きセ
グメントを1 つ消費して出力セグメントを確保し、パタ
ーンNo.0をライトしている。このときパターンN
o.ライトポインタ(パNo.WP)は次アドレスを示
している。また、出力先頭ポインタ(出力先P)及び出
力最後尾ポインタ(出力後P)は該出力セグメントを示
している。図8(b)において、第2 データ受信時にキ
ャッシュヒットした場合は第1 データにて確保した出力
セグメントにパターンNo.1をライトする。このとき
空きセグメントは消費しない。図8(c)において、第
3 データ受信時はキャッシュミスヒットのため空きセグ
メントを1 つ消費し、新たに確保した出力セグメントに
受信したデータ(X−)をそのまま格納する。この場
合、出力最後尾ポインタ(出力後P)は新たに確保した
出力セグメントを示す。
【0032】図9は、本発明の第2の実施例を示すバッ
ファ制御装置10のブロック図である。同図に示すよう
に、図4に示した構成におけるパターンNo.ライトポ
インタ17の替わりに空きセグメントを細分化したセグ
メントアドレスを示す空きパターンNo.ポインタ19
を有する構成である。図10は、空きバッファチェーン
において空きセグメントを細分化した細分化セグメント
からなる空きパターンNo.チェーン50を示す図であ
り、同図中、パターンNo.力ウンタ52は細分化セグ
メントの獲得・開放状態を管理する。
【0033】図11は、出力セグメント及び出力細分化
セグメントから構成された出力バッファチェーン54を
示す図である。次細分化セグメントアドレス56は次細
分化セグメントを示し、次セグメントアドレスは次セグ
メントアドレスを示す。パターンNo. 58はパターン
No.を格納する領域を示し、データ格納領域59は受
信データを格納し、識別フラグ(F)60はセグメント
又は細分化セグメント内がパターンNo.か否かを示す
ものであり、空きバッファチェーン、空きパターンN
o.チェーン、出力バッファチェーンを制御する。出力
先頭ポインタ22は出力セグメント又は出力細分化セグ
メントの先頭を示し、出力最後尾ポインタ24は出力セ
グメント又は出力細分化セグメントの最後尾を示す。な
お、空きパターンNo.ポインタはFF群もしくはメモ
リで構成できる。
【0034】図12は、図9に示す実施例における受信
処理の動作を示すフローチャートである。ステップ40
としてキャッシュ制御部30にて前述した図6における
ステップ1〜3と同一の処理が行われ、続いてステップ
41としてポインタ制御部20においてキャッシュデー
タを受信し、キャッシュ制御部30での比較結果を判定
し、ミスヒットの場合はステップ42として空き先頭ポ
インタを更新して新たにセグメントを獲得し、ステップ
43として該セグメントにデータをライトし識別フラグ
(F)を0とする。そして、ステップ44として出力セ
グメントチェーンを更新し、出力最後尾ポインタを更新
する。
【0035】ステップ41における判定の結果がヒット
の場合、ステップ45として空きパターンNo.チェー
ンに空きが有るか否かを判定し、無しの場合は前記ステ
ップ42と同様の処理を行い空き先頭ポインタを更新
し、ステップ46として細分化セグメントにパターンN
o.をライトし識別フラグ(F)を1 とし、ステップ4
4と同様に出力セグメントチェーンを更新し、出力最後
尾ポインタを更新する。ステップ45における判定の結
果、空きパターンNo.チェーンに空きが有る場合はス
テップ47として空きパターンNo.ポインタを更新す
ることで空き細分化セグメントを獲得し、ステップ46
及びステップ44と同様に該細分化セグメントにパター
ンNo.をライトし識別フラグ(F)を1 とし、出力セ
グメントチェーンを更新し、出力最後尾ポインタを更新
する。
【0036】図13は、図9に示す実施例における送信
処理の動作を示すフローチャートである。図13(a)
は主にポインタ制御部20における処理、図13(b)
は出力スケジューリング部12における処理を示す。図
13(a)において、データ送信時、ステップ50とし
て出力スケジューリング部12がポインタ制御部20に
出力を指示すると、ステップ51としてポインタ制御部
20において出力先頭ポインタが示すアドレスよりFを
リードし、ステップ52としてパターンNoであるか否
かを判定し、パターンNo. でない、すなわちF=0の
場合、ステップ53として出力先頭ポインタが示すアド
レスよりデータをリードし、ステップ54として出力先
頭ポインタを更新し、ステップ55として空き最後尾ポ
インタを更新することでセグメントを開放する。
【0037】ステップ52における判定の結果、パター
ンNo.の場合、ステップ56として出力先頭ポインタ
が示すアドレスよりパターンNo.をリードし、出力先
頭ポインタを更新し、ステップ57としてパターンN
o.カウンタを1 加算することで細分化セグメントを開
放し、ステップ58として該パターンNo.カウンタが
最大値か否かを判定し、最大値の場合、ステップ55の
処理、すなわち空き最後尾ポインタの更新を行いセグメ
ントを開放し、最大値でない場合は更新等の処理は行わ
ない。
【0038】図13(b)において、出力スケジユーリ
ング部12はポインタ制御部20からデータ又はパター
ンNo.を受信し、データかパターンNo.かどうかを
判定し、データの場合はそのままのデータをリードし、
そのデータを出力し、パターンNo.の場合は、該パタ
ーンNo.に対応したデータパターンの内容を出力す
る。
【0039】図14の(a)、(b)、(c)は、図9
に示す実施例におけるデータ受信の例であり、3データ
を受信し、第1データはヒット、第2データもヒット、
第3データはミスヒットした場合を説明するための図で
ある。図14(a)において、第1 データ受信時にキャ
ッシュヒットしたがライトする領域がないため空きセグ
メントを1 つ消費しかつ該セグメントを細別化し該細分
化セグメントにパターンNo.0をライトしている。こ
のとき空きパターンNo.ポインタ(空きパNo.P)
は空きパターンNo.キューにおける次アドレスを示し
ている。図14(b)において、第2 データ受信時にキ
ャッシュヒットした場合は、第1 データにて確保した出
力セグメント内の空きパターンNo.キューより細別化
セグメントを確保しパターンNo.1をライトする。図
14(c)において、第3 データ受信時はキャッシュミ
スヒットのため空きセグメントを1 つ消費し、新たに確
保した出力セグメントに受信したデータ(X−)をそ
のまま格納する。ただし、空きパターンNo.キューに
残った細別化セグメントは後のヒット時に利用可能であ
る。
【0040】図15は、本発明の第3の実施例を示す図
である。同図に示すように、本実施例は、図4又は図9
に示す構成におけるキャッシュ制御部30においてパタ
ーン更新制御部31が付加された構成をとる。パターン
更新制御部31におけるミスヒットCNT370 〜37
n は受信データとパターンデータを比較した結果不一致
であった回数をカウントし、使用中CNT380 〜38
n はパターンNo.が出力バッファにチェーンすなわち
使用されている個数をカウントする。ミスヒットCNT
370 〜37n からミスヒット数の多いパターンR内デ
ータを新パターンデータに書き換える構成である。ただ
し、使用中CNT380 〜38n により使用中であるこ
とが示されている状態のパターンは書き換えない。な
お、ミスヒットCNT370 〜37n 、使用中CNT3
0 〜38n はFF群もしくはメモリで構成できる。ま
た、ミスヒットCNT370 〜37n はヒット数をカウ
ントするものであっても実施可能であり、ミスヒットC
NT370 〜37n のカウント値による置き換え対象パ
ターンRの判定は、例えば、あるしきい値を設けて行っ
てもよい。
【0041】図16は、図15に示す実施例における受
信処理のキャッシュ制御部30における動作を示すフロ
ーチャートである。ステップ70〜72としてキャッシ
ュ制御部30にて前述した図6におけるステップ1〜3
と同一の処理が行われ、ステップ73としてパターン比
較結果をパターン更新制御部31にて判定し、ヒットの
場合、ステップ74として該ヒットパターンに対応する
ミスヒットCNTをクリアもしくは保持し、ステップ7
5として他のミスヒットCNTに1 を加算し、ステップ
76として該ヒットパターンに対応する使用中カウンタ
に1 を加算する。
【0042】ステップ73における判定の結果、全パタ
ーンがミスヒットの場合、ステップ77としてパターン
R320 〜32n に空きがあるかどうかを判定し、空き
が無い場合、ステップ78としてミスヒットCNTの値
が大きくかつパターンが使用中でない条件に合致したパ
ターンR内データを新パターンデータに書き換え、ステ
ップ77での判定の結果、未使用パターンRがある場
合、ステップ79としてそこに新パターンデータを書き
込む。
【0043】図17の(a)、(b)は、ミスヒットC
NT、使用中CNT、パターンR、出力バッファキュー
の状態変化を示した図である。図17の(a)の前状態
においてパターンR1に対応するミスヒットCNT1が
4と多く、前状態から2バッファ出力後にミスヒットデ
ータを受信した現状態を示す図17の(b)において、
ミスヒットCNT値が大きくかつ使用中CNTが0であ
るパターンR1 が新パターンデータに置き換えられる。
【0044】図18は、本発明の第4の実施例を示す図
である。同図に示すように、本実施例は、図4又は図9
に示す構成におけるキャッシュ制御部30においてパタ
ーン更新制御部31が付加された構成をとる。本実施例
におけるパターン更新制御部31は、パターンの優先順
位を決定するヒット状態管理部39及び使用中CNT3
0 〜38n を有する。ヒット状態管理部39がパター
ンR320 〜32n の優先順位を決定し、優先順位の低
いパターンデータを新パターンデータに書き換えるもの
である。なお、ヒット状態管理部は例えばハードロジッ
クもしくはソフトウェアプログラムで構成できる。
【0045】図19は、図18に示す実施例における受
信処理のキャッシュ制御部30における動作を示すフロ
ーチャートである。ステップ80〜82としてキャッシ
ュ制御部30にて前述した図6におけるステップ1〜3
と同一の処理が行われ、ステップ83としてパターン比
較結果をパターン更新制御部31にて判定し、ヒットの
場合、ステップ84としてヒットした該パターンRを高
優先順位に遷移させる。ステップ83における判定の結
果、全パターンがミスヒットの場合、ステップ85とし
てパターンR320 〜32n に空きがあるかどうかを判
定し、空きが無い場合、ステップ86として低優先順位
かつパターンが使用中でないという条件に合致したパタ
ーンR内データを新パターンデータに書き換え、ステッ
プ88として該パターンR を高優先順位に遷移させる。
ステップ85における判定の結果、パターンR320
32n に空きがある場合、未使用パターンRへ新パター
ンデータを書き込み、該パターンR を高優先順位に遷移
させる。図20に、上述したヒット状態管理部39にお
けるパターンの状態遷移を示す。
【0046】図21(a)、(b)は、データ受信して
パターンの状態が遷移する例を示す図である。 図21
(a)において、第1 のデータを受信し、パターンR0
がヒットしたためパターンR0が高優先順位に遷移し、
パターンR1 が低優先順位になることを示す。 図21
(b)において、第2 のデータを受信し、ミスヒットの
ため低優先順位のパターンR1 が新パターンデータに置
き換えられ高優先順位に遷移する。
【0047】図22は本発明の第5の実施例を示すブロ
ック図である。同図に示すように、本実施例の構成は、
図15又は図18の構成において、HパターンR330
〜33m が付加されたものである。HパターンR330
〜33m は受信データの一部を比較し、パターンR32
0 〜32n は受信データの残りの部分を比較し、それぞ
れの比較結果の組み合わせをバッファ管理部14に送出
する。なお、HパターンR330 〜33m 、パターンR
320 〜32n はFF群もしくはメモリで構成できる。
また分割の数は3 以上であっても可能である。
【0048】図23は、図22に示す実施例における受
信処理のキャッシュ制御部30における動作を示すフロ
ーチャートである。ステップ90でデータ受信し、ステ
ップ91及びステップ92においてHパターンRとパタ
ーンRをそれぞれ並行に比較し、ステップ93において
その結果を送出する。図24は、データBとデータXか
ら成るデータを受信した場合の例を示す図である。同図
において、受信データをデータBとデータXに分割し、
データBをHパターンRとデータXをパターンRと比較
し、それぞれマッチするので、その結果であるHパター
ンNo.1 とパターンNo.0を送出することが示され
る。
【0049】図25は本発明に係るバッファ制御装置が
パケット転送モジュール60に適用された場合の実施例
を示した図である。パケット転送モジュール60は、入
力物理終端部62、多重部64、入力ATM終端部6
6、入力AAL部68、パケット処理部70、出力AA
L終端部80、マルチキャスト部82、セルシェーピン
グ部84、出力ATM終端部90、分離部92、出力物
理終端部94、制御部96より構成される。パケット処
理部70は、本発明のバッファ制御装置が適用されるパ
ケット組み立てバッファ72とパケットヘッダ処理部7
4とから構成され、セルシェーピング部84は、本発明
のバッファ制御装置が適用されるセルシェーピングバッ
ファ86とセルシェーピング制御部88とから構成され
る。
【0050】同図中、入力回線からのデータは、各ポー
ト毎に物理終端処理、多重処理、ATM終端処理、AA
L終端処理され、パケット処理部へ入力される。パケッ
ト処理部では複数ATMコネクション(VPI/VC
I)毎にパケットを組み立て、ヘッダ処理にて出力コネ
クションを決定しパケット化されたセルを出力し、AA
L終端される。出力したパケットがマルチキャストパケ
ットの場合は、マルチキャスト部でパケットコピー又は
セルコピーされシェーピング部に入力される。シェーピ
ング部84では各コネクション毎にセルを蓄積し、設定
された出力レートにてセルを出力し、ATM終端処理、
分離処理、物理終端処理され回線へ出力される。制御部
96は、各ブロックの初期設定、状態管理等を行う。
【0051】本実施例のパケット転送モジュールを使用
することにより、パケット組み立て及びシェーピング等
におけるバッファ使用量が削減でき、バッファあふれ等
が回避できる。図26は、本発明をATMモジュールに
適用した場合の実施例を示すブロック図である。同図に
示すように、ATMスイッチモジュール100は、入力
物理終端部102、入力ATM終端部104、ATMス
イッチ部106、セルシェーピング部116、出力AT
M終端部122、出力物理終端部124より構成され
る。ATMスイッチ部106は、多重部108、分離部
112、スイッチ制御部114及び本発明のバッファ制
御装置が適用されるスイッチバッファ110から構成さ
れる。セルシェーピング部116は、本発明のバッファ
制御装置が適用されるセルシェーピングバッファ118
とセルシェーピング制御部120とから構成される。
【0052】同図中、入力回線からのデータは、各ポー
ト毎に物理終端処理、ATM終端処理、ATMスイッチ
部へ入力される。ATMスイッチ部106は各入力回線
を多重し、複数ATMコネクション(VPI/VCI)
毎にスイッチバッファに蓄積する。蓄積されたセルはス
イッチ制御部114からのスイッチ情報に従い出力さ
れ、分離部にて出力先の回線へ出力される。スイッチ容
量が大きい場合は、同図に示すように、スイッチバッフ
ァを多段に配置する。ATMスイッチ部106から出力
されたセルは、シェーピングバッファに蓄積し、設定さ
れたレートにてセルを出力し、ATM終端処理、物理終
端処理され回線へ出力される。制御部126は、各ブロ
ックの初期設定、状態管理等を行う。
【0053】本実施例のATMスイッチモジュールを使
用することにより、スイッチ処理及びシェーピング等に
おけるバッファ使用量が削減でき、バッファあふれ等が
回避できる。次に、本発明がネットワーク上で適用さ
れ、バッファあふれ防止等の効果が想定される例につい
て図27〜29を用いて説明する。
【0054】図27は、公衆ネットワーク134上に本
発明のバッファを有するノード130、131、132
が配置され、ホスト133等にデータが集中的に送られ
る場合を示す図である。ホスト等に対するIP等のデー
タが集中する場合としては、単なる返信のアンケート回
答や、時間指定のチケット購入申し込み等が想定され、
それらに関するデータパケットは一時的で同一データが
多い。図27のデータ135〜139において、IPヘ
ッダや網内ヘッダは定型であり、内容はアドレス等のル
ート情報が主であるので、同一ノードへの入力は同一デ
ータとなる場合が多いため、データ量が多い場合でも本
発明のバッファ制御装置によりバッファ溢れ等の防止が
可能である。
【0055】図28は、公衆ネットワーク134上に本
発明のバッファを有するノード130、131、132
が配置され、例えば企業内イントラネット等の中のユー
ザ141からユーザ140へ、多量のパケットデータ1
42を送信する場合を示す図である。データ142は企
業内イントラネットにおけるデータであるので、各ヘッ
ダは定型であり、同一データとなる場合が多く、ノード
133において一般ユーザ又は多ネットワークのデータ
が着信している場合でも、バッファあふれ等の防止が可
能である。
【0056】図29は、データが放送型ユーザからマル
チキャスト転送される場合を示す図であり、ノード15
1〜155、ユーザルータA156、ユーザルータB1
57は本発明のバッファ制御装置を有する。また、ユー
ザルータB157以外はマルチキャスト機能を有する。
各ノードにおいて、本発明のバッファ制御装置を有する
パケット組み立てバッファ158にてATMセルをパケ
ットに組み立て、マルチキャスト部159においてマル
チキャスト転送のためのパケットコピーが行われ、本発
明のバッファ制御装置を有するシェーピングバッファ1
60にデータを蓄積する。複数にコピー生成されたデー
タ162中、マルチキャストデータは同一であるので、
本発明におけるバッファあふれ等の防止効果が大きい。
また、ユーザルータにおいては、本発明のバッファ制御
装置を有するパケット組み立てバッファ161にてAT
Mセルをパケットに組み立てる。マルチキャスト機能を
有しないユーザルータB157においては、同一マルチ
キャストデータを有するデータ163が多量に入力され
るので、本発明による効果が大きい。
【0057】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
【0058】
【発明の効果】上述したように、本発明によれば、バッ
ファメモリに対して、パターンが一致した場合には、入
力データの替わりにデータパターン符号を書き込むこと
としたため、バッファメモリの消費量を削減でき、従来
問題であったバッファあふれ等を回避することができ
る。更に、データ記録単位を細分化してデータパターン
符号を書き込むこととしたため、連続的に入力データが
データパターンと一致しない場合でも、バッファメモリ
の消費量の削減が可能となる。
【0059】また、本発明によれば、データパターンを
書き換えることが可能であるため、入力データに対し
て、データパターンを一致させる可能性が高くなり、バ
ッファメモリをより有効に使用することが可能となる。
更に、入力データを分割して処理することができるた
め、入力データ内が定型部分と非定型部分に分かれる場
合等に、定型部分にデータパターンを使用することによ
り、バッファメモリの消費量を削減でき、バッファあふ
れをより効率的に回避できる。
【0060】したがって、本発明によれば、バッファメ
モリの最適利用が可能となり、データ入力スループット
に対し出力スループットが小さい場合及びパケット処理
時のバッファメモリのバッファ溢れを極力防止でき、デ
ータバッファ装置の性能および品質向上に寄与するとこ
ろが大きい。特にマルチキャスト転送等のように同一デ
ータが多量に転送される場合に効果が大きく、又、同一
データの無意味なデータ転送のような悪意データへの対
応策としても効果がある。
【図面の簡単な説明】
【図1】従来技術によるバッファ制御装置のブロック図
である。
【図2】図1におけるバッファメモリ26内の構成を示
す図である。
【図3】バッファメモリ26に3つのデータが蓄積され
る例を示す図である。
【図4】本発明の第1の実施例を示すブロック図であ
る。
【図5】図4におけるバッファメモリ26内の構成を示
す図である。
【図6】第1の実施例においてデータ受信時の動作を示
すフローチャートである。
【図7】第1の実施例においてデータ送信時の動作を示
すフローチャートである。
【図8】第1の実施例において3つのデータが蓄積され
る例を示す図である。
【図9】本発明の第2の実施例を示すブロック図であ
る。
【図10】第2の実施例における空きパターンNo.チ
ェーン内の構成を示す図である。
【図11】第2の実施例における出力バッファチェーン
内の構成を示す図である。
【図12】第2の実施例においてデータ受信時の動作を
示すフローチャートである。
【図13】第2の実施例においてデータ送信時の動作を
示すフローチャートである。
【図14】第2の実施例において3つのデータが蓄積さ
れる例を示す図である。
【図15】本発明の第3の実施例を示すブロック図であ
る。
【図16】第3の実施例においてデータ受信時の動作を
示すフローチャートである。
【図17】第3の実施例においてデータが更新される例
を示す図である。
【図18】本発明の第4の実施例を示すブロック図であ
る。
【図19】第4の実施例においてデータ受信時の動作を
示すフローチャートである。
【図20】第4の実施例におけるデータパターンの優先
順位の遷移方法を表した図である。
【図21】第4の実施例においてデータが更新される例
を示す図である。
【図22】本発明の第5の実施例を示すブロック図であ
る。
【図23】第5の実施例においてデータ受信時の動作を
示すフローチャートである。
【図24】第5の実施例において分割されたデータをデ
ータパターンと比較する例を示す図である。
【図25】本発明をパケット転送モジュールに適用した
実施例を示すブロック図である。
【図26】本発明をATMスイッチモジュールに適用し
た実施例を示すブロック図である。
【図27】本発明をネットワーク上で適用する例であ
り、データ集中の場合を示す図である。
【図28】本発明をネットワーク上で適用する例であ
り、同一ユーザ間に多量のパケットが転送される場合を
示す図である。
【図29】本発明をネットワーク上で適用する例であ
り、マルチキャスト転送が行われるの場合を示す図であ
る。
【符号の説明】
2、4、6 データ 10 バッファ制御装置 12 出力スケジューリング部 14 バッファ管理部 16 空き先頭ポインタ 17 パターンNo.ライトポインタ 18 空き最後尾ポインタ 19 空きパターンNo.ポインタ 20 ポインタ制御部 22 出力先頭ポインタ 24 出力最後尾ポインタ 26 バッファメモリ 27 空きバッファチェーン 28 出力バッファチェーン 29、40 次セグメントアドレス 30 キャッシュ制御部 31 パターン更新制御部 32 パターンR 33 HパターンR 34 比較部 36 シフトレジスタ 37 ミスヒットCNT 38 使用中CNT 39 ヒット状態管理部 41 パターンNo.出力ポインタ 42、58 パターンNo. 43、59 データ格納領域 44 識別フラグ(F) 45 ENDフラグ(f) 46 パケット処理部 50 空きパターンNo.チェーン 52 パターンNo.カウンタ 54 出力バッファチェーン 56 次細分化セグメントアドレス 57 次セグメントアドレス 60 パケット転送モジュール 62、102 入力物理終端部 64、108 多重部 66、104 入力ATM終端部 68 入力AAL終端部 70 パケット処理部 72、158、161 パケット組み立てバッファ 74 パケットヘッダ処理部 80 出力AAL終端部 82、159 マルチキャスト部 84、116 セルシェーピング部 86、118、160 セルシェーピングバッファ 88、120 セルシェーピング制御部 90、122 出力ATM終端部 92、112 分離部 94、124 出力物理終端部 96、126 制御部 100 ATMスイッチモジュール 106 ATMスイッチ部 110 スイッチバッファ 114 スイッチ制御部 130〜132、151〜157 ノード 133 ホスト等 134 公衆ネットワーク 135、136、137、138、139、142、1
62、163 データ 140、141 ユーザ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】入力データを一時記憶するバッファメモリ
    を制御するバッファ制御方法であって、 入力データを1又は複数のデータパターンと比較し、 該入力データが、該データパターンのうち少なくとも1
    つと一致した場合に、 バッファメモリに該データパターンを示す符号を記録
    し、 該符号に対応したデータを再生して出力することを特徴
    とするバッファ制御方法。
  2. 【請求項2】順次前記入力データが、前記データパター
    ンのうち少なくとも1つと一致した場合には、 前記バッファメモリ内のデータ記録単位内に該データパ
    ターンを示す符号を順次記録し、 入力データが、前記データパターンのうち1つとも一致
    しない場合には、 該バッファメモリ内の別のデータ記録単位内に該入力デ
    ータを記録し、 データパターンと一致しなかった入力データの次の入力
    データが、前記データパターンのうち少なくとも1つと
    一致した場合、 該バッファメモリ内の更に別のデータ記録単位内に該デ
    ータパターンを示す符号を記録することを特徴とする請
    求項1記載のバッファ制御方法。
  3. 【請求項3】順次前記入力データが、前記データパター
    ンのうち少なくとも1つと一致した場合、 前記バッファメモリ内のデータ記録単位を細分化した記
    録単位毎に順次該データパターンを示す符号を記録し、 入力データが、前記データパターンの1つとも一致しな
    い場合には、 該バッファメモリ内の別のデータ記録単位内に該入力デ
    ータを記録し、 データパターンと一致しなかった入力データの次の入力
    データが、前記データパターンのうち少なくとも1つと
    一致した場合、 該バッファメモリ内において、データパターンの符号が
    既に記録されているデータ記録単位内に細分化した記録
    単位の空きがあれば、該空きの細分化した記録単位に該
    データパターンを示す符号を記録することを特徴とする
    請求項1記載のバッファ制御方法。
  4. 【請求項4】前記データパターンは、予め設定された所
    定のデータパターンであることを特徴とする請求項1な
    いし3いずれか一項記載のバッファ制御方法。
  5. 【請求項5】所定の場合に、前記データパターンのうち
    1つ又は複数を新たなデータパターンと入れ替えること
    を特徴とする請求項1ないし3いずれか一項記載のバッ
    ファ制御方法。
  6. 【請求項6】前記データパターンのうち、入力データと
    不一致であった回数が所定の回数以上、かつバッファメ
    モリ内で使用されていないデータパターンがある場合
    に、 該データパターンを新たなデータパターンと入れ替える
    ことを特徴とする請求項1ないし3いずれか一項記載の
    バッファ制御方法。
  7. 【請求項7】前記データパターンに優先順位付けするこ
    とを可能とし、 前記データパターンのうち入力データと一致したデータ
    パターンがある場合には、該データパターンを最高優先
    順位に遷移させ、 前記データパターンのうち1つとも入力データと一致し
    なかった場合には、低優先順位のデータパターンを、該
    データパターンがバッファメモリ内で使用されていない
    場合に、新たなデータパターンと入れ替え、 該新たなデータパターンを最高優先順位に遷移させるこ
    とを特徴とする請求項1ないし3いずれか一項記載のバ
    ッファ制御方法。
  8. 【請求項8】入力データを複数に分割し、該分割された
    部分毎に対応する1つ又は複数のデータパターンを用い
    ることにより、該分割された部分を入力データとしてバ
    ッファ制御を行うことを特徴とする請求項1ないし7い
    ずれか一項記載のバッファ制御方法。
  9. 【請求項9】入力データを一時記憶するバッファメモリ
    を制御するバッファ制御装置であって、 入力データを1又は複数のデータパターンと比較する手
    段と、 該入力データが、該データパターンのうち少なくとも1
    つと一致した場合に、 バッファメモリに該データパターンを示す符号を記録す
    る手段と、 該符号に対応したデータを再生して出力する手段と、 を有することを特徴とするバッファ制御装置。
  10. 【請求項10】順次前記入力データが、前記データパタ
    ーンのうち少なくとも1つと一致した場合に、前記バッ
    ファメモリ内のデータ記録単位内に該データパターンを
    示す符号を順次記録する手段と、 入力データが、前記データパターンのうち1つとも一致
    しない場合には、該バッファメモリ内の別のデータ記録
    単位内に該入力データを記録する手段と、 データパターンと一致しなかった入力データの次の入力
    データが、前記データパターンのうち少なくとも1つと
    一致した場合、該バッファメモリ内の更に別のデータ記
    録単位内に該データパターンを示す符号を記録する手段
    と、 を有することを特徴とする請求項9記載のバッファ制御
    装置。
  11. 【請求項11】順次前記入力データが、前記データパタ
    ーンのうち少なくとも1つと一致した場合、前記バッフ
    ァメモリ内のデータ記録単位を細分化した記録単位毎に
    順次該データパターンを示す符号を記録する手段と、 入力データが、前記データパターンの1つとも一致しな
    い場合には、該バッファメモリ内の別のデータ記録単位
    内に該入力データを記録する手段と、 データパターンと一致しなかった入力データの次の入力
    データが、前記データパターンのうち少なくとも1つと
    一致した場合、該バッファメモリ内において、データパ
    ターンの符号が既に記録されているデータ記録単位内に
    細分化した記録単位の空きがあれば、該空きの細分化し
    た記録単位に該データパターンを示す符号を記録する手
    段と、 を有することを特徴とする請求項9記載のバッファ制御
    装置。
  12. 【請求項12】予め設定された所定のデータパターン
    を、前記データパターンとして保持する手段を有するこ
    とを特徴とする請求項9ないし11いずれか一項記載の
    バッファ制御装置。
  13. 【請求項13】所定の場合に、前記データパターンのう
    ち 1つ又は複数を新たなデータパターンと入れ替える手
    段を有することを特徴とする請求項9ないし11いずれ
    か一項記載のバッファ制御装置。
  14. 【請求項14】前記データパターン毎にデータパターン
    と入力データが一致又は不一致であった回数を保持する
    手段と、 あるデータパターンがバッファメモリ内で使用中かどう
    かを判定する手段とを有し、 前記データパターンのうち、入力データと不一致であっ
    た回数が所定の回数以上、かつバッファメモリ内で使用
    されていないデータパターンがある場合に、該データパ
    ターンを新たなデータパターンと入れ替える手段を有す
    ることを特徴とする請求項9ないし11いずれか一項記
    載のバッファ制御装置。
  15. 【請求項15】前記データパターンに優先順位付けする
    手段と、 あるデータパターンがバッファメモリ内で使用中かどう
    かを判定する手段とを有し、前記データパターンのうち
    入力データと一致したデータパターンがある場合には、
    該データパターンを最高優先順位に遷移させ、 前記データパターンのうち1つとも入力データと一致し
    なかった場合には、低優先順位のデータパターンを、該
    データパターンがバッファメモリ内で使用されていない
    場合に、新たなデータパターンと入れ替え、 該新たなデータパターンを最高優先順位に遷移させる、 手段を有することを特徴とする請求項9ないし11いず
    れか一項記載のバッファ制御装置。
  16. 【請求項16】入力データを複数に分割する手段と、 該分割された部分毎に対応する1つ又は複数のデータパ
    ターンとを有し、 該データパターンを用いることにより、該分割された部
    分それぞれを入力データとしてバッファ制御を行う手段
    を有することを特徴とする請求項9ないし15いずれか
    一項記載のバッファ制御装置。
JP29383298A 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置 Expired - Fee Related JP3765931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29383298A JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置
US09/329,837 US6826354B2 (en) 1998-10-15 1999-06-10 Buffer control method and buffer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29383298A JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置

Publications (2)

Publication Number Publication Date
JP2000124953A true JP2000124953A (ja) 2000-04-28
JP3765931B2 JP3765931B2 (ja) 2006-04-12

Family

ID=17799745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29383298A Expired - Fee Related JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置

Country Status (2)

Country Link
US (1) US6826354B2 (ja)
JP (1) JP3765931B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448071B1 (ko) * 2002-03-14 2004-09-10 한국과학기술원 컴퓨터 시스템의 버퍼 메모리 제어장치
JP2009004930A (ja) * 2007-06-20 2009-01-08 Alaxala Networks Corp シェーピング装置およびルータ装置
US8760941B2 (en) 2012-03-30 2014-06-24 Fujitsu Limited Data transfer circuit and data transfer method
WO2017217482A1 (ja) * 2016-06-17 2017-12-21 株式会社オートネットワーク技術研究所 制御システム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW580619B (en) * 2002-04-03 2004-03-21 Via Tech Inc Buffer control device and the management method
US7721018B2 (en) * 2006-08-24 2010-05-18 Microchip Technology Incorporated Direct memory access controller with flow control
US7934025B2 (en) * 2007-01-24 2011-04-26 Qualcomm Incorporated Content terminated DMA
JP4848983B2 (ja) * 2007-03-22 2011-12-28 カシオ計算機株式会社 画像記憶装置、画像記憶制御プログラム及び画像記憶方法
US8219740B2 (en) * 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
US8266344B1 (en) * 2009-09-24 2012-09-11 Juniper Networks, Inc. Recycling buffer pointers using a prefetch buffer
US8605722B1 (en) * 2009-12-10 2013-12-10 Juniper Networks, Inc. Deadlock-resistant fabric tree replication in a network device
KR101593865B1 (ko) * 2012-02-29 2016-02-12 미쓰비시덴키 가부시키가이샤 데이터 전송 장치, 데이터 전송 방법 및 데이터 전송 프로그램
US9804793B2 (en) 2016-03-04 2017-10-31 Intel Corporation Techniques for a write zero operation
US20170255387A1 (en) * 2016-03-04 2017-09-07 Intel Corporation Techniques to Cause a Content Pattern to be Stored to Memory Cells of a Memory Device
US10249351B2 (en) 2016-11-06 2019-04-02 Intel Corporation Memory device with flexible internal data write control circuitry
US10490239B2 (en) 2016-12-27 2019-11-26 Intel Corporation Programmable data pattern for repeated writes to memory

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383367B1 (en) * 1983-12-26 1999-03-17 Hitachi, Ltd. Graphic pattern processing apparatus and method
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
JPH0688427B2 (ja) * 1987-04-15 1994-11-09 キヤノン株式会社 出力装置
JPS63271180A (ja) * 1987-04-30 1988-11-09 Fujitsu Ltd 集積回路用試験装置
JP3018404B2 (ja) * 1990-06-21 2000-03-13 日本電気株式会社 マイクロプロセッサ
JP3084807B2 (ja) * 1991-07-10 2000-09-04 ブラザー工業株式会社 印字装置
JP3312039B2 (ja) * 1992-01-08 2002-08-05 シャープ株式会社 データ駆動型情報処理装置
JP3283939B2 (ja) 1992-01-29 2002-05-20 キヤノン株式会社 画像処理方法及びその装置
JPH05266095A (ja) * 1992-03-23 1993-10-15 Toshiba Corp 画像検索装置
JP2932346B2 (ja) * 1994-07-22 1999-08-09 富士通株式会社 印刷装置並びに印刷装置における印刷制御方法及び文字フォントパターン管理方法
JP3500724B2 (ja) * 1994-09-05 2004-02-23 ソニー株式会社 データ再生方法およびデータ再生装置
JPH08249494A (ja) * 1995-03-09 1996-09-27 Sharp Corp Zバッファ方式隠面消去装置
JP3673553B2 (ja) 1995-03-31 2005-07-20 キヤノン株式会社 ファイリング装置
US6044076A (en) * 1995-06-09 2000-03-28 Canon Kabushiki Kaisha Network system for transmitting a plurality of channels, and node device, packet transmission method, terminal equipment connection table generation method, and connection information registration method used in the system
US5859954A (en) * 1995-07-27 1999-01-12 Canon Kabushiki Kaisha Printing apparatus, data registration method, and storage medium
US5691997A (en) * 1995-09-28 1997-11-25 Cisco Systems, Inc. Encoder for use in asynchronous transfer mode systems
US5665953A (en) * 1996-02-14 1997-09-09 Lobar Code Inc. Self-contained personal data collector for redeeming coupons
JP3069771B2 (ja) 1996-07-01 2000-07-24 株式会社フロム新居浜 パターン認識方法及び装置
US6092116A (en) * 1996-12-11 2000-07-18 Lsi Logic Corporation DMA controller with response message and receive frame action tables
TW401564B (en) * 1996-12-27 2000-08-11 Canon Kk Printing system
JP3537290B2 (ja) * 1997-05-27 2004-06-14 沖電気工業株式会社 シリアルインタフェース回路
US5996043A (en) * 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
JP3616981B2 (ja) * 1997-06-18 2005-02-02 株式会社ルネサステクノロジ 同期化装置
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
KR100233244B1 (ko) * 1997-07-10 1999-12-01 정선종 다수의 스트림을 수용하는 운송스트림 다중화 장치
US6301256B1 (en) * 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
JP3452771B2 (ja) * 1997-10-02 2003-09-29 富士通株式会社 命令制御システム及びその方法
US6332152B1 (en) * 1997-12-02 2001-12-18 Matsushita Electric Industrial Co., Ltd. Arithmetic unit and data processing unit
US6128282A (en) * 1997-12-18 2000-10-03 Sicom, Inc. Network node controller and method for combining circuit and packet data
US6151658A (en) * 1998-01-16 2000-11-21 Advanced Micro Devices, Inc. Write-buffer FIFO architecture with random access snooping capability
US6067301A (en) * 1998-05-29 2000-05-23 Cabletron Systems, Inc. Method and apparatus for forwarding packets from a plurality of contending queues to an output
US6098100A (en) * 1998-06-08 2000-08-01 Silicon Integrated Systems Corp. Method and apparatus for detecting a wake packet issued by a network device to a sleeping node
US6393033B1 (en) * 1998-08-03 2002-05-21 Motorola, Inc. Method and apparatus for encapsulating ISDN data in a broadband network
US6606317B1 (en) * 1999-09-09 2003-08-12 Harris Corporation Dual key controlled content addressable memory for accessing packet switch data buffer for multicasting data packets

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448071B1 (ko) * 2002-03-14 2004-09-10 한국과학기술원 컴퓨터 시스템의 버퍼 메모리 제어장치
JP2009004930A (ja) * 2007-06-20 2009-01-08 Alaxala Networks Corp シェーピング装置およびルータ装置
JP4742072B2 (ja) * 2007-06-20 2011-08-10 アラクサラネットワークス株式会社 シェーピング装置およびルータ装置
US8760941B2 (en) 2012-03-30 2014-06-24 Fujitsu Limited Data transfer circuit and data transfer method
WO2017217482A1 (ja) * 2016-06-17 2017-12-21 株式会社オートネットワーク技術研究所 制御システム
CN109313480A (zh) * 2016-06-17 2019-02-05 株式会社自动网络技术研究所 控制***
US10926721B2 (en) 2016-06-17 2021-02-23 Autonetworks Technologies, Ltd. Control system
CN109313480B (zh) * 2016-06-17 2021-05-04 株式会社自动网络技术研究所 控制***

Also Published As

Publication number Publication date
US6826354B2 (en) 2004-11-30
JP3765931B2 (ja) 2006-04-12
US20020118882A1 (en) 2002-08-29

Similar Documents

Publication Publication Date Title
AU738983B2 (en) Networking systems
JP2000124953A (ja) バッファ制御方法及びバッファ制御装置
AU746360B2 (en) Method and system for identifying ports and forwarding packets in a multiport switch
US6611527B1 (en) Packet switching apparatus with a common buffer
US6392996B1 (en) Method and apparatus for frame peeking
US20060268913A1 (en) Streaming buffer system for variable sized data packets
US20060159019A1 (en) System and method for policing multiple data flows and multi-protocol data flows
US20030088694A1 (en) Multicasting method and switch
US20050152355A1 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
WO2002069582A3 (en) Data packet transmission scheduling
JP2001217873A (ja) 複数のデータストリームのパケット送信優先順位を決定する方法及び装置、データストリーム間でのデータパケットについての送信優先順位を決定する方法
US6658014B1 (en) Packet buffer device and packet assembling method
EP1172974B1 (en) Method and apparatus for packet reassembly in a communication switch
US6947413B2 (en) Switching apparatus, communication apparatus, and communication system
US6678278B2 (en) Bit clearing mechanism for an empty list
US6956861B2 (en) Controlled shared memory smart switch system
US20030072268A1 (en) Ring network system
JP2002033749A (ja) バッファ装置およびスイッチング装置
JP2005210606A (ja) パケットの優先制御を行う通信装置及び優先制御方法並びにプログラム
JP3529963B2 (ja) パケットバッファ装置
KR100441883B1 (ko) 패킷 스위치 시스템의 입력 제어장치 및 방법
JP3449408B2 (ja) 優先制御方式
KR20010018534A (ko) 비동기 전송모드 셀 스위칭 기능을 이용한 패킷 교환기 구조 및 그 처리방법
JP3573095B2 (ja) パケットスイッチ回路
JPH09200222A (ja) 共通バッファ型atmスイッチ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060125

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140203

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees