JPH10154116A - Data transfer method - Google Patents

Data transfer method

Info

Publication number
JPH10154116A
JPH10154116A JP8313805A JP31380596A JPH10154116A JP H10154116 A JPH10154116 A JP H10154116A JP 8313805 A JP8313805 A JP 8313805A JP 31380596 A JP31380596 A JP 31380596A JP H10154116 A JPH10154116 A JP H10154116A
Authority
JP
Japan
Prior art keywords
data
transmission
computer
reception
user program
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.)
Pending
Application number
JP8313805A
Other languages
Japanese (ja)
Inventor
Yasuo Yamazaki
康雄 山▲崎▼
Toshiaki Mori
利明 森
Toshiyuki Ukai
敏之 鵜飼
Masaaki Shimizu
正明 清水
Toyohiko Kagimasa
豊彦 鍵政
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 JP8313805A priority Critical patent/JPH10154116A/en
Publication of JPH10154116A publication Critical patent/JPH10154116A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To transfer transmitting data without buffering by an operating system (OS). SOLUTION: In a computer 100 at a sending end, an OS 105 communicates with an OS 205 and collectively confirms whether transmission destination user programs 203 of plural transmitting data which are designated by plural user programs 103 are separately in a receivable state. When a user program 204 at a receiving end does not issue a receiving request, the OS 105 regards the program as unreceivable, collects the transmission of plural transmitting data which are decided as transmittable and instructs a communication device 112. In the device 112, a DMA circuit 113 directly and continuously reads the transmitting data from the buffer 104 of each user program 103, and a communication circuit 114 separately transmits the transmitting data via a channel 300. In a computer 200 at the receiving end, a DMA circuit 213 directly and continuously writes each transmitting data on the buffer 204 of a user program 203 of a transmission destination.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は伝送路で接続された
計算機間のデータ通信方法に係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data communication method between computers connected by a transmission line.

【0002】[0002]

【従来の技術】従来の計算機システム間でのデータ転送
方法としては、ハイレベル・データリンク制御手順(H
DLC:High Level Data Link
Control)がある。例えば、“データ通信”、デ
ータ通信教育委員会編、共立出版、pp.46−−53
(1982)に示す「ハイレベル・データリンク制御手
順(HDLC:High Level Data Li
nk Control)」参照。HDLCは送信側の計
算機が受信側の計算機に転送の通知を出し、受信側の計
算機から応答が返ってきてからデータ転送を行う、とい
うデータ転送方法である。このデータ転送方法は、直接
データ転送路で接続された計算機間のデータ転送に適用
できる。このHDLC手順は、ユーザプログラム間でデ
ータを直接転送することができるので高速転送に向いて
いるが、それぞれOSで制御される任意のユーザプログ
ラム間のデータ転送には適用できない。なお、HDLC
手順によるデータ転送を高速化するために、送信側計算
機の送信回路に、送信側のプログラムのバッファ内の送
信データを連続して読み出すDMA回路を設け、受信側
計算機の受信回路に受信したデータを受信側のプログラ
ムのバッファに連続して書き込むDMA回路を設ける工
夫もなされている。
2. Description of the Related Art As a conventional data transfer method between computer systems, a high-level data link control procedure (H
DLC: High Level Data Link
Control). For example, “Data Communication”, edited by the Data Communication Board of Education, Kyoritsu Shuppan, pp. 146-64. 46--53
(1982), “High Level Data Link Control Procedure (HDLC: High Level Data Li)
nk Control ”). HDLC is a data transfer method in which a transmitting computer sends a transfer notification to a receiving computer, and data is transferred after a response is returned from the receiving computer. This data transfer method can be applied to data transfer between computers connected by a direct data transfer path. This HDLC procedure is suitable for high-speed transfer since data can be directly transferred between user programs, but cannot be applied to data transfer between arbitrary user programs controlled by the OS. HDLC
In order to speed up the data transfer by the procedure, the transmission circuit of the transmission side computer is provided with a DMA circuit for continuously reading the transmission data in the buffer of the transmission side program, and the received data is transmitted to the reception circuit of the reception side computer. There is also a device for providing a DMA circuit that continuously writes data in the buffer of the program on the receiving side.

【0003】それぞれオペレーティングシステム(O
S)で制御される任意のユーザプログラム間のデータ転
送の方法としては、TCP/IP(Transmiss
ionControl Protocol/Inter
net Protocol)による方法がある。例え
ば、中村明/相田仁/計宇生/小池汎平共訳「UNIX
4.3BSDの設計と実装」丸善、pp.169−18
5(1991)(原著:The Design and
Implementation of the 4.
3BSD Operating System、原著
者:S.J.Leffler/M.K.McKusic
k/M.J.Karels/J.S.Quarterm
an、原発行所Addison Wesley)参照。
このデータ転送方法は、計算機ネットワークで接続され
た任意の計算機間での、他の計算機を介したパケットに
よるデータ転送にも使用できる。
Each operating system (O
As a method of transferring data between arbitrary user programs controlled by S), TCP / IP (Transmission)
ionControl Protocol / Inter
net Protocol). For example, the translation of "Akira Nakamura / Jin Aida / Keio / Kohei Panpei" UNIX
4.3 Design and Implementation of 3BSD ”Maruzen, pp. 169-18
5 (1991) (Original work: The Design and
Implementation of the 4.
3BSD Operating System, original author: S.M. J. Leffler / M. K. McKusic
k / M. J. Karels / J. S. Quarterm
an, Original Issuer Addison Wesley).
This data transfer method can also be used for packet data transfer between arbitrary computers connected by a computer network via another computer.

【0004】この方法では、複数のユーザプログラムが
同時にデータを転送できるようにOSがバッファリング
を行っている。すなわち、送信側の計算機では、OS
は、ユーザプログラムに割り当てられたバッファ領域か
らそのOS内バッファへ送信すべきデータをコピーす
る。この際、コピーしたデータにパケットヘッダを付加
する。この送信データとヘッダを含むパケットを送信回
路によりネットワークを介して受信側計算機に送信す
る。受信側計算機では、受信回路が、受信したパケット
を受信側OS内のバッファに格納し、受信側OSは、書
き込まれたパケットのヘッダから受信先のユーザプログ
ラムを判別し、その受信側ユーザプログラムから受信要
求が来たときに、その受信側のプログラムのバッファ
へ、受信側OSのバッファ内にある受信したパケット内
のデータをコピーする。この時点で受信側のOSは受信
完了を送信側のOSに通知する。このデータ転送方法で
は、一つのパケットで送信されるデータの長さは、送信
側OSおよび受信側OS用のバッファのサイズに固定さ
れている。このバッファの大きさを超えるデータを転送
する場合にはこのバッファのサイズでもってそのデータ
を分割し、分割された複数の部分データを複数のパケッ
トにより転送する。送信側計算機のOSおよび受信側計
算機のOSでは、通信装置の起動処理、終了処理をそれ
ぞれのパケットに対して行う。
In this method, the OS performs buffering so that a plurality of user programs can simultaneously transfer data. That is, in the sending computer, the OS
Copies the data to be transmitted from the buffer area allocated to the user program to the buffer in the OS. At this time, a packet header is added to the copied data. The transmission data and the packet including the header are transmitted by the transmission circuit to the receiving computer via the network. In the receiving-side computer, the receiving circuit stores the received packet in a buffer in the receiving-side OS, and the receiving-side OS determines the user program of the receiving destination from the header of the written packet. When a reception request comes, the data in the received packet in the buffer of the receiving OS is copied to the buffer of the program on the receiving side. At this point, the receiving OS notifies the sending OS of the completion of the reception. In this data transfer method, the length of data transmitted in one packet is fixed to the size of buffers for the transmitting OS and the receiving OS. When transferring data exceeding the size of the buffer, the data is divided according to the size of the buffer, and a plurality of divided partial data are transferred by a plurality of packets. In the OS of the transmitting computer and the OS of the receiving computer, activation processing and termination processing of the communication device are performed for each packet.

【0005】この転送方法では、受信側のOS内のバッ
ファに、受信データを一時的に保持するので、受信側の
ユーザプログラムは、上記データの送信と非同期に受信
要求を発行できる。また、もし、上記データの送信が不
成功となったときには、送信側のOSがそのOS用のバ
ッファ内の送信データを再送する。このため、送信側の
ユーザプログラムは、受信側のユーザプログラムが受信
可能な状態になっているか否かによらないでデータの送
信を送信側のOSに要求でき、しかも、そのデータがそ
のOS内のバッファにコピーされた後は、そのデータの
転送が完了するのを待たないで他の処理を実行できる。
In this transfer method, since the received data is temporarily stored in a buffer in the OS on the receiving side, the user program on the receiving side can issue a receiving request asynchronously with the transmission of the data. If the data transmission is unsuccessful, the OS on the transmitting side retransmits the transmission data in the buffer for the OS. Therefore, the user program on the transmitting side can request the OS on the transmitting side to transmit data regardless of whether the user program on the receiving side is in a receivable state. After being copied to the buffer, other processing can be executed without waiting for the data transfer to be completed.

【0006】この方法によるデータ転送を高速に行うた
めに、送信側計算機の送信装置内に、送信側のOSのバ
ッファから送信データを連続して読み出すためのDMA
回路を設け、受信側計算機の受信装置内に、受信したデ
ータを受信側OSのバッファに連続して書き込むための
DMA回路を設けるという工夫も行われている。例え
ば、山居正幸著「イーサネット・ボード&カード」、オ
ープンデザイン、No.3、CQ出版、pp.109−
−113(1994)参照。
In order to perform high-speed data transfer by this method, a DMA for continuously reading transmission data from a buffer of an OS of a transmission side is provided in a transmission device of a transmission side computer.
A circuit is provided and a DMA circuit for continuously writing received data to a buffer of the receiving OS is provided in the receiving device of the receiving computer. For example, Masayuki Yamai, "Ethernet Board &Card", Open Design, No. 3, CQ Publishing, pp. 109-
-113 (1994).

【0007】[0007]

【発明が解決しようとする課題】TCP/IPによるデ
ータ転送では、送信側の計算機および受信側の計算機の
いずれにおいてもユーザプログラムのバッファとOSの
バッファの間でデータコピーが行われる。このデータコ
ピー処理にかかる時間はデータ量に比例して大きくな
り、このデータコピー時間が、データ転送時間に占める
割合が大となる。その結果、計算機間を高速な伝送路で
接続してもこの方法によるデータ転送速度はさほど改善
されない問題点がある。前述のように、送信側計算機の
送信回路と受信側計算機の受信回路の両方にDMA回路
を設けてもこの問題は残る。とくに科学計算機分野で
は、非常に多量のデータを計算機間で連続して転送する
必要が生じ、このデータコピー時間の問題が著しく大と
なる。
In the data transfer by TCP / IP, data is copied between the buffer of the user program and the buffer of the OS in both the computer on the transmitting side and the computer on the receiving side. The time required for the data copy processing increases in proportion to the data amount, and the ratio of the data copy time to the data transfer time increases. As a result, there is a problem that even if the computers are connected by a high-speed transmission line, the data transfer speed by this method is not so much improved. As described above, this problem remains even if the DMA circuits are provided in both the transmission circuit of the transmitting computer and the receiving circuit of the receiving computer. Particularly in the field of scientific computers, it is necessary to continuously transfer a very large amount of data between computers, and the problem of the data copy time becomes extremely large.

【0008】さらに、この方法では、送信側OSおよび
受信側OS用のバッファのサイズを超えるデータを転送
する場合、前述のように、そのデータを分割して得られ
る複数の部分データを複数のパケットにより転送する。
この際、送信側計算機のOSおよび受信側計算機のOS
では、通信装置の起動処理、終了処理をそれぞれのパケ
ットに対して行う。このデータのサイズが大きくなる
と、それを転送するのに必要なパケット数が多くなり、
これらのOSが行う信装置の起動処理、終了処理に時間
が掛かり、それによりデータ転送速度が低減するという
問題がある。この問題も科学計算機分野のごとく非常に
多量のデータを計算機間で連続して転送する場合に大き
くなる。
Further, according to this method, when transferring data exceeding the size of the buffer for the transmitting OS and the receiving OS, as described above, a plurality of partial data obtained by dividing the data is divided into a plurality of packets. Transfer by
At this time, the OS of the transmitting computer and the OS of the receiving computer
Then, the start-up process and the end process of the communication device are performed for each packet. As the size of this data increases, the number of packets required to transfer it increases,
There is a problem that it takes time for the start-up process and the end process of the communication device to be performed by these OSs, thereby reducing the data transfer speed. This problem also increases when a very large amount of data is continuously transferred between computers as in the field of scientific computers.

【0009】TCP/IPによるデータ転送では、多数
の計算機を経由したデータ転送にも使用できるが、その
経由のためにデータ転送速度は低下する。科学技術計算
用のシステムでは、伝送路で結合された特定の計算機間
で他の計算機を介さないでより高速にデータを転送する
ことが望まれる。
[0009] TCP / IP data transfer can be used for data transfer via a large number of computers, but the data transfer speed is reduced due to the transfer. 2. Description of the Related Art In a system for scientific and technical calculations, it is desired to transfer data between specific computers connected by a transmission line at a higher speed without passing through other computers.

【0010】従って、本発明の目的は、送信側計算機の
OSで制御されるユーザプログラムから、受信側計算機
内のOSで制御されるユーザプログラムに、より高速に
データを転送するデータ転送方法、とくに、科学計算用
のユーザプログラムの間で非常に多量のデータを他の計
算機を介しないで転送するのに適したデータ転送方法を
提供することである。
Accordingly, an object of the present invention is to provide a data transfer method for transferring data at a higher speed from a user program controlled by an OS of a transmitting computer to a user program controlled by an OS of a receiving computer, Another object of the present invention is to provide a data transfer method suitable for transferring a very large amount of data between user programs for scientific calculations without passing through another computer.

【0011】本発明のより具体的な目的は、送信側計算
機でのユーザプログラム用のバッファとOS用のバッフ
ァ間のデータコピーおよび受信側計算機でのユーザプロ
グラム用のバッファとOS用のバッファ間のデータコピ
ーを行わないで、それらのユーザプログラム間でデータ
を転送するデータ転送方法を提供することにある。
A more specific object of the present invention is to copy data between a buffer for a user program and a buffer for an OS on a transmitting computer and to copy data between a buffer for a user program and a buffer for an OS on a receiving computer. An object of the present invention is to provide a data transfer method for transferring data between user programs without performing data copy.

【0012】本発明の他の具体的な目的は、送信側計算
機のユーザプログラムが指定したデータを分割しないで
受信計算機のユーザプログラムに転送するデータ転送方
法を提供することにある。
Another specific object of the present invention is to provide a data transfer method for transferring data specified by a user program of a transmitting computer to a user program of a receiving computer without dividing the data.

【0013】[0013]

