JP3623712B2 - バッファ制御システム及びその方法並びにその制御プログラム記録媒体 - Google Patents

バッファ制御システム及びその方法並びにその制御プログラム記録媒体 Download PDF

Info

Publication number
JP3623712B2
JP3623712B2 JP2000073238A JP2000073238A JP3623712B2 JP 3623712 B2 JP3623712 B2 JP 3623712B2 JP 2000073238 A JP2000073238 A JP 2000073238A JP 2000073238 A JP2000073238 A JP 2000073238A JP 3623712 B2 JP3623712 B2 JP 3623712B2
Authority
JP
Japan
Prior art keywords
buffer
signal
limit value
discard
predetermined
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
JP2000073238A
Other languages
English (en)
Other versions
JP2001268116A (ja
Inventor
廣 吉田
Original Assignee
日本電気エンジニアリング株式会社
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 日本電気エンジニアリング株式会社 filed Critical 日本電気エンジニアリング株式会社
Priority to JP2000073238A priority Critical patent/JP3623712B2/ja
Publication of JP2001268116A publication Critical patent/JP2001268116A/ja
Application granted granted Critical
Publication of JP3623712B2 publication Critical patent/JP3623712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はバッファ制御システム及びその方法並びにその制御プログラム記録媒体に関し、特に交換機、伝送装置、制御装置等におけるデータ転送の際に複数のデータが流れるなかで効率的なデータ伝送を可能としたバッファ制御方式に関するものである。
【0002】
【従来の技術】
このようなデータ転送システムにおいては、一般的にバッファを使用してデータ通信を行うが、近年伝送データ量の増加で送受信のバッファ量が足りなくなり、このとき優先順位の高い信号を有効的に通すことが要求される。かかる要求に応えるために、例えば、特開平4−130836号公報に開示されているように、未使用の送受信バッファの容量が少なくなったときは、特定の送信元のデータのみを送受信バッファに格納し、他のデータについては、送受信のバッファの容量不足により複数の局間にわたって同時にデータを廃棄するようにした技術が提案されている。
【0003】
この従来技術の手法を図53に示す。この図において、送信元局アドレス検出器4は切り替え器8に接続され、自局宛の受信データの送信元局アドレスを受信判定器5に送る。受信頻度検出器6は未使用の送受信バッファの容量を監視し、未使用の送受信バッファが規定された容量よりも少なくなると、受信頻度が大きいデータの検出出力を発生して受信判定器5に送ると同時に、スイッチ91及び92を制御して、切り替え器10の接点b側の系統に切替える。受信判定器5は受信頻度検出器6の受信頻度検出出力を受けたとき、送信元局アドレス検出器4にて検出される受信データの送信元局が、特定の送信元局からの受信データであるかどうかを判定し、特定の送信元局以外のときには、切替器10を接点b側に切り替えて受信データを破棄するものである。
【0004】
なお、図において、1は宛先局アドレス、2は比較器、3は自局アドレス登録器、7はデータ送受信部である。
【0005】
【発明が解決しようとする課題】
ところが、当該技術では、信号送受信のばたつきが多いときの伝送においては、バッファを切り替えるので、ばたつきが生じる。また、切替には同期がとれなくばたつきが多いと破棄され、データが破壊されることが多くなる。特定の信号も1種類だけ限定され、仮に複数の信号を優先したいときには、切り替え数が多くなるという動作となるため、回路規模が多くなるという問題がある。更には、設置した局によって信号のばらつきが発生するので、初回に設定した値と反したときに有効的な使い方が出来なくなる。このため、設置した局の見直しが必要となり、再設計を行わなければならないという問題もある。
【0006】
本発明の主な目的は、送受信に対するデータの量が増えたときに伝送タイミングに関係せずに優先順位が低い信号よりも高い信号を有効的に通すことが可能なバッファ制御システム及びその方法並びにその制御プログラム記録媒体を提供することである。
【0007】
本発明の他の目的は、データ伝送タイミングのばたつきがある伝送路でも、データ破棄をできるだけ少なくするようにしたバッファ制御システム及びその方法並びにその制御プログラム記録媒体を提供することである。
【0008】
【課題を解決するための手段】
本発明によるバッファ制御システムは、複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおいて、前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御手段を含むバッファ制御システムであって、前記制御手段は、使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッファへの書き込みを禁止して待機せしめる手段と、この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセス手段と、この再アクセスによっても前記バッファに空きがない場合には前記信号を破棄する破棄手段と、前記破棄手段による破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御手段とを有することを特徴とする。
【0012】
本発明によるバッファ制御方法は、複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおいて、前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御ステップを含むバッファ制御方法であって、前記制御ステップは、使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッファへの書き込みを禁止して待機せしめるステップと、この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセスステップと、この再アクセスによっても前記バッファに空きがない場合には当該信号を破棄する破棄ステップと、前記破棄ステップによる破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御ステップとを有することを特徴とする。
【0016】
本発明による記録媒体は、複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおけるバッファ制御をコンピュータに実行させるための制御プログラムを記録した記録媒体であって、前記制御プログラムは、前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御ステップを含み、前記制御ステップは、使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッファへの書き込みを禁止して待機せしめるステップと、この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセスステップと、この再アクセスによっても前記バッファに空きがない場合には当該信号を破棄する破棄ステップと、前記破棄ステップによる破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御ステップとを有することを特徴とする。
【0020】
本発明の作用を述べる。本発明によるバッファ制御方式では、通信で使用するバッファ部分に、データの種類(例えば、優先度)に応じて制限数を設けるように構成する。このバッファ制限は、複数の局間を通信する信号の数が多い時、信号の種類によってその制限量を変化させるものであり、これにより、使用するバッファの制限値が多い信号は、他の信号がバッファフルの状態においても信号を送受信できることになる。従って、信号の優先順位に従ってバッファの量を変えることにより、バッファの有効的な利用ができ、かつ優先信号の効率的な伝送が出来るという効果が得られる。
【0021】
また、バッファフル時にバッファに溜まっているデータを破棄する場合、一定時間すぎたときにデータを破棄する様に制御する。すなわち、バッファフル時にCPUがタイマをスタートしてタイムアウトをしたらデータを1バイト破棄する。従って、バッファの送信が一定時間以上行われないときでも、古いデータは破棄されるという効果が得られる。
【0022】
更に、データ破棄量の監視を行い、破棄量の統計を行ってこの統計データによりバッファの制限制御をなす。この統計データによるバッファ数の変更方法としは、一定時間毎に、また信号毎に、データ破棄量を集計し、データ破棄量が制限値を所定回数連続して越えると、バッファ制限値を増加する様にする。そして、このバッファ制限値を増加した状態で以後運用されるが、この状態で自身の信号に影響がない場合には(自身の信号が破棄されることなく順調にバッファに書き込まれている場合には)、増加した制限値を元に戻すようにする。
【0023】
信号種別が多い通信システムにおいて、CPU間通信を行う通信装置が各地に設置されている様な場合に、装置を工場出荷する時点では、信号の種類に応じてCPU間のデータ転送量が判明しておらず、最適値設定することは困難であるが、本手法を使用することで、各信号における優先度における信号破棄数の制限値を初期値として設定することにより、各設置された装置毎にデータ破棄量に応じてCPUが自動的に当該制限値を補正することになるので、汎用性が著しく大となる。
【0024】
【発明の実施の形態】
以下に、本発明の実施の形態につき図面を参照しつつ詳細に説明する。図1は本発明の一実施の形態の全体ブロック図であり、図2は図1のブロック間で授受される信号を示しており、図3は同じく図1のブロック間で授受されるデータの種類を説明するための図である。先ず、図2を参照すると、本回路100は、CPU101を含んだCPU周辺回路102と、2つのバッファA103,B104とにより構成される。そして、本回路100は他回路A117及び他回路B118とデータを送受信を行うものとする。
【0025】
CPU周辺回路102は、CPU101が実行するバッファ制御プログラム105を格納したメモリ106を有する。メモリ106には、その他に、各バッファの管理のために、バッファA用テーブル107とバッファB用テーブル108とが設けられている。CPU周辺回路102はその他にタイマ−119と割り込みコントローラ120とを有する。
【0026】
図2を参照すると、他回路B118から他回路A117への信号を下り信号109とし、他回路A117から他回路B118への信号を上り信号110とする。下り信号109は信号の種類によって信号A121、信号B122、信号C123、信号D124があり、他回路B118からCPU101を経由して他回路A117へ送出する信号A121及び信号B122の場合と、他回路B118からCPU101宛の信号C123の場合と、CPU101発で他回路A117行きの信号D124の場合とがある。
【0027】
上り信号110は信号A’125、信号B’126、信号C’128、信号D’127があり、他回路A117からCPU101を経由して他回路B118へ送出する信号A’125及び信号B’126の場合と、他回路A117からCPU101宛の信号D’127の場合と、CPU101発で他回路B118行きの信号C’128の場合とがある。
【0028】
バッファA103は、CPU101から他回路A117への下り信号109を送受するための下りバッファA113と、他回路A117からCPU101への上り信号110を送受するための上りバッファA114とを有している。バッファB104は、CPU101から他回路B118への上り信号110を送受するための上りバッファB116と、他回路B118からCPU101への下り信号109を送受するための下りバッファB115とを有している。
【0029】
CPU101は各信号の信号種別を判別して処理を行う。下り信号の場合、他回路B118からの信号A121、信号B122、信号C123は下りバッファB115を経由してCPU101へ送られる。CPU101は、AA、BB、CCの信号から各信号種別を判別して、信号A121及び信号B122ならば下りバッファA113へ信号を書き込み、他回路A117に送出する。信号C123ならば自分宛の信号と判断し、CPU101が自己処理を行う。また、信号D124はCPU101により発生されて他回路A117へ送られる信号なので、下りバッファA113へ書き込まれて他回路A117へ送出される。
【0030】
上り信号110の場合、他回路A117からの信号A’124、信号B’125、信号D’127は上りバッファA114を経由してCPU101へ送られ、CPU101はA’A’、B’B’、D’D’の信号から各信号種別を判別して信号A’125及び信号B’126ならば上りバッファBへ信号を書き込み、他回路B118へ送出する。信号D’127ならば自分宛の信号と判断し、CPU101が自己処理を行う。また、信号C’128はCPU101により発生されて他回路B118へ送られる信号なので、上りバッファB116へ書き込まれて他回路B118へ送出される。
【0031】
バッファA103及びバッファB104のバッファをバッファ制御プログラム105にて管理するために、バッファA用テーブル107とバッファB用テーブル108とが設けられている。バッファAテーブル107には、各信号に応じてバッファの数の制限をする機能と、バッファの使用状態を監視して信号の規制を与える機能とがある。また、他回路からの信号を規制するために、下り信号規制機能111と上り信号規制機能112とがある。
【0032】
下り信号規制機能111は他回路B118からの下り信号を抑制するために、他回路B118へ下り信号109の規制信号を送付する。上り信号規制機能112は他回路A117からの上り信号を抑制するために、他回路A117へ上り信号110の規制信号を送付する。
【0033】
図3を参照すると、各信号の種類における行き先を示している。各信号は他回路A’129、他回路A117、本回路100、他回路B118、他回路B’130の各回路間のデータを送受している。各信号は信号の種類によって転送される部分が異なり、信号A121と信号A’125とは他回路A’129と他回路B’130間で送受される。そのために、間にある他回路A117、本回路100、他回路B118は信号A121と信号A’125を中継する。信号B122と信号B’126とは他回路A117と他回路B118の間で送受される。そのため、間にある本回路100は信号B122及び信号B’126を中継する。信号C123と信号C’128とは本回路100と他回路B118とで送受される。信号D124と信号D’127とは本回路100と他回路A117とで送受される。
【0034】
図4を参照すると、図3で示す各信号の構成を示している。各信号は信号種別131、信号長132、信号内容133にて構成され、例えば下り信号109で信号A121の場合は、信号種別131はAAとなり、信号長132はAAA、信号内容はAAAAとなる。信号の全体の長さは、信号種別131で1バイト、信号長132で1バイト、信号内容133でnバイトであることから、1+1+nバイトとなる。このとき、信号長132は信号内容133の長さを示し、例えば、信号Aの信号内容がnバイトあるときは、信号長132のAAA=nとなる。他に信号B122、信号C123、信号D124、信号A’125、信号B’126、信号C’128、信号D’127も同様の構成となっている。
【0035】
図5を参照すると、図1で使用しているバッファの構成を示している。下りバッファA113、上りバッファA114、下りバッファB115、上りバッファB116は同等の構成されている。本図は、下りバッファA113の構成について示す。
【0036】
下りバッファA113は、バッファの内容はバッファ部141とポインタ部142で構成されている。バッファ部141はh分ある。#0〜#hどのバッファとも同様の構成をしている。#hバッファ144を例にとると、#hバッファ114は、図4の信号構成がそのままバッファの構成となり、信号種別用バッファ145が1バイト、信号長用バッファ146が1バイト、信号内容用バッファが信号内容最大長のmバイトある。すなわち、1つのバッファ#hのバッファ量としてはp=1+1+mとなり、バッファ部全体として(h+1)×pバイトの容量がある。ポインタ部142はバッファに書き込むときにアクセスするライトポインタ148と、バッファ部から読み込む時にアクセスするリードポインタ149とが、各1バイトづつある。
【0037】
図6を参照すると、図1で使用しているバッファAテーブル107とバッファBテーブル108との構成が示されている。バッファAテーブル107には、下りバッファA113用として、下りバッファA管理テーブル151と下りバッファA信号破棄統計テーブル152とがある。上りバッファA114用として、上りバッファA管理テーブル153がある。上りバッファA114用のテーブルに信号破棄統計テーブルが無いのは、下りバッファAはCPU101から信号を書き込む部分であり、上りバッファAは読み込み部分であるので、管理内容が異なるからである。同様に、バッファBテーブル108には、下りバッファB管理テーブル154、上り管理テーブル155、上りバッファB信号破棄統計テーブル156がある。
【0038】
図7を参照すると、図6で使用している下りバッファA管理テーブル151の詳細が示されている。下りバッファA管理テーブルは下りバッファを通る信号A、信号B、信号Dの通過の制限を与えるために設けられており、下りバッファA管理テーブル151にはバッファ制限設定部と信号カウント部とが設けられている。バッファ制限設定部は下りバッファAを通過する信号A121、信号B122、信号D124のバッファの使用量を制限する値を設定できるようなっており、信号Aバッファ制限数設定値、信号Bバッファ制限数設定値、信号Dバッファ制限数設定値がある。
【0039】
その他に、CPU101が下りバッファA113に信号A121,信号B122、信号D124を書き込めないときに書き込みのリサイクルをなす周期の設定値として、信号書き込み監視周期E設定値と、各信号A,B,Dのリサイクルの回数を制限する信号A,B,Dの各書き込みリサイクル回数設定値とがある。また、信号カウント部は、リサイクル回数を各信号毎に管理を行うために、信号Aリサイクルカウント値、信号Bリサイクルカウント値、信号Cリサイクルカウント値がある。そして、各リサイクル設定値を各リサイクル数が越えたときに信号を破棄する回数のカウントのために、信号A破棄数カウント値、信号B破棄数カウント値、信号D破棄数カウント値がある。
【0040】
図8を参照すると、図6で使用している下りバッファA信号破棄統計テーブルの詳細が示されている。下りバッファA信号破棄統計テーブル152は、信号の破棄状態を常時監視して規制信号を出すために管理をするものであり、信号破棄数注意/警告設定部181と信号破棄数注意/警告カウント部182とを有する。信号破棄数注意/警告設定部181は、信号A121、信号B122、信号D124の信号破棄数の上昇に伴う注意と警告の数を設定するために、信号A破棄数注意設定値、信号B破棄数注意設定値、信号D破棄数注意設定値、信号A破棄数警告設定値、信号B破棄数警告設定値、信号D破棄数警告設定値を有し、更に、各信号A,B,Dの注意数設定値、各信号A,B,Dの正常数設定値、各信号A,B,Dの規制設定値を有する。
【0041】
更にはまた、一定周期Gで信号破棄量のカウントを行うために破棄量カウント周期G設定値、一定周期Hで注意数及び警告数のカウントを行うために注意/警告数カウント周期Hを有する。
【0042】
信号破棄数注意/警告カウント部182は、信号A121、信号B122、信号D124の信号破棄数の注意及び警告数を注意/警告数カウント周期H毎に越えた数として、信号A注意数カウント値、信号B注意数カウント値、信号D注意数カウント値、信号A警告数カウント値、信号B警告数カウント値、信号D警告数カウント値を有する。また、各信号A,B,Dの正常数カウント値をも有する。
【0043】
図9を参照すると、図6で使用している上りバッファA管理テーブルの詳細が示されている。上りバッファA管理テーブル153は、バッファ読み込み設定部として、一定周期でバッファ読み込みための設定のためのバッファ読み込み周期I設定値を有する。図10を参照すると、図6で使用している下りバッファB管理テーブル154の詳細が示されている。下りバッファB管理テーブル154は、図9の上りバッファA管理テーブルと同様に、バッファ読み込み設定部としてバッファ読み込み周期J設定値を有する。
【0044】
図11を参照すると、図6で使用している上りバッファB管理テーブル155の詳細が示されている。上りバッファB管理テーブル155は、図7の下りバッファA管理テーブルと同様に、バッファBを通過する信号A’、信号B’、信号C’の対応として、バッファ制限設定部には、信号A’バッファ制限数設定値、信号B’バッファ制限数設定値、信号C’バッファ制限数設定値、上り信号書き込み監視周期K設定値、信号書き込みリサイクル回数L設定値を有する。
【0045】
信号カウント部は、リサイクル回数を各信号毎に管理するために、信号A’リサイクルカウント値、信号B’リサイクルカウント値、信号C’リサイクルカウント値を有する。そして、各リサイクル設定値を各リサイクル数が越えた時に、信号を破棄する回数をカウントするために、信号A’破棄数カウント値、信号B’破棄数カウント値、信号C’破棄数カウント値を有する。
【0046】
図12を参照すると、図6で使用している上りバッファB信号破棄統計テーブルの詳細が示されている。上りバッファB信号破棄統計テーブルは、図8の下りバッファA信号破棄統計テーブル152と同様に、バッファBの通過する信号A’、信号B’、信号C’の対応として、信号破棄数注意/警告設定部241は、信号A’破棄数注意設定値、信号B’破棄数注意設定値、信号C’破棄数注意設定値と、また、信号A’破棄数警告設定値、信号B’破棄数警告設定値、信号C’破棄数警告設定値とを有し、更に、破棄量カウント周期M設定値と、注意/警告数カウント周期Nとを有する。
【0047】
注意/警告カウント部242は、信号A’注意数カウント値、信号B’注意数カウント値、信号C’注意数カウント値と、信号A’警告数カウント値、信号B’警告数カウント値、信号C’警告数カウント値と、各信号の正常数カウント値とを有する。
【0048】
図13を参照すると、図1におけるバッファ制御プログラム105の構成が示されている。バッファ制御プログラムは、アイドルタスク、バッファA制御タスク部、バッファB制御タスク部、アプリケーション動作部に分割され、各ブロックとも独立に動作をしている。各信号の流れに対する構成は図14に示す。
【0049】
アイドルタスクは、バッファA制御部、バッファB制御タスク部、アプリケーション動作部が動作していない時に実行される部分である。バッファA制御タスク部には、下り信号送信タスク部と、上り信号受信タスクと、下り信号破棄カウントタスクと、下り信号制御タスクとがあり、バッファAの制御をする部分である。下り信号送信タスク部には、信号Aタスク、信号Bタスク、信号Dタスクがあり、信号A、信号B、信号Dを他回路Aへ送信する機能であり、下り信号受信タスク部からの信号A,BとCPU101の信号Dが受信された時に、バッファAへ書き込み処理を行う。
【0050】
上り信号受信タスクは他回路Aからの上り信号を受信する機能であり、バッファA上り信号読み込みタイマがタイムアウト後毎に上りバッファAを監視し、バッファAからの信号A’,B’,D’が受信されると、信号によって行き先を変える。信号A’及びB’ならばバッファBへの信号なので、上り信号送信タスクへ信号を渡し、信号D’ならばCPU101への信号なので、信号D’制御部に渡す。
【0051】
下り信号破棄カウントタスクは、下り信号が信号破棄する状態をバッファA下り破棄カウントタイマ毎に集計し、一定値を上回ったら使用出来るバッファ数を変更する機能である。下り信号規制タスクは、下り信号の警報数をバッファA下り信号規制タイマ−毎にカウントを行い、信号毎に規制を行う機能である。信号A及び信号Bの規制は他回路Bへ送出し、信号Dの規制は信号D発生部に規制信号を送付する。
【0052】
バッファB制御タスク部には、上り信号送信タスク部と、下り信号受信タスクと、上り信号破棄カウントタスクと、上り信号制御タスクとがあり、バッファBの制御をする部分である。上り信号送信タスク部には、信号A’タスク、信号B’タスク、信号C’タスクがあり、信号A’、信号B’、信号C’を他回路Bへ送信する機能であり、信号A’,信号B’,信号C’が信号受信又は信号発生した時に動作を行う。下り信号受信タスクは他回路Bからの下り信号を受信する機能であり、バッファB下り信号読み込みタイマがタイムアウト後毎に下りバッファBを監視する。
【0053】
上り信号破棄カウントタスクは上り信号が信号破棄する状態をバッファB上り破棄カウントタイマ毎に集計し、一定値を上回ったら使用出来るバッファ数を変更する機能である。上り信号規制タスクは、上り信号の警報数をバッファB上り信号規制タイマ毎にカウントを行い、信号毎に規制を行う機能である。
【0054】
アプリケーション動作部には、信号D発生部、信号C’発生部、信号C制御部、信号D制御部がある。信号D発生部は他回路Aへ送信するデータの発生部分であり、信号Dが発生すると、下り信号送信タスク部へ信号Dを送出する。また、規制タスクからの信号D規制を受けると信号Dの発生を調整する。信号C’発生部は他回路Bへ送信するデータの発生部分であり、信号C’が発生すると、上り信号送信タスク部へ信号C’を送出する。また、規制タスクからの信号C’規制を受けると信号C’の発生を調整する。
【0055】
信号C制御部は、信号Cが下り信号受信タスクから来ると信号C制御部で処理を行う。信号C制御部の処理がオーバーとなった場合には、他回路Bへ信号Cの規制を掛ける機能がある。信号D’制御部は、信号D’上り信号が受信タスクから来ると信号D制御部で処理を行う。信号D制御部の処理がオーバーとなった場合には他回路Aへ信号Dの規制を掛ける機能がある。
【0056】
図15を参照すると、図1におけるタイマ119と割り込みコントローラ120との関係の詳細を示している。タイマ119には、各信号A,B,Dに対応する書き込みリサイクルタイマと、各信号A’,B’,C’に対応する書き込みリサイクルタイマと、バッファA上り信号読み込みタイマと、バッファB下り信号読み込みタイマと、バッファA下り信号破棄カウントタイマと、バッファB上り信号破棄カウントタイマと、バッファA下り信号規制タイマと、バッファB上り信号規制タイマとがある。
【0057】
以下に、本発明の実施の形態の動作を先の図面に基づいて詳細に順を追って説明する。特に、本発明の特徴部分の動作については詳細に説明する。本発明では、CPUと他回路との通信を行う。そこで、バッファの使用方法、CPUから他回路への信号送信時の方法、他回路からCPUへの信号受信時方法、信号破棄の統計と信号規制の方法、立ち上げ時の処理について詳細に説明する。
【0058】
図5に各バッファの構成を示しており、バッファの使用方法は、図16〜18にて説明をする。バッファへの書き込み方法は、図16に示すようにバッファにデータがないバッファ部にデータを書き込むことが出来る。バッファにおいては、初期状態ではライトポインタとリードポインタは#0を示している。いま、CPU101はライトポインタを読み込みむと#0を指示しているので、データを#0バッファにデータを書き込む。そして、ライトポインタを+1更新してライトポインタとにデータを書き込むときにポインタを更新することによりデータをバッファ#0へ書き込むことが出来る。
【0059】
バッファからの読み込みの方法は、図17に示すように#0のみ信号が存在するときは、ライトポインタが#1でリードポインタが#0である。リードポインタの値のバッファ部分を読み込む。今回はリードポインタ値が#0なので、CPU101は#0バッファに蓄積されている信号をデータを読み出す。
【0060】
図16の最初と図17の最後の状態は、いずれもバッファにデータが書かれていない状態であるが、リードポインタとライトポインタは同数だが状態は#0同士と#1同士で状態が違う。バッファは読み込み書き込みの状態で、#0→#1→#2→…#h→#0→…とバッファを一周して再使用をしていく。図18では、ライトポインタとリードポインタ共に#hなので、バッファにはデータが書かれていない状態であるが、次にはライトポインタが指示している#hにデータを書き込みライトポインタを#0にする。
【0061】
以下に信号の送信方法を示す。図1において、CPU101からデータを送信するのは、信号A,B,D,A’,B’,C’である。送信に使用するバッファは下りバッファAと上りバッファBとであり、バッファ用テーブルは下りバッファA管理テーブルと上りバッファB管理テーブルを使用する。
【0062】
CPUから他回路への信号送信時の詳細を、信号A,B,Dについて下りバッファA及び下りバッファA管理テーブルを使用した例を、図19〜24を使用して説明する。信号A’,B’,C’について上りバッファB及び上りバッファB管理テーブルの使用方法についても同様の動作となる。図19に、信号A,B,Dを送出する詳細の構成を示し、図20,21に信号を送信するCPU101で動作しているバッファ制御プログラムのフローチャートを示す。
【0063】
なお、図20では、各信号A,B,D,A’,B’,C’の送信タスクの動作フローであり、各タスクのタイマのタイムアップに応答して各タスクが立上がり、各タスクの再立上げのためにタイマスタートとなることが示されている。図21のフローチャートでは、信号Dを例として、この信号D送信タスクが立ち上がった場合を説明する。
【0064】
CPU101で発生した信号Dを下りバッファAにデータを書き込むときに、ライトポインタの読み込みとリードポインタの読み込みとが行われる(ステップS1,2)。(ライトポインタ)−(リードポインタ)の値が0よりも多く、かつ信号Dバッファ制限値よりも少ない数のときは(ステップS3)、下りバッファAのバッファ部に信号Dを書き込む(ステップS4)。そして、ライトポインタのカウントを+1足して書き込み(ステップS5)、信号Dリサイクルカウント値をクリアすることでデータを書き込む処理の基本的な動作が終了する(ステップS6)。
【0065】
(ライトポインタ)−(リードポインタ)の値が信号Dバッファ制限値と同等または多い時は、バッファ部に書き込めない状態なので、リサイクルをする処理に移る(ステップS7)。信号Dリサイクルカウント値が信号D書き込みリサイクル回数設定値よりも少ないときは、リサイクル可能状態であるので、信号Dリサイクルカウント値を+1して(ステップS8)、信号書き込み監視周期E(ms)のタイマを発行する。そして、Ems後にタイムアップしたら再びライトポインタを読み込み、リードポインタを読み込んで(ライトポインタ)−(リードポインタ)の値を確認し、ポインタの状況が変化して、信号Dバッファ制限数設定値よりも少なくなったときはバッファ部にデータを書き込む動作に移る。
【0066】
しかし、バッファの状態が変化せずに信号Dバッファ制限数設定値より多い時で、かつ信号Dリサイクルのカウント値が信号D書き込みリサイクル回数設定値よりも数値が少ないときは、再びリサイクル動作を行う。しかし、当該カウント値が信号D書き込みリサイクル回数設定値よりも同じか多いときは、信号Dを破棄して(ステップS9)、信号D破棄数カウント値を+1する(ステップS10)。このとき、信号Dリサイクルカウント値をクリアする(ステップS11)。なお、ステップS12については、図26の説明の際に説明するものとし、また信号A及び信号Bも図14の動作と同様のフローチャートに従って動作するものとする。
【0067】
上記説明において、信号A,B,D毎に各バッファ制限数を変えた時のポインタの使い方の具体例を図22〜26に示す。信号A,B,Dの各々に対して、#h+1まであるバッファの数のうち、それぞれ使用できる制限数である信号Aバッファ制限設定値はX(=3)、信号Bバッファ制限設定値はY(=6)、信号Dバッファ制限設定値はZ(=h)であるものとし、また蓄積できるバッファ数はX<Y<Z≦h+1の値となっているものとする。図22では、バッファに溜まっているバッファ量がX以下の時の動きを示している。
【0068】
バッファ部の#2のみ信号が存在しているため、ライトポインタは#3、リードポインタは#2を指示している。ここで、信号Aを送信するときは、バッファ制限数Xよりも(ライトポインタ)−(リードポインタ)の数が少ないので、#3のバッファにデータを書き込み、ライトポインタを#4にする。信号B.Dも制限数がY,Zよりも少ない値なので同様な動作を行える。
【0069】
図23では、#2〜#4まで信号が存在している状態であり、制限数X(=3)だけデータがバッファにある場合である。ここで、信号B,Dの信号を送信するときはバッファ制限値Y,Zよりも(ライトポインタ)−(リードポインタ)の数が少ないので、#5のバッファにデータを書き込みライトポインタを#6にすることができる。しかし、(ライトポインタ)−(リードポインタ)の数が制限値Xと同じなので、信号Aを送信することは出来ない。
【0070】
そこで、信号書き込み監視周期のタイマ値を発行し、タイムアップしたときに再度アクセス(リサイクル)を行う。再度アクセスした場合、状態図24のように#2のデータが他回路Aより読まれたならば、制限数Xよりも数が少なくなるので、#5に信号Aを書き込むことができる。しかし、再度アクセスしたときに、状態が変化しないときは、再度信号書き込み監視周期のタイマを発行して待つのだが、延々に待つことは出来なので、信号Aリサイクルカウント値をカウントして、信号A書き込みリサイクル回数設定値よりも少ない時ときだけ、リサイクル出来る。
【0071】
図25では、#2〜#7まで信号が存在している状態であり、ライトポインタは#8でリードポインタは#2となり、制限数Y(=6)まで信号が存在するので、信号Dは#8に信号を書き込みライトポインタを#9にすることが出来るが、信号Bは#2の信号が他回路Aによって読まれなければアクセス出来ない。また、信号Aは#2〜6の信号が他回路Aによって読まれなければアクセス出来ないので、再アクセスのタイマを発行する。
【0072】
図26では、#2〜#hと#0に信号が存在している。状態はライトポインタは#1でリードポインタは#2であり、(ライトポインタ)−(リードポインタ)は(1−2)=−1となるため、ライトポインタ+(h+1)をすると(図21のステップS12参照)、(ライトポインタ)−(リードポインタ)は(1+h+1)−2=hとなり、制限数Z(=h)と同等まで信号が存在するので、信号A,B,Dとも書き込みが出来ないので再度アクセスのタイマを発行する。
【0073】
以下に信号の受信方法を示す。図1,2において、CPU101で信号を受信するのは、信号A,B,C,A’,B’,D’である。受信に使用するバッファは上りバッファA114と下りバッファB115とであり、バッファ用テーブルは図6に示す上りバッファA管理テーブル153と下りバッファB管理テーブル153とを使用する。他回路A117からCPU101への信号受信時の詳細を、信号A’,B’,D’について上りバッファA及び上りバッファA管理テーブルをを使用した例を、図27〜29を使用して説明する。信号A,B,Dについて下りバッファB及び下りバッファB管理テーブルを使用する場合の方法も同様の動作である。
【0074】
図27に、信号A’,B’,D’を受信する詳細の構成と、図28,29に信号を送信するCPU101で動作しているバッファ制御プログラムのフローチャートを示す。なお、図28は上り信号及び下り信号の各受信タスクの立ち上がりを示すものである。以下の説明では、信号A’を例とする。
【0075】
他回路A117からの上り信号A’が到来すると、上り信号受信タスクが起動される。こりにより信号A’はバッファAへ書き込まれ、この書き込まれた信号A’は、CPU101が上りバッファAにデータのライトポインタの読み込みとリードポインタの読み込みを行う(ステップS21,22)。信号読み込みはバッファ読み込み周期のタイムアップ後に常に行われる。タイマのタイムアップ後に(ライトポインタ)−(リードポインタ)の値が0よりも多いときは(ステップS23)、上りバッファAのバッファ部の信号種別を読み込み(ステップS24)、信号種別でA’のとき上りバッファAで信号A’の制限をしていないときに(ステップS25)、信号A’を読み込む(ステップS26)。
【0076】
そして、リードポインタのカウントを+1して(ステップS27)、リードポインタ部へそれを書き込むことでデータ読み込みの1処理の基本的な動きが終了する。その後、再度(ライトポインタ)−(リードポインタ)の値が0よりも大きいときは再度読み込み動作を行い、(ライトポインタ)−(リードポインタ)=0まで読み込み動作を行う。(ライトポインタ)−(リードポインタ)の値が0の時は、バッファ部にデータが何も書き込まれていない状態なので、読み込みを行わないで、次の読み込みに移るためにタイマを発行する。なお、ステップS28は、図21の場合のステップS12と同様に、(ライトポインタ)−(リードポインタ)の値が負の場合の動作である。
【0077】
図30,31に、データの読み出しが出来ない条件を示す。図30では、(ライトポインタ)−(リードポインタ)=0の時の状態時を示す。ライトポインタの値が#16を示し、リードポインタの値が#16を示している。このときは(ライトポインタ)−(リードポインタ)が0なので、バッファに蓄積されているデータは無く、読み出しを禁止する。
【0078】
図31では、上りバッファAが信号制限している時を示す。上りバッファAは上りデータ信号A’,B’の制限を行うと、上り信号A’が上りバッファAに他回路から供給された時は読み込みをしない。上りバッファAが信号A’の制限を解除したときに、バッファ読み込み周期がタイムアップ後に信号A’を読み込む。
【0079】
次に、信号を破棄した時の集計と信号規制について図32にて説明する。下りバッファAを通過する信号A,B,Dに対しバッファに信号を書き込むときに書き込めずにデータを破棄する場合、バッファ管理テーブル内の信号破棄カウント値を使用して、下りバッファ信号破棄統計テーブルで破棄数の注意数及び警告数を設定し、この設定値をオーバーすると、バッファの制限値の変更及び信号の規制をかける。図32には、信号Aの時のポインタ等の構成を示し、以下図33〜36に動作の詳細を示す。その他に信号B,D及び上りバッファBを使用した信号A’,B’,C’も同様の動作である。
【0080】
また、図33,34に信号A,B,Dを送信するCPU101で動作しているバッファ制御プログラムのフローチャートを示す。図33に示す様に、破棄数カウント周期設定値のタイマがタイムアップすると、常に下り信号破棄集計プログラムのタスクが動作して、信号A破棄集計カウント部は信号Aの破棄状況を計測して、信号A破棄数注意設定値、注意数、信号A破棄数警告設定値及び信号A正常数設定値及び各カウント値により判断を行い処理をする。
【0081】
図34を参照すると、信号A破棄数カウント値が信号A破棄数注意設定値よりも同等または少ない時は(ステップS31)、正常時なので正常処理を行う。信号A破棄数設定値よりも多いときは、信号A注意数のカウントを行う(ステップS32,33,34)。注意数が信号A注意設定値よりも越えた時は、信号警告処理になる。信号警告処理では、信号破棄数カウント値が信号A破棄数警告設定値よりも多くなると(ステップS35)、信号Aバッファ制限数の数を+1にする(ステップS36)。そして、信号注意数カウントクリアを行い(ステップS41)、信号A警告数カウント値を+1する(ステップS42)。
【0082】
正常処理では、信号A正常のカウントを行い、信号Aになったときにカウント値は常にカウントして(ステップS37,38)、信号A正常数設定値よりも多くなったときに信号Aバッファ制限値を−1して(ステップS39)、信号A正常カウント値をクリアする(ステップS40)。そして、信号A注意数カウントをクリアして(ステップS43)、信号A破棄数カウント値をクリアする(ステップS44)。ステップS34,42からもステップS44へ移行する。
【0083】
具体的な例を図35,36を使用して説明する。信号Aは信号数カウント周期毎に信号破棄数をカウントし、信号A破棄数が信号A注意設定値よりも少ないときは信号A正常カウントを行う。信号A破棄数注意設定値よりも多くなったときは、信号注意カウントを行い、正常カウント値をクリアする。
【0084】
信号A破棄数が連続して信号注意数設定値(本例では3回)よりも越えて、信号破棄数警告設定値よりも多くなったときは、信号Aバッファ制限数設定値を+1にする(ステップS36参照)。このとき、警報の数はその後の規制情報のためにカウントし、注意数のカウントをクリアする(ステップS41参照)。この時、信号A警告数カウント値は+1となる(ステップS42参照)。正常値に戻ったら信号A正常カウント値をカウントする(ステップS38参照)。
【0085】
ステップS38,40の後は、信号A注意数カウント値をクリアして(ステップS43参照)、信号A廃棄数カウント値をクリアする(ステップS44参照)。警告値を越えた時の制限値の変化は、図36に示す様に、設定値が変わる前は設定値がXで、#2〜#4までデータが有るときは#5には信号は書き込めなかったが、制限値を+1にして、X+1にすると信号Aは書き込める状態となる。
【0086】
信号規制について図37,38にフローを示す。警告数カウント周期設定値がタイムアップすると、信号A警告数が信号A規制値よりも多いときは(ステップS51)、信号A規制信号が他回路B118へ出力される(ステップS52)。また、警報数のカウント値が規制値よりも少ない時は(ステップS51)、規制を解除する(ステップS53)。このことにより信号の受け取った他回路B118は信号Aを出力することを控えるように制御をする。そして、警告数カウント値をクリアする(ステップS54)。
【0087】
また、信号D及び信号Cの発生はCPU101のプログラムであり、図39に示すように、実行プログラム内で信号送受タスクから信号D発生タスク及び信号C’タスクに規制を掛ける。
【0088】
次に、本プログラムであるバッファ制御プログラムの立ち上がりについて図40,41を用いて説明する。本発明の回路上には不揮発性のメモリと揮発性のメモリがあり、本プログラムとバッファ制御設定部とは不揮発性のメモリに入っており、取り外しが可能な構造となっている。プログラムにリセットを解除すると不揮発でのプログラムが実行され、バッファ制御プログラムとバッファ制御部の各設定値が揮発プログラムに転送され(ステップS61,62)、バッファAとバッファBのテーブルを作成する(ステップS63,64)。その後、揮発性に転送したバッファ転送プログラムに転送して実行される(ステップS65)。揮発性でのプログラムでは、各タスクの初期設定を行う(ステップS66,67)。
【0089】
下りバッファA用破棄数カウント周期G、下りバッファA用警報数カウント周期、上りバッファA用バッファ読み込み周期、上りバッファB破棄周期、上りB用警報カウント周期を、それぞれスタートさせて、実際のプログラムが動作する。なお、図42に下りバッファA信号破棄統計テーブル512の内容を、また図43に上りバッファB信号破棄統計テーブル516の内容を、それぞれ示している。
【0090】
本発明の他の実施の形態を図44に示す。上述の構成例では、全てのバッファサイズを同一としているが、本例では、下りバッファA113のバッファサイズと下りバッファB115のバッファサイズとを、下りバッファA<下りバッファBとしており、また上り信号に対しても、上りバッファA>上りバッファBとしている。図45はこの場合の上りバッファ114の具体的構成例を示しており、図5の構成例に比較してバッファ部141が増加している。他の構成は図1のそれと同一である。
【0091】
図46は下り信号Aの発生量(流量であって中継量でもある)及びそれ以外の下り信号発生量と、これ等下りバッファB115で許容できる信号量(点線で示す)との関係の一例を、時間的変化で示したものである。この場合、当該信号Aの優先度は最小であるとする。この場合、下り信号Aが図46に示す様にバースト的に発生した場合でも、バッファB115の容量をより大きくしておけば、この下り信号AのバッファB115による中継量(破棄など)の影響をより少なくすることができるようになる。
【0092】
図47は本発明の更に他の実施例を示すブロック図であり、図1と同等部分は同一符号にて示している。本例では、本回路100(図1参照)のCPU101から他回路B118(図1参照)のCPU601への信号規制111をなす場合の図であり、下り信号A,B,Cの送信規制を行う場合のものである。このときのCPU601のタイマ602は、図48に示す様に、信号B,Cの規制が発生したときのタイマである。
【0093】
信号B,Cの各規制信号監視タイマはCPU601が各信号規制及び規制解除を監視するポーリング用のタイマであり、常時動作しているものである。信号B,Cの規制状態タイマは規制を受けたときにスタートするタイマであり、図51の様に段階的に規制をかけるために、規制状態タイマがタイムアウトしたときは、信号発生をそれぞれ25%ダウンする様にする。信号B,Cの規制解除状態タイマは規制を解除したときにスタートするタイマであり、図51の様に段階的に規制を解除するために、規制解除タイマがタイムアウトしたときに、信号発生を25%アップする様にする。
【0094】
信号規制を段階的に行うのは、一時的な規制の場合に信号を全てストップすると、サービスに影響するので、段階的に規制及び解除するのが好ましいからである。図49,50はこの信号規制時の動作を示すフローチャートである。図49は信号B,Cの規制処理立ち上がりを示すフローである。
【0095】
図50を参照すると、信号Bに関する信号規制処理動作が示されている。信号B規制監視タイマがタイムアップすると、信号B規制状態の読み込みがなされる(ステップS71)。信号規制が発生すると(ステップS72)、信号規制状態タイマ発行中かどうかが検出され(ステップS73)、そうでなければ、規制状態タイマをスタートさせる。同時に規制解除状態タイマはストップとなる。ステップS72で信号規制が発生されていなければ、信号規制解除状態タイマ発行中かどうかが検出され(ステップS74)、NOであれば、信号規制解除状態タイマをスタートさせ、同時に信号規制状態タイマをストップさせる。
【0096】
また、信号規制状態タイマがタイムアップすると、図51に示す様に、信号Bの発生を25%ダウンさせるが(ステップS75)、このとき発生率が0%になれば(ステップS76)、終了となり、そうでなければ信号規制状態タイマが再度スタートする。一方、信号規制解除状態タイマがタイムアップすると(ステップS77)、図51に示す様に、信号発生を25%アップさせるが、このとき発生率が100%になれば(ステップS78)、終了となり、そうでなければ信号規制解除状態タイマが再度スタートする。
【0097】
図52(A)は本発明の応用例のブロック図であり、図1と同等部分は同一符号にて示している。図52(A)において、図1の他回路118が信号フォーマット変換701であり、更にその上り方向に別の信号フォーマット変換702が存在する場合である。図52(B)はこれ等回路間の信号の伝送方向を示し、図52(C)は信号Aのフォーマット例である。本例では、例えば、信号フォーマット変換回路701,702がデータリンク層であり、これ等データリンク層では、HDLC(High Level Data Link Control Procedures )信号と本回路100の架内信号との間の信号フォーマット変換をなす場合の応用例である。
【0098】
【発明の効果】
本発明によれば、通信で使用するバッファ部分に、データの種類(例えば、優先度)に応じて制限数を設け、複数の局間を通信する信号の数が多い時、信号の種類によってその制限量を変化させる様にしており、使用するバッファの制限値が多い信号は、他の信号がバッファフルの状態においても信号を送受信できることになるので、データ種別(優先度)に従ってバッファの量を変えることにができ、バッファの有効的な利用ができ、かつ優先信号の効率的な伝送が出来るという効果が得られる。
【0099】
また、バッファフル時にバッファに溜まっているデータを破棄する場合、一定時間すぎたときにデータを破棄する様に制御する、すなわち、バッファフル時にCPUがタイマをスタートしてタイムアウトをしたらデータを破棄するように制御しているので、バッファの送信が一定時間以上行われないときでも、古いデータは破棄されるという効果が得られる。
【0100】
更に、データ破棄量の監視を行い、破棄量の統計を行ってこの統計データによりバッファの制限制御を行っており、この統計データによるバッファ数の変更方法としは、一定時間毎に、また信号毎に、データ破棄量を集計し、データ破棄量が制限値を所定回数連続して越えると、バッファ制限値を増加する様にしたので、信号種別が多い通信システムにおいて、CPU間通信を行う通信装置が各地に設置されている様な場合に、装置を工場出荷する時点では、信号の種類に応じてCPU間のデータ転送量が判明しておらず、最適値設定することは困難であるが、本手法を使用することで、各信号における優先度における信号破棄数の制限値を初期値として設定することにより、各設置された装置毎にデータ破棄量に応じてCPUが自動的に当該制限値を補正することになり、汎用性が著しく大となるという効果もある。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック図である。
【図2】図1のブロック間で授受される信号を示す図である。
【図3】図1のブロック間で授受されるデータの種類を説明する図である。
【図4】図3の信号の各構成を示す図である。
【図5】図1の下りバッファAの構成を示す図である。
【図6】各バッファの管理テーブルの例を示す図である。
【図7】下りバッファA管理テーブルの例を示す図である。
【図8】下りバッファA信号破棄統計テーブルの例を示す図である。
【図9】上りバッファA管理テーブルの例を示す図である。
【図10】下りバッファB管理テーブルの例を示す図である。
【図11】上りバッファB管理テーブルの例を示す図である。
【図12】上りバッファB信号破棄統計テーブルの例を示す図である。
【図13】図1のバッファ制御プログラムの構成を示す図である。
【図14】図13に示した各プログラムの各信号の流れに対する構成を示す図である。
【図15】タイマと割り込みコントローラとの関係を示す図である。
【図16】バッファの使用方法の一例を示す図である。
【図17】バッファの使用方法の一例を示す図である。
【図18】バッファの使用方法の一例を示す図である。
【図19】CPUから他回路へ信号A,B,Dを送信する場合の説明図である。
【図20】信号を送信しているバッファ制御プログラムのフローチャートである。
【図21】信号を送信しているバッファ制御プログラムのフローチャートである。
【図22】信号A,B,D毎に各バッファ制限数を変えたときのポインタの使い方の例を示し、バッファに溜まっているバッファ量がX以下のときの動作を示す図である。
【図23】バッファに溜まっているバッファ量がXのときの動作を示す図である。
【図24】図23においてデータが一つ読まれた場合の動作を示す図である。
【図25】バッファに溜まっているバッファ量がYのときの動作を示す図である。
【図26】バッファに溜まっているバッファ量がZのときの動作を示す図である。
【図27】上り信号A’,B’,D’を上りバッファAにて受信する場合を説明するための図である。
【図28】上り信号及び下り信号の受信タスクの動作を示す図である。
【図29】信号送信時のバッファ制御プログラムのフローチャートである。
【図30】バッファのデータ読出しができない状態の一例を示す図である。
【図31】バッファのデータ読出しができない状態の他の例を示す図である。
【図32】信号破棄時の集計と信号規制について説明する図である。
【図33】送信時のバッファ制御プログラムの動作を示す図である。
【図34】送信時のバッファ制御のプログラムの動作を示すフローチャートである。
【図35】信号Aの破棄数の具体例を示す図である。
【図36】図35の例におけるバッファ制限数の変化の例を示す図である。
【図37】信号規制時の動作を示す図である。
【図38】信号規制時の動作を示すフローチャートである。
【図39】信号規制時の一態様を示す図である。
【図40】バッファ制御プログラムの立上りを説明する図である。
【図41】バッファ制御プログラムの立上りを説明する図である。
【図42】下りバッファA信号破棄統計テーブルの例を示す図である。
【図43】上りバッファB信号破棄統計テーブルの例を示す図である。
【図44】本発明の他の実施の形態を示すブロック図である。
【図45】図44の上りバッファAの一例を示す図である。
【図46】下り信号Aの発生量(中継量)及びそれ以外の下り信号発生量と、下りバッファBで許容できる信号量との関係を示す図である。
【図47】本発明の更に他の実施の形態を示すブロック図である。
【図48】図47のタイマ602の例を示す図である。
【図49】信号B,Cの規制処理立上り動作を示すフローである。
【図50】信号Bに関する信号規制処理動作を示すフローチャートである。
【図51】信号Bに関する信号規制及びその解除の一態様を示す図である
【図52】本発明の応用例を示す図であり、(A)はそのブロック図、(B)はその信号の伝送方向、(C)は信号Aのフォーマット図である。
【図53】従来例を示すブロック図である。
【符号の説明】
100 本回路
101,601 CPU
102 CPU周辺回路
103 バッファA
104 バッファB
105 バッファ制御プログラム
106 メモリ
107 バッファA制御用プログラム
108 バッファB制御用プログラム
109 下り信号
110 上り信号
111 下り信号規制機能
112 上り信号規制機能
113 下りバッファA
114 上りバッファA
115 下りバッファB
116 上りバッファB
117 他回路A
118 他回路B
119,602 タイマ
120 割り込みコントローラ
129 他回路A’
130 他回路B’
701,702 信号フォーマット変換回路

Claims (32)

  1. 複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおいて、前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御手段を含むバッファ制御システムであって、
    前記制御手段は、
    使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッファへの書き込みを禁止して待機せしめる手段と、
    この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセス手段と、
    この再アクセスによっても前記バッファに空きがない場合には前記信号を破棄する破棄手段と、
    前記破棄手段による破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御手段とを有することを特徴とするバッファ制御システム。
  2. 前記信号の種別は優先順位であり、前記制御手段は、優先順位の高い信号は低い信号よりも前記バッファ制限値を多く設定するようにしたことを特徴とする請求項1記載のバッファ制御システム。
  3. 前記再アクセス手段は、前記再アクセスを所定回数以下繰り返し行うようにしたことを特徴とする請求項2記載のバッファ制御システム。
  4. 前記破棄手段は、前記再アクセスを所定回数繰り返しても前記バッファに空きがない場合に前記信号を破棄するようにしたことを特徴とする請求項3記載のバッファ制御システム。
  5. 前記制限値可変制御手段は、前記破棄数を所定周期でカウントし、このカウントされた破棄数が所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項1〜4いずれか記載のバッファ制御システム。
  6. 前記制限値可変制御手段は、カウントされた前記破棄数が所定回数連続して前記所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項5記載のバッファ制御システム。
  7. 前記制御手段は、前記破棄数が所定回数連続して前記所定設定値に達した回数をカウントしてこの回数が所定規制値になったときに当該信号の発生に規制をかける規制制御手段を有することを特徴とする請求項6記載のバッファ制御システム。
  8. 前記制限値可変制御手段は、カウントされた前記破棄数が予め設定された正常数より小となったときに前記バッファ制限値を元に戻すようにしたことを特徴とする請求項6または7記載のバッファ制御システム。
  9. 前記通信システムは前記複数種類の信号の送受信をなす複数の通信装置により構成されており、前記制限値可変制御手段はこれ等複数の通信装置の各々に設けられていることを特徴とする請求項1〜8いずれか記載のバッファ制御システム。
  10. 前記バッファは、書き込み位置を示すライトポインタと読出し位置を示すリードポインタとを有し、前記制御手段は、前記ライトポインタとリードポインタとの差により前記信号の各々が使用可能なバッファ数を判定するようにしたことを特徴とする請求項1〜9いずれか記載のバッファ制御システム。
  11. 前記バッファ数(バッファ制限値)、前記再アクセスを繰り返す回数、前記破棄数をカウントする周期、前記バッファ制限値を増加するための破棄数の設定値、前記正常数の各パラメータは設定自在に構成されていることを特徴とする請求項1〜10いずれか記載のバッファ制御システム。
  12. 複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおいて、前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御ステップを含むバッファ制御方法であって、
    前記制御ステップは、
    使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッ ファへの書き込みを禁止して待機せしめるステップと、
    この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセスステップと、
    この再アクセスによっても前記バッファに空きがない場合には当該信号を破棄する破棄ステップと、
    前記破棄ステップによる破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御ステップとを有することを特徴とするバッファ制御方法。
  13. 前記信号の種別は優先順位であり、前記制御ステップは、優先順位の高い信号は低い信号よりも前記バッファ制限値を多く設定するようにしたことを特徴とする請求項12記載のバッファ制御方法。
  14. 前記再アクセスステップは、前記再アクセスを所定回数以下繰り返し行うようにしたことを特徴とする請求項13記載のバッファ制御方法。
  15. 前記破棄ステップは、前記再アクセスを所定回数繰り返しても前記バッファに空きがない場合に当該信号を破棄するようにしたことを特徴とする請求項14記載のバッファ制御方法。
  16. 前記制限値可変制御ステップは、前記破棄数を所定周期でカウントし、このカウントされた破棄数が所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項12〜15いずれか記載のバッファ制御方法。
  17. 前記制限値可変制御ステップは、カウントされた前記破棄数が所定回数連続して前記所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項16記載のバッファ制御方法。
  18. 前記制御ステップは、前記破棄数が所定回数連続して前記所定設定値に達した回数をカウントしてこの回数が所定規制値になったときに当該信号の発生に規制をかけるステップを有することを特徴とする請求項17記載のバッファ制御方法。
  19. 前記制限値可変制御ステップは、カウントされた前記破棄数が予め設定された正常数より小となったときに前記バッファ制限値を元に戻すようにしたことを特徴とする請求項17または18記載のバッファ制御方法。
  20. 前記通信システムは前記複数種類の信号の送受信をなす複数の通信装置により構成されており、前記制限値可変制御ステップをこれ等複数の通信装置の各々が有することを特徴とする請求項12〜19いずれか記載のバッファ制御方法。
  21. 前記バッファは、書き込み位置を示すライトポインタと読出し位置を示すリードポインタとを有し、前記制御ステップは、前記ライトポインタとリードポインタとの差により前記信号の各々が使用可能なバッファ数を判定するようにしたことを特徴とする請求項12〜20いずれか記載のバッファ制御方法。
  22. 前記バッファ数(バッファ制限値)、前記再アクセスを繰り返す回数、前記破棄数をカウントする周期、前記バッファ制限値を増加するための破棄数の設定値、前記正常数の各パラメータは設定自在に構成されていることを特徴とする請求項12〜21いずれか記載のバッファ制御方法。
  23. 複数種類の信号の送受信に際してバッファを介して行うようにした通信システムにおけるバッファ制御をコンピュータに実行させるための制御プログラムを記録した記録媒体であって、
    前記制御プログラムは、
    前記信号の種別に応じて、各信号が使用可能なバッファ数を制限する制御ステップを含み、
    前記制御ステップは、
    使用可能なバッファ数(バッファ制限値)に達した状態において、前記信号の前記バッファへの書き込みを禁止して待機せしめるステップと、
    この待機中において所定間隔で前記バッファに対して再アクセスを行う再アクセスステップと、
    この再アクセスによっても前記バッファに空きがない場合には当該信号を破棄する破棄ステップと、
    前記破棄ステップによる破棄数をカウントしてこの破棄数の統計を取り、この統計結果に応じて前記バッファ制限値を可変制御する制限値可変制御ステップとを有することを特徴とする記録媒体。
  24. 前記信号の種別は優先順位であり、前記制御ステップは、優先順位の高い信号は低い信号よりも前記バッファ制限値を多く設定するようにしたことを特徴とする請求項23記載の記録媒体。
  25. 前記再アクセスステップは、前記再アクセスを所定回数以下繰り返し行うようにしたことを特徴とする請求項24記載の記録媒体。
  26. 前記破棄ステップは、前記再アクセスを所定回数繰り返しても前記バッファに空きがない場合に当該信号を破棄するようにしたことを特徴とする請求項25記載の記録媒体。
  27. 前記制限値可変制御ステップは、前記破棄数を所定周期でカウントし、このカウントされた破棄数が所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項23〜26いずれか記載の記録媒体。
  28. 前記制限値可変制御ステップは、カウントされた前記破棄数が所定回数連続して前記所定設定値に達した時に前記バッファ制限値を所定数増加するようにしたことを特徴とする請求項27記載の記録媒体。
  29. 前記制御ステップは、前記破棄数が所定回数連続して前記所定設定値に達した回数をカウントしてこの回数が所定規制値になったときに当該信号の発生に規制をかけるステップを有することを特徴とする請求項28記載の記録媒体。
  30. 前記制限値可変制御ステップは、カウントされた前記破棄数が予め設定された正常数より小となったときに前記バッファ制限値を元に戻すようにしたことを特徴とする請求項28または29記載の記録媒体。
  31. 前記バッファは、書き込み位置を示すライトポインタと読出し位置を示すリードポインタとを有し、前記制御ステップは、前記ライトポインタとリードポインタとの差により前記信号の各々が使用可能なバッファ数を判定するようにしたことを特徴とする請求項23〜30いずれか記載の記録媒体。
  32. 前記バッファ数(バッファ制限値)、前記再アクセスを繰り返す回数、前記破棄数をカウントする周期、前記バッファ制限値を増加するための破棄数の設定値、前記正常数の各パラメータは設定自在に構成されていることを特徴とする請求項23〜31いずれか記載の記録媒体。
JP2000073238A 2000-03-16 2000-03-16 バッファ制御システム及びその方法並びにその制御プログラム記録媒体 Expired - Fee Related JP3623712B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000073238A JP3623712B2 (ja) 2000-03-16 2000-03-16 バッファ制御システム及びその方法並びにその制御プログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000073238A JP3623712B2 (ja) 2000-03-16 2000-03-16 バッファ制御システム及びその方法並びにその制御プログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2001268116A JP2001268116A (ja) 2001-09-28
JP3623712B2 true JP3623712B2 (ja) 2005-02-23

Family

ID=18591510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000073238A Expired - Fee Related JP3623712B2 (ja) 2000-03-16 2000-03-16 バッファ制御システム及びその方法並びにその制御プログラム記録媒体

Country Status (1)

Country Link
JP (1) JP3623712B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4560409B2 (ja) * 2002-10-08 2010-10-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを交換する集積回路および方法
US7346036B2 (en) * 2004-03-31 2008-03-18 The Boeing Company Route server monitor
WO2009069297A1 (ja) 2007-11-27 2009-06-04 Panasonic Corporation バッファ管理装置、バッファ管理方法、及びバッファ管理用集積回路

Also Published As

Publication number Publication date
JP2001268116A (ja) 2001-09-28

Similar Documents

Publication Publication Date Title
CN101460912B (zh) 数据通信流控制装置及其方法
JP2581011B2 (ja) ローカルエリアネットワークのトラフィック制御システム
JPS63292747A (ja) バツフア管理方式
JP2008054127A (ja) ゲートウェイ装置、データ集約装置、データ集約システム、データ送信方法、及びプログラム
JPH04369942A (ja) データ通信システム
US7177963B2 (en) System and method for low-overhead monitoring of transmit queue empty status
JP2002135257A (ja) シリアル通信用データ処理装置
JP3623712B2 (ja) バッファ制御システム及びその方法並びにその制御プログラム記録媒体
JP2730493B2 (ja) 被制御局監視方法
JP2002171262A (ja) 通信方法及びその通信システム
JP2001144753A (ja) パケット交換装置及びパケット交換装置のクロック信号制御装置並びにクロック信号制御方法
US20100299461A1 (en) Information processing apparatus and image forming apparatus
JP3137086B2 (ja) フロー制御システム
JPH06276206A (ja) 中継バッファオーバフロー回避方式
JPH02143749A (ja) 送信制御処理方式
US6915355B2 (en) Automation equipment equipped with a USB link for monitoring and control in an automation application
US20220206967A1 (en) Information processing device
JP2846234B2 (ja) 同報送信方式
JP3045147B2 (ja) 移動通信用データ中継装置
JP3636086B2 (ja) 輻輳検出装置
JP3092544B2 (ja) 監視バスにおけるデータ伝送量制御方法及び監視対象パッケージ並びにcpuパッケージ
JPS6158073A (ja) デ−タ転送制御方式
JP2850605B2 (ja) 伝送方式
JP2657544B2 (ja) 輻輳制御方式
JPS58159139A (ja) デ−タ通信輻「あ」規制方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees