JPH1040194A - 通信制御装置の受信バッファ制御システム - Google Patents

通信制御装置の受信バッファ制御システム

Info

Publication number
JPH1040194A
JPH1040194A JP8195928A JP19592896A JPH1040194A JP H1040194 A JPH1040194 A JP H1040194A JP 8195928 A JP8195928 A JP 8195928A JP 19592896 A JP19592896 A JP 19592896A JP H1040194 A JPH1040194 A JP H1040194A
Authority
JP
Japan
Prior art keywords
line
reception buffer
reception
buffer
speed information
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.)
Withdrawn
Application number
JP8195928A
Other languages
English (en)
Inventor
Koichi Yada
浩一 矢田
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 Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP8195928A priority Critical patent/JPH1040194A/ja
Publication of JPH1040194A publication Critical patent/JPH1040194A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 複数回線を収容する通信制御装置において、
受信バッファ不足による受信停止を防止し、かつ受信バ
ッファの有効利用を図る。 【解決手段】 受信バッファ6の各受信バッファプール
110〜112を、回線1〜4の数及び各回線の速度と
に応じてMPU11にて割り当て制御する。これによ
り、受信バッファの不足によりデータの廃棄が生じるこ
となく、また受信バッファの容量を極力小に押さえるこ
とが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は受信バッファ制御シ
ステムに関し、特に複数回線を収容しこれ等回線からの
受信データを受信バッファに一時格納制御する通信制御
装置の受信バッファ制御システムに関するものである。
【0002】
【従来の技術】情報処理システムにおいて使用される通
信制御装置は、情報処理装置のCPU(中央処理装置)
からの入出力指示に従って通信回線の接続や切断、更に
は回線からのデータの入力及び回線へのデータの出力等
の制御を行なう機能を有しており、情報処理装置のデー
タ通信制御を行なうものである。
【0003】かかる従来の通信制御装置において、複数
の回線を収容してこれ等各回線からの受信データを一時
受信バッファに蓄積して処理する場合、固定で唯一の受
信バッファサイズ(容量)を各回線毎に割当てる方式が
あり、また未使用のバッファが少なくなったときにバッ
ファの使用効率を向上させるために、以下の様な方式が
提案されている。
【0004】特開平1−93235号公報には、容量の
大きなデータが入る程度の大きなサイズのバッファを通
常時に(バッファが不足していないときに)要求元に与
えておき、この大きなサイズのバッファが満杯となった
場合、小さなサイズのバッファを要求元に提供すること
により、バッファ不足に起因する受信停止を防止するも
のである。
【0005】
【課題を解決するための手段】上述した従来の方式で
は、通信制御装置内でバッファ供給部がバッファ要求を
受付けてから提供する間に、バッファ要求元で通信回線
から受信したデータは、格納すべきバッファがないため
破棄せざるを得ない。このため、受信バッファは通信回
線単位に複数個用意することが必要である。
【0006】複数回線を収容する通信制御処理装置で
は、同時に複数の回線からのバッフア要求が競合する場
合があり、この時バッファ制御部が即時にバッファ提供
処理を行うのは、ある1つの回線に対してのみであるこ
とから、他の回線からのバッファ要求に対するバッファ
提供処理に待ち合わせが生じる。
【0007】この時、図7に示す様に(図7の説明は後
述する)、他の回線へのバッファ提供が完了するまで待
ち合わせている時間があまりにも長いと、回線毎に用意
していた複数個の受信バッフアの全てを使用してしま
い、未使用受信バッファがなくなった時点からバッファ
提供処理が完了するまでの間に、通信回線から受信した
データは格納すべきバッファがないため、破棄せざるを
得ない問題がある。
【0008】ここで、高速回線では通信回線からの単位
時間当たりの受信データ量が多く、バッファ提供処理の
待ち合わせは、高速回線における受信処理に大きく影響
することから、常時保有する受信バッファの個数を予め
多く持ち、受信バッファの不足を防ぐ必要がある。
【0009】しかし、回線毎で常時保有する受信バッフ
ァ数が一定の従来装置では、この常時保有の回線当たり
の受信バッファ数を多く確保すると、通信制御装置全体
としてバッファメモリを十分に多く実装しなくてはなら
ない問題がある。
【0010】また、回線毎に常時保有する受信バッファ
数を多く確保すると、通信回線からの単位時間当たりの
受信データ量が少ない低速回線では、必要以上の受信バ
ッファ容量を保有することとなり、バッファメモリ資源
の使用効率が下がる問題がある。
【0011】本発明の目的は、起動時に収容回線数と各
々の回線速度とを知り、決められた資源の中で高速回線
には多数の受信バッファを、低速回線には比較的小量の
受信バッファをそれぞれ割り当てることで効率よく資源
を利用するようにした通信制御装置の受信バッファ制御
システムを提供することである。
【0012】
【課題を解決するため手段】本発明によれば、複数回線
を収容しこれ等回線からの受信データを受信バッファに
一時格納制御する通信制御装置の受信バッファ制御シス
テムであって、前記回線の各々回線速度に応じて前記受
信バッファの容量を各回線毎に割当てるようにしたこと
を特徴とする受信バッファ制御システムが得られる。
【0013】そして、前記受信バッファの容量は予め定
められた一定容量を有しており、この一定容量を前記回
線の数と前記各回線速度とに応じて各回線毎に割当てる
ようにしたことを特徴としており、また前記受信バッフ
ァの一定容量のうち、前記回線の全てに対して等しい基
本となる基本容量を割当て、その残りの容量を回線の数
と前記各回線速度とに応じて各回線毎に割当てるように
したことを特徴としている。
【0014】これにより、高速回線でのバッファ提供処
理が他の回線へのバッファ提供処理により待ち合わされ
ても、回線が常時持つ受信バッファ数は充分確保されて
おり、複数個のバッファが全て枯渇することを防いでい
る。また、低速回線ではバッファ要求時に他の回線のバ
ッファ提供処理により自回線へのバッファ提供が待ち合
わされても、高速回線に比べ通信回線からの単位時間当
たりの受信データ量はより少ないので、回線毎に常時保
有する受信バッファ数が高速回線に比べ比較的少なくて
も、その全ての受信バッファは不足しない。
【0015】
【発明の実施の形態】本発明の実施例につき以下に図面
を参照しつつ詳細に説明する。
【0016】本発明の受信バッファ制御方式を採用した
通信制御装置(以下CCUと称す)の一例として、その
CCUの構成を図1及び図2を用いて説明し、受信バッ
ファ制御方式の実現方法について図3及び図4を用いて
説明する。
【0017】CCU9は回線1、回線2、回線3、回線
4を収容しており、CPU1Oからの指示により指定さ
れた回線へMEM12内の送信データを送出、あるいは
指定された回線からの受信データをMEM12へ転送す
る。各回線はそれぞれ独立して通信網へ接続することが
できる。ここでは、回線1、回線2、回線4を使用し、
回線3は未使用とする。
【0018】CCU9はマイクロプロセッサ(以下MP
Uと称す)11とローカルメモリ(以下LMと称す)8
と回線制御部21〜24とを有する。
【0019】MPU11はLM8に格納されたファーム
ウェアプログラムを逐次実行することで、CPU10か
らの動作指示解析、実行及び処理完了報告や、LΜ8の
管理、LΜ8とΜEM12との送受信データの転送処
理、またCCU9のハードウェアの操作等を司る機能を
持つ。
【0020】LM8は通信回線への送信データ及び通信
回線からの受信データの一時的な保持や、MPU11上
で走行するファームウェアプログラムの格納等の用途に
使用される。その構成として、通信回線からの受信デー
タを一時的に保持するために受信バッファ6と、受信バ
ッファ6を管理するための受信バッファ管理ポインタ5
と、受信バッファ6のサイズを決めるための通信速度情
報テーブル7とを有する。
【0021】受信バッファ6は、回線1と対応した受信
バッファプール110と、回線2と対応した受信バッフ
ァプール111と、回線4と対応した受信バッファプー
ル112とで構成され、各受信バッファプールは複数の
単一サイズ受信バッファからなる。ここでは回線3は未
使用のため、回線3に対応した受信バッファプールは存
在しない。
【0022】受信バッファ管理ポインタ5は、各回線毎
に存在する受信バッファリードポインタと受信バッファ
ベースポインタとから構成され、回線1にはリードポイ
ンタ100とべースポインタ104とが、回線2にはリ
ードポインタ101とベースポインタ105とが、回線
3にはリードポインタ102とベースポインタ106と
が、回線4にはリードポインタ103とベースポインタ
107とが夫々対応している。
【0023】通信速度情報テーブル7は各回線に対応す
る通信速度情報から構成される。通信速度情報の値は、
その回線を未使用とする場合は0となり、使用する場合
は0以外の値で、その回線の回線速度に対応するコード
を持つ。図8に回線速度と通信速度情報との対応の一例
を示す。
【0024】回線制御部21は回線1に対応しており、
その機能として、回線1へのデータ送信時の送信データ
のパラレル/シリアル変換機能、回線1からのデータ受
信時のデー夕のシリアル/パラレル変換機能、受信バッ
ファプールのうち次に受信データを格納すべき受信バッ
ファヘ受信データを格納する機能、受信バッファへの受
信データの格納が完了したことをMPU11へ通知する
機能等を有する。
【0025】回線制御部22,23,24はそれぞれ回
線2,3,4に対応しており、回線21と同等の機能を
持つ。
【0026】次に、受信バッファ6を構成する受信バッ
ファプールの構成と、受信バッファ管理ポインタ5との
関係を、CCU9に収容される回線1を例として図21
を用いて説明する。
【0027】回線1の受信バッファリードポインタ10
0は、MPU11が現在参照している、またはこれから
参照可能な受信バッファの先頭アドレスを格納してい
る。このため、回線1の受信バッファリードポインタ1
00は、その初期値として受信バッフア201の先頭ア
ドレスを持ち、受信バッファ201に格納された受信デ
ータの参照及び必要に応じてMEM12への転送などの
受信データに対する処理完了を契機に、MPU11によ
り次の受信データを格納すべき受信バッファ202の先
頭アドレスに更新される。
【0028】回線1の受信バッファベースポインタ10
4は、回線1の受信バッファプール110を構成する受
信バッファのうち、メモリマップ上、最もアドレスが小
さい位置の受信バッファの先頭アドレスを指し示してい
る。
【0029】回線1の受信バッファプール110は、L
M8のメモリマップ上、連続したエリアに5個の受信バ
ッファ201〜205を持ち、各々の受信バッファのサ
イズは同一である。また、受信バッファプール110を
構成している各受信バッファのサイズは、回線番号には
関係なく、他の回線に対応する受信バッファプール11
1〜112をそれぞれ構成している受信バッファのサイ
ズと等しい。
【0030】受信バッファ201は次の5要素からな
り、他の受信バッファも同様の構成を持つものとする。
【0031】第1の要素としては、受信バッファ201
に受信データが格納されていることを示す有効表示21
0がある。この有効表示210の値が1のとき、受信バ
ッファ201は回線1からの受信デー夕を格納可能な状
態であり、MPU11は受信バッファ201の内容を更
新することはできず、回線制御部21が受信バッファ2
01の内容を更新する。
【0032】有効表示210の値が0のとき、受信バッ
ファ201は回線1からの受信デー夕を格納済みであ
り、MPU11は受信バッファ201内の受信データを
編集するなど受信バッファ201の内容を更新でき、回
線制御部21は受信バッファ201の内容を変更しな
い。
【0033】第2の要素としては、回線1で受信したデ
ータが受信バッファ201に収まりきらずに受信バッフ
ァ202にチェインしているかを表示するチェイン表示
211がある。このチェイン表示211は回線が更新
し、MPU11は更新しない。有効表示210の値が0
のとき、チェイン表示211の値は次の意味を持ち、有
効表示210が1のとき、チェイン表示211の値は不
定である。
【0034】チェイン表示211の値が0のとき、回線
1から受信した受信フレームの受信データは全て受信バ
ッファ201に収まり、受信バッファ202に受信デー
タが継続して格納していないことを表す。
【0035】チェイン表示211の値が1のとき、回線
1から受信した受信フレームの受信データは受信バッフ
ァ201に収まりきらずに、その内容が受信バッファ2
02に継続して格納していることを表す。
【0036】第3の要素としては、当該受信バッファが
回線1の受信バッファプール110内でメモリマップ上
最も大きいアドレスに位置した、即ち最後に使用される
受信バッファであることを表示する最終バッファ表示2
12がある。この最終バッファ表示212は、MPU1
1が更新し、回線制御部21は更新しない。最終バッフ
ァ表示が0のとき、当該受信バッファは受信バッファプ
ール110内でメモリマップ上最も大きいアドレスに位
置していない。即ち当該受信バッファに続く受信バッフ
ァも受信バッファプール110の受信バッファである。
【0037】最終バッファ表示が1のとき、当該受信バ
ッファは受信バッファプール110内でメモリマップ上
最も大きいアドレスに位置している。即ち当該受信バッ
ファヘ受信データを格納した後、次に回線1が受信した
データは受信バッファベースポインタ104が指す受信
バッファヘ格納する。
【0038】第4の要素としては、受信バッファ201
で受信データを格納するのに要したバイト数213があ
る。この使用済みバイト数213は、回線制御部21が
更新し、MPU11は更新しない。
【0039】有効表示210の値が0のとき、受信バッ
ファ201内で受信データを格納するのに使用したバイ
ト数を表示する。有効表示210の値が1のとき、使用
済みバイト数213の値は不定である。
【0040】第5の要素として、受信バッファ201が
回線から受信したデータを格納するエリア214があ
る。有効表示210が0のとき、受信データ格納エリア
214は回線1にて受信した受信データを格納してい
る。有効表示210の値が1のとき、受信データ格納エ
リア214の内容は不定である。
【0041】CCU9の受信動作を、回線1が受信した
受信フレームのデータサイズが、受信バッファ201の
データ格納エリア214のサイズより小さい場合につい
て、受信バッファ201を中心に説明する。
【0042】回線1が回線接続時に、ΜPU11は、受
信バッファプール110の全ての受信バッファの有効表
示の値を1にし、受信バッファ201〜205を使用可
能とする。ここで受信バッファ201〜204の最終バ
ッファ表示の値は0であり、受信バッファ205の最終
バッファ表示の値は1である。
【0043】回線1の回線制御部21は回線1から受信
した受信データを受信バッファ201のデータ格納エリ
ア214に、そのバイト数を213にそれぞれ格納し、
受信バッファ有効表示210の値とチェイン表示211
の値とをどちらも0にする。
【0044】MPU11上で逐次走行しているファーム
ウェアプログラムは、回線1の受信バッファリードポイ
ンタ100が指し示す、即ち回線1がフレームを受信し
た際に最初に使用する受信バッファ201の有効表示2
10の値が0に変化したことで、回線1はフレームを受
信し、受信バッファ201には、回線1から受信した受
信データが回線制御部21により格納されたことを知
る。
【0045】次に、MPU11上のファームウェアは、
受信バッファ201のチェイン表示211の値が0であ
ることと、データ格納エリア214が格納可能な最大バ
イト数よりも使用済みバイト数213の値が小さいこと
から、回線1から受信した受信フレームの受信データの
全てが受信データ格納エリア214に回線制御部21に
より格納されたことを知る。
【0046】これにより、MPU11はデータ格納エリ
ア214の受信データを参照し、必要に応じて編集、M
EM12への転送、CPU10への受信報告などを行
い、受信バッファ201の操作を完了すると、受信バッ
ファ201の有効表示210を1にすることで受信バッ
ファ201を解放し、受信バッファリードポインタ10
0の値を受信バァファ202の先頭アドレスに更新し、
次のフレーム受信に備える。
【0047】CCU9の初期起動時に、CPU10上で
動作するソフトウェアは図1に示すCCU9の通信速度
情報テーブル7へ回線毎の通信速度情報を全回線分設定
する。図3のフローチャートを使用してその設定手順を
説明する。通信速度情報は、CCU9が収容する全回線
分設定する(ステップ301)。ここでは、回線1から
順に回線4までの通信速度情報を設定することとし、そ
の設定対象回線番号を1に初期化する。回線番号1の通
信情報設定完了後は、ステップ304にて設定対象回線
番号を都度更新する。
【0048】設定回線が使用する回線速度から、図8に
よって得られるコード値を通信速度情報として通信速度
情報テーブル7に設定する(ステップ302)。CCU
9が収容する4回線全てに対して通信速度情報を通信速
度情報テーブル7に設定完了したかを、設定対象回線番
号から判断する(ステップ303)。
【0049】ここでは、設定対象回線番号が4のとき、
CCU9の全ての回線の通信速度情報の設定が完了した
と判断し、通信速度情報設定処理を完了する。設定回線
番号が4未満であれば、CCU9には通信速度情報を未
設定の回線があると判断し、ステップ302へ進む。通
信速度情報の設定対象回線番号を1増加して更新する
(ステップ304)。
【0050】図3で示した通信速度情報テーブル7への
通信速度情報の設定が収容回線分全て完了すると、CP
U10はCCU9に対して初期起動指示を行う。これを
契機にCCU9は、収容する回線毎の受信バッファプー
ルを構成する受信バッファ数をそれぞれ決定し、各回線
に受信バッファを割り当てる。図4のフローチャートを
用いて受信バッファの割当処理を説明する。
【0051】図4において、ステップ401〜406で
は、CCU9が使用する回線数と、使用する回線の各通
信速度情報の合計を求める。ここで求めた使用する回線
数と通信速度情報の合計とから、CCU9の全体性能に
対する、各回線がそれぞれ必要とする性能のおおよその
割合が求められる。この割合を基に、各回線の受信バッ
ファプールを構成する受信バッファ数を決定する。また
ステップ407〜413では、各回線毎の受信バッファ
数の決定及び割当を行う。
【0052】CCU9が使用する回線数を求めるため、
ΜPU11が管理する使用回線数値を0に初期化する
(ステップ401)。通信速度情報の合計を求めるた
め、ΜPU11が管理する通信速度情報テーブル7から
通信速度情報を読出す対象の回線番号を1に、通信速度
情報累積値を0に夫々初期化する。回線1の通信速度情
報を読出し後は、ステップ406にて通信速度情報読出
対象回線番号を都度更新する。
【0053】通信速度情報テーブル7から通信速度情報
読出対象回線番号の回線に対応する通信速度情報を読出
す(ステップ402)。通信速度情報の値により当該回
線は使用する回線か否かを判断する(ステップ40
3)。ここでは、通信速度情報の値が0であれば、当該
回線は未使用と判断してステップ405へ進む。通信速
度情報の値が0以外であれば、当該回線は使用する回線
と判断してステップ404へ進む。
【0054】使用回線数には1を加算し、通信速度累積
値には該当回線の通信速度情報を加算する(ステップ4
04)。通信速度情報テーブル7からCCU9が収容す
る全回線分の通信速度情報を読出したかを判断する(ス
テップ405)。ここでは、通信速度情報読出し対象の
回線番号が4であれば、全回線分を読出したと判断し、
ステップ407へ進む。回線番号が4未満であれば、全
回線分を読出していないと判断しステップ402へ進
む。
【0055】通信速度情報テープル7から通信速度情報
を読出す対象の回線番号を1増加して更新する(ステッ
プ406)。受信バッファの割当は、CCU9が使用す
る全回線分行う(ステップ407)。ここでは、回線1
から順に回線4までの受信バッファ数を割り当てること
とし、MPU11が管理するその割当対象回線番号を1
に初期化する。回線番号1への受信バッファを割当完了
後は、ステップ413にて割当対象回線番号を都度更新
する。
【0056】CCU9が未使用の回線には受信バッファ
を割り当てず、また使用する回線へ割り当てる受信バッ
ファ数もその回線速度から決めるため、通信速度情報テ
ーブル7から当該回線の通信速度情報を読出す(ステッ
プ408)。
【0057】ステップ408で読出した通信速度情報か
ら、CCU9が当該回線は使用する回線か否かを判断す
る(ステップ409)。ここでは、通信速度情報が0な
らば、当該回線は未使用と判断してステップ412へ進
む。通信速度情報が0以外ならば、当該回線は使用する
回線であると判断してステップ410へ進む。
【0058】各使用回線に割り当てる受信バッファ数を
算出する(ステップ410)。各使用回線は対応する各
回線制御部により1つの受信バッファに格納された受信
データを処理中に回線からデータを受信可能とするた
め、最低2個の受信バッファを保有するものとする。こ
のため、受信バッファ6からは、各使用回線に受信バッ
ファを2個ずつ割り当てた後、残りの受信バッファを各
使用回線にその回線速度に応じて割り当てる。
【0059】ステップ410て算出した受信バッファ数
に従い、当該回線の受信バッファプールの連続したメモ
リエリアを受信バッファ6内に確保し、その受信バッフ
ァプール内でメモリマップ上最も大きいアドレスに位置
する受信バッファの最終受信バッファ表示を1にし、同
じ受信バッファプール内の他の受信バッファの最終受信
バッファ表示を0にする(ステップ411)。
【0060】また、受信バッファリードポインタ及び受
信バッファベースポイン夕の値を、該当回線の受信バッ
ファプール内でメモリマップ上最も小さいアドレスに位
置する受信バッファを指し示すように初期化する。
【0061】受信バッファ6から受信バッファを割り当
てる対象の回線番号を1増加して更新する(ステップ4
12)。
【0062】受信バッファ6から、回線4を除いたCC
U9が使用する全回線分の受信バッファ割当が完了した
かを判断する(ステップ413)。ここでは、受信バッ
ファ割当対象回線番号が4であれば、回線4を除き、全
使用回線への受信バッファ割当が完了したと判断し、ス
テップ414へ進み、回線4への受信バッファの割当を
行う。回線番号が4未満であれば、回線4を除く全使用
回線分の受信バッファ割当が完了していないと判断し、
ステップ408へ進む。
【0063】受信バッファ6内で、どの受信バッファブ
ールにも割り当てられていない全ての受信バッファを回
線4の受信バッファプールに割り当てる(ステップ41
4)。
【0064】上述の様にして、各回線毎に割り当てられ
た受信バッファを用いた、MPU11上で動作するファ
ームウェアの受信処理の概略を、図5のフローチャート
を用いて説明する。
【0065】図5において、ステップ501〜503で
は、CCU9が収容する各回線でフレームの受信がある
かを検索する。新たにフレームを受信し、受信データを
保有する回線を検出すると、ステップ504〜506
で、必要に応じて受信データに対する処理を行い、受信
バッフアを解放し次の受信バッファを参照できるよう受
信リードポインタを更新する。
【0066】フレームの受信があるかを検索する対象の
回線番号を1に初期化する(ステップ501)。回線1
でフレームの受信がない場合は、ステップ503でフレ
ームの受信があるかを検索する対象の回線番号を都度更
新する。
【0067】フレームの受信があるかの検索を、受信リ
ードポインタが指し示す受信バッファの有効表示を参照
することで判断する(ステップ502)。ここでは、有
効表示の値が0であれば、受信バッファに受信デー夕が
格納済みであると判断しステップ504へ進む。有効表
示の値が1であれば、当該回線には新たなフレームの受
信がないと判断しステップ503へ進む。
【0068】フレームの受信があるかを検索する対象の
回線番号を1増加し、更新する(ステップ503)。受
信リードポインタが指し示す受信バッファの受信データ
格納エリアに格納された受信フレームに対して、必要に
応じて参照、編集、MEM12への転送などの処理を行
う(ステップ504)。受信リードポインタが指し示す
受信バッファを解放する(ステップ505)。ここで
は、有効表示を1とすることで新たに受信可能な状態と
する。受信リードポインタを更新し、次に受信するフレ
ームを格納する受信バッファを指し示す(ステップ50
6)。
【0069】ここで、実際の値を使用して本発明の実施
例の受信割り当て処理につき説明する。各回線の通信速
度を、 回線1=192Kbps 回線2=9600bps 回線4=9600bps とし、回線3は未使用とする。
【0070】受信バッファ6はLΜ8のバイトアドレス
の1000番地(16進数)から存在し、その全体容量
を10240バイトとする。また、各回線に対応する受
信バッファプールを構成する受信バッファサイズを10
24バイトとする。即ち、受信バッファ6には受信バッ
ファが10個存在する。
【0071】図3の通信速度情報設定処理フローにおい
て、図8の値からCCU9の通信速度情報テープル7に
CPU10が設定する値は 回線1の通信速度情報120=12 回線2の通信速度情報121=1 回線3の通信速度情報122=0 回線4の通信速度情報123=1 となる。
【0072】図4の受信バッファ割当処理フローにおい
て、ΜPU11上で動作するファームウェアがステップ
401〜406を実行することで、 使用回線数=3 通信速度累積値=14 が夫々求められる。
【0073】回線1の受信バッファプール110のバイ
トアドレスは、受信バッファ6内のメモリマップ上最も
小さいアドレスから割り当てられるので、1000番地
(16進数)となる。
【0074】また、受信バッファプール110を構成す
る受信バッファ数は、ステップ410によって、 最低保証受信バッファ数=2個 受信バッファ6が保有する全受信バッファ数=10個 受信バッファプール110を構成する受信バッファ数 =最低保証受信バッファ数+{受信バッファ6が保有する受信バッファ数) −(最低保証受信バッファ数×使用回線数)}×(回線1の通信速度情報) /(通信速度累積値) =2+{10−(2×3)}×12/14 =5.4=5個(小数点以下切捨て) として算出される。
【0075】この算出結果により、受信バッファプール
110は1000番地(16進数)から1024バイト
の受信バッファ5個で構成される。
【0076】尚、ステップ411により、5個目の受信
バッファの最終バッファ表示が1となり、回線1の受信
バッファリードポインタ100と受信バッファベースポ
インタ104は、1000番地(16進数)を指し示す
ように初期化される。
【0077】回線2の受信バッファプール111のバイ
トアドレスは、受信バッファ6内のメモリマップ上,受
信バッファプール110の次のアドレスから割り当てら
れるので,3800番地(16進数)となる。
【0078】また,受信バッファプール111を構成す
る受信バッファ数は回線1と同様ステップ410によっ
て, 受信バッファプール111を構成する受信バッファ数 =2+{10−(2×3)}×1/14 =2.2=2個(小数点以下切捨て) として求められる。
【0079】この算出結果により,受信バッファプール
111は3800番地(16進数)から1024バイト
の受信バッファ2個で構成される。
【0080】尚、処理411により、2個目の受信バッ
ファの最終バッファ表示が1となり、回線2の受信バッ
ファリードポインタ101と受信バッファベースポイン
タ105は、3800番地(16進数)を指し示すよう
に初期化される。
【0081】回線3は未使用のため受信バッファプール
が存在せず、受信バッファリードポインタ103と、受
信バッファベースポインタ106は不定の値を持つ。
【0082】回線4の受信バッファプール112のバイ
トアドレスは、受信バッファ6内のメモリマップ上、受
信バッファプール111の次のアドレスから割り当てら
れるので、4000番地(16進数)となる。
【0083】受信バッファ6から、受信バッファプール
110及び111へ受信バッファをそれぞれ割り当て
後、残った全ての受信バッファで受信バッファプール1
12を構成する。
【0084】受信バッファプール112を構成する受信
バッファ数=10−5−2=3個 である。これより受信バッファプール112は4000
番地(16進数)から1Ο24バイトの受信バッファ3
個で構成される。
【0085】この結果、受信バッファプール111と1
12とでは、対応するそれぞれの回線の回線速度が同じ
であるが、図5より、回線4のフレームを受信したか否
かを検索する優先度は、回線2のフレームを受信したか
否かを検索する優先度に比べ劣るので、なるべく長時間
受信データを保持しておけるように、回線4に対応する
受信バッファプール112は、回線2に対応する受信バ
ッファプール111に比べより多くの受信バッファで構
成されている。
【0086】尚、ステップ411により、3個目の受信
バッファの最終バッフア表示が1となり、回線4の受信
バッファリードポインタ103と受信バッファベースポ
インタ107は、4000番地(16進数)を指し示す
よう初期化される。
【0087】次に、各回線毎に受信バッファを2個しか
持たない従来CCUにおいて、本実施例と同じ収容回線
構成では、回線からのフレームの受信に対して受信バッ
ファの供給が間に合わないケースがある間題について説
明する。
【0088】CCUは図5に示す順序で受信処理を行う
こととし、ここではその処理時間を考慮しつつ受信バッ
ファの供給が間に合わないケースについて説明する。但
し、ステップ504に要する時間は、回線毎の手順など
により異なる。
【0089】ここでは、回線1はステップ504の処理
時間が比較的短いHDLC手順を採用しており、回線2
及び回線4はステップ504の処理時間が比較的長いB
asic採用していることとする。
【0090】HDLC回線では、ΜPU上で動作するフ
ァームウェアが、ステップ502で受信バッファの有効
表示の値が0であることを確認してから、ステップ50
4,505及び506を完了するまでに150μs要す
る。
【0091】Basic回線では、MPU上で動作する
ファームウェアが、ステップ502で受信バッファの有
効表示の値が0であることを確認してから、ステッフ5
04,505及び506を完了するまでに300μs要
する。
【0092】回線1で最短電文、例えばHDLCのRR
フレームを受信するのに要する時間は、 受信時間(S)=(受信バイト数)×8/(回線速度;
bps) として求められる。
【0093】ここで、回線速度は192Kbpsであ
り、受信バイト数は5バイト(内訳は以下に示す)なの
で、1個のRRフレーム受信時間は、 受信時間=5×8/192Kbps=208.3(μ
s) となる。尚、受信バイト数5バイトの内訳は、開始/終
結用フラグ1バイト、A/Cフィールド2バイト、FC
S2バイトである。
【0094】即ち、図6に示すように、回線1からは最
速で208.3μs毎にフレームの受信報告がある。回
線1が保有する受信バッファは受信バッファ201と受
信バッファ202の2個で、これらを交互に使用してい
ることから、回線1から受信フレームを受信バッファ2
01に格納してから、受信バッファ201の解放まで
を、208.3×2=416.6μs以内に終了しない
と、新たなフレームの受信時にフレームを格納する受信
バッファがなく、受信フレームはCCU内で失われてし
まう。
【0095】いま、図7に示すように、時間701にお
いて、回線1でフレームの受信が完了する、即ち受信バ
ッファの有効表示が0になる直前に、回線2でのデータ
の受信を検出したとする。回線2はBasic回線であ
ることから、この回線2の受信デー夕を参照・編集し、
受信バッファの解放が完了するまでに300μs要す
る。
【0096】ほぼ同時刻の時間702において、回線1
で受信したフレームが受信バッファ201に格納される
が、MPU11は受信バッファ201での受信完了から
300μs経過後に、受信バッファ201の受信データ
の処理を開始し、更に150μs経過後の時間705で
受信バッファ201を解放する。
【0097】しかし、受信バッファ202は時間703
において、回線1からの受信フレームを既に格納済みで
あるため、時間704におけるフレームの受信時に回線
1へ受信バッファを供給できない。このため、時間70
4における回線1からの受信フレームはCCU内で失わ
れてしまう問題がある。
【0098】本実施例のCCU9では、各回線に受信バ
ッファ数を割り当てているため、回線1では、受信バッ
ファを5個保有しているので上述のケースで受信バッフ
ァが不足することはない。しかし、回線毎に受信バッフ
ァを5個保有する従来CCUでも、上述のケースでバッ
ファが不足することはないが、3回線使用する場合は、
CCU全体で15個の受信バッファが必要となる。
【0099】本実施例のCCU9では、各回線の回線速
度により、回線毎に保有する受信バッファ数を可変に割
り当てているため、CCU9全体で受信バッファは10
個確保すれば良く、従来の受信バッファ割当に比較して
資源を有効に利用しているのは明白である。
【0100】
【発明の効果】本発明によれば、回線数と回線速度とに
応じて、各回線毎に割り当てられる受信バッファの容量
を可変とすることで、受信バッファ不足によるデータ受
信停止を防止でき、資源の有効利用が図れるという効果
がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】図1の受信バッファの詳細例を示す図である。
【図3】CPUによる通信速度情報設定処理のフローチ
ャートである。
【図4】受信バッファ割り当て処理のフローチャートで
ある。
【図5】MPU上で動作するファームウェアの受信概略
処理を示す図である。
【図6】従来方式において、通常受信中に受信バッファ
供給が間に合う場合の動作シーケンス図である。
【図7】従来方式において、他回線処理中に受信バッフ
ァ解放が遅れて回線へのバッファ供給が間に合わない場
合の動作シーケンス図である。
【図8】回線速度と通信速度装情報との対応関係例を示
す図である。
【符号の説明】
1〜3 回線 5 受信バッファ管理ポインタ 6 受信バッファ 7 通信速度情報テーブル 8 LM 9 CCU 10 CPU 11 MPU 12 MEM 21〜24 回線制御部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数回線を収容しこれ等回線からの受信
    データを受信バッファに一時格納制御する通信制御装置
    の受信バッファ制御システムであって、前記回線の各々
    回線速度に応じて前記受信バッファの容量を各回線毎に
    割当てるようにしたことを特徴とする受信バッファ制御
    システム。
  2. 【請求項2】 前記受信バッファの容量は予め定められ
    た一定容量を有しており、この一定容量を前記回線の数
    と前記各回線速度とに応じて各回線毎に割当てるように
    したことを特徴とする請求項1記載の受信バッファ制御
    システム。
  3. 【請求項3】 前記受信バッファの一定容量のうち、前
    記回線の全てに対して等しい基本となる基本容量を割当
    て、その残りの容量を回線の数と前記各回線速度とに応
    じて各回線毎に割当てるようにしたことを特徴とする請
    求項2記載の受信バッファ制御システム。
JP8195928A 1996-07-25 1996-07-25 通信制御装置の受信バッファ制御システム Withdrawn JPH1040194A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8195928A JPH1040194A (ja) 1996-07-25 1996-07-25 通信制御装置の受信バッファ制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8195928A JPH1040194A (ja) 1996-07-25 1996-07-25 通信制御装置の受信バッファ制御システム

Publications (1)

Publication Number Publication Date
JPH1040194A true JPH1040194A (ja) 1998-02-13

Family

ID=16349315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8195928A Withdrawn JPH1040194A (ja) 1996-07-25 1996-07-25 通信制御装置の受信バッファ制御システム

Country Status (1)

Country Link
JP (1) JPH1040194A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162373A (ja) * 2015-03-04 2016-09-05 富士通株式会社 データ保存プログラム、データ保存方法、情報処理端末及びデータ保存システム
JP2020012978A (ja) * 2018-07-18 2020-01-23 株式会社ニコン アクセサリ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016162373A (ja) * 2015-03-04 2016-09-05 富士通株式会社 データ保存プログラム、データ保存方法、情報処理端末及びデータ保存システム
JP2020012978A (ja) * 2018-07-18 2020-01-23 株式会社ニコン アクセサリ
US10911665B2 (en) 2018-07-18 2021-02-02 Nikon Corporation Accessory, interchangeable lens and camera body

Similar Documents

Publication Publication Date Title
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
JP3878508B2 (ja) 回路群制御システム
EP0817041A2 (en) Method for reserving resources
EP1130520A1 (en) Self-tuning memory management for computer systems
JPH08297628A (ja) 同次プログラミング環境において(n)のデータマネージャで(n+1)のI/Oチャネルを制御する方法及び装置
US10545791B2 (en) Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization
JPH02247768A (ja) 分散処理システム及び分散処理連携方法
JPH11143844A (ja) ネットワークノード間を移動するメッセージに対する遠隔割り当て及び管理用システム及び方法
KR920009449B1 (ko) 공통 버스제어방법 및 시스템
JP3027369B2 (ja) ネットワークシステム、帯域管理装置、送信装置およびネットワーク伝送方法、帯域管理方法、送信方法
EP0547991A2 (en) Adaptive method for starting tasks in a multi-tasking operating system
US20020144031A1 (en) Method and apparatus for budget development under universal serial bus protocol in a multiple speed transmission environment
JP2006079495A (ja) ストレージシステム及び論理区画の設定方法
JPH07253960A (ja) マルチプロセッサシステムにおけるipl方式
JP2001195268A (ja) サービスレベルによる資源割当方式
JPH1040194A (ja) 通信制御装置の受信バッファ制御システム
US20040064580A1 (en) Thread efficiency for a multi-threaded network processor
JP3299294B2 (ja) メモリブロック制御方式
US20050141516A1 (en) Method and apparatus for using dual free link lists to manage packet memory
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JP2002033739A (ja) 通信制御装置および方法
CN108009005A (zh) 一种线程池管理方法及装置
JP2558370B2 (ja) バッファ管理方式
JP3206580B2 (ja) Dmaデータ転送制御方法及び入出力処理装置
JPH09305479A (ja) 記憶装置の動的記憶領域管理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20031007