【課題を解決するための手段】上記目的を達成するため
に、本発明によるデータ転送は、相互に伝送路で接続さ
れた第1、第2の計算機を有し、該第1、第2の計算機
がプロセッサと主記憶装置と該主記憶装置上に格納され
たデータを読み出し、該伝送路に送信しあるいは該伝送
路からデータを受信し、該主記憶装置に書き込む通信装
置を有するシステムにおいて実行される。まず、第1の
計算機で実行されている送信元のユーザプログラムと第
2の計算機で実行されている送信先のユーザプログラム
の間でデータ転送が可能か否かを第1の計算機を制御す
る第1のOSと第2の計算機を制御する第2のOSとの
間の通信により判別する。もしそれらのプログラム間で
データ転送が可能と判断されたときには、それらのOS
からの指示に従って、送信側計算機の通信装置と受信側
計算機の通信装置によりそれらのユーザプログラムの間
でデータをそれらのOSを介しないで直接転送する。よ
り具体的には、(a)送信元のユーザプログラムによ
り、その送信元のユーザプログラム用の第1の領域に保
持されたデータを第2の計算機で実行されている送信先
のユーザプログラムへ送信することを要求する送信要求
を第1のOSに発行し、(b)第1のOSから第2のO
Sに、送信先のユーザプログラムがデータ受信可能な状
態にあるか否かを問い合わせ、(c)第2のOSが送信
先のユーザプログラムがデータ受信可能な状態にあるか
否かを判断し、その判別結果を示す問い合わせ結果を第
2のOSにより第1のOSに通知し、(d)第2のOS
が送信先のユーザプログラムがデータ受信可能な状態に
あると判断したときに、第2のOSにより、送信要求が
指定したデータの受信と、送信先のユーザプログラム用
の第2の領域へのそのデータの書き込みとを第2の計算
機の通信装置に指示し、(e)問い合わせ結果が送信先
のユーザプログラムがデータ受信可能な状態にあること
を示すとき、送信側計算機のOSにより上記データの送
信を送信側計算機の通信装置に指示し、(f)第1の計
算機の通信装置によりデータを送信元ユーザプログラム
用の第1の領域から読み出し、第2の計算機に伝送路を
介して転送し、(g)第2の計算機の該通信装置によ
り、データを受信し、送信先のユーザプログラム用の上
記第2の領域に書き込む。
In order to achieve the above object, a data transfer according to the present invention comprises first and second computers connected to each other by a transmission line, and the first and second computers are connected to each other. A computer executes a system having a processor, a main storage device, and a communication device that reads data stored in the main storage device, transmits the data to the transmission line, or receives data from the transmission line, and writes the data to the main storage device. Is done. First, it is determined whether or not data transfer is possible between the user program of the transmission source executed by the first computer and the user program of the transmission destination executed by the second computer. The determination is made by communication between the first OS and the second OS that controls the second computer. If it is determined that data transfer is possible between those programs, the OS
In accordance with the instruction from, the communication device of the transmitting computer and the communication device of the receiving computer directly transfer data between these user programs without passing through their OS. More specifically, (a) the data stored in the first area for the source user program is transmitted to the destination user program executed by the second computer by the source user program. Issue a transmission request to the first OS, and (b) send the second OS
S, inquires whether the destination user program is in a data receivable state, and (c) the second OS determines whether the destination user program is in a data receivable state, The second OS notifies the first OS of the inquiry result indicating the determination result, and (d) the second OS
Determines that the destination user program is in a data receivable state, the second OS receives the data specified by the transmission request and sends the data to the second area for the destination user program. (E) When the inquiry result indicates that the user program of the transmission destination is in a data receivable state, the OS of the transmission-side computer transmits the data. To the communication device of the transmitting computer, (f) reading data from the first area for the source user program by the communication device of the first computer, transferring the data to the second computer via a transmission path, (G) The data is received by the communication device of the second computer and is written to the second area for the destination user program.

【0014】[0014]

【発明の実施の形態】以下、本発明に係るデータ転送方
法を図面に示した実施の形態を参照してさらに詳細に説
明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a data transfer method according to the present invention will be described in more detail with reference to embodiments shown in the drawings.

【0015】<発明の実施の形態> (1)システム構成と動作の概要 図1に示した計算機システムにおいて、計算機100、
200はそれぞれプロセッサ101、201と、主記憶
装置102、202と、通信装置112、212とから
なり、これらの通信装置が高速かつ高信頼な伝送路であ
るチャネル300で接続され、これらの計算機は、この
チャネル300を介して他の計算機を介することなく直
接に接続されている。通信装置112、212は、それ
ぞれダイレクトメモリアクセス(DMA)回路113、
213および通信回路114、214、命令実行回路1
15、215からなり、DMA回路113、213はそ
れぞれ主記憶装置102、202上の領域を直接読み書
き可能になっている。OS105、205が通信装置1
12、212への命令を主記憶装置102、202上に
用意されたDMA制御リスト111、211に格納して
通信装置112、212を起動すると、命令実行回路1
15、215がDMA制御リスト111、211に格納
された命令を解釈し、DMA回路113、213および
通信回路114、214を制御することで与えられた命
令を実行し、複数の命令がある場合は残りの命令も同様
に順次実行し、全ての命令の解釈し、その実行が完了す
ると、OS105、205に対してハードウェア割り込
みを発生して命令の完了報告を行う。DMA制御リスト
111、211に格納する命令は、(1)主記憶装置1
12、212のどこから、(2)どれだけの大きさを、
(3)送信するかあるいは受信するか、という指定の組
からなる任意の個数のDMA制御命令のリストである。
通信装置112、212の双方で対となるDMA制御命
令の組が実行されると通信路300を介した通信が成立
する。対となるDMA制御命令の組とは、同一の大きさ
の送信DMA制御命令と受信DMA制御命令の組であ
る。例えば計算機100において命令実行回路115が
「主記憶装置112のアドレスAより、大きさaだけ送
信」という命令を解釈すると、DMA回路113に対し
ては指定された領域(アドレスAより大きさa)を読み
出してその結果を通信回路112に渡すように指示し、
通信回路112に対しては渡されたデータを伝送路30
0に出力するように指示する。その場合、計算機200
において命令実行回路215に与えられる命令は「主記
憶装置212のアドレスBより、大きさaだけ受信」で
なければならない。そして、通信回路112の送信動作
と通信回路212の受信動作の双方が行われた時点より
伝送路300を介した通信が開始される。通信回路11
2、212は、送信動作あるいは受信動作のどちらかい
ずれかが先に発生した場合は、受信動作あるいは送信動
作が発生するのを待つ。
<Embodiment of the Invention> (1) Overview of System Configuration and Operation In the computer system shown in FIG.
200 includes processors 101 and 201, main storage devices 102 and 202, and communication devices 112 and 212, respectively. These communication devices are connected by a channel 300 which is a high-speed and highly reliable transmission path. Are directly connected via this channel 300 without going through other computers. The communication devices 112 and 212 respectively include a direct memory access (DMA) circuit 113,
213, communication circuits 114 and 214, instruction execution circuit 1
15 and 215, and the DMA circuits 113 and 213 can directly read and write areas on the main storage devices 102 and 202, respectively. OS 105, 205 is communication device 1
When the communication devices 112 and 212 are started by storing the instructions to the communication devices 112 and 212 in the DMA control lists 111 and 211 prepared on the main storage devices 102 and 202, the instruction execution circuit 1
15 and 215 interpret the instructions stored in the DMA control lists 111 and 211 and execute the instructions given by controlling the DMA circuits 113 and 213 and the communication circuits 114 and 214. Similarly, the remaining instructions are sequentially executed, all the instructions are interpreted, and when the execution is completed, a hardware interrupt is generated to the OS 105 or 205 to report the completion of the instruction. The instructions stored in the DMA control lists 111 and 211 are (1) the main storage device 1
From where on 12, 212, (2) how much
(3) It is a list of an arbitrary number of DMA control commands consisting of a specified set of whether to transmit or receive.
When a pair of DMA control commands forming a pair is executed by both the communication devices 112 and 212, communication via the communication path 300 is established. The pair of DMA control instructions that form a pair is a set of transmission DMA control instructions and reception DMA control instructions of the same size. For example, in the computer 100, when the instruction execution circuit 115 interprets the instruction “transmit a size a from the address A of the main storage device 112”, the designated area (the size a from the address A) for the DMA circuit 113 And instructs to read the result to the communication circuit 112,
The data passed to the communication circuit 112 is
0 is output. In that case, the computer 200
The instruction given to the instruction execution circuit 215 must be “receive from the address B of the main memory 212 by the size a”. Then, the communication via the transmission path 300 is started from the time when both the transmission operation of the communication circuit 112 and the reception operation of the communication circuit 212 are performed. Communication circuit 11
2, 212 waits for the occurrence of a reception operation or a transmission operation when either the transmission operation or the reception operation occurs first.

【0016】主記憶装置102、202において、計算
機100、200を制御するOS105、205の制御
下で複数のユーザプログラム103、203が動作して
いる。各々のユーザプログラム103、203には各計
算機内で一意なプログラム識別子が割り当てられてお
り、OS105、205はこのプログラム識別子で指定
して、ユーザプログラムの動作を中断し、あるいは再開
することができる。
In the main storage devices 102 and 202, a plurality of user programs 103 and 203 operate under the control of OSs 105 and 205 that control the computers 100 and 200. Each of the user programs 103 and 203 is assigned a unique program identifier in each computer, and the OS 105 and 205 can interrupt or restart the operation of the user program by specifying the program identifier.

【0017】複数のユーザプログラム103の各々は、
送信データをバッファ104に格納した後に、OS10
5に送信要求を発行する。OS105は、各ユーザプロ
グラム103内のバッファ104に格納された送信デー
タを受信側計算機200に転送することを通信装置11
2に指示する。通信装置112では、従来技術と異な
り、DMA回路113が各ユーザプログラム103内の
バッファ104から送信データを直接連続して読み出
す。OS105は、各ユーザプログラム103が指示し
た送信データの送信を通信装置112に指示するが、従
来技術と異なり、その送信データをそのOS105内の
バッファにコピーしない。通信回路114が、DMA回
路113が読み出した送信データをチャネル300を介
して受信側の計算機200に送信する。
Each of the plurality of user programs 103 includes:
After storing the transmission data in the buffer 104, the OS 10
5 is issued. The OS 105 transmits the transmission data stored in the buffer 104 in each user program 103 to the reception-side computer 200.
Instruct 2 In the communication device 112, unlike the related art, the DMA circuit 113 directly and continuously reads transmission data from the buffer 104 in each user program 103. The OS 105 instructs the communication device 112 to transmit the transmission data specified by each user program 103, but does not copy the transmission data to a buffer in the OS 105 unlike the related art. The communication circuit 114 transmits the transmission data read by the DMA circuit 113 to the computer 200 on the receiving side via the channel 300.

【0018】受信側の計算機200の通信装置212で
は、通信装置214は、それぞれの送信データを受信す
るごとに、従来技術と異なり、DMA回路213が各送
信データの送信先のユーザプログラム104内のバッフ
ァ204に受信されたデータを、受信側計算機を制御す
るOS202を介することなく直接連続して書き込む。
OS205は、従来技術と異なり、受信データをそのO
S205内のバッファにコピーしない。
In the communication device 212 of the computer 200 on the receiving side, each time the communication device 214 receives the respective transmission data, unlike the conventional technology, the DMA circuit 213 causes the DMA circuit 213 to transmit the transmission data in the user program 104 in the transmission destination. The received data is directly and continuously written to the buffer 204 without passing through the OS 202 that controls the receiving computer.
The OS 205 differs from the prior art in that the received data is
It is not copied to the buffer in S205.

【0019】上記の方法によりデータを転送するには、
受信側のユーザプログラム203と上記データ転送との
同期を取る必要がある。すなわち、複数のユーザプログ
ラム103のそれぞれから指定された送信データの送信
先のユーザプログラム203がデータを受信可能な状態
になければならない。ユーザプログラム203が受信可
能な状態とは受信したデータを蓄えるためのバッファ2
04が用意されているということである。このバッファ
204を繰り返し使用する場合などにバッファ204の
上書きによるデータ破壊を防止するため、受信ユーザプ
ログラム203がOS205に対して明示的に受信要求
を発行することによって、受信準備が整ったことすなわ
ち受信可能な状態であることを通知する。受信要求の発
行は後述する受信受付プログラム206の呼び出しで行
う。このために、本実施の形態では、OS105は、複
数のユーザプログラム103から指定された送信データ
の送信先のユーザプログラム203がデータを受信可能
な状態にあるかをOS205と通信してまとめて確認
し、この確認後にそれらのユーザプログラム103から
指定された複数の送信データの送信をまとめて通信装置
112に指示する。
To transfer data by the above method,
It is necessary to synchronize the data transfer with the user program 203 on the receiving side. That is, the user program 203 of the transmission destination of the transmission data specified by each of the plurality of user programs 103 must be in a state where the data can be received. The state in which the user program 203 can be received is a buffer 2 for storing received data.
04 is prepared. In order to prevent data destruction due to overwriting of the buffer 204 when the buffer 204 is used repeatedly, the receiving user program 203 explicitly issues a receiving request to the OS 205 to confirm that the receiving preparation is completed, that is, Notify that it is possible. The reception request is issued by calling a reception reception program 206 described later. For this reason, in the present embodiment, the OS 105 collectively checks with the OS 205 whether the user program 203 of the transmission data destination specified by the plurality of user programs 103 is in a state capable of receiving data. After this confirmation, the communication device 112 is instructed to transmit a plurality of transmission data items specified by the user program 103 at once.

【0020】具体的には、OS105内の送信受付プロ
グラム106が、複数のユーザプログラム103から発
行された複数の送信要求を送信要求リスト108に蓄
え、送信処理プログラム107が一定の時間間隔ごと
に、それらの蓄えられた送信要求を表すREQコマンド
ブロック109を作成し、さらに、DMA制御リスト1
11を生成して通信装置112にREQコマンドブロッ
ク109の送信を指示する。通信装置112が、このブ
ロック109を計算機200に送信すると、計算機20
0では、いずれかのユーザプログラム203が計算機1
00内のいずれかのユーザプログラム103からデータ
を受信すべき状態になると、データ受信要求をOS20
5に発行するように構成され、OS205内の受信受付
プログラム206は、この受信要求を受信要求リスト2
08に格納する。
More specifically, the transmission reception program 106 in the OS 105 stores a plurality of transmission requests issued from the plurality of user programs 103 in the transmission request list 108, and the transmission processing program 107 A REQ command block 109 representing those stored transmission requests is created, and a DMA control list 1
11 is generated to instruct the communication device 112 to transmit the REQ command block 109. When the communication device 112 transmits this block 109 to the computer 200, the computer 20
0, one of the user programs 203
When data is to be received from any of the user programs 103 in the OS 00, a data reception request is sent to the OS 20.
5 and the reception accepting program 206 in the OS 205 transmits the reception request to the reception request list 2.
08.

【0021】通信回路214がこのREQコマンドブロ
ック109を受信すると、DMA回路213が主記憶装
置202にREQコマンドブロック209として書き込
み、受信処理プログラム207は、受信要求リスト20
8に保持された受信要求と書き込まれたREQコマンド
ブロック209とに基づいて、このREQコマンドブロ
ック209が指定する送信先のユーザプログラムが受信
可能な状態にあるか否かをそれぞれ示すACKコマンド
あるいはNACKコマンドを含むACKコマンドブロッ
ク210を作成し、さらに、DMA制御リスト211を
生成して通信装置212にそのACKコマンドブロック
210の送信を指示する。計算機100では、ACKコ
マンドブロック210を受信すると、送信処理プログラ
ム107が、このACKコマンドブロック210に基づ
いて、先に送信したREQコマンドブロック109内の
送信要求の内、送信可能なもののみに付随するデータの
送信を通信装置112に指示する。
When the communication circuit 214 receives the REQ command block 109, the DMA circuit 213 writes the REQ command block 209 in the main storage device 202, and the reception processing program 207 executes
ACK command or NACK indicating whether or not the destination user program specified by the REQ command block 209 is in a receivable state based on the reception request held in No. 8 and the written REQ command block 209. An ACK command block 210 including a command is created, and a DMA control list 211 is generated to instruct the communication device 212 to transmit the ACK command block 210. In the computer 100, upon receiving the ACK command block 210, the transmission processing program 107 attaches, based on the ACK command block 210, to only the transmittable ones of the previously transmitted REQ command blocks 109. Instruct the communication device 112 to transmit data.

【0022】なお、OS105、205は同じ構造を有
し、いずれの計算機も他方の計算機に対して送信および
受信を行える。従って、計算機100内のOS105に
は、受信受付プログラム206、受信処理プログラム2
07、受信要求リスト208を有し、計算機200内の
OS205には、送信受付プログラム106、送信処理
プログラム107、送信要求リスト108を有する。し
かし、図では簡単化のために、計算機100が送信側の
計算機、計算機200が受信側の計算機として動作する
場合に必要な部分のみを図示してある。以下、本実施の
形態におけるデータ転送方法の詳細を、図2に示す主要
部分の動作のタイムチャートを参照して説明する。な
お、以下では、バッファ104と204、REQコマン
ドブロック109、209、ACKコマンドブロック2
10、110とDMA制御リスト111、211は主記
憶装置102あるいは202上で連続して常駐している
ものと仮定する。領域が「連続する」とは仮想的な記憶
上ではなく物理的な主記憶上において連続して領域が確
保されているという意味であり、領域が「常駐する」と
は通常のユーザプログラムの扱う記憶領域とは異なり確
保された領域が必要に応じてOS105、205により
ディスク装置に待避されることがなく常に物理的な主記
憶上に存在し続けるということを意味する。これは通信
装置112、212からは主記憶装置102、202が
仮想的な領域として認識できないためである。また、全
てのコマンドブロック109、210、110、209
は等しい大きさであると仮定する。転送するファイルの
数やそれぞれのファイルの大きさなどについての情報
は、送信側と受信側のユーザプログラム間で予め明らか
であるとする。
The OSs 105 and 205 have the same structure, and each computer can transmit and receive data to and from the other computer. Therefore, the OS 105 in the computer 100 includes the reception reception program 206 and the reception processing program 2
07, a reception request list 208, and the OS 205 in the computer 200 has a transmission reception program 106, a transmission processing program 107, and a transmission request list 108. However, for the sake of simplicity, the drawing shows only those parts necessary when the computer 100 operates as a transmitting-side computer and the computer 200 operates as a receiving-side computer. Hereinafter, details of the data transfer method according to the present embodiment will be described with reference to the time chart of the operation of the main part shown in FIG. In the following, buffers 104 and 204, REQ command blocks 109 and 209, ACK command block 2
It is assumed that 10, 110 and the DMA control lists 111, 211 are continuously resident on the main storage device 102 or 202. The “continuous” area means that the area is continuously reserved on the physical main memory, not on the virtual memory, and the “resident” area is handled by a normal user program. Unlike the storage area, this means that the reserved area is always saved on the physical main storage without being saved to the disk device by the OS 105 or 205 as needed. This is because the main storage devices 102 and 202 cannot be recognized as virtual areas from the communication devices 112 and 212. Also, all command blocks 109, 210, 110, 209
Are assumed to be of equal size. It is assumed that information about the number of files to be transferred, the size of each file, and the like is clear in advance between the user programs on the transmission side and the reception side.

【0023】(2)データ転送動作の詳細 (A)送信側計算機100(その1)REQコマンドの
送信 (A1)送信側のユーザプログラム103からの送信要
求の発行 送信側の計算機100において、三つの送信側ユーザプ
ログラム103が走行し、受信側の計算機でも三つの受
信側ユーザプログラム203が走行していると仮定す
る。
(2) Details of data transfer operation (A) Transmission-side computer 100 (part 1) Transmission of REQ command (A1) Issuance of transmission request from user program 103 on the transmission side It is assumed that the transmitting user program 103 is running and three receiving user programs 203 are running on the receiving computer.

【0024】図3のフローチャートを参照するに、三つ
の送信側ユーザプログラム103の各々の処理は、2重
のループ構造となっており、処理の最初と最後に転送す
べきファイルを保持するための送信用のバッファ104
を確保し、あるいは解放する(ステップ401、40
8)。各ユーザプログラム用のバッファ104は、それ
が確保された後解放されるまでの間は主記憶装置102
上に常駐し、全処理中に渡って繰り返し使用されるもの
とする。外側のループは複数のファイルを処理するため
のループであり、内側のループは各々のファイルを複数
回の通信で転送するためのループである。
Referring to the flowchart of FIG. 3, the processing of each of the three transmission-side user programs 103 has a double loop structure, and is used to hold a file to be transferred at the beginning and end of the processing. Transmission buffer 104
Is secured or released (steps 401 and 40).
8). The buffer 104 for each user program is allocated to the main memory 102 until it is released after it is allocated.
It shall be resident on and be used repeatedly throughout the entire process. The outer loop is a loop for processing a plurality of files, and the inner loop is a loop for transferring each file by a plurality of communications.

【0025】各送信側ユーザプログラム103は、バッ
ファ104に転送するファイルの一部を格納するごとに
(ステップ402)、送信受付プログラム106を呼び
出し、送信要求を送出する(ステップ403)。送信受
付プログラム106を呼び出した結果がエラーであれば
データの送信は失敗であり、ハードウェアのエラーまた
はソフトウェアのエラーであるので、エラー処理を行い
終了する(ステップ405)。バッファ104内のデー
タ送信を成功裡に終えると、現在処理中のファイルが全
て転送済みであるか調べて未処理の領域があればそれら
を処理するためにステップ402から繰り返す(ステッ
プ406)。各ユーザプログラムは送信すべきファイル
がまだある限り以上のステップを繰り返す(ステップ4
07)。このように各送信ユーザプログラム103は固
定長のバッファ104を使いまわすようになっている。
同様に各受信ユーザプログラム203も固定長のバッフ
ァ204を使いまわすようになっている。本発明を用い
たデータ転送においては任意のサイズのデータを転送す
ることが可能であるが、ユーザプログラムの持つバッフ
ァは固定長である必要がるので、固定長のバッファを用
意し繰り返し使用している。従来技術を用いたデータ転
送では、ユーザプログラムの持つバッファの大きさをど
のように設定しても、データはOSが持つシステムバッ
ファのサイズごとに分割されて転送されるので、分割処
理あるいは統合処理のオーバヘッドが存在する。一方本
発明を用いたデータ転送ではユーザプログラムの持つバ
ッファ単位でデータ転送が行われ、ユーザプログラムに
よる分割処理あるいは統合処理は依然として存在するも
のの、ユーザプログラムの扱うデータの規模を考慮した
適当なサイズのユーザバッファを利用することで、分割
処理あるいは統合処理はユーザプログラムによる最小限
の処理のみとなる。さらに、本実施例におけるファイル
転送システムのような応用の場合では、直接ファイル入
出力を行うため、データは分割処理あるいは統合処理は
全く不要となる。各送信側ユーザプログラム103は、
送信受付プログラム106を呼び出す際に、送信データ
が格納されているバッファ104の先頭アドレスと、バ
イト単位で示したファイルの大きさを表す送信サイズ
と、通信相手を特定するための通信路番号を引数として
渡す。通信路番号は、特定の送信側ユーザプログラム1
03と特定の受信側ユーザプログラム203との組み合
わせを識別するために用いるもので、システム内で一意
な数値であり、TCP/IPにおけるコネクション識別
子に相当する。通信路はTCP/IPと同様に、通信を
行う二つのユーザプログラムのそれぞれが明示的に通信
路(コネクション)の終端(ソケット)を開設し、一方
の終端に公知の(お互いが既知な)名前をつけ、もう一
方の終端が名前付終端への接続を要求し、名前付終端が
接続を許可することで成立する。通信路識別子(コネク
ション識別子)は二つの終端の組を一意に識別できるも
のであり、ユーザプログラムは複数個の通信路あるいは
終端を作成し、あるいは使用できるが、本実施の形態に
おいては二つのユーザプログラムの組が一つの通信路を
扱っている。以下では、三つの送信側のユーザプログラ
ム103の持つ通信路番号はそれぞれ1001、100
2、1003であると仮定する。また、三つの送信側の
ユーザプログラム103のそれぞれの通信相手となる受
信側の三つのユーザプログラム203の持つ通信路番号
も同一の通信路番号を持つ。送信サイズはゼロより大き
くなければならない。
Each time the transmission-side user program 103 stores a part of the file to be transferred to the buffer 104 (step 402), it calls the transmission reception program 106 and sends a transmission request (step 403). If the result of calling the transmission reception program 106 is an error, the data transmission has failed, and since it is a hardware error or a software error, error processing is performed and the processing is terminated (step 405). When the data transmission in the buffer 104 is successfully completed, it is checked whether all the files currently being processed have been transferred, and if there are any unprocessed areas, the processing is repeated from step 402 (step 406). Each user program repeats the above steps as long as there are still files to send (step 4).
07). Thus, each transmission user program 103 uses the fixed-length buffer 104 repeatedly.
Similarly, each receiving user program 203 also uses a fixed-length buffer 204. In the data transfer using the present invention, it is possible to transfer data of any size, but the buffer of the user program needs to be a fixed length, so a fixed-length buffer is prepared and used repeatedly. I have. In the data transfer using the conventional technology, the data is divided and transferred according to the size of the system buffer of the OS regardless of the size of the buffer of the user program. Overhead exists. On the other hand, in the data transfer using the present invention, data transfer is performed in buffer units of the user program, and although division processing or integration processing by the user program still exists, an appropriate size of data in consideration of the scale of data handled by the user program. By using the user buffer, the division processing or the integration processing is only the minimum processing by the user program. Further, in the case of an application such as the file transfer system in the present embodiment, since the file is directly input / output, the data does not need to be divided or integrated at all. Each transmission-side user program 103 includes:
When calling the transmission reception program 106, the start address of the buffer 104 storing the transmission data, the transmission size indicating the size of the file in bytes, and the communication path number for specifying the communication partner are arguments. Pass as The communication path number is a specific transmission side user program 1
03, which is used to identify a combination of a specific receiving user program 203 and a unique numerical value in the system, and corresponds to a connection identifier in TCP / IP. As with TCP / IP, each of two user programs for communication explicitly establishes an end (socket) of a communication path (connection), and a known name (one another is known) at one end. , And the other end requests connection to the named end, and the named end is established by permitting the connection. A communication path identifier (connection identifier) can uniquely identify a pair of two terminations, and a user program can create or use a plurality of communication paths or terminations. A set of programs deals with one communication channel. In the following, the communication path numbers of the three user programs 103 on the transmission side are 1001 and 100, respectively.
2,1003. Also, the communication path numbers of the three user programs 203 on the receiving side, which are the communication partners of the three user programs 103 on the transmitting side, have the same communication path number. Transmission size must be greater than zero.

【0026】(A2)送信受付プログラム106による
送信要求の受付 図4のフローチャートに示すように、送信受付プログラ
ム106は、呼び出されると、まず新しい送信要求アイ
テム510(図5)を作成し(ステップ411)、その
中の項目を埋める(ステップ412)。図5に示すよう
に、送信要求アイテム510は、主記憶装置102の送
信データを保持したバッファの先頭のアドレスを示す送
信開始アドレス511と、どれだけのデータを送信する
かを示す送信サイズ512と、送信先を特定する通信路
番号513と、だれが送信したかを示す要求元プログラ
ム識別子514と、送信要求アイテム510を連結する
ための次ポインタ515からなる。新しい送信要求アイ
テム510の送信開始アドレス511と送信サイズ51
2と通信路番号513にはユーザプログラム103から
の呼び出し時に引数で与えられた情報を格納し、要求元
プログラム識別子514には呼び出し元のユーザプログ
ラム103のプログラム識別子を格納する。
(A2) Reception of Transmission Request by Transmission Reception Program 106 As shown in the flowchart of FIG. 4, when called, the transmission reception program 106 first creates a new transmission request item 510 (FIG. 5) (step 411). ), And fill the items therein (step 412). As shown in FIG. 5, the transmission request item 510 includes a transmission start address 511 indicating a head address of a buffer holding transmission data in the main storage device 102, a transmission size 512 indicating how much data to transmit. , A transmission path number 513 for specifying the transmission destination, a request source program identifier 514 indicating who transmitted the transmission destination item 510, and a next pointer 515 for linking the transmission request item 510. Transmission start address 511 and transmission size 51 of new transmission request item 510
2 and the communication path number 513 store information given as an argument when called from the user program 103, and the request source program identifier 514 stores the program identifier of the calling user program 103.

【0027】その後、送信受付プログラム106は、作
成した送信要求アイテム510を送信要求リスト108
に追加する(ステップ413)。すなわち、作成した送
信要求アイテム510の次ポインタ515には、送信要
求リスト108の中で最も新しい送信要求アイテム51
0の先頭アドレスを格納する。なお、新しい送信要求ア
イテム510を送信要求リスト108に追加する際に
は、送信要求リスト108内のそれぞれの送信要求アイ
テム510を調べて、その中に同一の通信路番号513
を持ち、かつ送信サイズ512がゼロである送信要求ア
イテム510が存在するか否かを調べる。そのような送
信要求アイテム510は後述する送信失敗の報告に用い
られ、この時点ではすでに用済みであるので送信要求リ
スト108から削除する。
Thereafter, the transmission receiving program 106 stores the created transmission request item 510 in the transmission request list 108.
(Step 413). That is, the next pointer 515 of the created transmission request item 510 includes the newest transmission request item 51 in the transmission request list 108.
Stores the starting address of 0. When adding a new transmission request item 510 to the transmission request list 108, each transmission request item 510 in the transmission request list 108 is checked, and the same communication path number 513 is included in the transmission request items 510.
And whether there is a transmission request item 510 having a transmission size 512 of zero. Such a transmission request item 510 is used for a transmission failure report described later, and is deleted from the transmission request list 108 because it has already been used at this point.

【0028】その後、送信受付プログラム106は、現
在実行中の処理を凍結して再び処理が解凍されるまで休
止することで送信完了報告を待つ(ステップ414)。
送信受付プログラム106はユーザプログラム103に
より呼び出されており実行中はユーザプログラム103
のプログラム識別子を持つ。休止するのは「送信受付プ
ログラム106を呼び出し中のユーザプログラム10
3」であり、あるユーザプログラム103が休止してい
る最中に、別のユーザプログラム103が送信受付プロ
グラム106を呼び出した場合には、送信受付プログラ
ム106は後者のユーザプログラム103のプログラム
識別子を持って動作する。本実施の形態では、再開の指
示は、後に説明する送信処理プログラム107が行う。
Thereafter, the transmission receiving program 106 freezes the currently executing process and pauses until the process is thawed again to wait for a transmission completion report (step 414).
The transmission reception program 106 is called by the user program 103, and during execution, the user program 103
With a program identifier of The pause is described as “the user program 10 calling the transmission reception program 106”.
3 ", when another user program 103 calls the transmission reception program 106 while one user program 103 is suspended, the transmission reception program 106 has the program identifier of the latter user program 103. Works. In the present embodiment, the instruction to restart is performed by the transmission processing program 107 described later.

【0029】(A3)送信処理プログラム107(その
1)REQコマンドの送信 図6に示すように、送信処理プログラム107はまず、
送信要求リスト108を定期的に調べ(ステップ43
1、432)、新しい送信要求アイテム510があれば
それを取り出し送信要求リスト108から削除する(ス
テップ433)。その際に送信サイズ512がゼロであ
る送信要求アイテム510は、後述の送信失敗報告のた
めの送信要求アイテムであるので無視する。取り出した
送信要求アイテム510の各々に対してREQコマンド
を作成し、受信側の計算機200に送る(ステップ43
4)。
(A3) Transmission Processing Program 107 (Part 1) Transmission of REQ Command As shown in FIG.
The transmission request list 108 is periodically checked (step 43).
1, 432), if there is a new transmission request item 510, it is taken out and deleted from the transmission request list 108 (step 433). At this time, the transmission request item 510 whose transmission size 512 is zero is ignored because it is a transmission request item for a transmission failure report described later. A REQ command is created for each of the extracted transmission request items 510 and sent to the receiving computer 200 (step 43).
4).

【0030】具体的には、送信処理プログラム107
は、ステップ434では、複数の送信要求アイテムから
REQコマンドブロック109を作成する。REQコマ
ンドブロック109は、図7(a)に示すように、それ
ぞれ一つの送信要求アイテムに対して一つのREQコマ
ンドを含む。各REQコマンドは、コマンドコード53
1と転送サイズ532と通信路番号533を有する。本
実施の形態での具体的な例として、送信側の三つのユー
ザプログラム103から新たに発行された三つのREQ
コマンドが、送信処理プログラム107でのステップ4
31、432の実行時に検出されたと仮定する。図7
(a)に示すように、これらの三つのREQコマンド
は、それぞれ通信路番号533として、1001、10
02、1003を有し、転送サイズ532として30
0、300、500を有すると仮定する。
More specifically, the transmission processing program 107
Creates the REQ command block 109 from the plurality of transmission request items in step 434. As shown in FIG. 7A, the REQ command block 109 includes one REQ command for each transmission request item. Each REQ command has a command code 53
1, a transfer size 532, and a communication channel number 533. As a specific example in the present embodiment, three REQs newly issued from three user programs 103 on the transmission side.
The command is transmitted to the transmission processing program 107 in step 4
Assume that it was detected at the time of execution of 31, 432. FIG.
As shown in (a), these three REQ commands are respectively 1001, 10
02, 1003, and 30 as the transfer size 532
Suppose we have 0, 300, 500.

【0031】送信処理プログラム107は、REQコマ
ンドブロック109を送信するために、さらにDMA制
御リスト111に送信命令を書いて、通信装置112を
起動する。DMA制御リスト111は、図7(b)に示
すように、それぞれ一つの送受信命令に対応する複数の
エントリからなり、各エントリは、送信命令か受信命令
のいずれかであるかを示す送受信命令501と、送受信
命令501が送信命令の場合に、送信すべきデータの主
記憶装置102上の先頭アドレスを表し、あるいは送受
信命令501が受信命令の場合に、受信すべきデータを
格納すべき主記憶装置102上の先頭アドレスを表す送
受信開始アドレス502と、送信データあるいは受信デ
ータのサイズを表す送受信サイズ503を含む。今の場
合、REQコマンドブロック109を送信するには、こ
のDMA制御リスト111の一つのエントリとして、送
受信命令501に送信命令を、送受信開始アドレス50
2にREQコマンドブロック109の先頭アドレスを、
送受信サイズ503にはREQコマンドブロック109
の大きさ(固定長)をそれぞれ格納する。
The transmission processing program 107 further writes a transmission instruction in the DMA control list 111 to transmit the REQ command block 109, and activates the communication device 112. As shown in FIG. 7B, the DMA control list 111 is composed of a plurality of entries each corresponding to one transmission / reception instruction, and each entry is a transmission / reception instruction 501 indicating whether it is a transmission instruction or a reception instruction. When the transmission / reception command 501 is a transmission command, it indicates the head address of data to be transmitted on the main storage device 102, or when the transmission / reception command 501 is a reception command, the main storage device for storing data to be received A transmission / reception start address 502 indicating a head address on the PID 102 and a transmission / reception size 503 indicating a size of transmission data or reception data are included. In this case, in order to transmit the REQ command block 109, a transmission instruction is transmitted to the transmission / reception instruction 501 as one entry of the DMA control list 111, and the transmission / reception start address 50
2 is the start address of the REQ command block 109,
The REQ command block 109 is set in the transmission / reception size 503.
The size (fixed length) of each is stored.

【0032】(A4)通信装置112(その1) (A41)REQコマンドブロック109の送信 通信装置112は、起動されると、命令制御回路115
が、DMA制御リスト111の先頭のエントリを主記憶
装置102から読み出し、今の場合には、このエントリ
には送信命令が含まれているので、送信動作を開始す
る。すなわち、この先頭のエントリに含まれた送受信開
始アドレス502と送受信サイズ503に従い、REQ
コマンドブロック109に含まれた複数のREQコマン
ドを連続して主記憶装置102から読み出すようDMA
回路113に指示し、通信回路114に、この読み出さ
れたREQコマンドブロック109をチャネル300を
介して直ちに計算機200の通信装置212に送るよう
指示する。命令制御回路115は、DMA制御リスト1
11の後続のエントリに有効な命令があればそれに応答
するが、今の場合にはDMA制御リスト111そのよう
な後続の有効な命令はない。
(A4) Communication Device 112 (Part 1) (A41) Transmission of REQ Command Block 109 When the communication device 112 is activated, the instruction control circuit 115
Reads the first entry of the DMA control list 111 from the main storage device 102, and in this case, since this entry contains a transmission command, the transmission operation is started. That is, according to the transmission / reception start address 502 and the transmission / reception size 503 included in the first entry, REQ
DMA so that a plurality of REQ commands included in the command block 109 are continuously read from the main storage device 102.
Instruct the circuit 113 to instruct the communication circuit 114 to immediately transmit the read REQ command block 109 to the communication device 212 of the computer 200 via the channel 300. The instruction control circuit 115 controls the DMA control list 1
Eleven subsequent entries respond to any valid instruction, but in this case, DMA control list 111 has no such subsequent valid instruction.

【0033】(A42)送信完了通知 命令制御回路115は、この送信を終えるとハードウェ
ア割り込みを発生し、送信処理プログラム107に送信
完了を通知する。送信処理プログラム107はこの割り
込みを検知することで送信完了を確認する。
(A42) Notification of completion of transmission When this transmission is completed, the instruction control circuit 115 generates a hardware interrupt and notifies the transmission processing program 107 of the completion of transmission. The transmission processing program 107 confirms the completion of transmission by detecting this interrupt.

【0034】(B)受信側計算機200(その1) (B1)受信側ユーザプログラム203(その1)受信
要求の発行 本実施の形態では、送信側ユーザプログラム103がO
S105に対して送信要求を発行するとともに、受信側
のユーザプログラム203がOS205に対して受信要
求を発行するように構成され、後に説明するように、送
信要求を発行したユーザプログラム103からの送信デ
ータは、いずれかの送信先のユーザプログラム203が
そのデータを受信可能な状態になった後に、具体的に
は、送信先のユーザプログラム203がそのデータに対
して受信要求を発行した後にのみその送信先のユーザプ
ログラムに転送される。
(B) Receiving-Side Computer 200 (Part 1) (B1) Receiving-Side User Program 203 (Part 1) Issuance of a Receiving Request In this embodiment, the transmitting-side user program 103
A transmission request is issued to S105, and the user program 203 on the receiving side is configured to issue a reception request to the OS 205. As described later, transmission data from the user program 103 that has issued the transmission request Is transmitted after any one of the destination user programs 203 is ready to receive the data, specifically, after the destination user program 203 issues a reception request for the data. It is transferred to the previous user program.

【0035】図8のフローチャートに示すように、受信
側ユーザプログラム203の処理も送信側ユーザプログ
ラム103の処理と同様の2重のループ構造をなしてお
り、処理の最初と最後に転送されたファイルを保持する
ための受信用のバッファ204を確保し、あるいは解放
する(ステップ451、458)。外側のループは複数
のファイルを処理するためのループであり、内側のルー
プは各々のファイルを複数回の通信で転送するためのル
ープである。
As shown in the flowchart of FIG. 8, the processing of the receiving-side user program 203 also has a double loop structure similar to the processing of the transmitting-side user program 103, and the file transferred at the beginning and end of the processing. Is secured or released (steps 451 and 458). The outer loop is a loop for processing a plurality of files, and the inner loop is a loop for transferring each file by a plurality of communications.

【0036】各受信側ユーザプログラム203は、受信
受付プログラム206を呼び出し、受信要求を通知し
(ステップ452)、バッファ204に格納されたデー
タをファイルの一部として格納する(ステップ45
5)。
Each receiving-side user program 203 calls the receiving receiving program 206, notifies the receiving request (step 452), and stores the data stored in the buffer 204 as a part of the file (step 45).
5).

【0037】受信受付プログラム206を呼び出しから
戻ったときは、呼び出しからの戻り値を調べてエラーで
あることがわかるとエラー処理を行い終了する(ステッ
プ454)。ファイルへの出力が済むと、現在処理中の
ファイルが全て転送済みであるか調べて未処理の領域が
あればそれらを処理するためにステップ452から繰り
返す(ステップ456)。各ユーザプログラムは送信す
べきファイルがまだある限り以上のステップを繰り返す
(ステップ457)。
When the reception accepting program 206 is returned from the call, the return value from the call is checked, and if an error is found, error processing is performed and the processing is terminated (step 454). When the output to the file is completed, it is checked whether all the files currently being processed have been transferred, and if there are unprocessed areas, the processing is repeated from step 452 to process them (step 456). Each user program repeats the above steps as long as there are still files to be transmitted (step 457).

【0038】(B2)受信受付プログラム206による
受信要求の受付 図9のフローチャートに示すように、受信受付プログラ
ム206は、呼び出されると、まず新しい受信要求アイ
テム520を作成し(ステップ421)、その中の項目
を埋める(ステップ422)。受信要求アイテム520
は、図10に示すように、受信したデータを主記憶装置
202のどのアドレス位置から格納するかを示す受信開
始アドレス521と、どれだけのデータが受信可能かを
示す最大受信サイズ522と、送信元のユーザプログラ
ムとその受信要求を発行したユーザプログラムの組に対
して定められた通信路番号523と、受信要求元のユー
ザプログラムの識別子524と、他の受信要求アイテム
520と連結するための次ポインタ525からなる。作
成した新しい受信要求アイテム520の受信開始アドレ
ス521と最大受信サイズ522と通信路番号523に
は受信要求元のユーザプログラムからの呼び出し時に引
数で与えられた情報を格納し、要求元プログラム識別子
524には呼び出し元である受信側ユーザプログラム2
03のプログラム識別子を格納する。なお、最大受信サ
イズ522はゼロよりも大きくなければならない。
(B2) Reception of a reception request by the reception reception program 206 As shown in the flowchart of FIG. 9, when the reception reception program 206 is called, first, a new reception request item 520 is created (step 421). Are filled in (step 422). Receive request item 520
As shown in FIG. 10, a reception start address 521 indicating from which address position the received data is stored in the main storage device 202, a maximum reception size 522 indicating how much data can be received, The communication channel number 523 defined for the set of the original user program and the user program that has issued the reception request, the identifier 524 of the user program of the reception request source, and the next It consists of a pointer 525. The information provided as an argument at the time of calling from the user program of the reception request source is stored in the reception start address 521, the maximum reception size 522, and the communication channel number 523 of the created new reception request item 520, and the request source program identifier 524 Is the receiving user program 2 that is the caller
03 is stored. Note that the maximum reception size 522 must be larger than zero.

【0039】受信受付プログラム206は、作成した受
信要求アイテム520を受信要求リスト208に追加す
る(ステップ423)。すなわち、作成した受信要求ア
イテム520の次ポインタ525には、受信要求リスト
208の中で最も新しい受信要求アイテム520のアド
レスを格納する。なお、新しい受信要求アイテム520
を受信要求リスト208に追加する際には、受信要求リ
スト208内のそれぞれの受信要求アイテム520を調
べて、その中に同一の通信路番号523を持ち、かつ最
大受信サイズ522がゼロである受信要求アイテム52
0が存在するか否かを調べる。そのような受信要求アイ
テム520は後述する受信失敗の報告に用いられ、この
時点ではすでに用済みであるので受信要求リスト208
から削除する。
The reception reception program 206 adds the created reception request item 520 to the reception request list 208 (step 423). That is, the address of the newest reception request item 520 in the reception request list 208 is stored in the next pointer 525 of the created reception request item 520. Note that a new reception request item 520
Is added to the reception request list 208, each reception request item 520 in the reception request list 208 is examined, and the reception request items 520 having the same communication path number 523 therein and the maximum reception size 522 being zero are checked. Request Item 52
Check whether 0 exists. Such a reception request item 520 is used for reporting a reception failure described later, and has already been used at this time, so that the reception request list 208
Remove from.

【0040】その後、受信受付プログラム206は、送
信受付プログラム106と同様に現在実行中の処理を凍
結して再び処理が解凍されるまで休止することで受信完
了報告を待つ(ステップ424)。本実施の形態では、
再開の指示は、次に説明する受信処理プログラム207
が行う。
Thereafter, similarly to the transmission reception program 106, the reception reception program 206 freezes the process currently being executed and pauses until the process is defrosted again to wait for a reception completion report (step 424). In the present embodiment,
The restart instruction is received by the reception processing program 207 described below.
Do.

【0041】(B3)受信処理プログラム207(その
1)REQコマンドブロックの受信命令 受信側の計算機200では、送信側の計算機100から
送信されるREQコマンドブロックをいつでも受信でき
るように準備をしておく必要がある。受信処理プログラ
ム207は、このコマンドブロックの受信を通信装置2
12に命令する。
(B3) Reception Processing Program 207 (Part 1) REQ Command Block Reception Command The reception-side computer 200 is prepared to receive the REQ command block transmitted from the transmission-side computer 100 at any time. There is a need. The reception processing program 207 transmits the command block to the communication device 2.
Command 12

【0042】すなわち、図11のフローチャートに示す
ように、受信処理プログラム207は、REQコマンド
ブロックを受信し、主記憶装置202にREQコマンド
ブロック209として格納することを指示する受信命令
をDMA制御リスト211に書いて、通信装置112を
起動し、受信完了を待つ(ステップ441)。
That is, as shown in the flowchart of FIG. 11, the reception processing program 207 receives the REQ command block, and issues a reception command instructing to store the REQ command block in the main storage device 202 as the REQ command block 209 to the DMA control list 211. Is written, and the communication device 112 is activated, and waits for completion of reception (step 441).

【0043】図12(b)に示すように、DMA制御リ
スト211は、DMA制御リスト111と同じ構造を有
する。受信処理プログラム207は、REQコマンドブ
ロック109を受信してREQコマンドブロック209
として主記憶装置202として格納するために、DMA
制御リスト211の一つのエントリに、送受信命令50
4として受信命令を、送受信開始アドレス505として
REQコマンドブロック209の先頭アドレスを、送受
信サイズ506としてREQコマンドブロック209の
大きさ(固定長)をそれぞれ格納する。
As shown in FIG. 12B, the DMA control list 211 has the same structure as the DMA control list 111. The reception processing program 207 receives the REQ command block 109 and
To be stored as the main storage device 202 as a DMA
One entry of the control list 211 includes a transmission / reception instruction 50
No. 4, a reception command, a start address of the REQ command block 209 as the transmission / reception start address 505, and a size (fixed length) of the REQ command block 209 as the transmission / reception size 506 are stored.

【0044】(B4)通信装置212(その1) (B41)REQコマンドブロック109の受信 通信装置212が起動されると、命令制御回路215が
DMA制御命令を解釈し、実行する。まず、命令制御回
路215が、DMA制御リスト211の最初のエントリ
を主記憶装置202から読み出し、このエントリ中の命
令、今の場合には受信命令に従って通信回路214およ
びDMA回路213を制御する。すなわち、通信回路2
14にコマンドブロックの大きさのデータの受信を命
じ、通信回路214がREQコマンドブロック109の
内容をチャネル300を介して計算機100から受信す
ると、DMA回路213に、受信したREQコマンドブ
ロック109の内容を主記憶装置202上のREQコマ
ンドブロック209に直ちに書き込ませる。すなわち、
上記読み出したエントリに含まれた送受信開始アドレス
505と送受信サイズ506に従い、受信したREQコ
マンドブロック109を主記憶装置202にREQコマ
ンドブロック209として書き込む。図7(b)には、
三つの送信要求REQを含むREQコマンドブロック2
09の例を示している。DMA回路213は、DMA制
御リスト211の後続のエントリに有効な命令があれば
それに応答するが、今の場合にはDMA制御リスト21
1そのような後続の有効な命令はない。
(B4) Communication Device 212 (Part 1) (B41) Reception of REQ Command Block 109 When the communication device 212 is started, the command control circuit 215 interprets and executes the DMA control command. First, the instruction control circuit 215 reads the first entry of the DMA control list 211 from the main storage device 202, and controls the communication circuit 214 and the DMA circuit 213 according to the instruction in this entry, in this case, the reception instruction. That is, the communication circuit 2
When the communication circuit 214 receives the contents of the REQ command block 109 from the computer 100 via the channel 300, the DMA circuit 213 sends the contents of the received REQ command block 109 to the DMA circuit 213. The REQ command block 209 on the main memory 202 is immediately written. That is,
The received REQ command block 109 is written as the REQ command block 209 to the main storage device 202 in accordance with the transmission / reception start address 505 and the transmission / reception size 506 included in the read entry. In FIG. 7B,
REQ command block 2 including three transmission requests REQ
09 is shown. The DMA circuit 213 responds to a valid instruction in a subsequent entry of the DMA control list 211, but in this case, the DMA control list 21
1 There is no such subsequent valid instruction.

【0045】(B42)受信完了通知 命令制御回路215は、この書き込みが終了するとハー
ドウェア割り込みを発生し、受信処理プログラム107
に受信完了を通知する。受信処理プログラム107はこ
の割り込みを検知することにより受信完了を確認し、次
のステップ441に進む。
(B42) Reception completion notification The instruction control circuit 215 generates a hardware interrupt upon completion of this writing, and
To the reception completion. The reception processing program 107 confirms the reception completion by detecting this interruption, and proceeds to the next step 441.

【0046】(B5)受信処理プログラム207(その
2) (B51)ACK/NACKコマンドの送信命令 REQコマンドブロック209の受信が完了すると、受
信処理プログラム207は、受信したREQコマンドブ
ロック209内のそれぞれのREQコマンドの対して、
受信が可能であるか否かを調べ、ACKコマンドまたは
NACKコマンドを作成し、それらのコマンドを含むA
CKコマンドブロックを送信側の計算機100に送る
(ステップ442)。
(B5) Reception Processing Program 207 (Part 2) (B51) Transmission Command of ACK / NACK Command When the reception of the REQ command block 209 is completed, the reception processing program 207 executes In response to the REQ command,
Check whether reception is possible or not, create an ACK command or a NACK command, and
The CK command block is sent to the sending computer 100 (step 442).

【0047】すなわち、それぞれのREQコマンドが受
信可能か否かを調べるために、受信要求リスト208か
ら、REQコマンドブロック209内のそれぞれの各R
EQコマンドに対する通信路番号533と同じ通信路番
号523を持つ受信要求アイテム520を探す。該当す
る受信要求アイテム520が存在しなければ、そのRE
Qコマンドは受信不可能である。すなわち、REQコマ
ンドブロック209の受信が完了した時点で、その通信
路番号533を指定する受信要求が受信側のユーザプロ
グラム203のいずれかによりまだ発行されていない場
合には、このREQコマンドは受信不可能となる。上記
該当する受信要求アイテム520が存在した場合には、
さらにそのREQコマンドに対する転送サイズ532が
その該当する受信要求アイテム520の最大受信サイズ
522より大きくないかを判別する。その転送サイズ5
32がその最大受信サイズ522を超えていればそのR
EQコマンドは受信不可能であるが、そうでなければそ
のREQコマンドは受信可能である。なお、このステッ
プ442においては、最大受信サイズ522がゼロであ
る受信要求アイテム520は、後述の受信失敗報告のた
めの受信要求アイテムであるので無視する。受信不可能
なREQコマンドには2種類あり、単に対応する受信要
求が未発生の場合はREQコマンドの通知が早すぎただ
けなのでそのREQコマンドは送信側計算機100にお
いて再び処理を試みられるが、サイズ超過の場合はプロ
グラムミスなどの不測の事態であり、送信要求および受
信要求は失敗としてそれぞれのユーザプログラムに通知
される(この場合には受信要求はすでに発生してい
る)。
That is, in order to check whether or not each REQ command can be received, each R in the REQ command block 209 is read from the reception request list 208.
A reception request item 520 having the same channel number 523 as the channel number 533 for the EQ command is searched. If the corresponding reception request item 520 does not exist, the RE
The Q command cannot be received. That is, if the reception request specifying the communication channel number 533 has not been issued by any of the user programs 203 on the receiving side at the time when the reception of the REQ command block 209 is completed, the REQ command is not received. It becomes possible. If the corresponding reception request item 520 exists,
Further, it is determined whether the transfer size 532 for the REQ command is not larger than the maximum reception size 522 of the corresponding reception request item 520. Its transfer size 5
32 exceeds its maximum receive size 522, then its R
The EQ command cannot be received, but otherwise the REQ command can be received. In step 442, the reception request item 520 having the maximum reception size 522 of zero is ignored since it is a reception request item for a reception failure report described later. There are two types of unreceivable REQ commands. If the corresponding reception request has not yet occurred, the REQ command has been reported too early because the REQ command was notified too early. If it exceeds, an unexpected situation such as a program error occurs, and the transmission request and the reception request are notified as failure to the respective user programs (in this case, the reception request has already occurred).

【0048】本実施の形態では、具体的な例示に当た
り、送信側の三つのユーザプログラム103から図7
(a)に例示する三つのREQコマンドが発行された
後、REQコマンドブロック209の受信が完了した時
点までに、これらの三つのREQコマンドの内の二つに
対応する受信要求が受信側の二つのユーザプログラム2
03から発行され、これら二つのREQコマンドのそれ
ぞれが指定する転送サイズ532は、それらの対応する
受信要求が指定する最大受信サイズを超えないと仮定す
る。さらに、上記三つのREQコマンドの内の第3のR
EQコマンドに対応する受信要求は受信側の他の一つの
ユーザプログラムからは遅れて発行されるが、その第3
のREQコマンドが指定する転送サイズ532もその対
応する第3の受信要求が指定する最大受信サイズを超え
ないと仮定する。この場合には、REQコマンドブロッ
ク209の受信が完了した時点では、最初の二つのRE
Qコマンドが受信可能となり、この最後のREQコマン
ドは受信不可能となる。
In the present embodiment, as a specific example, three user programs 103 on the transmitting side are used in FIG.
After the three REQ commands illustrated in (a) are issued, by the time when the reception of the REQ command block 209 is completed, a reception request corresponding to two of these three REQ commands is transmitted to the reception side. User programs 2
03, and the transfer size 532 specified by each of these two REQ commands does not exceed the maximum receive size specified by their corresponding receive request. Further, the third R of the three REQ commands is
The reception request corresponding to the EQ command is issued with a delay from another user program on the reception side.
REQ command does not exceed the maximum reception size specified by the corresponding third reception request. In this case, when the reception of the REQ command block 209 is completed, the first two REs
The Q command can be received, and the last REQ command cannot be received.

【0049】こうして受信可能と判断されたREQコマ
ンドおよび受信不可能と判断されたREQコマンドに対
して、それぞれACKコマンドおよびNACKコマンド
を生成し、ACKコマンドブロック210として計算機
100に送る。図12(a)に示すように、ACKコマ
ンドブロック210には、REQコマンドブロック20
9内の受信可能と判断されたREQコマンドに対して
は、そのREQコマンドブロック209内のコマンド部
531にあるREQを「ACK」に変更しただけのAC
Kコマンドが含まれる。さらに、REQコマンドブロッ
ク209内の受信不可能と判断されたREQコマンドに
対しては、そのREQコマンドブロック209内のコマ
ンド部531にあるREQを「NACK」に変更すると
ともに、受信不可能の原因が転送サイズの超過である場
合は、その転送サイズ532を受信可能なサイズに変更
する。送信側の計算機ではこの転送サイズ532の変更
の有無を調べることによって、受信不能の理由が受信の
未準備によるものかサイズ超過によるもの(致命的エラ
ー)かを判断できる。
An ACK command and a NACK command are generated for the REQ command determined to be receivable and the REQ command determined to be unreceivable, and sent to the computer 100 as an ACK command block 210. As shown in FIG. 12A, the ACK command block 210 includes the REQ command block 20.
9, the REQ command in the command section 531 in the REQ command block 209 is simply changed to “ACK” for the REQ command determined to be receivable.
K command is included. Further, for the REQ command determined to be unreceivable in the REQ command block 209, the REQ in the command section 531 in the REQ command block 209 is changed to “NACK”, and the cause of the unreception is detected. If the transfer size is exceeded, the transfer size 532 is changed to a receivable size. By checking whether or not the transfer size 532 has been changed, the computer on the transmitting side can determine whether the reason for reception failure is due to unprepared reception or due to excessive size (fatal error).

【0050】図12(a)の例では、ACKコマンドブ
ロック210は、二つのACKコマンドと一つのNAC
Kコマンドからなる。すなわち、通信路番号が1001
および1002であるREQコマンドは、対応する受信
要求がすでに発生しており、要求される転送サイズも受
信可能な量を超えていないので、受信可能でありACK
コマンドが返される。一方、通信路番号が1003であ
るREQコマンドは、対応する受信要求が未発生なため
に受信不可でありNACKコマンドが返される。この受
信不可の原因は転送サイズ超過ではなく受信要求未発生
であるので、NACKコマンドの転送サイズ532は変
更されない。
In the example of FIG. 12A, the ACK command block 210 includes two ACK commands and one NAC
It consists of K commands. That is, the communication path number is 1001
And the REQ command 1002 are receivable and ACK because the corresponding reception request has already occurred and the requested transfer size does not exceed the receivable amount.
Command is returned. On the other hand, the REQ command having the communication channel number of 1003 cannot be received because the corresponding reception request has not been generated, and the NACK command is returned. Since the cause of the reception failure is not the transfer size excess but the reception request not occurring, the transfer size 532 of the NACK command is not changed.

【0051】受信処理プログラム207は、生成したA
CKコマンドブロック210を計算機100に送信する
命令を発行する。その命令は、計算機100におけるR
EQコマンドブロック109の送信と同様である。すな
わち、受信処理プログラム207は、DMA制御リスト
211内に、送受信命令504として送信命令を、送受
信開始アドレス505としてACKコマンドブロック2
10の先頭アドレスを、送受信サイズ506としてAC
Kコマンドブロック210の大きさ(固定長)をそれぞ
れ有する送信命令を格納し、通信装置212を起動す
る。その後、送信完了を確認するために、通信装置21
2からのハードウェア割り込みを待つ。
The reception processing program 207 generates the generated A
An instruction to transmit the CK command block 210 to the computer 100 is issued. The instruction is R
This is the same as the transmission of the EQ command block 109. That is, the reception processing program 207 includes a transmission command as the transmission / reception command 504 and an ACK command block 2 as the transmission / reception start address 505 in the DMA control list 211.
10 as the transmission / reception size 506
A transmission command having the size (fixed length) of the K command block 210 is stored, and the communication device 212 is started. After that, in order to confirm the transmission completion, the communication device 21
Wait for a hardware interrupt from 2.

【0052】(B52)受信失敗報告 以上の仮定的な例では発生していないが、あるREQコ
マンドに対して通信路番号が一致する受信要求がすでに
受信側のいずれかのユーザプログラムからすでに発行さ
れていながら、そのREQコマンドが指定する転送サイ
ズがその受信要求が指定する最大受信サイズを超過した
場合、受信処理プログラム207は、その受信要求を発
行した受信側ユーザプログラム203に受信失敗を報告
する。すなわち、受信処理プログラム207は、受信に
失敗した受信要求アイテム520の最大受信サイズ52
2をゼロに変更し、変更後の受信要求アイテム520を
受信要求リスト208に戻し、さらにその受信要求アイ
テム520の要求元プログラム識別子524で特定され
る受信完了待ちの受信側ユーザプログラム203を再起
動する(ステップ444(図11))。
(B52) Reception failure report Although not generated in the above hypothetical example, a reception request having a communication path number matching a certain REQ command has already been issued from any user program on the reception side. However, if the transfer size specified by the REQ command exceeds the maximum reception size specified by the reception request, the reception processing program 207 reports the reception failure to the reception-side user program 203 that has issued the reception request. That is, the reception processing program 207 sets the maximum reception size 52 of the reception request item 520 that has failed to be received.
2 is changed to zero, the changed reception request item 520 is returned to the reception request list 208, and the reception-side user program 203 waiting for reception completion specified by the request source program identifier 524 of the reception request item 520 is restarted. (Step 444 (FIG. 11)).

【0053】受信受付プログラム206は、(ユーザプ
ログラム203の呼び出し延長処理として)処理を再開
されると、受信要求リスト208内に自分のプログラム
識別子(この場合は呼び出し元のユーザプログラム20
3のプログラム識別子)を持った受信要求アイテム52
0が存在するかどうかを調べて、受信側ユーザプログラ
ム203に返る。返り値には、受信要求が戻されていれ
ば失敗を表す返り値を、なければ成功を表す返り値を用
いる(ステップ425(図9))。
When the reception accepting program 206 resumes the process (as a call extension process of the user program 203), its own program identifier (in this case, the calling user program 20) is displayed in the reception request list 208.
Request item 52 having a program identifier of (3)
It checks whether 0 exists and returns to the receiving user program 203. As a return value, a return value indicating failure is used if a reception request is returned, and a return value indicating success is used otherwise (step 425 (FIG. 9)).

【0054】(B6)ユーザプログラム203(その
2) 受信受付プログラム206が終了すると呼び出し元のユ
ーザプログラム203に処理が戻る。ユーザプログラム
203は呼び出しの結果の戻り値を調べて(ステップ4
53(図8))、エラーであればエラー処理を行い終了
する(ステップ454(図8))。
(B6) User Program 203 (Part 2) When the reception receiving program 206 ends, the process returns to the calling user program 203. The user program 203 checks the return value of the result of the call (step 4).
53 (FIG. 8)), if an error occurs, error processing is performed and the processing is terminated (step 454 (FIG. 8)).

【0055】以上の仮定的な例では呼び出しは成功裡に
終わりエラー処理は起こっていない。
In the above hypothetical example, the call was successful and no error handling occurred.

【0056】(C)送信側計算機(その2) (C1)送信処理プログラム107(その2)ACKコ
マンドブロックの受信命令 送信側の計算機100ではACK/NACKコマンドブ
ロック210を受け取る準備を行う。すなわち、図8の
ステップ435に示すように、送信処理プログラム10
7は、DMA制御リスト111に、ACKコマンドブロ
ックの受信命令を書いて、通信装置112を起動し、受
信完了を待つ。この命令は、ACKコマンドブロックを
受信し、主記憶装置102にACKコマンドブロック1
10として書き込むことを要求する。具体的には、送信
処理プログラム107は、DMA制御リスト111に、
送受信命令501に受信命令を、送受信開始アドレス5
02にACKコマンドブロック110の先頭アドレス
を、送受信サイズ503にはACKコマンドブロック1
10の大きさ(固定長)をそれぞれ格納する。受信完了
の確認は、通信装置112からの割り込みを待つことで
行う。
(C) Transmission-side Computer (Part 2) (C1) Transmission Processing Program 107 (Part 2) ACK Command Block Reception Command The transmission-side computer 100 prepares to receive the ACK / NACK command block 210. That is, as shown in step 435 of FIG.
7 writes an ACK command block reception command in the DMA control list 111, activates the communication device 112, and waits for reception completion. This instruction receives the ACK command block and stores the ACK command block 1 in the main storage device 102.
Requires writing as 10. Specifically, the transmission processing program 107 stores the DMA control list 111
The reception command is sent to the transmission / reception command 501, and the transmission / reception start address 5
02 is the start address of the ACK command block 110, and the transmission / reception size 503 is the ACK command block 1
10 (fixed length) are stored. Confirmation of reception completion is performed by waiting for an interrupt from the communication device 112.

【0057】(C2)通信装置112 通信装置112は、この受信命令に応答して、ACKコ
マンドブロック210を受信し、主記憶装置102にA
CKコマンドブロック110として書き込む。このとき
のこの回路の動作は、通信装置212がREQコマンド
ブロックを受信した場合と同じである。
(C2) Communication Device 112 The communication device 112 receives the ACK command block 210 in response to the reception command, and stores the ACK command block 210 in the main storage device 102.
Write as CK command block 110. The operation of this circuit at this time is the same as when the communication device 212 receives the REQ command block.

