JP2000224260A - 通信制御装置 - Google Patents

通信制御装置

Info

Publication number
JP2000224260A
JP2000224260A JP11026670A JP2667099A JP2000224260A JP 2000224260 A JP2000224260 A JP 2000224260A JP 11026670 A JP11026670 A JP 11026670A JP 2667099 A JP2667099 A JP 2667099A JP 2000224260 A JP2000224260 A JP 2000224260A
Authority
JP
Japan
Prior art keywords
connection
destination
data
transmission
management table
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
JP11026670A
Other languages
English (en)
Other versions
JP3569149B2 (ja
Inventor
Hirobumi Fujita
博文 藤田
Hideki Murayama
秀樹 村山
Hiroshi Yashiro
寛 屋代
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP02667099A priority Critical patent/JP3569149B2/ja
Priority to US09/497,535 priority patent/US6557034B1/en
Publication of JP2000224260A publication Critical patent/JP2000224260A/ja
Application granted granted Critical
Publication of JP3569149B2 publication Critical patent/JP3569149B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Abstract

(57)【要約】 【課題】 I/Oバスの転送速度が異なる計算機間の通
信において、受信側での受信失敗によるデータ損失をな
くすことにより、通信を効率化する。 【解決手段】 送信元計算機100は、データ転送を開
始する前に、送信先計算機110又は111内の通信制
御装置が接続されているI/Oバスの転送速度を取得す
る。通信制御装置150は、データ送信時、コネクショ
ン管理表600及び送信先管理表700を参照して、送
信先計算機110又は111に対して、時間間隔を空け
てデータの損失なく送信できるように、複数の送信キュ
ーからデータを送信する送信キューを選択する。データ
送信の時間間隔は、相手計算機110又は111内の通
信制御装置が接続されているI/Oバスの転送速度から
決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、通信制御装置に係
り、特に、I/Oバス等の内部バスの転送速度が異なる
複数の計算機・通信制御装置等の装置間において、デー
タ損失のない効率的なデータ転送を行う通信制御装置に
関する。
【0002】
【従来の技術】一般に、計算機間の通信では、送信側計
算機から送出されるデータパケットが、ネットワークを
経由して受信側計算機に受け取られる。この際、送信側
計算機では、例えば送信データに対してプロトコル処理
を行い、データに制御情報を付加してパケットを生成す
る。生成されたパケットは、計算機内部バス(ホストバ
ス、I/Oバス等)を経由してネットワークアダプタに
送られ、ネットワークに送出される。一方、受信側計算
機では、ネットワークアダプタで受信されたパケット
は、I/Oバス、ホストバス等の内部バスを経由してメ
モリに格納される。さらに受信側計算機では、例えば、
メモリに格納されたパケットの内容に対してプロトコル
処理を行い、データを取り出す等の処理を行う。
【0003】ここで、計算機間の通信を効率よく行うた
めに、データパケットを1つずつ間隔をおいて送信する
のではなく、複数のデータパケットを連続して送信する
ことが行われる。この場合、受信側計算機での受信処理
能力を越えた速度でパケットを送信すると、受信側計算
機において受信失敗によるデータ損失が発生する。この
ようなデータ損失をなくすためには、送信側においてデ
ータの送信量を制御する必要がある。ここで、受信処理
能力としては、計算機の内部バスの転送速度、プロセッ
サの処理速度、メモリ等からの読出し・書込み速度等が
影響する。
【0004】データ損失をなくすためには、例えば、イ
ンターネットで標準的に使用されている通信プロトコル
TCP(Transmission Control Protocol)では、受信側
計算機の受信データ用バッファの空き容量から送信側計
算機が送信できるデータ量を決定している(文献「Inte
rnetworking With TCP/IP, Volume II: Design, Implem
entation, and Internals」(Douglas E. Comer and Dav
id L. Stevens, Prentice-Hall International, Inc.,
1991, ISBN:0-13-465378-5)の第14章5節(pp. 265-269)
等参照。)。この技術により、受信側のバッファの空き
容量不足のために受信に失敗し発生するデータ損失を防
ぐことができる。
【0005】
【発明が解決しようとする課題】従来、I/Oバスやホ
ストバス等の計算機の内部バスの転送速度はネットワー
クのデータ伝送速度(ネットワーク速度)よりも高速で
あったため、内部バスの転送速度が通信の性能に影響す
ることはなかった(又は少なかった)。しかし、近年、
ネットワーク速度が高速になり、ネットワーク速度が内
部バスの転送速度よりも高速である計算機システムが存
在するようになった。こうしたシステムでは、受信側計
算機の内部バスの転送速度が送信側計算機の内部バスの
転送速度よりも遅い場合、受信側のネットワークアダプ
タが受け取ったデータを内部バスを介してメモリに格納
する処理の性能が、システムのデータ転送速度の隘路と
なる。
【0006】このように、ネットワーク速度が送信側計
算機及び受信側計算機の内部バスの転送速度よりも高速
で、かつ受信側計算機の内部バスの転送速度が送信側計
算機の内部バスの転送速度よりも遅い場合、TCP等で
用いられている従来の方法では、次のような問題があ
る。
【0007】すなわち、受信側計算機の受信バッファの
空き容量から送信できるデータ量を決定する方法では、
送信側でデータを連続して送信すると、ネットワークア
ダプタが内部バスを介して受信データをメモリに格納す
る処理が終了する前に、次に送信されたデータが到着す
る場合がある。このため、受信側計算機では、受信失敗
によるデータ損失が発生する。その結果、送信側計算機
と受信側計算機との間では、失われたデータの再送が必
要となり、よって、このような計算機システムでは効率
の良い通信を行うことはできない。
【0008】本発明は、以上の点に鑑み、内部バスの転
送速度・プロセッサ処理速度等が異なる計算機・通信制
御装置等の装置間の通信において、受信側での受信失敗
によるデータ損失を防ぎ、効率的な通信を可能とする通
信制御装置を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明の解決手段による
と、自装置と送信先装置との間の通信に関するコネクシ
ョン番号、及び、送信先装置の送信先識別子を含むデー
タを記憶するコネクション管理表と、送信先装置の送信
先識別子、送信先装置の内部バス速度、及び、次回送信
可能時刻を含むデータを記憶する送信先管理表と、コネ
クション確立時に、送信先装置の内部バス速度を含むコ
ネクション確立応答を送信先装置から受信するコネクシ
ョン管理手段と、前記コネクション管理手段からコネク
ション確立の通知を受信し、前記コネクション管理表に
データを作成し、さらに、前記送信先管理表に送信先識
別子に対応するデータがない場合、前記コネクション管
理手段により受信された送信先装置の内部バス速度を含
むデータを作成する表管理手段と、前記表管理手段によ
り作成された前記コネクション管理表から、次のコネク
ションについてのコネクション番号及び送信先識別子を
選択し、前記表管理手段により作成された前記送信先管
理表から、選択された送信先識別子についての次回送信
可能時刻を取得し、取得された次回送信可能時刻と現在
時間との比較結果に応じて送信キューを選択する送信キ
ュー選択手段とを備えた通信制御装置を提供する。
【0010】また、本発明の他の解決手段によると、計
算機システム内において、プロセッサとメモリがホスト
バスに接続されており、通信制御装置がI/Oバスに接
続されており、ホストバスとI/Oバスを中継するバス
ブリッジが存在し、該バスブリッジを介してI/Oバス
及びホストバス上でデータを転送することで、通信制御
装置とメモリとの間のデータ転送を行う計算機システム
であって、送信データを格納する送信キューと受信デー
タを格納する受信キューを複数持ち、送信キューに格納
したデータは任意の受信側計算機の受信キューに送達
し、送信キューと受信キューの組合せを一意に特定する
手段を持つ計算機システムにおいて、通信制御装置が接
続されているI/Oバスの転送速度の値を保持する手段
と、複数の送信キューの中からデータを送信する送信キ
ューを選択する手段と、送信キューと受信キューの組合
せと、相手通信制御装置との対応を示すコネクション管
理表を格納するためのメモリと、相手通信制御装置ごと
に、接続されているI/Oバスの転送速度の値とデータ
を送信可能な時刻を格納する送信先管理表を格納するた
めのメモリを有することを特徴とする通信制御装置を提
供する。
【0011】また、本発明は、前記コネクション管理表
及び前記送信先管理表を更新するための手段と、送信キ
ューと受信キューの組合せの作成及び削除を行うための
手段を有することを特徴とする。また、本発明は、相手
通信制御装置が接続されているI/Oバスの転送速度を
もとにデータを送信する送信キューを選択することで、
送信先通信制御装置に対するデータの送信を一定時間だ
け遅らせてデータパケット送信の時間間隔を空けるため
の手段を有することを特徴とする。
【0012】さらに、本発明は、相手通信制御装置が接
続されているI/Oバスの転送速度をもとにデータを送
信する送信キューを選択することで、送信先通信制御装
置に対するデータの送信をデータパケットの長さによっ
て決定する可変長の時間だけ遅らせてデータパケット送
信の時間間隔を空けるための手段を有することを特徴と
する。
【0013】
【発明の実施の形態】(1)通信制御装置についての構
成及び動作概要 図1は、本発明に係る通信システム全体の構成図であ
る。図1において、複数の計算機100及び110及び
111が、ネットワーク162を介して接続されてい
る。ここでは、計算機の具体的構成を、送信側計算機1
00を例に説明する。
【0014】計算機100内では、プロセッサ120と
メモリ130が、ホストバス160に接続されている。
通信制御装置150は、計算機100内でI/Oバス1
61に接続されるとともに、外部のネットワーク162
に接続されている。ホストバス160とI/Oバス16
1との間には、バスブリッジ140が存在し、バスブリ
ッジ140がホストバス160とI/Oバス161との
間のデータを中継して転送を行う。通信制御装置150
とメモリ130との間のデータ転送は、バスブリッジ1
40を介して、I/Oバス161及びホストバス160
上でデータを転送することにより行われる。受信側計算
機110、111も同様の構成である。
【0015】メモリ130内には、通信を行う複数のア
プリケーション131、132等の命令列及びデータが
格納されている。アプリケーション131、132は、
送信データを格納する送信キュー133、135、13
7等と、受信データを格納する受信キュー134、13
6、138等を保持する。2台の計算機間で通信を行う
とき、これらの計算機はデータ転送の前に計算機間のコ
ネクションを作成する。ここで、コネクションとは、通
信を行う2つの計算機内の送信キューと受信キューの組
合せであって、一方の計算機内の送信キューに格納した
データが、他方の計算機内の受信キューに送達(送信及
び格納)されるようにした接続のことである。計算機内
において、1つのコネクションには、1組の送信キュー
と受信キューが含まれる。この例では、送信キュー13
3及び受信キュー134、送信キュー135及び受信キ
ュー136、送信キュー137及び受信キュー138が
それぞれ1つのコネクションに対応する。1つのアプリ
ケーションは、1つまたは複数のコネクションをもつ。
送信キューに格納したデータを、対応する別の計算機の
受信キューに送達することで、計算機間の通信が行われ
る。
【0016】通信制御装置150内のメモリ510は、
コネクション管理表600及び送信先管理表700を備
える。コネクション管理表600は、例えば、コネクシ
ョンと相手通信制御装置(又は、相手計算機)との対応
を示す表である。ある1つの相手通信制御装置(又は、
相手計算機)には、1つまたは複数のコネクションが対
応する。送信先管理表700は、例えば、相手通信制御
装置(又は、相手計算機)ごとに、接続されているI/
Oバスの転送速度の値と、データを送信可能な時刻とを
格納する表である。なお、この実施の形態では、特に転
送速度の隘路がI/Oバスである場合を対象として説明
するが、転送速度の隘路がI/Oバス以外による場合
は、適宜のバスを対象としてその転送速度を記憶するよ
うにしても良い。また、コネクション管理表600及び
表管理手段700は、通信制御装置150内のメモリ5
10に格納されるが、計算機100のメモリ130やそ
の他の適宜のメモリに格納することも可能である。
【0017】コネクション管理手段200は、例えば、
コネクション管理表600のコネクションの作成と削除
を行う。表管理手段300は、例えば、コネクション管
理表600と送信先管理表700の更新を行う。送信キ
ュー選択手段400は、例えば、メモリ130の複数の
送信キューからデータを送信する送信キューを選択す
る。自I/Oバス速度保持手段500は、例えば、通信
制御装置150が接続されているI/Oバス161の転
送速度の値を保持する。コネクション管理手段200、
表管理手段300、送信キュー選択手段400、自I/
Oバス速度保持手段500は、通信制御装置150内に
格納されるが、計算機100のメモリ130等の適宜の
構成内に命令列及びデータとして格納することも可能で
ある。
【0018】DMA制御部530は、例えば、メモリ1
30と送受信バッファ540との間のデータ転送を行
う。DMA制御部530によるデータの転送は、直接I
/Oバス161と行うこと、又は、制御装置520を介
して行うこと等適宜実施することができる。送受信バッ
ファ540は、例えば、送信データと受信データを一時
的に格納する。送受信部550は、例えば、送受信バッ
ファ540からデータを取り出し、パケットを作成して
ネットワーク162に送信し、また、ネットワーク16
2からパケットを受信し、データを取り出して送受信バ
ッファ540に格納する。送受信部550によるデータ
の送受は、直接ネットワーク162と行うこと、又は、
制御装置520を介して行うこと等適宜実施することが
できる。制御装置520は、通信制御装置内の機器から
のデータの取り出し、記録及びこれらの機器の動作等を
司り、内部に格納されたプログラムにしたがって上記の
各機器の動作を制御する。
【0019】つぎに、本発明に関連する一般的なパケッ
ト送受信について説明する。図2は、送信側計算機と受
信側計算機との間におけるパケットの送受信を示す説明
図である。送信側821と受信側822との計算機間の
通信は、コネクションの確立、データの転送、コネクシ
ョンの切断の3つの段階からなる。ここで、コネクショ
ンの確立とは、2台の計算機間でコネクションを作成す
ることをいい、コネクション確立パケットとは、コネク
ションを確立するために2台の計算機間で交換するパケ
ットをいう。また、コネクションの切断とは、2台の計
算機間で確立されているコネクションを削除することを
いい、コネクション切断パケットとは、コネクションを
切断するために2台の計算機間で交換するパケットをい
う。
【0020】まず、コネクション確立段階において、送
信側計算機821は、受信側計算機822に対して、コ
ネクションの確立を要求するパケット(コネクション確
立要求パケット)823を送信する。受信側計算機82
2は、コネクション確立要求パケット823を受信する
と、送信側計算機821に対してコネクションの確立を
承認するパケット(コネクション確立応答パケット)8
24を送信する。送信側計算機821は、このコネクシ
ョン確立応答パケット824を受信する。こうして、送
信側計算機821と受信側計算機822との間でコネク
ションが確立され、送信側計算機821及び受信側計算
機822内に、送信キューと受信キューの組が1つずつ
作成される。
【0021】つぎに、データ転送段階において、送信側
計算機821は、受信側計算機822に対して、データ
パケット825、826、827等を送信する。なお、
受信側計算機822は、データパケットを受信したと
き、データパケットを受信したことを通知するパケット
を送信側計算機821に対して送信してもよい。
【0022】コネクション切断段階において、送信側計
算機821は、受信側計算機822に対して、コネクシ
ョンの切断を要求するパケット(コネクション切断要求
パケット)828を送信する。受信側計算機822は、
コネクション切断要求パケット828を受信すると、送
信側計算機821に対してコネクションの切断を承認す
るパケット(コネクション切断応答パケット)829を
送信する。送信側計算機821は、コネクション切断応
答パケット829を受信する。こうして、送信側計算機
821と受信側計算機822との間でコネクションが切
断され、送信側計算機821及び受信側計算機822内
の送信キューと受信キューが削除される。
【0023】上述のコネクション確立段階、データ転送
段階、コネクション切断段階において、送信側計算機8
21と受信側計算機822の役割は対称的なものであ
り、パケットはどちらの計算機からでも送信することが
可能である。すなわち、コネクション確立要求パケッ
ト、データパケット、コネクション切断要求パケット
は、受信側計算機822から送信することもできる。
【0024】つぎに、本発明に係る通信制御装置につい
て、再び図1を参照して、動作概要を説明する。以下、
I/Oバスの転送速度に基づくデータ送信の例について
説明するが、本発明はこれに限定されるものではない。
まず、コネクション確立段階においては、各々の計算機
100、110、111は、通信制御装置150等が接
続されているI/Oバス161等の転送速度を保持す
る。そして、受信側計算機110、111は、データ転
送を開始する前に、送信キューと受信キューの組合せを
作成し、通信制御装置が接続されているI/Oバスの転
送速度を、通信を行う相手通信制御装置に対して通知す
る。このようにして、送信側計算機100の通信制御装
置150は、受信側計算機110、111の相手通信制
御装置が接続されているI/Oバスの転送速度を取得す
る。また、通信制御装置150は、送信キューと受信キ
ューの組合せと、相手通信制御装置との対応を示すコネ
クション管理表600を保持する。ここで、ある1つの
相手通信制御装置には、1つまたは複数の送信キューと
受信キューの組合せが対応する。また、通信制御装置1
50は、相手通信制御装置ごとに、接続されているI/
Oバスの転送速度の値とデータを送信可能な時刻を格納
する送信先管理表700を保持する。
【0025】つぎに、データ転送段階においては、通信
制御装置150は、データ送信時、複数の送信キューか
らデータを送信する送信キューを決定する。この決定処
理は、例えば、以下に述べる方法により行う。まず、通
信制御装置150は、複数の送信キューの中から送信キ
ューを1つ選択する。つぎに、コネクション管理表60
0が参照されて、選択した送信キューに対応する送信先
の通信制御装置が選択される。次に、送信先管理表70
0が参照されて、選択した送信先通信制御装置が、最後
に送信を行った時刻から一定の時間間隔が経過している
かが検査される。この検査は、送信先管理表700か
ら、データを送信可能な時刻を取得し、現在時刻と比較
することで行われる。データを送信可能な時刻が現在時
刻よりも小さい場合、最後にデータを送信してから一定
の時間間隔が経過しているので、選択した送信キューが
データ送信する送信キューとして決定される。データ送
信後、現在時刻に一定時間間隔を加えた時刻が、次にデ
ータを送信可能な時刻として、送信先管理表700に格
納される。データを送信可能な時刻が現在時刻よりも大
きい場合、最後にデータを送信してから一定の時間間隔
が経過していないので、別の送信キューが選択されて、
上述のような検査が行われる。送信可能な送信キューが
選択されるまで、上述の送信キューの選択と時刻の検査
が繰り返し行われる。上述のデータ送信の一定の時間間
隔は、相手通信制御装置が接続されているI/Oバスの
転送速度から決定される。
【0026】図3は、従来技術と本発明との比較を示す
動作説明図である。図3(A)に示すように、従来技術
では、送信側計算機801がデータパケット803、8
04を連続して送信する。受信側計算機802では、デ
ータパケット803に対する受信処理808の実行中
に、続いて送信されたデータパケット804が到着する
場合が生じるため、このデータパケット804を受信す
ることができない。このため、誤りのないデータ転送を
行うためには、喪失したデータをデータパケット805
として再送し、受信処理809を行う必要がある。これ
に対して、図3(B)に示すように、本発明では、送信
側計算機811において、送信間隔816、817を空
けてデータパケット813、814、815を送信する
ため、受信側計算機812では、各データパケット81
3に対する受信処理818を終了したあとで、次のデー
タパケット814を受信し、受信処理819を行うこと
ができる。
【0027】以上のように、送信側計算機が相手通信制
御装置に対してデータを送信する時間間隔を空けること
により、受信側計算機では、通信制御装置がI/Oバス
を介して受信データをメモリに格納する受信処理等を終
了した後に、次に送信されたデータを受信することがで
きる。これにより、受信失敗によるデータ損失が発生し
ないようになる。
【0028】(2)通信制御装置についての詳細動作 以下に、本発明に係る通信制御装置についての動作を詳
細に説明する。
【0029】まず、コネクション管理表600、送信先
管理表700、及び、コネクション確立パケットについ
て説明する。
【0030】図4は、コネクション管理表の内容の一例
を示す説明図である。コネクション管理表600におい
て、コネクション番号601は、1つの計算機内で、他
の通信装置や他の計算機等との間に確立された一意なコ
ネクションの番号を保持する。送信先識別子602は、
通信システム全体において、データの送信先を一意に識
別するための値(他の通信装置や他の計算機等の装置に
ついての値)を保持する。送信先識別子は、例えば、通
信制御装置ごとに割り当てられたネットワークアドレ
ス、または、計算機ごとに割り当てられた計算機番号、
または、計算機番号とI/Oバス番号、又は、処理のボ
トルネックとなる内部バス番号等の組合せ等である。キ
ュー長603は、各コネクションに対応する送信キュー
に置かれている送信データの数を保持する。データの送
信時、オペレーティングシステムまたはアプリケーショ
ン等が送信キューのキュー長603の値を記入及び更新
する。
【0031】図5は、送信先管理表の内容の一例を示す
説明図である。送信先管理表700において、送信先識
別子701は、通信システム全体において、データの送
信先を一意に識別するための値(他の通信装置や他の計
算機等の装置についての値)を保持する(図4のそれと
同様である。)。相手I/Oバス速度702は、通信相
手の通信制御装置が接続されているI/Oバスの転送速
度の値を保持する。I/Oバスの転送速度は、例えば、
I/Oバスのビット幅に動作周波数を乗じたものであ
る。ここでは、一例として、2112(=32ビット×
66MHz、又は、64ビット×33MHz)、105
6(=32ビット×33MHz)、4224(=64ビ
ット×66MHz)等の各値を用いている。次回送信可
能時刻703は、相手通信制御装置に対してデータを送
信することのできる時刻を保持する。ここでは、一例と
して、基準時間からの時間等で表している。
【0032】図6は、コネクション確立パケットの一例
の説明図である。コネクション確立パケットにおいて、
送信先ネットワークアドレス241は、コネクション確
立パケット送信先の通信制御装置(又は、計算機)等に
割り当てられたネットワークアドレスである。送信元ネ
ットワークアドレス242は、コネクション確立パケッ
ト送信元の通信制御装置(又は、計算機)等に割り当て
られたネットワークアドレスである。送信元識別子24
3は、通信システム全体において、コネクション確立パ
ケットの送信元(通信制御装置又は計算機等の装置)を
一意に識別するための識別子である。これにより、例え
ば、ひとつのネットワークアドレスに対し、そのI/O
バス等の内部バスに送信元となる複数の通信制御装置・
計算機等が備えられている場合に、それを特定すること
ができる。送信元I/Oバス速度244は、コネクショ
ン確立パケット送信元の通信制御装置が接続されている
I/Oバスの転送速度である。その他の情報245に
は、コネクション確立に必要なその他の情報を適宜含め
ることができる。ここで、その他の情報としては、例え
ば、送信データの番号等がある。コネクション確立時、
2台の計算機間でこのようなコネクション確立パケット
を交換することにより、相手のI/Oバス速度を取得す
ることができる。
【0033】つぎに、各手段の詳細動作をフローチャー
トを参照して説明する。
【0034】図7は、送信キュー選択手段の処理手順を
示すフローチャートである。通信制御装置150の電源
投入後、送信キュー選択手段400は、送信キューの選
択処理を開始する(ステップ401)。送信キュー選択
手段400は、コネクション管理表600を参照して、
コネクションを1つ選択する(ステップ402)。この
選択は、例えば、以下のように行う。すなわち、現在選
択しているコネクションが存在する場合、コネクション
管理表600で次のコネクションを選択する。例えば、
図4において、コネクション「1」を現在選択している
場合はコネクション「2」を選択し、コネクション
「5」を現在選択している場合はコネクション「1」を
選択する。現在選択しているコネクションが存在しない
場合は、コネクション管理表600の最初のコネクショ
ンを選択する。
【0035】コネクション選択後、選択したコネクショ
ンに対応する送信キューに送信データが存在するか否か
を検査する(ステップ403)。これは、例えば、キュ
ー長603を参照して、その値が0かどうかにより判断
することができる。送信データが存在しない場合、ステ
ップ402に戻り、次のコネクションを選択する。一
方、送信データが存在する場合、送信先識別子602に
基づいて、送信先管理表700を参照し、選択している
コネクションに対応する送信先を選択する(ステップ4
04)。
【0036】つぎに、送信先管理表700において、選
択した送信先の行の次回送信可能時刻703を取得し、
この値が現在時刻以下であるか否かを検査する(ステッ
プ405)。次回送信可能時刻が現在時刻よりも大きい
場合、選択している送信先に対して送信を行うことは不
可能と判断し、ステップ402に戻り、次の送信キュー
を選択する。一方、次回送信可能時刻が現在時刻以下で
ある場合、選択しているコネクションの送信キューから
データを転送するよう、DMA制御部530に指示を行
う(ステップ406)。選択したコネクションを表管理
手段300に通知し(ステップ407)、ステップ40
2に戻り、次のコネクションを選択する。なお、表管理
手段300は、後述のように、コネクション管理表60
0及び通信先管理表700の更新等を行う。
【0037】図8、図9、図10、図11は、コネクシ
ョン管理手段200の処理手順を示すフローチャートで
ある。
【0038】図8は、コネクション管理手段がアプリケ
ーションまたはオペレーティングシステムからコネクシ
ョン確立要求を受信した場合の処理手順を示すフローチ
ャートである。コネクション管理手段200は、アプリ
ケーションまたはオペレーティングシステムからコネク
ション確立要求を受信すると(ステップ201)、コネ
クション確立パケットを通信相手となる計算機に対して
送信する(ステップ202)。つぎに、コネクション管
理手段200は、相手計算機からのコネクション確立パ
ケットの応答を受信すると(ステップ203)、表管理
手段300に対してコネクションを確立したことを通知
する(ステップ204)。さらに、コネクション管理手
段200は、アプリケーションまたはオペレーティング
システムに対してコネクションを確立したことを通知し
て(ステップ205)、処理を終了する。
【0039】図9は、コネクション管理手段が他の計算
機からコネクション確立要求を受信した場合の処理手順
を示すフローチャートである。コネクション管理手段2
00は、他の計算機からコネクション確立要求パケット
を受信すると(ステップ211)、コネクション確立応
答パケットをその計算機に対して送信する(ステップ2
12)。つぎに、コネクション管理手段200は、表管
理手段300に対してコネクションを確立したことを通
知する(ステップ213)。さらに、コネクション管理
手段200は、アプリケーションまたはオペレーティン
グシステムに対してコネクションを確立したことを通知
して(ステップ214)、処理を終了する。
【0040】図10は、コネクション管理手段がアプリ
ケーションまたはオペレーティングシステムからコネク
ション切断要求を受信した場合の処理手順を示すフロー
チャートである。コネクション管理手段200は、アプ
リケーションまたはオペレーティングシステムからコネ
クション切断要求を受信すると(ステップ221)、コ
ネクション切断パケットを、コネクションを確立してい
る通信相手の計算機に対して送信する(ステップ22
2)。つぎに、コネクション管理手段200は、表管理
手段300に対してコネクションを切断したことを通知
し(ステップ223)、アプリケーションまたはオペレ
ーティングシステムに対してコネクションを切断したこ
とを通知して(ステップ224)、処理を終了する。
【0041】図11は、コネクション管理手段が通信相
手の計算機からコネクション切断要求を受信した場合の
処理手順を示すフローチャートである。コネクション管
理手段200は、コネクションを確立している通信相手
の計算機からコネクション切断要求パケットを受信する
と(ステップ231)、表管理手段300に対してコネ
クションを切断したことを通知する(ステップ23
2)。つぎに、コネクション管理手段200は、アプリ
ケーションまたはオペレーティングシステムに対してコ
ネクションを切断したことを通知して(ステップ23
3)、処理を終了する。
【0042】図12、13、14は、表管理手段300
の処理手順を示すフローチャートである。図12は、表
管理手段がコネクション管理手段からコネクション確立
の通知を受信した場合の処理手順を示すフローチャート
である。表管理手段300は、コネクション管理手段2
00からコネクション確立の通知を受信すると(ステッ
プ301)、コネクション管理表600の中に新しいコ
ネクション用の行を作成する(ステップ302)。つぎ
に、表管理手段300は、通知されたコネクションに対
応する送信先識別子の値を、作成した行の送信先識別子
602の欄に書き込み(ステップ303)、値0をキュ
ー長603の欄に書き込む(ステップ304)。
【0043】つぎに、表管理手段300は、送信先管理
表700の送信先識別子701の欄を参照して、送信先
管理表700中に通知されたコネクションの送信先に対
応する行が存在するか否かを検査する(ステップ30
5)。ここで、送信先管理表700の中に通知されたコ
ネクションの送信先に対応する行が存在する場合、処理
を終了する。一方、送信先管理表700の中に通知され
たコネクションの送信先に対応する行が存在しない場
合、表管理手段300は、送信先管理表700の中に新
しい送信先用の行を作成する(ステップ306)。表管
理手段300は、通知されたコネクションに対応する送
信先識別子の値を、作成した行の送信先識別子701の
欄に書き込み(ステップ307)、通信相手のI/Oバ
スの転送速度を作成した行の相手I/Oバス速度702
の欄に書き込む(ステップ308)。さらに、表管理手
段300は、現在時刻を作成した行の次回送信可能時刻
703の欄に書き込み(ステップ309)、処理を終了
する。
【0044】図13は、表管理手段がコネクション管理
手段からコネクション切断の通知を受信した場合の処理
手順を示すフローチャートである。表管理手段300
は、コネクション管理手段200からコネクション切断
の通知を受信すると(ステップ311)、コネクション
管理表600の送信先識別子602を参照して、送信先
の同じコネクションが他に存在するか否かの検査を行う
(ステップ312)。送信先の同じコネクションが他に
存在する場合、表管理手段300は、通知されたコネク
ションに対応する行をコネクション管理表600から削
除して(ステップ314)、処理を終了する。一方、送
信先の同じコネクションが他に存在しない場合、表管理
手段300は、送信先管理表700からこの送信先に対
応する行を削除し(ステップ313)、さらに、通知さ
れたコネクションに対応する行をコネクション管理表6
00から削除して(ステップ314)、処理を終了す
る。
【0045】図14は、表管理手段が送信キュー選択手
段からコネクション選択の通知を受信した場合の処理手
順を示すフローチャートである。表管理手段300は、
送信キュー選択手段400からコネクション選択の通知
を受信すると(ステップ321)、DMA制御部530
が選択したコネクションのデータをメモリ130内の送
信キューから送受信バッファ540に転送し終ったか否
かを検査する(ステップ322)。転送が終了していな
い場合、表管理手段300は、転送が終了するまでステ
ップ322の検査を繰り返す。この転送が終了すると、
表管理手段300は、次回送信可能時刻を計算し、送信
先管理表700の通知されたコネクションの行におい
て、次回送信可能時刻703の欄に書き込み(ステップ
323)、コネクション管理表600のキュー長603
の欄の値を1だけ減らし(ステップ324)、処理を終
了する。
【0046】(3)送信可能時刻の計算 つぎに、表管理手段300による送信先管理表700中
の送信可能時刻の計算方法について説明する。図15
は、表管理手段における次回送信可能時刻の計算方法の
一例を示す説明図である。まず、表管理手段300は、
最大データ長、通信制御装置が接続されているI/Oバ
スの転送速度、相手通信制御装置が接続されているI/
Oバスの転送速度から、最小送信間隔を計算する(式3
30)。ここで、最大データ長とは、例えば、通信を行
う計算機間を接続するネットワークで定められている最
大のデータ長である。つぎに、現在時刻と最小送信間隔
の和を計算し、これを次回送信可能時刻とする(式33
1)。
【0047】図15で示したように、最小送信間隔は、
最大データ長、通信制御装置が接続されているI/Oバ
スの転送速度、相手通信制御装置が接続されているI/
Oバスの転送速度から決まり、コネクション確立中は一
定の値である。したがって、コネクション確立時に最小
送信間隔を計算しておくことで、データ送信時の次回送
信可能時刻の計算を簡単にし、表管理手段における処理
を高速化することも可能である。
【0048】次回送信可能時刻の計算を高速に行うため
の、本発明の他の実施の形態を、以下に説明する。図1
6は、表管理手段における次回送信可能時刻の計算を高
速化する場合の送信先管理表の内容の一例を示す説明図
である。ここでは、送信先管理表700において、相手
I/Oバス速度の欄の代わりに、最小送信間隔712の
欄を備える。最小送信時間間隔712としては、例え
ば、時間、タイムスロット数、動作クロック数等の適宜
の時間を表す値を用いることができる。表管理手段30
0は、コネクション確立時に最小送信間隔712の欄を
作成して、データを書き込む。表管理手段300におい
て次回送信可能時刻を計算する処理(図14のステップ
323)では、現在時刻と最小送信間隔の和を計算す
る。
【0049】図15に示す次回送信可能時刻の計算方法
においては、最大データ長よりも短いデータを送信する
場合、受信側において受信処理を行っていない期間が存
在し、通信の効率が低下する。そこで、データ送信の時
間間隔を決定する別の方法として、相手通信制御装置が
接続されているI/Oバスの転送速度と、送信するデー
タの長さから時間間隔を決定することもできる。受信側
計算機110、111において、通信制御装置150か
らI/Oバス161を介してデータをメモリに転送する
処理に要する時間は、転送するデータの長さによって変
化する。以下の方法によると、送信データの長さに応じ
て、受信側計算機110、111がデータをメモリに転
送する時間だけ、送信側計算機100でのデータ送信の
時間間隔を空けることができ、一層効率の良い通信を行
うことができる。以下に、この方法について説明する。
【0050】図17は、送信データが短い場合の動作説
明図である。上述の方法では、最大データ長、通信制御
装置が接続されているI/Oバスの転送速度、及び、相
手通信制御装置が接続されているI/Oバスの転送速度
に基づいて、最小送信間隔を計算する。そのため、次の
データ送信までに空ける最小送信間隔は、最大データ長
のデータを送信した場合に受信側において受信処理を連
続して行うだけの時間になる。図17において、送信側
831では送信処理836の後にデータパケット833
を送信し、送信処理837の後にデータパケット834
を送信し、また、送信処理838の後にデータパケット
835を送信する。受信側832ではデータパケット8
33の受信後に受信処理839を行い、データパケット
834の受信後に受信処理840を行い、また、データ
パケット835の受信後に受信処理841を行う。しか
し、送信データパケットが短い場合、受信処理839と
840との間、及び受信処理840と841との間に無
駄な時間が存在する。
【0051】そこで、以下に説明するように、本発明の
他の実施の形態は、送信データの長さが変化する場合に
効率のよい通信を行うためのものである。図18は、送
信データの長さが変化する場合に効率のよい通信を行う
ための表管理手段における次回送信可能時刻の計算方法
を示す説明図である。まず、表管理手段300は、通信
制御装置が接続されているI/Oバスの転送速度、相手
通信制御装置が接続されているI/Oバスの転送速度か
ら、乗数を計算する(式340)。次に、送信データの
データ長に乗数を乗じた値と、現在時刻との和を計算
し、これを次回送信可能時刻とする(式341)。この
ようにして、送信するデータの長さに基づいてデータ送
信時の時間間隔を空けるため、短いデータを送信する場
合でも受信側において連続して受信処理を行え、効率の
よい通信を行うことができる。
【0052】(4)コネクションを平等に選択するため
の他の実施の形態 図7に示す送信キュー選択手段の処理方法では、送信先
の同じコネクションが複数存在する場合、選択されにく
いコネクションが存在する可能性がある。例えば、図4
のコネクション管理表600において、コネクション
「2」、「4」、「5」の送信先識別子602はいずれ
も「2」である。そして、まず、コネクション「4」か
らデータを送信した際、送信先管理表700の次回送信
可能時刻703に時刻を書き込む。つぎに、コネクショ
ン「5」を選択するが、コネクション「5」の送信先識
別子はコネクション「4」の送信先識別子と同じである
ため、図7のステップ405の検査「次回送信可能時刻
≦現在時刻」が否となり、コネクション「5」からデー
タを送信できない場合がある。その後、次のコネクショ
ン「3」からデータを送信し、コネクション「4」を選
択したとき、図7のステップ405の検査「次回送信可
能時刻≦現在時刻」が成功し、コネクション「4」から
再びデータを送信する。その後、さらに次のコネクショ
ン「5」を選択するが、再び図7のステップ405の検
査「次回送信可能時刻≦現在時刻」が否となり、コネク
ション「5」からデータを送信できない場合が生じる。
このように、送信先が同じ別のコネクションが複数存在
すると、その特定のコネクションからは送信できないこ
とがある。
【0053】そこで、コネクションを平等に選択するた
めの、本発明の他の実施の形態を以下に説明する。図1
9は、コネクションを平等に選択するためのコネクショ
ン管理表の他の実施の形態を示す説明図である。このコ
ネクション管理表620では、一例として、図4のコネ
クション管理表600に、次コネクション624の欄を
追加するようにした。
【0054】図20は、コネクションを平等に選択する
ための送信先管理表の他の実施の形態を示す説明図であ
る。この送信先管理表720では、一例として、図4の
送信先管理表700に、次コネクション724の欄を追
加するようにした。
【0055】この実施の形態では、図19のコネクショ
ン管理表620と図20の送信先管理表720を用い
て、送信先識別子ごとにコネクションのリストを作る。
例えば、コネクション管理表620では、コネクション
「2」、「4」、「5」の送信先識別子は同じく「2」
であるので、コネクション「2」、「4」、「5」でリ
ストを1つ作成する。このリストは、送信の順番を表し
たもので、例えば次のように構成する。すなわち、送信
先管理表720の送信先識別子「2」の行において、次
コネクション724の欄は「2」である。コネクション
管理表620のコネクション「2」の行において、次コ
ネクション624の欄は「5」である。また、コネクシ
ョン「5」の行において、次コネクション624の欄は
「4」である。コネクション「4」の行の次コネクショ
ン624の欄は「終」マークである。このようにして、
送信先識別子「2」に対して、コネクション「2」、コ
ネクション「5」、コネクション「4」という順を表し
たリストを作成する。
【0056】図21は、コネクションを平等に選択する
ための、送信キュー選択手段の処理手順の他の実施の形
態を示すフローチャートである。通信制御装置の電源投
入後、送信キュー選択手段400は、送信キューの選択
処理を開始する(ステップ411)。送信先管理表72
0の送信先識別子701の欄を参照して、送信先を1つ
選択する。この選択は、例えば、以下のように行う。す
なわち、現在選択している送信先(送信先識別子の番
号)が存在する場合、送信先管理表720で次の送信先
を選択する。例えば、図20において、送信先識別子
「1」を現在選択している場合は送信先識別子「2」を
選択し、送信先識別子「3」を現在選択している場合は
送信先識別子「1」を選択する。現在選択している送信
先が存在しない場合は、送信先管理表720の最初の送
信先を選択する(ステップ412)。
【0057】送信キュー選択手段400は、送信先選択
後、送信先管理表720において、選択した送信先の行
の次回送信可能時刻703を取得し、この値が現在時刻
以下であるか否かを検査する(ステップ413)。次回
送信可能時刻が現在時刻よりも大きい場合、選択してい
る送信先に対して送信を行うことは不可能と判断し、ス
テップ412に戻り、次の送信先を選択する。一方、次
回送信可能時刻が現在時刻以下である場合、選択してい
る送信先の行の次コネクション724を取得し、次コネ
クションに対応するコネクションをコネクション管理表
620から選択する(ステップ414)。
【0058】コネクション選択後、選択したコネクショ
ンに対応する送信キューに送信データが存在するか否か
を検査する(ステップ416)。例えば、キュー長60
3を参照することで、このような検査をすることができ
る。送信データが存在しない場合、選択しているコネク
ションの行の次コネクション624を取得し、この値が
「終」マークであるか否かを検査する(ステップ41
9)。次コネクションの値が「終」マークである場合、
選択しているコネクションは選択している送信先に対応
する最後のコネクションなので、ステップ412に戻
り、次の送信先を選択する。次コネクションの値が
「終」マークでない場合、選択しているコネクションの
行の次コネクション624を取得し、次コネクションに
対応するコネクションを選択する(ステップ415)。
送信データのあるコネクションを選択するか、次コネク
ション欄が「終」マークのコネクションを選択するま
で、ステップ416、419、415を繰り返す。
【0059】一方、送信データが存在する場合、選択し
ているコネクションの送信キューからデータを転送する
よう、DMA制御部530に指示を行う(ステップ41
7)。送信キュー選択手段400は、選択したコネクシ
ョンを表管理手段300に通知し(ステップ418)、
ステップ412に戻り、次の送信先を選択する。
【0060】図22、図23及び図24は、コネクショ
ンを平等に偏りなく選択するための、表管理手段300
の処理手順の他の実施の形態を示すフローチャートであ
る。図22は、コネクションを平等に選択するための、
表管理手段がコネクション管理手段からコネクション確
立の通知を受信した場合の処理手順を示すフローチャー
トである。表管理手段300は、コネクション管理手段
200からコネクション確立の通知を受信すると(ステ
ップ351)、コネクション管理表620の中に新しい
コネクション用に行を作成する(ステップ352)。つ
ぎに、表管理手段300は、通知されたコネクションに
対応する送信先識別子の値を、作成した行の送信先識別
子602の欄に書き込む(ステップ353)。つぎに、
表管理手段300は、送信先管理表720の中に、通知
されたコネクションの送信先に対応する行が存在するか
否かを検査する(ステップ354)。送信先管理表72
0の中に通知されたコネクションの送信先に対応する行
が存在する場合、その送信先に対応するコネクションの
リストに通知されたコネクションを挿入するように、コ
ネクション管理表620及び送信先管理表720の次コ
ネクション624及び724の欄を更新し(ステップ3
55)、処理を終了する。
【0061】一方、送信先管理表720の中に通知され
たコネクションの送信先に対応する行が存在しない場
合、表管理手段300は、送信先管理表720の中に新
しい送信先用に行を作成する(ステップ356)。通知
されたコネクションに対応する送信先識別子の値を、作
成した行の送信先識別子701の欄に書き込み(ステッ
プ357)、通信相手のI/Oバスの転送速度を作成し
た行の相手I/Oバス速度702の欄に書き込み(ステ
ップ358)、現在時刻を作成した行の次回送信可能時
刻703の欄に書き込む(ステップ359)。送信先管
理表720の次コネクション724の欄に通知されたコ
ネクション番号を書き込み、コネクション管理表620
に作成した行の次コネクション624の欄に「終」マー
クを書き込むことで、送信先に対応するコネクションの
リストを作成し(ステップ360)、処理を終了する。
【0062】ステップ355において、通知されたコネ
クションをリストに挿入する処理は、例えば、次のよう
に行う。例えば、図19のコネクション管理表620及
び図20の送信先管理表720では、送信先識別子
「2」に対して、コネクション「2」、コネクション
「5」、コネクション「4」の順のリストを作成してい
る。ここで、一例として、通知されたコネクション番号
が「6」で、対応する送信先識別子が「2」である場合
を説明する。この場合、送信先管理表720の送信先識
別子「2」の行において、次コネクション724の欄を
「2」から「6」に変更する。さらに、コネクション管
理表620に作成したコネクション「6」の行におい
て、次コネクション624の欄に「2」を記入する。こ
のようにして、送信先識別子「2」に対して、コネクシ
ョン「6」、コネクション「2」、コネクション
「4」、コネクション「5」の順にリストを変更する。
【0063】図23は、コネクションを平等に選択する
ための、表管理手段がコネクション管理手段からコネク
ション切断の通知を受信した場合の処理手順を示すフロ
ーチャートである。表管理手段300は、コネクション
管理手段200からコネクション切断の通知を受信する
と(ステップ371)、コネクション管理表620を参
照して、送信先が同じコネクションが他に存在するか否
かの検査を行う(ステップ372)。送信先の同じコネ
クションが他に存在する場合、表管理手段300は、送
信先に対応するコネクションのリストから通知されたコ
ネクションを削除するように、コネクション管理表62
0及び送信先管理表720の次コネクションの欄を更新
し(ステップ375)、通知されたコネクションに対応
する行をコネクション管理表620から削除して(ステ
ップ374)、処理を終了する。
【0064】一方、送信先の同じコネクションが他に存
在しない場合、送信先管理表720からこの送信先に対
応する行を削除し(ステップ373)、通知されたコネ
クションに対応する行をコネクション管理表620から
削除して(ステップ374)、処理を終了する。
【0065】ステップ375において、通知されたコネ
クションをリストから削除する処理は、例えば、次のよ
うに行う。図19のコネクション管理表620及び図2
0の送信先管理表720では、送信先識別子「2」に対
して、コネクション「2」、コネクション「5」、コネ
クション「4」の順のリストを作成している。例えば、
通知されたコネクション番号が「5」の場合、コネクシ
ョン管理表620のコネクション「2」の行において、
次コネクション624の欄を「5」から「4」に変更す
ることで、送信先識別子「2」に対して、コネクション
「2」、コネクション「4」の順にリストを変更する。
また、例えば、通知されたコネクション番号が「2」の
場合、送信先管理表72の送信先識別子「2」の行にお
いて、次コネクション724の欄を「2」から「5」に
変更することで、送信先識別子「2」に対して、コネク
ション「5」、コネクション「4」の順にリストを変更
する。
【0066】図24は、コネクションを平等に選択する
ための、表管理手段が送信キュー選択手段からコネクシ
ョン選択の通知を受信した場合の処理手順を示すフロー
チャートである。表管理手段300は、送信キュー選択
手段400からコネクション選択の通知を受信すると
(ステップ381)、DMA制御部530が選択したコ
ネクションのデータをメモリ130内の送信キューから
送受信バッファ540に転送し終ったか否かを検査する
(ステップ382)。転送が終了していない場合、表管
理手段300は、転送が終了するまでステップ382の
検査を繰り返す。この転送が終了すると、表管理手段3
00は、次回送信可能時刻を計算し、送信先管理表72
0の通知されたコネクションの行において、次回送信可
能時刻703の欄に書き込み(ステップ383)、コネ
クション管理表620のキュー長603の欄の値を1だ
け減らす(ステップ384)。つぎに、表管理手段30
0は、通知されたコネクションを送信先に対応するコネ
クションのリストの最後に移動するように、コネクショ
ン管理表620及び送信先管理表720の次コネクショ
ンの欄を更新し(ステップ385)、処理を終了する。
【0067】ステップ385において、通知されたコネ
クションをリストの最後に移動する処理は、例えば、次
のように行う。図19のコネクション管理表620及び
図20の送信先管理表720では、送信先識別子「2」
に対して、コネクション「2」、コネクション「5」、
コネクション「4」の順のリストを作成している。ここ
で、例えば、通知されたコネクション番号が「5」の場
合、コネクション管理表620のコネクション「2」の
行において、次コネクション624の欄を「5」から
「4」に変更し、コネクション「4」の行の次コネクシ
ョン624の欄を「終」から「5」に変更し、コネクシ
ョン「5」の行の次コネクション624の欄を「4」か
ら「終」に変更する。このようにして、送信先識別子
「2」に対して、コネクション「2」、コネクション
「4」、コネクション「5」の順にリストを変更する。
【0068】また、例えば、通知されたコネクション番
号が「2」の場合、送信先管理表720の送信先識別子
「2」の行の次コネクション724の欄を「2」から
「5」に変更する。さらに、コネクション管理表620
のコネクション「4」の行において、次コネクション6
24の欄を「終」から2に変更し、コネクション「2」
の行の次コネクション624の欄を「5」から「終」に
変更する。このようにして、送信先識別子「2」に対し
て、コネクション「5」、コネクション「4」、コネク
ション「2」の順にリストを変更する。
【0069】なお、上述のリストは、コネクション管理
表620及び送信先管理表720とは別個に適宜記憶さ
れても良いし、リストの次のアドレス・コネクション番
号等を示すデータを各行のデータに加えることで各行の
データ間でチェーン構造を構成するようにしても良い。
【0070】(5)応用 また、上述の説明では、主に、計算機内のI/Oバスが
転送速度のボトルネックである場合を説明したが、この
他適宜の内部バスがボトルネックとなる場合にも、本発
明を適用することができる。さらに、チェックサム等の
エラー有無等の制御データをプロセッサ等が計算する処
理速度や、メモリとのデータの読出し速度及び書込み速
度等がボトルネックとなる場合にも、本発明を適用する
ことができる。その際、内部バス速度の代わりに、例え
ば、最小送信間隔に関するデータ、単位長データの伝送
に要する時間に関するデータ、又は、送信先プロセッサ
処理速度等の転送速度に関連するデータ等を適宜記憶す
るように構成すればよい。また、コネクションを平等に
選択する場合にも、相手I/Oバス速度に限らず、上述
のような適宜のデータを使用することもできる。さら
に、直接ボトルネックとなるデータ以外の転送速度等に
関連する適宜のデータを用いて、送信タイミングを図る
ようにしても良い。
【0071】さらに、以上の説明では、特に計算機内の
内部バスに接続された通信制御装置について説明した
が、通信制御装置は、計算機内に限らず、計算機の外部
の通信制御装置、計算機以外の装置に内蔵又は外部接続
される通信制御装置等の適宜の装置にも、本発明を適用
することができる。また、あるネットワークアドレスの
装置内に設けられたI/Oバス等の内部バスに複数の通
信制御装置・計算機等の装置が備えられている場合に
も、その装置の送信先識別子を特定することにより、本
発明を適用することができる。
【0072】
【発明の効果】以上述べたように、本発明によれば、送
信側装置(計算機等)において相手装置(計算機等)に
対してデータを送信する時間間隔を空けるようにしたの
で、受信側装置では、通信制御装置が内部バスを介して
受信データをメモリに格納する受信処理を終了した後
に、次に送信されたデータを受信することができる。こ
のため、受信失敗によるデータ損失を防ぎ、効率的な通
信を達成することができる。
【図面の簡単な説明】
【図1】本発明に係る通信システム全体の構成図。
【図2】送信側計算機と受信側計算機との間におけるパ
ケットの送受信を示す説明図。
【図3】従来技術と本発明との比較を示す動作説明図。
【図4】コネクション管理表の内容の一例を示す説明
図。
【図5】送信先管理表の内容の一例を示す説明図。
【図6】コネクション確立パケットの一例の説明図。
【図7】送信キュー選択手段の処理手順を示すフローチ
ャート。
【図8】コネクション管理手段がアプリケーションまた
はオペレーティングシステムからコネクション確立要求
を受信した場合の処理手順を示すフローチャート。
【図9】コネクション管理手段が他の計算機からコネク
ション確立要求を受信した場合の処理手順を示すフロー
チャート。
【図10】コネクション管理手段がアプリケーションま
たはオペレーティングシステムからコネクション切断要
求を受信した場合の処理手順を示すフローチャート。
【図11】コネクション管理手段が通信相手の計算機か
らコネクション切断要求を受信した場合の処理手順を示
すフローチャート。
【図12】表管理手段がコネクション管理手段からコネ
クション確立の通知を受信した場合の処理手順を示すフ
ローチャート。
【図13】表管理手段がコネクション管理手段からコネ
クション切断の通知を受信した場合の処理手順を示すフ
ローチャート。
【図14】表管理手段が送信キュー選択手段からコネク
ション選択の通知を受信した場合の処理手順を示すフロ
ーチャート。
【図15】表管理手段における次回送信可能時刻の計算
方法の一例を示す説明図。
【図16】表管理手段における次回送信可能時刻の計算
を高速化する場合の送信先管理表の内容の一例を示す説
明図。
【図17】送信データが短い場合の動作説明図。
【図18】送信データの長さが変化する場合に効率のよ
い通信を行うための表管理手段における次回送信可能時
刻の計算方法を示す説明図。
【図19】コネクションを平等に選択するためのコネク
ション管理表の他の実施の形態を示す説明図。
【図20】コネクションを平等に選択するための送信先
管理表の他の実施の形態を示す説明図。
【図21】コネクションを平等に選択するための、送信
キュー選択手段の処理手順の他の実施の形態を示すフロ
ーチャート。
【図22】コネクションを平等に選択するための、表管
理手段がコネクション管理手段からコネクション確立の
通知を受信した場合の処理手順を示すフローチャート。
【図23】コネクションを平等に選択するための、表管
理手段がコネクション管理手段からコネクション切断の
通知を受信した場合の処理手順を示すフローチャート。
【図24】コネクションを平等に選択するための、表管
理手段が送信キュー選択手段からコネクション選択の通
知を受信した場合の処理手順を示すフローチャート。
【符号の説明】
100・・・送信側計算機 110・・・受信側計算機1 111・・・受信側計算機1 120・・・プロセッサ 130・・・メモリ 131・・・アプリケーション1 132・・・アプリケーション2 133・・・送信キュー1 134・・・受信キュー1 135・・・送信キュー2 136・・・受信キュー2 137・・・送信キューN 138・・・受信キューN 140・・・I/Oブリッジ 150・・・通信制御装置 160・・・ホストバス 161・・・I/Oバス 162・・・ネットワーク 200・・・コネクション管理手段 300・・・表管理手段 400・・・送信キュー選択手段 500・・・自I/Oバス速度保持手段 600・・・コネクション管理表 700・・・送信先管理表 510・・・メモリ 520・・・制御装置 530・・・DMA制御部 540・・・送受信バッファ 550・・・送受信部
フロントページの続き (72)発明者 屋代 寛 神奈川県海老名市下今泉810番地 株式会 社日立製作所サーバ開発本部内 Fターム(参考) 5B089 GA04 KA12 KB06 KC06 KC15 KC21 5K032 AA01 BA04 CC05 DB24 5K034 AA01 CC01 DD01 FF01 FF02 GG02 HH01 HH02 HH14 HH15 HH17 HH42 HH54 KK04 LL01 MM08 MM12 MM14 MM39 NN11

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】自装置と送信先装置との間の通信に関する
    コネクション番号、及び、送信先装置の送信先識別子を
    含むデータを記憶するコネクション管理表と、 送信先装置の送信先識別子、送信先装置の内部バス速
    度、及び、次回送信可能時刻を含むデータを記憶する送
    信先管理表と、 コネクション確立時に、送信先装置の内部バス速度を含
    むコネクション確立応答を送信先装置から受信するコネ
    クション管理手段と、 前記コネクション管理手段からコネクション確立の通知
    を受信し、前記コネクション管理表にデータを作成し、
    さらに、前記送信先管理表に送信先識別子に対応するデ
    ータがない場合、前記コネクション管理手段により受信
    された送信先装置の内部バス速度を含むデータを作成す
    る表管理手段と、 前記表管理手段により作成された前記コネクション管理
    表から、次のコネクションについてのコネクション番号
    及び送信先識別子を選択し、前記表管理手段により作成
    された前記送信先管理表から、選択された送信先識別子
    についての次回送信可能時刻を取得し、取得された次回
    送信可能時刻と現在時間との比較結果に応じて送信キュ
    ーを選択する送信キュー選択手段とを備えた通信制御装
    置。
  2. 【請求項2】前記送信先管理表は、内部バス速度の代わ
    りに、最小送信間隔に関するデータ、単位長データの伝
    送に要する時間に関するデータ、又は、送信先プロセッ
    サ処理速度等の転送速度に関連するデータのいずれかを
    記憶することを特徴とする請求項1に記載の通信制御装
    置。
  3. 【請求項3】前記表管理手段は、前記コネクション管理
    表及び前記送信先管理表によって、送信先識別子毎に選
    択されるコネクションの順番を示すリストをさらに作成
    し、 前記送信キュー選択手段は、作成されたリストに従い、
    ひとつの送信先識別子についての複数のコネクションを
    順次選択するようにしたことを特徴とする請求項1又は
    2に記載の通信制御装置。
JP02667099A 1999-02-03 1999-02-03 通信制御装置 Expired - Fee Related JP3569149B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP02667099A JP3569149B2 (ja) 1999-02-03 1999-02-03 通信制御装置
US09/497,535 US6557034B1 (en) 1999-02-03 2000-02-03 Communication control device transmitting data based on internal bus speed of receiving computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02667099A JP3569149B2 (ja) 1999-02-03 1999-02-03 通信制御装置

Publications (2)

Publication Number Publication Date
JP2000224260A true JP2000224260A (ja) 2000-08-11
JP3569149B2 JP3569149B2 (ja) 2004-09-22

Family

ID=12199846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02667099A Expired - Fee Related JP3569149B2 (ja) 1999-02-03 1999-02-03 通信制御装置

Country Status (2)

Country Link
US (1) US6557034B1 (ja)
JP (1) JP3569149B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011223445A (ja) * 2010-04-13 2011-11-04 Kyocera Mita Corp 処理要求送信回路、及び情報処理装置
JP2013537009A (ja) * 2010-08-31 2013-09-26 キヤノン株式会社 並列接続を介した送信機から受信機への大量のデータ転送をオートチューニングする機構
JP2014035696A (ja) * 2012-08-09 2014-02-24 Fujitsu Ltd 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
JP2014075798A (ja) * 2007-10-19 2014-04-24 Sony Corp Cecの拡張
JP2015036928A (ja) * 2013-08-15 2015-02-23 富士通株式会社 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
JP2020071729A (ja) * 2018-10-31 2020-05-07 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681275B2 (en) * 2001-09-20 2004-01-20 Intel Corporation Method and apparatus for dynamic coalescing
JP4936542B2 (ja) * 2007-08-14 2012-05-23 キヤノン株式会社 通信制御装置、通信制御方法、及びコンピュータプログラム
US10073714B2 (en) 2015-03-11 2018-09-11 Western Digital Technologies, Inc. Task queues

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2466808A1 (fr) * 1979-09-28 1981-04-10 Ibm France Systeme pour controler la duree de l'intervalle de temps entre blocs dans un systeme de communication calculateur a calculateur
DE69433351T2 (de) * 1993-10-05 2004-05-27 Hitachi, Ltd. Datenübertragungssteuerungssystem

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075798A (ja) * 2007-10-19 2014-04-24 Sony Corp Cecの拡張
JP2011223445A (ja) * 2010-04-13 2011-11-04 Kyocera Mita Corp 処理要求送信回路、及び情報処理装置
JP2013537009A (ja) * 2010-08-31 2013-09-26 キヤノン株式会社 並列接続を介した送信機から受信機への大量のデータ転送をオートチューニングする機構
JP2014035696A (ja) * 2012-08-09 2014-02-24 Fujitsu Ltd 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
JP2015036928A (ja) * 2013-08-15 2015-02-23 富士通株式会社 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
JP2020071729A (ja) * 2018-10-31 2020-05-07 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム
JP7087921B2 (ja) 2018-10-31 2022-06-21 富士通株式会社 処理フレームワーク連携装置、処理フレームワーク連携方法および処理フレームワーク連携プログラム

Also Published As

Publication number Publication date
JP3569149B2 (ja) 2004-09-22
US6557034B1 (en) 2003-04-29

Similar Documents

Publication Publication Date Title
US7051112B2 (en) System and method for distribution of software
US5167035A (en) Transferring messages between nodes in a network
CN1698337B (zh) 利用卸载单元处理tcp连接数据的方法
US7185114B1 (en) Virtual memory systems and methods
JP4160642B2 (ja) ネットワークデータ転送方法
CN1633647B (zh) 用于管理网络中的数据传送的系统、方法
US7254620B2 (en) Storage system
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
WO2004040819A2 (en) An apparatus and method for receive transport protocol termination
JPH0824320B2 (ja) 通信制御装置における緩衝域連鎖の方法およびその装置
US7009967B1 (en) Systems and methods for transmitting data packets
US20040260841A1 (en) Method, apparatus, and system for internet protocol communication over intelligent platform management bus
JP2000224260A (ja) 通信制御装置
US6339796B1 (en) System for logical connection resynchronization
JPH10308791A (ja) データ通信方法、データ通信装置、およびデータ通信プログラム記録媒体
US7539204B2 (en) Data and context memory sharing
US20040267960A1 (en) Force master capability during multicast transfers
CN111404842A (zh) 数据传输方法、装置及计算机存储介质
US7593318B2 (en) Method and apparatus for header updating
US6230283B1 (en) Logical connection resynchronization
KR100431206B1 (ko) 고속 라우터에서 분산 포워딩을 위한 테이블 관리 방법
EP0358293B1 (en) Local area system transport
US6237111B1 (en) Method for logical connection resynchronization
JPH09311843A (ja) クライアントサーバ型通信方法及びクライアントサーバ型通信装置
JP3070749B2 (ja) ヘツダ予測方式及び通信制御処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees