JPH0685797A - 通信アダプタ - Google Patents

通信アダプタ

Info

Publication number
JPH0685797A
JPH0685797A JP5009800A JP980093A JPH0685797A JP H0685797 A JPH0685797 A JP H0685797A JP 5009800 A JP5009800 A JP 5009800A JP 980093 A JP980093 A JP 980093A JP H0685797 A JPH0685797 A JP H0685797A
Authority
JP
Japan
Prior art keywords
buffer
data
transfer
transmission
protocol
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
JP5009800A
Other languages
English (en)
Other versions
JP2729016B2 (ja
Inventor
Peter D Beal
ピーター・ダニエル・ビール
Karlheinz Dutke
カールハインツ・ドゥーケ
Brian W Noordyke
ブライアン・ウイリアム・ノルダイク
Michael L Shupert
マイケル・リー・シューパート
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 JPH0685797A publication Critical patent/JPH0685797A/ja
Application granted granted Critical
Publication of JP2729016B2 publication Critical patent/JP2729016B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Bidirectional Digital Transmission (AREA)

Abstract

(57)【要約】 【目的】 TWAプロトコルを有す第1の装置または通
信リンクとTWSプロトコルを有す第2の装置または通
信リンクとの間の通信アダプタを提供することである。 【構成】 データは、伝送バッファまたは受信バッファ
と第1の装置との間をどの方向に転送される場合も、伝
送バッファまたは受信バッファと第2の装置との間を同
じ方向に転送される場合よりも速い速度で転送される。
第1の装置と第2の装置との間で両方向への全体的な転
送速度を最適化するために、第2の通信リンクは、第1
の装置がデータを伝送バッファに伝送している間、第2
の装置からのデータで受信バッファが充填されてしまう
ことを防ぐことによって、また第1の装置が受信バッフ
ァからのデータを読んでいる間、第2の装置による読み
出しによって伝送バッファが空になることを防ぐことに
よってビジー状態を維持している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、広くは通信システムに
関し、特に、両方向交互または半二重通信リンクと両方
向同時または全二重通信リンクの間の通信アダプタを扱
うことに関する。
【従来の技術】
【0002】多くの通信リンクは、両方向交互(TW
A)または半二重プロトコルによって動作する。この場
合通信は、2つの装置の間で両方向に行なえるが異なる
時間帯に行なわれる。通常、2本の別々の伝導体の線路
が備えられ、一本づつがそれぞれの方向への通信に使用
される。他の通信リンクは、両方向同時(TWS)また
は全二重プロトコルによって動作し、この場合通信は両
方向に同時に行なわれる。2本の別々の伝導体の線路が
備えられ、一本づつがそれぞれの方向への通信に使用さ
れる。TWA及びTWSの双方のプロトコルについての
国際的な標準は、「高水準データリンク制御(HDL
C)」としてまとめられており、また類似のIBM標準
は、「同期データリンク制御(SDLC)」としてまと
められているものが知られている。IBM標準における
両者は、「同期データリンク制御コンセプト」と題する
マニュアルに詳細に記述されており、IBMから入手可
能である。どちらの形式の通信プロトコルも2つのコン
ピュータ間、1つのコンピュータと1つの通信装置間、
あるいは2つの通信装置間で使用できる。
【0003】IBMシステム/370あるいはIBMシ
ステム/390のようないくつかのコンピュータは、仮
想記憶通信アクセス方式(VTAM)プログラムを備
え、TWAプロトコルを有する。ある種の通信において
は、そのようなコンピュータ(あるいはTWAプロトコ
ルを有する他の装置)がTWSプロトコルを有する他の
装置と通信できることが望ましい。そのような場合、そ
の2つの装置間に通信アダプタが必要になる。
【0004】通常TWAコンピュータは、多数のビット
が横に並んだバスを介してデータを伝送したり受信した
りするが、一方TWS装置は、同時に1ビットを直列に
伝送したり受信したりする。結果的に、TWAコンピュ
ータは普通、TWS装置よりも速い速度でデータを伝送
及び受信することができる。
【0005】
【発明が解決しようとする課題】本発明の目的は、TW
Aプロトコルを有する第一の装置または通信リンクとT
WSプロトコルを有する第2の装置または通信リンクの
間の通信アダプタを提供することである。
【0006】本発明の別の目的は、全体のスループット
を最大にする、上記のような通信アダプタを提供するこ
とである。
【0007】本発明のさらに別の目的は、接続されてい
るどちらの装置も変更する必要がない、上記のような通
信アダプタを提供することである。
【0008】
【課題を解決するための手段】本発明は、両方向交互
(TWA)プロトコルを有する第1の装置と両方向同時
(TWS)プロトコルを有す第2の装置間を接続するた
めの通信アダプタに関する。この通信アダプタは、第2
の装置へ伝送するために第1の装置から受信したデータ
を記憶するための伝送バッファ、及び第1の装置へ伝送
するために第2の装置から受信したデータを記憶するた
めの受信バッファから構成される。この通信アダプタは
また、ホスト・インターフェース・プログラムとバス・
インターフェースを含み、それによって、TWAプロト
コルによる第1の通信リンクを介して伝送バッファ及び
受信バッファと第1の装置との間でデータを転送する。
さらにこの通信アダプタは、ライン・インターフェース
・プログラムと制御装置を含み、それによって、TWS
プロトコルによる第2の通信リンクを介して伝送バッフ
ァ及び受信バッファと第2の装置との間でデータを転送
する。
【0009】第1及び第2の装置間での両方向への全体
的な通信速度を最適化するために、第2の通信リンクは
次の手順によって両方向へのビジー状態が維持されてい
る。伝送バッファ及び受信バッファの充填レベルは、モ
ニターされている。第1の装置から伝送バッファへのデ
ータの転送は、受信バッファが予め決められたレベルま
で充填された時点で、第1の装置がまだ伝送バッファへ
転送する追加のデータを有している場合でも停止され
る。そして受信バッファから第1の装置へのデータの転
送が開始される。従って、受信バッファは第2の装置か
らの追加のデータを記憶するスペースをまだ維持してい
る。また、受信バッファから第1の装置へのデータの転
送は、伝送バッファが予め決められたレベルまで空いた
時点で停止され、第1の装置から伝送バッファへのデー
タの転送が開始される。従って、伝送バッファは第2の
装置へデータを伝送し続けることができる。
【0010】本発明の一態様によれば、第1の通信リン
クは並列であり、かつ第2の通信リンクは直列である。
従って、データは、伝送バッファあるいは受信バッファ
と第1の装置との間でどちらの方向へ伝送する場合で
も、伝送バッファあるいは受信バッファと第2の装置の
間で伝送する場合よりも、速く伝送することができる。
このことは、前記の最適化手順の必要性をさらに増すこ
とになる。
【0011】
【実施例】ここで図を参照して詳細を記述する。図1
は、既知の技術によるTWAプロトコルを有するホスト
・コンピュータ20、既知の技術によるTWSプロトコ
ルを有する遠隔装置22、及び本発明による通信アダプ
タ24を示している。通信アダプタ24は、内部の並列
バス26を介してホスト・コンピュータ24に構内で接
続されており、また(電気、光、あるいは衛星による)
直列伝送ライン28を介して遠隔装置22と接続されて
いる。直列伝送ライン28は、それぞれの末端にモデム
(図示せず)を任意に備えていても良い。通信アダプタ
24は、ホスト・コンピュータ20のTWAプロトコル
と遠隔装置22のTWSプロトコルとの間のインターフ
ェースを提供する。記述された典型例では、TWA及び
TWSプロトコルは、同期データリンク制御(SDL
C)のためのIBM規格によって規定されたものである
が、類似のHDLCあるいは他の工業規格によって規定
されたものでも良い。
【0012】例では、ホスト・コンピュータ20は、C
PU30及びVMまたはVSEオペレーティング・シス
テム31を備えたIBMシステム/370あるいはシス
テム/390コンピュータである。顧客アプリケーショ
ン・プログラム32はCPU30上で実行され、遠隔装
置22に対してデータの転送を要求する。この要求は、
通信アクセスプログラム34への呼出しの形で行なわ
れ、記述された例では、IBM仮想記憶通信アクセス方
法(VTAM)プログラムである。このVTAMプログ
ラムは、以下に注文番号と共に示したIBM社による、
入手可能な刊行物により詳細に記載されている。「ネッ
トワーク・プログラム製品一般情報」(GC30−33
50)、「ACF/VTAM一般情報要綱」(GC27
−9463)、及び「VTAM解析リファレンス」(L
Y30−5582)がある。「ネットワーク・プログラ
ム製品一般情報」の第2章は、ここで参照する。呼出し
に応答して、VTAMプログラム34は、システム/3
70あるいはシステム/390のアーキテクチャに従っ
てチャネル・プログラム40を起動する。このチャネル
・プログラムは、ホスト・コンピュータから遠隔装置へ
のデータの書込みを順序付けするための、一連の書込み
チャネル指令ワード(CCW)を含む。それぞれのチャ
ネル指令ワードがデータ・ブロックの書込みを順序付け
することによって、VTAMプログラム34は、顧客ア
プリケーション・プログラム32によって書込みを要求
された全てのデータを書込むために十分な書込みCCW
を(制限範囲内で)チャネル・プログラムの中に備える
ことになる。VTAMバッファ空間42は、顧客アプリ
ケーション・プログラムからのデータの書込みをするた
めのステージング領域として働く。顧客アプリケーショ
ン・プログラム32はまた、VTAMプログラムに対し
て、遠隔装置22からのデータを読取るように要求す
る。それに応答してVTAMプログラム34は、読取り
CCWをチャネル・プログラムに追加する。チャネル・
プログラムは、先のCCWに従う書込み及び読取り操作
の状況を要求する通信アダプタからの状況CCWによっ
て、終了する。
【0013】ホスト・コンピュータ20はまた、アダプ
タ・カード48を含み、それはシステム/370あるい
はシステム/390のアーキテクチャを持つ内部ホスト
・システム・バス49を、マイクロ・チャネル(R)・
バス・アーキテクチャーを持つバス26へと適合させ
る。アダプタ・カード48は、チャネル・プログラム4
0に続くホスト・コンピュータの内部ホスト・システム
・バス49からデータ・ブロックを受け取るバッファを
含み、そしてマイクロ・チャネル(R)・バス26及び
通信アダプタによって決められる時点と速度でそのデー
タを通信アダプタ24へ提供する。アダプタ・カード4
8については、以下及び米国の同時継続特許出願である
出願番号第341,503号、「1方の処理装置からあ
る速度でデータを受信し、そのデータを他の処理装置へ
伝送するために動的にパケット化する相互処理装置のバ
ッファ」にさらに詳細に説明されている。
【0014】通信アダプタ24は、伝送バッファ50、
受信バッファ51及び他の以下に詳細に記すハードウェ
アから構成される。そのハードウェアは、(1年以上前
から)部品番号53F2604あるいは53F2607
IBMポートマスタ・アダプタ/ハードウェアとして市
販されているものである。通信アダプタ24内のこのハ
ードウェアはまた、IBM刊行物「実時間インターフェ
ース・コプロセッサ、ポート・アダプタ/ハードウェア
技術資料」に記載されており、注文番号S33F−53
37でIBM社から入手できる。
【0015】伝送バッファ50は、遠隔装置22に伝送
するためにホスト・コンピュータ20からデータを受け
とり、受信バッファ51は、ホスト・コンピュータ20
によって受信されるために遠隔装置22からのデータを
受信する。通信アダプタ24はまた、ホスト・コンピュ
ータ20のTWAプロトコルを遠隔装置22のTWSプ
ロトコルへ適合させるために、本発明によってプログラ
ムされている。従って、通信アダプタ24は、ホスト
(あるいはTWAプロトコルを有すどのような通信装置
でも)のTWAプロトコルへのインターフェースを行な
うホスト・インターフェース・ルーチン52、及び遠隔
装置(あるいはTWSプロトコルを有すどのような通信
装置でも)のTWSプロトコルへのインターフェースを
行なうライン・インターフェース・ルーチン54を含ん
でいる。これら2つのルーチンは、以下に詳細に記述さ
れ、それぞれが基本的な、最適化機能を提供する。
【0016】ホスト・インターフェース・ルーチン52
の基本機能は、TWAプロトコルによって、書込みCC
Wに従ってホスト・コンピュータ20から伝送バッファ
50へのデータの転送を制御し、また読取りCCWに従
って受信バッファ51からホスト・コンピュータ20へ
のデータの転送を制御することである。ライン・インタ
ーフェース・ルーチン54の基本機能は、TWSプロト
コルによって、伝送バッファ50から遠隔装置22への
データの転送を制御し、また遠隔装置22から受信バッ
ファ51へのデータの転送を制御することである。
【0017】それぞれのルーチンの最適化機能は、以下
の理由のため、全ての時点において可能な限り両方向へ
の直列伝送ライン28を最大限に利用しようとする。並
列バス26を通ってデータの送られる(どちらの方向へ
でも)速度は、直列伝送ライン28を通って一方向へデ
ータの送られる速度よりもかなり速い。これは、並列バ
ス26が横に並んだ多数のビット(例えば16ビット)
であるのに対して、直列伝送ライン28は、それぞれの
方向のための単一の伝導体経路だからである。さらに、
直列伝送ライン28は、帯域幅が限られている場合があ
る。内部並列バス28を通って両方向へ交互にデータが
送られる速度は、直列伝送ライン28が両方向への同時
伝送によって完全に占有されるのに十分なほど高速であ
る。しかしながら、もしホスト・コンピュータ20が、
受信モードにおける操作への割込みを行なうことなく伝
送モードにおいて時間を過剰に費やし続けようとすれ
ば、伝送バッファはホスト・コンピュータからのデータ
で一杯になり、そのために並列バス26の使用を停止す
るか、あるいは受信バッファは遠隔装置からのデータで
一杯になり、そのために遠隔装置からデータを受信する
ための直列伝送ライン28の使用を停止してしまうこと
になる。同様に、もしもホスト・コンピュータ20が、
伝送モードにおける操作への割込みを行なうことなく受
信モードにおいて時間を過剰に費やし続けようとすれ
ば、受信バッファは空になり、それによって受信モード
における並列バス26の使用を停止してしまうことにな
る。また、伝送バッファも空になり、それによってデー
タを遠隔装置へ伝送するための直列伝送ライン28の使
用を停止してしまうことになる。これら4つの状態のど
の場合でも、起きる可能性があれば、全体のスループッ
トが制限されることになる。それらのルーチンの最適化
の部分は、それぞれのバッファの充填レベルをモニタし
ており、そして伝送バッファ50あるいは受信バッファ
51が、事前に決められたレベルを越えて充填されない
ように、また伝送バッファ50あるいは受信バッファ5
1が、事前に決められたレベル以下にならないようにホ
スト・コンピュータの伝送操作及び受信操作を処理す
る。従って、ホスト・コンピュータが書込みCCWに従
って伝送バッファへデータ・ブロックを伝送する毎に、
ホスト・インターフェース・ルーチンは伝送バッファ及
び受信バッファの充填レベルを検査し、もしも両者がそ
れぞれの事前に決められたレベルに達したならば、残り
の全ての書込みCCWが実行されているVTAMへ速や
かに応答することによって、チャネル・プログラム内の
残りの書込みCCWを「フラッシュ」する。その後、チ
ャネル・プログラムは読取りCCWへ進む。同様に、ホ
スト・コンピュータが読取りCCWに従って受信バッフ
ァからデータ・ブロックを読取る毎に、ホスト・インタ
ーフェース・ルーチンは伝送バッファ及び受信バッファ
の充填レベルを検査し、もしも両者がそれぞれの事前に
決められたレベルまで下がったならば、もう読取るべき
データが残っていないことをVTAMへ応答することに
よって、残りの読取りCCWをフラッシュする。これに
よって、チャネル・プログラムは続きの書込みCCWが
もしあるなら、そこへ速やかに進むことができる。チャ
ネル・プログラム内の最後のCCWは状況の要求であ
り、ホスト・インターフェース・ルーチンは、フラッシ
ュされた書込みCCWに相当するデータを再び送らなけ
ればならないことをVTAMへ応答する。VTAMは、
これを実行するため必要な書込みCCWを発生する。こ
のプロセスは、通信が行なわれている間連続的に繰り返
される。
【0018】どちらのルーチンの実行によっても、VT
AM34のコードあるいは遠隔装置の通信リンクを変更
する必要がないことは、重要である。データがホスト・
コンピュータ20から伝送バッファ50へ、また受信バ
ッファ51からホスト・コンピュータ20へTWAプロ
トコルによって交互に伝送される一方、データは遠隔装
置22と(直列伝送ライン28を介して)伝送バッファ
50及び受信バッファ51との間を同時に両方向にTW
Sプロトコルによって伝送される。どちらのバッファも
一杯あるいは空になっていない場合、遠隔装置22から
受信バッファへの伝送の時点は遠隔装置によって決定さ
れ、伝送バッファから遠隔装置への伝送の時点は、ライ
ン・インターフェース・ルーチンによって決定される。
【0019】図2は、通信アダプタ24をより詳細に示
したものである。RAM140内に配置されている伝送
バッファ50及び受信バッファ51の他に、通信アダプ
タ24は、RAM140のためのRAM制御装置14
2、マイクロ・チャネル(R)・バス26のためのバス
・インターフェース144、ホスト・インターフェース
・ルーチン及びライン・インターフェース・ルーチンを
実行するCPU146から構成される。RAM制御装置
142及びバス・インターフェース144は、マイクロ
・チャネル(R)・バス26及びアダプタ・カード48
を介した伝送バッファ50及び受信バッファ51とVT
AM34との間のデータの転送を比較的低いレベルにお
いて制御する。より高いレベルの制御は、CPU146
で実行されるホスト・インターフェース・ルーチンによ
って行なわれる。通信アダプタ24はまた、直列伝送ラ
イン28への低レベルのインターフェースを行なう二重
汎用直列通信制御装置(DUSCC)148を含む。つ
まり、DUSCC148は、全二重チャネル、SDLC
プロトコル・サポート、NRZ及びNRZIデータ符号
化、及びCRCの検査と発生を行なう。通信アダプタ2
4はまた、DMA/周辺インターフェース150を含
み、これは伝送バッファ及び受信バッファ内に記憶され
ているデータをDUSCC148へ、またDUSCCA
48から転送するために伝送バッファ及び受信バッファ
へ直接メモリアクセス(DMA)を行なうためのもので
ある。カウンタ/タイマ及び並列I/Oユニット(CI
O)161は、遠隔装置22へのインターフェースのた
めの制御指針を提供する。PROM163は通信アダプ
タのためのブートストラップ及び診断プログラムであ
り、LAT165はアドレス・ラッチである。
【0020】以下に、本発明をより詳細に流れ図によっ
て示す。図3及び図4は、VTAMプログラム34を示
す流れ図である。まず、VTAMは遠隔装置にオープン
指令を送ることによって遠隔装置との通信リンクを開始
する(遠隔装置はそれに対して、認識したことを応答す
る)(処理199)。次に、VTAMは,順にポーリン
グCCW、多数の読取りCCW、状況CCWからなるチ
ャネル・プログラムを作成する(処理200)。さらに
VTAMは、チャネル・アドレス・ワードをホスト・メ
モリ25内の事前に決められた位置に記憶する。このチ
ャネル・アドレス・ワードは、ホスト・メモリ25内の
チャネル・プログラムを開始する位置を識別するもので
ある。次にVTAMは、開始I/Oを通信アダプタ24
へ出し(処理201)、そして通信アダプタ24からの
応答かあるいは顧客アプリケーション・プログラム32
からの指令を待つ(処理202)。
【0021】開始I/Oに応答して、バス・インターフ
ェース144は、ホスト・インターフェース・ルーチン
に割込み、ホスト・インターフェース・ルーチンは、バ
ス・インターフェース144にチャネル・プログラム中
の最初のチャネル指令ワード(CCW)を取ってくるよ
う指示する。それに応じて、バス・インターフェースは
アダプタ・カード48からの次のCCWを要求し、そし
てアダプタ・カード48はホスト・メモリからCCWを
得て、アダプタ・カード48内のバッファにそのデータ
を記憶し、そのデータをマイクロ・チャネル(R)・バ
スへ渡せるようにする。それから、バス・インターフェ
ース144はそのデータをアダプタ・カードから取って
きて、RAM制御装置142がそのデータをCCWバッ
ファ311の中へ書込む。その後、バス・インターフェ
ースは、CPU146にホスト・コンピュータからCC
Wを得たことを通知し、ホスト・インターフェース・ル
ーチンはCCWの実行を開始する(図5の処理29
0)。最初のチャネル指令ワード(CCW)はポーリン
グ指令であり(判断ブロック292)、(それがVTA
Mによって遠隔装置へ通知するためになされたものであ
っても)通信アダプタに、もうVTAMへデータを転送
できることを通知するものである。このポーリングは、
ホスト・コンピュータのTWAプロトコルによって要求
され、ホスト・コンピュータとその相手が同時にデータ
を転送しようとしないことを保証するものである。通信
アダプタに送るべきデータがない場合(判断ブロック2
94)、ホスト・インターフェース・ルーチンは、バス
・インターフェースに次のCCWを取ってくるよう指示
する。しかしながら、通信アダプタに、ホスト・コンピ
ュータへ送るべきデータがある場合、ホスト・インター
フェース・ルーチンは、バス・インターフェースに次の
読取りCCWをチャネル・プログラムから取ってくるよ
うに指示する(処理296)。その後、バス・インター
フェースは読出しCCWを取ってきて(処理290)、
それを処理する(同様な方法で続きの読取りCCWを処
理する)。現在のCCWが読取りCCWであることを判
断した後(判断ブロック302及び340)、ホスト・
インターフェース・ルーチンは、読取りCCWフラッシ
ュ指標がセットされているかどうかを判断する(判断ブ
ロック342)。伝送バッファ50及び受信バッファ5
1の充填レベルが共に、それぞれの事前に決められたレ
ベル、例えばそれぞれの容量の12%に下がったときに
そのような指標がセットされる。それぞれのバッファの
充填レベルは、バッファに加算されたデータの量を計数
しまたバッファから読み出されたデータの量を引算する
ことによって計測される。もしも両方のバッファの充填
レベルが事前に決められたレベル以下であれば、読取り
CCWはフラッシュされ、つまり、通信アダプタによっ
て処理されない。読取りCCWをフラッシュする理由
は、伝送バッファ50が空になる前に、続く書込みCC
Wへ速やかに進むためである。なぜなら伝送バッファ5
0が空になってしまった場合、直列伝送ライン28へ送
るデータがなくなってしまい、伝送速度あるいはスルー
プット全体が低下してしまうからである。しかしなが
ら、読取りCCWフラッシュ指標がセットされていない
場合は、ホスト・インターフェース・ルーチンは、受信
バッファ51が空になっていないかどうかの判断へ進む
(判断ブロック344)。もし空になっていれば、その
時はホストへ送るべきデータがなく、読取りCCWフラ
ッシュ指標がセットされ(処理358)、従ってこの読
取りCCWはもはや処理されない。しかし、データ・フ
レームが読取りバッファ内にある場合、それは次のよう
な方法でホスト・コンピュータへ送られる(処理34
6)。
【0022】データが、ホスト・コンピュータ20へ伝
送するため遠隔装置22から通信アダプタに到達したと
き、ライン・インターフェース・ルーチンは制御情報を
DUSCC148内のレジスタとDMA/周辺インター
フェース150へ書込む。この制御情報は、遠隔装置の
通信リンクの特性即ちTWS、通信の方向、制御指示の
初期接続手順、DUSCC148とDMA/周辺インタ
ーフェース150との間の連携、及びそれぞれのデータ
・フレームの末尾においてライン・インターフェース・
ルーチンへの割込みを送るための要求を示している。そ
れから、ライン・インターフェース・ルーチンはDMA
/周辺インターフェース150に対して、受信バッファ
51内の特定の位置へデータをDMA転送するよう指示
する。
【0023】続いて、CPU146が処理346を実行
するとき、CPU146は、バス・インターフェースに
そのデータが受信バッファ内のどこにあるかを通知し、
マイクロ・チャネル(R)・バス26を介してそのデー
タをアダプタ・カード48へ送るよう指示する。バス・
インターフェース144はアダプタ・カード48への転
送を完了したのち、CPUに報告し、そしてCPUは、
処理202においてVTAMに割込みを送る。
【0024】その後、ホスト・インターフェース・ルー
チンは、ライン・インターフェース・ビジー終了サブル
ーチンを図6の処理350において呼出す。この呼出し
の目的は次のようなものである。この最後のフレームが
受信バッファ51からホスト・コンピュータへ送られる
前に、受信バッファが一杯になることがあり得る。その
ような場合、通信アダプタは遠隔装置に対し、受信バッ
ファがビジー状態であり、これ以上データを受信できな
いことを通知する。ライン・インターフェース・ビジー
終了サブルーチンの呼出しは、通信アダプタがこのビジ
ー状態にあるかどうかを検査し(判断ブロック35
0)、そしてもしそうであれば、ビジー指標をリセット
し、遠隔装置に通信アダプタがもうビジー状態ではない
ことを通知する(処理352)。それから、ライン・イ
ンターフェース・ビジー終了サブルーチンは、判断ブロ
ック356でホスト・インターフェース・ルーチンへ戻
り、ホスト・インターフェース・ルーチンは、伝送バッ
ファ及び受信バッファの充填レベルがそれぞれの事前に
決められたレベル以下に下がっていないかどうかを判断
する。もし両方の充填レベルがそれぞれの事前に決めら
れたレベル以下に下がっていたなら、ホスト・インター
フェース・ルーチンは読取りCCWフラッシュ指標をセ
ットする(処理358)。それから、ホスト・インター
フェース・ルーチンは、次のCCWを読むために処理2
90へ戻る。受信バッファ内に記憶されたデータがある
限り、上記の方法でさらに読取りCCWが読まれて処理
される。しかしながら、読取りCCWフラッシュ指標が
セットされているなら、その時は判断ブロック342に
おいて現在の読取りCCWをフラッシュする。読取りC
CWフラッシュ指標がセットされたときは、続く読取り
CCWがあったとしても、それもフラッシュされ、結果
的にバス・インターフェースによって状況CCWが取っ
てこられてホスト・インターフェース・ルーチンによっ
て読まれる。
【0025】バス・インターフェースが状況CCWを取
ってきたとき、判断ブロック302、340、及び36
0は判断ブロック362へと進み、そこでホスト・イン
ターフェース・ルーチンは一つ以上の先行する書込みC
CWがフラッシュされたかどうかを判断する。その場
合、フラッシュされた書込みCCWを再送しなければな
らないことに相当するデータを示すように状況が更新さ
れる(処理364)。次に、ホスト・インターフェース
・ルーチンは、一つ以上の読取りCCWがフラッシュさ
れたかどうかを判断し(判断ブロック366)、もしそ
うであれば、遠隔装置がその時点でそれ以上データを送
らないことと、読取りフラッシュが開始される前にホス
トに対して送られたデータが遠隔装置から送られたデー
タの全てであることを示すように状況を更新する(処理
368)。次に、ホスト・インターフェース・ルーチン
は、伝送バッファ50が事前に決められたレベルを越え
て充填されているかどうかを判断し(判断ブロック37
0)、もしそうであれば、遠隔装置が一時的にホストか
らデータを受信できないことを示すように状況を更新す
る(処理372)。このことは、伝送バッファのオーバ
ーフローを防ぐ別の安全策である。伝送バッファが過剰
に充填されていなければ、そのときはホスト・インター
フェース・ルーチンは遠隔装置がさらにデータを受信で
きることを示すように状況を更新する。次に、ホスト・
インターフェース・ルーチンは書込みCCWフラッシュ
指標及び読取りCCWフラッシュ指標をリセットする
(処理376)。処理368及び372において更新さ
れた状況によって、伝送バッファのオーバーフローに対
する安全策が与えられるので、この方法は適切である。
処理378において、ホスト・インターフェース・ルー
チンは処理202における割込みと共にVTAMへその
状況を報告する。
【0026】通信アダプタによるそれぞれのCCWの実
行に続く通信アダプタからの割込みに応答して(判断ブ
ロック203)、VTAMはデータを再伝送しなければ
ならないかどうかを(状況CCWへの応答に基づいて)
判断する(判断ブロック204)。そのようなデータは
前の書込みCCW(1個だけであったと仮定する)の間
に伝送されるはずであったもので、フラッシュされてし
まったものである。もしも再伝送が必要であれば、VT
AMは続く再伝送のためにデータを要求する(処理21
7)。次に、VTAMは、最も最近のチャネル・プログ
ラムの実行の間に通信アダプタからのデータが受信され
たかどうかを判断する(判断ブロック205)。もし受
信されていれば、VTAMはデータを顧客アプリケーシ
ョン・プログラム32へ渡す(処理206)。
【0027】通信アダプタがホストへ送る他のデータを
有していて、そしてVTAMが状況CCWからそのこと
を知ることも可能である(判断ブロック207)。この
他のデータは、最も最近のチャネル・プログラムが実行
されたがこのデータを全て読取るための読取りCCWの
数が十分に無い時点において、通信アダプタ内に存在し
ていることができる(判断ブロック207)。ホストに
送るべきデータがさらにある場合は、VTAMは、この
追加データを受信するためのホスト・メモリのアドレス
と共に読取りCCWを追加し(処理212)、通信アダ
プタが追加の読取りCCWの実行の後に読取り操作状況
を報告できるように、その読取りCCWの末尾に状況C
CWを付け加える(処理213)。次に、VTAMは、
判断ブロック214で、処理201でだされた開始I/
Oがもはや起動していないことを判断し(なぜならそれ
は通信アダプタが最も最近のチャネル・プログラムの実
行を完了した時に判断ブロック203で終了しているか
らである)、そして新しい開始I/O(処理215)を
出してからループの処理202へ戻る。
【0028】判断ブロック207を再び参照すると、通
信アダプタがホストへ送るべきデータをもう有していな
い場合、判断ブロック207から判断ブロック208へ
進み、そこでVTAMは、伝送待ち行列中に遠隔装置へ
送るべきデータがないかどうかを判断する。もしそのよ
うな送るべきデータがなければ、VTAMはループの処
理201へと戻る。しかし送るべきデータがある場合
は、VTAMは、チャネル・プログラムのための追加の
書込みCCWを作成し、上記の212から215までの
処理を実行する。処理212で追加の読取りCCWが付
け加えられる。なぜなら、遠隔装置がホストからの伝送
に応答したい場合もあるからである。
【0029】アプリケーション・プログラムが遠隔装置
へ送るべき新しいデータを有しているとき、そのアプリ
ケーション・プログラムは処理202においてVTAM
へ通知しようとする。この通知はアプリケーション・プ
ログラムから出されたものであるので、判断ブロック2
03は、判断ブロック209へ進み、そこでVTAMは
ホストが伝送すべきデータを有しているかを判断する。
それからVTAMは、データを伝送待ち行列へ追加し
(処理210)、ホストのデータを伝送できるようにチ
ャネル・プログラムのために書込みCCWを作成し(処
理211)、遠隔装置がデータに応答する場合は書込み
CCWの後にチャネル・プログラムのために読取りCC
Wを作成し(処理212)、通信アダプタが読取りCC
W及び書込みCCWの実行の結果を報告できるように状
況CCWを作成する(処理213)。次に、VTAM
は、開始I/Oがまだ起動しているかどうかを判断する
(判断ブロック214)。もし開始I/Oがまだ起動し
ていれば、VTAMは書込みCCWへの分岐のためにポ
ーリング・プログラムを修正する(処理216)。もし
開始I/Oが終了していれば、VTAMは別の開始I/
Oをホスト・インターフェース・ルーチンへ出す(処理
215)。
【0030】CPU146はバス・インターフェースに
次のCCWを取ってくるよう指示する。この場合は書込
みCCWである。それからホスト・インターフェース・
ルーチンは、処理290においてCCWを読み、処理3
02においてそれが書込みCCWであることを判断す
る。次に、ホスト・インターフェース・ルーチンは、R
AM140内に、伝送バッファ50及び受信バッファ5
1がそれぞれの事前に決められたレベルまで充填された
ことによる次の書込みCCWをフラッシュするための指
標があるかどうかを判断する(判断ブロック304)。
そのような場合に書込みCCWをフラッシュする目的
は、伝送バッファがこのCCWによって過充填されない
ようにまた受信バッファが完全に充填される前にホスト
・コンピュータによって空にできるように、速やかに続
く読取りCCWへ進むためである。(上記で触れたよう
に、受信バッファが完全に充填されそうな場合、ライン
・インターフェース・コードが遠隔装置にデータの送信
を停止するよう通知するが、このことは全体的な利用性
を損なうものであり、避けねばならない)。もしその指
標がセットされていれば、ホスト・インターフェース・
ルーチンは、次のCCWがあるならそれを読むためにル
ープのステップ300に戻る。しかしながら、書込みC
CWフラッシュ指標がセットされていない場合、ホスト
・インターフェース・ルーチンは伝送バッファ50内に
利用できる空間があるかどうかを判断する(判断ブロッ
ク306)。もしなければ、ホスト・インターフェース
・ルーチンは、ライン・インターフェース・コードの制
御の下で遠隔装置へ伝送されるべき次のデータ・ブロッ
クを待つ(このことは、多重タスク処理オペレーティン
グ・システムを用いて同時に実行されており、以下にさ
らに詳細に記述する)(処理308)。そのような転送
は、ホスト・コンピュータからの新しいデータのために
伝送バッファ内に空間を提供する。そのような転送の後
あるいは利用できる空間があった場合、ホスト・インタ
ーフェース・ルーチンはバス・インターフェース144
に対して、書込みCCWに相当するデータ・ブロックを
次のような方法で伝送バッファの中へ読み込むよう指示
する(処理310)。
【0031】CPU146はバス・インターフェースに
対し、マイクロ・チャネル(R)・バス26を通してデ
ータの要求を渡すよう指示し、バス・インターフェース
144に伝送バッファ50内のどこにデータを記憶する
かを通知する。それに応じて、バス・インターフェース
はアダプタ・カード48にデータを要求し、そしてアダ
プタ・カード48はホスト・メモリからデータを得てそ
のデータをアダプタ・カード48内のバッファに記憶
し、そしてそのデータをマイクロ・チャネル(R)・バ
スに渡せるような形にする。それから、バス・インター
フェース144はアダプタ・カードからデータを取って
きて、RAM制御装置142がそのデータを伝送バッフ
ァ50の中に書込む。そして、バス・インターフェース
はCPU146に、ホスト・コンピュータからそのデー
タを得たことを通知する。
【0032】この時点でホスト・コンピュータから取っ
てきたデータは、SDLC形式である(そしてこの同じ
形式が続く遠隔装置への伝送にも使用される。それは通
信のTWAあるいはTWSモードを確立する交互あるい
は同時のデータ伝送方法である)。
【0033】データが伝送バッファへ書込まれた後、ホ
スト・インターフェース・ルーチンは伝送バッファ及び
受信バッファがそれぞれの事前に決められた敷居値を越
えていないかどうかを判断する(書込みCCWフラッシ
ュ指標をセットする目的のため)(判断ブロック31
2)。そしてもし両方が越えていたならば、指標をセッ
トする(処理314)。処理314の後にもし両方の敷
居値を越えていなかったならば、ホスト・インターフェ
ース・ルーチンはライン・インターフェース伝送サブル
ーチンを処理318において呼出す(処理316)。
【0034】処理318において、ライン・インターフ
ェース伝送サブルーチンは伝送バッファ内に送信準備の
できたデータ・フレームがないかを判断し、そしてその
フレームを次の方法で送信する(処理320)。ライン
・インターフェース・ルーチンはDUSCC148内の
レジスタ及びDMA/周辺インターフェース150内の
レジスタに制御情報を書込む。この制御情報は、遠隔装
置の通信リンクの特性即ちTWS、通信の方向、制御進
行の初期接続手順の記述、DUSCC148とDMA/
周辺インターフェース150との間の連携、及びそれぞ
れのデータ・フレームの末尾においてライン・インター
フェース・ルーチンへ割込みを送る要求である。DMA
/周辺インターフェース150はデータをDMA転送
し、DUSCC148に与える。それからDUSCC1
48は、TWSプロトコルに従って、データのバイトを
伝送ライン28へ直列に移行させる。遠隔装置への通信
はTWSなので、ライン・インターフェース伝送サブル
ーチンは、フレームを送る前に遠隔装置から入ってくる
データがあるかどうかを判断するための検査をしない。
【0035】次に、ライン・インターフェース伝送サブ
ルーチンは、両方のバッファの充填レベルが事前に決め
られたレベル以下であるかどうかを判断し(続く読取り
CCWをフラッシュする目的のため)(判断ブロック3
22)、そしてもしそうであれば、指標をセットする
(処理324)。それから、ライン・インターフェース
伝送サブルーチンは、それを呼出したホスト・インター
フェース・ルーチンへ戻る(処理326)。
【0036】図9は、ライン・インターフェース・ルー
チン54の残りの部分である。データ・ブロックが遠隔
装置へ送信された後、DMA/周辺インターフェース1
50は、CPU146へ割込み/メッセージを送る(処
理400)。そのメッセージが、データ・ブロックの遠
隔装置への伝送がうまく行ったことを伝えるものである
とすると(判断ブロック402)、ライン・インターフ
ェース・ルーチンはライン・インターフェース伝送サブ
ルーチンを呼出して次のデータ・ブロックを上記のよう
に遠隔装置へ伝送する(処理318から324まで)。
ライン・インターフェース・ルーチンへ戻った後、ライ
ン・インターフェース・ルーチンは、次のメッセージを
ハードウェアから受信する用意をする。
【0037】データは、DMA/周辺インターフェース
150の制御下においてDUSCC148によっても遠
隔装置から受信される。データ・ブロックが受信された
後に、DMA/周辺インターフェースは割込み/メッセ
ージをCPUへ送る。メッセージは受け取られると、処
理400において読まれる。メッセージが、データ・ブ
ロックを遠隔装置から受信したことを伝えるものである
とすると(判断ブロック402及び410)、そのデー
タは受信バッファ51内に待機する。次に、ライン・イ
ンターフェース・ルーチンは、受信バッファ51が完全
に充填されたかどうか判断し(判断ブロック414)、
もしそうであれば、データ・ブロックの受信を認識し、
また通信アダプタ24がビジー状態であるためその時点
でこれ以上受信できないというメッセージを遠隔装置へ
送る(処理416)。(上記のように、処理350から
352におけるビジー終了サブルーチンは、データ・ブ
ロックが受信バッファ51からホスト・コンピュータへ
送られた後に、遠隔装置へ逆のメッセージを送ることが
できる。)しかしながら、受信バッファ51が完全に充
填されていなければ、その時は、そのメッセージはデー
タ・ブロックを受信したことのみを伝えるものである
(処理418)。次に、ライン・インターフェース・ル
ーチンは、現在、受信バッファが事前に決められたレベ
ルまで充填されたかどうか判断し(判断ブロック42
0)、そしてもしそうであれば書込みCCWフラッシュ
指標をセットする(処理422)。
【0038】このときライン・インターフェース・ルー
チンは、別のメッセージを受信する用意ができている。
それは上記の別の伝送完了あるいは受信完了メッセー
ジ、あるいは遠隔装置への物理的な接続が確立されなけ
ればならないことを伝える割込み可能ライン・メッセー
ジのような管理上のメッセージ、あるいはプロトコル・
タイマが時間切れになったことを伝えるライン・タイム
アウト・メッセージでもよい(処理430)。
【0039】図10は、TWSあるいは全2重インター
フェース499による遠隔装置22の操作を示した流れ
図である。例として、遠隔装置22はIBM3745通
信制御装置とする。これについてはIBM社による刊行
物で注文番号GA33−0092の「IBM3745モ
デル210、310、410、610の導入」に詳細に
記述されている。しかし、通信アダプタ24は、TWS
プロトコルを有すどのような遠隔装置に対しても使用す
ることができる。先に触れたように、遠隔装置22の操
作モードは、データを有しかつ相手がビジー状態でない
ときにデータを送ろうとし、データが入ってきたとき
(かつ遠隔装置がビジー状態でないとき)に受信しよう
とする。従って、判断ブロック500では、遠隔装置
(コードあるいはハードウェア)は、遠隔装置が送るべ
きデータを有しているかどうかを判断する。もし有して
いれば、フレーム内のそのデータをSDLC形式で送信
する(処理502)。それから、入って来るデータがあ
るとき、遠隔装置はそれを判断ブロック504で検知
し、遠隔装置がデータのための余地を有していればその
データを記憶するために受け入れる(処理506)。受
信されたデータはSDLCフレームの形式を有す。
【0040】VTAMの流れ図はまた処理218を示し
ており、その中でVTAMは、交信不良のような開始I
/Oの終了を要求する状態など、データの読取りまたは
書き込みの以外の理由で、アプリケーション・プログラ
ムによって通知を受ける。
【0041】図11は、アダプタ・カード48を示して
いる。アダプタ・カード48は、データ処理装置30か
146のどちらか一つによって与えられるデータを記憶
するための、またそのようなデータをデータ処理装置1
46か30の内の他の一つに転送するためのバッファ記
憶装置634を含む。データ処理装置146からバッフ
ァ記憶装置634へのデータの流れの経路は、マイクロ
・チャネル・バス26、双方向ドライバ635、及びバ
ッファ・データ・バス636による。バッファ記憶装置
634とホスト処理装置30との間のデータ転送経路
は、バッファ・データ・バス636、双方向ドライバ6
37、双方向アドレス/データ・レジスタ638、及び
ホスト・アドレス/データ・バス49による。これらの
データの流れのどちらも、双方向性である。データ及び
メッセージは、ホスト処理装置30からバッファ記憶装
置634へ、あるいはその逆に流れる。同様に、データ
及びメッセージは処理装置146からバッファ記憶装置
634へ、あるいはその逆に流れる。
【0042】データあるいはメッセージは、ホスト処理
装置30から処理装置146へ、あるいはその逆に直接
流れることはできない。全てのメッセージ及び全てのデ
ータは先ず、バッファ記憶装置634内に記憶され、そ
れから読み出されて他の処理装置へ与えられる。2組の
双方向ドライバ635及び637は、同時に両方が起動
することはない。もし双方向ドライバ635がデータ転
送の目的でオンになっている場合、双方向ドライバ63
7はオフになっており、そうでない場合は逆になる。
【0043】バッファ記憶装置634を中継として使用
する理由の一つは、ホスト・バス49が、マイクロ・チ
ャネル・(R)・バスと非常に異なるアーキテクチャを
有していることである。それらは、データ・ラインの数
や動作周期要求などが異なる。従って、次のデータ処理
装置へデータを送る前にそのデータの形式あるいは編成
を変える必要がある。
【0044】アダプタ・カード48はさらに、アダプタ
・カード内の他の装置の操作を制御するためのアダプタ
制御装置639を含む。アダプタ制御装置639は、バ
ッファ記憶装置634のアドレス指定及び読取り/書込
み状態を制御する。さらに双方向ドライバ635と63
6及びアドレス/データ・レジスタ638の動作状態及
び流れの方向を制御する。このアダプタ制御装置639
は、ホスト・バス49を介してホスト処理装置30か
ら、及びマイクロ・チャネル(R)・バス26を介して
処理装置146から適当な制御信号を受け取る。またマ
イクロ・チャネル(R)・バス26を介して処理装置1
46からアドレス情報を受け取る。
【0045】以上により、本発明による通信アダプタは
開示された。しかしながら、本発明の範囲から逸脱する
ことなく多くの変形や代替が可能である。例えば、両方
向への直列伝送ライン28を十分に活用することを保証
する最適化を含むこの通信アダプタの発明の原理は、他
の型式の(チャネル・プログラムを使用しない)TWA
装置と他の型式のTWS遠隔装置との間のインターフェ
ースを与えるのに利用できる。また、受信バッファ51
のオーバーフローを防ぐために、ホスト・コンピュータ
20から伝送バッファ50へのデータの伝送を、(タイ
マを用いて、また残っている書込みCCWをフラッシュ
することによって)事前に決められた時間の後に自動的
に停止でき、そして読取りが始められる。同様に、伝送
バッファ50が空になるのを防ぐために、ホスト・コン
ピュータ20による受信バッファからのデータの読取り
を、(タイマを用いて、また残っている読取りCCWを
フラッシュすることによって)事前に決められた時間の
後に自動的に停止でき、そして伝送が始められる。この
本発明の別の例においては、伝送バッファあるいは受信
バッファの充填レベルをモニタする必要はない。従っ
て、本発明の開示は説明のためであって、限定するため
のものではなく、本発明の範囲を決定する特許請求の範
囲の参照となるものである。
【0046】
【発明の効果】本発明によって、TWAプロトコルを有
す第一の装置または通信リンクとTWSプロトコルを有
す第2の装置または通信リンクの間の通信アダプタが提
供される。そしてそのような通信アダプタによって、全
体のスループットが最大になり、またそのような通信ア
ダプタが接続されているどちらの装置も変更する必要が
ない。
【図面の簡単な説明】
【図1】TWAプロトコルを有す標準的な通信リンクを
含む標準的なホスト・コンピュータ、TWSプロトコル
を有す標準的な通信リンクを含む標準的な遠隔装置、遠
隔装置の通信リンクに接続された標準的な電気的伝送ラ
イン、及び本発明による通信アダプタを示したものであ
り、該アダプタは、2つの異なるプロトコルを互いに適
合させるためにホスト・コンピュータの通信リンクと伝
送ラインとの間に接続されている。
【図2】図1の通信アダプタのより詳細なブロック図で
ある。
【図3】TWA通信モードを確立するプログラムであ
る、図1のホスト・コンピュータの通信リンク内の通信
アクセス・プログラムの機能を示した流れ図を2つに分
けた一部であり、図4と結合する。
【図4】TWA通信モードを確立するプログラムであ
る、図1のホスト・コンピュータの通信リンク内の通信
アクセス・プログラムの機能を示した流れ図を2つに分
けた一部であり、図3と結合する。
【図5】図1の通信アダプタによって実行されるコンピ
ュータのプログラムのTWAホスト・インターフェース
・ルーチンを示した流れ図を2つに分けた一部であり、
図6と結合する。
【図6】図1の通信アダプタによって実行されるコンピ
ュータのプログラムのTWAホスト・インターフェース
・ルーチンを示した流れ図を2つに分けた一部であり、
図5と結合する。
【図7】図1の通信アダプタによって実行されるコンピ
ュータのプログラムのライン・インターフェース・ルー
チンの伝送サブルーチンを示した流れ図である。
【図8】図1の通信アダプタによって実行されるコンピ
ュータのプログラムのライン・インターフェース・ルー
チンのビジー終了サブルーチンを示した流れ図である。
【図9】図1の通信アダプタによって実行されるコンピ
ュータのプログラムのライン・インターフェース・ルー
チンの残りの部分を示した流れ図である。
【図10】図1の遠隔装置からの及び遠隔装置への通信
のTWSモードを示した流れ図である。
【図11】ホスト・コンピュータの通信リンク内のバス
からバスへのアダプタの概略図である。
【符号の説明】
20 ホスト・コンピュータ 22 遠隔装置 24 通信アダプタ 26 マルチ・チャネル・バス 28 直列伝送ライン 30 CPU 34 VTAMプログラム 40 チャネル・プログラム 48 アダプタ・カード 50 伝送バッファ 51 受信バッファ 52 ホスト・インターフェース・ルーチン 54 ライン・インターフェース・ルーチン 142 RAM制御装置 144 バス・インターフェース 148 DUSCC 150 DMA/周辺インターフェース 161 カウンタ/タイマ及び並列I/Oユニット 634 バッファ記憶装置 635 双方向ドライバ 637 双方向ドライバ 638 アドレス/データ・レジスタ 639 アダプタ制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カールハインツ・ドゥーケ ドイツ国 デッケンプロン デー−7269、 ジルヒャーシュトラーゼ 20 (72)発明者 ブライアン・ウイリアム・ノルダイク アメリカ合衆国13827 ニューヨーク州オ ウゴー、ハルステッド・アベニュー 100 (72)発明者 マイケル・リー・シューパート アメリカ合衆国13850 ニューヨーク州ベ スタル、ウイリアム・ストリート 301

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】両方向交互(TWA)プロトコルを有する
    第1の装置と、両方向同時(TWS)プロトコルを有す
    る第2の装置との間を互いに接続するための通信アダプ
    タであって、 前記第2の装置への伝送のために前記第1の装置から受
    け取ったデータを記憶するための伝送バッファと、 前記第1の装置への伝送のために前記第2の装置から受
    け取ったデータを記憶するための受信バッファと、 前記伝送バッファおよび前記受信バッファと前記第1の
    装置との間で、両方向交互(TWA)プロトコルによる
    第1の通信リンクを介してデータを転送するための第1
    の手段と、 前記伝送バッファおよび前記受信バッファと前記第2の
    装置との間で、両方向同時(TWS)プロトコルによる
    第2の通信リンクを介してデータを転送するための第2
    の手段と、 前記受信バッファのオーバーフローを防ぐために、前記
    第1の装置が前記伝送バッファへ転送するべき追加のデ
    ータを有している場合であっても、前記第1の装置から
    前記伝送バッファへのデータの転送を停止し、そして前
    記受信バッファから前記第1の装置へのデータの転送を
    開始するための手段とからなることを特徴とする通信ア
    ダプタ。
  2. 【請求項2】前記第1の通信リンクがマルチビット・バ
    スからなることを特徴とする、請求項1に記載の通信ア
    ダプタ。
  3. 【請求項3】前記受信バッファの充填レベルをモニタす
    るための手段と、該受信バッファが事前に決められたレ
    ベルまで充填されたときは前記第1の装置から前記伝送
    バッファへのデータの転送を停止する停止手段とをさら
    に含むことを特徴とする、請求項1に記載の通信アダプ
    タ。
  4. 【請求項4】前記第2の転送手段が、前記第1の装置か
    らのデータの受信に応答して、該データの前記第2の装
    置への転送を開始するための手段を含むことを特徴とす
    る、請求項1に記載の通信アダプタ。
  5. 【請求項5】前記第1の転送手段が前記伝送バッファま
    たは前記受信バッファと前記第1の装置との間で1方向
    にデータを転送する速度の方が、前記第2の転送手段が
    前記伝送バッファまたは前記受信バッファと前記第2の
    装置との間で1方向にデータを転送する速度よりも速い
    ことを特徴とする、請求項1に記載の通信アダプタ。
  6. 【請求項6】両方向交互(TWA)プロトコルを有する
    第1の装置と、両方向同時(TWS)プロトコルを有す
    る第2の装置との間を互いに接続するための通信アダプ
    タであって、 前記第2の装置への伝送のために前記第1の装置から受
    け取ったデータを記憶するための伝送バッファと、 前記第1の装置への伝送のために前記第2の装置から受
    け取ったデータを記憶するための受信バッファと、 前記伝送バッファおよび前記受信バッファと前記第1の
    装置との間で、両方向交互(TWA)プロトコルによる
    第1の通信リンクを介してデータを転送するための第1
    の手段と、 前記伝送バッファおよび前記受信バッファと前記第2の
    装置との間で、両方向同時(TWS)プロトコルによる
    第2の通信リンクを介してデータを転送するための第2
    の手段と、 前記伝送バッファが空になることを防ぐために、前記受
    信バッファが前記第1の装置へ転送するべき追加のデー
    タを有している場合であっても、前記受信バッファから
    前記第1の装置へのデータの転送を停止し、そして前記
    第1の装置から前記伝送バッファへのデータの転送を開
    始するための手段とからなることを特徴とする通信アダ
    プタ。
  7. 【請求項7】前記第1の転送手段が前記伝送バッファま
    たは前記受信バッファと前記第1の装置との間で1方向
    にデータを転送する速度の方が、前記第2の転送手段が
    前記伝送バッファまたは前記受信バッファと前記第2の
    装置との間で1方向にデータを転送する速度よりも速い
    ことを特徴とする、請求項6に記載の通信アダプタ。
  8. 【請求項8】前記第2の転送手段が、前記第1の装置か
    らのデータの受信に応答して、該データの前記第2の装
    置への転送を開始するための手段を含むことを特徴とす
    る、請求項6に記載の通信アダプタ。
  9. 【請求項9】前記伝送バッファの充填レベルをモニタす
    るための手段と、該伝送バッファが事前に決められたレ
    ベルまで空になったときは前記受信バッファから前記第
    1の装置へのデータの転送を停止する停止手段とをさら
    に含むことを特徴とする、請求項6に記載の通信アダプ
    タ。
  10. 【請求項10】両方向交互(TWA)プロトコルを有す
    る第1の装置と、両方向同時(TWS)プロトコルを有
    する第2の装置との間を互いに接続するための通信アダ
    プタであって、 前記第2の装置への伝送のために前記第1の装置から受
    け取ったデータを記憶するための伝送バッファと、 前記第1の装置への伝送のために前記第2の装置から受
    け取ったデータを記憶するための受信バッファと、 前記伝送バッファおよび前記受信バッファと前記第1の
    装置との間で、両方向交互(TWA)プロトコルによる
    第1の通信リンクを介してデータを転送するための第1
    の手段と、 前記伝送バッファおよび前記受信バッファと前記第2の
    装置との間で、両方向同時(TWS)プロトコルによる
    第2の通信リンクを介してデータを転送するための第2
    の手段と、 前記伝送バッファの充填レベルをモニタするための手段
    と、 前記受信バッファの充填レベルをモニタするための手段
    と、 前記受信バッファが前記第2の装置からの追加のデータ
    を記憶するための十分な空間を保持するために、前記第
    1の装置が前記伝送バッファへ転送するべき追加のデー
    タを有している場合であっても、前記伝送バッファ及び
    前記受信バッファがそれぞれの事前に決められたレベル
    まで充填されたときは、前記第1の装置から前記伝送バ
    ッファへのデータの転送を停止し、そして前記受信バッ
    ファから前記第1の装置へのデータの転送を開始するた
    めの手段と、 前記伝送バッファが前記第2の装置へ十分なデータを伝
    送し続けるために、前記受信バッファ及び前記伝送バッ
    ファがそれぞれの事前に決められたレベルまで空になっ
    たときは、前記受信バッファから前記第1の装置へのデ
    ータの転送を停止し、そして前記第1の装置から前記伝
    送バッファへのデータの転送を開始するための手段とか
    らなることを特徴とする通信アダプタ。
  11. 【請求項11】前記第1の転送手段が前記伝送バッファ
    または前記受信バッファと前記第1の装置との間で1方
    向にデータを転送する速度の方が、前記第2の転送手段
    が前記伝送バッファまたは前記受信バッファと前記第2
    の装置との間で1方向にデータを転送する速度よりも速
    いことを特徴とする、請求項12に記載の通信アダプ
    タ。
  12. 【請求項12】前記第2の転送手段が、前記第1の装置
    からのデータの受信に応答して、該データの前記第2の
    装置への転送を開始するための手段を含むことを特徴と
    する、請求項12に記載の通信アダプタ。
JP5009800A 1992-03-02 1993-01-25 通信アダプタ Expired - Lifetime JP2729016B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US843772 1992-03-02
US07/843,772 US5377184A (en) 1992-03-02 1992-03-02 Method of controlling TWA link in a communications adapter by monitoring buffer fill levels

Publications (2)

Publication Number Publication Date
JPH0685797A true JPH0685797A (ja) 1994-03-25
JP2729016B2 JP2729016B2 (ja) 1998-03-18

Family

ID=25290976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5009800A Expired - Lifetime JP2729016B2 (ja) 1992-03-02 1993-01-25 通信アダプタ

Country Status (4)

Country Link
US (1) US5377184A (ja)
EP (1) EP0558935A2 (ja)
JP (1) JP2729016B2 (ja)
CA (1) CA2086853A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008086027A (ja) * 2001-02-05 2008-04-10 Fujitsu Ltd 遠隔要求を処理する方法および装置
JP2013025168A (ja) * 2011-07-22 2013-02-04 Nikon Corp アダプター、カメラシステム、およびアダプター制御プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5682554A (en) * 1993-01-15 1997-10-28 Silicon Graphics, Inc. Apparatus and method for handling data transfer between a general purpose computer and a cooperating processor
US5546543A (en) * 1993-03-26 1996-08-13 Digital Equipment Corporation Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
EP0688139A3 (de) * 1994-06-16 1998-12-16 Ascom Business Systems Ag Vorrichtung zum Erhöhen des Funktionsbereiches eines Systems digital arbeitender Schnurlostelefone
US5870631A (en) * 1995-12-15 1999-02-09 International Business Machines Corporation System for operating system software providing input buffer for receiving variable-length bit stream with a header containing synchronization data recognized by universal serial controller
US6092140A (en) * 1998-05-15 2000-07-18 Hewlett-Packard Company Low latency bridging between high speed bus networks
US7269680B1 (en) 1998-08-06 2007-09-11 Tao Logic Systems Llc System enabling device communication in an expanded computing device
US7734852B1 (en) 1998-08-06 2010-06-08 Ahern Frank W Modular computer system
JP4086372B2 (ja) * 1998-08-28 2008-05-14 キヤノン株式会社 通信システム、情報処理装置、出力装置、制御方法、及び、記憶媒体
US6594719B1 (en) 2000-04-19 2003-07-15 Mobility Electronics Inc. Extended cardbus/pc card controller with split-bridge ™technology
DE10026416A1 (de) * 2000-05-29 2002-01-03 Honeywell Ag System zur Datenübertragung
KR100480605B1 (ko) * 2002-07-25 2005-04-06 삼성전자주식회사 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US7073932B2 (en) * 2003-07-31 2006-07-11 Harry Lee Wainwright Optical fiber decorative assembly
US7444427B2 (en) * 2004-07-30 2008-10-28 Fisher-Rosemount Systems, Inc. System and method for preventing transmission during message reception
DE102011118362A1 (de) * 2011-11-14 2013-05-16 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Slaves
US10768837B2 (en) * 2018-10-31 2020-09-08 EMC IP Holding Company LLC Non-disruptive migration of a virtual volume in a clustered data storage system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1264378A (en) * 1914-03-16 1918-04-30 Western Electric Co Controlling system.
US3956589A (en) * 1973-11-26 1976-05-11 Paradyne Corporation Data telecommunication system
US4368512A (en) * 1978-06-30 1983-01-11 Motorola, Inc. Advanced data link controller having a plurality of multi-bit status registers
US4422171A (en) * 1980-12-29 1983-12-20 Allied Corporation, Law Department Method and system for data communication
US4651316A (en) * 1983-07-11 1987-03-17 At&T Bell Laboratories Data link extension for data communication networks
US4599719A (en) * 1984-06-18 1986-07-08 At&T Information Systems Inc. Full duplex data set with half-duplex emulation
CA1235189A (en) * 1985-01-14 1988-04-12 Haruhiko Akiyama Error correction encoding system
US5054034A (en) * 1985-05-20 1991-10-01 Telebit Corporation Ensemble modem structure for imperfect transmission media
US4597073A (en) * 1985-08-27 1986-06-24 Data Race, Inc. Full-duplex split-speed data communication unit for remote DTE
JPS62225096A (ja) * 1986-03-26 1987-10-03 Nec Corp 無線電話方式
US4796255A (en) * 1986-05-02 1989-01-03 Datos Corporation Method of synchronization between data communication devices permitting peer-peer and master-slave communications
US4771417A (en) * 1986-09-18 1988-09-13 Racal Data Communications, Inc. High speed modem
US4924456A (en) * 1986-09-18 1990-05-08 Racal Data Communications, Inc. High speed modem
US4852088A (en) * 1987-04-03 1989-07-25 Advanced Micro Devices, Inc. Packet-at-a-time reporting in a data link controller
FR2668323B1 (fr) * 1990-10-17 1993-01-15 Telecommunications Sa Dispositif de reduction de la gigue due aux sauts de pointeurs dans un reseau de telecommunications numeriques.
US5179556A (en) * 1991-08-02 1993-01-12 Washington University Bandwidth management and congestion control scheme for multicast ATM networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008086027A (ja) * 2001-02-05 2008-04-10 Fujitsu Ltd 遠隔要求を処理する方法および装置
JP2013025168A (ja) * 2011-07-22 2013-02-04 Nikon Corp アダプター、カメラシステム、およびアダプター制御プログラム

Also Published As

Publication number Publication date
EP0558935A2 (en) 1993-09-08
US5377184A (en) 1994-12-27
JP2729016B2 (ja) 1998-03-18
CA2086853A1 (en) 1993-09-03

Similar Documents

Publication Publication Date Title
JP2729016B2 (ja) 通信アダプタ
US5604866A (en) Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
US5948060A (en) Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US5020020A (en) Computer interconnect system with transmit-abort function
US6609165B1 (en) Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US5193149A (en) Dual-path computer interconnect system with four-ported packet memory control
US6298398B1 (en) Method to provide checking on data transferred through fibre channel adapter cards
JP2944055B2 (ja) インテリジェント通信網インタフェース回路
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
US6230218B1 (en) Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US5247616A (en) Computer system having different communications facilities and data transfer processes between different computers
US5819111A (en) System for managing transfer of data by delaying flow controlling of data through the interface controller until the run length encoded data transfer is complete
US5584033A (en) Apparatus and method for burst data transfer employing a pause at fixed data intervals
JPS604624B2 (ja) 正しくない情報フレ−ムを再送するシステム
US5944797A (en) Data mover hardware controlled processing in a commanding system and in a commanded system for controlling frame communications on a link
US6473782B1 (en) Method and apparatus for transfer information using optical fiber connections
JPH114256A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法
JPH07235964A (ja) 端末装置(dte)とデータ通信装置(dce)との間のデータ通信システムおよび高速でデータを送信するための方法
EP0496177A1 (en) Method of transmitting data by buffer chaining between a host computer and a communication controller
US6388989B1 (en) Method and apparatus for preventing memory overrun in a data transmission system
JPH117434A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理するシステム
US6006284A (en) Method and apparatus for driving a parallel part to provide multiple modes of communications between a host and a peripheral
US6499066B1 (en) Method and apparatus for using fibre channel test extended link service commands for interprocess communication
US6330585B1 (en) Transfer information using optical fiber connections
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置