【0058】(C3)送信処理プログラム107(その
3)データ送信命令 送信側の計算機100は、ACKコマンドブロックを受
け取るとデータの送信を開始する。すなわち、送信処理
プログラム107は、図8のステップ436において、
ACKコマンドブロック110に含まれた複数のACK
コマンドをそれぞれ取り出し、それぞれに対応する送信
データの送信を通信装置112に命令し、これを起動
し、そのデータの送信の完了を待つ。各ACKコマンド
に対する送信データは、そのACKコマンドと同じ通信
路番号を有する送信要求アイテム510を送信要求リス
ト108から検索し、その送信要求アイテム510内の
送信開始アドレス511、送信サイズ512でもって指
定する。すなわち、送信処理プログラム107は、DM
A制御リスト111内の送受信命令501に送信命令
を、送受信開始アドレス502に検索された送信開始ア
ドレス511を、送受信サイズ503に検索された送信
サイズ512をそれぞれ格納することでもって、そのA
CKコマンドに対するデータの送信を通信装置112に
命令する。
(C3) Transmission Processing Program 107 (Part 3) Data Transmission Instruction Upon receiving the ACK command block, the computer 100 on the transmission side starts data transmission. That is, the transmission processing program 107 determines in step 436 in FIG.
Multiple ACKs included in ACK command block 110
Each command is taken out, and the transmission of the corresponding transmission data is instructed to the communication device 112, which is activated, and waits for the completion of the transmission of the data. The transmission data for each ACK command is searched from the transmission request list 108 for a transmission request item 510 having the same communication path number as the ACK command, and specified by the transmission start address 511 and the transmission size 512 in the transmission request item 510. . That is, the transmission processing program 107
The transmission command is stored in the transmission / reception command 501 in the A control list 111, the retrieved transmission start address 511 is stored in the transmission / reception start address 502, and the retrieved transmission size 512 is stored in the transmission / reception size 503.
The communication device 112 is instructed to transmit data in response to the CK command.

【0059】送信処理プログラム107は、ACKコマ
ンドブロック110に複数のACKコマンドがある場合
には、それらに対応する複数の送信命令をDMA制御リ
スト111に格納する。それらの送信命令をDMA制御
リスト111に格納する順序は受信されたACKコマン
ドブロック110内に格納されていた対応するACKコ
マンドの順序と同じにする。
When there are a plurality of ACK commands in the ACK command block 110, the transmission processing program 107 stores a plurality of transmission commands corresponding to the ACK commands in the DMA control list 111. The order in which these transmission instructions are stored in the DMA control list 111 is the same as the order of the corresponding ACK commands stored in the received ACK command block 110.

【0060】送信処理プログラム107は、受信された
ACKコマンドブロック110内にNACKコマンドが
ある場合には、それぞれのNACKコマンドに対して2
通りの処理のいずれか一方を行う。すなわち、各NAC
Kコマンド内の転送サイズ532の値が、対応するRE
Qコマンドが要求した送信サイズ、すなわち、そのRE
Qコマンドに対応する送信要求アイテム510内の送信
サイズ512に等しければ、受信不可の原因は受信側計
算機200で受信要求が未だ発生していないことにあ
る。従って、送信処理プログラム107は、REQコマ
ンドを再送するために、送信要求アイテム510を送信
要求リスト108に戻す。
If there is a NACK command in the received ACK command block 110, the transmission processing program 107
One of the following processes is performed. That is, each NAC
The value of the transfer size 532 in the K command is
The transmission size requested by the Q command, that is, its RE
If the transmission size is equal to the transmission size 512 in the transmission request item 510 corresponding to the Q command, the cause of the reception failure is that a reception request has not yet been generated in the receiving computer 200. Therefore, the transmission processing program 107 returns the transmission request item 510 to the transmission request list 108 in order to retransmit the REQ command.

【0061】一方、そのNACKコマンド内の転送サイ
ズ532が対応するREQコマンドが要求した送信サイ
ズより縮小されていれば、受信不可の原因は、対応する
REQコマンドが要求した送信サイズが、受信側の計算
機200で発生した受信要求が指定した最大受信サイズ
を超過しているためである。この場合は、送信処理プロ
グラム107は送信側ユーザプログラム103に送信失
敗の報告を行う。すなわち、送信処理プログラム107
は、失敗した送信要求アイテム510の要求元プログラ
ム識別子514で特定される送信完了待ちの送信側ユー
ザプログラム103の処理を再開する。その際に、失敗
した送信要求アイテム510の送信サイズ512をゼロ
に変更し、送信要求リスト108に戻す。
On the other hand, if the transfer size 532 in the NACK command is smaller than the transmission size requested by the corresponding REQ command, the cause of the reception failure is that the transmission size requested by the corresponding REQ command is This is because the reception request generated by the computer 200 exceeds the specified maximum reception size. In this case, the transmission processing program 107 reports the transmission failure to the transmission-side user program 103. That is, the transmission processing program 107
Restarts the processing of the transmission-side user program 103 waiting for the transmission completion specified by the request source program identifier 514 of the failed transmission request item 510. At this time, the transmission size 512 of the failed transmission request item 510 is changed to zero, and the transmission request item 510 is returned to the transmission request list 108.

【0062】(C4)通信装置112(その3)データ
送信 通信装置112は起動されると、送信処理プログラム1
07により命令されたデータの送信をDMA制御リスト
111に基づいて行う。すなわち、DMA回路113
は、DMA制御リスト111に記載された各送信命令が
指定する送信データをユーザプログラム103内のバッ
ファ104からDMA回路113が読み出し、通信回路
114が送信し、通信回路114は、送信が完了すると
割り込みにより送信処理プログラム107にそれを通知
する。命令制御回路115はDMA制御リスト111に
複数のデータの送信命令が記載されているときには、そ
れらの命令の記載順に従ってそれらの送信命令が指定す
る複数の送信データを順次読み出し、通信回路114が
それらのデータを順次送信する。このように、送信側で
は、送信データはユーザプログラム103のバッファか
らOS105にコピーされることなく送信される。ま
た、ユーザプログラム103内の送信データは分割され
ることなく、連続して送信される。今の例の場合、二つ
のデータを送信し、二つの送信を終えるとハードウェア
割り込みを発生させる。
(C4) Communication Device 112 (Part 3) Data Transmission When the communication device 112 is started, the transmission processing program 1
The transmission of the data instructed by 07 is performed based on the DMA control list 111. That is, the DMA circuit 113
The DMA circuit 113 reads out the transmission data specified by each transmission command described in the DMA control list 111 from the buffer 104 in the user program 103, transmits the transmission data, and the communication circuit 114 interrupts when the transmission is completed. To the transmission processing program 107. When a plurality of data transmission instructions are described in the DMA control list 111, the instruction control circuit 115 sequentially reads out a plurality of transmission data specified by the transmission instructions according to the description order of the instructions, and the communication circuit 114 Are sequentially transmitted. As described above, on the transmission side, the transmission data is transmitted without being copied from the buffer of the user program 103 to the OS 105. The transmission data in the user program 103 is continuously transmitted without being divided. In the case of the present example, two data are transmitted, and when the two transmissions are completed, a hardware interrupt is generated.

【0063】(C5)送信完了報告 送信処理プログラム107は、データ送信の完了を通信
装置112から通知されると、送信側ユーザプログラム
103に送信の完了報告を行う(ステップ437(図
6))。図12(a)に示されたACKコマンドブロッ
ク209を送信した後では、二つのACKコマンドに対
する二つのユーザプログラム203に送信完了の報告を
行う。この際、送信の失敗報告と異なり、対応する送信
要求アイテム510を送信要求リスト108に戻さな
い。
(C5) Transmission Completion Report When the transmission processing program 107 is notified of the completion of the data transmission from the communication device 112, it reports the transmission completion to the transmission-side user program 103 (step 437 (FIG. 6)). After transmitting the ACK command block 209 shown in FIG. 12A, the transmission completion is reported to the two user programs 203 corresponding to the two ACK commands. At this time, unlike the transmission failure report, the corresponding transmission request item 510 is not returned to the transmission request list 108.

【0064】(C6)ユーザプログラム103(その
2)送信失敗に対する処理 送信側のユーザプログラム103は送信受付プログラム
106の呼び出しから返ってくると、その戻り値を調べ
(ステップ404(図3))、エラーであればエラー処
理を行う(ステップ405(図3))。
(C6) User Program 103 (Part 2) Processing for Transmission Failure When the transmission-side user program 103 returns from the call of the transmission reception program 106, it checks the return value (step 404 (FIG. 3)). If an error occurs, error processing is performed (step 405 (FIG. 3)).

【0065】(D)受信側計算機200(その2) (D1)受信処理プログラム207(その3)データ受
信命令 受信処理プログラム207は、ACKコマンドブロック
の送信命令を発行後、そのACKコマンドブロックによ
りACKコマンドを一つでも返信していれば(ステップ
443(図9))、そのACKコマンドに対応するデー
タの送信命令の送信を通信装置212に命令し、通信装
置212を起動し、その送信の完了を待つ(ステップ4
44(図9))。ACKコマンドに対応して受信すべき
データは、そのACKコマンドに含まれる通信路番号を
有する受信要求アイテム520を受信要求リスト208
から検索し、その受信要求アイテム520内の受信開始
アドレス521で指定されるデータである。従って、送
信処理プログラム107は、DMA制御リスト211内
の送受信命令コード504に受信命令コードを、送受信
開始アドレス505に検索された受信開始アドレス52
1を、送受信サイズ506に返したACKコマンドで指
定した転送サイズ532をそれぞれ格納することでもっ
て、そのACKコマンドに対するデータの受信を通信装
置212に命令する。そのACKコマンドブロック21
0に複数のACKコマンドが格納されていた場合には、
それらのACKコマンドの順序に従って、それぞれに対
応するデータ受信命令をDMA制御リスト211に格納
する。
(D) Receiving Computer 200 (Part 2) (D1) Receiving Processing Program 207 (Part 3) Data Receiving Command The receiving processing program 207 issues an ACK command block transmission command, and then executes ACK by the ACK command block. If at least one command has been returned (step 443 (FIG. 9)), the communication device 212 is instructed to transmit a data transmission command corresponding to the ACK command, the communication device 212 is activated, and the transmission is completed. Wait (Step 4
44 (FIG. 9)). The data to be received in response to the ACK command includes the reception request item 520 having the communication path number included in the ACK command as the reception request list 208.
, And the data specified by the reception start address 521 in the reception request item 520. Therefore, the transmission processing program 107 sets the reception command code in the transmission / reception command code 504 in the DMA control list 211 and the reception start address 52 searched for in the transmission / reception start address 505.
By storing the transfer size 532 specified by the ACK command returned in the transmission / reception size 506 in the transmission / reception size 506, the communication device 212 is instructed to receive data corresponding to the ACK command. The ACK command block 21
If a plurality of ACK commands are stored in 0,
According to the order of the ACK commands, the corresponding data reception commands are stored in the DMA control list 211.

【0066】なお、送信処理プログラム107は、ステ
ップ443の判定の結果、送信したACKコマンドブロ
ック210によりACKコマンドを一つも返さなかった
と判定されたときには、データ受信命令の発行は行わず
にステップ441に戻り、もう一度REQコマンドブロ
ックを受けるための命令を発行する。
When the transmission processing program 107 determines that no ACK command has been returned by the transmitted ACK command block 210 as a result of the determination at step 443, the transmission processing program 107 proceeds to step 441 without issuing a data reception instruction. Return and issue an instruction to receive the REQ command block again.

【0067】(D2)通信装置211(その3) (D21)データの受信 通信装置212は起動されると、受信処理プログラム2
07により命令されたデータの受信をDMA制御リスト
211に基づいて行う。すなわち、命令制御回路215
は、DMA制御リスト211の先頭のエントリを主記憶
装置202から読み出し、通信回路214がデータを送
信側計算機100から受信すると、読み出したエントリ
に含まれた受信命令が指定する、いずれかのユーザプロ
グラム103内のバッファ104にその受信されたデー
タを書き込む。DMA制御リスト211に複数のデータ
の受信命令が記載されているときには、命令制御回路2
15は、それらの命令の記載順に従って、順次受信され
た複数のデータをそれらの受信命令が指定する、複数の
ユーザプログラム203内のバッファ204に順次書き
込む。図12(a)に示されたACKコマンドブロック
を送信した後では、二つのACKコマンドに対する二つ
のデータが受信される。このように、受信側でも、通信
装置214により受信されたデータは、従来技術のよう
にOS205内のバッファにコピーされることなく、直
接いずれかのユーザプログラム203のバッファ204
に書き込まれる。
(D2) Communication Device 211 (Part 3) (D21) Data Reception When the communication device 212 is started, the reception processing program 2
07 is received on the basis of the DMA control list 211. That is, the instruction control circuit 215
Is any one of the user programs specified by the reception instruction included in the read entry when the head entry of the DMA control list 211 is read from the main storage device 202 and the communication circuit 214 receives the data from the transmitting computer 100. The received data is written to a buffer 104 in 103. When a plurality of data reception instructions are described in the DMA control list 211, the instruction control circuit 2
15 sequentially writes a plurality of data sequentially received in the buffers 204 in the plurality of user programs 203 specified by the reception instructions in accordance with the description order of the instructions. After transmitting the ACK command block shown in FIG. 12A, two data corresponding to two ACK commands are received. In this way, even on the receiving side, the data received by the communication device 214 is not copied to the buffer in the OS 205 as in the related art, but is directly stored in the buffer 204 of any user program 203.
Is written to.

【0068】(D22)受信完了通知 命令制御回路215は、いずれかの受信データの書き込
みを完了すると、ハードウェア割り込みを発生し、受信
処理プログラム207にデータ受信の完了を通知する。
受信処理プログラム107はこの割り込みを検知するこ
とにより受信完了を確認し、次のステップ445に進
む。なお、DMA制御リスト211に複数のデータの受
信命令が記載されているときには、それらの命令が指定
する複数のデータの各々をいずれかのバッファ203に
書き込むごとに、上記受信完了割り込みを発生する。
(D22) Notification of Reception Completion When the writing of any reception data is completed, the instruction control circuit 215 generates a hardware interrupt and notifies the reception processing program 207 of the completion of data reception.
The reception processing program 107 confirms the reception completion by detecting this interruption, and proceeds to the next step 445. When a plurality of data reception instructions are described in the DMA control list 211, the reception completion interrupt is generated each time a plurality of data specified by the instructions are written to any of the buffers 203.

【0069】(D3)受信処理プログラム207(その
4) (D31)受信完了報告 通信装置211によりデータ受信完了の通知がなされる
と、受信処理プログラム207は、受信したデータに対
応するACKコマンドに対応する受信要求元のユーザプ
ログラム203に受信の完了報告を行う(ステップ44
5(図9))。図12(a)に示されたACKコマンド
ブロックを送信した後では、二つのACKコマンドに対
する二つのユーザプログラム204に受信完了の報告を
行う。この際、対応する受信要求アイテム510を受信
要求リスト108に戻さない。
(D3) Reception Processing Program 207 (No. 4) (D31) Reception Completion Report When the communication device 211 notifies the completion of data reception, the reception processing program 207 responds to the ACK command corresponding to the received data. A report of the completion of reception is made to the user program 203 of the reception request source (step 44)
5 (FIG. 9)). After transmitting the ACK command block shown in FIG. 12A, the reception completion is reported to the two user programs 204 for the two ACK commands. At this time, the corresponding reception request item 510 is not returned to the reception request list 108.

