JP2566719B2 - データ通信インタフエース及びその動作方法 - Google Patents

データ通信インタフエース及びその動作方法

Info

Publication number
JP2566719B2
JP2566719B2 JP5079050A JP7905093A JP2566719B2 JP 2566719 B2 JP2566719 B2 JP 2566719B2 JP 5079050 A JP5079050 A JP 5079050A JP 7905093 A JP7905093 A JP 7905093A JP 2566719 B2 JP2566719 B2 JP 2566719B2
Authority
JP
Japan
Prior art keywords
queue
processing
ordered
response
communication interface
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 - Lifetime
Application number
JP5079050A
Other languages
English (en)
Other versions
JPH06103218A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06103218A publication Critical patent/JPH06103218A/ja
Application granted granted Critical
Publication of JP2566719B2 publication Critical patent/JP2566719B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ通信インタフエー
ス及びその動作方法に関し、特に1つ又は2つ以上の通
信チヤネルに跨るデータ処理システム間のデータ通信イ
ンタフエースについて、複数の通信チヤネルに跨るデー
タ処理システム間におけるデータパケツトの受信及び送
信に関する処理をスケジユールする際に適用して好適な
ものである。さらに本発明はデツドロツク状況の発生を
回避しながら、データ通信インタフエースにおける処理
と関連した通信の動作を効率的にする。
【0002】
【従来の技術】ホストコンピータと幾つかの入出力装置
すなわち通信チヤネルとの間の通信を制御する、マイク
ロプロセツサを基礎にしたデータ通信インタフエース
は、チヤネルを通つて入力される入力データパケツト、
1つ又は2つ以上のホストコンピユータのアプリケーシ
ヨンからの出力パケツト又はメツセージ並びに通常共用
メモリ又はシステムメモリの共用域を介してのデータ通
信インタフエース及びホストコンピユータ間の通信を処
理する。通常、通信チヤネルを介してのデータの伝送は
非同期的である。すなわち、並列に配置されているチヤ
ネルの活動状態に関係なく同時にすべてのチヤネルにメ
ツセージが入力されるということである。
【0003】データ通信インタフエースは、同時にアク
テイブ状態にある幾つかの通信チヤネルを処理し、高デ
ータ転送速度で動作することに加えて、メッセージをコ
ンピユータの動作に同期化するのを援助したり、状況メ
ツセージを送つたり、エラー検出動作を実行することを
含む通信処理に伴う多数の義務を有する。データ通信イ
ンタフエースが実行する種々のタスクには、例えば入力
データパケツトの受信確認などがあり、この受信確認は
データ通信プロトコルで指定されたタイムアウト期間内
で実行されるか又はホストコンピユータの目的のために
或最大期間内でホストデータ処理システムに転送されな
ければならない。またホストコンピユータの要求に即座
に応答して、例えば出力メツセージを処理することは望
ましいことである。
【0004】
【発明が解決しようとする課題】データ通信インタフエ
ースのプロセツサには種々のタスクが課されるので、こ
れらの要求が競合するのは明白である。この結果そのそ
れぞれの要求期間に処理を処理し損ない、データパケツ
トを繰返し要求するすなわちデータパケツトを再度デイ
スパツチすることになる。この問題に加え遅延それ自体
は通信チヤネルにおける通信量を増加させると共に、デ
ータ通信インタフエースにおけるデツドロツクの可能性
を高める。
【0005】従つてデータ通信インタフエースがタスク
を処理するシーケンスはこのデータ通信インタフエース
の効率に直接影響を与える。非効率的なシーケンスはロ
ードが最高になる時点又は高エラー率に遭遇したときに
デツドロツクを発生させる。動作の順序付けの制御を改
善せずに、データ通信インタフエースのプロセツサを一
段とパワフルかつ高速にすることに頼るとデバイスのコ
ストは増加し、サービスの点で失望することが分かる。
【0006】従つて本発明の目的はデータ処理システム
及び1つ又は2つ以上の通信チヤネル間に改善されたデ
ータ通信インタフエースを提供することである。
【0007】本発明の他の目的はデータ処理システム及
び複数の通信チヤネル間におけるデータパケツトの受信
及び送信に関する処理をスケジユールするシステム及び
方法を提供することである。
【0008】本発明の他の目的はデツドロツクの発生を
回避しながら、データ通信インタフエースにおける処理
と関連した通信を効率的にデイスパツチするシステム及
び方法を提供することである。
【0009】
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、ホストデータ処理システム54及
び少なくとも1つの第1のデータ通信チヤネル52
(A)〜52(N)間に配置されたデータ通信インタフ
エース58を動作させる方法において、データ通信イン
タフエース58はプロセツサ64を有し、通信コントロ
ーラ72〜78は各通信チヤネル52(A)〜52
(N)と結合し、当該方法は、(A)データ通信インタ
フエース58が実行する処理を順序付けるステツプと、
(B)第1番目に順序付けられた処理を実行し得るか否
かを判定するステツプと、(C)判定ステツプ(B)に
おいて肯定結果が得られたときには、第1番目に順序付
けられた処理を実行するステツプと、(D)判定ステツ
プ(B)において否定結果が得られたときには、順序付
けステツプ(A)において順序付けられた処理の入力の
最後尾に第1番目に順序付けられた処理をエントリとし
て付加し、次のエントリが第1番目に順序付けられた新
しい処理になるようにプロモートするステツプと、
(E)順序付けられたすべての処理が実行し得る処理と
して評価されるまで、判定ステツプ(B)からステツプ
(D)までを反復するステツプとでなる、データ通信イ
ンタフエース58によつて実行されるステツプを含むよ
うにする。
【0010】また本発明においては、ホストデータ処理
システム54及び複数のデータ通信チヤネル52(A)
〜52(N)間に配置されたデータ通信インタフエース
58を動作させる方法において、データ通信インタフエ
ース58はプロセツサ64及び複数の通信コントローラ
72〜78を有し、各通信コントローラ72〜78は複
数の通信チヤネル52(A)〜52(N)のうちの1つ
と結合し、当該方法は、(A)ホストデータ処理システ
ム54及び複数の通信コントローラ72〜78からの要
求に応答して処理を通知するステツプと、(B)処理の
通知を監視するステツプと、(C)処理の通知の検出に
応答して、当該処理がホストデータ処理システム54に
よる要求に応答して通知されたか否かを判定するステツ
プと、(D)判定ステツプ(C)において肯定結果が得
られると、当該処理を実行し得るか否かを判定するステ
ツプと、(E)判定ステツプ(D)において肯定結果が
得られると、当該処理を実行するステツプと、(F)処
理はホストデータ処理システム54による要求に応答し
て通知されたが実行し得なかつたとき、当該処理を待ち
行列の最後尾に付加するステツプと、(G)待ち行列内
の第1番目に順序付けられた処理を実行し得るか否かを
判定するステツプと、(H)第1番目に順序付けられた
処理を実行し得るとき、当該第1番目に順序付けられた
処理を実行し、もしあれば待ち行列の次の処理を第1番
目に順序付けて先の第1番目に順序付けられた処理と取
り換えるステツプと、(I)第1番目に順序付けられた
処理を実行し得ないとき、当該第1番目に順序付けられ
た処理を待ち行列の最後尾に移動させ、もしあれば待ち
行列の次の処理を第1番目に順序付けて先の第1番目に
順序付けられた処理と取り換えるステツプとでなる、デ
ータ通信インタフエース58によつて実行されるステツ
プを含むようにする。
【0011】また本発明においては、ホストデータ処理
システム54及び複数の通信チヤネル52(A)〜52
(N)間の通信を処理するデータ通信インタフエース5
8において、ホストデータ処理システム54及び複数の
通信チヤネル52(A)〜52(N)からの要求に応答
して処理を通知する手段と、処理の通知の検出に応答し
て、当該処理がホストデータ処理システム54から発信
さたか否かを判定する手段と、処理の通知がホストデー
タ処理システム54から発信されたという肯定結果に応
答して、当該処理を実行し得るか否かを判定する手段
と、当該処理を実行し得るという肯定結果に応答して、
当該処理を実行する手段と、処理がホストデータ処理シ
ステム54から発信されたが実行し得なかつたという判
定に応答して、当該処理を待ち行列の最後尾に付加する
手段と、待ち行列内の第1番目に順序付けられた処理を
実行し得るか否かを判定する手段と、第1番目に順序付
けられた処理を実行し得るという判定に応答して、第1
番目に順序付けられた処理を実行し、もしあれば上記待
ち行列の次の処理を第1番目に順序付けて先の第1番目
に順序付けられた処理と取り換える手段と、第1番目に
順序付けられた処理を実行し得ないという判定に応答し
て、当該第1番目に順序付けられた処理を待ち行列の最
後尾に移動させ、もしあれば待ち行列の次の処理を第1
番目に順序付けて先の第1番目に順序付けられた処理と
取り換える手段とを設けるようにする。
【0012】
【作用】上述の目的は以下に述べるように達成する。デ
ータ処理システム及び複数の通信チヤネル間の通信を処
理するデータ通信インタフエースを動作させるシステム
及び方法を提供する。この方法はデータ処理システム及
び複数の通信チヤネルからのタスクの通知を監視する。
タスクの通知の検出に応答して、このタスクがホストデ
ータ処理システムによつて通知されたか否かを判定す
る。タスクがホストデータ処理システムから通知された
とき、処理を即座に実行すべき状況にあるか否を判定す
る。肯定結果に応答してこの処理が実行される。タスク
がホストデータ処理システムから通知されたが実行し得
なかつたという判定に応答して、この処理はデータ通信
インタフエースが実行する処理についての待ち行列の最
後尾に付加される。次にこの待ち行列内の第1番目に順
序付けられたエントリがその実行可能性についてテスト
される。実行し得るとき、この第1番目に順序付けられ
た処理は実行され、もしあればこの待ち行列の次のタス
クを第1番目に順序付けられたタスクとして先に第1番
目に順序付けられた処理と置き換える。第1番目に順序
付けられた処理を実行し得ないとき、これは待ち行列の
最後尾に移動され、もしあればこの第1番目に順序付け
られた処理を待ち行列の次の処理と置き換える。幾つか
の各通信チヤネルの割込みハンドラは必要なときにこの
待ち行列の最後尾にタスクを付加する。
【0013】
【実施例】以下図面について、本発明の一実施例を詳述
する。
【0014】図1は大型のデータベースを管理する自動
カートリツジライブラリ31を示す。この自動カートリ
ツジライブラリ31においてデータは磁気テープに記憶
される。各磁気テープはプラステイツクカートリツジ内
にハウジングされることにより保護され、ロボツトピツ
カに便利な処理機構を与える。自動カートリツジライブ
ラリ31は複数のモジユール32を含み、各モジユール
は複数のマガジンホルダ33でなる。各マガジンホルダ
は複数の記憶スロツトから構成され、各記憶スロツトは
その中に磁気テープカートリツジを格納することができ
る。また自動カートリツジライブラリ31は例えばコン
トローラ34及びテープドライブ35を有する IBM3490
型又はIBM3490E型磁気テープサブシステムのような少な
くとも1つのテープ装置を含む。ロボツト36はこれに
取り付けられたグリツパ/ビジヨンアツセンブリ41を
有し、アウトリガーレール42及びガイドレール45上
を移動することにより、記憶スロツト33及びテープド
ライブ35間にテープカートリツジを移す。ロボツト3
6はそれが人間のように動作し得るという点で人間に似
ている。適正な擬人化ロボツト36はフアナツク社によ
つて製造されたGMFS-10型ロボツトである。ロボツト3
6には1つのグリツパ/ビジヨンアツセンブリ41が描
かれているが、このようなアツセンブリを2つ又は3つ
以上設けてもよく、これによりロボツト36は例えばテ
ープドライブ35からテープカートリツジを取り外した
り、テープカートリツジを取り付けたりするような2つ
又は3つ以上の動作を単一の場所で実行することができ
る。
【0015】自動カートリツジライブラリ31に取り付
けられたロボツトコントローラ37がロボツト36に命
令する。ロボツト36のためのサービスベイ43は自動
カートリツジライブラリ31の一端に配置されている。
サービスベイ43はロボツト36が使用されてないとき
又はロボツト36を修理するときのためのパーキング空
間として機能する。オペレータアクセスベイ44が自動
カートリツジライブラリ31の他端に設けられることに
よりこれを介して修理人が入ることができる。修理人が
内部にアクセスし得る遠隔端末ベイ38は自動カートリ
ツジライブラリ31に取り付けられている。ライブラリ
マネージヤ39が自動カートリツジライブラリ31に接
続されることによりロボツト36を制御する。本発明に
よつて提供される通信動作はライブラリマネージヤ39
内に存在する。ライブラリマネージヤ39にはIBM PS/
2パーソナルコンピユータが用意される。
【0016】自動カートリツジライブラリ31は新たな
テープカートリツジを格納するか又はアクセス時間を改
善するように拡張することができる。記憶容量を増大さ
せるためにモジユール32をさらに付加することができ
る。次にロボツト36がさら移動し得るように新たにア
ウトトリガレール42及びガイドレール45を付加しな
ければならない。またオペレータアクセスベイ44を第
2のサービスベイ43と取り換えて第2のロボツトを配
置するようにしてもよい。また入出力ポート(図示せ
ず)を利用することにより、オペレータはテープカート
リツジを自動カートリツジライブラリ31に付加するか
又はテープカートリツジを自動カートリツジライブラリ
31から取り外すことができる。1群のテープカートリ
ツジが入力ポートに挿入されると、テープカートリツジ
を識別し、適宜これらを移動させるようにロボツト36
に命令することができる。同様に、オペレータはロボツ
ト36が出力ポートに以前に挿入したテープカートリツ
ジを移動するようにプロモートされる。
【0017】図2はテープライブラリ31に設けられた
ような1つ若しくは2つ以上のテープドライブ又はデイ
スクドライブ、モデム若しくは他の周辺装置と通信する
データ処理システム50を示し、この他の周辺装置は1
つ又は2つ以上の入出力通信チヤネル52(A)〜52
(N)に接続された複数のRS-232直列データポートを通
る。データ処理システム50は好適にはIBM PS/2パー
ソナルコンピユータであり、このパーソナルコンピユー
タは分離システムバスによつて特徴付けられ、この分離
システムバスには(すべてホストシステム54の一部と
して)中央処理装置53(インテル社 80386型又はイン
テル社 80486型マイクロプロセツサ)及びシステムメモ
リ55が接続され、通常入出力バス56はビデオ表示シ
ステム、プリンタ及びこの実施例ではデータ通信インタ
フエース58に接続されている。データは共用メモリ6
0を介してデータ通信インタフエース58及びホストシ
ステム54間で交換され、共用メモリ60は分離システ
ムバス及び入出力バス56の両方に接続されている。デ
ータ通信インタフエース58は複数の各通信チヤネル5
2(A)〜52(N)及び入出力バス56に直接接続さ
れ、この通信チヤネルからのデータパケツトの受信と通
信チヤネルへのデータパケツトの送信を実際に制御す
る。データを外部装置と交換するためにデータ通信イン
タフエース58を利用する少なくとも1つのアプリケー
シヨンプログラム62はシステムメモリ55に存在す
る。
【0018】図3はデータ通信インタフエース58のブ
ロツク図を示す。データ通信インタフエース58はそれ
自身マイクロプロセツサ64を有し、好適にはインテル
社の80186型マイクロプロセツサが好ましい。マイクロ
プロセツサ64は内部バス66を介してデータ通信イン
タフエース58の他の構成要素と通信するように接続さ
れている。また内部バス66は読出し専用メモリ(RO
M)に接続され、このROMはマイクロコードを含み、
このマイクロコードを利用してデータ処理システム50
のパワーアツプに基づいてデータ通信インタフエース5
8を初期化する。メモリ70は内部バス66に接続され
ることにより、本発明のシステム及び方法が実行するプ
ロセスを実行中に記憶する共に、このプロセスを実行す
る際に利用されるデータ構造をサポートする。好適な実
施例におけるメモリ70は 512kバイトのデータ記憶容
量をもつている。データ処理システム50のパワーアツ
プに基づいてホストシステム54はメモリ70にプログ
ラムをロードすることによりこのプロセスを初期化す
る。
【0019】データ通信インタフエース58は内部バス
66に接続された4つの通信コントローラ72、74、
76及び78を含む。各通信コントローラ72〜78は
2つのRS-232ポート又はRS-422ポートを有し、これによ
り各通信コントローラを介して2つのチヤネルと通信す
ることができる。通信コントローラ72〜78はZilog
8030型通信コントローラでもよい。最後に、共用記憶域
インタフエースコントローラ80は内部バス66及び入
出力バス56間に接続されることにより、マイクロプロ
セツサ64による入出力バス56及び共用メモリ60へ
のアクセスを制御する。共用記憶域インタフエースコン
トローラ80はホストシステム54からデータ通信イン
タフエース58に割込み信号を送つたり、データ通信イ
ンタフエース58からホストシステム54に割込み信号
を戻したりしてデータ通信インタフエース58による共
用メモリ60へのアクセスを制御する。
【0020】図4は本発明のシステム及び方法の実施を
サポートする、メモリ70に存在するプログラムモジユ
ール及びデータ構造のブロツク図である。メイン通信タ
スク20はデータ処理システムにおいて本発明を実施す
る方法についての命令を含む。メイン通信タスク20は
フラグポステイングブロツク82内のエントリを周期的
にテストする。フラグは外部事象に応答してセツトされ
る。フラグは選択された動作を開始するためのプロセツ
サ64のアテンシヨンを必要とする。
【0021】例えばホストシステムによる要求又は通信
チヤネルを介してのデータパケツトすなわちメツセージ
の到着などの外部事象は幾つかの各割込みハンドラによ
つて登録され、この割込みハンドラは内部バス66を介
して通信コントローラ72〜78のうちの1つの通信コ
ントローラからの信号及びアクセスコントローラ80か
らの信号に応答する。受信割込みハンドラ、送信割込み
ハンドラ及びエラー割込みハンドラにはデータ通信イン
タフエースによつて制御されるチヤネルがそれぞれ用意
される。受信割込みハンドラは、通信チヤネルを通つた
データパケツトを通信コントローラが受信すると応答す
る。送信割込みハンドラは、通信コントローラが送信の
用意ができたという指示に応答する。エラー割込みハン
ドラは、通信チヤネル又はそれに結合した通信コントロ
ーラにおけるエラー状態を識別するために利用される。
【0022】好適な実施例においては、8個のチヤネル
が各インタフエースカードによつて制御され、従つて受
信パケツトバツフア及び送信パケツトバツフアが結合さ
れた8組の割込みハンドラが設けられている。チヤネル
0には受信割込みハンドラ86(A)、送信割込みハン
ドラ86(B)及びエラー割込みハンドラ86(C)が
結合され、これによつてチヤネル0のための通信コント
ローラが発生した割込み信号を処理する。チヤネル1に
は受信割込みハンドラ88(A)、送信割込みハンドラ
88(B)及びエラー割込みハンドラ88(C)が結合
される。チヤネル7には受信割込みハンドラ90
(A)、送信割込みハンドラ90(B)及びエラー割込
みハンドラ90(C)が結合される。ホスト処理システ
ムにはホスト割込みハンドラ84が結合されており、ホ
スト割込みハンドラ84はアクセスコントローラ80を
介して与えられた割込み信号に応答する。
【0023】割込みハンドラの機能はメイン通信タスク
20が検出するためのフラグをフラグポスティングブロ
ツク82に通知することである。さらに、受信割込みハ
ンドラ、送信割込みハンドラ及びエラー割込みハンドラ
は必要な処理についてのエントリを先入れ先出し(FI
FO)待ち行列92に作成し、処理はメイン通信タスク
20の制御の下にこの待ち行列に表示されている順序で
実行される(実行し得るならば)。ホスト割込みハンド
ラ84によつて識別される処理はメイン通信タスク20
による検出に基づいて共用メモリ60から取り出され、
実行し得るならばこの検出に基づいて即座に実行され
る。かくしてデータ通信インタフエース58は、実行し
得るならばホストシステムの要求に基づいて即座に動作
し、通信チヤネルからのタスクをキユーする。
【0024】各受信割込みハンドラ及び送信割込みハン
ドラにはメモリの予約エリアが結合されており、この予
約エリアがデータパケツトのためのバツフア空間を提供
する。例えば、受信割込みハンドラ86(A)には受信
パケツトバツフア94(A)が結合され、これによりメ
イン通信タスク20がデータパケツトの適正な部分をホ
ストシステムに転送することができるまで、通信チヤネ
ル0を介して受信されたばかりのデータパケツトを格納
する。送信割込みハンドラ86(B)は送信パケツトバ
ツフア94(B)を有し、これによりホストシステムか
らのアウトバウンドデータパケツトを格納する。受信パ
ケツトバツフア96(A)及び98(A)はそれぞれ受
信割込みハンドラ88(A)及び90(A)と結合され
る。送信パケツトバツフア96(B)及び98(B)は
それぞれ送信割込みハンドラ88(B)及び90(B)
と結合される。
【0025】割込みハンドラはメイン通信タスク20の
実行中に割り込んで実行される。メモリ70には通信に
関する特定のコマンドすなわち処理を実行するモジユー
ルが別に存在するが、これらの処理が本発明に関連する
のは、これらの処理を呼び出したときに、種々のシステ
ム構成要素の状態次第ではこれらの処理を実行し得る又
は実行し得ないという限りにおいてだけである。このよ
うな状況指示には共用メモリ60の利用可能性又はある
通信チヤネル若しくは他の通信チヤネルにおける通信量
の存在を含む。例えば、チヤネルを介してデータを伝送
する必要がある処理は、現在データが同じチヤネルを介
して伝送されている間は実行できない。
【0026】図5はメイン通信タスク20のプロセスを
示すフローチヤートである。このプロセスは、パワーア
ツプしてホストシステムからのプロセスをロードした後
に始まる。ステツプ100を実行して、フラグポスティ
ングブロツク82をテストすることによりホストシステ
ムの実行又は処理と関連した通信についての要求を指示
するセツトフラグが存在するかを判定する。次にステツ
プ102を実行することにより、フラグがホストシステ
ム上を走るアプリケーシヨンすなわちホストシステムの
要求によつて通知されたか否かを判定する。上述のよう
に好適な実施例において、ホスト割込みハンドラ84は
ホストシステムからの要求をキユーしない。フラグがホ
ストシステム上を走るアプリケーシヨンすなわちホスト
システムの要求によつて通知されたとき、ステツプ10
4に進んで要求された処理を実行し得るか否かを判定す
る。処理を実行し得るとき、この処理を実行する適正な
ルーチンはステツプ106の実行と共に呼び出される。
ステツプ104において処理を実行し得ないと判定され
ると、ステツプ108に進んでホストコマンドを待ち行
列92の最後尾に入力する。
【0027】ステツプ106若しくはステツプ108を
完了するか又はステツプ102において否定結果を得る
とステツプ110に進む。ステツプ110を利用するこ
とにより待ち行列92に入力されたすべての処理に亘つ
てDO−ループを開始する。ステツプ112において待
ち行列92内の第1番目に順序付けられたエントリが取
り出される。ステツプ114において、この第1のエン
トリによつて指示された処理を実行し得るか否かを判定
する。この処理を実行し得ないとき、ステツプ118を
実行することによりこの処理を新しいエントリとして待
ち行列の最後尾に戻し、その処理が使用していた元の待
ち行列のエントリのバツフアを開放し、ステツプ100
に戻つた後、メイン通信タスクが検出するためのフラグ
をフラグポステイングブロツク82に通知する。このフ
ラグはタスクが待ち行列に存在することを示す。この処
理を実行し得るとき、ステツプ114からステツプ11
6に進み、ステツプ116を利用することにより処理を
直接実行し、次の待ち行列のエントリを先に進める。ス
テツプ116及びステツプ118の両方からステツプ1
20に進み、ステツプ110において検出された待ち行
列92内のエントリ数に対応する数の処理が評価されて
いるかどうかを判定するためにステップ120が実行さ
れる。否定結果が得られると、このプロセスはステツプ
112にループバツクする。すべてのエントリが一度テ
ストされると、このプロセスはステツプ100に戻る。
メイン通信タスク20のプロセスは割込みを受けるの
で、このプロセスを実行中に、割込みハンドラと関連し
たチヤネルのうちの1つ又はホスト割込みハンドラのい
ずれかから新しい処理が通知されてもよい。
【0028】図6はメイン通信タスク80の処理中に幾
つかの割込みハンドラのうちの1つを並列に実行するこ
とにより生ずる待ち行列92の更新を示す。エントリ2
00(1)〜200(N)は図5のステツプ110での
ループの開始時における待ち行列の状態を表す。エント
リ200(1)は処理された状態で示されている。エン
トリ200(1)を実行中、割込みハンドラはエントリ
202(1)をこの待ち行列に付加する。エントリ20
0(2)は処理できないので、エントリ202(1)の
後ろにエントリ202(2)として再度キユーされる。
キユーされた各エントリについて順次同様のステツプを
実行すると共に、実行し得る処理は実行され、実行し得
ない処理が存在すると判定されたときにはこれを待ち行
列の最後尾に再度キユーする。
【0029】幾つかの通信チヤネルを単一のプロセツサ
を基礎にしたインタフエースによつて動作させるとき、
第1の目標はこの通信チヤネルに受信された入力データ
パケツトの損失を回避することである。本発明は入力デ
ータパケツトを逐次化し、各入力データパケツトについ
ての低レベルでの受信確認を最小遅延で生成しかつ入力
データパケツトの適正な部分をホストシステムに効率的
に転送することによつてこれを達成する。出力パケツト
は、他のホストシステムの要求がそうであるようにこの
要求の逐次処理に従つて最小の遅延で形式化されて送信
される。
【0030】逐次化は待ち行列を用いることによつて達
成され、待ち行列のエントリは通信コントローラ装置の
割込みをサービスする送信割込みハンドラ、受信割込み
ハンドラ及びエラー割込みハンドラによつて満たされ
る。また待ち行列内のエントリは、それが即座に完了し
得ない処理である場合には通信プロセツサのメインタス
クそれ自身が作成してもよい。
【0031】一般に通信プロセツサは実時間実行部の制
御の下に1つ又は2つ以上のタスクを実行することがで
きる。通常このタスクは入力パケツト及び受信確認を受
信したときに割込みハンドラが通知する。新しいエント
リが待ち行列に付加されるごとにタスクを通知してこれ
をスケジユールすることにより、このエントリを処理し
なければならない。他方、パケツトの送信及び実行すべ
き他の処理についてのホストコマンドは、通常共用メモ
リのウインドウ内のデータ又は割込み機構に従うバス仲
裁プロセスによつてアクセスされる共通メモリ内のデー
タと共に、この割込み機構によつてホストインタフエー
スを横切つて通信プロセツサに送られる。通常この割込
み機構は実時間実行部によつて制御され、通信タスクに
通知されることによりホストコマンドを処理する。
【0032】上述のように本発明をその最適な実施例に
基づいて図示、説明したが、本発明の精神及び範囲から
脱することなく詳細構成について種々の変更を加えても
よい。
【0033】
【発明の効果】本発明のシステム及び方法は最初に生じ
たときに完了し得ない必要な処理を最も早期に有用に再
実行させる。本発明の方法によつて確立されたシーケン
スはキユーイングを1つの技術として利用することを特
徴とする。丁度一巡したときに(すなわちN個のエント
リ後は停止することによつて)待ち行列全体を評価する
ことによつて、(1)待ち行列の処理が開始された後に
到達した新しいホストコマンドが最小遅延で処理される
ように評価されること、(2)要求されたエントリは即
座に再実行されないので他のすべての処理が実行される
まで、無駄な再実行が回避されること、(3)割込みハ
ンドラからの新しいエントリには保留になつているホス
トコマンド又は前に要求されたエントリを上回る優先順
位が与えられることが保証される。
【図面の簡単な説明】
【図1】図1は擬人化ロボツトピツカを有する自動記憶
ライブラリを示す斜視図である。
【図2】図2は本発明のシステム及び方法を実施する際
に用いられるデータ処理システムを示す高レベルのブロ
ツク図である。
【図3】図3は本発明のシステム及び方法を利用する際
に用いられるデータ通信インタフエースを示すブロツク
図である。
【図4】図4は本発明のシステム及び方法を実施するプ
ログラムを編成するデータ構造を示すブロツク図であ
る。
【図5】図5は本発明のシステム及び方法を実施するプ
ログラムの高レベルの論理的フローチヤートである。
【図6】図6は本発明のシステム及び方法の動作に従つ
て待ち行列内の処理の状態の例を示すブロツク図であ
る。
【符号の説明】
20……メイン通信タスク、31……自動カートリツジ
ライブラリ、32……モジユール、33……マガジンホ
ルダ、34……コントローラ、35……テープドライ
ブ、36……ロボツト、37……ロボツトコントロー
ラ、38……遠隔端末ベイ、39……ライブラリマネー
ジヤ、41……グリツパ/ビジヨンアツセンブリ、42
……アウトリガーレール、44……オペレータアクセス
ベイ、45……ガイドレール、50……データ処理シス
テム、53……中央処理装置、54……ホストシステ
ム、55……システムメモリ、56……入出力バス、5
8……データ通信インタフエース、60……共用メモ
リ、62……アプリケーシヨンプログラム、64……マ
イクロプロセツサ、66……内部バス、70……メモ
リ、72〜78……通信コントローラ、80……共用記
憶域インタフエースコントローラ、82……フラグポス
テイングブロツク、84……ホスト割込みハンドラ、8
6(A)、88(A)、90(A)……受信割込みハン
ドラ、86(B)、88(B)、90(B)……送信割
込みハンドラ、86(C)、88(C)、90(C)…
…エラー割込みハンドラ、94(A)、96(A)、9
8(A)……受信パケツトバツフア、94(B)、96
(B)、98(B)……送信パケツトバツフア、92…
…FIFO待ち行列。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】ホストデータ処理システム及び複数のデー
    タ通信チヤネル間に配置されたデータ通信インタフエー
    スを動作させる方法において、前記データ通信インタフ
    エースはプロセツサ及び複数の通信コントローラを有
    し、各通信コントローラは前記複数の通信チヤネルのう
    ちの1つと結合し、前記方法は、 (A)前記ホストデータ処理システム及び前記複数の通
    信コントローラからの要求に応答して該要求に必要な処
    理を通知するステツプと、 (B)前記処理の通知を監視するステツプと、 (C)処理の通知の検出に応答して、前記処理が前記ホ
    ストデータ処理システムによる要求に応答して通知され
    たか否かを判定するステツプと、 (D)前記処理が前記ホストデータ処理システムによる
    要求に応答して通知されたものであるとき、前記処理を
    実行し得るか否かを判定するステツプと、 (E)前記判定ステツプ(D)において肯定結果が得ら
    れると、前記処理を実行するステツプと、 (F)前記処理は前記ホストデータ処理システムによる
    要求に応答して通知されたが実行し得なかつたとき、又
    は前記処理が前記複数の通信コントローラによる要求に
    応答して通知されたものであるとき、前記処理を待ち行
    列の最後尾に付加するステツプと、 (G)前記待ち行列内の第1番目に順序付けられた処理
    を実行し得るか否かを判定するために前記第1番目に順
    序付けられた処理のみを調べるステツプと、 (H)前記第1番目に順序付けられた処理を実行し得る
    とき、前記第1番目に順序付けられた処理を実行し、前
    記待ち行列に次の処理があるならば、前記第1番目に順
    序付けられた処理を前記待ち行列の次の処理と置換する
    ステツプと、 (I)前記第1番目に順序付けられた処理を実行し得な
    いとき、前記第1番目に順序付けられた処理を前記待ち
    行列の最後尾に移動させ、前記待ち行列に次の処理があ
    るならば、該次の処理を前記第1番目に順序付けられた
    処理として置き換えるステツプとでなる、前記データ通
    信インタフエースによつて実行されるステツプを含むこ
    とを特徴とするデータ通信インタフエース動作方法。
  2. 【請求項2】前記待ち行列内のすべての処理が評価され
    るまで、前記第1番目に順序付けられた処理を実行し得
    るか否かを判定する前記判定ステツプ(G)から前記ス
    テツプ(I)までを繰り返し実行するステツプを含むこ
    とを特徴とする請求項1に記載のデータ通信インタフエ
    ース動作方法。
  3. 【請求項3】ホストデータ処理システム及び複数の通信
    チヤネル間の通信を処理するデータ通信インタフエース
    において、 前記ホストデータ処理システム及び前記複数の通信チヤ
    ネルからの要求に応答して該要求に必要な処理を通知す
    る手段と、 前記処理の通知の検出に応答して、前記処理が前記ホス
    トデータ処理システムから発信されたか否かを判定する
    手段と、 処理の通知が前記ホストデータ処理システムから発信さ
    れたという肯定結果に応答して、前記処理を実行し得る
    か否かを判定する手段と、 前記処理を実行し得るという肯定結果に応答する手段
    と、 前記処理が前記ホストデータ処理システムから発信され
    たが実行し得なかつたという判定、又は前記処理が前記
    複数の通信チャネルによる要求に応答して通知されたも
    のであるという判定に応答して、前記処理を待ち行列の
    最後尾に付加する手段と、 前記待ち行列内の第1番目に順序付けられた処理を実行
    し得るか否かを判定するために前記第1番目に順序付け
    られた処理のみを調べる手段と、 前記第1番目に順序付けられた処理を実行し得るという
    判定に応答して、前記第1番目に順序付けられた処理を
    実行し、前記待ち行列に次の処理があるならば、それを
    第1番目に順序付けて前記第1番目に順序付けられた処
    理と置き換える手段と、 前記第1番目に順序付けられた処理を実行し得ないとい
    う判定に応答して、前記第1番目に順序付けられた処理
    を前記待ち行列の最後尾に移動させ、前記待ち行列に次
    の処理があるならば、それを第1番目に順序付けられた
    処理として置き換える手段とを具えることを特徴とする
    データ通信インタフエース。
  4. 【請求項4】ホストデータ処理システム及び複数の通信
    チヤネル間の通信を処理するデータ通信インタフエース
    において、 実行のために前記待ち行列内のすべての処理を評価する
    手段を更に具えることを特徴とする請求項3に記載のデ
    ータ通信インタフエース。
JP5079050A 1992-04-20 1993-03-12 データ通信インタフエース及びその動作方法 Expired - Lifetime JP2566719B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87186592A 1992-04-20 1992-04-20
US07/871865 1992-04-20

Publications (2)

Publication Number Publication Date
JPH06103218A JPH06103218A (ja) 1994-04-15
JP2566719B2 true JP2566719B2 (ja) 1996-12-25

Family

ID=25358333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5079050A Expired - Lifetime JP2566719B2 (ja) 1992-04-20 1993-03-12 データ通信インタフエース及びその動作方法

Country Status (3)

Country Link
US (1) US5491824A (ja)
EP (1) EP0567283A1 (ja)
JP (1) JP2566719B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5875338A (en) * 1995-12-14 1999-02-23 International Business Machines Corporation Method and apparatus for arbitrating resource requests utilizing independent tokens for arbiter cell selection
US5923900A (en) * 1997-03-10 1999-07-13 International Business Machines Corporation Circular buffer with n sequential real and virtual entry positions for selectively inhibiting n adjacent entry positions including the virtual entry positions
US6769120B1 (en) 1999-06-30 2004-07-27 International Business Machines Corporation Calendar-induced program execution
US20040167662A1 (en) * 2003-02-24 2004-08-26 International Business Machines Corporation Expansion of an automated data storage system
US7848928B2 (en) * 2005-08-10 2010-12-07 Nuance Communications, Inc. Overriding default speech processing behavior using a default focus receiver
US8495261B2 (en) * 2008-12-12 2013-07-23 International Business Machines Corporation Redispatching suspended tasks after completion of I/O operations absent I/O interrupts
US9792232B2 (en) 2015-11-16 2017-10-17 International Business Machines Corporation Techniques for queueing interrupts in a data processing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3638198A (en) * 1969-07-09 1972-01-25 Burroughs Corp Priority resolution network for input/output exchange
US3735357A (en) * 1970-09-18 1973-05-22 Ibm Priority system for a communication control unit
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
SU1265772A1 (ru) * 1985-03-11 1986-10-23 Предприятие П/Я А-3517 Многоканальное устройство приоритета
SU1479930A2 (ru) * 1987-05-19 1989-05-15 Пушкинское высшее училище радиоэлектроники противовоздушной обороны Устройство дл организации очереди
US5361390A (en) * 1988-11-29 1994-11-01 International Business Machines Corporation Method for displaying and confirming the status of deferred system requests
US5155854A (en) * 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5239650A (en) * 1990-05-21 1993-08-24 International Business Machines Corporation Preemptive demount in an automated storage library
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines

Also Published As

Publication number Publication date
EP0567283A1 (en) 1993-10-27
JPH06103218A (ja) 1994-04-15
US5491824A (en) 1996-02-13

Similar Documents

Publication Publication Date Title
US5247671A (en) Scalable schedules for serial communications controller in data processing systems
US4864511A (en) Automated cartridge system
US4928245A (en) Automated cartridge system
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
EP1188119B1 (en) A method and apparatus for automatically transferring i/o blocks between a host system and a host adapter
US4543626A (en) Apparatus and method for controlling digital data processing system employing multiple processors
US6181705B1 (en) System and method for management a communications buffer
US4615001A (en) Queuing arrangement for initiating execution of multistage transactions
EP0419066A2 (en) Computer system having apparatus for asynchronously delivering control elements with a pipe interface
US7676610B2 (en) Device and method for optimization of target host device process handling according to the status and the priority of the target host device process
JPH0682347B2 (ja) 分散処理システム及び分散処理連携方法
JPH08241263A (ja) I/o要求処理計算機システム及び処理方法
JPH07311726A (ja) 計算システムおよび関連する方法
JP2566719B2 (ja) データ通信インタフエース及びその動作方法
EP0446077A2 (en) A control system for multi-processor system
US5737240A (en) Programmable hardware mailbox message technique and system
EP0287295A2 (en) Multiple I/O bus virtual broadcast of programmed I/O instructions
EP1891503B1 (en) Concurrent read response acknowledge enhanced direct memory access unit
EP0317468B1 (en) Bus flow control system
EP0052713B1 (en) A process management system for scheduling work requests in a data processing system
US5070477A (en) Port adapter system including a controller for switching channels upon encountering a wait period of data transfer
US4926324A (en) I/O control system and method
US6247093B1 (en) Data processing apparatus for executing synchronous instructions prior to executing asynchronous instructions
JPH04215160A (ja) 情報処理装置
JPH10320351A (ja) バッファ方式