【0070】(D32)受信側ユーザプログラム203 受信側のユーザプログラム203は受信受付プログラム
206の呼び出しから戻ると戻り値を調べる。失敗の場
合はACKコマンドブロック210を作成する時点で戻
って来、この例のこの時点では必ず成功裡に戻ってく
る。戻ってくるとバッファ204に受信したデータをフ
ァイルの一部に出力し(ステップ455(図8))、出
力が済むと、現在処理中のファイルが全て転送済みであ
るか調べて未処理の領域があればそれらを処理するため
にステップ452から繰り返す(ステップ456)。各
ユーザプログラムは送信すべきファイルがまだある限り
以上のステップを繰り返す(ステップ457)。
(D32) Receiving-side user program 203 When the receiving-side user program 203 returns from calling the reception receiving program 206, it checks the return value. If unsuccessful, it will return at the time the ACK command block 210 is created, and at this point in the example, it will always return successfully. Upon returning, the received data is output to a part of the file in the buffer 204 (step 455 (FIG. 8)). When the output is completed, it is checked whether all the files currently being processed have been transferred and the unprocessed area is checked. If there are, repeat from step 452 to process them (step 456). Each user program repeats the above steps as long as there are still files to be transmitted (step 457).

【0071】(E)NACKコマンドに対するデータの
転送 今考えている仮定的な例では、通信路番号が1003で
ある送信要求アイテム510に対しては、対応する受信
要求が受信側の計算機200で出力されなかったために
NACKコマンドがそこから返送された。このため、こ
の送信要求アイテム510に対する送信データは送信さ
れなかったが、このデータは以下のようにしてその後に
送信される。
(E) Transfer of Data in Response to NACK Command In the hypothetical example considered here, for a transmission request item 510 having a communication path number of 1003, a corresponding reception request is output by the receiving computer 200. The NACK command was returned from there because it was not done. Therefore, the transmission data for the transmission request item 510 is not transmitted, but this data is transmitted thereafter as follows.

【0072】図8に示すように、送信処理プログラム1
07は、受信したACKコマンドに対して前述した送信
命令を発行した後、ステップ432へ処理を移して新た
な送信要求を探す。前述したデータを送信しなかった送
信要求アイテム510は送信処理プログラム107によ
り、送信要求リスト108に戻されている。従って、送
信処理プログラム107が新たな送信要求を探すした時
点で、この送信要求アイテム510が探索され、先に記
載した方法により対応するREQコマンドを含むREQ
コマンドブロックが計算機200に送られる。その時点
で、受信側の計算機200で、通信路番号が1003で
ある受信要求がすでに発行されているときには、受信側
の計算機200からこのREQコマンドに対するACK
コマンドを含むACKコマンドブロックが先に記載した
方法により返送され、その後、このREQコマンドに対
する送信データが計算機100から送信され、計算機2
00により受信される。こうして、先に送信失敗した送
信データも送信することができる。
As shown in FIG. 8, the transmission processing program 1
07 issues the above-mentioned transmission command in response to the received ACK command, and then moves to step 432 to search for a new transmission request. The transmission request item 510 to which the data has not been transmitted is returned to the transmission request list 108 by the transmission processing program 107. Therefore, when the transmission processing program 107 searches for a new transmission request, the transmission request item 510 is searched, and the REQ including the corresponding REQ command by the method described above.
The command block is sent to the computer 200. At this time, if the receiving computer 200 has already issued a receiving request with the communication path number of 1003, the receiving computer 200 sends an ACK to this REQ command.
The ACK command block including the command is returned by the method described above, and thereafter, transmission data for this REQ command is transmitted from the computer 100, and
00 received. In this way, transmission data that has failed to transmit earlier can also be transmitted.

【0073】以上のように、本実施の形態によれば、ユ
ーザプログラムのバッファとOSのバッファの間のデー
タコピー処理が送信側計算機と受信側計算機のいずれに
おいても必要でないため、計算機間データ転送を高速に
行える。
As described above, according to the present embodiment, since data copy processing between the buffer of the user program and the buffer of the OS is not required in either the transmitting computer or the receiving computer, data transfer between computers is not required. Can be performed at high speed.

【0074】従来のTCP/IPによるデータ転送で
は、受信側ユーザプログラムの準備が整っていなくても
データは送信される。その場合には、受信側の計算機に
おいて一旦受信データをOSバッファに蓄えてから受信
側ユーザプログラムのバッファにコピーする必要があ
り、このデータコピー処理のオーバヘッドが高速なデー
タ転送の実現を妨げていた。また、受信準備が整ってい
ない受信側ユーザプログラムがあまりに多いとOSバッ
ファが溢れてデータを再送しなければならず、この再送
に備えて送信側の計算機でもOSバッファに一旦データ
を蓄えておく必要があった。このため送信側の計算機で
もデータコピーが発生し、そのオーバヘッドが高速なデ
ータ転送の実現を妨げていた。
In the conventional data transfer by TCP / IP, data is transmitted even if the receiving user program is not ready. In such a case, it is necessary for the receiving computer to temporarily store the received data in the OS buffer and then copy the data to the buffer of the receiving user program, and the overhead of this data copying process has prevented the realization of high-speed data transfer. . Also, if there are too many user programs on the receiving side that are not ready for reception, the OS buffer overflows and data must be retransmitted. In preparation for this retransmission, the sending computer also needs to temporarily store data in the OS buffer. was there. For this reason, data copying occurs in the computer on the transmission side, and its overhead has hindered realization of high-speed data transfer.

【0075】しかるに、本実施の形態によるデータ転送
ではデータ転送に先立つコマンドのやりとりで受信準備
の完了を確認し、受信準備が整っていない場合にはデー
タそのものでなくコマンドのみを再送する方法を採るこ
とにより、従来のデータコピーを不要にしている。
However, in the data transfer according to the present embodiment, the completion of reception preparation is confirmed by exchanging commands prior to data transfer, and when reception preparation is not completed, only the command, not the data itself, is retransmitted. This eliminates the need for conventional data copying.

【0076】また、本実施の形態では、OSの固定長の
通信バッファの大きさを超える大きなデータを転送する
場合にもデータを分割して転送する必要がないため、通
信処理のオーバヘッドが小さく、データ転送を高速に行
える。
In this embodiment, even when transferring large data exceeding the size of the fixed-length communication buffer of the OS, it is not necessary to divide and transfer the data. Data transfer can be performed at high speed.

【0077】従来のTCP/IPによるデータ転送で
は、事前に送受信するデータサイズを調停する手段を持
たないため、転送サイズはOSの設定した固定値である
必要がある。従って、これを超える大きなデータを転送
する場合に、送信側のOSで転送サイズごとにデータを
分割しておき、受信側のOSでは受けたデータを再構成
する必要がある。このデータの分割、再構成処理のオー
バヘッドのために高速なデータ転送が実現できなかっ
た。
In conventional data transfer by TCP / IP, there is no means for adjusting the size of data to be transmitted and received in advance, so the transfer size needs to be a fixed value set by the OS. Therefore, when transferring large data exceeding this, it is necessary to divide the data for each transfer size in the OS on the transmitting side and reconstruct the received data in the OS on the receiving side. High-speed data transfer cannot be realized due to the overhead of the data division and reconstruction processing.

【0078】しかるに、本実施の形態によるデータ転送
では事前に送受信するデータサイズを調停することで任
意の大きさのデータを転送できるので、データの分割、
統合処理は不要となり、高速なデータ転送が実現可能で
ある。同様に通信装置が転送するデータの個数も事前に
調停することで複数のデータ転送の通信を一括して処理
できるので、通信装置の起動処理、後処理(割り込み処
理)が削減され、さらに高速なデータ転送が実現可能で
ある。
However, in the data transfer according to the present embodiment, data of an arbitrary size can be transferred by arbitrating the size of data to be transmitted and received in advance.
Integration processing is not required, and high-speed data transfer can be realized. Similarly, by arbitrating the number of data to be transferred by the communication device in advance, communication of a plurality of data transfers can be collectively processed, so that start-up processing and post-processing (interrupt processing) of the communication device are reduced, and higher speed is achieved. Data transfer is feasible.

【0079】従来のHDLCによるデータ転送では、本
発明と同様にデータ転送に先立ってデータ転送の調停を
行うので、データコピーのオーバヘッドは存在しない。
しかし、データ転送にOSが介在せず、転送を行うユー
ザプログラムは通信装置を独占してしまい、同時に複数
のユーザプログラムがデータ転送を行えないという欠点
があった。
In the data transfer by the conventional HDLC, the data transfer is arbitrated prior to the data transfer as in the present invention, so that there is no data copy overhead.
However, there is a drawback that the OS does not intervene in the data transfer, and the user program performing the transfer monopolizes the communication device, and a plurality of user programs cannot simultaneously perform the data transfer.

【0080】しかるに、本実施の形態によるデータ転送
では、調停作業をOSが一括して行うために、データコ
ピーのオーバヘッドがないという利点を保ったまま、同
時に複数のデータ転送の調停を矛盾なく行うことができ
る。
However, in the data transfer according to the present embodiment, since the arbitration work is performed by the OS collectively, arbitration of a plurality of data transfers is simultaneously performed without contradiction while maintaining the advantage that there is no data copy overhead. be able to.

【0081】<変形例>本発明は、以上の実施の形態に
限定されるものではなく、いろいろの形態で実施可能で
ある。例えば、 (1) 上に示した発明の実施の形態では、二つの計算
機のみが接続されているシステムであったが、より多く
の計算機が相互に接続されているシステムでもよい。こ
の場合、異なる計算機対に対応した伝送路が各計算機対
に対して設けられ、各計算機対がその対応する伝送路に
より接続されていることが望ましい。
<Modifications> The present invention is not limited to the above embodiment, but can be implemented in various forms. For example, (1) In the embodiment of the invention described above, a system in which only two computers are connected, but a system in which more computers are connected to each other may be used. In this case, it is desirable that transmission paths corresponding to different computer pairs are provided for each computer pair, and that each computer pair is connected by the corresponding transmission path.

【0082】(2) 計算機を接続する伝送路として
は、実施の形態で示したチャネルに限らず、例えば、複
数の計算機を接続するインタコネクトネットワークでも
よい。例えば、クロスバスイッチ、ハイパクロスバスイ
ッチあるいは多段スイッチネットワークでもよい。
(2) The transmission path connecting the computers is not limited to the channel described in the embodiment, but may be, for example, an interconnect network connecting a plurality of computers. For example, a crossbar switch, a hyper crossbar switch, or a multistage switch network may be used.

【0083】(3) これらの計算機間でのデータ転送
は、パケットの形でデータを転送するものでもよい。例
えば、上記ハイパクロスバネットワークで接続された複
数の計算機間では通常はデータはパケットの形式で転送
される。各パケットに転送先の計算機を指定するアドレ
スと転送すべきデータその他が含まれる。本発明は、こ
のような形式でデータを計算機間で転送するシステムに
も適用できる。
(3) The data transfer between these computers may be a data transfer in the form of a packet. For example, data is usually transferred in the form of a packet between a plurality of computers connected by the hyper crossbar network. Each packet contains an address for specifying the computer at the transfer destination, data to be transferred, and the like. The present invention can also be applied to a system for transferring data between computers in such a format.

【0084】(4) 実施の形態では、ユーザプログラ
ムとOS間の入出力インタフェースは同期型、すなわち
ユーザプグラムはOSに依頼した入出力処理が完了する
まで待つタイプの入出力インタフェースであったが、非
同期型の入出力インタフェースでもよい。実施の形態で
示したファイル転送システムを非同期入出力インタフェ
ースを備えたファイル転送システムにするには、送受信
の受付プログラムが送受信の完了を待たずに直ちにユー
ザプログラムに制御を戻し、ユーザプログラムは送受信
の要求を発行した後、改めて送受信の完了を待つ要求を
受付プログラムに発行し、受付プログラムはこれを受け
て残りの処理を行えばよい。
(4) In the embodiment, the input / output interface between the user program and the OS is a synchronous type, that is, the user program is of a type which waits until the input / output processing requested to the OS is completed. An asynchronous input / output interface may be used. In order for the file transfer system shown in the embodiment to be a file transfer system having an asynchronous input / output interface, the transmission / reception receiving program immediately returns control to the user program without waiting for the completion of the transmission / reception, and the user program transmits / receives the transmission / reception. After issuing the request, a request to wait for the completion of transmission / reception is issued again to the reception program, and the reception program may receive the request and perform the remaining processing.

【0085】[0085]

【発明の効果】以上の記載から明らかなように、本発明
によれば、ユーザプログラムのバッファとOSのバッフ
ァの間のデータコピー処理がないため、計算機間のデー
タ転送を高速に行える。
As is apparent from the above description, according to the present invention, there is no data copy process between the buffer of the user program and the buffer of the OS, so that data transfer between computers can be performed at high speed.

【0086】さらに、大きなデータを転送する場合にも
データを分割して転送する必要がないため、通信処理の
オーバヘッドを小さくでき、データ転送を高速に行え
る。
Furthermore, even when transferring large data, it is not necessary to divide and transfer the data, so that the overhead of the communication processing can be reduced and the data transfer can be performed at high speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るデータ転送方法を実施する計算機
システムの全体構成図。
FIG. 1 is an overall configuration diagram of a computer system that implements a data transfer method according to the present invention.

【図2】図1の装置におけるデータ転送のタイムチャー
ト。
FIG. 2 is a time chart of data transfer in the device of FIG. 1;

【図3】図1の装置に使用する送信側ユーザプログラム
(103)のフローチャート。
FIG. 3 is a flowchart of a transmission-side user program (103) used in the apparatus of FIG. 1;

【図4】図1の装置に使用する送信受付プログラム(1
06)のフローチャート。
FIG. 4 is a transmission reception program (1) used in the apparatus of FIG.
06) Flow chart.

【図5】図1の装置に使用する送信要求リスト(10
8)のデータ構造を示す図。
FIG. 5 is a transmission request list (10) used for the device of FIG. 1;
The figure which shows the data structure of 8).

【図6】図1の装置に使用する送信処理プログラム(1
07)のフローチャート。
FIG. 6 shows a transmission processing program (1) used in the apparatus shown in FIG.
07).

【図7】(a)は、図1の装置に使用するREQコマン
ドブロック(109)のデータ構造を示す図。(b)
は、図1の装置に使用するDMA制御リスト(111)
のデータ構造を示す図。
FIG. 7A is a diagram showing a data structure of a REQ command block (109) used in the apparatus shown in FIG. 1; (B)
Is the DMA control list (111) used for the device of FIG.
The figure which shows the data structure of FIG.

【図8】図1の装置に使用する受信側ユーザプログラム
(203)のフローチャート。
FIG. 8 is a flowchart of a receiving-side user program (203) used in the apparatus of FIG. 1;

【図9】図1の装置に使用する受信受付プログラム(2
06)のフローチャート。
9 is a reception reception program (2) used in the apparatus of FIG.
06) Flow chart.

【図10】図1の装置に使用する受信要求リスト(20
8)のデータ構造を示す図。
FIG. 10 shows a reception request list (20
The figure which shows the data structure of 8).

【図11】図1の装置に使用する受信処理プログラム
(207)のフローチャート。
FIG. 11 is a flowchart of a reception processing program (207) used in the apparatus of FIG. 1;

【図12】(a)は、図1の装置に使用するACKコマ
ンドブロック(210)のデータ構造を示す図。(b)
は、図1の装置に使用するDMA制御リスト(211)
のデータ構造を示す図。
FIG. 12A is a diagram showing a data structure of an ACK command block (210) used in the apparatus shown in FIG. 1; (B)
Is the DMA control list (211) used for the device of FIG.
The figure which shows the data structure of FIG.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 清水 正明 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 鍵政 豊彦 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Masaaki Shimizu 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. (72) Inventor Toyohiko Kagimasa 1-280 Higashi-Koikekubo, Kokubunji-shi, Tokyo Hitachi, Ltd. Inside the Central Research Laboratory

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】(a)第1の計算機の送信元のユーザプロ
グラムにより、該第1の計算機の主記憶装置上のその送
信元のユーザプログラム用の第1の領域に保持されたデ
ータを、その第1の計算機に伝送路を介して接続された
第2の計算機の送信先のユーザプログラムへ送信するこ
とを要求する送信要求をその第1の計算機を制御する第
1のOSに発行し、(b)該送信要求に応答して、該第
1のOSから該第2の計算機を制御する第2のOSに、
該送信先のユーザプログラムがデータ受信可能な状態に
あるか否かを問い合わせ、(c)該問い合わせに対し
て、該第2のOSが該送信先のユーザプログラムがデー
タ受信可能な状態にあるか否かを判断し、その判別結果
を示す問い合わせ結果を該第2のOSにより該第1のO
Sに通知し、(d)該第2のOSが該送信先のユーザプ
ログラムがデータ受信可能な状態にあると判断したとき
に、該第2のOSにより、該送信要求が指定したデータ
の受信と、該第2の計算機の主記憶装置上に定められた
該送信先のユーザプログラム用の第2の領域へのそのデ
ータの書き込みとを該第2の計算機の通信装置に指示
し、(e)該問い合わせ結果が該送信先のユーザプログ
ラムがデータ受信可能な状態にあることを示すとき、該
第1のOSにより上記データの送信を該第1の計算機の
通信装置に指示し、(f)該第1のOSによる該指示に
応答して、該第1の計算機の該通信装置により該データ
を該第1の領域から読み出し、該第2の計算機に該伝送
路を介して転送し、(g)該第2のOSによる該指示に
応答して、該第2の計算機の該通信装置により、該デー
タを受信し、該第2の領域に書き込むステップからなる
データ転送方法。
(A) A data stored in a first area for a source user program on a main storage device of the first computer by a source user program of the first computer, A transmission request for requesting transmission to a user program of a transmission destination of a second computer connected to the first computer via a transmission path is issued to a first OS controlling the first computer, (B) in response to the transmission request, from the first OS to a second OS controlling the second computer;
Inquires whether the destination user program is in a data receivable state. (C) In response to the inquiry, the second OS is in a state in which the destination user program is in a data receivable state. Is determined, and the result of the inquiry indicating the result of the determination is transmitted by the second OS to the first OS.
S, and (d) receiving the data specified by the transmission request by the second OS when the second OS determines that the destination user program is in a state capable of receiving data. And instructing the communication device of the second computer to write the data into the second area for the user program of the transmission destination defined on the main storage device of the second computer, and (e) And (f) when the inquiry result indicates that the user program of the transmission destination is in a data receivable state, the first OS instructs the communication device of the first computer to transmit the data, and (f) In response to the instruction from the first OS, the communication device of the first computer reads the data from the first area and transfers the data to the second computer via the transmission path, g) in response to the indication by the second OS, the second OS By the communication device calculated machine, it receives the data, the data transfer method comprising the step of writing to the area of the second.
【請求項2】該問い合わせ結果が、該送信先のユーザプ
ログラムがデータ受信不可能な状態にあることを示すと
き、該第1のOSにより、該ステップ(b)を繰り返す
ステップをさらに有する請求項1記載のデータ転送方
法。
2. The method according to claim 1, further comprising the step of: repeating the step (b) by the first OS when the inquiry result indicates that the user program of the transmission destination cannot receive data. 2. The data transfer method according to 1.
【請求項3】該送信先のユーザプログラムから該データ
の受信要求を該第2のOSに要求するステップをさらに
有し、 該ステップ(c)は、 該問い合わせを受けた時点で、該送信先のユーザプログ
ラムから該データの受信要求がすでに発行されているか
否かに応じて、該送信先のユーザプログラムが受信可能
な状態にあるか否かを判別するステップを有する請求項
1または2記載のデータ転送方法。
3. The method according to claim 1, further comprising the step of requesting the second OS to receive a request for receiving the data from the user program of the transmission destination, wherein the step (c) comprises: 3. The method according to claim 1, further comprising: determining whether the user program of the transmission destination is in a receivable state according to whether the data reception request has already been issued from the user program. Data transfer method.
【請求項4】上記送信要求は、上記データのサイズを指
定し、 上記受信要求は、該送信先のユーザプログラム用の上記
領域のサイズを指定し、 ステップ(c)は、 該問い合わせを受けた時点で、該送信先のユーザプログ
ラムから該データの受信要求がすでに発行されていると
きに、上記データのサイズが該第2の領域のサイズを越
えないか否かをさらに判別し、 該問い合わせを受けた時点で、該送信先のユーザプログ
ラムから該データの受信要求がすでに発行されていると
きでも、上記データの上記サイズが該第2の領域のサイ
ズを超えているときには該送信先のユーザプログラムが
受信不可能な状態にあると判別するステップを有する請
求項3記載のデータ転送方法。
4. The transmission request specifies the size of the data, the reception request specifies the size of the area for the destination user program, and the step (c) receives the inquiry. At this point, when a request to receive the data has already been issued from the user program of the transmission destination, it is further determined whether or not the size of the data does not exceed the size of the second area. At the time of reception, even if a request for receiving the data has already been issued from the user program of the transmission destination, if the size of the data exceeds the size of the second area, the user program of the transmission destination 4. The data transfer method according to claim 3, further comprising the step of determining that the data is in a non-receivable state.
【請求項5】上記ステップ(a)は、該複数の送信元の
ユーザプログラムにより該第2の計算機で実行中の複数
の送信先のユーザプログラムに対して複数の送信要求が
発行されるように、該第1の計算機で実行中の複数の送
信元のユーザプログラムの各々により実行され、 上記ステップ(b)は、該複数の送信要求が指定する該
複数の送信先のユーザプログラムがそれぞれデータ受信
可能な状態にあるか否かを該第1のOSから該第2のO
Sにまとめて問い合わせるステップからなり、 上記ステップ(c)は、該第2のOSが、該複数の送信
先のユーザプログラムがそれぞれデータを受信可能な状
態にあるか否かを判断し、それぞれの送信先のユーザプ
ログラムに対する判別結果を示す複数の問い合わせ結果
を該第2のOSにより該第1のOSにまとめて通知する
ステップからなり、 上記ステップ(d)は、該第2のOSにより、該複数の
送信先のユーザプログラムの内の一部の複数の送信先の
ユーザプログラムがデータを受信可能な状態にあると判
断されたときに、該一部の複数の送信先のユーザプログ
ラムに対する複数の送信要求が指定した一部の複数のデ
ータを、該第2の計算機の該主記憶装置上に定められた
該一部の該複数の送信先のユーザプログラム用の一部の
複数の領域へそれぞれ書き込むことを該第2の計算機の
該通信装置にまとめて指示するステップからなり、 上記ステップ(e)は、該複数の問い合わせ結果に応答
して、該第1のOSにより、該第1の計算機の該主記憶
装置上に保持された該一部の複数の送信元のユーザプロ
グラムが指定した一部の複数のデータの送信を該第1の
計算機の該通信装置にまとめて指示するステップからな
り、 上記ステップ(f)は、該第1のOSによる該指示に応
答して、該第1の計算機の該通信装置により、該一部の
複数のデータを該第1の計算機の該主記憶装置から順次
読み出し、該第2の計算機に該伝送路を介して順次転送
するステップからなり、 上記ステップ(g)は、該第2の計算機の該通信装置に
より、該一部の複数のデータを順次受信し、かつ、該第
2の計算機の該主記憶装置上の該一部の複数の領域に書
き込むステップからなる請求項1記載のデータ転送方
法。
5. The step (a) is such that a plurality of transmission requests are issued by the plurality of transmission source user programs to a plurality of transmission destination user programs running on the second computer. Executed by each of the plurality of transmission source user programs being executed by the first computer, and the step (b) is performed by the plurality of transmission destination user programs specified by the plurality of transmission requests. It is determined from the first OS whether the second OS is enabled or not.
S, and in the step (c), the second OS determines whether or not each of the plurality of destination user programs is in a state capable of receiving data. The second OS collectively notifies the first OS of a plurality of inquiry results indicating the determination result for the destination user program. The step (d) is performed by the second OS. When it is determined that some of the plurality of destination user programs among the plurality of destination user programs are in a state in which data can be received, a plurality of user programs corresponding to the plurality of destination user programs are determined. The part of the plurality of data specified by the transmission request is transferred to the part of the plurality of destination user programs defined on the main storage device of the second computer. Collectively instructing the communication device of the second computer to write to each area, and the step (e) is performed by the first OS by the first OS in response to the plurality of inquiry results. Instructing the communication device of the first computer to collectively instruct the communication device of the first computer to transmit some of the plurality of data designated by the user programs of the plurality of transmission sources held on the main storage device of one computer. The step (f) includes the step of, in response to the instruction by the first OS, transmitting the part of the plurality of data by the communication device of the first computer to the first computer. Sequentially reading from the main storage device and sequentially transferring the data to the second computer via the transmission line. The step (g) is performed by the communication device of the second computer. Receiving data sequentially, and 2. The data transfer method according to claim 1, further comprising the step of writing to the plurality of areas on the main storage device of the second computer.
【請求項6】該複数の問い合わせ結果のいずれかが少な
くとも一つの他の送信元ユーザプログラムがデータ受信
不可能な状態にあることを示すとき、該第1のOSによ
り、該少なくとも一つの他の送信元ユーザプログラムが
発行した送信要求に関して該ステップ(b)を繰り返す
ステップをさらに有する請求項5記載のデータ転送方
法。
6. The first OS causes the at least one other user program to indicate that at least one of the other user programs is in a state where data cannot be received by the first OS. 6. The data transfer method according to claim 5, further comprising the step of repeating the step (b) for a transmission request issued by the transmission source user program.
【請求項7】上記ステップ(b)は、一定時間間隔で繰
り返し実行される請求項5記載のデータ転送方法。
7. The data transfer method according to claim 5, wherein said step (b) is repeatedly executed at a fixed time interval.
【請求項8】該複数の送信先のユーザプログラムのそれ
ぞれからデータの受信要求を該第2のOSに要求するス
テップをさらに有し、 該ステップ(c)は、 該問い合わせを受けた時点で、該複数の送信先のユーザ
プログラムの各々からデータの受信要求がすでに発行さ
れているか否かに応じて、その送信先のユーザプログラ
ムが受信可能な状態にあるか否かを判別するステップを
有する請求項5または6記載のデータ転送方法。
8. The method according to claim 1, further comprising the step of requesting the second OS to receive a data reception request from each of the plurality of destination user programs, wherein the step (c) comprises: Determining whether or not the destination user program is in a receivable state according to whether or not a data reception request has already been issued from each of the plurality of destination user programs. Item 7. The data transfer method according to item 5 or 6.
【請求項9】上記複数の送信要求は、それぞれ送信すべ
きデータのサイズを指定し、 上記各受信要求は、該第2の計算機の該主記憶装置上に
形成されたその受信要求を発行した送信先のユーザプロ
グラム用の領域のサイズを指定し、 ステップ(c)は、 該問い合わせを受けた時点で、各送信要求が要求する送
信先のユーザプログラムからデータの受信要求がすでに
発行されているときに、その送信要求が指定するデータ
のサイズがその受信要求が指定したその送信先プログラ
ム用の上記領域のサイズを超えないか否かをさらに判別
し、 該問い合わせを受けた時点で、各送信要求が指定する送
信先のユーザプログラムからデータの受信要求がすでに
発行されているときでも、その送信要求が指定する上記
データの上記サイズがその送信先のユーザプログラム用
の上記領域のサイズを超えているときにはその送信先の
ユーザプログラムが受信不可能な状態にあると判別する
ステップを有する請求項8記載のデータ転送方法。
9. The plurality of transmission requests each specify a size of data to be transmitted, and each of the reception requests issues the reception request formed on the main storage device of the second computer. The size of the area for the destination user program is specified. In the step (c), when the inquiry is received, a data reception request has already been issued from the destination user program requested by each transmission request. It is further determined whether or not the size of the data specified by the transmission request does not exceed the size of the area for the destination program specified by the reception request. Even when a request to receive data has already been issued from the user program of the transmission destination specified by the request, the size of the data specified by the transmission request is equal to the size of the transmission destination 9. The data transfer method according to claim 8, further comprising a step of determining that the destination user program is in an unreceivable state when the size of the area exceeds the size of the user program area.
JP8313805A 1996-11-25 1996-11-25 Data transfer method Pending JPH10154116A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8313805A JPH10154116A (en) 1996-11-25 1996-11-25 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8313805A JPH10154116A (en) 1996-11-25 1996-11-25 Data transfer method

Publications (1)

Publication Number Publication Date
JPH10154116A true JPH10154116A (en) 1998-06-09

Family

ID=18045735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8313805A Pending JPH10154116A (en) 1996-11-25 1996-11-25 Data transfer method

Country Status (1)

Country Link
JP (1) JPH10154116A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007259446A (en) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> Method and apparatus for improving security while transmitting data packet
JP2008140059A (en) * 2006-11-30 2008-06-19 Canon Inc Data input and output device
WO2008111297A1 (en) * 2007-03-13 2008-09-18 Seiko Epson Corporation Video transmission scheme deciding method, video supplying system, video supplying apparatus, video displaying apparatus, program and computer readable recording medium
KR20200130675A (en) * 2015-01-07 2020-11-19 에스케이텔레콤 주식회사 Method for Constructing Virtual Private Network for Security of Internet of Things

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007259446A (en) * 2006-03-23 2007-10-04 Internatl Business Mach Corp <Ibm> Method and apparatus for improving security while transmitting data packet
JP4743894B2 (en) * 2006-03-23 2011-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and apparatus for improving security while transmitting data packets
JP2008140059A (en) * 2006-11-30 2008-06-19 Canon Inc Data input and output device
WO2008111297A1 (en) * 2007-03-13 2008-09-18 Seiko Epson Corporation Video transmission scheme deciding method, video supplying system, video supplying apparatus, video displaying apparatus, program and computer readable recording medium
JP2008259180A (en) * 2007-03-13 2008-10-23 Seiko Epson Corp Video transmission scheme determining method, video provision system, video provision apparatus, video display apparatus, program and computer readable recording medium
US8060659B2 (en) 2007-03-13 2011-11-15 Seiko Epson Corporation Method of determining image transmission method, image supplying system, image supplying device, image display device, program and computer-readable recording medium
US8533366B2 (en) 2007-03-13 2013-09-10 Seiko Epson Corporation Method of determining image transmission method, image supplying system, image supplying device, image display device, program and computer-readable recording medium
KR20200130675A (en) * 2015-01-07 2020-11-19 에스케이텔레콤 주식회사 Method for Constructing Virtual Private Network for Security of Internet of Things

Similar Documents

Publication Publication Date Title
JP4160642B2 (en) Network data transfer method
US5931915A (en) Method for processing early arrival messages within a multinode asynchronous data communications system
US7089289B1 (en) Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US5887134A (en) System and method for preserving message order while employing both programmed I/O and DMA operations
JP5364773B2 (en) System and method for managing a connection between a client and a server
US6693880B2 (en) System of controlling the flow of information between senders and receivers across links being used as channels
US6799200B1 (en) Mechanisms for efficient message passing with copy avoidance in a distributed system
US6470391B2 (en) Method for transmitting data via a network in a form of divided sub-packets
US6775693B1 (en) Network DMA method
US7051112B2 (en) System and method for distribution of software
FI101432B (en) Fault-tolerant computer system
EP0557025B1 (en) High performance channels for data processing systems
JPH0689241A (en) Data processing system
JPH0824320B2 (en) Method and device for buffer chaining in communication control device
EP0512290A2 (en) Nested frame communication protocol
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
JPH10154116A (en) Data transfer method
US6854017B2 (en) Method of controlling the flow of information between senders and receivers across links being used as channels
JPS62172840A (en) Transferring system for data
JP2776274B2 (en) Virtual buffer control system in relay computer
JPH054040Y2 (en)
KR19990008848A (en) Data backup device and method of exchange
Schauser et al. Active messages implementations for the Meiko CS-2
JP2924956B2 (en) File transfer device, file transmission device, and file transmission method
JPH06120986A (en) Buffer management system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607